/*
** Automatically generated from `file_names.m'
** by the Mercury compiler,
** version rotd-2023-07-26
** 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 parse_tree.file_names.
// :- implementation.

/*
INIT mercury__parse_tree__file_names__init
REQUIRED_INIT mercury__parse_tree__file_names__required_init
ENDINIT
*/

#include "parse_tree.file_names.mih"
#include "parse_tree.file_names.mh"


#include "array.mih"
#include "assoc_list.mih"
#include "bitmap.mih"
#include "bool.mih"
#include "builtin.mih"
#include "char.mih"
#include "construct.mih"
#include "cord.mih"
#include "deconstruct.mih"
#include "dir.mih"
#include "enum.mih"
#include "getopt.mih"
#include "int.mih"
#include "io.mih"
#include "library.mih"
#include "libs.mih"
#include "list.mih"
#include "map.mih"
#include "maybe.mih"
#include "mdbcomp.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 "require.mih"
#include "set.mih"
#include "set_ordlist.mih"
#include "set_tree234.mih"
#include "stream.mih"
#include "string.mih"
#include "term.mih"
#include "term_context.mih"
#include "time.mih"
#include "tree234.mih"
#include "type_desc.mih"
#include "unit.mih"
#include "univ.mih"
#include "varset.mih"
#include "libs.compute_grade.mih"
#include "libs.file_util.mih"
#include "libs.globals.mih"
#include "libs.maybe_util.mih"
#include "libs.op_mode.mih"
#include "libs.optimization_options.mih"
#include "libs.options.mih"
#include "libs.trace_params.mih"
#include "mdbcomp.feedback.mih"
#include "mdbcomp.prim_data.mih"
#include "mdbcomp.sym_name.mih"
#include "parse_tree.error_spec.mih"
#include "parse_tree.java_names.mih"
#include "parse_tree.prog_data.mih"
#include "parse_tree.prog_data_pragma.mih"
#include "parse_tree.prog_item.mih"
#include "parse_tree.set_of_var.mih"
#include "parse_tree.source_file_map.mih"
#include "string.format.mih"
#include "string.parse_util.mih"




static const MR_FA_PseudoTypeInfo_Struct2 parse_tree__file_names__tree234__pti_tree234_2__plain_builtin__type_ctor_info_string_0__plain_parse_tree__file_names__type_ctor_info_count_sum_0;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_count_sum_0_0[2];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_count_sum_0_0;

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_stag_ordered_count_sum_0_0[1];

static const MR_DuPtagLayout parse_tree__file_names__parse_tree__file_names__du_ptag_ordered_count_sum_0[1];

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_name_ordered_count_sum_0[1];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_count_sum_0[1];

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_0[1];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_0[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_0;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_1[1];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_1[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_1;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_2[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_2;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_3[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_3;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_4[1];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_4[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_4;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_5[1];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_5[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_5;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_6[1];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_6[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_6;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_7[1];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_7[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_7;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_8[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_8;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_9[1];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_9[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_9;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_10[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_10;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_11[1];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_11[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_11;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_12[1];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_12[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_12;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_13[1];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_13[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_13;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_14[1];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_14[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_14;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_15[1];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_15[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_15;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_16[1];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_16[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_16;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_17[1];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_17[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_17;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_18[1];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_18[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_18;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_19[1];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_19[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_19;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_20[1];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_20[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_20;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_21[1];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_21[1];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_21;

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_stag_ordered_ext_0_0[1];

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_stag_ordered_ext_0_1[1];

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_stag_ordered_ext_0_2[1];

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_stag_ordered_ext_0_3[19];

static const MR_DuPtagLayout parse_tree__file_names__parse_tree__file_names__du_ptag_ordered_ext_0[4];

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_name_ordered_ext_0[22];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_0[22];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_1;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_2;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_3;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_4;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_analysis_0[5];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_analysis_0[5];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_analysis_0[5];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_bytecode_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_bytecode_0_1;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_bytecode_0[2];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_bytecode_0[2];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_bytecode_0[2];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_exec_0_0;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_exec_0[1];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_exec_0[1];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_exec_0[1];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_exec_gs_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_exec_gs_0_1;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_exec_gs_0_2;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_exec_gs_0[3];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_exec_gs_0[3];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_exec_gs_0[3];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_c_0_0;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_init_c_0[1];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_init_c_0[1];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_init_c_0[1];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_1;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_2;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_3;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_4;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_init_obj_0[5];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_init_obj_0[5];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_init_obj_0[5];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_1;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_2;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_3;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_4;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_5;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_6;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_int_0[7];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_int_0[7];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_int_0[7];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_0_1;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_0_2;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_lib_0[3];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_lib_0[3];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_lib_0[3];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_1;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_2;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_3;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_4;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_5;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_6;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_lib_gs_0[7];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_lib_gs_0[7];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_lib_gs_0[7];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mh_0_0;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_mh_0[1];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_mh_0[1];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_mh_0[1];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mih_0_0;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_mih_0[1];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_mih_0[1];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_mih_0[1];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_gs_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_gs_0_1;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_misc_gs_0[2];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_misc_gs_0[2];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_misc_gs_0[2];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_ngs_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_ngs_0_1;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_ngs_0_2;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_misc_ngs_0[3];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_misc_ngs_0[3];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_misc_ngs_0[3];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_fragment_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_fragment_0_1;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_fragment_0_2;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_mmake_fragment_0[3];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_mmake_fragment_0[3];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_mmake_fragment_0[3];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_1;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_2;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_3;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_4;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_5;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_6;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_7;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_8;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_9;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_10;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_11;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_12;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_13;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_14;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_15;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_16;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_17;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_mmake_target_0[18];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_mmake_target_0[18];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_mmake_target_0[18];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_1;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_2;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_3;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_4;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_5;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_obj_0[6];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_obj_0[6];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_obj_0[6];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_opt_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_opt_0_1;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_opt_0_2;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_opt_0_3;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_opt_0[4];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_opt_0[4];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_opt_0[4];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_c_cs_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_c_cs_0_1;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_target_c_cs_0[2];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_target_c_cs_0[2];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_target_c_cs_0[2];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_date_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_date_0_1;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_date_0_2;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_target_date_0[3];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_target_date_0[3];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_target_date_0[3];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_java_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_java_0_1;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_target_java_0[2];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_target_java_0[2];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_target_java_0[2];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_1;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_2;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_3;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_4;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_5;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_user_0[6];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_user_0[6];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_user_0[6];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_1;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_2;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_3;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_4;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_5;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_6;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_7;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_8;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_9;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_user_ngs_0[10];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_user_ngs_0[10];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_user_ngs_0[10];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_maybe_create_dirs_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_maybe_create_dirs_0_1;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_maybe_create_dirs_0[2];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_maybe_create_dirs_0[2];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_maybe_create_dirs_0[2];

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_maybe_search_0_0;

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_maybe_search_0_1;

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_maybe_search_0[2];

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_maybe_search_0[2];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_maybe_search_0[2];

static const MR_FA_TypeInfo_Struct1 parse_tree__file_names__maybe__ti_maybe_1parse_tree__file_names__type_ctor_info_maybe_create_dirs_0;

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_record_key_0_0[4];

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_record_key_0_0[4];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_record_key_0_0;

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_stag_ordered_record_key_0_0[1];

static const MR_DuPtagLayout parse_tree__file_names__parse_tree__file_names__du_ptag_ordered_record_key_0[1];

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_name_ordered_record_key_0[1];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_record_key_0[1];

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_record_value_0_0[2];

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_record_value_0_0;

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_stag_ordered_record_value_0_0[1];

static const MR_DuPtagLayout parse_tree__file_names__parse_tree__file_names__du_ptag_ordered_record_value_0[1];

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_name_ordered_record_value_0[1];

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_record_value_0[1];

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

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

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

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

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

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

static void MR_CALL 
parse_tree__file_names__unsafe_set_mkdirs_1_p_0(
  MR_Word X_1);

static void MR_CALL 
parse_tree__file_names__unsafe_get_mkdirs_1_p_0(
  MR_Word * X_1);

static void MR_CALL 
parse_tree__file_names__unlock_mkdirs_0_p_0(void);

static void MR_CALL 
parse_tree__file_names__lock_mkdirs_0_p_0(void);

static void MR_CALL 
parse_tree__file_names__pre_initialise_mutable_mkdirs_0_p_0(void);

static void MR_CALL 
parse_tree__file_names__initialise_mutable_mkdirs_0_p_0(void);

static void MR_CALL 
parse_tree__file_names__unsafe_set_no_mkdirs_1_p_0(
  MR_Word X_1);

static void MR_CALL 
parse_tree__file_names__unsafe_get_no_mkdirs_1_p_0(
  MR_Word * X_1);

static void MR_CALL 
parse_tree__file_names__unlock_no_mkdirs_0_p_0(void);

static void MR_CALL 
parse_tree__file_names__lock_no_mkdirs_0_p_0(void);

static void MR_CALL 
parse_tree__file_names__pre_initialise_mutable_no_mkdirs_0_p_0(void);

static void MR_CALL 
parse_tree__file_names__initialise_mutable_no_mkdirs_0_p_0(void);

static void MR_CALL 
parse_tree__file_names__unsafe_set_translations_1_p_0(
  MR_Word X_1);

static void MR_CALL 
parse_tree__file_names__unsafe_get_translations_1_p_0(
  MR_Word * X_1);

static void MR_CALL 
parse_tree__file_names__unlock_translations_0_p_0(void);

static void MR_CALL 
parse_tree__file_names__lock_translations_0_p_0(void);

static void MR_CALL 
parse_tree__file_names__pre_initialise_mutable_translations_0_p_0(void);

static void MR_CALL 
parse_tree__file_names__initialise_mutable_translations_0_p_0(void);

static void MR_CALL 
parse_tree__file_names__unsafe_set_made_dirs_1_p_0(
  MR_Word X_1);

static void MR_CALL 
parse_tree__file_names__unsafe_get_made_dirs_1_p_0(
  MR_Word * X_1);

static void MR_CALL 
parse_tree__file_names__unlock_made_dirs_0_p_0(void);

static void MR_CALL 
parse_tree__file_names__lock_made_dirs_0_p_0(void);

static void MR_CALL 
parse_tree__file_names__pre_initialise_mutable_made_dirs_0_p_0(void);

static void MR_CALL 
parse_tree__file_names__initialise_mutable_made_dirs_0_p_0(void);

static void MR_CALL 
parse_tree__file_names__write_out_mkdirs_entry_5_p_0(
  MR_Word Stream_6,
  MR_String DirName_7,
  MR_Integer Cnt_8);

static void MR_CALL 
parse_tree__file_names__write_out_no_mkdirs_entry_5_p_0(
  MR_Word Stream_6,
  MR_String DirName_7,
  MR_Integer Cnt_8);

static void MR_CALL 
parse_tree__file_names__write_out_ext_sch_dir_entry_5_p_0(
  MR_Word Stream_6,
  MR_String ExtSchDir_7,
  MR_Word HeadVar__3_3);

static void MR_CALL 
parse_tree__file_names__write_out_ext_entry_5_p_0(
  MR_Word Stream_6,
  MR_String Ext_7,
  MR_Word HeadVar__3_3);

static void MR_CALL 
parse_tree__file_names__gather_translation_stats_11_p_0(
  MR_Word Globals_12,
  MR_Word Key_13,
  MR_Word Value_14,
  MR_Integer STATE_VARIABLE_NumKeys_0_31,
  MR_Integer * STATE_VARIABLE_NumKeys_32,
  MR_Integer STATE_VARIABLE_NumLookups_0_33,
  MR_Integer * STATE_VARIABLE_NumLookups_34,
  MR_Word STATE_VARIABLE_ExtMap_0_35,
  MR_Word * STATE_VARIABLE_ExtMap_36,
  MR_Word STATE_VARIABLE_ExtSchDirMap_0_37,
  MR_Word * STATE_VARIABLE_ExtSchDirMap_38);

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

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

static void MR_CALL 
parse_tree__file_names__write_translations_record_if_any_3_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);

static void MR_CALL 
parse_tree__file_names__write_translations_record_if_any_3_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);

static void MR_CALL 
parse_tree__file_names__write_translations_record_if_any_3_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 * wrapper_arg_6,
  MR_Box wrapper_arg_7,
  MR_Box * wrapper_arg_8,
  MR_Box wrapper_arg_9,
  MR_Box * wrapper_arg_10);

static void MR_CALL 
parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_102_105_108_101_95_110_97_109_101_95_101_120_116_95_95_91_50_44_32_52_93_95_48_8_p_0(
  MR_Word Globals_9,
  MR_Word Search_11,
  MR_Word Ext_13,
  MR_Word ModuleName_14,
  MR_Word * DirNames_15,
  MR_String * FileName_16);

static void MR_CALL 
parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_101_120_116_95_101_120_101_99_95_101_120_116_101_110_115_105_111_110_95_95_91_49_93_95_48_2_p_0(
  MR_String * HeadVar__2_2);

static void MR_CALL 
parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_101_120_116_95_105_110_105_116_95_99_95_101_120_116_101_110_115_105_111_110_95_100_105_114_95_95_91_49_93_95_48_3_p_0(
  MR_String * HeadVar__2_2,
  MR_String * HeadVar__3_3);

static void MR_CALL 
parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_101_120_116_95_109_105_104_95_101_120_116_101_110_115_105_111_110_95_100_105_114_95_95_91_49_93_95_48_3_p_0(
  MR_String * HeadVar__2_2,
  MR_String * HeadVar__3_3);

static void MR_CALL 
parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_101_120_116_95_109_104_95_101_120_116_101_110_115_105_111_110_95_95_91_49_93_95_48_2_p_0(
  MR_String * HeadVar__2_2);

static MR_String MR_CALL 
parse_tree__file_names__glue_dir_names_file_name_3_f_0(
  MR_Word DirComponents_5,
  MR_String BaseNameNoExt_6,
  MR_String ExtStr_7);

static void MR_CALL 
parse_tree__file_names__make_grade_subdir_file_name_6_p_0(
  MR_Word Globals_7,
  MR_Word SubDirNames_8,
  MR_String BaseNameNoExt_9,
  MR_String ExtStr_10,
  MR_Word * DirComponents_11,
  MR_String * FileName_12);

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

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

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

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

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

static void MR_CALL 
parse_tree__file_names__ext_user_extension_2_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2);

static void MR_CALL 
parse_tree__file_names__ext_mmake_target_extension_2_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2);

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

static void MR_CALL 
parse_tree__file_names__ext_lib_gs_extension_dir_4_p_0(
  MR_Word Globals_1,
  MR_Word HeadVar__2_2,
  MR_String * HeadVar__3_3,
  MR_String * HeadVar__4_4);

static void MR_CALL 
parse_tree__file_names__ext_lib_extension_2_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2);

static void MR_CALL 
parse_tree__file_names__ext_exec_gs_extension_dir_4_p_0(
  MR_Word Globals_1,
  MR_Word HeadVar__2_2,
  MR_String * HeadVar__3_3,
  MR_String * HeadVar__4_4);

static void MR_CALL 
parse_tree__file_names__ext_init_obj_extension_dir_4_p_0(
  MR_Word Globals_1,
  MR_Word HeadVar__2_2,
  MR_String * HeadVar__3_3,
  MR_String * HeadVar__4_4);

static void MR_CALL 
parse_tree__file_names__ext_obj_extension_dir_4_p_0(
  MR_Word Globals_1,
  MR_Word HeadVar__2_2,
  MR_String * HeadVar__3_3,
  MR_String * HeadVar__4_4);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


static /* final */ const MR_Box parse_tree__file_names_scalar_common_1[1][3];

static /* final */ const MR_Box parse_tree__file_names_scalar_common_2[4][2];

static /* final */ const MR_Box parse_tree__file_names_scalar_common_3[1][1];

static /* final */ const MR_Box parse_tree__file_names_scalar_common_6[1][14];

static /* final */ const MR_Box parse_tree__file_names_scalar_common_7[2][8];


struct parse_tree__file_names__vector_common_type_4_0_s {
  const MR_String parse_tree__file_names__vector_common_type_4_0__vct_4_f_0;
};

static /* final */ const struct parse_tree__file_names__vector_common_type_4_0_s parse_tree__file_names_vector_common_4[74];

struct parse_tree__file_names__vector_common_type_5_0_s {
  const MR_String parse_tree__file_names__vector_common_type_5_0__vct_5_f_0;
  const MR_String parse_tree__file_names__vector_common_type_5_0__vct_5_f_1;
};

static /* final */ const struct parse_tree__file_names__vector_common_type_5_0_s parse_tree__file_names_vector_common_5[26];



static /* final */ const MR_Box parse_tree__file_names_scalar_common_1[1][3] = {
  /* row   0 */
  {
    ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0)),
    ((MR_Box) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_count_sum_0))
  },
};

static /* final */ const MR_Box parse_tree__file_names_scalar_common_2[4][2] = {
  /* row   0 */
  {
    ((MR_Box) (&mercury__maybe__maybe__type_ctor_info_maybe_1)),
    ((MR_Box) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_maybe_create_dirs_0))
  },
  /* row   1 */
  {
    ((MR_Box) ((MR_String) "jmercury")),
    ((MR_Box) ((MR_Unsigned) 0U))
  },
  /* row   2 */
  {
    ((MR_Box) ((MR_String) "classs")),
    ((MR_Box) (MR_mkword(1, &parse_tree__file_names_scalar_common_2[1])))
  },
  /* row   3 */
  {
    ((MR_Box) ((MR_String) "javas")),
    ((MR_Box) (MR_mkword(1, &parse_tree__file_names_scalar_common_2[1])))
  },
};

static /* final */ const MR_Box parse_tree__file_names_scalar_common_3[1][1] = {
  /* row   0 */
  { (MR_Box) (((((MR_Unsigned) 0U << 4)) | (((((MR_Unsigned) 0U << 3)) | (((((MR_Unsigned) 0U << 2)) | (((MR_Unsigned) 0U << 1)))))))) },
};

static /* final */ const MR_Box parse_tree__file_names_scalar_common_6[1][14] = {
  /* row   0 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 11)),
    ((MR_Box) (&libs__globals__libs__globals__type_ctor_info_globals_0)),
    ((MR_Box) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_record_key_0)),
    ((MR_Box) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_record_value_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0)),
    ((MR_Box) (&parse_tree__file_names__tree234__pti_tree234_2__plain_builtin__type_ctor_info_string_0__plain_parse_tree__file_names__type_ctor_info_count_sum_0)),
    ((MR_Box) (&parse_tree__file_names__tree234__pti_tree234_2__plain_builtin__type_ctor_info_string_0__plain_parse_tree__file_names__type_ctor_info_count_sum_0)),
    ((MR_Box) (&parse_tree__file_names__tree234__pti_tree234_2__plain_builtin__type_ctor_info_string_0__plain_parse_tree__file_names__type_ctor_info_count_sum_0)),
    ((MR_Box) (&parse_tree__file_names__tree234__pti_tree234_2__plain_builtin__type_ctor_info_string_0__plain_parse_tree__file_names__type_ctor_info_count_sum_0))
  },
};

static /* final */ const MR_Box parse_tree__file_names_scalar_common_7[2][8] = {
  /* row   0 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 5)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_text_output_stream_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0)),
    ((MR_Box) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_count_sum_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0))
  },
  /* row   1 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 5)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_text_output_stream_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0))
  },
};


static /* final */ const struct parse_tree__file_names__vector_common_type_4_0_s parse_tree__file_names_vector_common_4[74] = {
  /* row   0 */   { (MR_String) ".analysis" },
  /* row   1 */   { (MR_String) ".analysis_date" },
  /* row   2 */   { (MR_String) ".analysis_status" },
  /* row   3 */   { (MR_String) ".imdg" },
  /* row   4 */   { (MR_String) ".request" },
  /* row   5 */   { (MR_String) ".int0" },
  /* row   6 */   { (MR_String) ".int" },
  /* row   7 */   { (MR_String) ".int2" },
  /* row   8 */   { (MR_String) ".int3" },
  /* row   9 */   { (MR_String) ".date0" },
  /* row  10 */   { (MR_String) ".date" },
  /* row  11 */   { (MR_String) ".date3" },
  /* row  12 */   { (MR_String) ".all_int3s" },
  /* row  13 */   { (MR_String) ".all_ints" },
  /* row  14 */   { (MR_String) ".all_opts" },
  /* row  15 */   { (MR_String) ".all_trans_opts" },
  /* row  16 */   { (MR_String) ".check" },
  /* row  17 */   { (MR_String) ".classes" },
  /* row  18 */   { (MR_String) ".clean" },
  /* row  19 */   { (MR_String) ".depend" },
  /* row  20 */   { (MR_String) ".install_grade_hdrs" },
  /* row  21 */   { (MR_String) ".install_hdrs" },
  /* row  22 */   { (MR_String) ".install_ints" },
  /* row  23 */   { (MR_String) ".install_opts" },
  /* row  24 */   { (MR_String) ".int3s" },
  /* row  25 */   { (MR_String) ".ints" },
  /* row  26 */   { (MR_String) ".javas" },
  /* row  27 */   { (MR_String) ".opts" },
  /* row  28 */   { (MR_String) ".realclean" },
  /* row  29 */   { (MR_String) ".trans_opts" },
  /* row  30 */   { (MR_String) ".opt" },
  /* row  31 */   { (MR_String) ".trans_opt" },
  /* row  32 */   { (MR_String) ".optdate" },
  /* row  33 */   { (MR_String) ".trans_opt_date" },
  /* row  34 */   { (MR_String) ".dependency_graph" },
  /* row  35 */   { (MR_String) ".err" },
  /* row  36 */   { (MR_String) ".hlds_dump" },
  /* row  37 */   { (MR_String) ".mlds_dump" },
  /* row  38 */   { (MR_String) ".order" },
  /* row  39 */   { (MR_String) ".ugly" },
  /* row  40 */   { (MR_String) ".defn_extents" },
  /* row  41 */   { (MR_String) ".defn_line_counts" },
  /* row  42 */   { (MR_String) ".defns" },
  /* row  43 */   { (MR_String) ".imports_graph" },
  /* row  44 */   { (MR_String) ".local_call_tree" },
  /* row  45 */   { (MR_String) ".local_call_tree_order" },
  /* row  46 */   { (MR_String) ".mode_constraints" },
  /* row  47 */   { (MR_String) ".order_trans_opt" },
  /* row  48 */   { (MR_String) ".type_repns" },
  /* row  49 */   { (MR_String) ".xml" },
  /* row  50 */   { (MR_String) ".all_int3s" },
  /* row  51 */   { (MR_String) ".all_ints" },
  /* row  52 */   { (MR_String) ".all_opts" },
  /* row  53 */   { (MR_String) ".all_trans_opts" },
  /* row  54 */   { (MR_String) ".check" },
  /* row  55 */   { (MR_String) ".classes" },
  /* row  56 */   { (MR_String) ".clean" },
  /* row  57 */   { (MR_String) ".depend" },
  /* row  58 */   { (MR_String) ".install_grade_hdrs" },
  /* row  59 */   { (MR_String) ".install_hdrs" },
  /* row  60 */   { (MR_String) ".install_ints" },
  /* row  61 */   { (MR_String) ".install_opts" },
  /* row  62 */   { (MR_String) ".int3s" },
  /* row  63 */   { (MR_String) ".ints" },
  /* row  64 */   { (MR_String) ".javas" },
  /* row  65 */   { (MR_String) ".opts" },
  /* row  66 */   { (MR_String) ".realclean" },
  /* row  67 */   { (MR_String) ".trans_opts" },
  /* row  68 */   { (MR_String) ".dependency_graph" },
  /* row  69 */   { (MR_String) ".err" },
  /* row  70 */   { (MR_String) ".hlds_dump" },
  /* row  71 */   { (MR_String) ".mlds_dump" },
  /* row  72 */   { (MR_String) ".order" },
  /* row  73 */   { (MR_String) ".ugly" },
};

static /* final */ const struct parse_tree__file_names__vector_common_type_5_0_s parse_tree__file_names_vector_common_5[26] = {
  /* row   0 */
  {
    (MR_String) ".int0",
    (MR_String) "int0s"
  },
  /* row   1 */
  {
    (MR_String) ".int",
    (MR_String) "ints"
  },
  /* row   2 */
  {
    (MR_String) ".int2",
    (MR_String) "int2s"
  },
  /* row   3 */
  {
    (MR_String) ".int3",
    (MR_String) "int3s"
  },
  /* row   4 */
  {
    (MR_String) ".date0",
    (MR_String) "date0s"
  },
  /* row   5 */
  {
    (MR_String) ".date",
    (MR_String) "dates"
  },
  /* row   6 */
  {
    (MR_String) ".date3",
    (MR_String) "date3s"
  },
  /* row   7 */
  {
    (MR_String) ".opt",
    (MR_String) "opts"
  },
  /* row   8 */
  {
    (MR_String) ".trans_opt",
    (MR_String) "trans_opts"
  },
  /* row   9 */
  {
    (MR_String) ".optdate",
    (MR_String) "optdates"
  },
  /* row  10 */
  {
    (MR_String) ".trans_opt_date",
    (MR_String) "trans_opt_dates"
  },
  /* row  11 */
  {
    (MR_String) ".defn_extents",
    (MR_String) "defn_extentss"
  },
  /* row  12 */
  {
    (MR_String) ".defn_line_counts",
    (MR_String) "defn_line_countss"
  },
  /* row  13 */
  {
    (MR_String) ".defns",
    (MR_String) "defnss"
  },
  /* row  14 */
  {
    (MR_String) ".imports_graph",
    (MR_String) "imports_graphs"
  },
  /* row  15 */
  {
    (MR_String) ".local_call_tree",
    (MR_String) "local_call_trees"
  },
  /* row  16 */
  {
    (MR_String) ".local_call_tree_order",
    (MR_String) "local_call_tree_orders"
  },
  /* row  17 */
  {
    (MR_String) ".mode_constraints",
    (MR_String) "mode_constraintss"
  },
  /* row  18 */
  {
    (MR_String) ".order_trans_opt",
    (MR_String) "order_trans_opts"
  },
  /* row  19 */
  {
    (MR_String) ".type_repns",
    (MR_String) "type_repnss"
  },
  /* row  20 */
  {
    (MR_String) ".xml",
    (MR_String) "xmls"
  },
  /* row  21 */
  {
    (MR_String) ".analysis",
    (MR_String) "analysiss"
  },
  /* row  22 */
  {
    (MR_String) ".analysis_date",
    (MR_String) "analysis_dates"
  },
  /* row  23 */
  {
    (MR_String) ".analysis_status",
    (MR_String) "analysis_statuss"
  },
  /* row  24 */
  {
    (MR_String) ".imdg",
    (MR_String) "imdgs"
  },
  /* row  25 */
  {
    (MR_String) ".request",
    (MR_String) "requests"
  },
};


#include "array.mh"
#include "bitmap.mh"
#include "dir.mh"
#include "io.mh"
#include "string.mh"
#include "time.mh"
#include "io.stream_ops.mh"
#include "parse_tree.file_names.mh"
#line 1490 "file_names.m"
MR_Word parse_tree__file_names__mutable_variable_made_dirs;
#ifdef MR_THREAD_SAFE
    MercuryLock parse_tree__file_names__mutable_variable_made_dirs_lock;
#endif

#line 1592 "file_names.m"
MR_Word parse_tree__file_names__mutable_variable_translations;
#ifdef MR_THREAD_SAFE
    MercuryLock parse_tree__file_names__mutable_variable_translations_lock;
#endif

#line 1618 "file_names.m"
MR_Word parse_tree__file_names__mutable_variable_no_mkdirs;
#ifdef MR_THREAD_SAFE
    MercuryLock parse_tree__file_names__mutable_variable_no_mkdirs_lock;
#endif

#line 1620 "file_names.m"
MR_Word parse_tree__file_names__mutable_variable_mkdirs;
#ifdef MR_THREAD_SAFE
    MercuryLock parse_tree__file_names__mutable_variable_mkdirs_lock;
#endif


#line 1490 "file_names.m"
void 
parse_tree__file_names__user_init_pred_206_0(void)
#line 1490 "file_names.m"
{
#line 1490 "file_names.m"
	parse_tree__file_names__initialise_mutable_made_dirs_0_p_0();
}

#line 1592 "file_names.m"
void 
parse_tree__file_names__user_init_pred_216_0(void)
#line 1592 "file_names.m"
{
#line 1592 "file_names.m"
	parse_tree__file_names__initialise_mutable_translations_0_p_0();
}

#line 1618 "file_names.m"
void 
parse_tree__file_names__user_init_pred_219_0(void)
#line 1618 "file_names.m"
{
#line 1618 "file_names.m"
	parse_tree__file_names__initialise_mutable_no_mkdirs_0_p_0();
}

#line 1620 "file_names.m"
void 
parse_tree__file_names__user_init_pred_220_0(void)
#line 1620 "file_names.m"
{
#line 1620 "file_names.m"
	parse_tree__file_names__initialise_mutable_mkdirs_0_p_0();
}


static const MR_FA_PseudoTypeInfo_Struct2 parse_tree__file_names__tree234__pti_tree234_2__plain_builtin__type_ctor_info_string_0__plain_parse_tree__file_names__type_ctor_info_count_sum_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_PseudoTypeInfo) (&mercury__builtin__builtin__type_ctor_info_string_0),
    (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_count_sum_0)
  }
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_count_sum_0_0[2] = {
  (MR_PseudoTypeInfo) (&mercury__builtin__builtin__type_ctor_info_int_0),
  (MR_PseudoTypeInfo) (&mercury__builtin__builtin__type_ctor_info_int_0)
};

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

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_stag_ordered_count_sum_0_0[1] = { &parse_tree__file_names__parse_tree__file_names__du_functor_desc_count_sum_0_0 };

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

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_name_ordered_count_sum_0[1] = { &parse_tree__file_names__parse_tree__file_names__du_functor_desc_count_sum_0_0 };

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_count_sum_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(1),
  MR_TYPECTOR_REP_DU,
  ((MR_Box) (parse_tree__file_names____Unify____count_sum_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____count_sum_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "count_sum",
  { parse_tree__file_names__parse_tree__file_names__du_name_ordered_count_sum_0 },
  { parse_tree__file_names__parse_tree__file_names__du_ptag_ordered_count_sum_0 },
  (MR_Integer) 1,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_count_sum_0,

};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_0[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_int_0) };

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

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_0 = {
  (MR_String) "ext_int",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_NONE,
  UINT8_C(0),
  (MR_Integer) -1,
  INT32_C(0),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_0,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_0,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_1[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_opt_0) };

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

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_1 = {
  (MR_String) "ext_opt",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_NONE,
  UINT8_C(1),
  (MR_Integer) -1,
  INT32_C(1),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_1,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_1,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_2[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_mh_0) };

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

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_3[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_mih_0) };

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_3 = {
  (MR_String) "ext_mih",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 0,
  INT32_C(3),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_3,
  NULL,
  NULL,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_4[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_target_c_cs_0) };

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_4[1] = {
  {
    (MR_Integer) 0,
    (MR_Integer) 0,
    (MR_Integer) 1
  }
};

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_4 = {
  (MR_String) "ext_target_c_cs",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 1,
  INT32_C(4),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_4,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_4,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_5[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_target_java_0) };

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_5[1] = {
  {
    (MR_Integer) 0,
    (MR_Integer) 0,
    (MR_Integer) 1
  }
};

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_5 = {
  (MR_String) "ext_target_java",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 2,
  INT32_C(5),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_5,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_5,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_6[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_target_date_0) };

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

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_6 = {
  (MR_String) "ext_target_date",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 3,
  INT32_C(6),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_6,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_6,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_7[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_obj_0) };

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

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_7 = {
  (MR_String) "ext_target_obj",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 4,
  INT32_C(7),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_7,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_7,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_8[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_init_c_0) };

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_8 = {
  (MR_String) "ext_target_init_c",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 5,
  INT32_C(8),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_8,
  NULL,
  NULL,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_9[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_init_obj_0) };

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

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_9 = {
  (MR_String) "ext_target_init_obj",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 6,
  INT32_C(9),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_9,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_9,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_10[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_exec_0) };

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_10 = {
  (MR_String) "ext_exec",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 7,
  INT32_C(10),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_10,
  NULL,
  NULL,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_11[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_exec_gs_0) };

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

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_11 = {
  (MR_String) "ext_exec_gs",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 8,
  INT32_C(11),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_11,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_11,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_12[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_lib_0) };

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

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_12 = {
  (MR_String) "ext_lib",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 9,
  INT32_C(12),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_12,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_12,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_13[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_lib_gs_0) };

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

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_13 = {
  (MR_String) "ext_lib_gs",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 10,
  INT32_C(13),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_13,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_13,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_14[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_mmake_fragment_0) };

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

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_14 = {
  (MR_String) "ext_mmake_fragment",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 11,
  INT32_C(14),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_14,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_14,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_15[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_mmake_target_0) };

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_15[1] = {
  {
    (MR_Integer) 0,
    (MR_Integer) 0,
    (MR_Integer) 5
  }
};

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_15 = {
  (MR_String) "ext_mmake_target",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 12,
  INT32_C(15),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_15,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_15,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_16[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_user_0) };

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

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_16 = {
  (MR_String) "ext_user",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 13,
  INT32_C(16),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_16,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_16,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_17[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_user_ngs_0) };

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

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_17 = {
  (MR_String) "ext_user_ngs",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 14,
  INT32_C(17),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_17,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_17,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_18[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_analysis_0) };

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

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_18 = {
  (MR_String) "ext_analysis",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 15,
  INT32_C(18),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_18,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_18,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_19[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_bytecode_0) };

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_19[1] = {
  {
    (MR_Integer) 0,
    (MR_Integer) 0,
    (MR_Integer) 1
  }
};

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_19 = {
  (MR_String) "ext_bytecode",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 16,
  INT32_C(19),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_19,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_19,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_20[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_misc_ngs_0) };

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

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_20 = {
  (MR_String) "ext_misc_ngs",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 17,
  INT32_C(20),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_20,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_20,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_ext_0_21[1] = { (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_misc_gs_0) };

static const MR_DuArgLocn parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_21[1] = {
  {
    (MR_Integer) 0,
    (MR_Integer) 0,
    (MR_Integer) 1
  }
};

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_21 = {
  (MR_String) "ext_misc_gs",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_REMOTE_FULL_WORD,
  UINT8_C(3),
  (MR_Integer) 18,
  INT32_C(21),
  parse_tree__file_names__parse_tree__file_names__field_types_ext_0_21,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_ext_0_21,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_stag_ordered_ext_0_0[1] = { &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_0 };

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_stag_ordered_ext_0_1[1] = { &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_1 };

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_stag_ordered_ext_0_2[1] = { &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_2 };

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_stag_ordered_ext_0_3[19] = {
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_3,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_4,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_5,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_6,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_7,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_8,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_9,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_10,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_11,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_12,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_13,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_14,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_15,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_16,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_17,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_18,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_19,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_20,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_21
};

static const MR_DuPtagLayout parse_tree__file_names__parse_tree__file_names__du_ptag_ordered_ext_0[4] = {
  {
    UINT32_C(1),
    MR_SECTAG_NONE,
    parse_tree__file_names__parse_tree__file_names__du_stag_ordered_ext_0_0,
    INT8_C(-1),
    UINT8_C(0),
    UINT8_C(1)
  },
  {
    UINT32_C(1),
    MR_SECTAG_NONE,
    parse_tree__file_names__parse_tree__file_names__du_stag_ordered_ext_0_1,
    INT8_C(-1),
    UINT8_C(1),
    UINT8_C(1)
  },
  {
    UINT32_C(1),
    MR_SECTAG_NONE,
    parse_tree__file_names__parse_tree__file_names__du_stag_ordered_ext_0_2,
    INT8_C(-1),
    UINT8_C(2),
    UINT8_C(1)
  },
  {
    UINT32_C(19),
    MR_SECTAG_REMOTE_FULL_WORD,
    parse_tree__file_names__parse_tree__file_names__du_stag_ordered_ext_0_3,
    INT8_C(-1),
    UINT8_C(3),
    UINT8_C(1)
  }
};

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_name_ordered_ext_0[22] = {
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_18,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_19,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_10,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_11,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_0,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_12,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_13,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_2,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_3,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_21,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_20,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_14,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_15,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_1,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_4,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_6,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_8,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_9,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_5,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_7,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_16,
  &parse_tree__file_names__parse_tree__file_names__du_functor_desc_ext_0_17
};

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_0[22] = {
  (MR_Integer) 4,
  (MR_Integer) 13,
  (MR_Integer) 7,
  (MR_Integer) 8,
  (MR_Integer) 14,
  (MR_Integer) 18,
  (MR_Integer) 15,
  (MR_Integer) 19,
  (MR_Integer) 16,
  (MR_Integer) 17,
  (MR_Integer) 2,
  (MR_Integer) 3,
  (MR_Integer) 5,
  (MR_Integer) 6,
  (MR_Integer) 11,
  (MR_Integer) 12,
  (MR_Integer) 20,
  (MR_Integer) 21,
  (MR_Integer) 0,
  (MR_Integer) 1,
  (MR_Integer) 10,
  (MR_Integer) 9
};

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(4),
  MR_TYPECTOR_REP_DU,
  ((MR_Box) (parse_tree__file_names____Unify____ext_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext",
  { parse_tree__file_names__parse_tree__file_names__du_name_ordered_ext_0 },
  { parse_tree__file_names__parse_tree__file_names__du_ptag_ordered_ext_0 },
  (MR_Integer) 22,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_0 = {
  (MR_String) "ext_an_analysis",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_1 = {
  (MR_String) "ext_an_date",
  INT32_C(1)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_2 = {
  (MR_String) "ext_an_status",
  INT32_C(2)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_3 = {
  (MR_String) "ext_an_imdg",
  INT32_C(3)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_4 = {
  (MR_String) "ext_an_request",
  INT32_C(4)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_analysis_0[5] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_3,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_4
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_analysis_0[5] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_3,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_4,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_analysis_0_2
};

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_analysis_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____ext_analysis_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_analysis_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_analysis",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_analysis_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_analysis_0 },
  (MR_Integer) 5,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_analysis_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_bytecode_0_0 = {
  (MR_String) "ext_bc_mbc",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_bytecode_0_1 = {
  (MR_String) "ext_bc_bytedebug",
  INT32_C(1)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_bytecode_0[2] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_bytecode_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_bytecode_0_1
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_bytecode_0[2] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_bytecode_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_bytecode_0_0
};

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_bytecode_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____ext_bytecode_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_bytecode_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_bytecode",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_bytecode_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_bytecode_0 },
  (MR_Integer) 2,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_bytecode_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_exec_0_0 = {
  (MR_String) "ext_exec_exe",
  INT32_C(0)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_exec_0[1] = { &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_exec_0_0 };

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_exec_0[1] = { &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_exec_0_0 };

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_exec_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_DUMMY,
  ((MR_Box) (parse_tree__file_names____Unify____ext_exec_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_exec_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_exec",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_exec_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_exec_0 },
  (MR_Integer) 1,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_exec_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_exec_gs_0_0 = {
  (MR_String) "ext_exec_gs_noext",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_exec_gs_0_1 = {
  (MR_String) "ext_exec_gs_bat",
  INT32_C(1)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_exec_gs_0_2 = {
  (MR_String) "ext_exec_exec_opt",
  INT32_C(2)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_exec_gs_0[3] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_exec_gs_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_exec_gs_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_exec_gs_0_2
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_exec_gs_0[3] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_exec_gs_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_exec_gs_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_exec_gs_0_0
};

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_exec_gs_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____ext_exec_gs_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_exec_gs_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_exec_gs",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_exec_gs_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_exec_gs_0 },
  (MR_Integer) 3,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_exec_gs_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_c_0_0 = {
  (MR_String) "ext_init_c",
  INT32_C(0)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_init_c_0[1] = { &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_c_0_0 };

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_init_c_0[1] = { &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_c_0_0 };

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_init_c_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_DUMMY,
  ((MR_Box) (parse_tree__file_names____Unify____ext_init_c_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_init_c_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_init_c",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_init_c_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_init_c_0 },
  (MR_Integer) 1,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_init_c_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_0 = {
  (MR_String) "ext_init_obj_dollar_o",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_1 = {
  (MR_String) "ext_init_obj_o",
  INT32_C(1)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_2 = {
  (MR_String) "ext_init_obj_pic_o",
  INT32_C(2)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_3 = {
  (MR_String) "ext_init_obj_obj_opt",
  INT32_C(3)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_4 = {
  (MR_String) "ext_init_obj_pic_obj_opt",
  INT32_C(4)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_init_obj_0[5] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_3,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_4
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_init_obj_0[5] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_3,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_init_obj_0_4
};

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_init_obj_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____ext_init_obj_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_init_obj_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_init_obj",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_init_obj_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_init_obj_0 },
  (MR_Integer) 5,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_init_obj_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_0 = {
  (MR_String) "ext_int_int0",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_1 = {
  (MR_String) "ext_int_int1",
  INT32_C(1)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_2 = {
  (MR_String) "ext_int_int2",
  INT32_C(2)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_3 = {
  (MR_String) "ext_int_int3",
  INT32_C(3)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_4 = {
  (MR_String) "ext_int_date_int0",
  INT32_C(4)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_5 = {
  (MR_String) "ext_int_date_int12",
  INT32_C(5)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_6 = {
  (MR_String) "ext_int_date_int3",
  INT32_C(6)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_int_0[7] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_3,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_4,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_5,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_6
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_int_0[7] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_4,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_5,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_6,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_int_0_3
};

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_int_0[7] = {
  (MR_Integer) 3,
  (MR_Integer) 4,
  (MR_Integer) 5,
  (MR_Integer) 6,
  (MR_Integer) 0,
  (MR_Integer) 1,
  (MR_Integer) 2
};

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_int_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____ext_int_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_int_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_int",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_int_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_int_0 },
  (MR_Integer) 7,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_int_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_0_0 = {
  (MR_String) "ext_lib_dollar_efsl",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_0_1 = {
  (MR_String) "ext_lib_lib",
  INT32_C(1)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_0_2 = {
  (MR_String) "ext_lib_so",
  INT32_C(2)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_lib_0[3] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_0_2
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_lib_0[3] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_0_2
};

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_lib_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____ext_lib_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_lib_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_lib",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_lib_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_lib_0 },
  (MR_Integer) 3,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_lib_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_0 = {
  (MR_String) "ext_lib_gs_dollar_a",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_1 = {
  (MR_String) "ext_lib_gs_archive",
  INT32_C(1)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_2 = {
  (MR_String) "ext_lib_gs_dll",
  INT32_C(2)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_3 = {
  (MR_String) "ext_lib_gs_init",
  INT32_C(3)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_4 = {
  (MR_String) "ext_lib_gs_jar",
  INT32_C(4)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_5 = {
  (MR_String) "ext_lib_gs_lib_opt",
  INT32_C(5)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_6 = {
  (MR_String) "ext_lib_gs_sh_lib_opt",
  INT32_C(6)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_lib_gs_0[7] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_3,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_4,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_5,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_6
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_lib_gs_0[7] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_3,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_4,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_5,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_lib_gs_0_6
};

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_lib_gs_0[7] = {
  (MR_Integer) 2,
  (MR_Integer) 0,
  (MR_Integer) 1,
  (MR_Integer) 3,
  (MR_Integer) 4,
  (MR_Integer) 5,
  (MR_Integer) 6
};

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_lib_gs_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____ext_lib_gs_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_lib_gs_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_lib_gs",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_lib_gs_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_lib_gs_0 },
  (MR_Integer) 7,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_lib_gs_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mh_0_0 = {
  (MR_String) "ext_mh_mh",
  INT32_C(0)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_mh_0[1] = { &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mh_0_0 };

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_mh_0[1] = { &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mh_0_0 };

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_mh_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_DUMMY,
  ((MR_Box) (parse_tree__file_names____Unify____ext_mh_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_mh_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_mh",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_mh_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_mh_0 },
  (MR_Integer) 1,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_mh_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mih_0_0 = {
  (MR_String) "ext_mih_mih",
  INT32_C(0)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_mih_0[1] = { &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mih_0_0 };

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_mih_0[1] = { &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mih_0_0 };

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_mih_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_DUMMY,
  ((MR_Box) (parse_tree__file_names____Unify____ext_mih_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_mih_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_mih",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_mih_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_mih_0 },
  (MR_Integer) 1,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_mih_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_gs_0_0 = {
  (MR_String) "ext_misc_gs_used",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_gs_0_1 = {
  (MR_String) "ext_misc_gs_track_flags",
  INT32_C(1)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_misc_gs_0[2] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_gs_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_gs_0_1
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_misc_gs_0[2] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_gs_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_gs_0_0
};

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_misc_gs_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____ext_misc_gs_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_misc_gs_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_misc_gs",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_misc_gs_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_misc_gs_0 },
  (MR_Integer) 2,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_misc_gs_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_ngs_0_0 = {
  (MR_String) "ext_misc_ngs_module_dep",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_ngs_0_1 = {
  (MR_String) "ext_misc_ngs_err_date",
  INT32_C(1)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_ngs_0_2 = {
  (MR_String) "ext_misc_ngs_prof",
  INT32_C(2)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_misc_ngs_0[3] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_ngs_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_ngs_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_ngs_0_2
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_misc_ngs_0[3] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_ngs_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_ngs_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_misc_ngs_0_2
};

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_misc_ngs_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____ext_misc_ngs_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_misc_ngs_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_misc_ngs",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_misc_ngs_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_misc_ngs_0 },
  (MR_Integer) 3,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_misc_ngs_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_fragment_0_0 = {
  (MR_String) "ext_mf_d",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_fragment_0_1 = {
  (MR_String) "ext_mf_dv",
  INT32_C(1)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_fragment_0_2 = {
  (MR_String) "ext_mf_dep",
  INT32_C(2)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_mmake_fragment_0[3] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_fragment_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_fragment_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_fragment_0_2
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_mmake_fragment_0[3] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_fragment_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_fragment_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_fragment_0_1
};

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_mmake_fragment_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____ext_mmake_fragment_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_mmake_fragment_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_mmake_fragment",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_mmake_fragment_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_mmake_fragment_0 },
  (MR_Integer) 3,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_mmake_fragment_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_0 = {
  (MR_String) "ext_mt_all_int3s",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_1 = {
  (MR_String) "ext_mt_all_ints",
  INT32_C(1)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_2 = {
  (MR_String) "ext_mt_all_opts",
  INT32_C(2)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_3 = {
  (MR_String) "ext_mt_all_trans_opts",
  INT32_C(3)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_4 = {
  (MR_String) "ext_mt_check",
  INT32_C(4)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_5 = {
  (MR_String) "ext_mt_classes",
  INT32_C(5)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_6 = {
  (MR_String) "ext_mt_clean",
  INT32_C(6)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_7 = {
  (MR_String) "ext_mt_depend",
  INT32_C(7)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_8 = {
  (MR_String) "ext_mt_install_grade_hdrs",
  INT32_C(8)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_9 = {
  (MR_String) "ext_mt_install_hdrs",
  INT32_C(9)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_10 = {
  (MR_String) "ext_mt_install_ints",
  INT32_C(10)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_11 = {
  (MR_String) "ext_mt_install_opts",
  INT32_C(11)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_12 = {
  (MR_String) "ext_mt_int3s",
  INT32_C(12)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_13 = {
  (MR_String) "ext_mt_ints",
  INT32_C(13)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_14 = {
  (MR_String) "ext_mt_javas",
  INT32_C(14)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_15 = {
  (MR_String) "ext_mt_opts",
  INT32_C(15)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_16 = {
  (MR_String) "ext_mt_realclean",
  INT32_C(16)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_17 = {
  (MR_String) "ext_mt_trans_opts",
  INT32_C(17)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_mmake_target_0[18] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_3,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_4,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_5,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_6,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_7,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_8,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_9,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_10,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_11,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_12,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_13,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_14,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_15,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_16,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_17
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_mmake_target_0[18] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_3,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_4,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_5,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_6,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_7,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_8,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_9,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_10,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_11,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_12,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_13,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_14,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_15,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_16,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_mmake_target_0_17
};

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_mmake_target_0[18] = {
  (MR_Integer) 0,
  (MR_Integer) 1,
  (MR_Integer) 2,
  (MR_Integer) 3,
  (MR_Integer) 4,
  (MR_Integer) 5,
  (MR_Integer) 6,
  (MR_Integer) 7,
  (MR_Integer) 8,
  (MR_Integer) 9,
  (MR_Integer) 10,
  (MR_Integer) 11,
  (MR_Integer) 12,
  (MR_Integer) 13,
  (MR_Integer) 14,
  (MR_Integer) 15,
  (MR_Integer) 16,
  (MR_Integer) 17
};

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_mmake_target_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____ext_mmake_target_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_mmake_target_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_mmake_target",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_mmake_target_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_mmake_target_0 },
  (MR_Integer) 18,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_mmake_target_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_0 = {
  (MR_String) "ext_obj_dollar_o",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_1 = {
  (MR_String) "ext_obj_dollar_efpo",
  INT32_C(1)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_2 = {
  (MR_String) "ext_obj_o",
  INT32_C(2)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_3 = {
  (MR_String) "ext_obj_pic_o",
  INT32_C(3)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_4 = {
  (MR_String) "ext_obj_obj_opt",
  INT32_C(4)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_5 = {
  (MR_String) "ext_obj_pic_obj_opt",
  INT32_C(5)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_obj_0[6] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_3,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_4,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_5
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_obj_0[6] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_4,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_3,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_obj_0_5
};

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_obj_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____ext_obj_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_obj_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_obj",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_obj_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_obj_0 },
  (MR_Integer) 6,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_obj_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_opt_0_0 = {
  (MR_String) "ext_opt_plain",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_opt_0_1 = {
  (MR_String) "ext_opt_trans",
  INT32_C(1)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_opt_0_2 = {
  (MR_String) "ext_opt_date_plain",
  INT32_C(2)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_opt_0_3 = {
  (MR_String) "ext_opt_date_trans",
  INT32_C(3)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_opt_0[4] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_opt_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_opt_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_opt_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_opt_0_3
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_opt_0[4] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_opt_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_opt_0_3,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_opt_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_opt_0_1
};

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_opt_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____ext_opt_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_opt_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_opt",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_opt_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_opt_0 },
  (MR_Integer) 4,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_opt_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_c_cs_0_0 = {
  (MR_String) "ext_target_c",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_c_cs_0_1 = {
  (MR_String) "ext_target_cs",
  INT32_C(1)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_target_c_cs_0[2] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_c_cs_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_c_cs_0_1
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_target_c_cs_0[2] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_c_cs_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_c_cs_0_1
};

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_target_c_cs_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____ext_target_c_cs_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_target_c_cs_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_target_c_cs",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_target_c_cs_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_target_c_cs_0 },
  (MR_Integer) 2,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_target_c_cs_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_date_0_0 = {
  (MR_String) "ext_target_date_c",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_date_0_1 = {
  (MR_String) "ext_target_date_cs",
  INT32_C(1)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_date_0_2 = {
  (MR_String) "ext_target_date_java",
  INT32_C(2)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_target_date_0[3] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_date_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_date_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_date_0_2
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_target_date_0[3] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_date_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_date_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_date_0_2
};

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_target_date_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____ext_target_date_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_target_date_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_target_date",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_target_date_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_target_date_0 },
  (MR_Integer) 3,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_target_date_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_java_0_0 = {
  (MR_String) "ext_target_java_java",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_java_0_1 = {
  (MR_String) "ext_target_java_class",
  INT32_C(1)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_target_java_0[2] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_java_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_java_0_1
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_target_java_0[2] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_java_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_target_java_0_0
};

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_target_java_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____ext_target_java_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_target_java_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_target_java",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_target_java_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_target_java_0 },
  (MR_Integer) 2,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_target_java_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_0 = {
  (MR_String) "ext_user_depgraph",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_1 = {
  (MR_String) "ext_user_err",
  INT32_C(1)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_2 = {
  (MR_String) "ext_user_hlds_dump",
  INT32_C(2)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_3 = {
  (MR_String) "ext_user_mlds_dump",
  INT32_C(3)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_4 = {
  (MR_String) "ext_user_order",
  INT32_C(4)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_5 = {
  (MR_String) "ext_user_ugly",
  INT32_C(5)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_user_0[6] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_3,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_4,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_5
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_user_0[6] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_3,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_4,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_0_5
};

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_user_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____ext_user_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_user_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_user",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_user_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_user_0 },
  (MR_Integer) 6,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_user_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_0 = {
  (MR_String) "ext_user_ngs_defn_ext",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_1 = {
  (MR_String) "ext_user_ngs_defn_lc",
  INT32_C(1)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_2 = {
  (MR_String) "ext_user_ngs_defns",
  INT32_C(2)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_3 = {
  (MR_String) "ext_user_ngs_imports_graph",
  INT32_C(3)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_4 = {
  (MR_String) "ext_user_ngs_lct",
  INT32_C(4)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_5 = {
  (MR_String) "ext_user_ngs_lct_order",
  INT32_C(5)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_6 = {
  (MR_String) "ext_user_ngs_mode_constr",
  INT32_C(6)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_7 = {
  (MR_String) "ext_user_ngs_order_to",
  INT32_C(7)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_8 = {
  (MR_String) "ext_user_ngs_type_repns",
  INT32_C(8)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_9 = {
  (MR_String) "ext_user_ngs_xml",
  INT32_C(9)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_user_ngs_0[10] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_3,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_4,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_5,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_6,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_7,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_8,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_9
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_user_ngs_0[10] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_2,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_3,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_4,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_5,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_6,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_7,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_8,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_ext_user_ngs_0_9
};

static const MR_Integer parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_user_ngs_0[10] = {
  (MR_Integer) 0,
  (MR_Integer) 1,
  (MR_Integer) 2,
  (MR_Integer) 3,
  (MR_Integer) 4,
  (MR_Integer) 5,
  (MR_Integer) 6,
  (MR_Integer) 7,
  (MR_Integer) 8,
  (MR_Integer) 9
};

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_user_ngs_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____ext_user_ngs_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____ext_user_ngs_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "ext_user_ngs",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_ext_user_ngs_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_ext_user_ngs_0 },
  (MR_Integer) 10,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_ext_user_ngs_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_maybe_create_dirs_0_0 = {
  (MR_String) "do_create_dirs",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_maybe_create_dirs_0_1 = {
  (MR_String) "do_not_create_dirs",
  INT32_C(1)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_maybe_create_dirs_0[2] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_maybe_create_dirs_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_maybe_create_dirs_0_1
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_maybe_create_dirs_0[2] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_maybe_create_dirs_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_maybe_create_dirs_0_1
};

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_maybe_create_dirs_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____maybe_create_dirs_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____maybe_create_dirs_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "maybe_create_dirs",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_maybe_create_dirs_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_maybe_create_dirs_0 },
  (MR_Integer) 2,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_maybe_create_dirs_0,

};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_maybe_search_0_0 = {
  (MR_String) "do_search",
  INT32_C(0)
};

static const MR_EnumFunctorDesc parse_tree__file_names__parse_tree__file_names__enum_functor_desc_maybe_search_0_1 = {
  (MR_String) "do_not_search",
  INT32_C(1)
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_maybe_search_0[2] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_maybe_search_0_0,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_maybe_search_0_1
};

static const MR_EnumFunctorDescPtr parse_tree__file_names__parse_tree__file_names__enum_name_ordered_maybe_search_0[2] = {
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_maybe_search_0_1,
  &parse_tree__file_names__parse_tree__file_names__enum_functor_desc_maybe_search_0_0
};

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_maybe_search_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (parse_tree__file_names____Unify____maybe_search_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____maybe_search_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "maybe_search",
  { parse_tree__file_names__parse_tree__file_names__enum_name_ordered_maybe_search_0 },
  { parse_tree__file_names__parse_tree__file_names__enum_ordinal_ordered_maybe_search_0 },
  (MR_Integer) 2,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_maybe_search_0,

};

static const MR_FA_TypeInfo_Struct1 parse_tree__file_names__maybe__ti_maybe_1parse_tree__file_names__type_ctor_info_maybe_create_dirs_0 = {
  &mercury__maybe__maybe__type_ctor_info_maybe_1,
  { (MR_TypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_maybe_create_dirs_0) }
};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_record_key_0_0[4] = {
  (MR_PseudoTypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
  (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_0),
  (MR_PseudoTypeInfo) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_maybe_search_0),
  (MR_PseudoTypeInfo) (&parse_tree__file_names__maybe__ti_maybe_1parse_tree__file_names__type_ctor_info_maybe_create_dirs_0)
};

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

static const MR_DuFunctorDesc parse_tree__file_names__parse_tree__file_names__du_functor_desc_record_key_0_0 = {
  (MR_String) "record_key",
  INT16_C(4),
  UINT16_C(0),
  MR_SECTAG_NONE,
  UINT8_C(0),
  (MR_Integer) -1,
  INT32_C(0),
  parse_tree__file_names__parse_tree__file_names__field_types_record_key_0_0,
  NULL,
  parse_tree__file_names__parse_tree__file_names__field_locns_record_key_0_0,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_stag_ordered_record_key_0_0[1] = { &parse_tree__file_names__parse_tree__file_names__du_functor_desc_record_key_0_0 };

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

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_name_ordered_record_key_0[1] = { &parse_tree__file_names__parse_tree__file_names__du_functor_desc_record_key_0_0 };

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_record_key_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(1),
  MR_TYPECTOR_REP_DU,
  ((MR_Box) (parse_tree__file_names____Unify____record_key_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____record_key_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "record_key",
  { parse_tree__file_names__parse_tree__file_names__du_name_ordered_record_key_0 },
  { parse_tree__file_names__parse_tree__file_names__du_ptag_ordered_record_key_0 },
  (MR_Integer) 1,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_record_key_0,

};

static const MR_PseudoTypeInfo parse_tree__file_names__parse_tree__file_names__field_types_record_value_0_0[2] = {
  (MR_PseudoTypeInfo) (&mercury__builtin__builtin__type_ctor_info_string_0),
  (MR_PseudoTypeInfo) (&mercury__builtin__builtin__type_ctor_info_int_0)
};

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

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_stag_ordered_record_value_0_0[1] = { &parse_tree__file_names__parse_tree__file_names__du_functor_desc_record_value_0_0 };

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

static const MR_DuFunctorDescPtr parse_tree__file_names__parse_tree__file_names__du_name_ordered_record_value_0[1] = { &parse_tree__file_names__parse_tree__file_names__du_functor_desc_record_value_0_0 };

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

const MR_TypeCtorInfo_Struct parse_tree__file_names__parse_tree__file_names__type_ctor_info_record_value_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(1),
  MR_TYPECTOR_REP_DU,
  ((MR_Box) (parse_tree__file_names____Unify____record_value_0_0_10001)),
  ((MR_Box) (parse_tree__file_names____Compare____record_value_0_0_10001)),
  (MR_String) "parse_tree.file_names",
  (MR_String) "record_value",
  { parse_tree__file_names__parse_tree__file_names__du_name_ordered_record_value_0 },
  { parse_tree__file_names__parse_tree__file_names__du_ptag_ordered_record_value_0 },
  (MR_Integer) 1,
  UINT16_C(12),
  parse_tree__file_names__parse_tree__file_names__functor_number_map_record_value_0,

};

static void MR_CALL 
parse_tree__file_names____Compare____record_value_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_String ArgX1_4 = ((MR_String) ((MR_hl_field(0, HeadVar__2_2, (MR_Integer) 0))));
    MR_String ArgY1_5 = ((MR_String) ((MR_hl_field(0, HeadVar__3_3, (MR_Integer) 0))));
    MR_Integer ArgX2_7 = ((MR_Integer) ((MR_hl_field(0, HeadVar__2_2, (MR_Integer) 1))));
    MR_Integer ArgY2_8 = ((MR_Integer) ((MR_hl_field(0, HeadVar__3_3, (MR_Integer) 1))));
    MR_Word SubResult1_6;

    mercury__private_builtin__builtin_compare_string_3_p_0(&SubResult1_6, ArgX1_4, ArgY1_5);
    succeeded = (SubResult1_6 != (MR_Integer) 0);
    if (succeeded)
      *HeadVar__1_1 = SubResult1_6;
    else
    {
      succeeded = (ArgX2_7 < ArgY2_8);
      if (succeeded)
        *HeadVar__1_1 = (MR_Integer) 1;
      else
      {
        succeeded = (ArgX2_7 > ArgY2_8);
        if (succeeded)
          *HeadVar__1_1 = (MR_Integer) 2;
        else
          *HeadVar__1_1 = (MR_Integer) 0;
      }
    }
  }
}

static MR_bool MR_CALL 
parse_tree__file_names____Unify____record_value_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_String ArgX1_3 = ((MR_String) ((MR_hl_field(0, HeadVar__1_1, (MR_Integer) 0))));
    MR_String ArgY1_4 = ((MR_String) ((MR_hl_field(0, HeadVar__2_2, (MR_Integer) 0))));
    MR_Integer ArgX2_5 = ((MR_Integer) ((MR_hl_field(0, HeadVar__1_1, (MR_Integer) 1))));
    MR_Integer ArgY2_6 = ((MR_Integer) ((MR_hl_field(0, HeadVar__2_2, (MR_Integer) 1))));

    succeeded = (strcmp(ArgX1_3, ArgY1_4) == 0);
    if (succeeded)
      succeeded = (ArgX2_5 == ArgY2_6);
  }
  return succeeded;
}

static void MR_CALL 
parse_tree__file_names____Compare____record_key_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer CastX_15 = (MR_Integer) (HeadVar__2_2);
  MR_Integer CastY_16 = (MR_Integer) (HeadVar__3_3);

  succeeded = (CastX_15 == CastY_16);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 0;
  else
  {
    MR_Word ArgX1_4 = ((MR_Word) ((MR_hl_field(0, HeadVar__2_2, (MR_Integer) 0))));
    MR_Word ArgY1_5 = ((MR_Word) ((MR_hl_field(0, HeadVar__3_3, (MR_Integer) 0))));
    MR_Word ArgX2_7 = ((MR_Word) ((MR_hl_field(0, HeadVar__2_2, (MR_Integer) 1))));
    MR_Word ArgY2_8 = ((MR_Word) ((MR_hl_field(0, HeadVar__3_3, (MR_Integer) 1))));
    MR_Word ArgX3_10 = ((MR_Unsigned) ((MR_hl_field(0, HeadVar__2_2, (MR_Integer) 2))) & (MR_Integer) 1);
    MR_Word ArgY3_11 = ((MR_Unsigned) ((MR_hl_field(0, HeadVar__3_3, (MR_Integer) 2))) & (MR_Integer) 1);
    MR_Word ArgX4_13 = ((MR_Word) ((MR_hl_field(0, HeadVar__2_2, (MR_Integer) 3))));
    MR_Word ArgY4_14 = ((MR_Word) ((MR_hl_field(0, HeadVar__3_3, (MR_Integer) 3))));
    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__file_names____Compare____ext_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;
        MR_Integer Var_21 = (MR_Integer) (ArgX3_10);
        MR_Integer Var_22 = (MR_Integer) (ArgY3_11);

        succeeded = (Var_21 < Var_22);
        if (succeeded)
        {
          SubResult3_12 = (MR_Integer) 1;
          succeeded = MR_TRUE;
        }
        else
        {
          succeeded = (Var_21 > Var_22);
          if (succeeded)
          {
            SubResult3_12 = (MR_Integer) 2;
            succeeded = MR_TRUE;
          }
          else
          {
            succeeded = MR_TRUE;
            succeeded = !(succeeded);
            if (succeeded)
            {
              SubResult3_12 = (MR_Integer) 0;
              succeeded = MR_TRUE;
            }
          }
        }
        if (succeeded)
          *HeadVar__1_1 = SubResult3_12;
        else
          mercury__builtin__compare_3_p_0((MR_Word) (&parse_tree__file_names_scalar_common_2[0]), HeadVar__1_1, ((MR_Box) (ArgX4_13)), ((MR_Box) (ArgY4_14)));
      }
    }
  }
}

static MR_bool MR_CALL 
parse_tree__file_names____Unify____record_key_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded;
  MR_Integer CastX_11 = (MR_Integer) (HeadVar__1_1);
  MR_Integer CastY_12 = (MR_Integer) (HeadVar__2_2);

  succeeded = (CastX_11 == CastY_12);
  if (succeeded)
    succeeded = MR_TRUE;
  else
  {
    MR_Word TypeInfo_14_14;
    MR_Word ArgX1_3 = ((MR_Word) ((MR_hl_field(0, HeadVar__1_1, (MR_Integer) 0))));
    MR_Word ArgY1_4 = ((MR_Word) ((MR_hl_field(0, HeadVar__2_2, (MR_Integer) 0))));
    MR_Word ArgX2_5 = ((MR_Word) ((MR_hl_field(0, HeadVar__1_1, (MR_Integer) 1))));
    MR_Word ArgY2_6 = ((MR_Word) ((MR_hl_field(0, HeadVar__2_2, (MR_Integer) 1))));
    MR_Word ArgX3_7 = ((MR_Unsigned) ((MR_hl_field(0, HeadVar__1_1, (MR_Integer) 2))) & (MR_Integer) 1);
    MR_Word ArgY3_8 = ((MR_Unsigned) ((MR_hl_field(0, HeadVar__2_2, (MR_Integer) 2))) & (MR_Integer) 1);
    MR_Word ArgX4_9 = ((MR_Word) ((MR_hl_field(0, HeadVar__1_1, (MR_Integer) 3))));
    MR_Word ArgY4_10 = ((MR_Word) ((MR_hl_field(0, HeadVar__2_2, (MR_Integer) 3))));

    succeeded = mdbcomp__sym_name____Unify____sym_name_0_0(ArgX1_3, ArgY1_4);
    if (succeeded)
    {
      succeeded = parse_tree__file_names____Unify____ext_0_0(ArgX2_5, ArgY2_6);
      if (succeeded)
      {
        succeeded = (ArgX3_7 == ArgY3_8);
        if (succeeded)
        {
          TypeInfo_14_14 = (MR_Word) (&parse_tree__file_names_scalar_common_2[0]);
          succeeded = mercury__builtin__unify_2_p_0(TypeInfo_14_14, ((MR_Box) (ArgX4_9)), ((MR_Box) (ArgY4_10)));
        }
      }
    }
  }
  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____maybe_search_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____maybe_search_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____maybe_create_dirs_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____maybe_create_dirs_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_user_ngs_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_user_ngs_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_user_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_user_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_target_java_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_target_java_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_target_date_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_target_date_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_target_c_cs_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_target_c_cs_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_opt_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_opt_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_obj_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_obj_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_mmake_target_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_mmake_target_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_mmake_fragment_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_mmake_fragment_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_misc_ngs_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_misc_ngs_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_misc_gs_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_misc_gs_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_mih_0_0(
  MR_Word * HeadVar__1_1)
{
  parse_tree__file_names__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_112_97_114_115_101_95_116_114_101_101_95_95_102_105_108_101_95_110_97_109_101_115_95_95_101_120_116_95_109_105_104_95_48_95_95_91_50_44_32_51_93_95_48_3_p_0(HeadVar__1_1);
}

void MR_CALL 
parse_tree__file_names__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_112_97_114_115_101_95_116_114_101_101_95_95_102_105_108_101_95_110_97_109_101_115_95_95_101_120_116_95_109_105_104_95_48_95_95_91_50_44_32_51_93_95_48_3_p_0(
  MR_Word * HeadVar__1_1)
{
  *HeadVar__1_1 = (MR_Integer) 0;
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_mih_0_0(void)
{
  return MR_TRUE;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_mh_0_0(
  MR_Word * HeadVar__1_1)
{
  parse_tree__file_names__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_112_97_114_115_101_95_116_114_101_101_95_95_102_105_108_101_95_110_97_109_101_115_95_95_101_120_116_95_109_104_95_48_95_95_91_50_44_32_51_93_95_48_3_p_0(HeadVar__1_1);
}

void MR_CALL 
parse_tree__file_names__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_112_97_114_115_101_95_116_114_101_101_95_95_102_105_108_101_95_110_97_109_101_115_95_95_101_120_116_95_109_104_95_48_95_95_91_50_44_32_51_93_95_48_3_p_0(
  MR_Word * HeadVar__1_1)
{
  *HeadVar__1_1 = (MR_Integer) 0;
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_mh_0_0(void)
{
  return MR_TRUE;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_lib_gs_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_lib_gs_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_lib_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_lib_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_int_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_int_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_init_obj_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_init_obj_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_init_c_0_0(
  MR_Word * HeadVar__1_1)
{
  parse_tree__file_names__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_112_97_114_115_101_95_116_114_101_101_95_95_102_105_108_101_95_110_97_109_101_115_95_95_101_120_116_95_105_110_105_116_95_99_95_48_95_95_91_50_44_32_51_93_95_48_3_p_0(HeadVar__1_1);
}

void MR_CALL 
parse_tree__file_names__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_112_97_114_115_101_95_116_114_101_101_95_95_102_105_108_101_95_110_97_109_101_115_95_95_101_120_116_95_105_110_105_116_95_99_95_48_95_95_91_50_44_32_51_93_95_48_3_p_0(
  MR_Word * HeadVar__1_1)
{
  *HeadVar__1_1 = (MR_Integer) 0;
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_init_c_0_0(void)
{
  return MR_TRUE;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_exec_gs_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_exec_gs_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_exec_0_0(
  MR_Word * HeadVar__1_1)
{
  parse_tree__file_names__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_112_97_114_115_101_95_116_114_101_101_95_95_102_105_108_101_95_110_97_109_101_115_95_95_101_120_116_95_101_120_101_99_95_48_95_95_91_50_44_32_51_93_95_48_3_p_0(HeadVar__1_1);
}

void MR_CALL 
parse_tree__file_names__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_112_97_114_115_101_95_116_114_101_101_95_95_102_105_108_101_95_110_97_109_101_115_95_95_101_120_116_95_101_120_101_99_95_48_95_95_91_50_44_32_51_93_95_48_3_p_0(
  MR_Word * HeadVar__1_1)
{
  *HeadVar__1_1 = (MR_Integer) 0;
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_exec_0_0(void)
{
  return MR_TRUE;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_bytecode_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_bytecode_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_analysis_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer Cast_HeadVar1_4 = (MR_Integer) (HeadVar__2_2);
  MR_Integer Cast_HeadVar2_5 = (MR_Integer) (HeadVar__3_3);

  succeeded = (Cast_HeadVar1_4 < Cast_HeadVar2_5);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 1;
  else
  {
    succeeded = (Cast_HeadVar1_4 > Cast_HeadVar2_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 2;
    else
      *HeadVar__1_1 = (MR_Integer) 0;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_analysis_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded = (HeadVar__1_1 == HeadVar__2_2);

  return succeeded;
}

void MR_CALL 
parse_tree__file_names____Compare____ext_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  MR_bool succeeded;
  MR_Integer CastX_51 = (MR_Integer) (HeadVar__2_2);
  MR_Integer CastY_52 = (MR_Integer) (HeadVar__3_3);

  succeeded = (CastX_51 == CastY_52);
  if (succeeded)
    *HeadVar__1_1 = (MR_Integer) 0;
  else
  {
    MR_Integer IndexX_4;
    MR_Integer IndexY_5;

    parse_tree__file_names____Index____ext_0_0(HeadVar__2_2, &IndexX_4);
    parse_tree__file_names____Index____ext_0_0(HeadVar__3_3, &IndexY_5);
    succeeded = (IndexX_4 < IndexY_5);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 1;
    else
    {
      succeeded = (IndexX_4 > IndexY_5);
      if (succeeded)
        *HeadVar__1_1 = (MR_Integer) 2;
      else
      {
        MR_Word CompareResult_6;

        switch (MR_tag((MR_Word) HeadVar__2_2)) {
          default: /*NOTREACHED*/ MR_assert(0);
          case (MR_Integer) 0:
            {
              MR_Word ArgX1_7 = ((MR_Unsigned) ((MR_hl_field(0, HeadVar__2_2, (MR_Integer) 0))) & (MR_Integer) 7);
              MR_Word ArgY1_8;
              MR_Integer Var_77;
              MR_Integer Var_78;

              succeeded = ((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 0);
              if (succeeded)
              {
                ArgY1_8 = ((MR_Unsigned) ((MR_hl_field(0, HeadVar__3_3, (MR_Integer) 0))) & (MR_Integer) 7);
                Var_77 = (MR_Integer) (ArgX1_7);
                Var_78 = (MR_Integer) (ArgY1_8);
                succeeded = (Var_77 < Var_78);
                if (succeeded)
                  CompareResult_6 = (MR_Integer) 1;
                else
                {
                  succeeded = (Var_77 > Var_78);
                  if (succeeded)
                    CompareResult_6 = (MR_Integer) 2;
                  else
                    CompareResult_6 = (MR_Integer) 0;
                }
                succeeded = MR_TRUE;
              }
            }
            break;
          case (MR_Integer) 1:
            {
              MR_Word ArgX1_9 = ((MR_Unsigned) ((MR_hl_field(1, HeadVar__2_2, (MR_Integer) 0))) & (MR_Integer) 3);
              MR_Word ArgY1_10;
              MR_Integer Var_91;
              MR_Integer Var_92;

              succeeded = ((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 1);
              if (succeeded)
              {
                ArgY1_10 = ((MR_Unsigned) ((MR_hl_field(1, HeadVar__3_3, (MR_Integer) 0))) & (MR_Integer) 3);
                Var_91 = (MR_Integer) (ArgX1_9);
                Var_92 = (MR_Integer) (ArgY1_10);
                succeeded = (Var_91 < Var_92);
                if (succeeded)
                  CompareResult_6 = (MR_Integer) 1;
                else
                {
                  succeeded = (Var_91 > Var_92);
                  if (succeeded)
                    CompareResult_6 = (MR_Integer) 2;
                  else
                    CompareResult_6 = (MR_Integer) 0;
                }
                succeeded = MR_TRUE;
              }
            }
            break;
          case (MR_Integer) 2:
            {
              succeeded = ((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 2);
              if (succeeded)
              {
                CompareResult_6 = (MR_Integer) 0;
                succeeded = MR_TRUE;
              }
            }
            break;
          case (MR_Integer) 3:
            switch (((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0))))) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                {
                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 0)));
                  if (succeeded)
                  {
                    CompareResult_6 = (MR_Integer) 0;
                    succeeded = MR_TRUE;
                  }
                }
                break;
              case (MR_Integer) 1:
                {
                  MR_Word ArgX1_15 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 1);
                  MR_Word ArgY1_16;
                  MR_Integer Var_93;
                  MR_Integer Var_94;

                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1)));
                  if (succeeded)
                  {
                    ArgY1_16 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 1))) & (MR_Integer) 1);
                    Var_93 = (MR_Integer) (ArgX1_15);
                    Var_94 = (MR_Integer) (ArgY1_16);
                    succeeded = (Var_93 < Var_94);
                    if (succeeded)
                      CompareResult_6 = (MR_Integer) 1;
                    else
                    {
                      succeeded = (Var_93 > Var_94);
                      if (succeeded)
                        CompareResult_6 = (MR_Integer) 2;
                      else
                        CompareResult_6 = (MR_Integer) 0;
                    }
                    succeeded = MR_TRUE;
                  }
                }
                break;
              case (MR_Integer) 2:
                {
                  MR_Word ArgX1_17 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 1);
                  MR_Word ArgY1_18;
                  MR_Integer Var_99;
                  MR_Integer Var_100;

                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 2)));
                  if (succeeded)
                  {
                    ArgY1_18 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 1))) & (MR_Integer) 1);
                    Var_99 = (MR_Integer) (ArgX1_17);
                    Var_100 = (MR_Integer) (ArgY1_18);
                    succeeded = (Var_99 < Var_100);
                    if (succeeded)
                      CompareResult_6 = (MR_Integer) 1;
                    else
                    {
                      succeeded = (Var_99 > Var_100);
                      if (succeeded)
                        CompareResult_6 = (MR_Integer) 2;
                      else
                        CompareResult_6 = (MR_Integer) 0;
                    }
                    succeeded = MR_TRUE;
                  }
                }
                break;
              case (MR_Integer) 3:
                {
                  MR_Word ArgX1_19 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 3);
                  MR_Word ArgY1_20;
                  MR_Integer Var_95;
                  MR_Integer Var_96;

                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 3)));
                  if (succeeded)
                  {
                    ArgY1_20 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 1))) & (MR_Integer) 3);
                    Var_95 = (MR_Integer) (ArgX1_19);
                    Var_96 = (MR_Integer) (ArgY1_20);
                    succeeded = (Var_95 < Var_96);
                    if (succeeded)
                      CompareResult_6 = (MR_Integer) 1;
                    else
                    {
                      succeeded = (Var_95 > Var_96);
                      if (succeeded)
                        CompareResult_6 = (MR_Integer) 2;
                      else
                        CompareResult_6 = (MR_Integer) 0;
                    }
                    succeeded = MR_TRUE;
                  }
                }
                break;
              case (MR_Integer) 4:
                {
                  MR_Word ArgX1_21 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 7);
                  MR_Word ArgY1_22;
                  MR_Integer Var_101;
                  MR_Integer Var_102;

                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 4)));
                  if (succeeded)
                  {
                    ArgY1_22 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 1))) & (MR_Integer) 7);
                    Var_101 = (MR_Integer) (ArgX1_21);
                    Var_102 = (MR_Integer) (ArgY1_22);
                    succeeded = (Var_101 < Var_102);
                    if (succeeded)
                      CompareResult_6 = (MR_Integer) 1;
                    else
                    {
                      succeeded = (Var_101 > Var_102);
                      if (succeeded)
                        CompareResult_6 = (MR_Integer) 2;
                      else
                        CompareResult_6 = (MR_Integer) 0;
                    }
                    succeeded = MR_TRUE;
                  }
                }
                break;
              case (MR_Integer) 5:
                {
                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 5)));
                  if (succeeded)
                  {
                    CompareResult_6 = (MR_Integer) 0;
                    succeeded = MR_TRUE;
                  }
                }
                break;
              case (MR_Integer) 6:
                {
                  MR_Word ArgX1_25 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 7);
                  MR_Word ArgY1_26;
                  MR_Integer Var_97;
                  MR_Integer Var_98;

                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 6)));
                  if (succeeded)
                  {
                    ArgY1_26 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 1))) & (MR_Integer) 7);
                    Var_97 = (MR_Integer) (ArgX1_25);
                    Var_98 = (MR_Integer) (ArgY1_26);
                    succeeded = (Var_97 < Var_98);
                    if (succeeded)
                      CompareResult_6 = (MR_Integer) 1;
                    else
                    {
                      succeeded = (Var_97 > Var_98);
                      if (succeeded)
                        CompareResult_6 = (MR_Integer) 2;
                      else
                        CompareResult_6 = (MR_Integer) 0;
                    }
                    succeeded = MR_TRUE;
                  }
                }
                break;
              case (MR_Integer) 7:
                {
                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 7)));
                  if (succeeded)
                  {
                    CompareResult_6 = (MR_Integer) 0;
                    succeeded = MR_TRUE;
                  }
                }
                break;
              case (MR_Integer) 8:
                {
                  MR_Word ArgX1_29 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 3);
                  MR_Word ArgY1_30;
                  MR_Integer Var_75;
                  MR_Integer Var_76;

                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 8)));
                  if (succeeded)
                  {
                    ArgY1_30 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 1))) & (MR_Integer) 3);
                    Var_75 = (MR_Integer) (ArgX1_29);
                    Var_76 = (MR_Integer) (ArgY1_30);
                    succeeded = (Var_75 < Var_76);
                    if (succeeded)
                      CompareResult_6 = (MR_Integer) 1;
                    else
                    {
                      succeeded = (Var_75 > Var_76);
                      if (succeeded)
                        CompareResult_6 = (MR_Integer) 2;
                      else
                        CompareResult_6 = (MR_Integer) 0;
                    }
                    succeeded = MR_TRUE;
                  }
                }
                break;
              case (MR_Integer) 9:
                {
                  MR_Word ArgX1_31 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 3);
                  MR_Word ArgY1_32;
                  MR_Integer Var_79;
                  MR_Integer Var_80;

                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 9)));
                  if (succeeded)
                  {
                    ArgY1_32 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 1))) & (MR_Integer) 3);
                    Var_79 = (MR_Integer) (ArgX1_31);
                    Var_80 = (MR_Integer) (ArgY1_32);
                    succeeded = (Var_79 < Var_80);
                    if (succeeded)
                      CompareResult_6 = (MR_Integer) 1;
                    else
                    {
                      succeeded = (Var_79 > Var_80);
                      if (succeeded)
                        CompareResult_6 = (MR_Integer) 2;
                      else
                        CompareResult_6 = (MR_Integer) 0;
                    }
                    succeeded = MR_TRUE;
                  }
                }
                break;
              case (MR_Integer) 10:
                {
                  MR_Word ArgX1_33 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 7);
                  MR_Word ArgY1_34;
                  MR_Integer Var_81;
                  MR_Integer Var_82;

                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 10)));
                  if (succeeded)
                  {
                    ArgY1_34 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 1))) & (MR_Integer) 7);
                    Var_81 = (MR_Integer) (ArgX1_33);
                    Var_82 = (MR_Integer) (ArgY1_34);
                    succeeded = (Var_81 < Var_82);
                    if (succeeded)
                      CompareResult_6 = (MR_Integer) 1;
                    else
                    {
                      succeeded = (Var_81 > Var_82);
                      if (succeeded)
                        CompareResult_6 = (MR_Integer) 2;
                      else
                        CompareResult_6 = (MR_Integer) 0;
                    }
                    succeeded = MR_TRUE;
                  }
                }
                break;
              case (MR_Integer) 11:
                {
                  MR_Word ArgX1_35 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 3);
                  MR_Word ArgY1_36;
                  MR_Integer Var_87;
                  MR_Integer Var_88;

                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 11)));
                  if (succeeded)
                  {
                    ArgY1_36 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 1))) & (MR_Integer) 3);
                    Var_87 = (MR_Integer) (ArgX1_35);
                    Var_88 = (MR_Integer) (ArgY1_36);
                    succeeded = (Var_87 < Var_88);
                    if (succeeded)
                      CompareResult_6 = (MR_Integer) 1;
                    else
                    {
                      succeeded = (Var_87 > Var_88);
                      if (succeeded)
                        CompareResult_6 = (MR_Integer) 2;
                      else
                        CompareResult_6 = (MR_Integer) 0;
                    }
                    succeeded = MR_TRUE;
                  }
                }
                break;
              case (MR_Integer) 12:
                {
                  MR_Word ArgX1_37 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 31);
                  MR_Word ArgY1_38;
                  MR_Integer Var_89;
                  MR_Integer Var_90;

                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 12)));
                  if (succeeded)
                  {
                    ArgY1_38 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 1))) & (MR_Integer) 31);
                    Var_89 = (MR_Integer) (ArgX1_37);
                    Var_90 = (MR_Integer) (ArgY1_38);
                    succeeded = (Var_89 < Var_90);
                    if (succeeded)
                      CompareResult_6 = (MR_Integer) 1;
                    else
                    {
                      succeeded = (Var_89 > Var_90);
                      if (succeeded)
                        CompareResult_6 = (MR_Integer) 2;
                      else
                        CompareResult_6 = (MR_Integer) 0;
                    }
                    succeeded = MR_TRUE;
                  }
                }
                break;
              case (MR_Integer) 13:
                {
                  MR_Word ArgX1_39 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 7);
                  MR_Word ArgY1_40;
                  MR_Integer Var_103;
                  MR_Integer Var_104;

                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 13)));
                  if (succeeded)
                  {
                    ArgY1_40 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 1))) & (MR_Integer) 7);
                    Var_103 = (MR_Integer) (ArgX1_39);
                    Var_104 = (MR_Integer) (ArgY1_40);
                    succeeded = (Var_103 < Var_104);
                    if (succeeded)
                      CompareResult_6 = (MR_Integer) 1;
                    else
                    {
                      succeeded = (Var_103 > Var_104);
                      if (succeeded)
                        CompareResult_6 = (MR_Integer) 2;
                      else
                        CompareResult_6 = (MR_Integer) 0;
                    }
                    succeeded = MR_TRUE;
                  }
                }
                break;
              case (MR_Integer) 14:
                {
                  MR_Word ArgX1_41 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 15);
                  MR_Word ArgY1_42;
                  MR_Integer Var_105;
                  MR_Integer Var_106;

                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 14)));
                  if (succeeded)
                  {
                    ArgY1_42 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 1))) & (MR_Integer) 15);
                    Var_105 = (MR_Integer) (ArgX1_41);
                    Var_106 = (MR_Integer) (ArgY1_42);
                    succeeded = (Var_105 < Var_106);
                    if (succeeded)
                      CompareResult_6 = (MR_Integer) 1;
                    else
                    {
                      succeeded = (Var_105 > Var_106);
                      if (succeeded)
                        CompareResult_6 = (MR_Integer) 2;
                      else
                        CompareResult_6 = (MR_Integer) 0;
                    }
                    succeeded = MR_TRUE;
                  }
                }
                break;
              case (MR_Integer) 15:
                {
                  MR_Word ArgX1_43 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 7);
                  MR_Word ArgY1_44;
                  MR_Integer Var_71;
                  MR_Integer Var_72;

                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 15)));
                  if (succeeded)
                  {
                    ArgY1_44 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 1))) & (MR_Integer) 7);
                    Var_71 = (MR_Integer) (ArgX1_43);
                    Var_72 = (MR_Integer) (ArgY1_44);
                    succeeded = (Var_71 < Var_72);
                    if (succeeded)
                      CompareResult_6 = (MR_Integer) 1;
                    else
                    {
                      succeeded = (Var_71 > Var_72);
                      if (succeeded)
                        CompareResult_6 = (MR_Integer) 2;
                      else
                        CompareResult_6 = (MR_Integer) 0;
                    }
                    succeeded = MR_TRUE;
                  }
                }
                break;
              case (MR_Integer) 16:
                {
                  MR_Word ArgX1_45 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 1);
                  MR_Word ArgY1_46;
                  MR_Integer Var_73;
                  MR_Integer Var_74;

                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 16)));
                  if (succeeded)
                  {
                    ArgY1_46 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 1))) & (MR_Integer) 1);
                    Var_73 = (MR_Integer) (ArgX1_45);
                    Var_74 = (MR_Integer) (ArgY1_46);
                    succeeded = (Var_73 < Var_74);
                    if (succeeded)
                      CompareResult_6 = (MR_Integer) 1;
                    else
                    {
                      succeeded = (Var_73 > Var_74);
                      if (succeeded)
                        CompareResult_6 = (MR_Integer) 2;
                      else
                        CompareResult_6 = (MR_Integer) 0;
                    }
                    succeeded = MR_TRUE;
                  }
                }
                break;
              case (MR_Integer) 17:
                {
                  MR_Word ArgX1_47 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 3);
                  MR_Word ArgY1_48;
                  MR_Integer Var_85;
                  MR_Integer Var_86;

                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 17)));
                  if (succeeded)
                  {
                    ArgY1_48 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 1))) & (MR_Integer) 3);
                    Var_85 = (MR_Integer) (ArgX1_47);
                    Var_86 = (MR_Integer) (ArgY1_48);
                    succeeded = (Var_85 < Var_86);
                    if (succeeded)
                      CompareResult_6 = (MR_Integer) 1;
                    else
                    {
                      succeeded = (Var_85 > Var_86);
                      if (succeeded)
                        CompareResult_6 = (MR_Integer) 2;
                      else
                        CompareResult_6 = (MR_Integer) 0;
                    }
                    succeeded = MR_TRUE;
                  }
                }
                break;
              case (MR_Integer) 18:
                {
                  MR_Word ArgX1_49 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 1);
                  MR_Word ArgY1_50;
                  MR_Integer Var_83;
                  MR_Integer Var_84;

                  succeeded = ((((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 18)));
                  if (succeeded)
                  {
                    ArgY1_50 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__3_3, (MR_Integer) 1))) & (MR_Integer) 1);
                    Var_83 = (MR_Integer) (ArgX1_49);
                    Var_84 = (MR_Integer) (ArgY1_50);
                    succeeded = (Var_83 < Var_84);
                    if (succeeded)
                      CompareResult_6 = (MR_Integer) 1;
                    else
                    {
                      succeeded = (Var_83 > Var_84);
                      if (succeeded)
                        CompareResult_6 = (MR_Integer) 2;
                      else
                        CompareResult_6 = (MR_Integer) 0;
                    }
                    succeeded = MR_TRUE;
                  }
                }
                break;
            }
            break;
        }
        if (succeeded)
          *HeadVar__1_1 = CompareResult_6;
        else
          {
            mercury__private_builtin__compare_error_0_p_0();
            return;
          }
      }
    }
  }
}

void MR_CALL 
parse_tree__file_names____Index____ext_0_0(
  MR_Word HeadVar__1_1,
  MR_Integer * HeadVar__2_2)
{
  switch (MR_tag((MR_Word) HeadVar__1_1)) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 0:
      *HeadVar__2_2 = (MR_Integer) 0;
      break;
    case (MR_Integer) 1:
      *HeadVar__2_2 = (MR_Integer) 1;
      break;
    case (MR_Integer) 2:
      *HeadVar__2_2 = (MR_Integer) 2;
      break;
    case (MR_Integer) 3:
      switch (((MR_Integer) ((MR_hl_field(3, HeadVar__1_1, (MR_Integer) 0))))) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          *HeadVar__2_2 = (MR_Integer) 3;
          break;
        case (MR_Integer) 1:
          *HeadVar__2_2 = (MR_Integer) 4;
          break;
        case (MR_Integer) 2:
          *HeadVar__2_2 = (MR_Integer) 5;
          break;
        case (MR_Integer) 3:
          *HeadVar__2_2 = (MR_Integer) 6;
          break;
        case (MR_Integer) 4:
          *HeadVar__2_2 = (MR_Integer) 7;
          break;
        case (MR_Integer) 5:
          *HeadVar__2_2 = (MR_Integer) 8;
          break;
        case (MR_Integer) 6:
          *HeadVar__2_2 = (MR_Integer) 9;
          break;
        case (MR_Integer) 7:
          *HeadVar__2_2 = (MR_Integer) 10;
          break;
        case (MR_Integer) 8:
          *HeadVar__2_2 = (MR_Integer) 11;
          break;
        case (MR_Integer) 9:
          *HeadVar__2_2 = (MR_Integer) 12;
          break;
        case (MR_Integer) 10:
          *HeadVar__2_2 = (MR_Integer) 13;
          break;
        case (MR_Integer) 11:
          *HeadVar__2_2 = (MR_Integer) 14;
          break;
        case (MR_Integer) 12:
          *HeadVar__2_2 = (MR_Integer) 15;
          break;
        case (MR_Integer) 13:
          *HeadVar__2_2 = (MR_Integer) 16;
          break;
        case (MR_Integer) 14:
          *HeadVar__2_2 = (MR_Integer) 17;
          break;
        case (MR_Integer) 15:
          *HeadVar__2_2 = (MR_Integer) 18;
          break;
        case (MR_Integer) 16:
          *HeadVar__2_2 = (MR_Integer) 19;
          break;
        case (MR_Integer) 17:
          *HeadVar__2_2 = (MR_Integer) 20;
          break;
        case (MR_Integer) 18:
          *HeadVar__2_2 = (MR_Integer) 21;
          break;
      }
      break;
  }
}

MR_bool MR_CALL 
parse_tree__file_names____Unify____ext_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  MR_bool succeeded;
  MR_Integer CastX_47 = (MR_Integer) (HeadVar__1_1);
  MR_Integer CastY_48 = (MR_Integer) (HeadVar__2_2);

  succeeded = (CastX_47 == CastY_48);
  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_Unsigned) ((MR_hl_field(0, HeadVar__1_1, (MR_Integer) 0))) & (MR_Integer) 7);
          MR_Word ArgY1_4;

          succeeded = ((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 0);
          if (succeeded)
          {
            ArgY1_4 = ((MR_Unsigned) ((MR_hl_field(0, HeadVar__2_2, (MR_Integer) 0))) & (MR_Integer) 7);
            succeeded = (ArgX1_3 == ArgY1_4);
          }
        }
        break;
      case (MR_Integer) 1:
        {
          MR_Word ArgX1_5 = ((MR_Unsigned) ((MR_hl_field(1, HeadVar__1_1, (MR_Integer) 0))) & (MR_Integer) 3);
          MR_Word ArgY1_6;

          succeeded = ((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 1);
          if (succeeded)
          {
            ArgY1_6 = ((MR_Unsigned) ((MR_hl_field(1, HeadVar__2_2, (MR_Integer) 0))) & (MR_Integer) 3);
            succeeded = (ArgX1_5 == ArgY1_6);
          }
        }
        break;
      case (MR_Integer) 2:
        succeeded = ((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 2);
        break;
      case (MR_Integer) 3:
        switch (((MR_Integer) ((MR_hl_field(3, HeadVar__1_1, (MR_Integer) 0))))) {
          default: /*NOTREACHED*/ MR_assert(0);
          case (MR_Integer) 0:
            succeeded = ((((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 0)));
            break;
          case (MR_Integer) 1:
            {
              MR_Word ArgX1_11 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__1_1, (MR_Integer) 1))) & (MR_Integer) 1);
              MR_Word ArgY1_12;

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

              succeeded = ((((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 2)));
              if (succeeded)
              {
                ArgY1_14 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 1);
                succeeded = (ArgX1_13 == ArgY1_14);
              }
            }
            break;
          case (MR_Integer) 3:
            {
              MR_Word ArgX1_15 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__1_1, (MR_Integer) 1))) & (MR_Integer) 3);
              MR_Word ArgY1_16;

              succeeded = ((((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 3)));
              if (succeeded)
              {
                ArgY1_16 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 3);
                succeeded = (ArgX1_15 == ArgY1_16);
              }
            }
            break;
          case (MR_Integer) 4:
            {
              MR_Word ArgX1_17 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__1_1, (MR_Integer) 1))) & (MR_Integer) 7);
              MR_Word ArgY1_18;

              succeeded = ((((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 4)));
              if (succeeded)
              {
                ArgY1_18 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 7);
                succeeded = (ArgX1_17 == ArgY1_18);
              }
            }
            break;
          case (MR_Integer) 5:
            succeeded = ((((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 5)));
            break;
          case (MR_Integer) 6:
            {
              MR_Word ArgX1_21 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__1_1, (MR_Integer) 1))) & (MR_Integer) 7);
              MR_Word ArgY1_22;

              succeeded = ((((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 6)));
              if (succeeded)
              {
                ArgY1_22 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 7);
                succeeded = (ArgX1_21 == ArgY1_22);
              }
            }
            break;
          case (MR_Integer) 7:
            succeeded = ((((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 7)));
            break;
          case (MR_Integer) 8:
            {
              MR_Word ArgX1_25 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__1_1, (MR_Integer) 1))) & (MR_Integer) 3);
              MR_Word ArgY1_26;

              succeeded = ((((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 8)));
              if (succeeded)
              {
                ArgY1_26 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 3);
                succeeded = (ArgX1_25 == ArgY1_26);
              }
            }
            break;
          case (MR_Integer) 9:
            {
              MR_Word ArgX1_27 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__1_1, (MR_Integer) 1))) & (MR_Integer) 3);
              MR_Word ArgY1_28;

              succeeded = ((((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 9)));
              if (succeeded)
              {
                ArgY1_28 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 3);
                succeeded = (ArgX1_27 == ArgY1_28);
              }
            }
            break;
          case (MR_Integer) 10:
            {
              MR_Word ArgX1_29 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__1_1, (MR_Integer) 1))) & (MR_Integer) 7);
              MR_Word ArgY1_30;

              succeeded = ((((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 10)));
              if (succeeded)
              {
                ArgY1_30 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 7);
                succeeded = (ArgX1_29 == ArgY1_30);
              }
            }
            break;
          case (MR_Integer) 11:
            {
              MR_Word ArgX1_31 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__1_1, (MR_Integer) 1))) & (MR_Integer) 3);
              MR_Word ArgY1_32;

              succeeded = ((((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 11)));
              if (succeeded)
              {
                ArgY1_32 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 3);
                succeeded = (ArgX1_31 == ArgY1_32);
              }
            }
            break;
          case (MR_Integer) 12:
            {
              MR_Word ArgX1_33 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__1_1, (MR_Integer) 1))) & (MR_Integer) 31);
              MR_Word ArgY1_34;

              succeeded = ((((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 12)));
              if (succeeded)
              {
                ArgY1_34 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 31);
                succeeded = (ArgX1_33 == ArgY1_34);
              }
            }
            break;
          case (MR_Integer) 13:
            {
              MR_Word ArgX1_35 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__1_1, (MR_Integer) 1))) & (MR_Integer) 7);
              MR_Word ArgY1_36;

              succeeded = ((((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 13)));
              if (succeeded)
              {
                ArgY1_36 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 7);
                succeeded = (ArgX1_35 == ArgY1_36);
              }
            }
            break;
          case (MR_Integer) 14:
            {
              MR_Word ArgX1_37 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__1_1, (MR_Integer) 1))) & (MR_Integer) 15);
              MR_Word ArgY1_38;

              succeeded = ((((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 14)));
              if (succeeded)
              {
                ArgY1_38 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 15);
                succeeded = (ArgX1_37 == ArgY1_38);
              }
            }
            break;
          case (MR_Integer) 15:
            {
              MR_Word ArgX1_39 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__1_1, (MR_Integer) 1))) & (MR_Integer) 7);
              MR_Word ArgY1_40;

              succeeded = ((((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 15)));
              if (succeeded)
              {
                ArgY1_40 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 7);
                succeeded = (ArgX1_39 == ArgY1_40);
              }
            }
            break;
          case (MR_Integer) 16:
            {
              MR_Word ArgX1_41 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__1_1, (MR_Integer) 1))) & (MR_Integer) 1);
              MR_Word ArgY1_42;

              succeeded = ((((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 16)));
              if (succeeded)
              {
                ArgY1_42 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 1);
                succeeded = (ArgX1_41 == ArgY1_42);
              }
            }
            break;
          case (MR_Integer) 17:
            {
              MR_Word ArgX1_43 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__1_1, (MR_Integer) 1))) & (MR_Integer) 3);
              MR_Word ArgY1_44;

              succeeded = ((((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 17)));
              if (succeeded)
              {
                ArgY1_44 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 3);
                succeeded = (ArgX1_43 == ArgY1_44);
              }
            }
            break;
          case (MR_Integer) 18:
            {
              MR_Word ArgX1_45 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__1_1, (MR_Integer) 1))) & (MR_Integer) 1);
              MR_Word ArgY1_46;

              succeeded = ((((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 18)));
              if (succeeded)
              {
                ArgY1_46 = ((MR_Unsigned) ((MR_hl_field(3, HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 1);
                succeeded = (ArgX1_45 == ArgY1_46);
              }
            }
            break;
        }
        break;
    }
  return succeeded;
}

static void MR_CALL 
parse_tree__file_names____Compare____count_sum_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_Integer ArgX1_4 = ((MR_Integer) ((MR_hl_field(0, HeadVar__2_2, (MR_Integer) 0))));
    MR_Integer ArgY1_5 = ((MR_Integer) ((MR_hl_field(0, HeadVar__3_3, (MR_Integer) 0))));
    MR_Integer ArgX2_7 = ((MR_Integer) ((MR_hl_field(0, HeadVar__2_2, (MR_Integer) 1))));
    MR_Integer ArgY2_8 = ((MR_Integer) ((MR_hl_field(0, HeadVar__3_3, (MR_Integer) 1))));
    MR_Word SubResult1_6;

    succeeded = (ArgX1_4 < ArgY1_5);
    if (succeeded)
    {
      SubResult1_6 = (MR_Integer) 1;
      succeeded = MR_TRUE;
    }
    else
    {
      succeeded = (ArgX1_4 > ArgY1_5);
      if (succeeded)
      {
        SubResult1_6 = (MR_Integer) 2;
        succeeded = MR_TRUE;
      }
      else
      {
        succeeded = MR_TRUE;
        succeeded = !(succeeded);
        if (succeeded)
        {
          SubResult1_6 = (MR_Integer) 0;
          succeeded = MR_TRUE;
        }
      }
    }
    if (succeeded)
      *HeadVar__1_1 = SubResult1_6;
    else
    {
      succeeded = (ArgX2_7 < ArgY2_8);
      if (succeeded)
        *HeadVar__1_1 = (MR_Integer) 1;
      else
      {
        succeeded = (ArgX2_7 > ArgY2_8);
        if (succeeded)
          *HeadVar__1_1 = (MR_Integer) 2;
        else
          *HeadVar__1_1 = (MR_Integer) 0;
      }
    }
  }
}

static MR_bool MR_CALL 
parse_tree__file_names____Unify____count_sum_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_Integer ArgX1_3 = ((MR_Integer) ((MR_hl_field(0, HeadVar__1_1, (MR_Integer) 0))));
    MR_Integer ArgY1_4 = ((MR_Integer) ((MR_hl_field(0, HeadVar__2_2, (MR_Integer) 0))));
    MR_Integer ArgX2_5 = ((MR_Integer) ((MR_hl_field(0, HeadVar__1_1, (MR_Integer) 1))));
    MR_Integer ArgY2_6 = ((MR_Integer) ((MR_hl_field(0, HeadVar__2_2, (MR_Integer) 1))));

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

static void MR_CALL 
parse_tree__file_names__unsafe_set_mkdirs_1_p_0(
  MR_Word X_1)
{
{
#define MR_PROC_LABEL parse_tree__file_names__unsafe_set_mkdirs_1_p_0

	MR_Word X;

	X = X_1 ;
		{
parse_tree__file_names__mutable_variable_mkdirs = X;


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__unsafe_get_mkdirs_1_p_0(
  MR_Word * X_1)
{
{
#define MR_PROC_LABEL parse_tree__file_names__unsafe_get_mkdirs_1_p_0

	MR_Word X;

		{
X = parse_tree__file_names__mutable_variable_mkdirs;


		;}
#undef MR_PROC_LABEL
	*X_1  = X;
}
}

static void MR_CALL 
parse_tree__file_names__unlock_mkdirs_0_p_0(void)
{
{
#define MR_PROC_LABEL parse_tree__file_names__unlock_mkdirs_0_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&parse_tree__file_names__mutable_variable_mkdirs_lock, "parse_tree__file_names__mutable_variable_mkdirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__lock_mkdirs_0_p_0(void)
{
{
#define MR_PROC_LABEL parse_tree__file_names__lock_mkdirs_0_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_LOCK(&parse_tree__file_names__mutable_variable_mkdirs_lock, "parse_tree__file_names__mutable_variable_mkdirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__pre_initialise_mutable_mkdirs_0_p_0(void)
{
{
#define MR_PROC_LABEL parse_tree__file_names__pre_initialise_mutable_mkdirs_0_p_0


		{
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&parse_tree__file_names__mutable_variable_mkdirs_lock, MR_MUTEX_ATTR);
#endif


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__initialise_mutable_mkdirs_0_p_0(void)
{
  MR_Word X_1;

{
#define MR_PROC_LABEL parse_tree__file_names__initialise_mutable_mkdirs_0_p_0


		{
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&parse_tree__file_names__mutable_variable_mkdirs_lock, MR_MUTEX_ATTR);
#endif


		;}
#undef MR_PROC_LABEL
}
  X_1 = mercury__map__init_0_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&mercury__builtin__builtin__type_ctor_info_int_0));
{
#define MR_PROC_LABEL parse_tree__file_names__initialise_mutable_mkdirs_0_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_LOCK(&parse_tree__file_names__mutable_variable_mkdirs_lock, "parse_tree__file_names__mutable_variable_mkdirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
{
#define MR_PROC_LABEL parse_tree__file_names__initialise_mutable_mkdirs_0_p_0

	MR_Word X;

	X = X_1 ;
		{
parse_tree__file_names__mutable_variable_mkdirs = X;


		;}
#undef MR_PROC_LABEL
}
{
#define MR_PROC_LABEL parse_tree__file_names__initialise_mutable_mkdirs_0_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&parse_tree__file_names__mutable_variable_mkdirs_lock, "parse_tree__file_names__mutable_variable_mkdirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__unsafe_set_no_mkdirs_1_p_0(
  MR_Word X_1)
{
{
#define MR_PROC_LABEL parse_tree__file_names__unsafe_set_no_mkdirs_1_p_0

	MR_Word X;

	X = X_1 ;
		{
parse_tree__file_names__mutable_variable_no_mkdirs = X;


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__unsafe_get_no_mkdirs_1_p_0(
  MR_Word * X_1)
{
{
#define MR_PROC_LABEL parse_tree__file_names__unsafe_get_no_mkdirs_1_p_0

	MR_Word X;

		{
X = parse_tree__file_names__mutable_variable_no_mkdirs;


		;}
#undef MR_PROC_LABEL
	*X_1  = X;
}
}

static void MR_CALL 
parse_tree__file_names__unlock_no_mkdirs_0_p_0(void)
{
{
#define MR_PROC_LABEL parse_tree__file_names__unlock_no_mkdirs_0_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&parse_tree__file_names__mutable_variable_no_mkdirs_lock, "parse_tree__file_names__mutable_variable_no_mkdirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__lock_no_mkdirs_0_p_0(void)
{
{
#define MR_PROC_LABEL parse_tree__file_names__lock_no_mkdirs_0_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_LOCK(&parse_tree__file_names__mutable_variable_no_mkdirs_lock, "parse_tree__file_names__mutable_variable_no_mkdirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__pre_initialise_mutable_no_mkdirs_0_p_0(void)
{
{
#define MR_PROC_LABEL parse_tree__file_names__pre_initialise_mutable_no_mkdirs_0_p_0


		{
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&parse_tree__file_names__mutable_variable_no_mkdirs_lock, MR_MUTEX_ATTR);
#endif


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__initialise_mutable_no_mkdirs_0_p_0(void)
{
  MR_Word X_1;

{
#define MR_PROC_LABEL parse_tree__file_names__initialise_mutable_no_mkdirs_0_p_0


		{
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&parse_tree__file_names__mutable_variable_no_mkdirs_lock, MR_MUTEX_ATTR);
#endif


		;}
#undef MR_PROC_LABEL
}
  X_1 = mercury__map__init_0_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&mercury__builtin__builtin__type_ctor_info_int_0));
{
#define MR_PROC_LABEL parse_tree__file_names__initialise_mutable_no_mkdirs_0_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_LOCK(&parse_tree__file_names__mutable_variable_no_mkdirs_lock, "parse_tree__file_names__mutable_variable_no_mkdirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
{
#define MR_PROC_LABEL parse_tree__file_names__initialise_mutable_no_mkdirs_0_p_0

	MR_Word X;

	X = X_1 ;
		{
parse_tree__file_names__mutable_variable_no_mkdirs = X;


		;}
#undef MR_PROC_LABEL
}
{
#define MR_PROC_LABEL parse_tree__file_names__initialise_mutable_no_mkdirs_0_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&parse_tree__file_names__mutable_variable_no_mkdirs_lock, "parse_tree__file_names__mutable_variable_no_mkdirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__unsafe_set_translations_1_p_0(
  MR_Word X_1)
{
{
#define MR_PROC_LABEL parse_tree__file_names__unsafe_set_translations_1_p_0

	MR_Word X;

	X = X_1 ;
		{
parse_tree__file_names__mutable_variable_translations = X;


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__unsafe_get_translations_1_p_0(
  MR_Word * X_1)
{
{
#define MR_PROC_LABEL parse_tree__file_names__unsafe_get_translations_1_p_0

	MR_Word X;

		{
X = parse_tree__file_names__mutable_variable_translations;


		;}
#undef MR_PROC_LABEL
	*X_1  = X;
}
}

static void MR_CALL 
parse_tree__file_names__unlock_translations_0_p_0(void)
{
{
#define MR_PROC_LABEL parse_tree__file_names__unlock_translations_0_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&parse_tree__file_names__mutable_variable_translations_lock, "parse_tree__file_names__mutable_variable_translations_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__lock_translations_0_p_0(void)
{
{
#define MR_PROC_LABEL parse_tree__file_names__lock_translations_0_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_LOCK(&parse_tree__file_names__mutable_variable_translations_lock, "parse_tree__file_names__mutable_variable_translations_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__pre_initialise_mutable_translations_0_p_0(void)
{
{
#define MR_PROC_LABEL parse_tree__file_names__pre_initialise_mutable_translations_0_p_0


		{
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&parse_tree__file_names__mutable_variable_translations_lock, MR_MUTEX_ATTR);
#endif


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__initialise_mutable_translations_0_p_0(void)
{
  MR_Word X_1;

{
#define MR_PROC_LABEL parse_tree__file_names__initialise_mutable_translations_0_p_0


		{
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&parse_tree__file_names__mutable_variable_translations_lock, MR_MUTEX_ATTR);
#endif


		;}
#undef MR_PROC_LABEL
}
  X_1 = mercury__map__init_0_f_0((MR_Word) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_record_key_0), (MR_Word) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_record_value_0));
{
#define MR_PROC_LABEL parse_tree__file_names__initialise_mutable_translations_0_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_LOCK(&parse_tree__file_names__mutable_variable_translations_lock, "parse_tree__file_names__mutable_variable_translations_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
{
#define MR_PROC_LABEL parse_tree__file_names__initialise_mutable_translations_0_p_0

	MR_Word X;

	X = X_1 ;
		{
parse_tree__file_names__mutable_variable_translations = X;


		;}
#undef MR_PROC_LABEL
}
{
#define MR_PROC_LABEL parse_tree__file_names__initialise_mutable_translations_0_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&parse_tree__file_names__mutable_variable_translations_lock, "parse_tree__file_names__mutable_variable_translations_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__unsafe_set_made_dirs_1_p_0(
  MR_Word X_1)
{
{
#define MR_PROC_LABEL parse_tree__file_names__unsafe_set_made_dirs_1_p_0

	MR_Word X;

	X = X_1 ;
		{
parse_tree__file_names__mutable_variable_made_dirs = X;


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__unsafe_get_made_dirs_1_p_0(
  MR_Word * X_1)
{
{
#define MR_PROC_LABEL parse_tree__file_names__unsafe_get_made_dirs_1_p_0

	MR_Word X;

		{
X = parse_tree__file_names__mutable_variable_made_dirs;


		;}
#undef MR_PROC_LABEL
	*X_1  = X;
}
}

static void MR_CALL 
parse_tree__file_names__unlock_made_dirs_0_p_0(void)
{
{
#define MR_PROC_LABEL parse_tree__file_names__unlock_made_dirs_0_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&parse_tree__file_names__mutable_variable_made_dirs_lock, "parse_tree__file_names__mutable_variable_made_dirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__lock_made_dirs_0_p_0(void)
{
{
#define MR_PROC_LABEL parse_tree__file_names__lock_made_dirs_0_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_LOCK(&parse_tree__file_names__mutable_variable_made_dirs_lock, "parse_tree__file_names__mutable_variable_made_dirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__pre_initialise_mutable_made_dirs_0_p_0(void)
{
{
#define MR_PROC_LABEL parse_tree__file_names__pre_initialise_mutable_made_dirs_0_p_0


		{
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&parse_tree__file_names__mutable_variable_made_dirs_lock, MR_MUTEX_ATTR);
#endif


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__initialise_mutable_made_dirs_0_p_0(void)
{
  MR_Word X_1;

{
#define MR_PROC_LABEL parse_tree__file_names__initialise_mutable_made_dirs_0_p_0


		{
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&parse_tree__file_names__mutable_variable_made_dirs_lock, MR_MUTEX_ATTR);
#endif


		;}
#undef MR_PROC_LABEL
}
  X_1 = mercury__set_tree234__init_0_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0));
{
#define MR_PROC_LABEL parse_tree__file_names__initialise_mutable_made_dirs_0_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_LOCK(&parse_tree__file_names__mutable_variable_made_dirs_lock, "parse_tree__file_names__mutable_variable_made_dirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
{
#define MR_PROC_LABEL parse_tree__file_names__initialise_mutable_made_dirs_0_p_0

	MR_Word X;

	X = X_1 ;
		{
parse_tree__file_names__mutable_variable_made_dirs = X;


		;}
#undef MR_PROC_LABEL
}
{
#define MR_PROC_LABEL parse_tree__file_names__initialise_mutable_made_dirs_0_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&parse_tree__file_names__mutable_variable_made_dirs_lock, "parse_tree__file_names__mutable_variable_made_dirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
}

static void MR_CALL 
parse_tree__file_names__write_out_mkdirs_entry_5_p_0(
  MR_Word Stream_6,
  MR_String DirName_7,
  MR_Integer Cnt_8)
{
  MR_String Var_22;

  mercury__io__write_string_4_p_0(Stream_6, (MR_String) "dir_name ");
  mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&parse_tree__file_names_scalar_common_3[0]), Cnt_8, &Var_22);
  mercury__io__write_string_4_p_0(Stream_6, Var_22);
  mercury__io__write_string_4_p_0(Stream_6, (MR_String) " ");
  mercury__io__write_string_4_p_0(Stream_6, DirName_7);
  mercury__io__write_string_4_p_0(Stream_6, (MR_String) "\n");
}

static void MR_CALL 
parse_tree__file_names__write_out_no_mkdirs_entry_5_p_0(
  MR_Word Stream_6,
  MR_String DirName_7,
  MR_Integer Cnt_8)
{
  MR_String Var_22;

  mercury__io__write_string_4_p_0(Stream_6, (MR_String) "no_dir_name ");
  mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&parse_tree__file_names_scalar_common_3[0]), Cnt_8, &Var_22);
  mercury__io__write_string_4_p_0(Stream_6, Var_22);
  mercury__io__write_string_4_p_0(Stream_6, (MR_String) " ");
  mercury__io__write_string_4_p_0(Stream_6, DirName_7);
  mercury__io__write_string_4_p_0(Stream_6, (MR_String) "\n");
}

static void MR_CALL 
parse_tree__file_names__write_out_ext_sch_dir_entry_5_p_0(
  MR_Word Stream_6,
  MR_String ExtSchDir_7,
  MR_Word HeadVar__3_3)
{
  MR_Integer Cnt_8 = ((MR_Integer) ((MR_hl_field(0, HeadVar__3_3, (MR_Integer) 0))));
  MR_Integer Sum_9 = ((MR_Integer) ((MR_hl_field(0, HeadVar__3_3, (MR_Integer) 1))));
  MR_String Var_25;
  MR_String Var_35;

  mercury__io__write_string_4_p_0(Stream_6, (MR_String) "ext_sch_dir ");
  mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&parse_tree__file_names_scalar_common_3[0]), Cnt_8, &Var_25);
  mercury__io__write_string_4_p_0(Stream_6, Var_25);
  mercury__io__write_string_4_p_0(Stream_6, (MR_String) " ");
  mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&parse_tree__file_names_scalar_common_3[0]), Sum_9, &Var_35);
  mercury__io__write_string_4_p_0(Stream_6, Var_35);
  mercury__io__write_string_4_p_0(Stream_6, (MR_String) " ");
  mercury__io__write_string_4_p_0(Stream_6, ExtSchDir_7);
  mercury__io__write_string_4_p_0(Stream_6, (MR_String) "\n");
}

static void MR_CALL 
parse_tree__file_names__write_out_ext_entry_5_p_0(
  MR_Word Stream_6,
  MR_String Ext_7,
  MR_Word HeadVar__3_3)
{
  MR_Integer Cnt_8 = ((MR_Integer) ((MR_hl_field(0, HeadVar__3_3, (MR_Integer) 0))));
  MR_Integer Sum_9 = ((MR_Integer) ((MR_hl_field(0, HeadVar__3_3, (MR_Integer) 1))));
  MR_String Var_25;
  MR_String Var_35;

  mercury__io__write_string_4_p_0(Stream_6, (MR_String) "ext ");
  mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&parse_tree__file_names_scalar_common_3[0]), Cnt_8, &Var_25);
  mercury__io__write_string_4_p_0(Stream_6, Var_25);
  mercury__io__write_string_4_p_0(Stream_6, (MR_String) " ");
  mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&parse_tree__file_names_scalar_common_3[0]), Sum_9, &Var_35);
  mercury__io__write_string_4_p_0(Stream_6, Var_35);
  mercury__io__write_string_4_p_0(Stream_6, (MR_String) " ");
  mercury__io__write_string_4_p_0(Stream_6, Ext_7);
  mercury__io__write_string_4_p_0(Stream_6, (MR_String) "\n");
}

static void MR_CALL 
parse_tree__file_names__gather_translation_stats_11_p_0(
  MR_Word Globals_12,
  MR_Word Key_13,
  MR_Word Value_14,
  MR_Integer STATE_VARIABLE_NumKeys_0_31,
  MR_Integer * STATE_VARIABLE_NumKeys_32,
  MR_Integer STATE_VARIABLE_NumLookups_0_33,
  MR_Integer * STATE_VARIABLE_NumLookups_34,
  MR_Word STATE_VARIABLE_ExtMap_0_35,
  MR_Word * STATE_VARIABLE_ExtMap_36,
  MR_Word STATE_VARIABLE_ExtSchDirMap_0_37,
  MR_Word * STATE_VARIABLE_ExtSchDirMap_38)
{
  MR_bool succeeded;
  MR_Integer Count_20;
  MR_Word Ext_22;
  MR_Word Search_23;
  MR_Word MaybeMkdir_24;
  MR_String ExtStr0_25;
  MR_String ExtStr_26;
  MR_String SearchStr_27;
  MR_String MkDirStr_28;
  MR_String ExtSchDir_30;
  MR_String Var_42;
  MR_Word Entry0_44;
  MR_Box conv0_Entry0_44;
  MR_Word Entry0_56;
  MR_Box conv1_Entry0_56;

  *STATE_VARIABLE_NumKeys_32 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_NumKeys_0_31 + (MR_Unsigned) 1);
  Count_20 = ((MR_Integer) ((MR_hl_field(0, Value_14, (MR_Integer) 1))));
  *STATE_VARIABLE_NumLookups_34 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_NumLookups_0_33 + (MR_Unsigned) Count_20);
  Ext_22 = ((MR_Word) ((MR_hl_field(0, Key_13, (MR_Integer) 1))));
  Search_23 = ((MR_Unsigned) ((MR_hl_field(0, Key_13, (MR_Integer) 2))) & (MR_Integer) 1);
  MaybeMkdir_24 = ((MR_Word) ((MR_hl_field(0, Key_13, (MR_Integer) 3))));
  ExtStr0_25 = parse_tree__file_names__extension_to_string_2_f_0(Globals_12, Ext_22);
  succeeded = (strcmp(ExtStr0_25, (MR_String) "") == 0);
  if (succeeded)
    ExtStr_26 = (MR_String) "no_suffix";
  else
    ExtStr_26 = ExtStr0_25;
  switch (Search_23) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 1:
      SearchStr_27 = (MR_String) "_nosearch";
      break;
    case (MR_Integer) 0:
      SearchStr_27 = (MR_String) "_search";
      break;
  }
  if ((MaybeMkdir_24 == (MR_Word) ((MR_Unsigned) 0U)))
    MkDirStr_28 = (MR_String) "_returndir";
  else
  {
    MR_Word MkDir_29 = ((MR_Word) ((MR_hl_field(1, MaybeMkdir_24, (MR_Integer) 0))));

    switch (MkDir_29) {
      default: /*NOTREACHED*/ MR_assert(0);
      case (MR_Integer) 0:
        MkDirStr_28 = (MR_String) "_mkdir";
        break;
      case (MR_Integer) 1:
        MkDirStr_28 = (MR_String) "_nomkdir";
        break;
    }
  }
  Var_42 = mercury__string__f_43_43_2_f_0(SearchStr_27, MkDirStr_28);
  ExtSchDir_30 = mercury__string__f_43_43_2_f_0(ExtStr_26, Var_42);
  succeeded = mercury__map__search_3_p_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_count_sum_0), STATE_VARIABLE_ExtMap_0_35, ((MR_Box) (ExtStr_26)), &conv0_Entry0_44);
  if (succeeded)
  {
    Entry0_44 = ((MR_Word) (conv0_Entry0_44));
    succeeded = MR_TRUE;
  }
  if (succeeded)
  {
    MR_Integer Cnt0_45 = ((MR_Integer) ((MR_hl_field(0, Entry0_44, (MR_Integer) 0))));
    MR_Integer Sum0_46 = ((MR_Integer) ((MR_hl_field(0, Entry0_44, (MR_Integer) 1))));
    MR_Word Entry_47;
    MR_Integer Var_48 = (MR_Integer) ((MR_Unsigned) Cnt0_45 + (MR_Unsigned) 1);
    MR_Integer Var_50 = (MR_Integer) ((MR_Unsigned) Sum0_46 + (MR_Unsigned) Count_20);

    {
      Entry_47 = (MR_Word) MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(0, Entry_47, 0) = ((MR_Box) (Var_48));
      MR_hl_field(0, Entry_47, 1) = ((MR_Box) (Var_50));
    }
    mercury__map__det_update_4_p_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_count_sum_0), ((MR_Box) (ExtStr_26)), ((MR_Box) (Entry_47)), STATE_VARIABLE_ExtMap_0_35, STATE_VARIABLE_ExtMap_36);
  }
  else
  {
    MR_Word Entry_52;

    {
      Entry_52 = (MR_Word) MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(0, Entry_52, 0) = ((MR_Box) ((MR_Integer) 1));
      MR_hl_field(0, Entry_52, 1) = ((MR_Box) (Count_20));
    }
    mercury__map__det_insert_4_p_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_count_sum_0), ((MR_Box) (ExtStr_26)), ((MR_Box) (Entry_52)), STATE_VARIABLE_ExtMap_0_35, STATE_VARIABLE_ExtMap_36);
  }
  succeeded = mercury__map__search_3_p_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_count_sum_0), STATE_VARIABLE_ExtSchDirMap_0_37, ((MR_Box) (ExtSchDir_30)), &conv1_Entry0_56);
  if (succeeded)
  {
    Entry0_56 = ((MR_Word) (conv1_Entry0_56));
    succeeded = MR_TRUE;
  }
  if (succeeded)
  {
    MR_Integer Cnt0_57 = ((MR_Integer) ((MR_hl_field(0, Entry0_56, (MR_Integer) 0))));
    MR_Integer Sum0_58 = ((MR_Integer) ((MR_hl_field(0, Entry0_56, (MR_Integer) 1))));
    MR_Word Entry_59;
    MR_Integer Var_60 = (MR_Integer) ((MR_Unsigned) Cnt0_57 + (MR_Unsigned) 1);
    MR_Integer Var_62 = (MR_Integer) ((MR_Unsigned) Sum0_58 + (MR_Unsigned) Count_20);

    {
      Entry_59 = (MR_Word) MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(0, Entry_59, 0) = ((MR_Box) (Var_60));
      MR_hl_field(0, Entry_59, 1) = ((MR_Box) (Var_62));
    }
    mercury__map__det_update_4_p_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_count_sum_0), ((MR_Box) (ExtSchDir_30)), ((MR_Box) (Entry_59)), STATE_VARIABLE_ExtSchDirMap_0_37, STATE_VARIABLE_ExtSchDirMap_38);
  }
  else
  {
    MR_Word Entry_64;

    {
      Entry_64 = (MR_Word) MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(0, Entry_64, 0) = ((MR_Box) ((MR_Integer) 1));
      MR_hl_field(0, Entry_64, 1) = ((MR_Box) (Count_20));
    }
    mercury__map__det_insert_4_p_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_count_sum_0), ((MR_Box) (ExtSchDir_30)), ((MR_Box) (Entry_64)), STATE_VARIABLE_ExtSchDirMap_0_37, STATE_VARIABLE_ExtSchDirMap_38);
  }
}

static void MR_CALL 
parse_tree__file_names__write_translations_record_if_any_3_p_0_5(
  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 closure = closure_arg;

  parse_tree__file_names__write_out_mkdirs_entry_5_p_0(((MR_Word) ((MR_hl_field(0, closure, (MR_Integer) 3)))), ((MR_String) (wrapper_arg_1)), ((MR_Integer) (wrapper_arg_2)));
}

static void MR_CALL 
parse_tree__file_names__write_translations_record_if_any_3_p_0_4(
  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 closure = closure_arg;

  parse_tree__file_names__write_out_no_mkdirs_entry_5_p_0(((MR_Word) ((MR_hl_field(0, closure, (MR_Integer) 3)))), ((MR_String) (wrapper_arg_1)), ((MR_Integer) (wrapper_arg_2)));
}

static void MR_CALL 
parse_tree__file_names__write_translations_record_if_any_3_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 closure = closure_arg;

  parse_tree__file_names__write_out_ext_sch_dir_entry_5_p_0(((MR_Word) ((MR_hl_field(0, closure, (MR_Integer) 3)))), ((MR_String) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)));
}

static void MR_CALL 
parse_tree__file_names__write_translations_record_if_any_3_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 closure = closure_arg;

  parse_tree__file_names__write_out_ext_entry_5_p_0(((MR_Word) ((MR_hl_field(0, closure, (MR_Integer) 3)))), ((MR_String) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)));
}

static void MR_CALL 
parse_tree__file_names__write_translations_record_if_any_3_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 * wrapper_arg_6,
  MR_Box wrapper_arg_7,
  MR_Box * wrapper_arg_8,
  MR_Box wrapper_arg_9,
  MR_Box * wrapper_arg_10)
{
  MR_Box closure = closure_arg;
  MR_Integer conv3_STATE_VARIABLE_NumKeys_32;
  MR_Integer conv2_STATE_VARIABLE_NumLookups_34;
  MR_Word conv1_STATE_VARIABLE_ExtMap_36;
  MR_Word conv0_STATE_VARIABLE_ExtSchDirMap_38;

  parse_tree__file_names__gather_translation_stats_11_p_0(((MR_Word) ((MR_hl_field(0, closure, (MR_Integer) 3)))), ((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)), ((MR_Integer) (wrapper_arg_3)), &conv3_STATE_VARIABLE_NumKeys_32, ((MR_Integer) (wrapper_arg_5)), &conv2_STATE_VARIABLE_NumLookups_34, ((MR_Word) (wrapper_arg_7)), &conv1_STATE_VARIABLE_ExtMap_36, ((MR_Word) (wrapper_arg_9)), &conv0_STATE_VARIABLE_ExtSchDirMap_38);
  *wrapper_arg_4 = ((MR_Box) (conv3_STATE_VARIABLE_NumKeys_32));
  *wrapper_arg_6 = ((MR_Box) (conv2_STATE_VARIABLE_NumLookups_34));
  *wrapper_arg_8 = ((MR_Box) (conv1_STATE_VARIABLE_ExtMap_36));
  *wrapper_arg_10 = ((MR_Box) (conv0_STATE_VARIABLE_ExtSchDirMap_38));
}

void MR_CALL 
parse_tree__file_names__write_translations_record_if_any_3_p_0(
  MR_Word Globals_4)
{
  MR_bool succeeded;
  MR_Word Translations_6;
  MR_Word NoMkDirs_7;
  MR_Word MkDirs_8;
  MR_Word TypeCtorInfo_45_45;
  MR_Word TypeCtorInfo_46_46;

{
#define MR_PROC_LABEL parse_tree__file_names__write_translations_record_if_any_3_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_LOCK(&parse_tree__file_names__mutable_variable_translations_lock, "parse_tree__file_names__mutable_variable_translations_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
{
#define MR_PROC_LABEL parse_tree__file_names__write_translations_record_if_any_3_p_0

	MR_Word X;

		{
X = parse_tree__file_names__mutable_variable_translations;


		;}
#undef MR_PROC_LABEL
	Translations_6  = X;
}
{
#define MR_PROC_LABEL parse_tree__file_names__write_translations_record_if_any_3_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&parse_tree__file_names__mutable_variable_translations_lock, "parse_tree__file_names__mutable_variable_translations_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
{
#define MR_PROC_LABEL parse_tree__file_names__write_translations_record_if_any_3_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_LOCK(&parse_tree__file_names__mutable_variable_no_mkdirs_lock, "parse_tree__file_names__mutable_variable_no_mkdirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
{
#define MR_PROC_LABEL parse_tree__file_names__write_translations_record_if_any_3_p_0

	MR_Word X;

		{
X = parse_tree__file_names__mutable_variable_no_mkdirs;


		;}
#undef MR_PROC_LABEL
	NoMkDirs_7  = X;
}
{
#define MR_PROC_LABEL parse_tree__file_names__write_translations_record_if_any_3_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&parse_tree__file_names__mutable_variable_no_mkdirs_lock, "parse_tree__file_names__mutable_variable_no_mkdirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
{
#define MR_PROC_LABEL parse_tree__file_names__write_translations_record_if_any_3_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_LOCK(&parse_tree__file_names__mutable_variable_mkdirs_lock, "parse_tree__file_names__mutable_variable_mkdirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
{
#define MR_PROC_LABEL parse_tree__file_names__write_translations_record_if_any_3_p_0

	MR_Word X;

		{
X = parse_tree__file_names__mutable_variable_mkdirs;


		;}
#undef MR_PROC_LABEL
	MkDirs_8  = X;
}
{
#define MR_PROC_LABEL parse_tree__file_names__write_translations_record_if_any_3_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&parse_tree__file_names__mutable_variable_mkdirs_lock, "parse_tree__file_names__mutable_variable_mkdirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
  succeeded = mercury__map__is_empty_1_p_0((MR_Word) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_record_key_0), (MR_Word) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_record_value_0), Translations_6);
  if (succeeded)
  {
    TypeCtorInfo_45_45 = (MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0);
    TypeCtorInfo_46_46 = (MR_Word) (&mercury__builtin__builtin__type_ctor_info_int_0);
    succeeded = mercury__map__is_empty_1_p_0(TypeCtorInfo_45_45, TypeCtorInfo_46_46, NoMkDirs_7);
    if (succeeded)
      succeeded = mercury__map__is_empty_1_p_0(TypeCtorInfo_45_45, TypeCtorInfo_46_46, MkDirs_8);
  }
  if (!(succeeded))
  {
    MR_Integer NumKeys_9;
    MR_Integer NumLookups_10;
    MR_Word ExtMap_11;
    MR_Word ExtSchDirMap_12;
    MR_Word Result_13;
    MR_Word Var_21;
    MR_Word Var_24;
    MR_Word Var_25;
    MR_Box conv7_NumKeys_9;
    MR_Box conv6_NumLookups_10;
    MR_Box conv5_ExtMap_11;
    MR_Box conv4_ExtSchDirMap_12;

    {
      Var_21 = (MR_Word) MR_new_object(MR_Word, (4 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(0, Var_21, 0) = ((MR_Box) (&parse_tree__file_names_scalar_common_6[0]));
      MR_hl_field(0, Var_21, 1) = ((MR_Box) (parse_tree__file_names__write_translations_record_if_any_3_p_0_1));
      MR_hl_field(0, Var_21, 2) = ((MR_Box) ((MR_Integer) 1));
      MR_hl_field(0, Var_21, 3) = ((MR_Box) (Globals_4));
    }
    Var_24 = mercury__map__init_0_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_count_sum_0));
    Var_25 = mercury__map__init_0_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_count_sum_0));
    mercury__map__foldl4_10_p_0((MR_Word) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_record_key_0), (MR_Word) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_record_value_0), (MR_Word) (&mercury__builtin__builtin__type_ctor_info_int_0), (MR_Word) (&mercury__builtin__builtin__type_ctor_info_int_0), (MR_Word) (&parse_tree__file_names_scalar_common_1[0]), (MR_Word) (&parse_tree__file_names_scalar_common_1[0]), Var_21, Translations_6, ((MR_Box) ((MR_Integer) 0)), &conv7_NumKeys_9, ((MR_Box) ((MR_Integer) 0)), &conv6_NumLookups_10, ((MR_Box) (Var_24)), &conv5_ExtMap_11, ((MR_Box) (Var_25)), &conv4_ExtSchDirMap_12);
    NumKeys_9 = ((MR_Integer) (conv7_NumKeys_9));
    NumLookups_10 = ((MR_Integer) (conv6_NumLookups_10));
    ExtMap_11 = ((MR_Word) (conv5_ExtMap_11));
    ExtSchDirMap_12 = ((MR_Word) (conv4_ExtSchDirMap_12));
    mercury__io__open_append_4_p_0((MR_String) "/tmp/TRANSLATIONS_RECORD", &Result_13);
    if (!(((MR_tag((MR_Word) Result_13)) == (MR_Integer) 1)))
    {
      MR_Word Stream_14 = ((MR_Word) ((MR_hl_field(0, Result_13, (MR_Integer) 0))));
      MR_Word Var_35;
      MR_Word Var_37;
      MR_Word Var_39;
      MR_Word Var_41;
      MR_String Var_83;
      MR_String Var_93;
      MR_Box conv8_STATE_VARIABLE_IO_36_36;
      MR_Box conv9_STATE_VARIABLE_IO_38_38;
      MR_Box conv10_STATE_VARIABLE_IO_40_40;
      MR_Box conv11_STATE_VARIABLE_IO_42_42;

      mercury__io__write_string_4_p_0(Stream_14, (MR_String) "overall_stats ");
      mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&parse_tree__file_names_scalar_common_3[0]), NumKeys_9, &Var_83);
      mercury__io__write_string_4_p_0(Stream_14, Var_83);
      mercury__io__write_string_4_p_0(Stream_14, (MR_String) " ");
      mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&parse_tree__file_names_scalar_common_3[0]), NumLookups_10, &Var_93);
      mercury__io__write_string_4_p_0(Stream_14, Var_93);
      mercury__io__write_string_4_p_0(Stream_14, (MR_String) "\n");
      {
        Var_35 = (MR_Word) MR_new_object(MR_Word, (4 * sizeof(MR_Word)), NULL, NULL);
        MR_hl_field(0, Var_35, 0) = ((MR_Box) (&parse_tree__file_names_scalar_common_7[0]));
        MR_hl_field(0, Var_35, 1) = ((MR_Box) (parse_tree__file_names__write_translations_record_if_any_3_p_0_2));
        MR_hl_field(0, Var_35, 2) = ((MR_Box) ((MR_Integer) 1));
        MR_hl_field(0, Var_35, 3) = ((MR_Box) (Stream_14));
      }
      mercury__map__foldl_4_p_2((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_count_sum_0), (MR_Word) (&mercury__io__io__type_ctor_info_state_0), Var_35, ExtMap_11, ((MR_Box) ((MR_Integer) 0)), &conv8_STATE_VARIABLE_IO_36_36);
      {
        Var_37 = (MR_Word) MR_new_object(MR_Word, (4 * sizeof(MR_Word)), NULL, NULL);
        MR_hl_field(0, Var_37, 0) = ((MR_Box) (&parse_tree__file_names_scalar_common_7[0]));
        MR_hl_field(0, Var_37, 1) = ((MR_Box) (parse_tree__file_names__write_translations_record_if_any_3_p_0_3));
        MR_hl_field(0, Var_37, 2) = ((MR_Box) ((MR_Integer) 1));
        MR_hl_field(0, Var_37, 3) = ((MR_Box) (Stream_14));
      }
      mercury__map__foldl_4_p_2((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&parse_tree__file_names__parse_tree__file_names__type_ctor_info_count_sum_0), (MR_Word) (&mercury__io__io__type_ctor_info_state_0), Var_37, ExtSchDirMap_12, ((MR_Box) ((MR_Integer) 0)), &conv9_STATE_VARIABLE_IO_38_38);
      {
        Var_39 = (MR_Word) MR_new_object(MR_Word, (4 * sizeof(MR_Word)), NULL, NULL);
        MR_hl_field(0, Var_39, 0) = ((MR_Box) (&parse_tree__file_names_scalar_common_7[1]));
        MR_hl_field(0, Var_39, 1) = ((MR_Box) (parse_tree__file_names__write_translations_record_if_any_3_p_0_4));
        MR_hl_field(0, Var_39, 2) = ((MR_Box) ((MR_Integer) 1));
        MR_hl_field(0, Var_39, 3) = ((MR_Box) (Stream_14));
      }
      mercury__map__foldl_4_p_2((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&mercury__builtin__builtin__type_ctor_info_int_0), (MR_Word) (&mercury__io__io__type_ctor_info_state_0), Var_39, NoMkDirs_7, ((MR_Box) ((MR_Integer) 0)), &conv10_STATE_VARIABLE_IO_40_40);
      {
        Var_41 = (MR_Word) MR_new_object(MR_Word, (4 * sizeof(MR_Word)), NULL, NULL);
        MR_hl_field(0, Var_41, 0) = ((MR_Box) (&parse_tree__file_names_scalar_common_7[1]));
        MR_hl_field(0, Var_41, 1) = ((MR_Box) (parse_tree__file_names__write_translations_record_if_any_3_p_0_5));
        MR_hl_field(0, Var_41, 2) = ((MR_Box) ((MR_Integer) 1));
        MR_hl_field(0, Var_41, 3) = ((MR_Box) (Stream_14));
      }
      mercury__map__foldl_4_p_2((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&mercury__builtin__builtin__type_ctor_info_int_0), (MR_Word) (&mercury__io__io__type_ctor_info_state_0), Var_41, MkDirs_8, ((MR_Box) ((MR_Integer) 0)), &conv11_STATE_VARIABLE_IO_42_42);
      mercury__io__close_output_3_p_0(Stream_14);
    }
  }
}

void MR_CALL 
parse_tree__file_names__make_include_file_path_3_p_0(
  MR_String ModuleSourceFileName_4,
  MR_String OrigFileName_5,
  MR_String * Path_6)
{
  MR_bool succeeded;

  succeeded = mercury__dir__path_name_is_absolute_1_p_0(OrigFileName_5);
  if (succeeded)
    *Path_6 = OrigFileName_5;
  else
  {
    MR_String Var_7;

    Var_7 = mercury__dir__dirname_1_f_0(ModuleSourceFileName_4);
    *Path_6 = mercury__dir__f_slash_2_f_0(Var_7, OrigFileName_5);
  }
}

void MR_CALL 
parse_tree__file_names__get_class_dir_name_2_p_0(
  MR_Word Globals_3,
  MR_String * ClassDirName_4)
{
  MR_Word UseGradeSubdirs_5;
  MR_Word UseSubdirs_6;

  libs__globals__lookup_bool_option_3_p_0(Globals_3, (MR_Integer) 686, &UseGradeSubdirs_5);
  libs__globals__lookup_bool_option_3_p_0(Globals_3, (MR_Integer) 685, &UseSubdirs_6);
  switch (UseGradeSubdirs_5) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 0:
      switch (UseSubdirs_6) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          *ClassDirName_4 = (MR_String) ".";
          break;
        case (MR_Integer) 1:
          *ClassDirName_4 = mercury__dir__f_slash_2_f_0((MR_String) "Mercury", (MR_String) "classs");
          break;
      }
      break;
    case (MR_Integer) 1:
      {
        MR_String Grade_7;
        MR_String TargetArch_8;
        MR_String Var_12;
        MR_String Var_13;
        MR_String Var_14;

        libs__compute_grade__grade_directory_component_2_p_0(Globals_3, &Grade_7);
        libs__globals__lookup_string_option_3_p_0(Globals_3, (MR_Integer) 704, &TargetArch_8);
        Var_14 = mercury__dir__f_slash_2_f_0((MR_String) "Mercury", Grade_7);
        Var_13 = mercury__dir__f_slash_2_f_0(Var_14, TargetArch_8);
        Var_12 = mercury__dir__f_slash_2_f_0(Var_13, (MR_String) "Mercury");
        *ClassDirName_4 = mercury__dir__f_slash_2_f_0(Var_12, (MR_String) "classs");
      }
      break;
  }
}

void MR_CALL 
parse_tree__file_names__module_name_to_make_var_name_2_p_0(
  MR_Word ModuleName_3,
  MR_String * MakeVarName_4)
{
  *MakeVarName_4 = mdbcomp__sym_name__sym_name_to_string_1_f_0(ModuleName_3);
}

void MR_CALL 
parse_tree__file_names__module_name_to_file_name_stem_2_p_0(
  MR_Word ModuleName_3,
  MR_String * FileName_4)
{
  *FileName_4 = mdbcomp__sym_name__sym_name_to_string_1_f_0(ModuleName_3);
}

void MR_CALL 
parse_tree__file_names__file_name_to_module_name_2_p_0(
  MR_String FileName_3,
  MR_Word * ModuleName_4)
{
  *ModuleName_4 = mdbcomp__sym_name__string_to_sym_name_1_f_0(FileName_3);
}

MR_Word MR_CALL 
parse_tree__file_names__qualify_mercury_std_library_module_name_1_f_0(
  MR_Word ModuleName_3)
{
  MR_bool succeeded;
  MR_Word QualModuleName_4;

  succeeded = parse_tree__file_names__mercury_std_library_module_name_1_p_0(ModuleName_3);
  if (succeeded)
    QualModuleName_4 = mdbcomp__sym_name__add_outermost_qualifier_2_f_0((MR_String) "mercury", ModuleName_3);
  else
    QualModuleName_4 = ModuleName_3;
  return QualModuleName_4;
}

MR_bool MR_CALL 
parse_tree__file_names__mercury_std_library_module_name_1_p_0(
  MR_Word ModuleName_2)
{
  MR_bool succeeded;

  if (((MR_tag((MR_Word) ModuleName_2)) == (MR_Integer) 1))
  {
    {
      MR_String ModuleNameStr_6;

      ModuleNameStr_6 = mdbcomp__sym_name__sym_name_to_string_1_f_0(ModuleName_2);
      succeeded = mercury__library__mercury_std_library_module_1_p_0(ModuleNameStr_6);
    }
    if (!(succeeded))
    {
      MR_Word StrippedModuleName_7;
      MR_String StrippedModuleNameStr_8;
      MR_String Var_10;

      succeeded = mdbcomp__sym_name__strip_outermost_qualifier_3_p_0(ModuleName_2, &Var_10, &StrippedModuleName_7);
      if (succeeded)
      {
        succeeded = (strcmp((MR_String) "mercury", Var_10) == 0);
        if (succeeded)
        {
          StrippedModuleNameStr_8 = mdbcomp__sym_name__sym_name_to_string_1_f_0(StrippedModuleName_7);
          succeeded = mercury__library__mercury_std_library_module_1_p_0(StrippedModuleNameStr_8);
        }
      }
    }
  }
  else
  {
    MR_String Name_3 = ((MR_String) ((MR_hl_field(0, ModuleName_2, (MR_Integer) 0))));

    succeeded = mercury__library__mercury_std_library_module_1_p_0(Name_3);
  }
  return succeeded;
}

void MR_CALL 
parse_tree__file_names__maybe_create_any_dirs_on_path_4_p_0(
  MR_Word Mkdir_5,
  MR_Word DirComponents_6)
{
  switch (Mkdir_5) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 0:
      parse_tree__file_names__create_any_dirs_on_path_3_p_0(DirComponents_6);
      break;
    case (MR_Integer) 1:
      {
      }
      break;
  }
}

void MR_CALL 
parse_tree__file_names__fact_table_file_name_return_dirs_6_p_0(
  MR_Word Globals_7,
  MR_String From_8,
  MR_Word Ext_9,
  MR_String FactTableFileName_10,
  MR_Word * DirNames_11,
  MR_String * FileName_12)
{
  parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_97_99_116_95_116_97_98_108_101_95_102_105_108_101_95_110_97_109_101_95_114_101_116_117_114_110_95_100_105_114_115_95_95_91_50_93_95_48_6_p_0(Globals_7, Ext_9, FactTableFileName_10, DirNames_11, FileName_12);
}

void MR_CALL 
parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_97_99_116_95_116_97_98_108_101_95_102_105_108_101_95_110_97_109_101_95_114_101_116_117_114_110_95_100_105_114_115_95_95_91_50_93_95_48_6_p_0(
  MR_Word Globals_7,
  MR_Word Ext_9,
  MR_String FactTableFileName_10,
  MR_Word * DirNames_11,
  MR_String * FileName_12)
{
  MR_Word FakeModuleName_13;

  {
    FakeModuleName_13 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
    MR_hl_field(0, FakeModuleName_13, 0) = ((MR_Box) (FactTableFileName_10));
  }
  parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_102_105_108_101_95_110_97_109_101_95_101_120_116_95_95_91_50_44_32_52_93_95_48_8_p_0(Globals_7, (MR_Integer) 1, Ext_9, FakeModuleName_13, DirNames_11, FileName_12);
}

void MR_CALL 
parse_tree__file_names__module_name_to_lib_file_name_create_dirs_8_p_0(
  MR_Word Globals_9,
  MR_String From_10,
  MR_String Prefix_11,
  MR_Word Ext_12,
  MR_Word ModuleName_13,
  MR_String * FileName_14)
{
  parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_108_105_98_95_102_105_108_101_95_110_97_109_101_95_99_114_101_97_116_101_95_100_105_114_115_95_95_91_50_93_95_48_8_p_0(Globals_9, Prefix_11, Ext_12, ModuleName_13, FileName_14);
}

void MR_CALL 
parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_108_105_98_95_102_105_108_101_95_110_97_109_101_95_99_114_101_97_116_101_95_100_105_114_115_95_95_91_50_93_95_48_8_p_0(
  MR_Word Globals_9,
  MR_String Prefix_11,
  MR_Word Ext_12,
  MR_Word ModuleName_13,
  MR_String * FileName_14)
{
  MR_Word FakeModuleName_16;
  MR_Word DirNames_17;
  MR_String BaseFileName_23;
  MR_String BaseNameNoExt_24;

  BaseFileName_23 = mdbcomp__sym_name__sym_name_to_string_1_f_0(ModuleName_13);
  BaseNameNoExt_24 = mercury__string__f_43_43_2_f_0(Prefix_11, BaseFileName_23);
  {
    FakeModuleName_16 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
    MR_hl_field(0, FakeModuleName_16, 0) = ((MR_Box) (BaseNameNoExt_24));
  }
  parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_102_105_108_101_95_110_97_109_101_95_101_120_116_95_95_91_50_44_32_52_93_95_48_8_p_0(Globals_9, (MR_Integer) 1, Ext_12, FakeModuleName_16, &DirNames_17, FileName_14);
  parse_tree__file_names__create_any_dirs_on_path_3_p_0(DirNames_17);
}

void MR_CALL 
parse_tree__file_names__module_name_to_lib_file_name_6_p_0(
  MR_Word Globals_7,
  MR_String From_8,
  MR_String Prefix_9,
  MR_Word Ext_10,
  MR_Word ModuleName_11,
  MR_String * FileName_12)
{
  parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_108_105_98_95_102_105_108_101_95_110_97_109_101_95_95_91_50_93_95_48_6_p_0(Globals_7, Prefix_9, Ext_10, ModuleName_11, FileName_12);
}

void MR_CALL 
parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_108_105_98_95_102_105_108_101_95_110_97_109_101_95_95_91_50_93_95_48_6_p_0(
  MR_Word Globals_7,
  MR_String Prefix_9,
  MR_Word Ext_10,
  MR_Word ModuleName_11,
  MR_String * FileName_12)
{
  MR_Word FakeModuleName_13;
  MR_String BaseFileName_18;
  MR_String BaseNameNoExt_19;
  MR_Word _DirNames_14;

  BaseFileName_18 = mdbcomp__sym_name__sym_name_to_string_1_f_0(ModuleName_11);
  BaseNameNoExt_19 = mercury__string__f_43_43_2_f_0(Prefix_9, BaseFileName_18);
  {
    FakeModuleName_13 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
    MR_hl_field(0, FakeModuleName_13, 0) = ((MR_Box) (BaseNameNoExt_19));
  }
  parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_102_105_108_101_95_110_97_109_101_95_101_120_116_95_95_91_50_44_32_52_93_95_48_8_p_0(Globals_7, (MR_Integer) 1, Ext_10, FakeModuleName_13, &_DirNames_14, FileName_12);
}

void MR_CALL 
parse_tree__file_names__module_name_to_lib_file_name_return_dirs_7_p_0(
  MR_Word Globals_8,
  MR_String From_9,
  MR_String Prefix_10,
  MR_Word Ext_11,
  MR_Word ModuleName_12,
  MR_Word * DirNames_13,
  MR_String * FileName_14)
{
  parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_108_105_98_95_102_105_108_101_95_110_97_109_101_95_114_101_116_117_114_110_95_100_105_114_115_95_95_91_50_93_95_48_7_p_0(Globals_8, Prefix_10, Ext_11, ModuleName_12, DirNames_13, FileName_14);
}

void MR_CALL 
parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_108_105_98_95_102_105_108_101_95_110_97_109_101_95_114_101_116_117_114_110_95_100_105_114_115_95_95_91_50_93_95_48_7_p_0(
  MR_Word Globals_8,
  MR_String Prefix_10,
  MR_Word Ext_11,
  MR_Word ModuleName_12,
  MR_Word * DirNames_13,
  MR_String * FileName_14)
{
  MR_Word FakeModuleName_15;
  MR_String BaseFileName_18;
  MR_String BaseNameNoExt_19;

  BaseFileName_18 = mdbcomp__sym_name__sym_name_to_string_1_f_0(ModuleName_12);
  BaseNameNoExt_19 = mercury__string__f_43_43_2_f_0(Prefix_10, BaseFileName_18);
  {
    FakeModuleName_15 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
    MR_hl_field(0, FakeModuleName_15, 0) = ((MR_Box) (BaseNameNoExt_19));
  }
  parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_102_105_108_101_95_110_97_109_101_95_101_120_116_95_95_91_50_44_32_52_93_95_48_8_p_0(Globals_8, (MR_Integer) 1, Ext_11, FakeModuleName_15, DirNames_13, FileName_14);
}

void MR_CALL 
parse_tree__file_names__module_name_to_search_file_name_5_p_0(
  MR_Word Globals_6,
  MR_String From_7,
  MR_Word Ext_8,
  MR_Word ModuleName_9,
  MR_String * FileName_10)
{
  parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_115_101_97_114_99_104_95_102_105_108_101_95_110_97_109_101_95_95_91_50_93_95_48_5_p_0(Globals_6, Ext_8, ModuleName_9, FileName_10);
}

void MR_CALL 
parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_115_101_97_114_99_104_95_102_105_108_101_95_110_97_109_101_95_95_91_50_93_95_48_5_p_0(
  MR_Word Globals_6,
  MR_Word Ext_8,
  MR_Word ModuleName_9,
  MR_String * FileName_10)
{
  MR_Word _DirNames_11;

  parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_102_105_108_101_95_110_97_109_101_95_101_120_116_95_95_91_50_44_32_52_93_95_48_8_p_0(Globals_6, (MR_Integer) 0, Ext_8, ModuleName_9, &_DirNames_11, FileName_10);
}

void MR_CALL 
parse_tree__file_names__module_name_to_file_name_create_dirs_7_p_0(
  MR_Word Globals_8,
  MR_String From_9,
  MR_Word Ext_10,
  MR_Word ModuleName_11,
  MR_String * FileName_12)
{
  parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_102_105_108_101_95_110_97_109_101_95_99_114_101_97_116_101_95_100_105_114_115_95_95_91_50_93_95_48_7_p_0(Globals_8, Ext_10, ModuleName_11, FileName_12);
}

void MR_CALL 
parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_102_105_108_101_95_110_97_109_101_95_99_114_101_97_116_101_95_100_105_114_115_95_95_91_50_93_95_48_7_p_0(
  MR_Word Globals_8,
  MR_Word Ext_10,
  MR_Word ModuleName_11,
  MR_String * FileName_12)
{
  MR_Word DirNames_14;

  parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_102_105_108_101_95_110_97_109_101_95_101_120_116_95_95_91_50_44_32_52_93_95_48_8_p_0(Globals_8, (MR_Integer) 1, Ext_10, ModuleName_11, &DirNames_14, FileName_12);
  parse_tree__file_names__create_any_dirs_on_path_3_p_0(DirNames_14);
}

void MR_CALL 
parse_tree__file_names__create_any_dirs_on_path_3_p_0(
  MR_Word DirComponents_4)
{
  MR_bool succeeded;

  if (!((DirComponents_4 == (MR_Word) ((MR_Unsigned) 0U))))
  {
    MR_String DirName_8;
    MR_Word MadeDirs0_9;

    DirName_8 = mercury__dir__relative_path_name_from_components_1_f_0(DirComponents_4);
{
#define MR_PROC_LABEL parse_tree__file_names__create_any_dirs_on_path_3_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_LOCK(&parse_tree__file_names__mutable_variable_made_dirs_lock, "parse_tree__file_names__mutable_variable_made_dirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
{
#define MR_PROC_LABEL parse_tree__file_names__create_any_dirs_on_path_3_p_0

	MR_Word X;

		{
X = parse_tree__file_names__mutable_variable_made_dirs;


		;}
#undef MR_PROC_LABEL
	MadeDirs0_9  = X;
}
{
#define MR_PROC_LABEL parse_tree__file_names__create_any_dirs_on_path_3_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&parse_tree__file_names__mutable_variable_made_dirs_lock, "parse_tree__file_names__mutable_variable_made_dirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
    succeeded = mercury__set_tree234__contains_2_p_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), MadeDirs0_9, ((MR_Box) (DirName_8)));
    if (!(succeeded))
    {
      MR_Word MadeDirs_12;
      MR_Word Var_11;

      mercury__dir__make_directory_4_p_0(DirName_8, &Var_11);
      mercury__set_tree234__insert_3_p_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), ((MR_Box) (DirName_8)), MadeDirs0_9, &MadeDirs_12);
{
#define MR_PROC_LABEL parse_tree__file_names__create_any_dirs_on_path_3_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_LOCK(&parse_tree__file_names__mutable_variable_made_dirs_lock, "parse_tree__file_names__mutable_variable_made_dirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
{
#define MR_PROC_LABEL parse_tree__file_names__create_any_dirs_on_path_3_p_0

	MR_Word X;

	X = MadeDirs_12 ;
		{
parse_tree__file_names__mutable_variable_made_dirs = X;


		;}
#undef MR_PROC_LABEL
}
{
#define MR_PROC_LABEL parse_tree__file_names__create_any_dirs_on_path_3_p_0


		{
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&parse_tree__file_names__mutable_variable_made_dirs_lock, "parse_tree__file_names__mutable_variable_made_dirs_lock");
#endif


		;}
#undef MR_PROC_LABEL
}
    }
  }
}

void MR_CALL 
parse_tree__file_names__module_name_to_file_name_5_p_0(
  MR_Word Globals_6,
  MR_String From_7,
  MR_Word Ext_8,
  MR_Word ModuleName_9,
  MR_String * FileName_10)
{
  parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_102_105_108_101_95_110_97_109_101_95_95_91_50_93_95_48_5_p_0(Globals_6, Ext_8, ModuleName_9, FileName_10);
}

void MR_CALL 
parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_102_105_108_101_95_110_97_109_101_95_95_91_50_93_95_48_5_p_0(
  MR_Word Globals_6,
  MR_Word Ext_8,
  MR_Word ModuleName_9,
  MR_String * FileName_10)
{
  MR_Word _DirNames_11;

  parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_102_105_108_101_95_110_97_109_101_95_101_120_116_95_95_91_50_44_32_52_93_95_48_8_p_0(Globals_6, (MR_Integer) 1, Ext_8, ModuleName_9, &_DirNames_11, FileName_10);
}

void MR_CALL 
parse_tree__file_names__module_name_to_file_name_return_dirs_6_p_0(
  MR_Word Globals_7,
  MR_String From_8,
  MR_Word Ext_9,
  MR_Word ModuleName_10,
  MR_Word * DirNames_11,
  MR_String * FileName_12)
{
  parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_102_105_108_101_95_110_97_109_101_95_114_101_116_117_114_110_95_100_105_114_115_95_95_91_50_93_95_48_6_p_0(Globals_7, Ext_9, ModuleName_10, DirNames_11, FileName_12);
}

void MR_CALL 
parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_102_105_108_101_95_110_97_109_101_95_114_101_116_117_114_110_95_100_105_114_115_95_95_91_50_93_95_48_6_p_0(
  MR_Word Globals_7,
  MR_Word Ext_9,
  MR_Word ModuleName_10,
  MR_Word * DirNames_11,
  MR_String * FileName_12)
{
  parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_102_105_108_101_95_110_97_109_101_95_101_120_116_95_95_91_50_44_32_52_93_95_48_8_p_0(Globals_7, (MR_Integer) 1, Ext_9, ModuleName_10, DirNames_11, FileName_12);
}

static void MR_CALL 
parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_111_100_117_108_101_95_110_97_109_101_95_116_111_95_102_105_108_101_95_110_97_109_101_95_101_120_116_95_95_91_50_44_32_52_93_95_48_8_p_0(
  MR_Word Globals_9,
  MR_Word Search_11,
  MR_Word Ext_13,
  MR_Word ModuleName_14,
  MR_Word * DirNames_15,
  MR_String * FileName_16)
{
  MR_bool succeeded;

  switch (MR_tag((MR_Word) Ext_13)) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 0:
      {
        MR_Word ExtInt_17 = ((MR_Unsigned) ((MR_hl_field(0, Ext_13, (MR_Integer) 0))) & (MR_Integer) 7);
        MR_String ExtStr_183;
        MR_String SubDirName_184;
        MR_String BaseNameNoExt_185;
        MR_Word UseSubdirs_186;

        parse_tree__file_names__ext_int_extension_dir_3_p_0(ExtInt_17, &ExtStr_183, &SubDirName_184);
        BaseNameNoExt_185 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
        libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 685, &UseSubdirs_186);
        switch (UseSubdirs_186) {
          default: /*NOTREACHED*/ MR_assert(0);
          case (MR_Integer) 0:
            {
              *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
              *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_185, ExtStr_183);
            }
            break;
          case (MR_Integer) 1:
            {
              MR_Word Var_178;

              {
                Var_178 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                MR_hl_field(1, Var_178, 0) = ((MR_Box) (SubDirName_184));
                MR_hl_field(1, Var_178, 1) = ((MR_Box) ((MR_Unsigned) 0U));
              }
              {
                MR_Word base;
                base = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                *DirNames_15 = base;
                MR_hl_field(1, base, 0) = ((MR_Box) ((MR_String) "Mercury"));
                MR_hl_field(1, base, 1) = ((MR_Box) (Var_178));
              }
              *FileName_16 = parse_tree__file_names__glue_dir_names_file_name_3_f_0(*DirNames_15, BaseNameNoExt_185, ExtStr_183);
            }
            break;
        }
      }
      break;
    case (MR_Integer) 1:
      {
        MR_Word ExtOpt_25 = ((MR_Unsigned) ((MR_hl_field(1, Ext_13, (MR_Integer) 0))) & (MR_Integer) 3);
        MR_String ExtStr_118;
        MR_String SubDirName_119;
        MR_String BaseNameNoExt_120;
        MR_Word UseSubdirs_121;

        parse_tree__file_names__ext_opt_extension_dir_3_p_0(ExtOpt_25, &ExtStr_118, &SubDirName_119);
        BaseNameNoExt_120 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
        libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 685, &UseSubdirs_121);
        switch (UseSubdirs_121) {
          default: /*NOTREACHED*/ MR_assert(0);
          case (MR_Integer) 0:
            {
              *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
              *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_120, ExtStr_118);
            }
            break;
          case (MR_Integer) 1:
            {
              MR_Word UseGradeSubdirs_26;

              libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 686, &UseGradeSubdirs_26);
              succeeded = (UseGradeSubdirs_26 == (MR_Integer) 1);
              if (succeeded)
              {
                succeeded = (Search_11 == (MR_Integer) 0);
                if (succeeded)
                  switch (ExtOpt_25) {
                    default:
                      succeeded = MR_FALSE;
                      break;
                    case (MR_Integer) 0:
                      succeeded = MR_TRUE;
                      break;
                    case (MR_Integer) 1:
                      succeeded = MR_TRUE;
                      break;
                  }
                succeeded = !(succeeded);
              }
              if (succeeded)
              {
                MR_Word Var_54;

                {
                  Var_54 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                  MR_hl_field(1, Var_54, 0) = ((MR_Box) (SubDirName_119));
                  MR_hl_field(1, Var_54, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                }
                parse_tree__file_names__make_grade_subdir_file_name_6_p_0(Globals_9, Var_54, BaseNameNoExt_120, ExtStr_118, DirNames_15, FileName_16);
              }
              else
              {
                MR_Word Var_57;

                {
                  Var_57 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                  MR_hl_field(1, Var_57, 0) = ((MR_Box) (SubDirName_119));
                  MR_hl_field(1, Var_57, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                }
                {
                  MR_Word base;
                  base = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                  *DirNames_15 = base;
                  MR_hl_field(1, base, 0) = ((MR_Box) ((MR_String) "Mercury"));
                  MR_hl_field(1, base, 1) = ((MR_Box) (Var_57));
                }
                *FileName_16 = parse_tree__file_names__glue_dir_names_file_name_3_f_0(*DirNames_15, BaseNameNoExt_120, ExtStr_118);
              }
            }
            break;
        }
      }
      break;
    case (MR_Integer) 2:
      {
        MR_String ExtStr_208;
        MR_String BaseNameNoExt_209;

        parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_101_120_116_95_109_104_95_101_120_116_101_110_115_105_111_110_95_95_91_49_93_95_48_2_p_0(&ExtStr_208);
        *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
        BaseNameNoExt_209 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
        *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_209, ExtStr_208);
      }
      break;
    case (MR_Integer) 3:
      switch (((MR_Integer) ((MR_hl_field(3, Ext_13, (MR_Integer) 0))))) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          {
            MR_String ExtStr_130;
            MR_String SubDirName_131;
            MR_String BaseNameNoExt_132;

            parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_101_120_116_95_109_105_104_95_101_120_116_101_110_115_105_111_110_95_100_105_114_95_95_91_49_93_95_48_3_p_0(&ExtStr_130, &SubDirName_131);
            BaseNameNoExt_132 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
            switch (Search_11) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 1:
                {
                  MR_Word UseSubdirs_126;

                  libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 685, &UseSubdirs_126);
                  switch (UseSubdirs_126) {
                    default: /*NOTREACHED*/ MR_assert(0);
                    case (MR_Integer) 0:
                      {
                        *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
                        *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_132, ExtStr_130);
                      }
                      break;
                    case (MR_Integer) 1:
                      {
                        MR_Word UseGradeSubdirs_124;

                        libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 686, &UseGradeSubdirs_124);
                        switch (UseGradeSubdirs_124) {
                          default: /*NOTREACHED*/ MR_assert(0);
                          case (MR_Integer) 0:
                            {
                              MR_Word Var_64;

                              {
                                Var_64 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                                MR_hl_field(1, Var_64, 0) = ((MR_Box) (SubDirName_131));
                                MR_hl_field(1, Var_64, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                              }
                              {
                                MR_Word base;
                                base = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                                *DirNames_15 = base;
                                MR_hl_field(1, base, 0) = ((MR_Box) ((MR_String) "Mercury"));
                                MR_hl_field(1, base, 1) = ((MR_Box) (Var_64));
                              }
                              *FileName_16 = parse_tree__file_names__glue_dir_names_file_name_3_f_0(*DirNames_15, BaseNameNoExt_132, ExtStr_130);
                            }
                            break;
                          case (MR_Integer) 1:
                            {
                              MR_Word Var_66;

                              {
                                Var_66 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                                MR_hl_field(1, Var_66, 0) = ((MR_Box) (SubDirName_131));
                                MR_hl_field(1, Var_66, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                              }
                              parse_tree__file_names__make_grade_subdir_file_name_6_p_0(Globals_9, Var_66, BaseNameNoExt_132, ExtStr_130, DirNames_15, FileName_16);
                            }
                            break;
                        }
                      }
                      break;
                  }
                }
                break;
              case (MR_Integer) 0:
                {
                  *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
                  *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_132, ExtStr_130);
                }
                break;
            }
          }
          break;
        case (MR_Integer) 1:
          {
            MR_Word ExtCCs_32 = ((MR_Unsigned) ((MR_hl_field(3, Ext_13, (MR_Integer) 1))) & (MR_Integer) 1);
            MR_String ExtStr_261;
            MR_String SubDirName_262;
            MR_String BaseNameNoExt_263;
            MR_Word UseSubdirs_264;

            parse_tree__file_names__ext_target_c_cs_extension_dir_3_p_0(ExtCCs_32, &ExtStr_261, &SubDirName_262);
            BaseNameNoExt_263 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
            libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 685, &UseSubdirs_264);
            switch (UseSubdirs_264) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                {
                  *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
                  *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_263, ExtStr_261);
                }
                break;
              case (MR_Integer) 1:
                {
                  MR_Word UseGradeSubdirs_244;

                  libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 686, &UseGradeSubdirs_244);
                  switch (UseGradeSubdirs_244) {
                    default: /*NOTREACHED*/ MR_assert(0);
                    case (MR_Integer) 0:
                      {
                        MR_Word Var_229;

                        {
                          Var_229 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(1, Var_229, 0) = ((MR_Box) (SubDirName_262));
                          MR_hl_field(1, Var_229, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                        }
                        {
                          MR_Word base;
                          base = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          *DirNames_15 = base;
                          MR_hl_field(1, base, 0) = ((MR_Box) ((MR_String) "Mercury"));
                          MR_hl_field(1, base, 1) = ((MR_Box) (Var_229));
                        }
                        *FileName_16 = parse_tree__file_names__glue_dir_names_file_name_3_f_0(*DirNames_15, BaseNameNoExt_263, ExtStr_261);
                      }
                      break;
                    case (MR_Integer) 1:
                      {
                        MR_Word Var_231;

                        {
                          Var_231 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(1, Var_231, 0) = ((MR_Box) (SubDirName_262));
                          MR_hl_field(1, Var_231, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                        }
                        parse_tree__file_names__make_grade_subdir_file_name_6_p_0(Globals_9, Var_231, BaseNameNoExt_263, ExtStr_261, DirNames_15, FileName_16);
                      }
                      break;
                  }
                }
                break;
            }
          }
          break;
        case (MR_Integer) 2:
          {
            MR_Word ExtJava_35 = ((MR_Unsigned) ((MR_hl_field(3, Ext_13, (MR_Integer) 1))) & (MR_Integer) 1);
            MR_Word SubDirNames_36;
            MR_String ExtStr_145;
            MR_String BaseNameNoExt_146;
            MR_Word UseSubdirs_147;

            parse_tree__file_names__ext_target_java_extension_dirs_3_p_0(ExtJava_35, &ExtStr_145, &SubDirNames_36);
            parse_tree__java_names__mangle_sym_name_for_java_4_p_0(ModuleName_14, (MR_Integer) 0, (MR_String) "__", &BaseNameNoExt_146);
            libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 685, &UseSubdirs_147);
            switch (UseSubdirs_147) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                {
                  *DirNames_15 = (MR_Word) (MR_mkword(1, &parse_tree__file_names_scalar_common_2[1]));
                  *FileName_16 = parse_tree__file_names__glue_dir_names_file_name_3_f_0(*DirNames_15, BaseNameNoExt_146, ExtStr_145);
                }
                break;
              case (MR_Integer) 1:
                {
                  MR_Word UseGradeSubdirs_143;

                  libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 686, &UseGradeSubdirs_143);
                  switch (UseGradeSubdirs_143) {
                    default: /*NOTREACHED*/ MR_assert(0);
                    case (MR_Integer) 0:
                      {
                        {
                          MR_Word base;
                          base = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          *DirNames_15 = base;
                          MR_hl_field(1, base, 0) = ((MR_Box) ((MR_String) "Mercury"));
                          MR_hl_field(1, base, 1) = ((MR_Box) (SubDirNames_36));
                        }
                        *FileName_16 = parse_tree__file_names__glue_dir_names_file_name_3_f_0(*DirNames_15, BaseNameNoExt_146, ExtStr_145);
                      }
                      break;
                    case (MR_Integer) 1:
                      parse_tree__file_names__make_grade_subdir_file_name_6_p_0(Globals_9, SubDirNames_36, BaseNameNoExt_146, ExtStr_145, DirNames_15, FileName_16);
                      break;
                  }
                }
                break;
            }
          }
          break;
        case (MR_Integer) 3:
          {
            MR_Word ExtTargetDate_33 = ((MR_Unsigned) ((MR_hl_field(3, Ext_13, (MR_Integer) 1))) & (MR_Integer) 3);
            MR_String ExtStr_298;
            MR_String SubDirName_299;
            MR_String BaseNameNoExt_300;
            MR_Word UseSubdirs_301;

            parse_tree__file_names__ext_target_date_extension_dir_3_p_0(ExtTargetDate_33, &ExtStr_298, &SubDirName_299);
            BaseNameNoExt_300 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
            libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 685, &UseSubdirs_301);
            switch (UseSubdirs_301) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                {
                  *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
                  *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_300, ExtStr_298);
                }
                break;
              case (MR_Integer) 1:
                {
                  MR_Word UseGradeSubdirs_281;

                  libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 686, &UseGradeSubdirs_281);
                  switch (UseGradeSubdirs_281) {
                    default: /*NOTREACHED*/ MR_assert(0);
                    case (MR_Integer) 0:
                      {
                        MR_Word Var_266;

                        {
                          Var_266 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(1, Var_266, 0) = ((MR_Box) (SubDirName_299));
                          MR_hl_field(1, Var_266, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                        }
                        {
                          MR_Word base;
                          base = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          *DirNames_15 = base;
                          MR_hl_field(1, base, 0) = ((MR_Box) ((MR_String) "Mercury"));
                          MR_hl_field(1, base, 1) = ((MR_Box) (Var_266));
                        }
                        *FileName_16 = parse_tree__file_names__glue_dir_names_file_name_3_f_0(*DirNames_15, BaseNameNoExt_300, ExtStr_298);
                      }
                      break;
                    case (MR_Integer) 1:
                      {
                        MR_Word Var_268;

                        {
                          Var_268 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(1, Var_268, 0) = ((MR_Box) (SubDirName_299));
                          MR_hl_field(1, Var_268, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                        }
                        parse_tree__file_names__make_grade_subdir_file_name_6_p_0(Globals_9, Var_268, BaseNameNoExt_300, ExtStr_298, DirNames_15, FileName_16);
                      }
                      break;
                  }
                }
                break;
            }
          }
          break;
        case (MR_Integer) 4:
          {
            MR_Word ExtObj_38 = ((MR_Unsigned) ((MR_hl_field(3, Ext_13, (MR_Integer) 1))) & (MR_Integer) 7);
            MR_String ExtStr_335;
            MR_String SubDirName_336;
            MR_String BaseNameNoExt_337;
            MR_Word UseSubdirs_338;

            parse_tree__file_names__ext_obj_extension_dir_4_p_0(Globals_9, ExtObj_38, &ExtStr_335, &SubDirName_336);
            BaseNameNoExt_337 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
            libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 685, &UseSubdirs_338);
            switch (UseSubdirs_338) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                {
                  *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
                  *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_337, ExtStr_335);
                }
                break;
              case (MR_Integer) 1:
                {
                  MR_Word UseGradeSubdirs_318;

                  libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 686, &UseGradeSubdirs_318);
                  switch (UseGradeSubdirs_318) {
                    default: /*NOTREACHED*/ MR_assert(0);
                    case (MR_Integer) 0:
                      {
                        MR_Word Var_303;

                        {
                          Var_303 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(1, Var_303, 0) = ((MR_Box) (SubDirName_336));
                          MR_hl_field(1, Var_303, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                        }
                        {
                          MR_Word base;
                          base = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          *DirNames_15 = base;
                          MR_hl_field(1, base, 0) = ((MR_Box) ((MR_String) "Mercury"));
                          MR_hl_field(1, base, 1) = ((MR_Box) (Var_303));
                        }
                        *FileName_16 = parse_tree__file_names__glue_dir_names_file_name_3_f_0(*DirNames_15, BaseNameNoExt_337, ExtStr_335);
                      }
                      break;
                    case (MR_Integer) 1:
                      {
                        MR_Word Var_305;

                        {
                          Var_305 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(1, Var_305, 0) = ((MR_Box) (SubDirName_336));
                          MR_hl_field(1, Var_305, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                        }
                        parse_tree__file_names__make_grade_subdir_file_name_6_p_0(Globals_9, Var_305, BaseNameNoExt_337, ExtStr_335, DirNames_15, FileName_16);
                      }
                      break;
                  }
                }
                break;
            }
          }
          break;
        case (MR_Integer) 5:
          {
            MR_String ExtStr_158;
            MR_String SubDirName_159;
            MR_String BaseNameNoExt_160;
            MR_Word UseSubdirs_161;

            parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_101_120_116_95_105_110_105_116_95_99_95_101_120_116_101_110_115_105_111_110_95_100_105_114_95_95_91_49_93_95_48_3_p_0(&ExtStr_158, &SubDirName_159);
            BaseNameNoExt_160 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
            libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 685, &UseSubdirs_161);
            switch (UseSubdirs_161) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                {
                  *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
                  *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_160, ExtStr_158);
                }
                break;
              case (MR_Integer) 1:
                {
                  MR_Word UseGradeSubdirs_156;

                  libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 686, &UseGradeSubdirs_156);
                  switch (UseGradeSubdirs_156) {
                    default: /*NOTREACHED*/ MR_assert(0);
                    case (MR_Integer) 0:
                      {
                        MR_Word Var_95;

                        {
                          Var_95 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(1, Var_95, 0) = ((MR_Box) (SubDirName_159));
                          MR_hl_field(1, Var_95, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                        }
                        {
                          MR_Word base;
                          base = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          *DirNames_15 = base;
                          MR_hl_field(1, base, 0) = ((MR_Box) ((MR_String) "Mercury"));
                          MR_hl_field(1, base, 1) = ((MR_Box) (Var_95));
                        }
                        *FileName_16 = parse_tree__file_names__glue_dir_names_file_name_3_f_0(*DirNames_15, BaseNameNoExt_160, ExtStr_158);
                      }
                      break;
                    case (MR_Integer) 1:
                      {
                        MR_Word Var_97;

                        {
                          Var_97 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(1, Var_97, 0) = ((MR_Box) (SubDirName_159));
                          MR_hl_field(1, Var_97, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                        }
                        parse_tree__file_names__make_grade_subdir_file_name_6_p_0(Globals_9, Var_97, BaseNameNoExt_160, ExtStr_158, DirNames_15, FileName_16);
                      }
                      break;
                  }
                }
                break;
            }
          }
          break;
        case (MR_Integer) 6:
          {
            MR_Word ExtInitObj_39 = ((MR_Unsigned) ((MR_hl_field(3, Ext_13, (MR_Integer) 1))) & (MR_Integer) 7);
            MR_String ExtStr_151;
            MR_String SubDirName_152;
            MR_String BaseNameNoExt_153;
            MR_Word UseSubdirs_154;

            parse_tree__file_names__ext_init_obj_extension_dir_4_p_0(Globals_9, ExtInitObj_39, &ExtStr_151, &SubDirName_152);
            BaseNameNoExt_153 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
            libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 685, &UseSubdirs_154);
            switch (UseSubdirs_154) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                {
                  *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
                  *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_153, ExtStr_151);
                }
                break;
              case (MR_Integer) 1:
                {
                  MR_Word UseGradeSubdirs_149;

                  libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 686, &UseGradeSubdirs_149);
                  switch (UseGradeSubdirs_149) {
                    default: /*NOTREACHED*/ MR_assert(0);
                    case (MR_Integer) 0:
                      {
                        MR_Word Var_87;

                        {
                          Var_87 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(1, Var_87, 0) = ((MR_Box) (SubDirName_152));
                          MR_hl_field(1, Var_87, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                        }
                        {
                          MR_Word base;
                          base = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          *DirNames_15 = base;
                          MR_hl_field(1, base, 0) = ((MR_Box) ((MR_String) "Mercury"));
                          MR_hl_field(1, base, 1) = ((MR_Box) (Var_87));
                        }
                        *FileName_16 = parse_tree__file_names__glue_dir_names_file_name_3_f_0(*DirNames_15, BaseNameNoExt_153, ExtStr_151);
                      }
                      break;
                    case (MR_Integer) 1:
                      {
                        MR_Word Var_89;

                        {
                          Var_89 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(1, Var_89, 0) = ((MR_Box) (SubDirName_152));
                          MR_hl_field(1, Var_89, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                        }
                        parse_tree__file_names__make_grade_subdir_file_name_6_p_0(Globals_9, Var_89, BaseNameNoExt_153, ExtStr_151, DirNames_15, FileName_16);
                      }
                      break;
                  }
                }
                break;
            }
          }
          break;
        case (MR_Integer) 7:
          {
            MR_String ExtStr_122;
            MR_String BaseNameNoExt_123;

            parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_101_120_116_95_101_120_101_99_95_101_120_116_101_110_115_105_111_110_95_95_91_49_93_95_48_2_p_0(&ExtStr_122);
            *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
            BaseNameNoExt_123 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
            *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_123, ExtStr_122);
          }
          break;
        case (MR_Integer) 8:
          {
            MR_Word ExtExecGs_41 = ((MR_Unsigned) ((MR_hl_field(3, Ext_13, (MR_Integer) 1))) & (MR_Integer) 3);
            MR_String ExtStr_163;
            MR_String SubDirName_164;
            MR_String BaseNameNoExt_165;
            MR_Word UseGradeSubdirs_166;

            parse_tree__file_names__ext_exec_gs_extension_dir_4_p_0(Globals_9, ExtExecGs_41, &ExtStr_163, &SubDirName_164);
            BaseNameNoExt_165 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
            libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 686, &UseGradeSubdirs_166);
            switch (UseGradeSubdirs_166) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                {
                  *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
                  *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_165, ExtStr_163);
                }
                break;
              case (MR_Integer) 1:
                {
                  MR_Word Var_101;

                  {
                    Var_101 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                    MR_hl_field(1, Var_101, 0) = ((MR_Box) (SubDirName_164));
                    MR_hl_field(1, Var_101, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                  }
                  parse_tree__file_names__make_grade_subdir_file_name_6_p_0(Globals_9, Var_101, BaseNameNoExt_165, ExtStr_163, DirNames_15, FileName_16);
                }
                break;
            }
          }
          break;
        case (MR_Integer) 9:
          {
            MR_Word ExtLib_29 = ((MR_Unsigned) ((MR_hl_field(3, Ext_13, (MR_Integer) 1))) & (MR_Integer) 3);
            MR_String ExtStr_193;
            MR_String BaseNameNoExt_194;

            parse_tree__file_names__ext_lib_extension_2_p_0(ExtLib_29, &ExtStr_193);
            *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
            BaseNameNoExt_194 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
            *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_194, ExtStr_193);
          }
          break;
        case (MR_Integer) 10:
          {
            MR_Word ExtLibGs_42 = ((MR_Unsigned) ((MR_hl_field(3, Ext_13, (MR_Integer) 1))) & (MR_Integer) 7);
            MR_String ExtStr_203;
            MR_String SubDirName_204;
            MR_String BaseNameNoExt_205;
            MR_Word UseGradeSubdirs_206;

            parse_tree__file_names__ext_lib_gs_extension_dir_4_p_0(Globals_9, ExtLibGs_42, &ExtStr_203, &SubDirName_204);
            BaseNameNoExt_205 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
            libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 686, &UseGradeSubdirs_206);
            switch (UseGradeSubdirs_206) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                {
                  *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
                  *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_205, ExtStr_203);
                }
                break;
              case (MR_Integer) 1:
                {
                  MR_Word Var_195;

                  {
                    Var_195 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                    MR_hl_field(1, Var_195, 0) = ((MR_Box) (SubDirName_204));
                    MR_hl_field(1, Var_195, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                  }
                  parse_tree__file_names__make_grade_subdir_file_name_6_p_0(Globals_9, Var_195, BaseNameNoExt_205, ExtStr_203, DirNames_15, FileName_16);
                }
                break;
            }
          }
          break;
        case (MR_Integer) 11:
          {
            MR_Word ExtMf_43 = ((MR_Unsigned) ((MR_hl_field(3, Ext_13, (MR_Integer) 1))) & (MR_Integer) 3);
            MR_String ExtStr_167;
            MR_String SubDirName_168;
            MR_String BaseNameNoExt_169;
            MR_Word UseSubdirs_170;

            parse_tree__file_names__ext_mmake_fragment_extension_dir_3_p_0(ExtMf_43, &ExtStr_167, &SubDirName_168);
            BaseNameNoExt_169 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
            libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 685, &UseSubdirs_170);
            switch (UseSubdirs_170) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                {
                  *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
                  *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_169, ExtStr_167);
                }
                break;
              case (MR_Integer) 1:
                {
                  MR_Word Var_106;

                  {
                    Var_106 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                    MR_hl_field(1, Var_106, 0) = ((MR_Box) (SubDirName_168));
                    MR_hl_field(1, Var_106, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                  }
                  {
                    MR_Word base;
                    base = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                    *DirNames_15 = base;
                    MR_hl_field(1, base, 0) = ((MR_Box) ((MR_String) "Mercury"));
                    MR_hl_field(1, base, 1) = ((MR_Box) (Var_106));
                  }
                  *FileName_16 = parse_tree__file_names__glue_dir_names_file_name_3_f_0(*DirNames_15, BaseNameNoExt_169, ExtStr_167);
                }
                break;
            }
          }
          break;
        case (MR_Integer) 12:
          {
            MR_Word ExtMT_30 = ((MR_Unsigned) ((MR_hl_field(3, Ext_13, (MR_Integer) 1))) & (MR_Integer) 31);
            MR_String ExtStr_226;
            MR_String BaseNameNoExt_227;

            parse_tree__file_names__ext_mmake_target_extension_2_p_0(ExtMT_30, &ExtStr_226);
            *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
            BaseNameNoExt_227 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
            *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_227, ExtStr_226);
          }
          break;
        case (MR_Integer) 13:
          {
            MR_Word ExtUser_31 = ((MR_Unsigned) ((MR_hl_field(3, Ext_13, (MR_Integer) 1))) & (MR_Integer) 7);
            MR_String ExtStr_340;
            MR_String BaseNameNoExt_341;

            parse_tree__file_names__ext_user_extension_2_p_0(ExtUser_31, &ExtStr_340);
            *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
            BaseNameNoExt_341 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
            *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_341, ExtStr_340);
          }
          break;
        case (MR_Integer) 14:
          {
            MR_Word ExtUserNgs_20 = ((MR_Unsigned) ((MR_hl_field(3, Ext_13, (MR_Integer) 1))) & (MR_Integer) 15);
            MR_String ExtStr_348;
            MR_String SubDirName_349;
            MR_String BaseNameNoExt_350;
            MR_Word UseSubdirs_351;

            parse_tree__file_names__ext_user_ngs_extension_dir_3_p_0(ExtUserNgs_20, &ExtStr_348, &SubDirName_349);
            BaseNameNoExt_350 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
            libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 685, &UseSubdirs_351);
            switch (UseSubdirs_351) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                {
                  *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
                  *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_350, ExtStr_348);
                }
                break;
              case (MR_Integer) 1:
                {
                  MR_Word Var_343;

                  {
                    Var_343 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                    MR_hl_field(1, Var_343, 0) = ((MR_Box) (SubDirName_349));
                    MR_hl_field(1, Var_343, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                  }
                  {
                    MR_Word base;
                    base = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                    *DirNames_15 = base;
                    MR_hl_field(1, base, 0) = ((MR_Box) ((MR_String) "Mercury"));
                    MR_hl_field(1, base, 1) = ((MR_Box) (Var_343));
                  }
                  *FileName_16 = parse_tree__file_names__glue_dir_names_file_name_3_f_0(*DirNames_15, BaseNameNoExt_350, ExtStr_348);
                }
                break;
            }
          }
          break;
        case (MR_Integer) 15:
          {
            MR_Word ExtAn_44 = ((MR_Unsigned) ((MR_hl_field(3, Ext_13, (MR_Integer) 1))) & (MR_Integer) 7);
            MR_String ExtStr_173;
            MR_String SubDirName_174;
            MR_String BaseNameNoExt_175;
            MR_Word UseSubdirs_176;

            parse_tree__file_names__ext_analysis_extension_dir_3_p_0(ExtAn_44, &ExtStr_173, &SubDirName_174);
            BaseNameNoExt_175 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
            libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 685, &UseSubdirs_176);
            switch (UseSubdirs_176) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                {
                  *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
                  *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_175, ExtStr_173);
                }
                break;
              case (MR_Integer) 1:
                {
                  MR_Word UseGradeSubdirs_171;

                  libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 686, &UseGradeSubdirs_171);
                  succeeded = (UseGradeSubdirs_171 == (MR_Integer) 1);
                  if (succeeded)
                  {
                    succeeded = (Search_11 == (MR_Integer) 0);
                    if (succeeded)
                      switch (ExtAn_44) {
                        default:
                          succeeded = MR_FALSE;
                          break;
                        case (MR_Integer) 0:
                          succeeded = MR_TRUE;
                          break;
                        case (MR_Integer) 3:
                          succeeded = MR_TRUE;
                          break;
                        case (MR_Integer) 4:
                          succeeded = MR_TRUE;
                          break;
                      }
                    succeeded = !(succeeded);
                  }
                  if (succeeded)
                  {
                    MR_Word Var_111;

                    {
                      Var_111 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                      MR_hl_field(1, Var_111, 0) = ((MR_Box) (SubDirName_174));
                      MR_hl_field(1, Var_111, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                    }
                    parse_tree__file_names__make_grade_subdir_file_name_6_p_0(Globals_9, Var_111, BaseNameNoExt_175, ExtStr_173, DirNames_15, FileName_16);
                  }
                  else
                  {
                    MR_Word Var_114;

                    {
                      Var_114 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                      MR_hl_field(1, Var_114, 0) = ((MR_Box) (SubDirName_174));
                      MR_hl_field(1, Var_114, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                    }
                    {
                      MR_Word base;
                      base = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                      *DirNames_15 = base;
                      MR_hl_field(1, base, 0) = ((MR_Box) ((MR_String) "Mercury"));
                      MR_hl_field(1, base, 1) = ((MR_Box) (Var_114));
                    }
                    *FileName_16 = parse_tree__file_names__glue_dir_names_file_name_3_f_0(*DirNames_15, BaseNameNoExt_175, ExtStr_173);
                  }
                }
                break;
            }
          }
          break;
        case (MR_Integer) 16:
          {
            MR_String ExtStr_18;
            MR_String SubDirName_19;
            MR_Word ExtByte_21 = ((MR_Unsigned) ((MR_hl_field(3, Ext_13, (MR_Integer) 1))) & (MR_Integer) 1);
            MR_String BaseNameNoExt_23;
            MR_Word UseSubdirs_24;

            parse_tree__file_names__ext_bytecode_extension_dir_3_p_0(ExtByte_21, &ExtStr_18, &SubDirName_19);
            BaseNameNoExt_23 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
            libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 685, &UseSubdirs_24);
            switch (UseSubdirs_24) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                {
                  *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
                  *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_23, ExtStr_18);
                }
                break;
              case (MR_Integer) 1:
                {
                  MR_Word Var_49;

                  {
                    Var_49 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                    MR_hl_field(1, Var_49, 0) = ((MR_Box) (SubDirName_19));
                    MR_hl_field(1, Var_49, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                  }
                  {
                    MR_Word base;
                    base = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                    *DirNames_15 = base;
                    MR_hl_field(1, base, 0) = ((MR_Box) ((MR_String) "Mercury"));
                    MR_hl_field(1, base, 1) = ((MR_Box) (Var_49));
                  }
                  *FileName_16 = parse_tree__file_names__glue_dir_names_file_name_3_f_0(*DirNames_15, BaseNameNoExt_23, ExtStr_18);
                }
                break;
            }
          }
          break;
        case (MR_Integer) 17:
          {
            MR_Word ExtMiscNgs_22 = ((MR_Unsigned) ((MR_hl_field(3, Ext_13, (MR_Integer) 1))) & (MR_Integer) 3);
            MR_String ExtStr_216;
            MR_String SubDirName_217;
            MR_String BaseNameNoExt_218;
            MR_Word UseSubdirs_219;

            parse_tree__file_names__ext_misc_ngs_extension_dir_3_p_0(ExtMiscNgs_22, &ExtStr_216, &SubDirName_217);
            BaseNameNoExt_218 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
            libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 685, &UseSubdirs_219);
            switch (UseSubdirs_219) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                {
                  *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
                  *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_218, ExtStr_216);
                }
                break;
              case (MR_Integer) 1:
                {
                  MR_Word Var_211;

                  {
                    Var_211 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                    MR_hl_field(1, Var_211, 0) = ((MR_Box) (SubDirName_217));
                    MR_hl_field(1, Var_211, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                  }
                  {
                    MR_Word base;
                    base = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                    *DirNames_15 = base;
                    MR_hl_field(1, base, 0) = ((MR_Box) ((MR_String) "Mercury"));
                    MR_hl_field(1, base, 1) = ((MR_Box) (Var_211));
                  }
                  *FileName_16 = parse_tree__file_names__glue_dir_names_file_name_3_f_0(*DirNames_15, BaseNameNoExt_218, ExtStr_216);
                }
                break;
            }
          }
          break;
        case (MR_Integer) 18:
          {
            MR_Word ExtMiscGs_34 = ((MR_Unsigned) ((MR_hl_field(3, Ext_13, (MR_Integer) 1))) & (MR_Integer) 1);
            MR_String ExtStr_138;
            MR_String SubDirName_139;
            MR_String BaseNameNoExt_140;
            MR_Word UseSubdirs_141;

            parse_tree__file_names__ext_misc_gs_extension_dir_3_p_0(ExtMiscGs_34, &ExtStr_138, &SubDirName_139);
            BaseNameNoExt_140 = mdbcomp__sym_name__sym_name_to_string_sep_2_f_0(ModuleName_14, (MR_String) ".");
            libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 685, &UseSubdirs_141);
            switch (UseSubdirs_141) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                {
                  *DirNames_15 = (MR_Word) ((MR_Unsigned) 0U);
                  *FileName_16 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_140, ExtStr_138);
                }
                break;
              case (MR_Integer) 1:
                {
                  MR_Word UseGradeSubdirs_136;

                  libs__globals__lookup_bool_option_3_p_0(Globals_9, (MR_Integer) 686, &UseGradeSubdirs_136);
                  switch (UseGradeSubdirs_136) {
                    default: /*NOTREACHED*/ MR_assert(0);
                    case (MR_Integer) 0:
                      {
                        MR_Word Var_72;

                        {
                          Var_72 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(1, Var_72, 0) = ((MR_Box) (SubDirName_139));
                          MR_hl_field(1, Var_72, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                        }
                        {
                          MR_Word base;
                          base = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          *DirNames_15 = base;
                          MR_hl_field(1, base, 0) = ((MR_Box) ((MR_String) "Mercury"));
                          MR_hl_field(1, base, 1) = ((MR_Box) (Var_72));
                        }
                        *FileName_16 = parse_tree__file_names__glue_dir_names_file_name_3_f_0(*DirNames_15, BaseNameNoExt_140, ExtStr_138);
                      }
                      break;
                    case (MR_Integer) 1:
                      {
                        MR_Word Var_74;

                        {
                          Var_74 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(1, Var_74, 0) = ((MR_Box) (SubDirName_139));
                          MR_hl_field(1, Var_74, 1) = ((MR_Box) ((MR_Unsigned) 0U));
                        }
                        parse_tree__file_names__make_grade_subdir_file_name_6_p_0(Globals_9, Var_74, BaseNameNoExt_140, ExtStr_138, DirNames_15, FileName_16);
                      }
                      break;
                  }
                }
                break;
            }
          }
          break;
      }
      break;
  }
}

static void MR_CALL 
parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_101_120_116_95_101_120_101_99_95_101_120_116_101_110_115_105_111_110_95_95_91_49_93_95_48_2_p_0(
  MR_String * HeadVar__2_2)
{
  *HeadVar__2_2 = (MR_String) ".exe";
}

static void MR_CALL 
parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_101_120_116_95_105_110_105_116_95_99_95_101_120_116_101_110_115_105_111_110_95_100_105_114_95_95_91_49_93_95_48_3_p_0(
  MR_String * HeadVar__2_2,
  MR_String * HeadVar__3_3)
{
  *HeadVar__2_2 = (MR_String) "_init.c";
  *HeadVar__3_3 = (MR_String) "cs";
}

static void MR_CALL 
parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_101_120_116_95_109_105_104_95_101_120_116_101_110_115_105_111_110_95_100_105_114_95_95_91_49_93_95_48_3_p_0(
  MR_String * HeadVar__2_2,
  MR_String * HeadVar__3_3)
{
  *HeadVar__2_2 = (MR_String) ".mih";
  *HeadVar__3_3 = (MR_String) "mihs";
}

static void MR_CALL 
parse_tree__file_names__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_101_120_116_95_109_104_95_101_120_116_101_110_115_105_111_110_95_95_91_49_93_95_48_2_p_0(
  MR_String * HeadVar__2_2)
{
  *HeadVar__2_2 = (MR_String) ".mh";
}

static MR_String MR_CALL 
parse_tree__file_names__glue_dir_names_file_name_3_f_0(
  MR_Word DirComponents_5,
  MR_String BaseNameNoExt_6,
  MR_String ExtStr_7)
{
  MR_String FileName_8;

  if ((DirComponents_5 == (MR_Word) ((MR_Unsigned) 0U)))
    FileName_8 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_6, ExtStr_7);
  else
  {
    MR_Word Components_11;
    MR_Word Var_12;
    MR_String Var_13;

    Var_13 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_6, ExtStr_7);
    {
      Var_12 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
      MR_hl_field(1, Var_12, 0) = ((MR_Box) (Var_13));
      MR_hl_field(1, Var_12, 1) = ((MR_Box) ((MR_Unsigned) 0U));
    }
    Components_11 = mercury__list__f_43_43_2_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), DirComponents_5, Var_12);
    FileName_8 = mercury__dir__relative_path_name_from_components_1_f_0(Components_11);
  }
  return FileName_8;
}

static void MR_CALL 
parse_tree__file_names__make_grade_subdir_file_name_6_p_0(
  MR_Word Globals_7,
  MR_Word SubDirNames_8,
  MR_String BaseNameNoExt_9,
  MR_String ExtStr_10,
  MR_Word * DirComponents_11,
  MR_String * FileName_12)
{
  MR_String Grade_13;
  MR_String TargetArch_14;
  MR_Word Var_17;
  MR_Word Var_18;
  MR_Word Var_19;
  MR_Word Components_23;
  MR_Word Var_24;
  MR_String Var_25;

  libs__compute_grade__grade_directory_component_2_p_0(Globals_7, &Grade_13);
  libs__globals__lookup_string_option_3_p_0(Globals_7, (MR_Integer) 704, &TargetArch_14);
  {
    Var_19 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
    MR_hl_field(1, Var_19, 0) = ((MR_Box) ((MR_String) "Mercury"));
    MR_hl_field(1, Var_19, 1) = ((MR_Box) (SubDirNames_8));
  }
  {
    Var_18 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
    MR_hl_field(1, Var_18, 0) = ((MR_Box) (TargetArch_14));
    MR_hl_field(1, Var_18, 1) = ((MR_Box) (Var_19));
  }
  {
    Var_17 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
    MR_hl_field(1, Var_17, 0) = ((MR_Box) (Grade_13));
    MR_hl_field(1, Var_17, 1) = ((MR_Box) (Var_18));
  }
  {
    MR_Word base;
    base = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
    *DirComponents_11 = base;
    MR_hl_field(1, base, 0) = ((MR_Box) ((MR_String) "Mercury"));
    MR_hl_field(1, base, 1) = ((MR_Box) (Var_17));
  }
  Var_25 = mercury__string__f_43_43_2_f_0(BaseNameNoExt_9, ExtStr_10);
  {
    Var_24 = (MR_Word) MR_mkword(1, MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
    MR_hl_field(1, Var_24, 0) = ((MR_Box) (Var_25));
    MR_hl_field(1, Var_24, 1) = ((MR_Box) ((MR_Unsigned) 0U));
  }
  Components_23 = mercury__list__f_43_43_2_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), *DirComponents_11, Var_24);
  *FileName_12 = mercury__dir__relative_path_name_from_components_1_f_0(Components_23);
}

static void MR_CALL 
parse_tree__file_names__ext_misc_gs_extension_dir_3_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2,
  MR_String * HeadVar__3_3)
{
  switch (HeadVar__1_1) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 1:
      {
        *HeadVar__2_2 = (MR_String) ".track_flags";
        *HeadVar__3_3 = (MR_String) "track_flagss";
      }
      break;
    case (MR_Integer) 0:
      {
        *HeadVar__2_2 = (MR_String) ".used";
        *HeadVar__3_3 = (MR_String) "useds";
      }
      break;
  }
}

static void MR_CALL 
parse_tree__file_names__ext_misc_ngs_extension_dir_3_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2,
  MR_String * HeadVar__3_3)
{
  switch (HeadVar__1_1) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 1:
      {
        *HeadVar__2_2 = (MR_String) ".err_date";
        *HeadVar__3_3 = (MR_String) "err_dates";
      }
      break;
    case (MR_Integer) 0:
      {
        *HeadVar__2_2 = (MR_String) ".module_dep";
        *HeadVar__3_3 = (MR_String) "module_deps";
      }
      break;
    case (MR_Integer) 2:
      {
        *HeadVar__2_2 = (MR_String) ".prof";
        *HeadVar__3_3 = (MR_String) "profs";
      }
      break;
  }
}

static void MR_CALL 
parse_tree__file_names__ext_bytecode_extension_dir_3_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2,
  MR_String * HeadVar__3_3)
{
  switch (HeadVar__1_1) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 1:
      {
        *HeadVar__2_2 = (MR_String) ".bytedebug";
        *HeadVar__3_3 = (MR_String) "bytedebugs";
      }
      break;
    case (MR_Integer) 0:
      {
        *HeadVar__2_2 = (MR_String) ".mbc";
        *HeadVar__3_3 = (MR_String) "mbcs";
      }
      break;
  }
}

static void MR_CALL 
parse_tree__file_names__ext_analysis_extension_dir_3_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2,
  MR_String * HeadVar__3_3)
{
  *HeadVar__2_2 = ((&parse_tree__file_names_vector_common_5[21 + HeadVar__1_1]))->parse_tree__file_names__vector_common_type_5_0__vct_5_f_0;
  *HeadVar__3_3 = ((&parse_tree__file_names_vector_common_5[21 + HeadVar__1_1]))->parse_tree__file_names__vector_common_type_5_0__vct_5_f_1;
}

static void MR_CALL 
parse_tree__file_names__ext_user_ngs_extension_dir_3_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2,
  MR_String * HeadVar__3_3)
{
  *HeadVar__2_2 = ((&parse_tree__file_names_vector_common_5[11 + HeadVar__1_1]))->parse_tree__file_names__vector_common_type_5_0__vct_5_f_0;
  *HeadVar__3_3 = ((&parse_tree__file_names_vector_common_5[11 + HeadVar__1_1]))->parse_tree__file_names__vector_common_type_5_0__vct_5_f_1;
}

static void MR_CALL 
parse_tree__file_names__ext_user_extension_2_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2)
{
  *HeadVar__2_2 = ((&parse_tree__file_names_vector_common_4[68 + HeadVar__1_1]))->parse_tree__file_names__vector_common_type_4_0__vct_4_f_0;
}

static void MR_CALL 
parse_tree__file_names__ext_mmake_target_extension_2_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2)
{
  *HeadVar__2_2 = ((&parse_tree__file_names_vector_common_4[50 + HeadVar__1_1]))->parse_tree__file_names__vector_common_type_4_0__vct_4_f_0;
}

static void MR_CALL 
parse_tree__file_names__ext_mmake_fragment_extension_dir_3_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2,
  MR_String * HeadVar__3_3)
{
  switch (HeadVar__1_1) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 0:
      {
        *HeadVar__2_2 = (MR_String) ".d";
        *HeadVar__3_3 = (MR_String) "ds";
      }
      break;
    case (MR_Integer) 2:
      {
        *HeadVar__2_2 = (MR_String) ".dep";
        *HeadVar__3_3 = (MR_String) "deps";
      }
      break;
    case (MR_Integer) 1:
      {
        *HeadVar__2_2 = (MR_String) ".dv";
        *HeadVar__3_3 = (MR_String) "deps";
      }
      break;
  }
}

static void MR_CALL 
parse_tree__file_names__ext_lib_gs_extension_dir_4_p_0(
  MR_Word Globals_1,
  MR_Word HeadVar__2_2,
  MR_String * HeadVar__3_3,
  MR_String * HeadVar__4_4)
{
  switch (HeadVar__2_2) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 1:
      {
        *HeadVar__3_3 = (MR_String) ".a";
        *HeadVar__4_4 = (MR_String) "as";
      }
      break;
    case (MR_Integer) 2:
      {
        *HeadVar__3_3 = (MR_String) ".dll";
        *HeadVar__4_4 = (MR_String) "dlls";
      }
      break;
    case (MR_Integer) 0:
      {
        *HeadVar__3_3 = (MR_String) ".\044A";
        *HeadVar__4_4 = (MR_String) "\044As";
      }
      break;
    case (MR_Integer) 3:
      {
        *HeadVar__3_3 = (MR_String) ".init";
        *HeadVar__4_4 = (MR_String) "inits";
      }
      break;
    case (MR_Integer) 4:
      {
        *HeadVar__3_3 = (MR_String) ".jar";
        *HeadVar__4_4 = (MR_String) "jars";
      }
      break;
    case (MR_Integer) 5:
      {
        *HeadVar__4_4 = (MR_String) "lib";
        libs__globals__lookup_string_option_3_p_0(Globals_1, (MR_Integer) 612, HeadVar__3_3);
      }
      break;
    case (MR_Integer) 6:
      {
        *HeadVar__4_4 = (MR_String) "lib";
        libs__globals__lookup_string_option_3_p_0(Globals_1, (MR_Integer) 611, HeadVar__3_3);
      }
      break;
  }
}

static void MR_CALL 
parse_tree__file_names__ext_lib_extension_2_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2)
{
  switch (HeadVar__1_1) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 0:
      *HeadVar__2_2 = (MR_String) ".\044(EXT_FOR_SHARED_LIB)";
      break;
    case (MR_Integer) 1:
      *HeadVar__2_2 = (MR_String) ".lib";
      break;
    case (MR_Integer) 2:
      *HeadVar__2_2 = (MR_String) ".so";
      break;
  }
}

static void MR_CALL 
parse_tree__file_names__ext_exec_gs_extension_dir_4_p_0(
  MR_Word Globals_1,
  MR_Word HeadVar__2_2,
  MR_String * HeadVar__3_3,
  MR_String * HeadVar__4_4)
{
  switch (HeadVar__2_2) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 2:
      {
        *HeadVar__4_4 = (MR_String) "bin";
        libs__globals__lookup_string_option_3_p_0(Globals_1, (MR_Integer) 613, HeadVar__3_3);
      }
      break;
    case (MR_Integer) 1:
      {
        *HeadVar__3_3 = (MR_String) ".bat";
        *HeadVar__4_4 = (MR_String) "bats";
      }
      break;
    case (MR_Integer) 0:
      {
        *HeadVar__3_3 = (MR_String) "";
        *HeadVar__4_4 = (MR_String) "bin";
      }
      break;
  }
}

static void MR_CALL 
parse_tree__file_names__ext_init_obj_extension_dir_4_p_0(
  MR_Word Globals_1,
  MR_Word HeadVar__2_2,
  MR_String * HeadVar__3_3,
  MR_String * HeadVar__4_4)
{
  switch (HeadVar__2_2) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 0:
      {
        *HeadVar__3_3 = (MR_String) "_init.\044O";
        *HeadVar__4_4 = (MR_String) "os";
      }
      break;
    case (MR_Integer) 1:
      {
        *HeadVar__3_3 = (MR_String) "_init.o";
        *HeadVar__4_4 = (MR_String) "os";
      }
      break;
    case (MR_Integer) 3:
      {
        MR_String ExtStr0_10;

        *HeadVar__4_4 = (MR_String) "os";
        libs__globals__lookup_string_option_3_p_0(Globals_1, (MR_Integer) 560, &ExtStr0_10);
        *HeadVar__3_3 = mercury__string__f_43_43_2_f_0((MR_String) "_init", ExtStr0_10);
      }
      break;
    case (MR_Integer) 2:
      {
        *HeadVar__3_3 = (MR_String) "_init.pic_o";
        *HeadVar__4_4 = (MR_String) "os";
      }
      break;
    case (MR_Integer) 4:
      {
        MR_String ExtStr0_15;

        *HeadVar__4_4 = (MR_String) "os";
        libs__globals__lookup_string_option_3_p_0(Globals_1, (MR_Integer) 561, &ExtStr0_15);
        *HeadVar__3_3 = mercury__string__f_43_43_2_f_0((MR_String) "_init", ExtStr0_15);
      }
      break;
  }
}

static void MR_CALL 
parse_tree__file_names__ext_obj_extension_dir_4_p_0(
  MR_Word Globals_1,
  MR_Word HeadVar__2_2,
  MR_String * HeadVar__3_3,
  MR_String * HeadVar__4_4)
{
  switch (HeadVar__2_2) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 1:
      {
        *HeadVar__3_3 = (MR_String) ".\044(EXT_FOR_PIC_OBJECTS)";
        *HeadVar__4_4 = (MR_String) "os";
      }
      break;
    case (MR_Integer) 0:
      {
        *HeadVar__3_3 = (MR_String) ".\044O";
        *HeadVar__4_4 = (MR_String) "os";
      }
      break;
    case (MR_Integer) 2:
      {
        *HeadVar__3_3 = (MR_String) ".o";
        *HeadVar__4_4 = (MR_String) "os";
      }
      break;
    case (MR_Integer) 4:
      {
        *HeadVar__4_4 = (MR_String) "os";
        libs__globals__lookup_string_option_3_p_0(Globals_1, (MR_Integer) 560, HeadVar__3_3);
      }
      break;
    case (MR_Integer) 3:
      {
        *HeadVar__3_3 = (MR_String) ".pic_o";
        *HeadVar__4_4 = (MR_String) "os";
      }
      break;
    case (MR_Integer) 5:
      {
        *HeadVar__4_4 = (MR_String) "os";
        libs__globals__lookup_string_option_3_p_0(Globals_1, (MR_Integer) 561, HeadVar__3_3);
      }
      break;
  }
}

static void MR_CALL 
parse_tree__file_names__ext_target_date_extension_dir_3_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2,
  MR_String * HeadVar__3_3)
{
  switch (HeadVar__1_1) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 0:
      {
        *HeadVar__2_2 = (MR_String) ".c_date";
        *HeadVar__3_3 = (MR_String) "c_dates";
      }
      break;
    case (MR_Integer) 1:
      {
        *HeadVar__2_2 = (MR_String) ".cs_date";
        *HeadVar__3_3 = (MR_String) "cs_dates";
      }
      break;
    case (MR_Integer) 2:
      {
        *HeadVar__2_2 = (MR_String) ".java_date";
        *HeadVar__3_3 = (MR_String) "java_dates";
      }
      break;
  }
}

static void MR_CALL 
parse_tree__file_names__ext_target_java_extension_dirs_3_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2,
  MR_Word * HeadVar__3_3)
{
  switch (HeadVar__1_1) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 1:
      {
        *HeadVar__2_2 = (MR_String) ".class";
        *HeadVar__3_3 = (MR_Word) (MR_mkword(1, &parse_tree__file_names_scalar_common_2[2]));
      }
      break;
    case (MR_Integer) 0:
      {
        *HeadVar__2_2 = (MR_String) ".java";
        *HeadVar__3_3 = (MR_Word) (MR_mkword(1, &parse_tree__file_names_scalar_common_2[3]));
      }
      break;
  }
}

static void MR_CALL 
parse_tree__file_names__ext_target_c_cs_extension_dir_3_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2,
  MR_String * HeadVar__3_3)
{
  switch (HeadVar__1_1) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 0:
      {
        *HeadVar__2_2 = (MR_String) ".c";
        *HeadVar__3_3 = (MR_String) "cs";
      }
      break;
    case (MR_Integer) 1:
      {
        *HeadVar__2_2 = (MR_String) ".cs";
        *HeadVar__3_3 = (MR_String) "css";
      }
      break;
  }
}

static void MR_CALL 
parse_tree__file_names__ext_opt_extension_dir_3_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2,
  MR_String * HeadVar__3_3)
{
  *HeadVar__2_2 = ((&parse_tree__file_names_vector_common_5[7 + HeadVar__1_1]))->parse_tree__file_names__vector_common_type_5_0__vct_5_f_0;
  *HeadVar__3_3 = ((&parse_tree__file_names_vector_common_5[7 + HeadVar__1_1]))->parse_tree__file_names__vector_common_type_5_0__vct_5_f_1;
}

static void MR_CALL 
parse_tree__file_names__ext_int_extension_dir_3_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2,
  MR_String * HeadVar__3_3)
{
  *HeadVar__2_2 = ((&parse_tree__file_names_vector_common_5[0 + HeadVar__1_1]))->parse_tree__file_names__vector_common_type_5_0__vct_5_f_0;
  *HeadVar__3_3 = ((&parse_tree__file_names_vector_common_5[0 + HeadVar__1_1]))->parse_tree__file_names__vector_common_type_5_0__vct_5_f_1;
}

void MR_CALL 
parse_tree__file_names__module_name_to_source_file_name_4_p_0(
  MR_Word ModuleName_5,
  MR_String * SourceFileName_6)
{
  MR_Word MaybeFileName_8;

  parse_tree__source_file_map__lookup_module_source_file_4_p_0(ModuleName_5, &MaybeFileName_8);
  if ((MaybeFileName_8 == (MR_Word) ((MR_Unsigned) 0U)))
  {
    MR_String Var_13;

    Var_13 = parse_tree__source_file_map__default_source_file_name_1_f_0(ModuleName_5);
    *SourceFileName_6 = mercury__string__f_43_43_2_f_0((MR_String) "Mercury/.missing.", Var_13);
  }
  else
    *SourceFileName_6 = ((MR_String) ((MR_hl_field(1, MaybeFileName_8, (MR_Integer) 0))));
}

MR_String MR_CALL 
parse_tree__file_names__extension_to_string_2_f_0(
  MR_Word Globals_4,
  MR_Word Ext_5)
{
  MR_String ExtStr_6;

  switch (MR_tag((MR_Word) Ext_5)) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 0:
      {
        MR_Word ExtInt_7 = ((MR_Unsigned) ((MR_hl_field(0, Ext_5, (MR_Integer) 0))) & (MR_Integer) 7);

        ExtStr_6 = ((&parse_tree__file_names_vector_common_4[5 + ExtInt_7]))->parse_tree__file_names__vector_common_type_4_0__vct_4_f_0;
      }
      break;
    case (MR_Integer) 1:
      {
        MR_Word ExtOpt_9 = ((MR_Unsigned) ((MR_hl_field(1, Ext_5, (MR_Integer) 0))) & (MR_Integer) 3);

        ExtStr_6 = ((&parse_tree__file_names_vector_common_4[30 + ExtOpt_9]))->parse_tree__file_names__vector_common_type_4_0__vct_4_f_0;
      }
      break;
    case (MR_Integer) 2:
      ExtStr_6 = (MR_String) ".mh";
      break;
    case (MR_Integer) 3:
      switch (((MR_Integer) ((MR_hl_field(3, Ext_5, (MR_Integer) 0))))) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          ExtStr_6 = (MR_String) ".mih";
          break;
        case (MR_Integer) 1:
          {
            MR_Word ExtCCs_11 = ((MR_Unsigned) ((MR_hl_field(3, Ext_5, (MR_Integer) 1))) & (MR_Integer) 1);

            switch (ExtCCs_11) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                ExtStr_6 = (MR_String) ".c";
                break;
              case (MR_Integer) 1:
                ExtStr_6 = (MR_String) ".cs";
                break;
            }
          }
          break;
        case (MR_Integer) 2:
          {
            MR_Word ExtJava_12 = ((MR_Unsigned) ((MR_hl_field(3, Ext_5, (MR_Integer) 1))) & (MR_Integer) 1);

            switch (ExtJava_12) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 1:
                ExtStr_6 = (MR_String) ".class";
                break;
              case (MR_Integer) 0:
                ExtStr_6 = (MR_String) ".java";
                break;
            }
          }
          break;
        case (MR_Integer) 3:
          {
            MR_Word ExtTargetDate_14 = ((MR_Unsigned) ((MR_hl_field(3, Ext_5, (MR_Integer) 1))) & (MR_Integer) 3);

            switch (ExtTargetDate_14) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                ExtStr_6 = (MR_String) ".c_date";
                break;
              case (MR_Integer) 1:
                ExtStr_6 = (MR_String) ".cs_date";
                break;
              case (MR_Integer) 2:
                ExtStr_6 = (MR_String) ".java_date";
                break;
            }
          }
          break;
        case (MR_Integer) 4:
          {
            MR_Word ExtObj_15 = ((MR_Unsigned) ((MR_hl_field(3, Ext_5, (MR_Integer) 1))) & (MR_Integer) 7);

            switch (ExtObj_15) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 1:
                ExtStr_6 = (MR_String) ".\044(EXT_FOR_PIC_OBJECTS)";
                break;
              case (MR_Integer) 0:
                ExtStr_6 = (MR_String) ".\044O";
                break;
              case (MR_Integer) 2:
                ExtStr_6 = (MR_String) ".o";
                break;
              case (MR_Integer) 4:
                libs__globals__lookup_string_option_3_p_0(Globals_4, (MR_Integer) 560, &ExtStr_6);
                break;
              case (MR_Integer) 3:
                ExtStr_6 = (MR_String) ".pic_o";
                break;
              case (MR_Integer) 5:
                libs__globals__lookup_string_option_3_p_0(Globals_4, (MR_Integer) 561, &ExtStr_6);
                break;
            }
          }
          break;
        case (MR_Integer) 5:
          ExtStr_6 = (MR_String) "_init.c";
          break;
        case (MR_Integer) 6:
          {
            MR_Word ExtInitObj_17 = ((MR_Unsigned) ((MR_hl_field(3, Ext_5, (MR_Integer) 1))) & (MR_Integer) 7);

            switch (ExtInitObj_17) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                ExtStr_6 = (MR_String) "_init.\044O";
                break;
              case (MR_Integer) 1:
                ExtStr_6 = (MR_String) "_init.o";
                break;
              case (MR_Integer) 3:
                {
                  MR_String ExtStr0_81;

                  libs__globals__lookup_string_option_3_p_0(Globals_4, (MR_Integer) 560, &ExtStr0_81);
                  ExtStr_6 = mercury__string__f_43_43_2_f_0((MR_String) "_init", ExtStr0_81);
                }
                break;
              case (MR_Integer) 2:
                ExtStr_6 = (MR_String) "_init.pic_o";
                break;
              case (MR_Integer) 4:
                {
                  MR_String ExtStr0_86;

                  libs__globals__lookup_string_option_3_p_0(Globals_4, (MR_Integer) 561, &ExtStr0_86);
                  ExtStr_6 = mercury__string__f_43_43_2_f_0((MR_String) "_init", ExtStr0_86);
                }
                break;
            }
          }
          break;
        case (MR_Integer) 7:
          ExtStr_6 = (MR_String) ".exe";
          break;
        case (MR_Integer) 8:
          {
            MR_Word ExtExecGs_19 = ((MR_Unsigned) ((MR_hl_field(3, Ext_5, (MR_Integer) 1))) & (MR_Integer) 3);

            switch (ExtExecGs_19) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 2:
                libs__globals__lookup_string_option_3_p_0(Globals_4, (MR_Integer) 613, &ExtStr_6);
                break;
              case (MR_Integer) 1:
                ExtStr_6 = (MR_String) ".bat";
                break;
              case (MR_Integer) 0:
                ExtStr_6 = (MR_String) "";
                break;
            }
          }
          break;
        case (MR_Integer) 9:
          {
            MR_Word ExtLib_20 = ((MR_Unsigned) ((MR_hl_field(3, Ext_5, (MR_Integer) 1))) & (MR_Integer) 3);

            switch (ExtLib_20) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                ExtStr_6 = (MR_String) ".\044(EXT_FOR_SHARED_LIB)";
                break;
              case (MR_Integer) 1:
                ExtStr_6 = (MR_String) ".lib";
                break;
              case (MR_Integer) 2:
                ExtStr_6 = (MR_String) ".so";
                break;
            }
          }
          break;
        case (MR_Integer) 10:
          {
            MR_Word ExtLibGs_21 = ((MR_Unsigned) ((MR_hl_field(3, Ext_5, (MR_Integer) 1))) & (MR_Integer) 7);

            switch (ExtLibGs_21) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 1:
                ExtStr_6 = (MR_String) ".a";
                break;
              case (MR_Integer) 2:
                ExtStr_6 = (MR_String) ".dll";
                break;
              case (MR_Integer) 0:
                ExtStr_6 = (MR_String) ".\044A";
                break;
              case (MR_Integer) 3:
                ExtStr_6 = (MR_String) ".init";
                break;
              case (MR_Integer) 4:
                ExtStr_6 = (MR_String) ".jar";
                break;
              case (MR_Integer) 5:
                libs__globals__lookup_string_option_3_p_0(Globals_4, (MR_Integer) 612, &ExtStr_6);
                break;
              case (MR_Integer) 6:
                libs__globals__lookup_string_option_3_p_0(Globals_4, (MR_Integer) 611, &ExtStr_6);
                break;
            }
          }
          break;
        case (MR_Integer) 11:
          {
            MR_Word ExtMf_22 = ((MR_Unsigned) ((MR_hl_field(3, Ext_5, (MR_Integer) 1))) & (MR_Integer) 3);

            switch (ExtMf_22) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                ExtStr_6 = (MR_String) ".d";
                break;
              case (MR_Integer) 2:
                ExtStr_6 = (MR_String) ".dep";
                break;
              case (MR_Integer) 1:
                ExtStr_6 = (MR_String) ".dv";
                break;
            }
          }
          break;
        case (MR_Integer) 12:
          {
            MR_Word ExtMT_23 = ((MR_Unsigned) ((MR_hl_field(3, Ext_5, (MR_Integer) 1))) & (MR_Integer) 31);

            ExtStr_6 = ((&parse_tree__file_names_vector_common_4[12 + ExtMT_23]))->parse_tree__file_names__vector_common_type_4_0__vct_4_f_0;
          }
          break;
        case (MR_Integer) 13:
          {
            MR_Word ExtUser_24 = ((MR_Unsigned) ((MR_hl_field(3, Ext_5, (MR_Integer) 1))) & (MR_Integer) 7);

            ExtStr_6 = ((&parse_tree__file_names_vector_common_4[34 + ExtUser_24]))->parse_tree__file_names__vector_common_type_4_0__vct_4_f_0;
          }
          break;
        case (MR_Integer) 14:
          {
            MR_Word ExtUserNgs_25 = ((MR_Unsigned) ((MR_hl_field(3, Ext_5, (MR_Integer) 1))) & (MR_Integer) 15);

            ExtStr_6 = ((&parse_tree__file_names_vector_common_4[40 + ExtUserNgs_25]))->parse_tree__file_names__vector_common_type_4_0__vct_4_f_0;
          }
          break;
        case (MR_Integer) 15:
          {
            MR_Word ExtAn_26 = ((MR_Unsigned) ((MR_hl_field(3, Ext_5, (MR_Integer) 1))) & (MR_Integer) 7);

            ExtStr_6 = ((&parse_tree__file_names_vector_common_4[0 + ExtAn_26]))->parse_tree__file_names__vector_common_type_4_0__vct_4_f_0;
          }
          break;
        case (MR_Integer) 16:
          {
            MR_Word ExtByte_27 = ((MR_Unsigned) ((MR_hl_field(3, Ext_5, (MR_Integer) 1))) & (MR_Integer) 1);

            switch (ExtByte_27) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 1:
                ExtStr_6 = (MR_String) ".bytedebug";
                break;
              case (MR_Integer) 0:
                ExtStr_6 = (MR_String) ".mbc";
                break;
            }
          }
          break;
        case (MR_Integer) 17:
          {
            MR_Word ExtMiscNgs_28 = ((MR_Unsigned) ((MR_hl_field(3, Ext_5, (MR_Integer) 1))) & (MR_Integer) 3);

            switch (ExtMiscNgs_28) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 1:
                ExtStr_6 = (MR_String) ".err_date";
                break;
              case (MR_Integer) 0:
                ExtStr_6 = (MR_String) ".module_dep";
                break;
              case (MR_Integer) 2:
                ExtStr_6 = (MR_String) ".prof";
                break;
            }
          }
          break;
        case (MR_Integer) 18:
          {
            MR_Word ExtMiscGs_29 = ((MR_Unsigned) ((MR_hl_field(3, Ext_5, (MR_Integer) 1))) & (MR_Integer) 1);

            switch (ExtMiscGs_29) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 1:
                ExtStr_6 = (MR_String) ".track_flags";
                break;
              case (MR_Integer) 0:
                ExtStr_6 = (MR_String) ".used";
                break;
            }
          }
          break;
      }
      break;
  }
  return ExtStr_6;
}

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

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

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

  parse_tree__file_names____Compare____count_sum_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 
parse_tree__file_names____Unify____ext_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____ext_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 
parse_tree__file_names____Unify____ext_analysis_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____ext_analysis_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 
parse_tree__file_names____Unify____ext_bytecode_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____ext_bytecode_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 
parse_tree__file_names____Unify____ext_exec_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

  succeeded = parse_tree__file_names____Unify____ext_exec_0_0();
  return succeeded;
}

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

  parse_tree__file_names____Compare____ext_exec_0_0(&conv0_HeadVar__1_1);
  *wrapper_arg_1 = ((MR_Box) (conv0_HeadVar__1_1));
}

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

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

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

  parse_tree__file_names____Compare____ext_exec_gs_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 
parse_tree__file_names____Unify____ext_init_c_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

  succeeded = parse_tree__file_names____Unify____ext_init_c_0_0();
  return succeeded;
}

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

  parse_tree__file_names____Compare____ext_init_c_0_0(&conv0_HeadVar__1_1);
  *wrapper_arg_1 = ((MR_Box) (conv0_HeadVar__1_1));
}

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

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

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

  parse_tree__file_names____Compare____ext_init_obj_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 
parse_tree__file_names____Unify____ext_int_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____ext_int_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 
parse_tree__file_names____Unify____ext_lib_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____ext_lib_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 
parse_tree__file_names____Unify____ext_lib_gs_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____ext_lib_gs_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 
parse_tree__file_names____Unify____ext_mh_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

  succeeded = parse_tree__file_names____Unify____ext_mh_0_0();
  return succeeded;
}

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

  parse_tree__file_names____Compare____ext_mh_0_0(&conv0_HeadVar__1_1);
  *wrapper_arg_1 = ((MR_Box) (conv0_HeadVar__1_1));
}

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

  succeeded = parse_tree__file_names____Unify____ext_mih_0_0();
  return succeeded;
}

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

  parse_tree__file_names____Compare____ext_mih_0_0(&conv0_HeadVar__1_1);
  *wrapper_arg_1 = ((MR_Box) (conv0_HeadVar__1_1));
}

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

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

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

  parse_tree__file_names____Compare____ext_misc_gs_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 
parse_tree__file_names____Unify____ext_misc_ngs_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____ext_misc_ngs_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 
parse_tree__file_names____Unify____ext_mmake_fragment_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____ext_mmake_fragment_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 
parse_tree__file_names____Unify____ext_mmake_target_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____ext_mmake_target_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 
parse_tree__file_names____Unify____ext_obj_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____ext_obj_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 
parse_tree__file_names____Unify____ext_opt_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____ext_opt_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 
parse_tree__file_names____Unify____ext_target_c_cs_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____ext_target_c_cs_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 
parse_tree__file_names____Unify____ext_target_date_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____ext_target_date_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 
parse_tree__file_names____Unify____ext_target_java_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____ext_target_java_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 
parse_tree__file_names____Unify____ext_user_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____ext_user_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 
parse_tree__file_names____Unify____ext_user_ngs_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____ext_user_ngs_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 
parse_tree__file_names____Unify____maybe_create_dirs_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____maybe_create_dirs_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 
parse_tree__file_names____Unify____maybe_search_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____maybe_search_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 
parse_tree__file_names____Unify____record_key_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____record_key_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 
parse_tree__file_names____Unify____record_value_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  MR_bool succeeded;

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

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

  parse_tree__file_names____Compare____record_value_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));
}

void mercury__parse_tree__file_names__init(void)
{
}

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

	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_count_sum_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_analysis_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_bytecode_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_exec_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_exec_gs_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_init_c_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_init_obj_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_int_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_lib_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_lib_gs_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_mh_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_mih_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_misc_gs_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_misc_ngs_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_mmake_fragment_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_mmake_target_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_obj_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_opt_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_target_c_cs_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_target_date_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_target_java_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_user_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_ext_user_ngs_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_maybe_create_dirs_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_maybe_search_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_record_key_0);
	MR_register_type_ctor_info(&parse_tree__file_names__parse_tree__file_names__type_ctor_info_record_value_0);
}

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

void mercury__parse_tree__file_names__required_init(void)
{
	parse_tree__file_names__user_init_pred_206_0();
	parse_tree__file_names__user_init_pred_216_0();
	parse_tree__file_names__user_init_pred_219_0();
	parse_tree__file_names__user_init_pred_220_0();
}

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

// :- end_module parse_tree.file_names.
