/*
** Automatically generated from `structure_reuse.analysis.m'
** by the Mercury compiler,
** version 14.01.1, configured for x86_64-apple-darwin13.3.0.
** Do not edit.
**
** The autoconfigured grade settings governing
** the generation of this C file were
**
** TAG_BITS=2
** UNBOXED_FLOAT=no
** PREGENERATED_DIST=yes
** HIGHLEVEL_CODE=yes
**
** END_OF_C_GRADE_INFO
*/


/* :- module transform_hlds.ctgc.structure_reuse.analysis. */
/* :- implementation. */

/*
INIT mercury__transform_hlds__ctgc__structure_reuse__analysis__init
ENDINIT
*/

#include "transform_hlds.ctgc.structure_reuse.analysis.mih"


#include "analysis.mih"
#include "array.mih"
#include "assoc_list.mih"
#include "bag.mih"
#include "bimap.mih"
#include "bitmap.mih"
#include "bool.mih"
#include "builtin.mih"
#include "char.mih"
#include "check_hlds.mih"
#include "construct.mih"
#include "deconstruct.mih"
#include "digraph.mih"
#include "enum.mih"
#include "getopt_io.mih"
#include "hlds.mih"
#include "int.mih"
#include "io.mih"
#include "libs.mih"
#include "list.mih"
#include "ll_backend.mih"
#include "map.mih"
#include "maybe.mih"
#include "mdbcomp.mih"
#include "mode_robdd.mih"
#include "multi_map.mih"
#include "ops.mih"
#include "pair.mih"
#include "parse_tree.mih"
#include "pretty_printer.mih"
#include "private_builtin.mih"
#include "queue.mih"
#include "random.mih"
#include "recompilation.mih"
#include "require.mih"
#include "robdd.mih"
#include "rtti_implementation.mih"
#include "set.mih"
#include "set_ordlist.mih"
#include "sparse_bitset.mih"
#include "stack.mih"
#include "stream.mih"
#include "string.mih"
#include "term.mih"
#include "time.mih"
#include "transform_hlds.mih"
#include "tree234.mih"
#include "tree_bitset.mih"
#include "type_desc.mih"
#include "unit.mih"
#include "univ.mih"
#include "varset.mih"
#include "check_hlds.delay_info.mih"
#include "check_hlds.mode_constraint_robdd.mih"
#include "check_hlds.mode_errors.mih"
#include "check_hlds.mode_info.mih"
#include "check_hlds.unify_proc.mih"
#include "hlds.const_struct.mih"
#include "hlds.goal_path.mih"
#include "hlds.hlds_args.mih"
#include "hlds.hlds_clauses.mih"
#include "hlds.hlds_data.mih"
#include "hlds.hlds_goal.mih"
#include "hlds.hlds_llds.mih"
#include "hlds.hlds_module.mih"
#include "hlds.hlds_out.mih"
#include "hlds.hlds_pred.mih"
#include "hlds.hlds_rtti.mih"
#include "hlds.inst_graph.mih"
#include "hlds.instmap.mih"
#include "hlds.passes_aux.mih"
#include "hlds.pred_table.mih"
#include "hlds.special_pred.mih"
#include "libs.file_util.mih"
#include "libs.globals.mih"
#include "libs.lp_rational.mih"
#include "libs.options.mih"
#include "libs.polyhedron.mih"
#include "libs.rat.mih"
#include "libs.timestamp.mih"
#include "libs.trace_params.mih"
#include "mdbcomp.feedback.mih"
#include "mdbcomp.goal_path.mih"
#include "mdbcomp.prim_data.mih"
#include "mdbcomp.program_representation.mih"
#include "mdbcomp.rtti_access.mih"
#include "mdbcomp.trace_counts.mih"
#include "mode_robdd.tfeirn.mih"
#include "parse_tree.error_util.mih"
#include "parse_tree.file_names.mih"
#include "parse_tree.mercury_to_mercury.mih"
#include "parse_tree.module_qual.mih"
#include "parse_tree.prog_ctgc.mih"
#include "parse_tree.prog_data.mih"
#include "parse_tree.prog_foreign.mih"
#include "parse_tree.prog_item.mih"
#include "parse_tree.prog_type.mih"
#include "parse_tree.set_of_var.mih"
#include "transform_hlds.ctgc.mih"
#include "transform_hlds.mmc_analysis.mih"
#include "transform_hlds.term_constr_data.mih"
#include "transform_hlds.term_constr_errors.mih"
#include "transform_hlds.term_constr_main.mih"
#include "transform_hlds.term_errors.mih"
#include "transform_hlds.term_norm.mih"
#include "transform_hlds.term_util.mih"
#include "hlds.hlds_out.hlds_out_util.mih"
#include "mdbcomp.feedback.automatic_parallelism.mih"
#include "transform_hlds.ctgc.livedata.mih"
#include "transform_hlds.ctgc.selector.mih"
#include "transform_hlds.ctgc.structure_reuse.mih"
#include "transform_hlds.ctgc.structure_sharing.mih"
#include "transform_hlds.ctgc.structure_reuse.direct.mih"
#include "transform_hlds.ctgc.structure_reuse.domain.mih"
#include "transform_hlds.ctgc.structure_reuse.indirect.mih"
#include "transform_hlds.ctgc.structure_reuse.lbu.mih"
#include "transform_hlds.ctgc.structure_reuse.lfu.mih"
#include "transform_hlds.ctgc.structure_reuse.versions.mih"
#include "transform_hlds.ctgc.structure_sharing.domain.mih"




#line 154 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_PseudoTypeInfo_Struct2 transform_hlds__ctgc__structure_reuse__analysis__bimap__pti_bimap_2__plain_transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_ppid_no_clobbers_0__plain_hlds__hlds_pred__type_ctor_info_pred_proc_id_0;

#line 157 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_PseudoTypeInfo_Struct2 transform_hlds__ctgc__structure_reuse__analysis__tree234__pti_tree234_2__plain_hlds__hlds_pred__type_ctor_info_pred_proc_id_0__plain_transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_and_status_0;

#line 160 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_PseudoTypeInfo_Struct2 transform_hlds__ctgc__structure_reuse__analysis__tree234__pti_tree234_2__plain_builtin__type_ctor_info_int_0__plain_hlds__hlds_pred__type_ctor_info_proc_info_0;

#line 163 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_PseudoTypeInfo_Struct1 transform_hlds__ctgc__structure_reuse__analysis__varset__pti_varset_1__plain_parse_tree__prog_data__type_ctor_info_tvar_type_0;

#line 166 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_PseudoTypeInfo_Struct1 transform_hlds__ctgc__structure_reuse__analysis__list__pti_list_1__plain_transform_hlds__ctgc__structure_reuse__indirect__type_ctor_info_sr_request_0;

#line 169 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_PseudoTypeInfo_Struct1 transform_hlds__ctgc__structure_reuse__analysis__list__pti_list_1__plain_hlds__hlds_pred__type_ctor_info_pred_proc_id_0;

#line 172 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_PseudoTypeInfo_Struct2 transform_hlds__ctgc__structure_reuse__analysis__analysis__pti_analysis_result_2__plain_transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_call_0__plain_transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_answer_0;

#line 175 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_EnumFunctorDesc transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__enum_functor_desc_should_write_for_0_0;

#line 178 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_EnumFunctorDesc transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__enum_functor_desc_should_write_for_0_1;

#line 181 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_EnumFunctorDescPtr transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__enum_value_ordered_should_write_for_0[2];

#line 184 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_EnumFunctorDescPtr transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__enum_name_ordered_should_write_for_0[2];

#line 187 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_Integer transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__functor_number_map_should_write_for_0[2];

#line 190 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuFunctorDesc transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_functor_desc_structure_reuse_answer_0_0;

#line 193 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuFunctorDesc transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_functor_desc_structure_reuse_answer_0_1;

#line 196 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_TypeInfo_Struct1 transform_hlds__ctgc__structure_reuse__analysis__term__ti_var_1parse_tree__prog_data__type_ctor_info_prog_var_type_0;

#line 199 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_TypeInfo_Struct1 transform_hlds__ctgc__structure_reuse__analysis__list__ti_list_1term__ti_var_1parse_tree__prog_data__type_ctor_info_prog_var_type_0;

#line 202 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_TypeInfo_Struct1 transform_hlds__ctgc__structure_reuse__analysis__list__ti_list_1parse_tree__prog_data__type_ctor_info_mer_type_0;

#line 205 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_TypeInfo_Struct1 transform_hlds__ctgc__structure_reuse__analysis__list__ti_list_1parse_tree__prog_data__type_ctor_info_structure_reuse_condition_0;

#line 208 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_PseudoTypeInfo transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__field_types_structure_reuse_answer_0_2[3];

#line 211 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_ConstString transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__field_names_structure_reuse_answer_0_2[3];

#line 214 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuFunctorDesc transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_functor_desc_structure_reuse_answer_0_2;

#line 217 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuFunctorDescPtr transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_stag_ordered_structure_reuse_answer_0_0[2];

#line 220 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuFunctorDescPtr transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_stag_ordered_structure_reuse_answer_0_1[1];

#line 223 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuPtagLayout transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_ptag_ordered_structure_reuse_answer_0[2];

#line 226 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuFunctorDescPtr transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_name_ordered_structure_reuse_answer_0[3];

#line 229 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_Integer transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__functor_number_map_structure_reuse_answer_0[3];

#line 232 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_Integer transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__functor_number_map_structure_reuse_call_0[1];

#line 235 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_TypeInfo_Struct1 transform_hlds__ctgc__structure_reuse__analysis__list__ti_list_1builtin__type_ctor_info_int_0;

#line 238 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_NotagFunctorDesc transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__notag_functor_desc_structure_reuse_call_0;

#line 241 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_PseudoTypeInfo transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__field_types_structure_reuse_func_info_0_0[2];

#line 244 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_ConstString transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__field_names_structure_reuse_func_info_0_0[2];

#line 247 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuFunctorDesc transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_functor_desc_structure_reuse_func_info_0_0;

#line 250 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuFunctorDescPtr transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_stag_ordered_structure_reuse_func_info_0_0[1];

#line 253 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuPtagLayout transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_ptag_ordered_structure_reuse_func_info_0[1];

#line 256 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuFunctorDescPtr transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_name_ordered_structure_reuse_func_info_0[1];

#line 259 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_Integer transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__functor_number_map_structure_reuse_func_info_0[1];

#line 262 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Unify____should_write_for_0_0_10001(
#line 265 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 267 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2);

#line 270 "transform_hlds.ctgc.structure_reuse.analysis.c"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Compare____should_write_for_0_0_10001(
#line 273 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 275 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 277 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3);

#line 280 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Unify____structure_reuse_answer_0_0_10001(
#line 283 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 285 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2);

#line 288 "transform_hlds.ctgc.structure_reuse.analysis.c"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Compare____structure_reuse_answer_0_0_10001(
#line 291 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 293 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 295 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3);

#line 298 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Unify____structure_reuse_call_0_0_10001(
#line 301 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 303 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2);

#line 306 "transform_hlds.ctgc.structure_reuse.analysis.c"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Compare____structure_reuse_call_0_0_10001(
#line 309 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 311 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 313 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3);

#line 316 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Unify____structure_reuse_func_info_0_0_10001(
#line 319 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 321 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2);

#line 324 "transform_hlds.ctgc.structure_reuse.analysis.c"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Compare____structure_reuse_func_info_0_0_10001(
#line 327 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 329 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 331 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3);

#line 334 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_Box MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__to_term_1_1_f_0_10001(
#line 337 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 339 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1);

#line 342 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__from_term_2_2_p_0_10001(
#line 345 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 347 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 349 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2);

#line 352 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_Box MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__to_term_1_1_f_0_10001(
#line 355 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 357 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1);

#line 360 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__from_term_2_2_p_0_10001(
#line 363 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 365 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 367 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2);

#line 370 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__more_precise_than_3_3_p_0_10001(
#line 373 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 375 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 377 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 379 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3);

#line 382 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__equivalent_3_3_p_0_10001(
#line 385 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 387 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 389 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 391 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3);

#line 394 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__more_precise_than_3_3_p_0_10001(
#line 397 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 399 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 401 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 403 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3);

#line 406 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__equivalent_3_3_p_0_10001(
#line 409 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 411 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 413 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 415 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3);

#line 418 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_Box MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__analysis_name_2_2_f_0_10001(
#line 421 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg);

#line 424 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_Box MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__analysis_version_number_2_2_f_0_10001(
#line 427 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg);

#line 430 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_Box MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__preferred_fixpoint_type_2_2_f_0_10001(
#line 433 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg);

#line 436 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_Box MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__bottom_2_2_f_0_10001(
#line 439 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 441 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1);

#line 444 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_Box MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__top_2_2_f_0_10001(
#line 447 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 449 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1);

#line 452 "transform_hlds.ctgc.structure_reuse.analysis.c"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__get_func_info_6_6_p_0_10001(
#line 455 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 457 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 459 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 461 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 463 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_6);

#line 908 "structure_reuse.analysis.m"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_112_97_114_116_105_97_108_95_111_114_100_101_114_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_101_113_117_105_118_97_108_101_110_116_95_51_95_95_91_49_93_95_48_3_p_0(
#line 908 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call_10,
#line 908 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call_3);

#line 903 "structure_reuse.analysis.m"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_112_97_114_116_105_97_108_95_111_114_100_101_114_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_109_111_114_101_95_112_114_101_99_105_115_101_95_116_104_97_110_95_51_95_95_91_49_93_95_48_3_p_0(
#line 903 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call1_5,
#line 903 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call2_6);

#line 891 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_97_110_115_119_101_114_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_103_101_116_95_102_117_110_99_95_105_110_102_111_95_54_95_95_91_52_44_32_53_93_95_48_6_p_0(
#line 891 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_18,
#line 891 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleName_19,
#line 891 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__FuncId_20,
#line 891 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_23);

#line 887 "structure_reuse.analysis.m"
static MR_Word MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_97_110_115_119_101_114_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_116_111_112_95_50_95_95_91_49_44_32_50_93_95_48_2_f_0(void);

#line 886 "structure_reuse.analysis.m"
static MR_Word MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_97_110_115_119_101_114_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_98_111_116_116_111_109_95_50_95_95_91_49_44_32_50_93_95_48_2_f_0(void);

#line 885 "structure_reuse.analysis.m"
static MR_Word MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_97_110_115_119_101_114_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_112_114_101_102_101_114_114_101_100_95_102_105_120_112_111_105_110_116_95_116_121_112_101_95_50_95_95_91_49_44_32_50_93_95_48_2_f_0(void);

#line 884 "structure_reuse.analysis.m"
static MR_Integer MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_97_110_115_119_101_114_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_118_101_114_115_105_111_110_95_110_117_109_98_101_114_95_50_95_95_91_49_44_32_50_93_95_48_2_f_0(void);

#line 883 "structure_reuse.analysis.m"
static MR_String MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_97_110_115_119_101_114_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_110_97_109_101_95_50_95_95_91_49_44_32_50_93_95_48_2_f_0(void);

#line 1221 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_114_101_109_111_118_101_95_117_115_101_108_101_115_115_95_114_101_117_115_101_95_112_114_111_99_95_95_91_52_93_95_48_7_p_0(
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_8,
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_9,
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAsMap_10,
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_12,
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_0_20,
#line 1221 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_21);

#line 916 "structure_reuse.analysis.m"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__from_term_2_2_p_0(
#line 916 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Term_4,
#line 916 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__Call_3);

#line 912 "structure_reuse.analysis.m"
static MR_Word MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__to_term_1_1_f_0(
#line 912 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call_3);

#line 985 "structure_reuse.analysis.m"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__from_term_2_2_p_0(
#line 985 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1,
#line 985 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2);

#line 984 "structure_reuse.analysis.m"
static MR_Word MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__to_term_1_1_f_0(
#line 984 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1);

#line 908 "structure_reuse.analysis.m"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__equivalent_3_3_p_0(
#line 908 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_9,
#line 908 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call_10,
#line 908 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call_3);

#line 903 "structure_reuse.analysis.m"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__more_precise_than_3_3_p_0(
#line 903 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_4,
#line 903 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call1_5,
#line 903 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call2_6);

#line 961 "structure_reuse.analysis.m"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__equivalent_3_3_p_0(
#line 961 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_4,
#line 961 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Answer1_5,
#line 961 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Answer2_6);

#line 936 "structure_reuse.analysis.m"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__more_precise_than_3_3_p_0(
#line 936 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_4,
#line 936 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Answer1_5,
#line 936 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Answer2_6);

#line 891 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__get_func_info_6_6_p_0(
#line 891 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_18,
#line 891 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleName_19,
#line 891 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__FuncId_20,
#line 891 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_23);

#line 887 "structure_reuse.analysis.m"
static MR_Word MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__top_2_2_f_0(
#line 887 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_12);

#line 886 "structure_reuse.analysis.m"
static MR_Word MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__bottom_2_2_f_0(
#line 886 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_10);

#line 885 "structure_reuse.analysis.m"
static MR_Word MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__preferred_fixpoint_type_2_2_f_0(void);

#line 884 "structure_reuse.analysis.m"
static MR_Integer MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__analysis_version_number_2_2_f_0(void);

#line 883 "structure_reuse.analysis.m"
static MR_String MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__analysis_name_2_2_f_0(void);

#line 1118 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Compare____should_write_for_0_0(
#line 1118 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1,
#line 1118 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2,
#line 1118 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3);

#line 1118 "structure_reuse.analysis.m"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Unify____should_write_for_0_0(
#line 1118 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_1,
#line 1118 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2);

#line 1221 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__remove_useless_reuse_proc_7_p_0(
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_8,
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_9,
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAsMap_10,
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__4_11,
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_12,
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_0_20,
#line 1221 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_21);

#line 1107 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__record_intermod_requests_4_p_0(
#line 1107 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_5,
#line 1107 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2,
#line 1107 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_0_11,
#line 1107 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_12);

#line 1093 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__handle_structure_reuse_dependency_4_p_0(
#line 1093 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_5,
#line 1093 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2,
#line 1093 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_0_15,
#line 1093 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_16);

#line 1032 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__record_structure_reuse_results_6_p_0(
#line 1032 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_7,
#line 1032 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__CondReuseMap_8,
#line 1032 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_9,
#line 1032 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_10,
#line 1032 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_0_15,
#line 1032 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_16);

#line 816 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__write_proc_reuse_info_11_p_0(
#line 816 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_12,
#line 816 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredId_13,
#line 816 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredInfo_14,
#line 816 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcTable_15,
#line 816 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredOrFunc_16,
#line 816 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__SymName_17,
#line 816 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Context_18,
#line 816 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeVarSet_19,
#line 816 "structure_reuse.analysis.m"
  MR_Integer transform_hlds__ctgc__structure_reuse__analysis__ProcId_20);

#line 785 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__make_opt_int_4_p_0_1(
#line 785 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 785 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 785 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 785 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3);

#line 767 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__make_opt_int_4_p_0(
#line 767 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_18,
#line 767 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_19);

#line 754 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__annotate_in_use_information_3_p_0(
#line 754 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_4,
#line 754 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_0_6,
#line 754 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_7);

#line 742 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__save_reuse_in_module_info_4_p_0(
#line 742 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_5,
#line 742 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_6,
#line 742 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_15,
#line 742 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_16);

#line 726 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__add_reuse_request_4_p_0(
#line 726 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_5,
#line 726 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2,
#line 726 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_Requests_0_10,
#line 726 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_Requests_11);

#line 694 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_defined_proc_7_p_0_1(
#line 694 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 694 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 694 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 694 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3);

#line 678 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_defined_proc_7_p_0(
#line 678 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_8,
#line 678 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredId_9,
#line 678 "structure_reuse.analysis.m"
  MR_Integer transform_hlds__ctgc__structure_reuse__analysis__ProcId_10,
#line 678 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_0_30,
#line 678 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_31,
#line 678 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_0_32,
#line 678 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_33);

#line 623 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_imported_reuse_answer_8_p_0(
#line 623 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_9,
#line 623 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredInfo_10,
#line 623 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_11,
#line 623 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImportedResult_12,
#line 623 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_26,
#line 623 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_27,
#line 623 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_28,
#line 623 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_29);

#line 618 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_proc_7_p_0_1(
#line 618 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 618 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 618 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 618 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 618 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4,
#line 618 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_5);

#line 607 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_proc_7_p_0(
#line 607 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredId_8,
#line 607 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredInfo_9,
#line 607 "structure_reuse.analysis.m"
  MR_Integer transform_hlds__ctgc__structure_reuse__analysis__ProcId_10,
#line 607 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19,
#line 607 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_20,
#line 607 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_21,
#line 607 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_22);

#line 600 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_pred_9_p_0_2(
#line 600 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 600 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 600 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 600 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 600 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4,
#line 600 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_5);

#line 592 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_pred_9_p_0_1(
#line 592 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 592 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 592 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 592 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 592 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4,
#line 592 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_5);

#line 578 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_pred_9_p_0(
#line 578 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredId_10,
#line 578 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19,
#line 578 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_20,
#line 578 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_21,
#line 578 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_22,
#line 578 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_0_23,
#line 578 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_24,
#line 578 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_0_25,
#line 578 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_26);

#line 573 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_5_p_0_1(
#line 573 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 573 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 573 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 573 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 573 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4,
#line 573 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_5,
#line 573 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_6,
#line 573 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_7,
#line 573 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_8,
#line 573 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_9);

#line 566 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_5_p_0(
#line 566 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_12,
#line 566 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_13,
#line 566 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__ReuseTable_7,
#line 566 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__ExternalRequests_8,
#line 566 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__MustHaveReuseVersions_9);

#line 524 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_imported_reuse_in_proc_4_p_0(
#line 524 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredInfo_5,
#line 524 "structure_reuse.analysis.m"
  MR_Integer transform_hlds__ctgc__structure_reuse__analysis__ProcId_6,
#line 524 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcTable_0_18,
#line 524 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcTable_19);

#line 519 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_imported_reuse_in_pred_3_p_0_1(
#line 519 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 519 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 519 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 519 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3);

#line 500 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_imported_reuse_in_pred_3_p_0(
#line 500 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredId_4,
#line 500 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_9,
#line 500 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_10);

#line 498 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_imported_reuse_2_p_0_1(
#line 498 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 498 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 498 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 498 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3);

#line 494 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_imported_reuse_2_p_0(
#line 494 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_5,
#line 494 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_6);

#line 468 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__maybe_create_forwarding_procedures_intermod_analysis_4_p_0(
#line 468 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseTable_5,
#line 468 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredProcId_6,
#line 468 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_12,
#line 468 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_13);

#line 446 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__maybe_create_forwarding_procedures_intermod_opt_2_5_p_0(
#line 446 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__FinalReuseTable_6,
#line 446 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_7,
#line 446 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3,
#line 446 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19,
#line 446 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_20);

#line 442 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__maybe_create_forwarding_procedures_intermod_opt_4_p_0_1(
#line 442 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 442 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 442 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 442 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 442 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4);

#line 437 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__maybe_create_forwarding_procedures_intermod_opt_4_p_0(
#line 437 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__InitialReuseTable_5,
#line 437 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__FinalReuseTable_6,
#line 437 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_8,
#line 437 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_9);

#line 421 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__get_numbered_args_4_p_0(
#line 421 "structure_reuse.analysis.m"
  MR_Integer transform_hlds__ctgc__structure_reuse__analysis__I_1,
#line 421 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2,
#line 421 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3,
#line 421 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__HeadVar__4_4);

#line 403 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__make_intermediate_reuse_proc_6_p_0(
#line 403 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1,
#line 403 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__NewPPId_9,
#line 403 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_17,
#line 403 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_18,
#line 403 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19,
#line 403 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_20);

#line 352 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__handle_structure_reuse_requests_2_11_p_0_1(
#line 352 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 352 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 352 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 352 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 352 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4,
#line 352 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_5,
#line 352 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_6);

#line 339 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__handle_structure_reuse_requests_2_11_p_0(
#line 339 "structure_reuse.analysis.m"
  MR_Integer transform_hlds__ctgc__structure_reuse__analysis__Repeats_12,
#line 339 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__SharingTable_13,
#line 339 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Requests_14,
#line 339 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_26,
#line 339 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_27,
#line 339 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_28,
#line 339 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_29,
#line 339 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_0_30,
#line 339 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_31,
#line 339 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_0_32,
#line 339 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_33);

#line 324 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__handle_structure_reuse_requests_11_p_0(
#line 324 "structure_reuse.analysis.m"
  MR_Integer transform_hlds__ctgc__structure_reuse__analysis__Repeats_12,
#line 324 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__SharingTable_13,
#line 324 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Requests_14,
#line 324 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_19,
#line 324 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_20,
#line 324 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_21,
#line 324 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_22,
#line 324 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_0_23,
#line 324 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_24,
#line 324 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_0_25,
#line 324 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_26);

#line 813 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__write_pred_reuse_info_4_p_0_1(
#line 813 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 813 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 813 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 813 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3);

#line 307 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_8(
#line 307 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 307 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 307 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 307 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 307 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4);

#line 294 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_7(
#line 294 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 294 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 294 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 294 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3);

#line 292 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_6(
#line 292 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 292 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 292 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 292 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3);

#line 289 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_5(
#line 289 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 289 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 289 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 289 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 289 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4);

#line 266 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_4(
#line 266 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 266 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 266 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 266 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 266 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4);

#line 256 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_3(
#line 256 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 256 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 256 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 256 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3);

#line 197 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_2(
#line 197 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 197 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 197 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 197 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 197 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4,
#line 197 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_5,
#line 197 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_6);

#line 183 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_1(
#line 183 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 183 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 183 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 183 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3);


static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_1[10][3];

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

static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_3[2][5];

static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_4[3][6];

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

static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_6[2][9];

static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_7[7][7];

static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_8[3][10];

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

static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_10[1][8];

static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_11[1][12];

static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_12[1][11];




static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_1[10][3] = {
  /* row 0 */
  {
    ((MR_Box) (base_typeclass_info_analysis__partial_order__arity2__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_func_info_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_call_0))
  },
  /* row 1 */
  {
    ((MR_Box) (base_typeclass_info_analysis__partial_order__arity2__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0__)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_func_info_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_answer_0))
  },
  /* row 2 */
  {
    ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_proc_id_0)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_proc_info_0))
  },
  /* row 3 */
  {
    ((MR_Box) (&analysis__analysis__type_ctor_info_analysis_result_2)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_call_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_answer_0))
  },
  /* row 4 */
  {
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_4[1])),
    ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_1)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 5 */
  {
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_6[0])),
    ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_2)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 6 */
  {
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_7[1])),
    ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_4)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 7 */
  {
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_6[0])),
    ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__handle_structure_reuse_requests_2_11_p_0_1)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 8 */
  {
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_4[2])),
    ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__process_imported_reuse_2_p_0_1)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 9 */
  {
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_11[0])),
    ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_5_p_0_1)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
};

static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[10][2] = {
  /* row 0 */
  {
    ((MR_Box) (base_typeclass_info_analysis__to_term__arity1__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_call_0))
  },
  /* row 1 */
  {
    ((MR_Box) (base_typeclass_info_analysis__to_term__arity1__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0__)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_answer_0))
  },
  /* row 2 */
  {
    ((MR_Box) (&mercury__term__term__type_ctor_info_var_1)),
    ((MR_Box) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_prog_var_type_0))
  },
  /* row 3 */
  {
    ((MR_Box) (&mercury__term__term__type_ctor_info_var_1)),
    ((MR_Box) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_tvar_type_0))
  },
  /* row 4 */
  {
    ((MR_Box) (&mercury__list__list__type_ctor_info_list_1)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__indirect__transform_hlds__ctgc__structure_reuse__indirect__type_ctor_info_sr_request_0))
  },
  /* row 5 */
  {
    ((MR_Box) (&mercury__list__list__type_ctor_info_list_1)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0))
  },
  /* row 6 */
  {
    ((MR_Box) (&mercury__list__list__type_ctor_info_list_1)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[2]))
  },
  /* row 7 */
  {
    ((MR_Box) (&mercury__list__list__type_ctor_info_list_1)),
    ((MR_Box) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_mer_type_0))
  },
  /* row 8 */
  {
    ((MR_Box) (&mercury__list__list__type_ctor_info_list_1)),
    ((MR_Box) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_structure_reuse_condition_0))
  },
  /* row 9 */
  {
    ((MR_Box) (&mercury__list__list__type_ctor_info_list_1)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0))
  },
};

static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_3[2][5] = {
  /* row 0 */
  {
    ((MR_Box) (base_typeclass_info_analysis__call_pattern__arity2__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_1[0])),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[0])),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_func_info_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_call_0))
  },
  /* row 1 */
  {
    ((MR_Box) (base_typeclass_info_analysis__answer_pattern__arity2__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0__)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_1[1])),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[1])),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_func_info_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_answer_0))
  },
};

static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_4[3][6] = {
  /* row 0 */
  {
    ((MR_Box) (base_typeclass_info_analysis__analysis__arity3__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0__)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_3[0])),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_3[1])),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_func_info_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_call_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_answer_0))
  },
  /* row 1 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 3)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_proc_info_0)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_proc_info_0))
  },
  /* row 2 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 3)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_id_0)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0))
  },
};

static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_5[4][1] = {
  /* row 0 */
  {
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_1[4]))
  },
  /* row 1 */
  {
    ((MR_Box) ((MR_String) "no_reuse"))
  },
  /* row 2 */
  {
    ((MR_Box) ((MR_String) "uncond"))
  },
  /* row 3 */
  {
    ((MR_Box) ((MR_String) "cond"))
  },
};

static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_6[2][9] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 6)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__indirect__transform_hlds__ctgc__structure_reuse__indirect__type_ctor_info_sr_request_0)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_table_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_table_0)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0))
  },
  /* row 1 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 6)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__bimap__pti_bimap_2__plain_transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_ppid_no_clobbers_0__plain_hlds__hlds_pred__type_ctor_info_pred_proc_id_0)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_and_status_0)),
    ((MR_Box) (&analysis__analysis__type_ctor_info_analysis_info_0)),
    ((MR_Box) (&analysis__analysis__type_ctor_info_analysis_info_0))
  },
};

static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_7[7][7] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 4)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_table_0)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0))
  },
  /* row 1 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 4)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_and_status_0)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0))
  },
  /* row 2 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 4)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_ppid_no_clobbers_0)),
    ((MR_Box) (&analysis__analysis__type_ctor_info_analysis_info_0)),
    ((MR_Box) (&analysis__analysis__type_ctor_info_analysis_info_0))
  },
  /* row 3 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 4)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__indirect__transform_hlds__ctgc__structure_reuse__indirect__type_ctor_info_sr_request_0)),
    ((MR_Box) (&analysis__analysis__type_ctor_info_analysis_info_0)),
    ((MR_Box) (&analysis__analysis__type_ctor_info_analysis_info_0))
  },
  /* row 4 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 4)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_info_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__tree234__pti_tree234_2__plain_builtin__type_ctor_info_int_0__plain_hlds__hlds_pred__type_ctor_info_proc_info_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__tree234__pti_tree234_2__plain_builtin__type_ctor_info_int_0__plain_hlds__hlds_pred__type_ctor_info_proc_info_0))
  },
  /* row 5 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 4)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_call_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__list__pti_list_1__plain_transform_hlds__ctgc__structure_reuse__indirect__type_ctor_info_sr_request_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__list__pti_list_1__plain_transform_hlds__ctgc__structure_reuse__indirect__type_ctor_info_sr_request_0))
  },
  /* row 6 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 4)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_id_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0))
  },
};

static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_8[3][10] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 7)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&mercury__bool__bool__type_ctor_info_bool_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__tree234__pti_tree234_2__plain_hlds__hlds_pred__type_ctor_info_pred_proc_id_0__plain_transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_and_status_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_ppid_no_clobbers_0)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0)),
    ((MR_Box) (&hlds__pred_table__hlds__pred_table__type_ctor_info_predicate_table_0)),
    ((MR_Box) (&hlds__pred_table__hlds__pred_table__type_ctor_info_predicate_table_0))
  },
  /* row 1 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 7)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_id_0)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_info_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_table_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_table_0))
  },
  /* row 2 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 7)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_id_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__list__pti_list_1__plain_transform_hlds__ctgc__structure_reuse__indirect__type_ctor_info_sr_request_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__list__pti_list_1__plain_transform_hlds__ctgc__structure_reuse__indirect__type_ctor_info_sr_request_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__list__pti_list_1__plain_hlds__hlds_pred__type_ctor_info_pred_proc_id_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__list__pti_list_1__plain_hlds__hlds_pred__type_ctor_info_pred_proc_id_0))
  },
};

static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_9[1][14] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 11)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_id_0)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_info_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__tree234__pti_tree234_2__plain_builtin__type_ctor_info_int_0__plain_hlds__hlds_pred__type_ctor_info_proc_info_0)),
    ((MR_Box) (&mdbcomp__prim_data__mdbcomp__prim_data__type_ctor_info_pred_or_func_0)),
    ((MR_Box) (&mdbcomp__prim_data__mdbcomp__prim_data__type_ctor_info_sym_name_0)),
    ((MR_Box) (&mercury__term__term__type_ctor_info_context_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__varset__pti_varset_1__plain_parse_tree__prog_data__type_ctor_info_tvar_type_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 MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_10[1][8] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 5)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_table_0)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_and_status_0)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0))
  },
};

static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_11[1][12] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 9)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_id_0)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_table_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_table_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__list__pti_list_1__plain_transform_hlds__ctgc__structure_reuse__indirect__type_ctor_info_sr_request_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__list__pti_list_1__plain_transform_hlds__ctgc__structure_reuse__indirect__type_ctor_info_sr_request_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__list__pti_list_1__plain_hlds__hlds_pred__type_ctor_info_pred_proc_id_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__list__pti_list_1__plain_hlds__hlds_pred__type_ctor_info_pred_proc_id_0))
  },
};

static /* final */ const MR_Box transform_hlds__ctgc__structure_reuse__analysis_scalar_common_12[1][11] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 8)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_info_0)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_proc_info_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis__analysis__pti_analysis_result_2__plain_transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_call_0__plain_transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_answer_0)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_table_0)),
    ((MR_Box) (&transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_table_0))
  },
};



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



#line 1726 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_PseudoTypeInfo_Struct2 transform_hlds__ctgc__structure_reuse__analysis__bimap__pti_bimap_2__plain_transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_ppid_no_clobbers_0__plain_hlds__hlds_pred__type_ctor_info_pred_proc_id_0 = {
  &mercury__bimap__bimap__type_ctor_info_bimap_2,
  {
    (MR_PseudoTypeInfo) &transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_ppid_no_clobbers_0,
    (MR_PseudoTypeInfo) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0
  }
};

#line 1735 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_PseudoTypeInfo_Struct2 transform_hlds__ctgc__structure_reuse__analysis__tree234__pti_tree234_2__plain_hlds__hlds_pred__type_ctor_info_pred_proc_id_0__plain_transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_and_status_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_PseudoTypeInfo) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0,
    (MR_PseudoTypeInfo) &transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_and_status_0
  }
};

#line 1744 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_PseudoTypeInfo_Struct2 transform_hlds__ctgc__structure_reuse__analysis__tree234__pti_tree234_2__plain_builtin__type_ctor_info_int_0__plain_hlds__hlds_pred__type_ctor_info_proc_info_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0,
    (MR_PseudoTypeInfo) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_proc_info_0
  }
};

#line 1753 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_PseudoTypeInfo_Struct1 transform_hlds__ctgc__structure_reuse__analysis__varset__pti_varset_1__plain_parse_tree__prog_data__type_ctor_info_tvar_type_0 = {
  &mercury__varset__varset__type_ctor_info_varset_1,
  {
    (MR_PseudoTypeInfo) &parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_tvar_type_0
  }
};

#line 1761 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_PseudoTypeInfo_Struct1 transform_hlds__ctgc__structure_reuse__analysis__list__pti_list_1__plain_transform_hlds__ctgc__structure_reuse__indirect__type_ctor_info_sr_request_0 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_PseudoTypeInfo) &transform_hlds__ctgc__structure_reuse__indirect__transform_hlds__ctgc__structure_reuse__indirect__type_ctor_info_sr_request_0
  }
};

#line 1769 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_PseudoTypeInfo_Struct1 transform_hlds__ctgc__structure_reuse__analysis__list__pti_list_1__plain_hlds__hlds_pred__type_ctor_info_pred_proc_id_0 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_PseudoTypeInfo) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0
  }
};

#line 1777 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_PseudoTypeInfo_Struct2 transform_hlds__ctgc__structure_reuse__analysis__analysis__pti_analysis_result_2__plain_transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_call_0__plain_transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_answer_0 = {
  &analysis__analysis__type_ctor_info_analysis_result_2,
  {
    (MR_PseudoTypeInfo) &transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_call_0,
    (MR_PseudoTypeInfo) &transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_answer_0
  }
};

#line 1786 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_EnumFunctorDesc transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__enum_functor_desc_should_write_for_0_0 = {
  (MR_String) "for_analysis_framework",
  (MR_Integer) 0
};

#line 1792 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_EnumFunctorDesc transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__enum_functor_desc_should_write_for_0_1 = {
  (MR_String) "for_pragma",
  (MR_Integer) 1
};

#line 1798 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_EnumFunctorDescPtr transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__enum_value_ordered_should_write_for_0[2] = {
  &transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__enum_functor_desc_should_write_for_0_0,
  &transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__enum_functor_desc_should_write_for_0_1
};

#line 1804 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_EnumFunctorDescPtr transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__enum_name_ordered_should_write_for_0[2] = {
  &transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__enum_functor_desc_should_write_for_0_0,
  &transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__enum_functor_desc_should_write_for_0_1
};

#line 1810 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_Integer transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__functor_number_map_should_write_for_0[2] = {
  (MR_Integer) 0,
  (MR_Integer) 1
};

#line 1816 "transform_hlds.ctgc.structure_reuse.analysis.c"
const MR_TypeCtorInfo_Struct transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_should_write_for_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis____Unify____should_write_for_0_0_10001)),
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis____Compare____should_write_for_0_0_10001)),
  (MR_String) "transform_hlds.ctgc.structure_reuse.analysis",
  (MR_String) "should_write_for",
  {
    transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__enum_name_ordered_should_write_for_0
  },
  {
    transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__enum_value_ordered_should_write_for_0
  },
  (MR_Integer) 2,
  (MR_Integer) 4,
  transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__functor_number_map_should_write_for_0
};

#line 1837 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuFunctorDesc transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_functor_desc_structure_reuse_answer_0_0 = {
  (MR_String) "structure_reuse_answer_no_reuse",
  (MR_Integer) 0,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_LOCAL,
  (MR_Integer) 0,
  (MR_Integer) 0,
  (MR_Integer) 0,
  NULL,
  NULL,
  NULL,
  NULL
};

#line 1852 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuFunctorDesc transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_functor_desc_structure_reuse_answer_0_1 = {
  (MR_String) "structure_reuse_answer_unconditional",
  (MR_Integer) 0,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_LOCAL,
  (MR_Integer) 0,
  (MR_Integer) 1,
  (MR_Integer) 1,
  NULL,
  NULL,
  NULL,
  NULL
};

#line 1867 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_TypeInfo_Struct1 transform_hlds__ctgc__structure_reuse__analysis__term__ti_var_1parse_tree__prog_data__type_ctor_info_prog_var_type_0 = {
  &mercury__term__term__type_ctor_info_var_1,
  {
    (MR_TypeInfo) &parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_prog_var_type_0
  }
};

#line 1875 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_TypeInfo_Struct1 transform_hlds__ctgc__structure_reuse__analysis__list__ti_list_1term__ti_var_1parse_tree__prog_data__type_ctor_info_prog_var_type_0 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_TypeInfo) &transform_hlds__ctgc__structure_reuse__analysis__term__ti_var_1parse_tree__prog_data__type_ctor_info_prog_var_type_0
  }
};

#line 1883 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_TypeInfo_Struct1 transform_hlds__ctgc__structure_reuse__analysis__list__ti_list_1parse_tree__prog_data__type_ctor_info_mer_type_0 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_TypeInfo) &parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_mer_type_0
  }
};

#line 1891 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_TypeInfo_Struct1 transform_hlds__ctgc__structure_reuse__analysis__list__ti_list_1parse_tree__prog_data__type_ctor_info_structure_reuse_condition_0 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_TypeInfo) &parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_structure_reuse_condition_0
  }
};

#line 1899 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_PseudoTypeInfo transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__field_types_structure_reuse_answer_0_2[3] = {
  (MR_PseudoTypeInfo) &transform_hlds__ctgc__structure_reuse__analysis__list__ti_list_1term__ti_var_1parse_tree__prog_data__type_ctor_info_prog_var_type_0,
  (MR_PseudoTypeInfo) &transform_hlds__ctgc__structure_reuse__analysis__list__ti_list_1parse_tree__prog_data__type_ctor_info_mer_type_0,
  (MR_PseudoTypeInfo) &transform_hlds__ctgc__structure_reuse__analysis__list__ti_list_1parse_tree__prog_data__type_ctor_info_structure_reuse_condition_0
};

#line 1906 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_ConstString transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__field_names_structure_reuse_answer_0_2[3] = {
  (MR_String) "srac_vars",
  (MR_String) "srac_types",
  (MR_String) "srac_conds"
};

#line 1913 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuFunctorDesc transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_functor_desc_structure_reuse_answer_0_2 = {
  (MR_String) "structure_reuse_answer_conditional",
  (MR_Integer) 3,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 1,
  (MR_Integer) -1,
  (MR_Integer) 2,
  transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__field_types_structure_reuse_answer_0_2,
  transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__field_names_structure_reuse_answer_0_2,
  NULL,
  NULL
};

#line 1928 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuFunctorDescPtr transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_stag_ordered_structure_reuse_answer_0_0[2] = {
  &transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_functor_desc_structure_reuse_answer_0_0,
  &transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_functor_desc_structure_reuse_answer_0_1
};

#line 1934 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuFunctorDescPtr transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_stag_ordered_structure_reuse_answer_0_1[1] = {
  &transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_functor_desc_structure_reuse_answer_0_2
};

#line 1939 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuPtagLayout transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_ptag_ordered_structure_reuse_answer_0[2] = {
  {
    (MR_Integer) 2,
    mercury__private_builtin__MR_SECTAG_LOCAL,
    transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_stag_ordered_structure_reuse_answer_0_0
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_stag_ordered_structure_reuse_answer_0_1
  }
};

#line 1953 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuFunctorDescPtr transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_name_ordered_structure_reuse_answer_0[3] = {
  &transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_functor_desc_structure_reuse_answer_0_2,
  &transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_functor_desc_structure_reuse_answer_0_0,
  &transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_functor_desc_structure_reuse_answer_0_1
};

#line 1960 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_Integer transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__functor_number_map_structure_reuse_answer_0[3] = {
  (MR_Integer) 1,
  (MR_Integer) 2,
  (MR_Integer) 0
};

#line 1967 "transform_hlds.ctgc.structure_reuse.analysis.c"
const MR_TypeCtorInfo_Struct transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_answer_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) 2,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis____Unify____structure_reuse_answer_0_0_10001)),
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis____Compare____structure_reuse_answer_0_0_10001)),
  (MR_String) "transform_hlds.ctgc.structure_reuse.analysis",
  (MR_String) "structure_reuse_answer",
  {
    transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_name_ordered_structure_reuse_answer_0
  },
  {
    transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_ptag_ordered_structure_reuse_answer_0
  },
  (MR_Integer) 3,
  (MR_Integer) 4,
  transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__functor_number_map_structure_reuse_answer_0
};

#line 1988 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_Integer transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__functor_number_map_structure_reuse_call_0[1] = {
  (MR_Integer) 0
};

#line 1993 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_FA_TypeInfo_Struct1 transform_hlds__ctgc__structure_reuse__analysis__list__ti_list_1builtin__type_ctor_info_int_0 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_TypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0
  }
};

#line 2001 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_NotagFunctorDesc transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__notag_functor_desc_structure_reuse_call_0 = {
  (MR_String) "structure_reuse_call",
  (MR_PseudoTypeInfo) &transform_hlds__ctgc__structure_reuse__analysis__list__ti_list_1builtin__type_ctor_info_int_0,
  NULL
};

#line 2008 "transform_hlds.ctgc.structure_reuse.analysis.c"
const MR_TypeCtorInfo_Struct transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_call_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_NOTAG_GROUND,
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis____Unify____structure_reuse_call_0_0_10001)),
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis____Compare____structure_reuse_call_0_0_10001)),
  (MR_String) "transform_hlds.ctgc.structure_reuse.analysis",
  (MR_String) "structure_reuse_call",
  {
    &transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__notag_functor_desc_structure_reuse_call_0
  },
  {
    &transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__notag_functor_desc_structure_reuse_call_0
  },
  (MR_Integer) 1,
  (MR_Integer) 4,
  transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__functor_number_map_structure_reuse_call_0
};

#line 2029 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_PseudoTypeInfo transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__field_types_structure_reuse_func_info_0_0[2] = {
  (MR_PseudoTypeInfo) &hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0,
  (MR_PseudoTypeInfo) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_proc_info_0
};

#line 2035 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_ConstString transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__field_names_structure_reuse_func_info_0_0[2] = {
  (MR_String) "srfi_module",
  (MR_String) "srfi_proc"
};

#line 2041 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuFunctorDesc transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_functor_desc_structure_reuse_func_info_0_0 = {
  (MR_String) "structure_reuse_func_info",
  (MR_Integer) 2,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 0,
  (MR_Integer) -1,
  (MR_Integer) 0,
  transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__field_types_structure_reuse_func_info_0_0,
  transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__field_names_structure_reuse_func_info_0_0,
  NULL,
  NULL
};

#line 2056 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuFunctorDescPtr transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_stag_ordered_structure_reuse_func_info_0_0[1] = {
  &transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_functor_desc_structure_reuse_func_info_0_0
};

#line 2061 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuPtagLayout transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_ptag_ordered_structure_reuse_func_info_0[1] = {
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_stag_ordered_structure_reuse_func_info_0_0
  }
};

#line 2070 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_DuFunctorDescPtr transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_name_ordered_structure_reuse_func_info_0[1] = {
  &transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_functor_desc_structure_reuse_func_info_0_0
};

#line 2075 "transform_hlds.ctgc.structure_reuse.analysis.c"
static const MR_Integer transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__functor_number_map_structure_reuse_func_info_0[1] = {
  (MR_Integer) 0
};

#line 2080 "transform_hlds.ctgc.structure_reuse.analysis.c"
const MR_TypeCtorInfo_Struct transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_func_info_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) 1,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis____Unify____structure_reuse_func_info_0_0_10001)),
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis____Compare____structure_reuse_func_info_0_0_10001)),
  (MR_String) "transform_hlds.ctgc.structure_reuse.analysis",
  (MR_String) "structure_reuse_func_info",
  {
    transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_name_ordered_structure_reuse_func_info_0
  },
  {
    transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__du_ptag_ordered_structure_reuse_func_info_0
  },
  (MR_Integer) 1,
  (MR_Integer) 4,
  transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__functor_number_map_structure_reuse_func_info_0
};

#line 2101 "transform_hlds.ctgc.structure_reuse.analysis.c"
const MR_BaseTypeclassInfo base_typeclass_info_analysis__to_term__arity1__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0__[7] = {
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 1)),
  ((MR_Box) (MR_Word) ((MR_Integer) 2)),
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__to_term_1_1_f_0_10001)),
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__from_term_2_2_p_0_10001))
};

#line 2112 "transform_hlds.ctgc.structure_reuse.analysis.c"
const MR_BaseTypeclassInfo base_typeclass_info_analysis__to_term__arity1__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__[7] = {
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 1)),
  ((MR_Box) (MR_Word) ((MR_Integer) 2)),
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__to_term_1_1_f_0_10001)),
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__from_term_2_2_p_0_10001))
};

#line 2123 "transform_hlds.ctgc.structure_reuse.analysis.c"
const MR_BaseTypeclassInfo base_typeclass_info_analysis__partial_order__arity2__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0__[7] = {
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 2)),
  ((MR_Box) (MR_Word) ((MR_Integer) 2)),
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__more_precise_than_3_3_p_0_10001)),
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__equivalent_3_3_p_0_10001))
};

#line 2134 "transform_hlds.ctgc.structure_reuse.analysis.c"
const MR_BaseTypeclassInfo base_typeclass_info_analysis__partial_order__arity2__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__[7] = {
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 2)),
  ((MR_Box) (MR_Word) ((MR_Integer) 2)),
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__more_precise_than_3_3_p_0_10001)),
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__equivalent_3_3_p_0_10001))
};

#line 2145 "transform_hlds.ctgc.structure_reuse.analysis.c"
const MR_BaseTypeclassInfo base_typeclass_info_analysis__call_pattern__arity2__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__[5] = {
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 2)),
  ((MR_Box) (MR_Word) ((MR_Integer) 2)),
  ((MR_Box) (MR_Word) ((MR_Integer) 0))
};

#line 2154 "transform_hlds.ctgc.structure_reuse.analysis.c"
const MR_BaseTypeclassInfo base_typeclass_info_analysis__answer_pattern__arity2__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0__[5] = {
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 2)),
  ((MR_Box) (MR_Word) ((MR_Integer) 2)),
  ((MR_Box) (MR_Word) ((MR_Integer) 0))
};

#line 2163 "transform_hlds.ctgc.structure_reuse.analysis.c"
const MR_BaseTypeclassInfo base_typeclass_info_analysis__analysis__arity3__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0__[11] = {
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 2)),
  ((MR_Box) (MR_Word) ((MR_Integer) 3)),
  ((MR_Box) (MR_Word) ((MR_Integer) 6)),
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__analysis_name_2_2_f_0_10001)),
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__analysis_version_number_2_2_f_0_10001)),
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__preferred_fixpoint_type_2_2_f_0_10001)),
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__bottom_2_2_f_0_10001)),
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__top_2_2_f_0_10001)),
  ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__get_func_info_6_6_p_0_10001))
};

#line 2178 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Unify____should_write_for_0_0_10001(
#line 2181 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 2183 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2)
#line 2185 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2187 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2189 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;

#line 2192 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2194 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__analysis____Unify____should_write_for_0_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2));
    }
#line 2197 "transform_hlds.ctgc.structure_reuse.analysis.c"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 2199 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2201 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2204 "transform_hlds.ctgc.structure_reuse.analysis.c"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Compare____should_write_for_0_0_10001(
#line 2207 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 2209 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 2211 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3)
#line 2213 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2215 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2217 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__1_1;

#line 2220 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2222 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis____Compare____should_write_for_0_0(&transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__1_1, ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3));
    }
#line 2225 "transform_hlds.ctgc.structure_reuse.analysis.c"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__1_1));
#line 2227 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2229 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2232 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Unify____structure_reuse_answer_0_0_10001(
#line 2235 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 2237 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2)
#line 2239 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2241 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2243 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;

#line 2246 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2248 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__analysis____Unify____structure_reuse_answer_0_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2));
    }
#line 2251 "transform_hlds.ctgc.structure_reuse.analysis.c"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 2253 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2255 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2258 "transform_hlds.ctgc.structure_reuse.analysis.c"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Compare____structure_reuse_answer_0_0_10001(
#line 2261 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 2263 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 2265 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3)
#line 2267 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2269 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2271 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__1_1;

#line 2274 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2276 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis____Compare____structure_reuse_answer_0_0(&transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__1_1, ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3));
    }
#line 2279 "transform_hlds.ctgc.structure_reuse.analysis.c"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__1_1));
#line 2281 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2283 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2286 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Unify____structure_reuse_call_0_0_10001(
#line 2289 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 2291 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2)
#line 2293 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2295 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2297 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;

#line 2300 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2302 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__analysis____Unify____structure_reuse_call_0_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2));
    }
#line 2305 "transform_hlds.ctgc.structure_reuse.analysis.c"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 2307 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2309 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2312 "transform_hlds.ctgc.structure_reuse.analysis.c"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Compare____structure_reuse_call_0_0_10001(
#line 2315 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 2317 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 2319 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3)
#line 2321 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2323 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2325 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__1_1;

#line 2328 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2330 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis____Compare____structure_reuse_call_0_0(&transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__1_1, ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3));
    }
#line 2333 "transform_hlds.ctgc.structure_reuse.analysis.c"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__1_1));
#line 2335 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2337 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2340 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Unify____structure_reuse_func_info_0_0_10001(
#line 2343 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 2345 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2)
#line 2347 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2349 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2351 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;

#line 2354 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2356 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__analysis____Unify____structure_reuse_func_info_0_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2));
    }
#line 2359 "transform_hlds.ctgc.structure_reuse.analysis.c"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 2361 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2363 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2366 "transform_hlds.ctgc.structure_reuse.analysis.c"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Compare____structure_reuse_func_info_0_0_10001(
#line 2369 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 2371 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 2373 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3)
#line 2375 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2377 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2379 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__1_1;

#line 2382 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2384 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis____Compare____structure_reuse_func_info_0_0(&transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__1_1, ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3));
    }
#line 2387 "transform_hlds.ctgc.structure_reuse.analysis.c"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__1_1));
#line 2389 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2391 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2394 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_Box MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__to_term_1_1_f_0_10001(
#line 2397 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 2399 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1)
#line 2401 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2403 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2405 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2;
#line 2407 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure;
#line 2409 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__2_2;

#line 2412 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 2414 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2416 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__2_2 = transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__to_term_1_1_f_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1));
    }
#line 2419 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__2_2));
#line 2421 "transform_hlds.ctgc.structure_reuse.analysis.c"
    return transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2;
#line 2423 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2425 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2428 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__from_term_2_2_p_0_10001(
#line 2431 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 2433 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 2435 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2)
#line 2437 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2439 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2441 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 2443 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure;
#line 2445 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__2_2;

#line 2448 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 2450 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2452 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__from_term_2_2_p_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), &transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__2_2);
    }
#line 2455 "transform_hlds.ctgc.structure_reuse.analysis.c"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 2457 "transform_hlds.ctgc.structure_reuse.analysis.c"
      {
#line 2459 "transform_hlds.ctgc.structure_reuse.analysis.c"
        *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__2_2));
#line 2461 "transform_hlds.ctgc.structure_reuse.analysis.c"
        transform_hlds__ctgc__structure_reuse__analysis__succeeded = MR_TRUE;
#line 2463 "transform_hlds.ctgc.structure_reuse.analysis.c"
      }
#line 2465 "transform_hlds.ctgc.structure_reuse.analysis.c"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 2467 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2469 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2472 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_Box MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__to_term_1_1_f_0_10001(
#line 2475 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 2477 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1)
#line 2479 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2481 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2483 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2;
#line 2485 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure;
#line 2487 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_Term_4;

#line 2490 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 2492 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2494 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__conv0_Term_4 = transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__to_term_1_1_f_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1));
    }
#line 2497 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_Term_4));
#line 2499 "transform_hlds.ctgc.structure_reuse.analysis.c"
    return transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2;
#line 2501 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2503 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2506 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__from_term_2_2_p_0_10001(
#line 2509 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 2511 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 2513 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2)
#line 2515 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2517 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2519 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 2521 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure;
#line 2523 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_Call_3;

#line 2526 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 2528 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2530 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__from_term_2_2_p_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), &transform_hlds__ctgc__structure_reuse__analysis__conv0_Call_3);
    }
#line 2533 "transform_hlds.ctgc.structure_reuse.analysis.c"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 2535 "transform_hlds.ctgc.structure_reuse.analysis.c"
      {
#line 2537 "transform_hlds.ctgc.structure_reuse.analysis.c"
        *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_Call_3));
#line 2539 "transform_hlds.ctgc.structure_reuse.analysis.c"
        transform_hlds__ctgc__structure_reuse__analysis__succeeded = MR_TRUE;
#line 2541 "transform_hlds.ctgc.structure_reuse.analysis.c"
      }
#line 2543 "transform_hlds.ctgc.structure_reuse.analysis.c"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 2545 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2547 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2550 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__more_precise_than_3_3_p_0_10001(
#line 2553 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 2555 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 2557 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 2559 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3)
#line 2561 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2563 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2565 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 2567 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure;

#line 2570 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 2572 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2574 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__more_precise_than_3_3_p_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3));
    }
#line 2577 "transform_hlds.ctgc.structure_reuse.analysis.c"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 2579 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2581 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2584 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__equivalent_3_3_p_0_10001(
#line 2587 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 2589 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 2591 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 2593 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3)
#line 2595 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2597 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2599 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 2601 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure;

#line 2604 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 2606 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2608 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__equivalent_3_3_p_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3));
    }
#line 2611 "transform_hlds.ctgc.structure_reuse.analysis.c"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 2613 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2615 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2618 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__more_precise_than_3_3_p_0_10001(
#line 2621 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 2623 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 2625 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 2627 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3)
#line 2629 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2631 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2633 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 2635 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure;

#line 2638 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 2640 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2642 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__more_precise_than_3_3_p_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3));
    }
#line 2645 "transform_hlds.ctgc.structure_reuse.analysis.c"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 2647 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2649 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2652 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__equivalent_3_3_p_0_10001(
#line 2655 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 2657 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 2659 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 2661 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3)
#line 2663 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2665 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2667 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 2669 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure;

#line 2672 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 2674 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2676 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__equivalent_3_3_p_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3));
    }
#line 2679 "transform_hlds.ctgc.structure_reuse.analysis.c"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 2681 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2683 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2686 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_Box MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__analysis_name_2_2_f_0_10001(
#line 2689 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg)
#line 2691 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2693 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2695 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3;
#line 2697 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure;
#line 2699 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_String transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__3_3;

#line 2702 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 2704 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2706 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__3_3 = transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__analysis_name_2_2_f_0();
    }
#line 2709 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__3_3));
#line 2711 "transform_hlds.ctgc.structure_reuse.analysis.c"
    return transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3;
#line 2713 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2715 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2718 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_Box MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__analysis_version_number_2_2_f_0_10001(
#line 2721 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg)
#line 2723 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2725 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2727 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3;
#line 2729 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure;
#line 2731 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__3_3;

#line 2734 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 2736 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2738 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__3_3 = transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__analysis_version_number_2_2_f_0();
    }
#line 2741 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__3_3));
#line 2743 "transform_hlds.ctgc.structure_reuse.analysis.c"
    return transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3;
#line 2745 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2747 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2750 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_Box MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__preferred_fixpoint_type_2_2_f_0_10001(
#line 2753 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg)
#line 2755 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2757 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2759 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3;
#line 2761 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure;
#line 2763 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__3_3;

#line 2766 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 2768 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2770 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__3_3 = transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__preferred_fixpoint_type_2_2_f_0();
    }
#line 2773 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__3_3));
#line 2775 "transform_hlds.ctgc.structure_reuse.analysis.c"
    return transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3;
#line 2777 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2779 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2782 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_Box MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__bottom_2_2_f_0_10001(
#line 2785 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 2787 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1)
#line 2789 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2791 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2793 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3;
#line 2795 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure;
#line 2797 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__3_3;

#line 2800 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 2802 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2804 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__3_3 = transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__bottom_2_2_f_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1));
    }
#line 2807 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__3_3));
#line 2809 "transform_hlds.ctgc.structure_reuse.analysis.c"
    return transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3;
#line 2811 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2813 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2816 "transform_hlds.ctgc.structure_reuse.analysis.c"
static MR_Box MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__top_2_2_f_0_10001(
#line 2819 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 2821 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1)
#line 2823 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2825 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2827 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3;
#line 2829 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure;
#line 2831 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__3_14;

#line 2834 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 2836 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2838 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__3_14 = transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__top_2_2_f_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1));
    }
#line 2841 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVar__3_14));
#line 2843 "transform_hlds.ctgc.structure_reuse.analysis.c"
    return transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3;
#line 2845 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2847 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 2850 "transform_hlds.ctgc.structure_reuse.analysis.c"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__get_func_info_6_6_p_0_10001(
#line 2853 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 2855 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 2857 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 2859 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 2861 "transform_hlds.ctgc.structure_reuse.analysis.c"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_6)
#line 2863 "transform_hlds.ctgc.structure_reuse.analysis.c"
{
#line 2865 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 2867 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure;
#line 2869 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_FuncInfo_23;

#line 2872 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 2874 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 2876 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__get_func_info_6_6_p_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3), &transform_hlds__ctgc__structure_reuse__analysis__conv0_FuncInfo_23);
    }
#line 2879 "transform_hlds.ctgc.structure_reuse.analysis.c"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_6 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_FuncInfo_23));
#line 2881 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 2883 "transform_hlds.ctgc.structure_reuse.analysis.c"
}

#line 908 "structure_reuse.analysis.m"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_112_97_114_116_105_97_108_95_111_114_100_101_114_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_101_113_117_105_118_97_108_101_110_116_95_51_95_95_91_49_93_95_48_3_p_0(
#line 908 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call_10,
#line 908 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call_3)
#line 908 "structure_reuse.analysis.m"
{
#line 908 "structure_reuse.analysis.m"
  {
#line 908 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;

#line 908 "structure_reuse.analysis.m"
    {
#line 908 "structure_reuse.analysis.m"
      return transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__analysis____Unify____structure_reuse_call_0_0(transform_hlds__ctgc__structure_reuse__analysis__Call_3, transform_hlds__ctgc__structure_reuse__analysis__Call_10);
    }
#line 908 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 908 "structure_reuse.analysis.m"
  }
#line 908 "structure_reuse.analysis.m"
}

#line 903 "structure_reuse.analysis.m"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_112_97_114_116_105_97_108_95_111_114_100_101_114_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_109_111_114_101_95_112_114_101_99_105_115_101_95_116_104_97_110_95_51_95_95_91_49_93_95_48_3_p_0(
#line 903 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call1_5,
#line 903 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call2_6)
#line 903 "structure_reuse.analysis.m"
{
#line 903 "structure_reuse.analysis.m"
  {
#line 903 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 903 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_13_13 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 903 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Args1_7 = (MR_Word) transform_hlds__ctgc__structure_reuse__analysis__Call1_5;
#line 903 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Args2_8 = (MR_Word) transform_hlds__ctgc__structure_reuse__analysis__Call2_6;
#line 903 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_11_11;
#line 903 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_12_12;

#line 906 "structure_reuse.analysis.m"
    {
#line 906 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__V_11_11 = mercury__set__sorted_list_to_set_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_13_13, transform_hlds__ctgc__structure_reuse__analysis__Args2_8);
    }
#line 906 "structure_reuse.analysis.m"
    {
#line 906 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__V_12_12 = mercury__set__sorted_list_to_set_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_13_13, transform_hlds__ctgc__structure_reuse__analysis__Args1_7);
    }
#line 906 "structure_reuse.analysis.m"
    {
#line 906 "structure_reuse.analysis.m"
      return transform_hlds__ctgc__structure_reuse__analysis__succeeded = mercury__set__subset_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_13_13, transform_hlds__ctgc__structure_reuse__analysis__V_11_11, transform_hlds__ctgc__structure_reuse__analysis__V_12_12);
    }
#line 903 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 903 "structure_reuse.analysis.m"
  }
#line 903 "structure_reuse.analysis.m"
}

#line 891 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_97_110_115_119_101_114_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_103_101_116_95_102_117_110_99_95_105_110_102_111_95_54_95_95_91_52_44_32_53_93_95_48_6_p_0(
#line 891 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_18,
#line 891 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleName_19,
#line 891 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__FuncId_20,
#line 891 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_23)
#line 891 "structure_reuse.analysis.m"
{
#line 891 "structure_reuse.analysis.m"
  {
#line 891 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 891 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_24;
#line 891 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_25;

#line 892 "structure_reuse.analysis.m"
    {
#line 892 "structure_reuse.analysis.m"
      transform_hlds__mmc_analysis__func_id_to_ppid_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_18, transform_hlds__ctgc__structure_reuse__analysis__ModuleName_19, transform_hlds__ctgc__structure_reuse__analysis__FuncId_20, &transform_hlds__ctgc__structure_reuse__analysis__PPId_24);
    }
#line 893 "structure_reuse.analysis.m"
    {
#line 893 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_proc_info_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_18, transform_hlds__ctgc__structure_reuse__analysis__PPId_24, &transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_25);
    }
#line 894 "structure_reuse.analysis.m"
    {
#line 894 "structure_reuse.analysis.m"
      MR_Word base;
#line 894 "structure_reuse.analysis.m"
      base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 894 "structure_reuse.analysis.m"
      *transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_23 = base;
#line 894 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_18));
#line 894 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), base, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_25));
#line 894 "structure_reuse.analysis.m"
    }
#line 891 "structure_reuse.analysis.m"
  }
#line 891 "structure_reuse.analysis.m"
}

#line 887 "structure_reuse.analysis.m"
static MR_Word MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_97_110_115_119_101_114_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_116_111_112_95_50_95_95_91_49_44_32_50_93_95_48_2_f_0(void)
#line 887 "structure_reuse.analysis.m"
{
#line 887 "structure_reuse.analysis.m"
  {
#line 887 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 887 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_14;

#line 889 "structure_reuse.analysis.m"
    {
#line 889 "structure_reuse.analysis.m"
      mercury__require__unexpected_3_p_0((MR_String) "transform_hlds.ctgc.structure_reuse.analysis", (MR_String) "instance method function \140analysis.top\'/2 for \140analysis.analysis(transform_hlds.ctgc.structure_reuse.analysis.structure_reuse_func_info, transform_hlds.ctgc.str" "ucture_reuse.analysis.structure_reuse_call, transform_hlds.ctgc.structure_reuse.analysis.structure_reuse_answer)\'", (MR_String) "top/2 called");
    }
#line 887 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_14;
#line 887 "structure_reuse.analysis.m"
  }
#line 887 "structure_reuse.analysis.m"
}

#line 886 "structure_reuse.analysis.m"
static MR_Word MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_97_110_115_119_101_114_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_98_111_116_116_111_109_95_50_95_95_91_49_44_32_50_93_95_48_2_f_0(void)
#line 886 "structure_reuse.analysis.m"
{
#line 886 "structure_reuse.analysis.m"
  {
#line 886 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;

#line 886 "structure_reuse.analysis.m"
    return (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 886 "structure_reuse.analysis.m"
  }
#line 886 "structure_reuse.analysis.m"
}

#line 885 "structure_reuse.analysis.m"
static MR_Word MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_97_110_115_119_101_114_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_112_114_101_102_101_114_114_101_100_95_102_105_120_112_111_105_110_116_95_116_121_112_101_95_50_95_95_91_49_44_32_50_93_95_48_2_f_0(void)
#line 885 "structure_reuse.analysis.m"
{
#line 885 "structure_reuse.analysis.m"
  {
#line 885 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;

#line 885 "structure_reuse.analysis.m"
    return (MR_Integer) 1;
#line 885 "structure_reuse.analysis.m"
  }
#line 885 "structure_reuse.analysis.m"
}

#line 884 "structure_reuse.analysis.m"
static MR_Integer MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_97_110_115_119_101_114_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_118_101_114_115_105_111_110_95_110_117_109_98_101_114_95_50_95_95_91_49_44_32_50_93_95_48_2_f_0(void)
#line 884 "structure_reuse.analysis.m"
{
#line 884 "structure_reuse.analysis.m"
  {
#line 884 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;

#line 884 "structure_reuse.analysis.m"
    return (MR_Integer) 3;
#line 884 "structure_reuse.analysis.m"
  }
#line 884 "structure_reuse.analysis.m"
}

#line 883 "structure_reuse.analysis.m"
static MR_String MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_97_110_115_119_101_114_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_110_97_109_101_95_50_95_95_91_49_44_32_50_93_95_48_2_f_0(void)
#line 883 "structure_reuse.analysis.m"
{
#line 878 "structure_reuse.analysis.m"
  {
#line 878 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;

#line 878 "structure_reuse.analysis.m"
    return (MR_String) "structure_reuse";
#line 878 "structure_reuse.analysis.m"
  }
#line 883 "structure_reuse.analysis.m"
}

#line 1221 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_114_101_109_111_118_101_95_117_115_101_108_101_115_115_95_114_101_117_115_101_95_112_114_111_99_95_95_91_52_93_95_48_7_p_0(
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_8,
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_9,
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAsMap_10,
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_12,
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_0_20,
#line 1221 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_21)
#line 1221 "structure_reuse.analysis.m"
{
#line 1227 "structure_reuse.analysis.m"
  {
#line 1227 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 1227 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_14;
#line 1227 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_15;
#line 1228 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv0_ReuseAs_Status_14;
#line 1229 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_16_16;

#line 1228 "structure_reuse.analysis.m"
    {
#line 1228 "structure_reuse.analysis.m"
      mercury__map__lookup_3_p_0((MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0, (MR_Word) &transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_and_status_0, transform_hlds__ctgc__structure_reuse__analysis__ReuseAsMap_10, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PPId_12)), &transform_hlds__ctgc__structure_reuse__analysis__conv0_ReuseAs_Status_14);
    }
#line 1228 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_14 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv0_ReuseAs_Status_14);
#line 1229 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_15 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_14, (MR_Integer) 0)));
#line 1229 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__V_16_16 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_14, (MR_Integer) 1)));
#line 1233 "structure_reuse.analysis.m"
    {
#line 1233 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__domain__reuse_as_no_reuses_1_p_0(transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_15);
    }
#line 1249 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1243 "structure_reuse.analysis.m"
      {
#line 1243 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredId_18;
#line 1245 "structure_reuse.analysis.m"
        MR_Integer transform_hlds__ctgc__structure_reuse__analysis__V_19_19;

#line 1241 "structure_reuse.analysis.m"
        if ((transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_9 == (MR_Integer) 0))
#line 1242 "structure_reuse.analysis.m"
          {
#line 1242 "structure_reuse.analysis.m"
          }
#line 1241 "structure_reuse.analysis.m"
        else
#line 1236 "structure_reuse.analysis.m"
          {
#line 1237 "structure_reuse.analysis.m"
            {
#line 1237 "structure_reuse.analysis.m"
              mercury__io__write_string_3_p_0((MR_String) "% Removing useless reuse ");
            }
#line 1238 "structure_reuse.analysis.m"
            {
#line 1238 "structure_reuse.analysis.m"
              hlds__hlds_out__hlds_out_util__write_pred_proc_id_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_8, transform_hlds__ctgc__structure_reuse__analysis__PPId_12);
            }
#line 1239 "structure_reuse.analysis.m"
            {
#line 1239 "structure_reuse.analysis.m"
              mercury__io__nl_2_p_0();
            }
#line 1236 "structure_reuse.analysis.m"
          }
#line 1245 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__PredId_18 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__PPId_12, (MR_Integer) 0)));
#line 1245 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__V_19_19 = ((MR_Integer) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__PPId_12, (MR_Integer) 1)));
#line 1248 "structure_reuse.analysis.m"
        {
#line 1248 "structure_reuse.analysis.m"
          hlds__pred_table__predicate_table_remove_predicate_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__PredId_18, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_0_20, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_21);
#line 1248 "structure_reuse.analysis.m"
          return;
        }
#line 1243 "structure_reuse.analysis.m"
      }
#line 1249 "structure_reuse.analysis.m"
    else
#line 1248 "structure_reuse.analysis.m"
      *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_21 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_0_20;
#line 1227 "structure_reuse.analysis.m"
  }
#line 1221 "structure_reuse.analysis.m"
}

#line 916 "structure_reuse.analysis.m"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__from_term_2_2_p_0(
#line 916 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Term_4,
#line 916 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__Call_3)
#line 916 "structure_reuse.analysis.m"
{
#line 916 "structure_reuse.analysis.m"
  {
#line 916 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 916 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_5;
#line 917 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv0_NoClobbers_5;

#line 917 "structure_reuse.analysis.m"
    {
#line 917 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = mercury__term__term_to_type_2_p_0((MR_Word) &mercury__term__term__type_ctor_info_generic_0, (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[9], transform_hlds__ctgc__structure_reuse__analysis__Term_4, &transform_hlds__ctgc__structure_reuse__analysis__conv0_NoClobbers_5);
    }
#line 917 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 917 "structure_reuse.analysis.m"
      {
#line 917 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_5 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv0_NoClobbers_5);
#line 917 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__succeeded = MR_TRUE;
#line 917 "structure_reuse.analysis.m"
      }
#line 916 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 916 "structure_reuse.analysis.m"
      {
#line 918 "structure_reuse.analysis.m"
        *transform_hlds__ctgc__structure_reuse__analysis__Call_3 = (MR_Word) transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_5;
#line 918 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__succeeded = MR_TRUE;
#line 916 "structure_reuse.analysis.m"
      }
#line 916 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 916 "structure_reuse.analysis.m"
  }
#line 916 "structure_reuse.analysis.m"
}

#line 912 "structure_reuse.analysis.m"
static MR_Word MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__to_term_1_1_f_0(
#line 912 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call_3)
#line 912 "structure_reuse.analysis.m"
{
#line 912 "structure_reuse.analysis.m"
  {
#line 912 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 912 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Term_4;
#line 912 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_5 = (MR_Word) transform_hlds__ctgc__structure_reuse__analysis__Call_3;

#line 914 "structure_reuse.analysis.m"
    {
#line 914 "structure_reuse.analysis.m"
      mercury__term__type_to_term_2_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[9], (MR_Word) &mercury__term__term__type_ctor_info_generic_0, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_5)), &transform_hlds__ctgc__structure_reuse__analysis__Term_4);
    }
#line 912 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__Term_4;
#line 912 "structure_reuse.analysis.m"
  }
#line 912 "structure_reuse.analysis.m"
}

#line 985 "structure_reuse.analysis.m"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__from_term_2_2_p_0(
#line 985 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1,
#line 985 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2)
#line 985 "structure_reuse.analysis.m"
{
#line 1012 "structure_reuse.analysis.m"
  {
#line 1012 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded = ((MR_tag((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1)) == (MR_mktag((MR_Integer) 0)));
#line 1012 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_31_31;
#line 1012 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_32_32;
#line 1012 "structure_reuse.analysis.m"
    MR_String transform_hlds__ctgc__structure_reuse__analysis__V_34_34;
#line 1012 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_30_30;

#line 1012 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1012 "structure_reuse.analysis.m"
      {
#line 1012 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__V_32_32 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1, (MR_Integer) 0)));
#line 1012 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__V_31_31 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1, (MR_Integer) 1)));
#line 1012 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__V_30_30 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1, (MR_Integer) 2)));
#line 1012 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__succeeded = ((MR_tag((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__V_32_32)) == (MR_mktag((MR_Integer) 0)));
#line 1012 "structure_reuse.analysis.m"
        if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1012 "structure_reuse.analysis.m"
          {
#line 1012 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__V_34_34 = ((MR_String) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_32_32, (MR_Integer) 0)));
#line 1012 "structure_reuse.analysis.m"
            if ((transform_hlds__ctgc__structure_reuse__analysis__V_31_31 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1012 "structure_reuse.analysis.m"
              if ((strcmp(transform_hlds__ctgc__structure_reuse__analysis__V_34_34, (MR_String) "uncond") == 0))
#line 1016 "structure_reuse.analysis.m"
                {
#line 1016 "structure_reuse.analysis.m"
                  *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1));
#line 1016 "structure_reuse.analysis.m"
                  transform_hlds__ctgc__structure_reuse__analysis__succeeded = MR_TRUE;
#line 1016 "structure_reuse.analysis.m"
                }
#line 1012 "structure_reuse.analysis.m"
              else
#line 1012 "structure_reuse.analysis.m"
                if ((strcmp(transform_hlds__ctgc__structure_reuse__analysis__V_34_34, (MR_String) "no_reuse") == 0))
#line 1013 "structure_reuse.analysis.m"
                  {
#line 1013 "structure_reuse.analysis.m"
                    *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1013 "structure_reuse.analysis.m"
                    transform_hlds__ctgc__structure_reuse__analysis__succeeded = MR_TRUE;
#line 1013 "structure_reuse.analysis.m"
                  }
#line 1012 "structure_reuse.analysis.m"
                else
#line 1012 "structure_reuse.analysis.m"
                  transform_hlds__ctgc__structure_reuse__analysis__succeeded = MR_FALSE;
#line 1012 "structure_reuse.analysis.m"
            else
#line 1019 "structure_reuse.analysis.m"
              {
#line 1019 "structure_reuse.analysis.m"
                MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_26_26;
#line 1019 "structure_reuse.analysis.m"
                MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_27_27;
#line 1019 "structure_reuse.analysis.m"
                MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_28_28;
#line 1019 "structure_reuse.analysis.m"
                MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_29_29;
#line 1019 "structure_reuse.analysis.m"
                MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVarsTerm_7;
#line 1019 "structure_reuse.analysis.m"
                MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypesTerm_8;
#line 1019 "structure_reuse.analysis.m"
                MR_Word transform_hlds__ctgc__structure_reuse__analysis__ConditionsTerm_9;
#line 1019 "structure_reuse.analysis.m"
                MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVars_11;
#line 1019 "structure_reuse.analysis.m"
                MR_Word transform_hlds__ctgc__structure_reuse__analysis__Types_12;
#line 1019 "structure_reuse.analysis.m"
                MR_Word transform_hlds__ctgc__structure_reuse__analysis__Conditions_13;
#line 1019 "structure_reuse.analysis.m"
                MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_17_17;
#line 1019 "structure_reuse.analysis.m"
                MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_18_18;
#line 1019 "structure_reuse.analysis.m"
                MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_19_19;
#line 1020 "structure_reuse.analysis.m"
                MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVars_11;
#line 1021 "structure_reuse.analysis.m"
                MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv1_Types_12;
#line 1022 "structure_reuse.analysis.m"
                MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv2_Conditions_13;

#line 1018 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__succeeded = (strcmp(transform_hlds__ctgc__structure_reuse__analysis__V_34_34, (MR_String) "cond") == 0);
#line 1019 "structure_reuse.analysis.m"
                if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1019 "structure_reuse.analysis.m"
                  {
#line 1018 "structure_reuse.analysis.m"
                    transform_hlds__ctgc__structure_reuse__analysis__HeadVarsTerm_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_31_31, (MR_Integer) 0)));
#line 1018 "structure_reuse.analysis.m"
                    transform_hlds__ctgc__structure_reuse__analysis__V_17_17 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_31_31, (MR_Integer) 1)));
#line 1019 "structure_reuse.analysis.m"
                    transform_hlds__ctgc__structure_reuse__analysis__succeeded = ((MR_tag((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__V_17_17)) == (MR_mktag((MR_Integer) 1)));
#line 1019 "structure_reuse.analysis.m"
                    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1019 "structure_reuse.analysis.m"
                      {
#line 1019 "structure_reuse.analysis.m"
                        transform_hlds__ctgc__structure_reuse__analysis__TypesTerm_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_17_17, (MR_Integer) 0)));
#line 1019 "structure_reuse.analysis.m"
                        transform_hlds__ctgc__structure_reuse__analysis__V_18_18 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_17_17, (MR_Integer) 1)));
#line 1019 "structure_reuse.analysis.m"
                        transform_hlds__ctgc__structure_reuse__analysis__succeeded = ((MR_tag((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__V_18_18)) == (MR_mktag((MR_Integer) 1)));
#line 1019 "structure_reuse.analysis.m"
                        if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1019 "structure_reuse.analysis.m"
                          {
#line 1019 "structure_reuse.analysis.m"
                            transform_hlds__ctgc__structure_reuse__analysis__ConditionsTerm_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_18_18, (MR_Integer) 0)));
#line 1019 "structure_reuse.analysis.m"
                            transform_hlds__ctgc__structure_reuse__analysis__V_19_19 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_18_18, (MR_Integer) 1)));
#line 1019 "structure_reuse.analysis.m"
                            transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__V_19_19 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 1019 "structure_reuse.analysis.m"
                            if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1019 "structure_reuse.analysis.m"
                              {
#line 3424 "transform_hlds.ctgc.structure_reuse.analysis.c"
                                transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_26_26 = (MR_Word) &mercury__term__term__type_ctor_info_generic_0;
#line 3426 "transform_hlds.ctgc.structure_reuse.analysis.c"
                                transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_27_27 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[6];
#line 1020 "structure_reuse.analysis.m"
                                {
#line 1020 "structure_reuse.analysis.m"
                                  transform_hlds__ctgc__structure_reuse__analysis__succeeded = mercury__term__term_to_type_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_26_26, transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_27_27, transform_hlds__ctgc__structure_reuse__analysis__HeadVarsTerm_7, &transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVars_11);
                                }
#line 1020 "structure_reuse.analysis.m"
                                if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1020 "structure_reuse.analysis.m"
                                  {
#line 1020 "structure_reuse.analysis.m"
                                    transform_hlds__ctgc__structure_reuse__analysis__HeadVars_11 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv0_HeadVars_11);
#line 1020 "structure_reuse.analysis.m"
                                    transform_hlds__ctgc__structure_reuse__analysis__succeeded = MR_TRUE;
#line 1020 "structure_reuse.analysis.m"
                                  }
#line 1019 "structure_reuse.analysis.m"
                                if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1019 "structure_reuse.analysis.m"
                                  {
#line 3447 "transform_hlds.ctgc.structure_reuse.analysis.c"
                                    transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_28_28 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[7];
#line 1021 "structure_reuse.analysis.m"
                                    {
#line 1021 "structure_reuse.analysis.m"
                                      transform_hlds__ctgc__structure_reuse__analysis__succeeded = mercury__term__term_to_type_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_26_26, transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_28_28, transform_hlds__ctgc__structure_reuse__analysis__TypesTerm_8, &transform_hlds__ctgc__structure_reuse__analysis__conv1_Types_12);
                                    }
#line 1021 "structure_reuse.analysis.m"
                                    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1021 "structure_reuse.analysis.m"
                                      {
#line 1021 "structure_reuse.analysis.m"
                                        transform_hlds__ctgc__structure_reuse__analysis__Types_12 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv1_Types_12);
#line 1021 "structure_reuse.analysis.m"
                                        transform_hlds__ctgc__structure_reuse__analysis__succeeded = MR_TRUE;
#line 1021 "structure_reuse.analysis.m"
                                      }
#line 1019 "structure_reuse.analysis.m"
                                    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1019 "structure_reuse.analysis.m"
                                      {
#line 3468 "transform_hlds.ctgc.structure_reuse.analysis.c"
                                        transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_29_29 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[8];
#line 1022 "structure_reuse.analysis.m"
                                        {
#line 1022 "structure_reuse.analysis.m"
                                          transform_hlds__ctgc__structure_reuse__analysis__succeeded = mercury__term__term_to_type_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_26_26, transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_29_29, transform_hlds__ctgc__structure_reuse__analysis__ConditionsTerm_9, &transform_hlds__ctgc__structure_reuse__analysis__conv2_Conditions_13);
                                        }
#line 1022 "structure_reuse.analysis.m"
                                        if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1022 "structure_reuse.analysis.m"
                                          {
#line 1022 "structure_reuse.analysis.m"
                                            transform_hlds__ctgc__structure_reuse__analysis__Conditions_13 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv2_Conditions_13);
#line 1022 "structure_reuse.analysis.m"
                                            transform_hlds__ctgc__structure_reuse__analysis__succeeded = MR_TRUE;
#line 1022 "structure_reuse.analysis.m"
                                          }
#line 1019 "structure_reuse.analysis.m"
                                        if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1019 "structure_reuse.analysis.m"
                                          {
#line 1023 "structure_reuse.analysis.m"
                                            {
#line 1023 "structure_reuse.analysis.m"
                                              MR_Word base;
#line 1023 "structure_reuse.analysis.m"
                                              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL));
#line 1023 "structure_reuse.analysis.m"
                                              *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2 = base;
#line 1023 "structure_reuse.analysis.m"
                                              MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__HeadVars_11));
#line 1023 "structure_reuse.analysis.m"
                                              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__Types_12));
#line 1023 "structure_reuse.analysis.m"
                                              MR_hl_field(MR_mktag(1), base, 2) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__Conditions_13));
#line 1023 "structure_reuse.analysis.m"
                                            }
#line 1023 "structure_reuse.analysis.m"
                                            transform_hlds__ctgc__structure_reuse__analysis__succeeded = MR_TRUE;
#line 1019 "structure_reuse.analysis.m"
                                          }
#line 1019 "structure_reuse.analysis.m"
                                      }
#line 1019 "structure_reuse.analysis.m"
                                  }
#line 1019 "structure_reuse.analysis.m"
                              }
#line 1019 "structure_reuse.analysis.m"
                          }
#line 1019 "structure_reuse.analysis.m"
                      }
#line 1019 "structure_reuse.analysis.m"
                  }
#line 1019 "structure_reuse.analysis.m"
              }
#line 1012 "structure_reuse.analysis.m"
          }
#line 1012 "structure_reuse.analysis.m"
      }
#line 1012 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 1012 "structure_reuse.analysis.m"
  }
#line 985 "structure_reuse.analysis.m"
}

#line 984 "structure_reuse.analysis.m"
static MR_Word MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__to_term____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__to_term_1_1_f_0(
#line 984 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1)
#line 984 "structure_reuse.analysis.m"
{
#line 992 "structure_reuse.analysis.m"
  {
#line 992 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 992 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2;

#line 992 "structure_reuse.analysis.m"
    if ((transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 992 "structure_reuse.analysis.m"
      {
#line 992 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_25_25;

#line 993 "structure_reuse.analysis.m"
        {
#line 993 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__V_25_25 = mercury__term__context_init_0_f_0();
        }
#line 993 "structure_reuse.analysis.m"
        {
#line 993 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 993 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, 0) = ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_5[1]));
#line 993 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, 1) = ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 993 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, 2) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_25_25));
#line 993 "structure_reuse.analysis.m"
        }
#line 992 "structure_reuse.analysis.m"
      }
#line 992 "structure_reuse.analysis.m"
    else
#line 992 "structure_reuse.analysis.m"
      if ((transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 995 "structure_reuse.analysis.m"
        {
#line 995 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_21_21;

#line 996 "structure_reuse.analysis.m"
          {
#line 996 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__V_21_21 = mercury__term__context_init_0_f_0();
          }
#line 996 "structure_reuse.analysis.m"
          {
#line 996 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 996 "structure_reuse.analysis.m"
            MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, 0) = ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_5[2]));
#line 996 "structure_reuse.analysis.m"
            MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, 1) = ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 996 "structure_reuse.analysis.m"
            MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, 2) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_21_21));
#line 996 "structure_reuse.analysis.m"
          }
#line 995 "structure_reuse.analysis.m"
        }
#line 992 "structure_reuse.analysis.m"
      else
#line 999 "structure_reuse.analysis.m"
        {
#line 999 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_27_27 = (MR_Word) &mercury__term__term__type_ctor_info_generic_0;
#line 999 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVars_5 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1, (MR_Integer) 0)));
#line 999 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__Types_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1, (MR_Integer) 1)));
#line 999 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__Conditions_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1, (MR_Integer) 2)));
#line 999 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVarsTerm_8;
#line 999 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypesTerm_9;
#line 999 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__ConditionsTerm_10;
#line 999 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_13_13;
#line 999 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_14_14;
#line 999 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_15_15;
#line 999 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_17_17;

#line 1000 "structure_reuse.analysis.m"
          {
#line 1000 "structure_reuse.analysis.m"
            mercury__term__type_to_term_2_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[6], transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_27_27, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__HeadVars_5)), &transform_hlds__ctgc__structure_reuse__analysis__HeadVarsTerm_8);
          }
#line 1001 "structure_reuse.analysis.m"
          {
#line 1001 "structure_reuse.analysis.m"
            mercury__term__type_to_term_2_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[7], transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_27_27, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__Types_6)), &transform_hlds__ctgc__structure_reuse__analysis__TypesTerm_9);
          }
#line 1002 "structure_reuse.analysis.m"
          {
#line 1002 "structure_reuse.analysis.m"
            mercury__term__type_to_term_2_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[8], transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_27_27, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__Conditions_7)), &transform_hlds__ctgc__structure_reuse__analysis__ConditionsTerm_10);
          }
#line 1004 "structure_reuse.analysis.m"
          {
#line 1004 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__V_15_15 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1004 "structure_reuse.analysis.m"
            MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_15_15, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ConditionsTerm_10));
#line 1004 "structure_reuse.analysis.m"
            MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_15_15, 1) = ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 1004 "structure_reuse.analysis.m"
          }
#line 1004 "structure_reuse.analysis.m"
          {
#line 1004 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__V_14_14 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1004 "structure_reuse.analysis.m"
            MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_14_14, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__TypesTerm_9));
#line 1004 "structure_reuse.analysis.m"
            MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_14_14, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_15_15));
#line 1004 "structure_reuse.analysis.m"
          }
#line 1003 "structure_reuse.analysis.m"
          {
#line 1003 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__V_13_13 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1003 "structure_reuse.analysis.m"
            MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_13_13, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__HeadVarsTerm_8));
#line 1003 "structure_reuse.analysis.m"
            MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_13_13, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_14_14));
#line 1003 "structure_reuse.analysis.m"
          }
#line 1003 "structure_reuse.analysis.m"
          {
#line 1003 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__V_17_17 = mercury__term__context_init_0_f_0();
          }
#line 1003 "structure_reuse.analysis.m"
          {
#line 1003 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 1003 "structure_reuse.analysis.m"
            MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, 0) = ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_5[3]));
#line 1003 "structure_reuse.analysis.m"
            MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_13_13));
#line 1003 "structure_reuse.analysis.m"
            MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, 2) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_17_17));
#line 1003 "structure_reuse.analysis.m"
          }
#line 999 "structure_reuse.analysis.m"
        }
#line 992 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2;
#line 992 "structure_reuse.analysis.m"
  }
#line 984 "structure_reuse.analysis.m"
}

#line 908 "structure_reuse.analysis.m"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__equivalent_3_3_p_0(
#line 908 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_9,
#line 908 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call_10,
#line 908 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call_3)
#line 908 "structure_reuse.analysis.m"
{
#line 908 "structure_reuse.analysis.m"
  {
#line 908 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;

#line 908 "structure_reuse.analysis.m"
    {
#line 908 "structure_reuse.analysis.m"
      return transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_112_97_114_116_105_97_108_95_111_114_100_101_114_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_101_113_117_105_118_97_108_101_110_116_95_51_95_95_91_49_93_95_48_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__Call_10, transform_hlds__ctgc__structure_reuse__analysis__Call_3);
    }
#line 908 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 908 "structure_reuse.analysis.m"
  }
#line 908 "structure_reuse.analysis.m"
}

#line 903 "structure_reuse.analysis.m"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0______analysis__more_precise_than_3_3_p_0(
#line 903 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_4,
#line 903 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call1_5,
#line 903 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call2_6)
#line 903 "structure_reuse.analysis.m"
{
#line 903 "structure_reuse.analysis.m"
  {
#line 903 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;

#line 903 "structure_reuse.analysis.m"
    {
#line 903 "structure_reuse.analysis.m"
      return transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_112_97_114_116_105_97_108_95_111_114_100_101_114_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_109_111_114_101_95_112_114_101_99_105_115_101_95_116_104_97_110_95_51_95_95_91_49_93_95_48_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__Call1_5, transform_hlds__ctgc__structure_reuse__analysis__Call2_6);
    }
#line 903 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 903 "structure_reuse.analysis.m"
  }
#line 903 "structure_reuse.analysis.m"
}

#line 961 "structure_reuse.analysis.m"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__equivalent_3_3_p_0(
#line 961 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_4,
#line 961 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Answer1_5,
#line 961 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Answer2_6)
#line 961 "structure_reuse.analysis.m"
{
#line 963 "structure_reuse.analysis.m"
  {
#line 963 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;

#line 963 "structure_reuse.analysis.m"
    {
#line 963 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__analysis____Unify____structure_reuse_answer_0_0(transform_hlds__ctgc__structure_reuse__analysis__Answer1_5, transform_hlds__ctgc__structure_reuse__analysis__Answer2_6);
    }
#line 963 "structure_reuse.analysis.m"
    if (!(transform_hlds__ctgc__structure_reuse__analysis__succeeded))
#line 965 "structure_reuse.analysis.m"
      {
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_47;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_66;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_16;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_17;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVars_18;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__VarTypes_19;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_20;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__Reuse1_21;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__Reuse2_22;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAs1_23;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAs2_24;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImpHeadVars_35;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImpTypes_36;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImpReuseConditions_37;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVars_38;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__VarRenaming_39;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImpHeadVars_54;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImpTypes_55;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImpReuseConditions_56;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVars_57;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__VarRenaming_58;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_25_25;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_26_26;
#line 965 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_27_27;
#line 966 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_28_28;
#line 966 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_29_29;
#line 966 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_30_30;
#line 673 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeSubst_40;
#line 670 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_22_48;
#line 670 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_23_49;
#line 670 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_41_41;
#line 670 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_42_42;
#line 673 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeSubst_59;
#line 670 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_22_67;
#line 670 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_23_68;
#line 670 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_60_60;
#line 670 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_61_61;

#line 965 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__succeeded = ((MR_tag((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__Answer1_5)) == (MR_mktag((MR_Integer) 1)));
#line 965 "structure_reuse.analysis.m"
        if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 965 "structure_reuse.analysis.m"
          {
#line 965 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__V_25_25 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer1_5, (MR_Integer) 0)));
#line 965 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__V_26_26 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer1_5, (MR_Integer) 1)));
#line 965 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__V_27_27 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer1_5, (MR_Integer) 2)));
#line 966 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__succeeded = ((MR_tag((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__Answer2_6)) == (MR_mktag((MR_Integer) 1)));
#line 966 "structure_reuse.analysis.m"
            if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 966 "structure_reuse.analysis.m"
              {
#line 966 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_28_28 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer2_6, (MR_Integer) 0)));
#line 966 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_29_29 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer2_6, (MR_Integer) 1)));
#line 966 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_30_30 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer2_6, (MR_Integer) 2)));
#line 967 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_16 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_4, (MR_Integer) 0)));
#line 967 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_17 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_4, (MR_Integer) 1)));
#line 968 "structure_reuse.analysis.m"
                {
#line 968 "structure_reuse.analysis.m"
                  hlds__hlds_pred__proc_info_get_headvars_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_17, &transform_hlds__ctgc__structure_reuse__analysis__HeadVars_18);
                }
#line 969 "structure_reuse.analysis.m"
                {
#line 969 "structure_reuse.analysis.m"
                  hlds__hlds_pred__proc_info_get_vartypes_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_17, &transform_hlds__ctgc__structure_reuse__analysis__VarTypes_19);
                }
#line 970 "structure_reuse.analysis.m"
                {
#line 970 "structure_reuse.analysis.m"
                  parse_tree__prog_data__lookup_var_types_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__VarTypes_19, transform_hlds__ctgc__structure_reuse__analysis__HeadVars_18, &transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_20);
                }
#line 666 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__ImpHeadVars_35 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer1_5, (MR_Integer) 0)));
#line 666 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__ImpTypes_36 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer1_5, (MR_Integer) 1)));
#line 666 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__ImpReuseConditions_37 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer1_5, (MR_Integer) 2)));
#line 668 "structure_reuse.analysis.m"
                {
#line 668 "structure_reuse.analysis.m"
                  hlds__hlds_pred__proc_info_get_headvars_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_17, &transform_hlds__ctgc__structure_reuse__analysis__HeadVars_38);
                }
#line 3910 "transform_hlds.ctgc.structure_reuse.analysis.c"
                transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_47 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[2];
#line 669 "structure_reuse.analysis.m"
                {
#line 669 "structure_reuse.analysis.m"
                  mercury__map__from_corresponding_lists_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_47, transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_47, transform_hlds__ctgc__structure_reuse__analysis__ImpHeadVars_35, transform_hlds__ctgc__structure_reuse__analysis__HeadVars_38, &transform_hlds__ctgc__structure_reuse__analysis__VarRenaming_39);
                }
#line 670 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_41_41 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3919 "transform_hlds.ctgc.structure_reuse.analysis.c"
                transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_22_48 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[3];
#line 3921 "transform_hlds.ctgc.structure_reuse.analysis.c"
                transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_23_49 = (MR_Word) &parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_mer_type_0;
#line 670 "structure_reuse.analysis.m"
                {
#line 670 "structure_reuse.analysis.m"
                  transform_hlds__ctgc__structure_reuse__analysis__V_42_42 = mercury__map__init_0_f_0(transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_22_48, transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_23_49);
                }
#line 670 "structure_reuse.analysis.m"
                {
#line 670 "structure_reuse.analysis.m"
                  transform_hlds__ctgc__structure_reuse__analysis__succeeded = parse_tree__prog_type__type_unify_list_5_p_0(transform_hlds__ctgc__structure_reuse__analysis__ImpTypes_36, transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_20, transform_hlds__ctgc__structure_reuse__analysis__V_41_41, transform_hlds__ctgc__structure_reuse__analysis__V_42_42, &transform_hlds__ctgc__structure_reuse__analysis__TypeSubst_40);
                }
#line 673 "structure_reuse.analysis.m"
                if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 671 "structure_reuse.analysis.m"
                  {
#line 671 "structure_reuse.analysis.m"
                    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_43_43;

#line 671 "structure_reuse.analysis.m"
                    {
#line 671 "structure_reuse.analysis.m"
                      transform_hlds__ctgc__structure_reuse__analysis__V_43_43 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 671 "structure_reuse.analysis.m"
                      MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_43_43, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ImpReuseConditions_37));
#line 671 "structure_reuse.analysis.m"
                    }
#line 671 "structure_reuse.analysis.m"
                    {
#line 671 "structure_reuse.analysis.m"
                      parse_tree__prog_ctgc__rename_structure_reuse_domain_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VarRenaming_39, transform_hlds__ctgc__structure_reuse__analysis__TypeSubst_40, transform_hlds__ctgc__structure_reuse__analysis__V_43_43, &transform_hlds__ctgc__structure_reuse__analysis__Reuse1_21);
                    }
#line 671 "structure_reuse.analysis.m"
                  }
#line 673 "structure_reuse.analysis.m"
                else
#line 674 "structure_reuse.analysis.m"
                  {
#line 674 "structure_reuse.analysis.m"
                    {
#line 674 "structure_reuse.analysis.m"
                      mercury__require__unexpected_3_p_0((MR_String) "transform_hlds.ctgc.structure_reuse.analysis", (MR_String) "predicate \140transform_hlds.ctgc.structure_reuse.analysis.structure_reuse_answer_to_domain\'/4", (MR_String) "type_unify_list failed");
                    }
#line 674 "structure_reuse.analysis.m"
                  }
#line 666 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__ImpHeadVars_54 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer2_6, (MR_Integer) 0)));
#line 666 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__ImpTypes_55 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer2_6, (MR_Integer) 1)));
#line 666 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__ImpReuseConditions_56 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer2_6, (MR_Integer) 2)));
#line 668 "structure_reuse.analysis.m"
                {
#line 668 "structure_reuse.analysis.m"
                  hlds__hlds_pred__proc_info_get_headvars_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_17, &transform_hlds__ctgc__structure_reuse__analysis__HeadVars_57);
                }
#line 3977 "transform_hlds.ctgc.structure_reuse.analysis.c"
                transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_66 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[2];
#line 669 "structure_reuse.analysis.m"
                {
#line 669 "structure_reuse.analysis.m"
                  mercury__map__from_corresponding_lists_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_66, transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_66, transform_hlds__ctgc__structure_reuse__analysis__ImpHeadVars_54, transform_hlds__ctgc__structure_reuse__analysis__HeadVars_57, &transform_hlds__ctgc__structure_reuse__analysis__VarRenaming_58);
                }
#line 670 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_60_60 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3986 "transform_hlds.ctgc.structure_reuse.analysis.c"
                transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_22_67 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[3];
#line 3988 "transform_hlds.ctgc.structure_reuse.analysis.c"
                transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_23_68 = (MR_Word) &parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_mer_type_0;
#line 670 "structure_reuse.analysis.m"
                {
#line 670 "structure_reuse.analysis.m"
                  transform_hlds__ctgc__structure_reuse__analysis__V_61_61 = mercury__map__init_0_f_0(transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_22_67, transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_23_68);
                }
#line 670 "structure_reuse.analysis.m"
                {
#line 670 "structure_reuse.analysis.m"
                  transform_hlds__ctgc__structure_reuse__analysis__succeeded = parse_tree__prog_type__type_unify_list_5_p_0(transform_hlds__ctgc__structure_reuse__analysis__ImpTypes_55, transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_20, transform_hlds__ctgc__structure_reuse__analysis__V_60_60, transform_hlds__ctgc__structure_reuse__analysis__V_61_61, &transform_hlds__ctgc__structure_reuse__analysis__TypeSubst_59);
                }
#line 673 "structure_reuse.analysis.m"
                if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 671 "structure_reuse.analysis.m"
                  {
#line 671 "structure_reuse.analysis.m"
                    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_62_62;

#line 671 "structure_reuse.analysis.m"
                    {
#line 671 "structure_reuse.analysis.m"
                      transform_hlds__ctgc__structure_reuse__analysis__V_62_62 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 671 "structure_reuse.analysis.m"
                      MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_62_62, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ImpReuseConditions_56));
#line 671 "structure_reuse.analysis.m"
                    }
#line 671 "structure_reuse.analysis.m"
                    {
#line 671 "structure_reuse.analysis.m"
                      parse_tree__prog_ctgc__rename_structure_reuse_domain_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VarRenaming_58, transform_hlds__ctgc__structure_reuse__analysis__TypeSubst_59, transform_hlds__ctgc__structure_reuse__analysis__V_62_62, &transform_hlds__ctgc__structure_reuse__analysis__Reuse2_22);
                    }
#line 671 "structure_reuse.analysis.m"
                  }
#line 673 "structure_reuse.analysis.m"
                else
#line 674 "structure_reuse.analysis.m"
                  {
#line 674 "structure_reuse.analysis.m"
                    {
#line 674 "structure_reuse.analysis.m"
                      mercury__require__unexpected_3_p_0((MR_String) "transform_hlds.ctgc.structure_reuse.analysis", (MR_String) "predicate \140transform_hlds.ctgc.structure_reuse.analysis.structure_reuse_answer_to_domain\'/4", (MR_String) "type_unify_list failed");
                    }
#line 674 "structure_reuse.analysis.m"
                  }
#line 975 "structure_reuse.analysis.m"
                {
#line 975 "structure_reuse.analysis.m"
                  transform_hlds__ctgc__structure_reuse__analysis__ReuseAs1_23 = transform_hlds__ctgc__structure_reuse__domain__from_structure_reuse_domain_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__Reuse1_21);
                }
#line 976 "structure_reuse.analysis.m"
                {
#line 976 "structure_reuse.analysis.m"
                  transform_hlds__ctgc__structure_reuse__analysis__ReuseAs2_24 = transform_hlds__ctgc__structure_reuse__domain__from_structure_reuse_domain_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__Reuse2_22);
                }
#line 977 "structure_reuse.analysis.m"
                {
#line 977 "structure_reuse.analysis.m"
                  transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__domain__reuse_as_subsumed_by_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_16, transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_17, transform_hlds__ctgc__structure_reuse__analysis__ReuseAs2_24, transform_hlds__ctgc__structure_reuse__analysis__ReuseAs1_23);
                }
#line 965 "structure_reuse.analysis.m"
                if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 978 "structure_reuse.analysis.m"
                  {
#line 978 "structure_reuse.analysis.m"
                    return transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__domain__reuse_as_subsumed_by_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_16, transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_17, transform_hlds__ctgc__structure_reuse__analysis__ReuseAs1_23, transform_hlds__ctgc__structure_reuse__analysis__ReuseAs2_24);
                  }
#line 966 "structure_reuse.analysis.m"
              }
#line 965 "structure_reuse.analysis.m"
          }
#line 965 "structure_reuse.analysis.m"
      }
#line 963 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 963 "structure_reuse.analysis.m"
  }
#line 961 "structure_reuse.analysis.m"
}

#line 936 "structure_reuse.analysis.m"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__partial_order____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__more_precise_than_3_3_p_0(
#line 936 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_4,
#line 936 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Answer1_5,
#line 936 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Answer2_6)
#line 936 "structure_reuse.analysis.m"
{
#line 938 "structure_reuse.analysis.m"
  {
#line 938 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;

#line 938 "structure_reuse.analysis.m"
    if ((transform_hlds__ctgc__structure_reuse__analysis__Answer1_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 941 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__Answer2_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 938 "structure_reuse.analysis.m"
    else
#line 938 "structure_reuse.analysis.m"
      if (((MR_tag((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__Answer1_5)) == (MR_mktag((MR_Integer) 1))))
#line 938 "structure_reuse.analysis.m"
        if ((transform_hlds__ctgc__structure_reuse__analysis__Answer2_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 938 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__succeeded = MR_TRUE;
#line 938 "structure_reuse.analysis.m"
        else
#line 938 "structure_reuse.analysis.m"
          if (((MR_tag((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__Answer2_6)) == (MR_mktag((MR_Integer) 1))))
#line 944 "structure_reuse.analysis.m"
            {
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_50;
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_69;
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_16 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_4, (MR_Integer) 0)));
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_17 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_4, (MR_Integer) 1)));
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVars_18;
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__VarTypes_19;
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_20;
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__Reuse1_21;
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__Reuse2_22;
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAs1_23;
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAs2_24;
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImpHeadVars_38;
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImpTypes_39;
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImpReuseConditions_40;
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVars_41;
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__VarRenaming_42;
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImpHeadVars_57;
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImpTypes_58;
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImpReuseConditions_59;
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVars_60;
#line 944 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__VarRenaming_61;
#line 673 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeSubst_43;
#line 670 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_45_45;
#line 673 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeSubst_62;
#line 670 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_64_64;

#line 947 "structure_reuse.analysis.m"
              {
#line 947 "structure_reuse.analysis.m"
                hlds__hlds_pred__proc_info_get_headvars_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_17, &transform_hlds__ctgc__structure_reuse__analysis__HeadVars_18);
              }
#line 948 "structure_reuse.analysis.m"
              {
#line 948 "structure_reuse.analysis.m"
                hlds__hlds_pred__proc_info_get_vartypes_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_17, &transform_hlds__ctgc__structure_reuse__analysis__VarTypes_19);
              }
#line 949 "structure_reuse.analysis.m"
              {
#line 949 "structure_reuse.analysis.m"
                parse_tree__prog_data__lookup_var_types_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__VarTypes_19, transform_hlds__ctgc__structure_reuse__analysis__HeadVars_18, &transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_20);
              }
#line 666 "structure_reuse.analysis.m"
              transform_hlds__ctgc__structure_reuse__analysis__ImpHeadVars_38 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer1_5, (MR_Integer) 0)));
#line 666 "structure_reuse.analysis.m"
              transform_hlds__ctgc__structure_reuse__analysis__ImpTypes_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer1_5, (MR_Integer) 1)));
#line 666 "structure_reuse.analysis.m"
              transform_hlds__ctgc__structure_reuse__analysis__ImpReuseConditions_40 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer1_5, (MR_Integer) 2)));
#line 668 "structure_reuse.analysis.m"
              {
#line 668 "structure_reuse.analysis.m"
                hlds__hlds_pred__proc_info_get_headvars_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_17, &transform_hlds__ctgc__structure_reuse__analysis__HeadVars_41);
              }
#line 4179 "transform_hlds.ctgc.structure_reuse.analysis.c"
              transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_50 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[2];
#line 669 "structure_reuse.analysis.m"
              {
#line 669 "structure_reuse.analysis.m"
                mercury__map__from_corresponding_lists_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_50, transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_50, transform_hlds__ctgc__structure_reuse__analysis__ImpHeadVars_38, transform_hlds__ctgc__structure_reuse__analysis__HeadVars_41, &transform_hlds__ctgc__structure_reuse__analysis__VarRenaming_42);
              }
#line 670 "structure_reuse.analysis.m"
              {
#line 670 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_45_45 = mercury__map__init_0_f_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[3], (MR_Word) &parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_mer_type_0);
              }
#line 670 "structure_reuse.analysis.m"
              {
#line 670 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__succeeded = parse_tree__prog_type__type_unify_list_5_p_0(transform_hlds__ctgc__structure_reuse__analysis__ImpTypes_39, transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_20, (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)), transform_hlds__ctgc__structure_reuse__analysis__V_45_45, &transform_hlds__ctgc__structure_reuse__analysis__TypeSubst_43);
              }
#line 673 "structure_reuse.analysis.m"
              if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 671 "structure_reuse.analysis.m"
                {
#line 671 "structure_reuse.analysis.m"
                  MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_46_46;

#line 671 "structure_reuse.analysis.m"
                  {
#line 671 "structure_reuse.analysis.m"
                    transform_hlds__ctgc__structure_reuse__analysis__V_46_46 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 671 "structure_reuse.analysis.m"
                    MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_46_46, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ImpReuseConditions_40));
#line 671 "structure_reuse.analysis.m"
                  }
#line 671 "structure_reuse.analysis.m"
                  {
#line 671 "structure_reuse.analysis.m"
                    parse_tree__prog_ctgc__rename_structure_reuse_domain_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VarRenaming_42, transform_hlds__ctgc__structure_reuse__analysis__TypeSubst_43, transform_hlds__ctgc__structure_reuse__analysis__V_46_46, &transform_hlds__ctgc__structure_reuse__analysis__Reuse1_21);
                  }
#line 671 "structure_reuse.analysis.m"
                }
#line 673 "structure_reuse.analysis.m"
              else
#line 674 "structure_reuse.analysis.m"
                {
#line 674 "structure_reuse.analysis.m"
                  {
#line 674 "structure_reuse.analysis.m"
                    mercury__require__unexpected_3_p_0((MR_String) "transform_hlds.ctgc.structure_reuse.analysis", (MR_String) "predicate \140transform_hlds.ctgc.structure_reuse.analysis.structure_reuse_answer_to_domain\'/4", (MR_String) "type_unify_list failed");
                  }
#line 674 "structure_reuse.analysis.m"
                }
#line 666 "structure_reuse.analysis.m"
              transform_hlds__ctgc__structure_reuse__analysis__ImpHeadVars_57 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer2_6, (MR_Integer) 0)));
#line 666 "structure_reuse.analysis.m"
              transform_hlds__ctgc__structure_reuse__analysis__ImpTypes_58 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer2_6, (MR_Integer) 1)));
#line 666 "structure_reuse.analysis.m"
              transform_hlds__ctgc__structure_reuse__analysis__ImpReuseConditions_59 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer2_6, (MR_Integer) 2)));
#line 668 "structure_reuse.analysis.m"
              {
#line 668 "structure_reuse.analysis.m"
                hlds__hlds_pred__proc_info_get_headvars_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_17, &transform_hlds__ctgc__structure_reuse__analysis__HeadVars_60);
              }
#line 4240 "transform_hlds.ctgc.structure_reuse.analysis.c"
              transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_69 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[2];
#line 669 "structure_reuse.analysis.m"
              {
#line 669 "structure_reuse.analysis.m"
                mercury__map__from_corresponding_lists_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_69, transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_69, transform_hlds__ctgc__structure_reuse__analysis__ImpHeadVars_57, transform_hlds__ctgc__structure_reuse__analysis__HeadVars_60, &transform_hlds__ctgc__structure_reuse__analysis__VarRenaming_61);
              }
#line 670 "structure_reuse.analysis.m"
              {
#line 670 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_64_64 = mercury__map__init_0_f_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[3], (MR_Word) &parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_mer_type_0);
              }
#line 670 "structure_reuse.analysis.m"
              {
#line 670 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__succeeded = parse_tree__prog_type__type_unify_list_5_p_0(transform_hlds__ctgc__structure_reuse__analysis__ImpTypes_58, transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_20, (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)), transform_hlds__ctgc__structure_reuse__analysis__V_64_64, &transform_hlds__ctgc__structure_reuse__analysis__TypeSubst_62);
              }
#line 673 "structure_reuse.analysis.m"
              if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 671 "structure_reuse.analysis.m"
                {
#line 671 "structure_reuse.analysis.m"
                  MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_65_65;

#line 671 "structure_reuse.analysis.m"
                  {
#line 671 "structure_reuse.analysis.m"
                    transform_hlds__ctgc__structure_reuse__analysis__V_65_65 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 671 "structure_reuse.analysis.m"
                    MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_65_65, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ImpReuseConditions_59));
#line 671 "structure_reuse.analysis.m"
                  }
#line 671 "structure_reuse.analysis.m"
                  {
#line 671 "structure_reuse.analysis.m"
                    parse_tree__prog_ctgc__rename_structure_reuse_domain_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VarRenaming_61, transform_hlds__ctgc__structure_reuse__analysis__TypeSubst_62, transform_hlds__ctgc__structure_reuse__analysis__V_65_65, &transform_hlds__ctgc__structure_reuse__analysis__Reuse2_22);
                  }
#line 671 "structure_reuse.analysis.m"
                }
#line 673 "structure_reuse.analysis.m"
              else
#line 674 "structure_reuse.analysis.m"
                {
#line 674 "structure_reuse.analysis.m"
                  {
#line 674 "structure_reuse.analysis.m"
                    mercury__require__unexpected_3_p_0((MR_String) "transform_hlds.ctgc.structure_reuse.analysis", (MR_String) "predicate \140transform_hlds.ctgc.structure_reuse.analysis.structure_reuse_answer_to_domain\'/4", (MR_String) "type_unify_list failed");
                  }
#line 674 "structure_reuse.analysis.m"
                }
#line 954 "structure_reuse.analysis.m"
              {
#line 954 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__ReuseAs1_23 = transform_hlds__ctgc__structure_reuse__domain__from_structure_reuse_domain_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__Reuse1_21);
              }
#line 955 "structure_reuse.analysis.m"
              {
#line 955 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__ReuseAs2_24 = transform_hlds__ctgc__structure_reuse__domain__from_structure_reuse_domain_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__Reuse2_22);
              }
#line 956 "structure_reuse.analysis.m"
              {
#line 956 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__domain__reuse_as_subsumed_by_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_16, transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_17, transform_hlds__ctgc__structure_reuse__analysis__ReuseAs1_23, transform_hlds__ctgc__structure_reuse__analysis__ReuseAs2_24);
              }
#line 944 "structure_reuse.analysis.m"
              if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 944 "structure_reuse.analysis.m"
                {
#line 957 "structure_reuse.analysis.m"
                  {
#line 957 "structure_reuse.analysis.m"
                    transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__domain__reuse_as_subsumed_by_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_16, transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_17, transform_hlds__ctgc__structure_reuse__analysis__ReuseAs2_24, transform_hlds__ctgc__structure_reuse__analysis__ReuseAs1_23);
                  }
#line 957 "structure_reuse.analysis.m"
                  transform_hlds__ctgc__structure_reuse__analysis__succeeded = !(transform_hlds__ctgc__structure_reuse__analysis__succeeded);
#line 944 "structure_reuse.analysis.m"
                }
#line 944 "structure_reuse.analysis.m"
            }
#line 938 "structure_reuse.analysis.m"
          else
#line 938 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__succeeded = MR_FALSE;
#line 938 "structure_reuse.analysis.m"
      else
#line 938 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__succeeded = MR_FALSE;
#line 938 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 938 "structure_reuse.analysis.m"
  }
#line 936 "structure_reuse.analysis.m"
}

#line 891 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__get_func_info_6_6_p_0(
#line 891 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_18,
#line 891 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleName_19,
#line 891 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__FuncId_20,
#line 891 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_23)
#line 891 "structure_reuse.analysis.m"
{
#line 891 "structure_reuse.analysis.m"
  {
#line 891 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;

#line 891 "structure_reuse.analysis.m"
    {
#line 891 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_97_110_115_119_101_114_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_103_101_116_95_102_117_110_99_95_105_110_102_111_95_54_95_95_91_52_44_32_53_93_95_48_6_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_18, transform_hlds__ctgc__structure_reuse__analysis__ModuleName_19, transform_hlds__ctgc__structure_reuse__analysis__FuncId_20, transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_23);
#line 891 "structure_reuse.analysis.m"
      return;
    }
#line 891 "structure_reuse.analysis.m"
  }
#line 891 "structure_reuse.analysis.m"
}

#line 887 "structure_reuse.analysis.m"
static MR_Word MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__top_2_2_f_0(
#line 887 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_12)
#line 887 "structure_reuse.analysis.m"
{
#line 887 "structure_reuse.analysis.m"
  {
#line 887 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 887 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_14;

#line 887 "structure_reuse.analysis.m"
    {
#line 887 "structure_reuse.analysis.m"
      return transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_14 = transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_97_110_115_119_101_114_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_116_111_112_95_50_95_95_91_49_44_32_50_93_95_48_2_f_0();
    }
#line 887 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_14;
#line 887 "structure_reuse.analysis.m"
  }
#line 887 "structure_reuse.analysis.m"
}

#line 886 "structure_reuse.analysis.m"
static MR_Word MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__bottom_2_2_f_0(
#line 886 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_10)
#line 886 "structure_reuse.analysis.m"
{
#line 886 "structure_reuse.analysis.m"
  {
#line 886 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 886 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3;

#line 886 "structure_reuse.analysis.m"
    {
#line 886 "structure_reuse.analysis.m"
      return transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3 = transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_97_110_115_119_101_114_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_98_111_116_116_111_109_95_50_95_95_91_49_44_32_50_93_95_48_2_f_0();
    }
#line 886 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3;
#line 886 "structure_reuse.analysis.m"
  }
#line 886 "structure_reuse.analysis.m"
}

#line 885 "structure_reuse.analysis.m"
static MR_Word MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__preferred_fixpoint_type_2_2_f_0(void)
#line 885 "structure_reuse.analysis.m"
{
#line 885 "structure_reuse.analysis.m"
  {
#line 885 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 885 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3;

#line 885 "structure_reuse.analysis.m"
    {
#line 885 "structure_reuse.analysis.m"
      return transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3 = transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_97_110_115_119_101_114_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_112_114_101_102_101_114_114_101_100_95_102_105_120_112_111_105_110_116_95_116_121_112_101_95_50_95_95_91_49_44_32_50_93_95_48_2_f_0();
    }
#line 885 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3;
#line 885 "structure_reuse.analysis.m"
  }
#line 885 "structure_reuse.analysis.m"
}

#line 884 "structure_reuse.analysis.m"
static MR_Integer MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__analysis_version_number_2_2_f_0(void)
#line 884 "structure_reuse.analysis.m"
{
#line 884 "structure_reuse.analysis.m"
  {
#line 884 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 884 "structure_reuse.analysis.m"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3;

#line 884 "structure_reuse.analysis.m"
    {
#line 884 "structure_reuse.analysis.m"
      return transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3 = transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_97_110_115_119_101_114_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_118_101_114_115_105_111_110_95_110_117_109_98_101_114_95_50_95_95_91_49_44_32_50_93_95_48_2_f_0();
    }
#line 884 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3;
#line 884 "structure_reuse.analysis.m"
  }
#line 884 "structure_reuse.analysis.m"
}

#line 883 "structure_reuse.analysis.m"
static MR_String MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__ClassMethod_for_analysis__analysis____transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_func_info__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_call__arity0__transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer__arity0______analysis__analysis_name_2_2_f_0(void)
#line 883 "structure_reuse.analysis.m"
{
#line 878 "structure_reuse.analysis.m"
  {
#line 878 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 878 "structure_reuse.analysis.m"
    MR_String transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3;

#line 878 "structure_reuse.analysis.m"
    {
#line 878 "structure_reuse.analysis.m"
      return transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3 = transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_95_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_102_117_110_99_95_105_110_102_111_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_99_97_108_108_95_95_97_114_105_116_121_48_95_95_116_114_97_110_115_102_111_114_109_95_104_108_100_115_95_95_99_116_103_99_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_95_97_110_97_108_121_115_105_115_95_95_115_116_114_117_99_116_117_114_101_95_114_101_117_115_101_95_97_110_115_119_101_114_95_95_97_114_105_116_121_48_95_95_95_95_95_95_97_110_97_108_121_115_105_115_95_95_97_110_97_108_121_115_105_115_95_110_97_109_101_95_50_95_95_91_49_44_32_50_93_95_48_2_f_0();
    }
#line 878 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3;
#line 878 "structure_reuse.analysis.m"
  }
#line 883 "structure_reuse.analysis.m"
}

#line 870 "structure_reuse.analysis.m"
void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Compare____structure_reuse_func_info_0_0(
#line 870 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1,
#line 870 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2,
#line 870 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3)
#line 870 "structure_reuse.analysis.m"
{
#line 870 "structure_reuse.analysis.m"
  {
#line 870 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 870 "structure_reuse.analysis.m"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__CastX_9 = (MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2;
#line 870 "structure_reuse.analysis.m"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__CastY_10 = (MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3;

#line 870 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__CastX_9 == transform_hlds__ctgc__structure_reuse__analysis__CastY_10);
#line 870 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 4513 "transform_hlds.ctgc.structure_reuse.analysis.c"
      *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1 = (MR_Integer) 0;
#line 870 "structure_reuse.analysis.m"
    else
#line 870 "structure_reuse.analysis.m"
      {
#line 870 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_4_4 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, (MR_Integer) 0)));
#line 870 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, (MR_Integer) 1)));
#line 870 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3, (MR_Integer) 0)));
#line 870 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3, (MR_Integer) 1)));
#line 870 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_8_8;

#line 870 "structure_reuse.analysis.m"
        {
#line 870 "structure_reuse.analysis.m"
          hlds__hlds_module____Compare____module_info_0_0(&transform_hlds__ctgc__structure_reuse__analysis__V_8_8, transform_hlds__ctgc__structure_reuse__analysis__V_4_4, transform_hlds__ctgc__structure_reuse__analysis__V_6_6);
        }
#line 4535 "transform_hlds.ctgc.structure_reuse.analysis.c"
        transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__V_8_8 == (MR_Integer) 0);
#line 870 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__succeeded = !(transform_hlds__ctgc__structure_reuse__analysis__succeeded);
#line 870 "structure_reuse.analysis.m"
        if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 870 "structure_reuse.analysis.m"
          *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1 = transform_hlds__ctgc__structure_reuse__analysis__V_8_8;
#line 870 "structure_reuse.analysis.m"
        else
#line 870 "structure_reuse.analysis.m"
          {
#line 870 "structure_reuse.analysis.m"
            hlds__hlds_pred____Compare____proc_info_0_0(transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1, transform_hlds__ctgc__structure_reuse__analysis__V_5_5, transform_hlds__ctgc__structure_reuse__analysis__V_7_7);
#line 870 "structure_reuse.analysis.m"
            return;
          }
#line 870 "structure_reuse.analysis.m"
      }
#line 870 "structure_reuse.analysis.m"
  }
#line 870 "structure_reuse.analysis.m"
}

#line 870 "structure_reuse.analysis.m"
MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Unify____structure_reuse_func_info_0_0(
#line 870 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1,
#line 870 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2)
#line 870 "structure_reuse.analysis.m"
{
#line 870 "structure_reuse.analysis.m"
  {
#line 870 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 870 "structure_reuse.analysis.m"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__CastX_7 = (MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1;
#line 870 "structure_reuse.analysis.m"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__CastY_8 = (MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2;

#line 870 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__CastX_7 == transform_hlds__ctgc__structure_reuse__analysis__CastY_8);
#line 870 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 870 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = MR_TRUE;
#line 870 "structure_reuse.analysis.m"
    else
#line 870 "structure_reuse.analysis.m"
      {
#line 870 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_3_3 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1, (MR_Integer) 0)));
#line 870 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_4_4 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1, (MR_Integer) 1)));
#line 870 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, (MR_Integer) 0)));
#line 870 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, (MR_Integer) 1)));

#line 4596 "transform_hlds.ctgc.structure_reuse.analysis.c"
        {
#line 4598 "transform_hlds.ctgc.structure_reuse.analysis.c"
          transform_hlds__ctgc__structure_reuse__analysis__succeeded = hlds__hlds_module____Unify____module_info_0_0(transform_hlds__ctgc__structure_reuse__analysis__V_3_3, transform_hlds__ctgc__structure_reuse__analysis__V_5_5);
        }
#line 870 "structure_reuse.analysis.m"
        if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 4603 "transform_hlds.ctgc.structure_reuse.analysis.c"
          {
#line 4605 "transform_hlds.ctgc.structure_reuse.analysis.c"
            return transform_hlds__ctgc__structure_reuse__analysis__succeeded = hlds__hlds_pred____Unify____proc_info_0_0(transform_hlds__ctgc__structure_reuse__analysis__V_4_4, transform_hlds__ctgc__structure_reuse__analysis__V_6_6);
          }
#line 870 "structure_reuse.analysis.m"
      }
#line 870 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 870 "structure_reuse.analysis.m"
  }
#line 870 "structure_reuse.analysis.m"
}

#line 854 "structure_reuse.analysis.m"
void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Compare____structure_reuse_call_0_0(
#line 854 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1,
#line 854 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2,
#line 854 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3)
#line 854 "structure_reuse.analysis.m"
{
#line 854 "structure_reuse.analysis.m"
  {
#line 854 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 854 "structure_reuse.analysis.m"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__CastX_6 = (MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2;
#line 854 "structure_reuse.analysis.m"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__CastY_7 = (MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3;

#line 854 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__CastX_6 == transform_hlds__ctgc__structure_reuse__analysis__CastY_7);
#line 854 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 4641 "transform_hlds.ctgc.structure_reuse.analysis.c"
      *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1 = (MR_Integer) 0;
#line 854 "structure_reuse.analysis.m"
    else
#line 854 "structure_reuse.analysis.m"
      {
#line 854 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_4_4 = (MR_Word) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2;
#line 854 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_5_5 = (MR_Word) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3;

#line 854 "structure_reuse.analysis.m"
        {
#line 854 "structure_reuse.analysis.m"
          mercury__builtin__compare_3_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[9], transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_4_4)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_5_5)));
#line 854 "structure_reuse.analysis.m"
          return;
        }
#line 854 "structure_reuse.analysis.m"
      }
#line 854 "structure_reuse.analysis.m"
  }
#line 854 "structure_reuse.analysis.m"
}

#line 854 "structure_reuse.analysis.m"
MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Unify____structure_reuse_call_0_0(
#line 854 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1,
#line 854 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2)
#line 854 "structure_reuse.analysis.m"
{
#line 854 "structure_reuse.analysis.m"
  {
#line 854 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 854 "structure_reuse.analysis.m"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__CastX_5 = (MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1;
#line 854 "structure_reuse.analysis.m"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__CastY_6 = (MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2;

#line 854 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__CastX_5 == transform_hlds__ctgc__structure_reuse__analysis__CastY_6);
#line 854 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 854 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = MR_TRUE;
#line 854 "structure_reuse.analysis.m"
    else
#line 854 "structure_reuse.analysis.m"
      {
#line 854 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_3_3 = (MR_Word) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1;
#line 854 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_4_4 = (MR_Word) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2;

#line 4699 "transform_hlds.ctgc.structure_reuse.analysis.c"
        {
#line 4701 "transform_hlds.ctgc.structure_reuse.analysis.c"
          return transform_hlds__ctgc__structure_reuse__analysis__succeeded = mercury__builtin__unify_2_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[9], ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_3_3)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_4_4)));
        }
#line 854 "structure_reuse.analysis.m"
      }
#line 854 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 854 "structure_reuse.analysis.m"
  }
#line 854 "structure_reuse.analysis.m"
}

#line 857 "structure_reuse.analysis.m"
void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Compare____structure_reuse_answer_0_0(
#line 857 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1,
#line 857 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2,
#line 857 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3)
#line 857 "structure_reuse.analysis.m"
{
#line 857 "structure_reuse.analysis.m"
  {
#line 857 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 857 "structure_reuse.analysis.m"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__CastX_24 = (MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2;
#line 857 "structure_reuse.analysis.m"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__CastY_25 = (MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3;

#line 857 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__CastX_24 == transform_hlds__ctgc__structure_reuse__analysis__CastY_25);
#line 857 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 4737 "transform_hlds.ctgc.structure_reuse.analysis.c"
      *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1 = (MR_Integer) 0;
#line 857 "structure_reuse.analysis.m"
    else
#line 857 "structure_reuse.analysis.m"
      if ((transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 857 "structure_reuse.analysis.m"
        if ((transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 857 "structure_reuse.analysis.m"
          *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1 = (MR_Integer) 0;
#line 857 "structure_reuse.analysis.m"
        else
#line 857 "structure_reuse.analysis.m"
          if ((transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 857 "structure_reuse.analysis.m"
            *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1 = (MR_Integer) 1;
#line 857 "structure_reuse.analysis.m"
          else
#line 4755 "transform_hlds.ctgc.structure_reuse.analysis.c"
            *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1 = (MR_Integer) 1;
#line 857 "structure_reuse.analysis.m"
      else
#line 857 "structure_reuse.analysis.m"
        if ((transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 857 "structure_reuse.analysis.m"
          if ((transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 857 "structure_reuse.analysis.m"
            *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1 = (MR_Integer) 2;
#line 857 "structure_reuse.analysis.m"
          else
#line 857 "structure_reuse.analysis.m"
            if ((transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 857 "structure_reuse.analysis.m"
              *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1 = (MR_Integer) 0;
#line 857 "structure_reuse.analysis.m"
            else
#line 4773 "transform_hlds.ctgc.structure_reuse.analysis.c"
              *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1 = (MR_Integer) 1;
#line 857 "structure_reuse.analysis.m"
        else
#line 857 "structure_reuse.analysis.m"
          {
#line 857 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_29_29 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, (MR_Integer) 2)));
#line 857 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_30_30 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, (MR_Integer) 1)));
#line 857 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_31_31 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, (MR_Integer) 0)));

#line 857 "structure_reuse.analysis.m"
            if ((transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 4788 "transform_hlds.ctgc.structure_reuse.analysis.c"
              *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1 = (MR_Integer) 2;
#line 857 "structure_reuse.analysis.m"
            else
#line 857 "structure_reuse.analysis.m"
              if ((transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 4794 "transform_hlds.ctgc.structure_reuse.analysis.c"
                *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1 = (MR_Integer) 2;
#line 857 "structure_reuse.analysis.m"
              else
#line 857 "structure_reuse.analysis.m"
                {
#line 857 "structure_reuse.analysis.m"
                  MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_19_19 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3, (MR_Integer) 0)));
#line 857 "structure_reuse.analysis.m"
                  MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3, (MR_Integer) 1)));
#line 857 "structure_reuse.analysis.m"
                  MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_21_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3, (MR_Integer) 2)));
#line 857 "structure_reuse.analysis.m"
                  MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_22_22;

#line 857 "structure_reuse.analysis.m"
                  {
#line 857 "structure_reuse.analysis.m"
                    mercury__builtin__compare_3_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[6], &transform_hlds__ctgc__structure_reuse__analysis__V_22_22, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_31_31)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_19_19)));
                  }
#line 4814 "transform_hlds.ctgc.structure_reuse.analysis.c"
                  transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__V_22_22 == (MR_Integer) 0);
#line 857 "structure_reuse.analysis.m"
                  transform_hlds__ctgc__structure_reuse__analysis__succeeded = !(transform_hlds__ctgc__structure_reuse__analysis__succeeded);
#line 857 "structure_reuse.analysis.m"
                  if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 857 "structure_reuse.analysis.m"
                    *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1 = transform_hlds__ctgc__structure_reuse__analysis__V_22_22;
#line 857 "structure_reuse.analysis.m"
                  else
#line 857 "structure_reuse.analysis.m"
                    {
#line 857 "structure_reuse.analysis.m"
                      MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_23_23;

#line 857 "structure_reuse.analysis.m"
                      {
#line 857 "structure_reuse.analysis.m"
                        mercury__builtin__compare_3_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[7], &transform_hlds__ctgc__structure_reuse__analysis__V_23_23, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_30_30)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_20_20)));
                      }
#line 4834 "transform_hlds.ctgc.structure_reuse.analysis.c"
                      transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__V_23_23 == (MR_Integer) 0);
#line 857 "structure_reuse.analysis.m"
                      transform_hlds__ctgc__structure_reuse__analysis__succeeded = !(transform_hlds__ctgc__structure_reuse__analysis__succeeded);
#line 857 "structure_reuse.analysis.m"
                      if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 857 "structure_reuse.analysis.m"
                        *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1 = transform_hlds__ctgc__structure_reuse__analysis__V_23_23;
#line 857 "structure_reuse.analysis.m"
                      else
#line 857 "structure_reuse.analysis.m"
                        {
#line 857 "structure_reuse.analysis.m"
                          {
#line 857 "structure_reuse.analysis.m"
                            mercury__builtin__compare_3_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[8], transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_29_29)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_21_21)));
#line 857 "structure_reuse.analysis.m"
                            return;
                          }
#line 857 "structure_reuse.analysis.m"
                        }
#line 857 "structure_reuse.analysis.m"
                    }
#line 857 "structure_reuse.analysis.m"
                }
#line 857 "structure_reuse.analysis.m"
          }
#line 857 "structure_reuse.analysis.m"
  }
#line 857 "structure_reuse.analysis.m"
}

#line 857 "structure_reuse.analysis.m"
MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Unify____structure_reuse_answer_0_0(
#line 857 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1,
#line 857 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2)
#line 857 "structure_reuse.analysis.m"
{
#line 857 "structure_reuse.analysis.m"
  {
#line 857 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 857 "structure_reuse.analysis.m"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__CastX_13 = (MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1;
#line 857 "structure_reuse.analysis.m"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__CastY_14 = (MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2;

#line 857 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__CastX_13 == transform_hlds__ctgc__structure_reuse__analysis__CastY_14);
#line 857 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 857 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = MR_TRUE;
#line 857 "structure_reuse.analysis.m"
    else
#line 857 "structure_reuse.analysis.m"
      if ((transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 857 "structure_reuse.analysis.m"
        {
#line 857 "structure_reuse.analysis.m"
          MR_Integer transform_hlds__ctgc__structure_reuse__analysis__CastX_3 = (MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1;
#line 857 "structure_reuse.analysis.m"
          MR_Integer transform_hlds__ctgc__structure_reuse__analysis__CastY_4 = (MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2;

#line 857 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__CastY_4 == transform_hlds__ctgc__structure_reuse__analysis__CastX_3);
#line 857 "structure_reuse.analysis.m"
        }
#line 857 "structure_reuse.analysis.m"
      else
#line 857 "structure_reuse.analysis.m"
        if ((transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 857 "structure_reuse.analysis.m"
          {
#line 857 "structure_reuse.analysis.m"
            MR_Integer transform_hlds__ctgc__structure_reuse__analysis__CastX_5 = (MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1;
#line 857 "structure_reuse.analysis.m"
            MR_Integer transform_hlds__ctgc__structure_reuse__analysis__CastY_6 = (MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2;

#line 857 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__CastY_6 == transform_hlds__ctgc__structure_reuse__analysis__CastX_5);
#line 857 "structure_reuse.analysis.m"
          }
#line 857 "structure_reuse.analysis.m"
        else
#line 857 "structure_reuse.analysis.m"
          {
#line 857 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_15_15;
#line 857 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_16_16;
#line 857 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_17_17;
#line 857 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1, (MR_Integer) 0)));
#line 857 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_8_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1, (MR_Integer) 1)));
#line 857 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_9_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1, (MR_Integer) 2)));
#line 857 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_10_10;
#line 857 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_11_11;
#line 857 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_12_12;

#line 857 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__succeeded = ((MR_tag((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 857 "structure_reuse.analysis.m"
            if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 857 "structure_reuse.analysis.m"
              {
#line 857 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_10_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, (MR_Integer) 0)));
#line 857 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_11_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, (MR_Integer) 1)));
#line 857 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_12_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, (MR_Integer) 2)));
#line 4955 "transform_hlds.ctgc.structure_reuse.analysis.c"
                transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_15_15 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[6];
#line 4957 "transform_hlds.ctgc.structure_reuse.analysis.c"
                {
#line 4959 "transform_hlds.ctgc.structure_reuse.analysis.c"
                  transform_hlds__ctgc__structure_reuse__analysis__succeeded = mercury__builtin__unify_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_15_15, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_7_7)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_10_10)));
                }
#line 857 "structure_reuse.analysis.m"
                if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 857 "structure_reuse.analysis.m"
                  {
#line 4966 "transform_hlds.ctgc.structure_reuse.analysis.c"
                    transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_16_16 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[7];
#line 4968 "transform_hlds.ctgc.structure_reuse.analysis.c"
                    {
#line 4970 "transform_hlds.ctgc.structure_reuse.analysis.c"
                      transform_hlds__ctgc__structure_reuse__analysis__succeeded = mercury__builtin__unify_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_16_16, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_8_8)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_11_11)));
                    }
#line 857 "structure_reuse.analysis.m"
                    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 857 "structure_reuse.analysis.m"
                      {
#line 4977 "transform_hlds.ctgc.structure_reuse.analysis.c"
                        transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_17_17 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[8];
#line 4979 "transform_hlds.ctgc.structure_reuse.analysis.c"
                        {
#line 4981 "transform_hlds.ctgc.structure_reuse.analysis.c"
                          return transform_hlds__ctgc__structure_reuse__analysis__succeeded = mercury__builtin__unify_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_17_17, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_9_9)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_12_12)));
                        }
#line 857 "structure_reuse.analysis.m"
                      }
#line 857 "structure_reuse.analysis.m"
                  }
#line 857 "structure_reuse.analysis.m"
              }
#line 857 "structure_reuse.analysis.m"
          }
#line 857 "structure_reuse.analysis.m"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 857 "structure_reuse.analysis.m"
  }
#line 857 "structure_reuse.analysis.m"
}

#line 1118 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Compare____should_write_for_0_0(
#line 1118 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1,
#line 1118 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2,
#line 1118 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3)
#line 1118 "structure_reuse.analysis.m"
{
#line 1118 "structure_reuse.analysis.m"
  {
#line 1118 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 1118 "structure_reuse.analysis.m"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__Cast_HeadVar1_4 = (MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2;
#line 1118 "structure_reuse.analysis.m"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__Cast_HeadVar2_5 = (MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3;

#line 1118 "structure_reuse.analysis.m"
    {
#line 1118 "structure_reuse.analysis.m"
      mercury__private_builtin__builtin_compare_int_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1, transform_hlds__ctgc__structure_reuse__analysis__Cast_HeadVar1_4, transform_hlds__ctgc__structure_reuse__analysis__Cast_HeadVar2_5);
#line 1118 "structure_reuse.analysis.m"
      return;
    }
#line 1118 "structure_reuse.analysis.m"
  }
#line 1118 "structure_reuse.analysis.m"
}

#line 1118 "structure_reuse.analysis.m"
static MR_bool MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis____Unify____should_write_for_0_0(
#line 1118 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_1,
#line 1118 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2)
#line 1118 "structure_reuse.analysis.m"
{
#line 5040 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 5042 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_1 == transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2);

#line 5045 "transform_hlds.ctgc.structure_reuse.analysis.c"
    return transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 5047 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 1118 "structure_reuse.analysis.m"
}

#line 1221 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__remove_useless_reuse_proc_7_p_0(
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_8,
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_9,
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAsMap_10,
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__4_11,
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_12,
#line 1221 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_0_20,
#line 1221 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_21)
#line 1221 "structure_reuse.analysis.m"
{
#line 1227 "structure_reuse.analysis.m"
  {
#line 1227 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;

#line 1227 "structure_reuse.analysis.m"
    {
#line 1227 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_114_101_109_111_118_101_95_117_115_101_108_101_115_115_95_114_101_117_115_101_95_112_114_111_99_95_95_91_52_93_95_48_7_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_8, transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_9, transform_hlds__ctgc__structure_reuse__analysis__ReuseAsMap_10, transform_hlds__ctgc__structure_reuse__analysis__PPId_12, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_0_20, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_21);
#line 1227 "structure_reuse.analysis.m"
      return;
    }
#line 1227 "structure_reuse.analysis.m"
  }
#line 1221 "structure_reuse.analysis.m"
}

#line 1107 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__record_intermod_requests_4_p_0(
#line 1107 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_5,
#line 1107 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2,
#line 1107 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_0_11,
#line 1107 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_12)
#line 1107 "structure_reuse.analysis.m"
{
#line 1111 "structure_reuse.analysis.m"
  {
#line 1111 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 1111 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, (MR_Integer) 0)));
#line 1111 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, (MR_Integer) 1)));
#line 1111 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleName_9;
#line 1111 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__FuncId_10;
#line 1111 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_14_14;

#line 1112 "structure_reuse.analysis.m"
    {
#line 1112 "structure_reuse.analysis.m"
      transform_hlds__mmc_analysis__module_name_func_id_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_5, transform_hlds__ctgc__structure_reuse__analysis__PPId_6, &transform_hlds__ctgc__structure_reuse__analysis__ModuleName_9, &transform_hlds__ctgc__structure_reuse__analysis__FuncId_10);
    }
#line 1113 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__V_14_14 = (MR_Word) transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_7;
#line 1113 "structure_reuse.analysis.m"
    {
#line 1113 "structure_reuse.analysis.m"
      analysis__record_request_6_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_3[0], (MR_String) "structure_reuse", transform_hlds__ctgc__structure_reuse__analysis__ModuleName_9, transform_hlds__ctgc__structure_reuse__analysis__FuncId_10, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_14_14)), transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_0_11, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_12);
#line 1113 "structure_reuse.analysis.m"
      return;
    }
#line 1111 "structure_reuse.analysis.m"
  }
#line 1107 "structure_reuse.analysis.m"
}

#line 1093 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__handle_structure_reuse_dependency_4_p_0(
#line 1093 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_5,
#line 1093 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2,
#line 1093 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_0_15,
#line 1093 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_16)
#line 1093 "structure_reuse.analysis.m"
{
#line 1097 "structure_reuse.analysis.m"
  {
#line 1097 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 1097 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeClassInfo_for_analysis_18;
#line 1097 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__DepPPId_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, (MR_Integer) 0)));
#line 1097 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, (MR_Integer) 1)));
#line 1097 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__DepModuleName_9;
#line 1097 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__DepFuncId_10;
#line 1097 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call_11;
#line 1097 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Answer_12;
#line 1097 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_14;
#line 5168 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_19_19;
#line 5170 "transform_hlds.ctgc.structure_reuse.analysis.c"
    void MR_CALL (* transform_hlds__ctgc__structure_reuse__analysis__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *);
#line 5172 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv1_FuncInfo_14;

#line 1099 "structure_reuse.analysis.m"
    {
#line 1099 "structure_reuse.analysis.m"
      transform_hlds__mmc_analysis__module_name_func_id_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_5, transform_hlds__ctgc__structure_reuse__analysis__DepPPId_6, &transform_hlds__ctgc__structure_reuse__analysis__DepModuleName_9, &transform_hlds__ctgc__structure_reuse__analysis__DepFuncId_10);
    }
#line 1100 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__Call_11 = (MR_Word) transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_7;
#line 5182 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__TypeClassInfo_for_analysis_18 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_4[0];
#line 5184 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__TypeClassInfo_for_analysis_18, (MR_Integer) 0)), (MR_Integer) 10)));
#line 5186 "transform_hlds.ctgc.structure_reuse.analysis.c"
    {
#line 5188 "transform_hlds.ctgc.structure_reuse.analysis.c"
      transform_hlds__ctgc__structure_reuse__analysis__func_0(((MR_Box) transform_hlds__ctgc__structure_reuse__analysis__TypeClassInfo_for_analysis_18), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_5)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__DepModuleName_9)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__DepFuncId_10)), &transform_hlds__ctgc__structure_reuse__analysis__conv1_FuncInfo_14);
    }
#line 5191 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_14 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv1_FuncInfo_14);
#line 1104 "structure_reuse.analysis.m"
    {
#line 1104 "structure_reuse.analysis.m"
      analysis__record_dependency_7_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeClassInfo_for_analysis_18, transform_hlds__ctgc__structure_reuse__analysis__DepModuleName_9, transform_hlds__ctgc__structure_reuse__analysis__DepFuncId_10, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_14)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__Call_11)), transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_0_15, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_16);
#line 1104 "structure_reuse.analysis.m"
      return;
    }
#line 1097 "structure_reuse.analysis.m"
  }
#line 1093 "structure_reuse.analysis.m"
}

#line 1032 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__record_structure_reuse_results_6_p_0(
#line 1032 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_7,
#line 1032 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__CondReuseMap_8,
#line 1032 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_9,
#line 1032 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_10,
#line 1032 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_0_15,
#line 1032 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_16)
#line 1032 "structure_reuse.analysis.m"
{
#line 1037 "structure_reuse.analysis.m"
  {
#line 1037 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 1037 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__RecordPPId_13;
#line 1037 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_14;
#line 1037 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredId_27;
#line 1037 "structure_reuse.analysis.m"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__ProcId_28;
#line 1037 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_29;
#line 1037 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Status_30;
#line 1037 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredInfo_31;
#line 1043 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Key_12;
#line 1038 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv0_Key_12;
#line 1128 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredOrigin_46;
#line 1133 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_54_54;
#line 1133 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_47_47;
#line 1133 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_48_48;

#line 1038 "structure_reuse.analysis.m"
    {
#line 1038 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = mercury__bimap__reverse_search_3_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_ppid_no_clobbers_0, (MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0, transform_hlds__ctgc__structure_reuse__analysis__CondReuseMap_8, &transform_hlds__ctgc__structure_reuse__analysis__conv0_Key_12, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PPId_9)));
    }
#line 1038 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1038 "structure_reuse.analysis.m"
      {
#line 1038 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__Key_12 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv0_Key_12);
#line 1038 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__succeeded = MR_TRUE;
#line 1038 "structure_reuse.analysis.m"
      }
#line 1043 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1042 "structure_reuse.analysis.m"
      {
#line 1042 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__RecordPPId_13 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__Key_12, (MR_Integer) 0)));
#line 1042 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_14 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__Key_12, (MR_Integer) 1)));
#line 1042 "structure_reuse.analysis.m"
      }
#line 1043 "structure_reuse.analysis.m"
    else
#line 1044 "structure_reuse.analysis.m"
      {
#line 1044 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__RecordPPId_13 = transform_hlds__ctgc__structure_reuse__analysis__PPId_9;
#line 1045 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_14 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1044 "structure_reuse.analysis.m"
      }
#line 1056 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__PredId_27 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__RecordPPId_13, (MR_Integer) 0)));
#line 1056 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__ProcId_28 = ((MR_Integer) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__RecordPPId_13, (MR_Integer) 1)));
#line 1057 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_29 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_10, (MR_Integer) 0)));
#line 1057 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__Status_30 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_10, (MR_Integer) 1)));
#line 1059 "structure_reuse.analysis.m"
    {
#line 1059 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_pred_info_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_7, transform_hlds__ctgc__structure_reuse__analysis__PredId_27, &transform_hlds__ctgc__structure_reuse__analysis__PredInfo_31);
    }
#line 1128 "structure_reuse.analysis.m"
    {
#line 1128 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = hlds__hlds_pred__procedure_is_exported_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_7, transform_hlds__ctgc__structure_reuse__analysis__PredInfo_31, transform_hlds__ctgc__structure_reuse__analysis__ProcId_28);
    }
#line 1128 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1128 "structure_reuse.analysis.m"
      {
#line 1129 "structure_reuse.analysis.m"
        {
#line 1129 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__succeeded = hlds__hlds_pred__is_unify_or_compare_pred_1_p_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo_31);
        }
#line 1129 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__succeeded = !(transform_hlds__ctgc__structure_reuse__analysis__succeeded);
#line 1128 "structure_reuse.analysis.m"
        if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1128 "structure_reuse.analysis.m"
          {
#line 1132 "structure_reuse.analysis.m"
            {
#line 1132 "structure_reuse.analysis.m"
              hlds__hlds_pred__pred_info_get_origin_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo_31, &transform_hlds__ctgc__structure_reuse__analysis__PredOrigin_46);
            }
#line 1133 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__succeeded = ((MR_tag((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__PredOrigin_46)) == (MR_mktag((MR_Integer) 2)));
#line 1133 "structure_reuse.analysis.m"
            if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1133 "structure_reuse.analysis.m"
              {
#line 1133 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_54_54 = ((MR_Word) (MR_hl_field(MR_mktag(2), transform_hlds__ctgc__structure_reuse__analysis__PredOrigin_46, (MR_Integer) 0)));
#line 1133 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_47_47 = ((MR_Word) (MR_hl_field(MR_mktag(2), transform_hlds__ctgc__structure_reuse__analysis__PredOrigin_46, (MR_Integer) 1)));
#line 1133 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_48_48 = ((MR_Word) (MR_hl_field(MR_mktag(2), transform_hlds__ctgc__structure_reuse__analysis__PredOrigin_46, (MR_Integer) 2)));
#line 1133 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__V_54_54 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4))));
#line 1133 "structure_reuse.analysis.m"
              }
#line 1133 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__succeeded = !(transform_hlds__ctgc__structure_reuse__analysis__succeeded);
#line 1128 "structure_reuse.analysis.m"
          }
#line 1128 "structure_reuse.analysis.m"
      }
#line 5348 "transform_hlds.ctgc.structure_reuse.analysis.c"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 5350 "transform_hlds.ctgc.structure_reuse.analysis.c"
      {
#line 5352 "transform_hlds.ctgc.structure_reuse.analysis.c"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__Answer_33;
#line 5354 "transform_hlds.ctgc.structure_reuse.analysis.c"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleName_34;
#line 5356 "transform_hlds.ctgc.structure_reuse.analysis.c"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__FuncId_35;
#line 5358 "transform_hlds.ctgc.structure_reuse.analysis.c"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_37_37;
#line 5360 "transform_hlds.ctgc.structure_reuse.analysis.c"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__Reuse_60;

#line 1076 "structure_reuse.analysis.m"
        {
#line 1076 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__Reuse_60 = transform_hlds__ctgc__structure_reuse__domain__to_structure_reuse_domain_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_29);
        }
#line 1080 "structure_reuse.analysis.m"
        if ((transform_hlds__ctgc__structure_reuse__analysis__Reuse_60 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1079 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__Answer_33 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1080 "structure_reuse.analysis.m"
        else
#line 1080 "structure_reuse.analysis.m"
          if ((transform_hlds__ctgc__structure_reuse__analysis__Reuse_60 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 1082 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__Answer_33 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1));
#line 1080 "structure_reuse.analysis.m"
          else
#line 1084 "structure_reuse.analysis.m"
            {
#line 1084 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__Conditions_61 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Reuse_60, (MR_Integer) 0)));
#line 1084 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_62;
#line 1084 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVars_63;
#line 1084 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__VarTypes_64;
#line 1084 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_65;

#line 1085 "structure_reuse.analysis.m"
              {
#line 1085 "structure_reuse.analysis.m"
                hlds__hlds_module__module_info_proc_info_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_7, transform_hlds__ctgc__structure_reuse__analysis__RecordPPId_13, &transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_62);
              }
#line 1086 "structure_reuse.analysis.m"
              {
#line 1086 "structure_reuse.analysis.m"
                hlds__hlds_pred__proc_info_get_headvars_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_62, &transform_hlds__ctgc__structure_reuse__analysis__HeadVars_63);
              }
#line 1087 "structure_reuse.analysis.m"
              {
#line 1087 "structure_reuse.analysis.m"
                hlds__hlds_pred__proc_info_get_vartypes_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_62, &transform_hlds__ctgc__structure_reuse__analysis__VarTypes_64);
              }
#line 1088 "structure_reuse.analysis.m"
              {
#line 1088 "structure_reuse.analysis.m"
                parse_tree__prog_data__lookup_var_types_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__VarTypes_64, transform_hlds__ctgc__structure_reuse__analysis__HeadVars_63, &transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_65);
              }
#line 1089 "structure_reuse.analysis.m"
              {
#line 1089 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__Answer_33 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL));
#line 1089 "structure_reuse.analysis.m"
                MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer_33, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__HeadVars_63));
#line 1089 "structure_reuse.analysis.m"
                MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer_33, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_65));
#line 1089 "structure_reuse.analysis.m"
                MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer_33, 2) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__Conditions_61));
#line 1089 "structure_reuse.analysis.m"
              }
#line 1084 "structure_reuse.analysis.m"
            }
#line 1065 "structure_reuse.analysis.m"
        {
#line 1065 "structure_reuse.analysis.m"
          transform_hlds__mmc_analysis__module_name_func_id_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_7, transform_hlds__ctgc__structure_reuse__analysis__RecordPPId_13, &transform_hlds__ctgc__structure_reuse__analysis__ModuleName_34, &transform_hlds__ctgc__structure_reuse__analysis__FuncId_35);
        }
#line 1066 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__V_37_37 = (MR_Word) transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_14;
#line 1066 "structure_reuse.analysis.m"
        {
#line 1066 "structure_reuse.analysis.m"
          analysis__record_result_7_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_4[0], transform_hlds__ctgc__structure_reuse__analysis__ModuleName_34, transform_hlds__ctgc__structure_reuse__analysis__FuncId_35, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_37_37)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__Answer_33)), transform_hlds__ctgc__structure_reuse__analysis__Status_30, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_0_15, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_16);
#line 1066 "structure_reuse.analysis.m"
          return;
        }
#line 5441 "transform_hlds.ctgc.structure_reuse.analysis.c"
      }
#line 5443 "transform_hlds.ctgc.structure_reuse.analysis.c"
    else
#line 1069 "structure_reuse.analysis.m"
      *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_16 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_0_15;
#line 1037 "structure_reuse.analysis.m"
  }
#line 1032 "structure_reuse.analysis.m"
}

#line 816 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__write_proc_reuse_info_11_p_0(
#line 816 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_12,
#line 816 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredId_13,
#line 816 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredInfo_14,
#line 816 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcTable_15,
#line 816 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredOrFunc_16,
#line 816 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__SymName_17,
#line 816 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Context_18,
#line 816 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeVarSet_19,
#line 816 "structure_reuse.analysis.m"
  MR_Integer transform_hlds__ctgc__structure_reuse__analysis__ProcId_20)
#line 816 "structure_reuse.analysis.m"
{
#line 5475 "transform_hlds.ctgc.structure_reuse.analysis.c"
  {
#line 5477 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 1128 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredOrigin_50;
#line 1128 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeSpecInfo_53;
#line 1128 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeSpecForcePreds_55;
#line 1133 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_58_58;
#line 1133 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_51_51;
#line 1133 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_52_52;
#line 1144 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_54_54;
#line 1144 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_56_56;
#line 1144 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_57_57;
#line 1145 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_22_59;

#line 1128 "structure_reuse.analysis.m"
    {
#line 1128 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = hlds__hlds_pred__procedure_is_exported_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_12, transform_hlds__ctgc__structure_reuse__analysis__PredInfo_14, transform_hlds__ctgc__structure_reuse__analysis__ProcId_20);
    }
#line 1128 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1128 "structure_reuse.analysis.m"
      {
#line 1129 "structure_reuse.analysis.m"
        {
#line 1129 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__succeeded = hlds__hlds_pred__is_unify_or_compare_pred_1_p_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo_14);
        }
#line 1129 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__succeeded = !(transform_hlds__ctgc__structure_reuse__analysis__succeeded);
#line 1128 "structure_reuse.analysis.m"
        if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1128 "structure_reuse.analysis.m"
          {
#line 1132 "structure_reuse.analysis.m"
            {
#line 1132 "structure_reuse.analysis.m"
              hlds__hlds_pred__pred_info_get_origin_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo_14, &transform_hlds__ctgc__structure_reuse__analysis__PredOrigin_50);
            }
#line 1133 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__succeeded = ((MR_tag((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__PredOrigin_50)) == (MR_mktag((MR_Integer) 2)));
#line 1133 "structure_reuse.analysis.m"
            if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1133 "structure_reuse.analysis.m"
              {
#line 1133 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_58_58 = ((MR_Word) (MR_hl_field(MR_mktag(2), transform_hlds__ctgc__structure_reuse__analysis__PredOrigin_50, (MR_Integer) 0)));
#line 1133 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_51_51 = ((MR_Word) (MR_hl_field(MR_mktag(2), transform_hlds__ctgc__structure_reuse__analysis__PredOrigin_50, (MR_Integer) 1)));
#line 1133 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_52_52 = ((MR_Word) (MR_hl_field(MR_mktag(2), transform_hlds__ctgc__structure_reuse__analysis__PredOrigin_50, (MR_Integer) 2)));
#line 1133 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__V_58_58 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4))));
#line 1133 "structure_reuse.analysis.m"
              }
#line 1133 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__succeeded = !(transform_hlds__ctgc__structure_reuse__analysis__succeeded);
#line 1128 "structure_reuse.analysis.m"
            if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1128 "structure_reuse.analysis.m"
              {
#line 1143 "structure_reuse.analysis.m"
                {
#line 1143 "structure_reuse.analysis.m"
                  hlds__hlds_module__module_info_get_type_spec_info_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_12, &transform_hlds__ctgc__structure_reuse__analysis__TypeSpecInfo_53);
                }
#line 1144 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_54_54 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__TypeSpecInfo_53, (MR_Integer) 0)));
#line 1144 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__TypeSpecForcePreds_55 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__TypeSpecInfo_53, (MR_Integer) 1)));
#line 1144 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_56_56 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__TypeSpecInfo_53, (MR_Integer) 2)));
#line 1144 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_57_57 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__TypeSpecInfo_53, (MR_Integer) 3)));
#line 5560 "transform_hlds.ctgc.structure_reuse.analysis.c"
                transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_22_59 = (MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_id_0;
#line 1145 "structure_reuse.analysis.m"
                {
#line 1145 "structure_reuse.analysis.m"
                  transform_hlds__ctgc__structure_reuse__analysis__succeeded = mercury__set__member_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_22_59, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PredId_13)), transform_hlds__ctgc__structure_reuse__analysis__TypeSpecForcePreds_55);
                }
#line 1145 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__succeeded = !(transform_hlds__ctgc__structure_reuse__analysis__succeeded);
#line 1128 "structure_reuse.analysis.m"
              }
#line 1128 "structure_reuse.analysis.m"
          }
#line 1128 "structure_reuse.analysis.m"
      }
#line 5575 "transform_hlds.ctgc.structure_reuse.analysis.c"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 5577 "transform_hlds.ctgc.structure_reuse.analysis.c"
      {
#line 5579 "transform_hlds.ctgc.structure_reuse.analysis.c"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_23;
#line 5581 "transform_hlds.ctgc.structure_reuse.analysis.c"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__MaybeStructureReuseDomain_24;
#line 826 "structure_reuse.analysis.m"
        MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv0_ProcInfo_23;

#line 826 "structure_reuse.analysis.m"
        {
#line 826 "structure_reuse.analysis.m"
          mercury__map__lookup_3_p_0((MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_proc_id_0, (MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_proc_info_0, transform_hlds__ctgc__structure_reuse__analysis__ProcTable_15, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ProcId_20)), &transform_hlds__ctgc__structure_reuse__analysis__conv0_ProcInfo_23);
        }
#line 826 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_23 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv0_ProcInfo_23);
#line 827 "structure_reuse.analysis.m"
        {
#line 827 "structure_reuse.analysis.m"
          hlds__hlds_pred__proc_info_get_structure_reuse_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_23, &transform_hlds__ctgc__structure_reuse__analysis__MaybeStructureReuseDomain_24);
        }
#line 842 "structure_reuse.analysis.m"
        if ((transform_hlds__ctgc__structure_reuse__analysis__MaybeStructureReuseDomain_24 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 843 "structure_reuse.analysis.m"
          {
#line 843 "structure_reuse.analysis.m"
          }
#line 842 "structure_reuse.analysis.m"
        else
#line 830 "structure_reuse.analysis.m"
          {
#line 830 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__Reuse_25;
#line 830 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__Modes_27;
#line 830 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__VarSet_28;
#line 830 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVars_29;
#line 830 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__VarTypes_30;
#line 830 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_31;
#line 830 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__MaybeReuse_32;
#line 830 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredNameModesPF_33;
#line 830 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseInfo_34;
#line 830 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_38_38 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__MaybeStructureReuseDomain_24, (MR_Integer) 0)));
#line 830 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_39_39;
#line 830 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_40_40;
#line 829 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis___Status_26;

#line 829 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__Reuse_25 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_38_38, (MR_Integer) 0)));
#line 829 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis___Status_26 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_38_38, (MR_Integer) 1)));
#line 831 "structure_reuse.analysis.m"
            {
#line 831 "structure_reuse.analysis.m"
              hlds__hlds_pred__proc_info_declared_argmodes_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_23, &transform_hlds__ctgc__structure_reuse__analysis__Modes_27);
            }
#line 832 "structure_reuse.analysis.m"
            {
#line 832 "structure_reuse.analysis.m"
              hlds__hlds_pred__proc_info_get_varset_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_23, &transform_hlds__ctgc__structure_reuse__analysis__VarSet_28);
            }
#line 833 "structure_reuse.analysis.m"
            {
#line 833 "structure_reuse.analysis.m"
              hlds__hlds_pred__proc_info_get_headvars_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_23, &transform_hlds__ctgc__structure_reuse__analysis__HeadVars_29);
            }
#line 834 "structure_reuse.analysis.m"
            {
#line 834 "structure_reuse.analysis.m"
              hlds__hlds_pred__proc_info_get_vartypes_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_23, &transform_hlds__ctgc__structure_reuse__analysis__VarTypes_30);
            }
#line 835 "structure_reuse.analysis.m"
            {
#line 835 "structure_reuse.analysis.m"
              parse_tree__prog_data__lookup_var_types_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__VarTypes_30, transform_hlds__ctgc__structure_reuse__analysis__HeadVars_29, &transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_31);
            }
#line 836 "structure_reuse.analysis.m"
            {
#line 836 "structure_reuse.analysis.m"
              transform_hlds__ctgc__structure_reuse__analysis__MaybeReuse_32 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 836 "structure_reuse.analysis.m"
              MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__MaybeReuse_32, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__Reuse_25));
#line 836 "structure_reuse.analysis.m"
            }
#line 837 "structure_reuse.analysis.m"
            {
#line 837 "structure_reuse.analysis.m"
              transform_hlds__ctgc__structure_reuse__analysis__PredNameModesPF_33 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 837 "structure_reuse.analysis.m"
              MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__PredNameModesPF_33, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__SymName_17));
#line 837 "structure_reuse.analysis.m"
              MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__PredNameModesPF_33, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__Modes_27));
#line 837 "structure_reuse.analysis.m"
              MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__PredNameModesPF_33, 2) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PredOrFunc_16));
#line 837 "structure_reuse.analysis.m"
            }
#line 838 "structure_reuse.analysis.m"
            {
#line 838 "structure_reuse.analysis.m"
              transform_hlds__ctgc__structure_reuse__analysis__ReuseInfo_34 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 4 * sizeof(MR_Word)), NULL, NULL);
#line 838 "structure_reuse.analysis.m"
              MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ReuseInfo_34, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PredNameModesPF_33));
#line 838 "structure_reuse.analysis.m"
              MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ReuseInfo_34, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__HeadVars_29));
#line 838 "structure_reuse.analysis.m"
              MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ReuseInfo_34, 2) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_31));
#line 838 "structure_reuse.analysis.m"
              MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ReuseInfo_34, 3) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__MaybeReuse_32));
#line 838 "structure_reuse.analysis.m"
            }
#line 840 "structure_reuse.analysis.m"
            {
#line 840 "structure_reuse.analysis.m"
              transform_hlds__ctgc__structure_reuse__analysis__V_39_39 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 840 "structure_reuse.analysis.m"
              MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_39_39, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__VarSet_28));
#line 840 "structure_reuse.analysis.m"
            }
#line 840 "structure_reuse.analysis.m"
            {
#line 840 "structure_reuse.analysis.m"
              transform_hlds__ctgc__structure_reuse__analysis__V_40_40 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 840 "structure_reuse.analysis.m"
              MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_40_40, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__TypeVarSet_19));
#line 840 "structure_reuse.analysis.m"
            }
#line 840 "structure_reuse.analysis.m"
            {
#line 840 "structure_reuse.analysis.m"
              parse_tree__mercury_to_mercury__write_pragma_structure_reuse_info_6_p_0(transform_hlds__ctgc__structure_reuse__analysis__ReuseInfo_34, transform_hlds__ctgc__structure_reuse__analysis__V_39_39, transform_hlds__ctgc__structure_reuse__analysis__V_40_40, transform_hlds__ctgc__structure_reuse__analysis__Context_18);
#line 840 "structure_reuse.analysis.m"
              return;
            }
#line 830 "structure_reuse.analysis.m"
          }
#line 5723 "transform_hlds.ctgc.structure_reuse.analysis.c"
      }
#line 5725 "transform_hlds.ctgc.structure_reuse.analysis.c"
    else
#line 846 "structure_reuse.analysis.m"
      {
#line 846 "structure_reuse.analysis.m"
      }
#line 5731 "transform_hlds.ctgc.structure_reuse.analysis.c"
  }
#line 816 "structure_reuse.analysis.m"
}

#line 785 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__make_opt_int_4_p_0_1(
#line 785 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 785 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 785 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 785 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3)
#line 785 "structure_reuse.analysis.m"
{
#line 785 "structure_reuse.analysis.m"
  {
#line 785 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;

#line 785 "structure_reuse.analysis.m"
    {
#line 785 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__write_pred_reuse_info_4_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 3))), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1));
#line 785 "structure_reuse.analysis.m"
      return;
    }
#line 785 "structure_reuse.analysis.m"
  }
#line 785 "structure_reuse.analysis.m"
}

#line 767 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__make_opt_int_4_p_0(
#line 767 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_18,
#line 767 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_19)
#line 767 "structure_reuse.analysis.m"
{
#line 769 "structure_reuse.analysis.m"
  {
#line 769 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 769 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Globals_7;
#line 769 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleName_8;
#line 769 "structure_reuse.analysis.m"
    MR_String transform_hlds__ctgc__structure_reuse__analysis__OptFileName_9;
#line 769 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Verbose_10;
#line 769 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__OptFileRes_11;
#line 769 "structure_reuse.analysis.m"
    MR_String transform_hlds__ctgc__structure_reuse__analysis__V_28_28;

#line 770 "structure_reuse.analysis.m"
    {
#line 770 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_get_globals_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_18, &transform_hlds__ctgc__structure_reuse__analysis__Globals_7);
    }
#line 771 "structure_reuse.analysis.m"
    {
#line 771 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_get_name_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_18, &transform_hlds__ctgc__structure_reuse__analysis__ModuleName_8);
    }
#line 772 "structure_reuse.analysis.m"
    {
#line 772 "structure_reuse.analysis.m"
      parse_tree__file_names__module_name_to_file_name_7_p_0(transform_hlds__ctgc__structure_reuse__analysis__Globals_7, transform_hlds__ctgc__structure_reuse__analysis__ModuleName_8, (MR_String) ".opt.tmp", (MR_Integer) 1, &transform_hlds__ctgc__structure_reuse__analysis__OptFileName_9);
    }
#line 774 "structure_reuse.analysis.m"
    {
#line 774 "structure_reuse.analysis.m"
      libs__globals__lookup_bool_option_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__Globals_7, (MR_Integer) 44, &transform_hlds__ctgc__structure_reuse__analysis__Verbose_10);
    }
#line 775 "structure_reuse.analysis.m"
    {
#line 775 "structure_reuse.analysis.m"
      libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__Verbose_10, (MR_String) "% Appending structure_reuse pragmas to ");
    }
#line 777 "structure_reuse.analysis.m"
    {
#line 777 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__V_28_28 = parse_tree__error_util__add_quotes_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__OptFileName_9);
    }
#line 777 "structure_reuse.analysis.m"
    {
#line 777 "structure_reuse.analysis.m"
      libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__Verbose_10, transform_hlds__ctgc__structure_reuse__analysis__V_28_28);
    }
#line 778 "structure_reuse.analysis.m"
    {
#line 778 "structure_reuse.analysis.m"
      libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__Verbose_10, (MR_String) "...");
    }
#line 779 "structure_reuse.analysis.m"
    {
#line 779 "structure_reuse.analysis.m"
      libs__file_util__maybe_flush_output_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__Verbose_10);
    }
#line 780 "structure_reuse.analysis.m"
    {
#line 780 "structure_reuse.analysis.m"
      mercury__io__open_append_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__OptFileName_9, &transform_hlds__ctgc__structure_reuse__analysis__OptFileRes_11);
    }
#line 789 "structure_reuse.analysis.m"
    if (((MR_tag((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__OptFileRes_11)) == (MR_mktag((MR_Integer) 1))))
#line 790 "structure_reuse.analysis.m"
      {
#line 790 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__IOError_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__OptFileRes_11, (MR_Integer) 0)));
#line 790 "structure_reuse.analysis.m"
        MR_String transform_hlds__ctgc__structure_reuse__analysis__IOErrorMessage_17;
#line 790 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_36_36;
#line 790 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_39_39;
#line 790 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_40_40;
#line 790 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_42_42;

#line 791 "structure_reuse.analysis.m"
        {
#line 791 "structure_reuse.analysis.m"
          libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__Verbose_10, (MR_String) " failed!\n");
        }
#line 792 "structure_reuse.analysis.m"
        {
#line 792 "structure_reuse.analysis.m"
          mercury__io__error_message_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__IOError_16, &transform_hlds__ctgc__structure_reuse__analysis__IOErrorMessage_17);
        }
#line 794 "structure_reuse.analysis.m"
        {
#line 794 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__V_42_42 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 794 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_42_42, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__IOErrorMessage_17));
#line 794 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_42_42, 1) = ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 794 "structure_reuse.analysis.m"
        }
#line 794 "structure_reuse.analysis.m"
        {
#line 794 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__V_40_40 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 794 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_40_40, 0) = ((MR_Box) ((MR_String) "\' for output: "));
#line 794 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_40_40, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_42_42));
#line 794 "structure_reuse.analysis.m"
        }
#line 793 "structure_reuse.analysis.m"
        {
#line 793 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__V_39_39 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 793 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_39_39, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__OptFileName_9));
#line 793 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_39_39, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_40_40));
#line 793 "structure_reuse.analysis.m"
        }
#line 793 "structure_reuse.analysis.m"
        {
#line 793 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__V_36_36 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 793 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_36_36, 0) = ((MR_Box) ((MR_String) "Error opening file \140"));
#line 793 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_36_36, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_39_39));
#line 793 "structure_reuse.analysis.m"
        }
#line 793 "structure_reuse.analysis.m"
        {
#line 793 "structure_reuse.analysis.m"
          mercury__io__write_strings_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__V_36_36);
        }
#line 795 "structure_reuse.analysis.m"
        {
#line 795 "structure_reuse.analysis.m"
          mercury__io__set_exit_status_3_p_0((MR_Integer) 1);
        }
#line 795 "structure_reuse.analysis.m"
        *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_19 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_18;
#line 790 "structure_reuse.analysis.m"
      }
#line 789 "structure_reuse.analysis.m"
    else
#line 782 "structure_reuse.analysis.m"
      {
#line 782 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__OptFile_12 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__OptFileRes_11, (MR_Integer) 0)));
#line 782 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__OldStream_13;
#line 782 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredIds_14;
#line 782 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_48_48;
#line 785 "structure_reuse.analysis.m"
        MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_IO_49_49;
#line 786 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_15_15;

#line 783 "structure_reuse.analysis.m"
        {
#line 783 "structure_reuse.analysis.m"
          mercury__io__set_output_stream_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__OptFile_12, &transform_hlds__ctgc__structure_reuse__analysis__OldStream_13);
        }
#line 784 "structure_reuse.analysis.m"
        {
#line 784 "structure_reuse.analysis.m"
          hlds__hlds_module__module_info_get_valid_predids_3_p_0(&transform_hlds__ctgc__structure_reuse__analysis__PredIds_14, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_18, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_19);
        }
#line 785 "structure_reuse.analysis.m"
        {
#line 785 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__V_48_48 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 4 * sizeof(MR_Word)), NULL, NULL);
#line 785 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_48_48, 0) = ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_7[6]));
#line 785 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_48_48, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__make_opt_int_4_p_0_1));
#line 785 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_48_48, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 1));
#line 785 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_48_48, 3) = ((MR_Box) (*transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_19));
#line 785 "structure_reuse.analysis.m"
        }
#line 785 "structure_reuse.analysis.m"
        {
#line 785 "structure_reuse.analysis.m"
          mercury__list__foldl_4_p_2((MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_id_0, (MR_Word) &mercury__io__io__type_ctor_info_state_0, transform_hlds__ctgc__structure_reuse__analysis__V_48_48, transform_hlds__ctgc__structure_reuse__analysis__PredIds_14, ((MR_Box) ((MR_Integer) 0)), &transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_IO_49_49);
        }
#line 786 "structure_reuse.analysis.m"
        {
#line 786 "structure_reuse.analysis.m"
          mercury__io__set_output_stream_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__OldStream_13, &transform_hlds__ctgc__structure_reuse__analysis__V_15_15);
        }
#line 787 "structure_reuse.analysis.m"
        {
#line 787 "structure_reuse.analysis.m"
          mercury__io__close_output_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__OptFile_12);
        }
#line 788 "structure_reuse.analysis.m"
        {
#line 788 "structure_reuse.analysis.m"
          libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__Verbose_10, (MR_String) " done.\n");
#line 788 "structure_reuse.analysis.m"
          return;
        }
#line 782 "structure_reuse.analysis.m"
      }
#line 769 "structure_reuse.analysis.m"
  }
#line 767 "structure_reuse.analysis.m"
}

#line 754 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__annotate_in_use_information_3_p_0(
#line 754 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_4,
#line 754 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_0_6,
#line 754 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_7)
#line 754 "structure_reuse.analysis.m"
{
#line 757 "structure_reuse.analysis.m"
  {
#line 757 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 757 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_8_8;
#line 757 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_9_9;

#line 758 "structure_reuse.analysis.m"
    {
#line 758 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__lfu__forward_use_information_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_0_6, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_8_8);
    }
#line 759 "structure_reuse.analysis.m"
    {
#line 759 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__lbu__backward_use_information_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_4, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_8_8, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_9_9);
    }
#line 760 "structure_reuse.analysis.m"
    {
#line 760 "structure_reuse.analysis.m"
      hlds__goal_path__fill_goal_path_slots_in_proc_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_4, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_9_9, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_7);
#line 760 "structure_reuse.analysis.m"
      return;
    }
#line 757 "structure_reuse.analysis.m"
  }
#line 754 "structure_reuse.analysis.m"
}

#line 742 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__save_reuse_in_module_info_4_p_0(
#line 742 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_5,
#line 742 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_6,
#line 742 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_15,
#line 742 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_16)
#line 742 "structure_reuse.analysis.m"
{
#line 745 "structure_reuse.analysis.m"
  {
#line 745 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 745 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_6, (MR_Integer) 0)));
#line 745 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Status_9 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_6, (MR_Integer) 1)));
#line 745 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseDomain_10;
#line 745 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Domain_Status_11;
#line 745 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredInfo_12;
#line 745 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcInfo0_13;
#line 745 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_14;

#line 747 "structure_reuse.analysis.m"
    {
#line 747 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__ReuseDomain_10 = transform_hlds__ctgc__structure_reuse__domain__to_structure_reuse_domain_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_8);
    }
#line 748 "structure_reuse.analysis.m"
    {
#line 748 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__Domain_Status_11 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 748 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__Domain_Status_11, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ReuseDomain_10));
#line 748 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__Domain_Status_11, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__Status_9));
#line 748 "structure_reuse.analysis.m"
    }
#line 750 "structure_reuse.analysis.m"
    {
#line 750 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_pred_proc_info_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_15, transform_hlds__ctgc__structure_reuse__analysis__PPId_5, &transform_hlds__ctgc__structure_reuse__analysis__PredInfo_12, &transform_hlds__ctgc__structure_reuse__analysis__ProcInfo0_13);
    }
#line 751 "structure_reuse.analysis.m"
    {
#line 751 "structure_reuse.analysis.m"
      hlds__hlds_pred__proc_info_set_structure_reuse_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__Domain_Status_11, transform_hlds__ctgc__structure_reuse__analysis__ProcInfo0_13, &transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_14);
    }
#line 752 "structure_reuse.analysis.m"
    {
#line 752 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_set_pred_proc_info_5_p_0(transform_hlds__ctgc__structure_reuse__analysis__PPId_5, transform_hlds__ctgc__structure_reuse__analysis__PredInfo_12, transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_14, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_15, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_16);
#line 752 "structure_reuse.analysis.m"
      return;
    }
#line 745 "structure_reuse.analysis.m"
  }
#line 742 "structure_reuse.analysis.m"
}

#line 726 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__add_reuse_request_4_p_0(
#line 726 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_5,
#line 726 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2,
#line 726 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_Requests_0_10,
#line 726 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_Requests_11)
#line 726 "structure_reuse.analysis.m"
{
#line 729 "structure_reuse.analysis.m"
  {
#line 729 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 729 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_6 = (MR_Word) transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2;

#line 735 "structure_reuse.analysis.m"
    if ((transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 731 "structure_reuse.analysis.m"
      *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_Requests_11 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_Requests_0_10;
#line 735 "structure_reuse.analysis.m"
    else
#line 736 "structure_reuse.analysis.m"
      {
#line 736 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_13_13;

#line 737 "structure_reuse.analysis.m"
        {
#line 737 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__V_13_13 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 737 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_13_13, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PPId_5));
#line 737 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_13_13, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_6));
#line 737 "structure_reuse.analysis.m"
        }
#line 737 "structure_reuse.analysis.m"
        {
#line 737 "structure_reuse.analysis.m"
          MR_Word base;
#line 737 "structure_reuse.analysis.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 737 "structure_reuse.analysis.m"
          *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_Requests_11 = base;
#line 737 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_13_13));
#line 737 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_Requests_0_10));
#line 737 "structure_reuse.analysis.m"
        }
#line 736 "structure_reuse.analysis.m"
      }
#line 729 "structure_reuse.analysis.m"
  }
#line 726 "structure_reuse.analysis.m"
}

#line 694 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_defined_proc_7_p_0_1(
#line 694 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 694 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 694 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 694 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3)
#line 694 "structure_reuse.analysis.m"
{
#line 694 "structure_reuse.analysis.m"
  {
#line 694 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 694 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_Requests_11;

#line 694 "structure_reuse.analysis.m"
    {
#line 694 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__add_reuse_request_4_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 3))), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), &transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_Requests_11);
    }
#line 694 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_Requests_11));
#line 694 "structure_reuse.analysis.m"
  }
#line 694 "structure_reuse.analysis.m"
}

#line 678 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_defined_proc_7_p_0(
#line 678 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_8,
#line 678 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredId_9,
#line 678 "structure_reuse.analysis.m"
  MR_Integer transform_hlds__ctgc__structure_reuse__analysis__ProcId_10,
#line 678 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_0_30,
#line 678 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_31,
#line 678 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_0_32,
#line 678 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_33)
#line 678 "structure_reuse.analysis.m"
{
#line 683 "structure_reuse.analysis.m"
  {
#line 683 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 683 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_13;
#line 683 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__AnalysisInfo_14;
#line 683 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleName_15;
#line 683 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__FuncId_16;
#line 683 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ThisModule_17;

#line 684 "structure_reuse.analysis.m"
    {
#line 684 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__PPId_13 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 684 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__PPId_13, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PredId_9));
#line 684 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__PPId_13, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ProcId_10));
#line 684 "structure_reuse.analysis.m"
    }
#line 685 "structure_reuse.analysis.m"
    {
#line 685 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_get_analysis_info_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_8, &transform_hlds__ctgc__structure_reuse__analysis__AnalysisInfo_14);
    }
#line 686 "structure_reuse.analysis.m"
    {
#line 686 "structure_reuse.analysis.m"
      transform_hlds__mmc_analysis__module_name_func_id_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_8, transform_hlds__ctgc__structure_reuse__analysis__PPId_13, &transform_hlds__ctgc__structure_reuse__analysis__ModuleName_15, &transform_hlds__ctgc__structure_reuse__analysis__FuncId_16);
    }
#line 689 "structure_reuse.analysis.m"
    {
#line 689 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_get_name_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_8, &transform_hlds__ctgc__structure_reuse__analysis__ThisModule_17);
    }
#line 690 "structure_reuse.analysis.m"
    {
#line 690 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = mdbcomp__prim_data____Unify____sym_name_0_0(transform_hlds__ctgc__structure_reuse__analysis__ThisModule_17, transform_hlds__ctgc__structure_reuse__analysis__ModuleName_15);
    }
#line 722 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 693 "structure_reuse.analysis.m"
      {
#line 693 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_47_47;
#line 693 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_48_48;
#line 693 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__OldCalls_18;
#line 693 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__NewCalls_19;
#line 693 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_20;
#line 693 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_21;
#line 693 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__MaybeBestResult_23;
#line 693 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_35_35;
#line 693 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_36_36;
#line 694 "structure_reuse.analysis.m"
        MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ExternalRequests_36_36;
#line 699 "structure_reuse.analysis.m"
        MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv2_STATE_VARIABLE_ExternalRequests_31;

#line 692 "structure_reuse.analysis.m"
        {
#line 692 "structure_reuse.analysis.m"
          analysis__lookup_existing_call_patterns_5_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_3[0], transform_hlds__ctgc__structure_reuse__analysis__AnalysisInfo_14, (MR_String) "structure_reuse", transform_hlds__ctgc__structure_reuse__analysis__ModuleName_15, transform_hlds__ctgc__structure_reuse__analysis__FuncId_16, &transform_hlds__ctgc__structure_reuse__analysis__OldCalls_18);
        }
#line 694 "structure_reuse.analysis.m"
        {
#line 694 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__V_35_35 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 4 * sizeof(MR_Word)), NULL, NULL);
#line 694 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_35_35, 0) = ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_7[5]));
#line 694 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_35_35, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_defined_proc_7_p_0_1));
#line 694 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_35_35, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 1));
#line 694 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_35_35, 3) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PPId_13));
#line 694 "structure_reuse.analysis.m"
        }
#line 6308 "transform_hlds.ctgc.structure_reuse.analysis.c"
        transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_47_47 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_call_0;
#line 6310 "transform_hlds.ctgc.structure_reuse.analysis.c"
        transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_48_48 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[4];
#line 694 "structure_reuse.analysis.m"
        {
#line 694 "structure_reuse.analysis.m"
          mercury__list__foldl_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_47_47, transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_48_48, transform_hlds__ctgc__structure_reuse__analysis__V_35_35, transform_hlds__ctgc__structure_reuse__analysis__OldCalls_18, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_0_30)), &transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ExternalRequests_36_36);
        }
#line 694 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_36_36 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ExternalRequests_36_36);
#line 697 "structure_reuse.analysis.m"
        {
#line 697 "structure_reuse.analysis.m"
          analysis__lookup_requests_5_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_3[0], transform_hlds__ctgc__structure_reuse__analysis__AnalysisInfo_14, (MR_String) "structure_reuse", transform_hlds__ctgc__structure_reuse__analysis__ModuleName_15, transform_hlds__ctgc__structure_reuse__analysis__FuncId_16, &transform_hlds__ctgc__structure_reuse__analysis__NewCalls_19);
        }
#line 699 "structure_reuse.analysis.m"
        {
#line 699 "structure_reuse.analysis.m"
          mercury__list__foldl_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_47_47, transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_48_48, transform_hlds__ctgc__structure_reuse__analysis__V_35_35, transform_hlds__ctgc__structure_reuse__analysis__NewCalls_19, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_36_36)), &transform_hlds__ctgc__structure_reuse__analysis__conv2_STATE_VARIABLE_ExternalRequests_31);
        }
#line 699 "structure_reuse.analysis.m"
        *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_31 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv2_STATE_VARIABLE_ExternalRequests_31);
#line 704 "structure_reuse.analysis.m"
        {
#line 704 "structure_reuse.analysis.m"
          hlds__hlds_module__module_info_proc_info_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_8, transform_hlds__ctgc__structure_reuse__analysis__PPId_13, &transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_20);
        }
#line 705 "structure_reuse.analysis.m"
        {
#line 705 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_21 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 705 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_21, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_8));
#line 705 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_21, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_20));
#line 705 "structure_reuse.analysis.m"
        }
#line 707 "structure_reuse.analysis.m"
        {
#line 707 "structure_reuse.analysis.m"
          analysis__lookup_best_result_6_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_4[0], transform_hlds__ctgc__structure_reuse__analysis__AnalysisInfo_14, transform_hlds__ctgc__structure_reuse__analysis__ModuleName_15, transform_hlds__ctgc__structure_reuse__analysis__FuncId_16, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_21)), ((MR_Box) (((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))), &transform_hlds__ctgc__structure_reuse__analysis__MaybeBestResult_23);
        }
#line 719 "structure_reuse.analysis.m"
        if ((transform_hlds__ctgc__structure_reuse__analysis__MaybeBestResult_23 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 720 "structure_reuse.analysis.m"
          *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_33 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_0_32;
#line 719 "structure_reuse.analysis.m"
        else
#line 710 "structure_reuse.analysis.m"
          {
#line 710 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__Answer_25;
#line 710 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_41_41 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__MaybeBestResult_23, (MR_Integer) 0)));
#line 710 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_24_24 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_41_41, (MR_Integer) 0)));
#line 710 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_26_26;

#line 710 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__Answer_25 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_41_41, (MR_Integer) 1)));
#line 710 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__V_26_26 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_41_41, (MR_Integer) 2)));
#line 713 "structure_reuse.analysis.m"
            if ((transform_hlds__ctgc__structure_reuse__analysis__Answer_25 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 712 "structure_reuse.analysis.m"
              *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_33 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_0_32;
#line 713 "structure_reuse.analysis.m"
            else
#line 713 "structure_reuse.analysis.m"
              if ((transform_hlds__ctgc__structure_reuse__analysis__Answer_25 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 714 "structure_reuse.analysis.m"
                *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_33 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_0_32;
#line 713 "structure_reuse.analysis.m"
              else
#line 717 "structure_reuse.analysis.m"
                {
#line 717 "structure_reuse.analysis.m"
                  MR_Word base;
#line 717 "structure_reuse.analysis.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 717 "structure_reuse.analysis.m"
                  *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_33 = base;
#line 717 "structure_reuse.analysis.m"
                  MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PPId_13));
#line 717 "structure_reuse.analysis.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_0_32));
#line 717 "structure_reuse.analysis.m"
                }
#line 710 "structure_reuse.analysis.m"
          }
#line 693 "structure_reuse.analysis.m"
      }
#line 722 "structure_reuse.analysis.m"
    else
#line 723 "structure_reuse.analysis.m"
      {
#line 723 "structure_reuse.analysis.m"
        *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_33 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_0_32;
#line 723 "structure_reuse.analysis.m"
        *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_31 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_0_30;
#line 723 "structure_reuse.analysis.m"
      }
#line 683 "structure_reuse.analysis.m"
  }
#line 678 "structure_reuse.analysis.m"
}

#line 623 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_imported_reuse_answer_8_p_0(
#line 623 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_9,
#line 623 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredInfo_10,
#line 623 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_11,
#line 623 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImportedResult_12,
#line 623 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_26,
#line 623 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_27,
#line 623 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_28,
#line 623 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_29)
#line 623 "structure_reuse.analysis.m"
{
#line 630 "structure_reuse.analysis.m"
  {
#line 630 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 630 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call_15 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ImportedResult_12, (MR_Integer) 0)));
#line 630 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Answer_16 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ImportedResult_12, (MR_Integer) 1)));
#line 630 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ResultStatus_17 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ImportedResult_12, (MR_Integer) 2)));
#line 630 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_18 = (MR_Word) transform_hlds__ctgc__structure_reuse__analysis__Call_15;
#line 630 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_19;
#line 630 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Domain_20;
#line 630 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_21;
#line 630 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_22;

#line 633 "structure_reuse.analysis.m"
    {
#line 633 "structure_reuse.analysis.m"
      hlds__hlds_pred__pred_info_get_arg_types_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo_10, &transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_19);
    }
#line 660 "structure_reuse.analysis.m"
    if ((transform_hlds__ctgc__structure_reuse__analysis__Answer_16 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 661 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__Domain_20 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 660 "structure_reuse.analysis.m"
    else
#line 660 "structure_reuse.analysis.m"
      if ((transform_hlds__ctgc__structure_reuse__analysis__Answer_16 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 664 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__Domain_20 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1));
#line 660 "structure_reuse.analysis.m"
      else
#line 667 "structure_reuse.analysis.m"
        {
#line 667 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_50;
#line 667 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImpHeadVars_38 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer_16, (MR_Integer) 0)));
#line 667 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImpTypes_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer_16, (MR_Integer) 1)));
#line 667 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImpReuseConditions_40 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Answer_16, (MR_Integer) 2)));
#line 667 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVars_41;
#line 667 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__VarRenaming_42;
#line 673 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeSubst_43;
#line 670 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_45_45;

#line 668 "structure_reuse.analysis.m"
          {
#line 668 "structure_reuse.analysis.m"
            hlds__hlds_pred__proc_info_get_headvars_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_11, &transform_hlds__ctgc__structure_reuse__analysis__HeadVars_41);
          }
#line 6500 "transform_hlds.ctgc.structure_reuse.analysis.c"
          transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_50 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[2];
#line 669 "structure_reuse.analysis.m"
          {
#line 669 "structure_reuse.analysis.m"
            mercury__map__from_corresponding_lists_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_50, transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_21_50, transform_hlds__ctgc__structure_reuse__analysis__ImpHeadVars_38, transform_hlds__ctgc__structure_reuse__analysis__HeadVars_41, &transform_hlds__ctgc__structure_reuse__analysis__VarRenaming_42);
          }
#line 670 "structure_reuse.analysis.m"
          {
#line 670 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__V_45_45 = mercury__map__init_0_f_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[3], (MR_Word) &parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_mer_type_0);
          }
#line 670 "structure_reuse.analysis.m"
          {
#line 670 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__succeeded = parse_tree__prog_type__type_unify_list_5_p_0(transform_hlds__ctgc__structure_reuse__analysis__ImpTypes_39, transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_19, (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)), transform_hlds__ctgc__structure_reuse__analysis__V_45_45, &transform_hlds__ctgc__structure_reuse__analysis__TypeSubst_43);
          }
#line 673 "structure_reuse.analysis.m"
          if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 671 "structure_reuse.analysis.m"
            {
#line 671 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_46_46;

#line 671 "structure_reuse.analysis.m"
              {
#line 671 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_46_46 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 671 "structure_reuse.analysis.m"
                MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__V_46_46, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ImpReuseConditions_40));
#line 671 "structure_reuse.analysis.m"
              }
#line 671 "structure_reuse.analysis.m"
              {
#line 671 "structure_reuse.analysis.m"
                parse_tree__prog_ctgc__rename_structure_reuse_domain_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VarRenaming_42, transform_hlds__ctgc__structure_reuse__analysis__TypeSubst_43, transform_hlds__ctgc__structure_reuse__analysis__V_46_46, &transform_hlds__ctgc__structure_reuse__analysis__Domain_20);
              }
#line 671 "structure_reuse.analysis.m"
            }
#line 673 "structure_reuse.analysis.m"
          else
#line 674 "structure_reuse.analysis.m"
            {
#line 674 "structure_reuse.analysis.m"
              {
#line 674 "structure_reuse.analysis.m"
                mercury__require__unexpected_3_p_0((MR_String) "transform_hlds.ctgc.structure_reuse.analysis", (MR_String) "predicate \140transform_hlds.ctgc.structure_reuse.analysis.structure_reuse_answer_to_domain\'/4", (MR_String) "type_unify_list failed");
#line 674 "structure_reuse.analysis.m"
                return;
              }
#line 674 "structure_reuse.analysis.m"
            }
#line 667 "structure_reuse.analysis.m"
        }
#line 635 "structure_reuse.analysis.m"
    {
#line 635 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_21 = transform_hlds__ctgc__structure_reuse__domain__from_structure_reuse_domain_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__Domain_20);
    }
#line 636 "structure_reuse.analysis.m"
    {
#line 636 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_22 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 636 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_22, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_21));
#line 636 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_22, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ResultStatus_17));
#line 636 "structure_reuse.analysis.m"
    }
#line 642 "structure_reuse.analysis.m"
    if ((transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_18 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 638 "structure_reuse.analysis.m"
      {
#line 641 "structure_reuse.analysis.m"
        {
#line 641 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__domain__reuse_as_table_set_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__PPId_9, transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_22, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_28, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_29);
        }
#line 641 "structure_reuse.analysis.m"
        *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_27 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_26;
#line 638 "structure_reuse.analysis.m"
      }
#line 642 "structure_reuse.analysis.m"
    else
#line 643 "structure_reuse.analysis.m"
      {
#line 643 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__NewPPId_25;
#line 643 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_31_31;

#line 647 "structure_reuse.analysis.m"
        {
#line 647 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__versions__create_fresh_pred_proc_info_copy_5_p_0(transform_hlds__ctgc__structure_reuse__analysis__PPId_9, transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_18, &transform_hlds__ctgc__structure_reuse__analysis__NewPPId_25, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_26, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_27);
        }
#line 649 "structure_reuse.analysis.m"
        {
#line 649 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__domain__reuse_as_table_set_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__NewPPId_25, transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_22, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_28, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_31_31);
        }
#line 650 "structure_reuse.analysis.m"
        {
#line 650 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__domain__reuse_as_table_insert_reuse_version_proc_5_p_0(transform_hlds__ctgc__structure_reuse__analysis__PPId_9, transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_18, transform_hlds__ctgc__structure_reuse__analysis__NewPPId_25, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_31_31, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_29);
#line 650 "structure_reuse.analysis.m"
          return;
        }
#line 643 "structure_reuse.analysis.m"
      }
#line 630 "structure_reuse.analysis.m"
  }
#line 623 "structure_reuse.analysis.m"
}

#line 618 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_proc_7_p_0_1(
#line 618 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 618 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 618 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 618 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 618 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4,
#line 618 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_5)
#line 618 "structure_reuse.analysis.m"
{
#line 618 "structure_reuse.analysis.m"
  {
#line 618 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 618 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ModuleInfo_27;
#line 618 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ReuseTable_29;

#line 618 "structure_reuse.analysis.m"
    {
#line 618 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_imported_reuse_answer_8_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 3))), ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 4))), ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 5))), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), &transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ModuleInfo_27, ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4), &transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ReuseTable_29);
    }
#line 618 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ModuleInfo_27));
#line 618 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_5 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ReuseTable_29));
#line 618 "structure_reuse.analysis.m"
  }
#line 618 "structure_reuse.analysis.m"
}

#line 607 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_proc_7_p_0(
#line 607 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredId_8,
#line 607 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredInfo_9,
#line 607 "structure_reuse.analysis.m"
  MR_Integer transform_hlds__ctgc__structure_reuse__analysis__ProcId_10,
#line 607 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19,
#line 607 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_20,
#line 607 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_21,
#line 607 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_22)
#line 607 "structure_reuse.analysis.m"
{
#line 612 "structure_reuse.analysis.m"
  {
#line 612 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 612 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_13;
#line 612 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__AnalysisInfo_14;
#line 612 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleName_15;
#line 612 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__FuncId_16;
#line 612 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_17;
#line 612 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImportedResults_18;
#line 612 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_23_23;
#line 618 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv3_STATE_VARIABLE_ModuleInfo_20;
#line 618 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv2_STATE_VARIABLE_ReuseTable_22;

#line 613 "structure_reuse.analysis.m"
    {
#line 613 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__PPId_13 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 613 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__PPId_13, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PredId_8));
#line 613 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__PPId_13, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ProcId_10));
#line 613 "structure_reuse.analysis.m"
    }
#line 614 "structure_reuse.analysis.m"
    {
#line 614 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_get_analysis_info_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19, &transform_hlds__ctgc__structure_reuse__analysis__AnalysisInfo_14);
    }
#line 615 "structure_reuse.analysis.m"
    {
#line 615 "structure_reuse.analysis.m"
      transform_hlds__mmc_analysis__module_name_func_id_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19, transform_hlds__ctgc__structure_reuse__analysis__PPId_13, &transform_hlds__ctgc__structure_reuse__analysis__ModuleName_15, &transform_hlds__ctgc__structure_reuse__analysis__FuncId_16);
    }
#line 616 "structure_reuse.analysis.m"
    {
#line 616 "structure_reuse.analysis.m"
      hlds__hlds_pred__pred_info_proc_info_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo_9, transform_hlds__ctgc__structure_reuse__analysis__ProcId_10, &transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_17);
    }
#line 617 "structure_reuse.analysis.m"
    {
#line 617 "structure_reuse.analysis.m"
      analysis__lookup_results_4_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_4[0], transform_hlds__ctgc__structure_reuse__analysis__AnalysisInfo_14, transform_hlds__ctgc__structure_reuse__analysis__ModuleName_15, transform_hlds__ctgc__structure_reuse__analysis__FuncId_16, &transform_hlds__ctgc__structure_reuse__analysis__ImportedResults_18);
    }
#line 618 "structure_reuse.analysis.m"
    {
#line 618 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__V_23_23 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 6 * sizeof(MR_Word)), NULL, NULL);
#line 618 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_23_23, 0) = ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_12[0]));
#line 618 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_23_23, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_proc_7_p_0_1));
#line 618 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_23_23, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 3));
#line 618 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_23_23, 3) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PPId_13));
#line 618 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_23_23, 4) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PredInfo_9));
#line 618 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_23_23, 5) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_17));
#line 618 "structure_reuse.analysis.m"
    }
#line 618 "structure_reuse.analysis.m"
    {
#line 618 "structure_reuse.analysis.m"
      mercury__list__foldl2_6_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_1[3], (MR_Word) &hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0, (MR_Word) &transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_table_0, transform_hlds__ctgc__structure_reuse__analysis__V_23_23, transform_hlds__ctgc__structure_reuse__analysis__ImportedResults_18, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19)), &transform_hlds__ctgc__structure_reuse__analysis__conv3_STATE_VARIABLE_ModuleInfo_20, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_21)), &transform_hlds__ctgc__structure_reuse__analysis__conv2_STATE_VARIABLE_ReuseTable_22);
    }
#line 618 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_20 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv3_STATE_VARIABLE_ModuleInfo_20);
#line 618 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_22 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv2_STATE_VARIABLE_ReuseTable_22);
#line 612 "structure_reuse.analysis.m"
  }
#line 607 "structure_reuse.analysis.m"
}

#line 600 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_pred_9_p_0_2(
#line 600 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 600 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 600 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 600 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 600 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4,
#line 600 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_5)
#line 600 "structure_reuse.analysis.m"
{
#line 600 "structure_reuse.analysis.m"
  {
#line 600 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 600 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv5_STATE_VARIABLE_ExternalRequests_31;
#line 600 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv4_STATE_VARIABLE_MustHaveReuseVersions_33;

#line 600 "structure_reuse.analysis.m"
    {
#line 600 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_defined_proc_7_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 3))), ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 4))), ((MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), &transform_hlds__ctgc__structure_reuse__analysis__conv5_STATE_VARIABLE_ExternalRequests_31, ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4), &transform_hlds__ctgc__structure_reuse__analysis__conv4_STATE_VARIABLE_MustHaveReuseVersions_33);
    }
#line 600 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv5_STATE_VARIABLE_ExternalRequests_31));
#line 600 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_5 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv4_STATE_VARIABLE_MustHaveReuseVersions_33));
#line 600 "structure_reuse.analysis.m"
  }
#line 600 "structure_reuse.analysis.m"
}

#line 592 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_pred_9_p_0_1(
#line 592 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 592 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 592 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 592 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 592 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4,
#line 592 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_5)
#line 592 "structure_reuse.analysis.m"
{
#line 592 "structure_reuse.analysis.m"
  {
#line 592 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 592 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ModuleInfo_20;
#line 592 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ReuseTable_22;

#line 592 "structure_reuse.analysis.m"
    {
#line 592 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_proc_7_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 3))), ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 4))), ((MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), &transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ModuleInfo_20, ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4), &transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ReuseTable_22);
    }
#line 592 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ModuleInfo_20));
#line 592 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_5 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ReuseTable_22));
#line 592 "structure_reuse.analysis.m"
  }
#line 592 "structure_reuse.analysis.m"
}

#line 578 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_pred_9_p_0(
#line 578 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredId_10,
#line 578 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19,
#line 578 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_20,
#line 578 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_21,
#line 578 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_22,
#line 578 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_0_23,
#line 578 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_24,
#line 578 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_0_25,
#line 578 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_26)
#line 578 "structure_reuse.analysis.m"
{
#line 584 "structure_reuse.analysis.m"
  {
#line 584 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 584 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredInfo_15;
#line 584 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImportStatus_16;
#line 584 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcIds_17;
#line 589 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_18_18;

#line 585 "structure_reuse.analysis.m"
    {
#line 585 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_pred_info_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19, transform_hlds__ctgc__structure_reuse__analysis__PredId_10, &transform_hlds__ctgc__structure_reuse__analysis__PredInfo_15);
    }
#line 586 "structure_reuse.analysis.m"
    {
#line 586 "structure_reuse.analysis.m"
      hlds__hlds_pred__pred_info_get_import_status_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo_15, &transform_hlds__ctgc__structure_reuse__analysis__ImportStatus_16);
    }
#line 587 "structure_reuse.analysis.m"
    {
#line 587 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__ProcIds_17 = hlds__hlds_pred__pred_info_procids_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo_15);
    }
#line 589 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__succeeded = ((MR_tag((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__ImportStatus_16)) == (MR_mktag((MR_Integer) 2)));
#line 589 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 589 "structure_reuse.analysis.m"
      {
#line 589 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__V_18_18 = ((MR_Word) (MR_hl_field(MR_mktag(2), transform_hlds__ctgc__structure_reuse__analysis__ImportStatus_16, (MR_Integer) 0)));
#line 592 "structure_reuse.analysis.m"
        {
#line 592 "structure_reuse.analysis.m"
          MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_27_27;
#line 592 "structure_reuse.analysis.m"
          MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv3_STATE_VARIABLE_ModuleInfo_20;
#line 592 "structure_reuse.analysis.m"
          MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv2_STATE_VARIABLE_ReuseTable_22;

#line 592 "structure_reuse.analysis.m"
          {
#line 592 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__V_27_27 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 5 * sizeof(MR_Word)), NULL, NULL);
#line 592 "structure_reuse.analysis.m"
            MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_27_27, 0) = ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_8[1]));
#line 592 "structure_reuse.analysis.m"
            MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_27_27, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_pred_9_p_0_1));
#line 592 "structure_reuse.analysis.m"
            MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_27_27, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 2));
#line 592 "structure_reuse.analysis.m"
            MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_27_27, 3) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PredId_10));
#line 592 "structure_reuse.analysis.m"
            MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_27_27, 4) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PredInfo_15));
#line 592 "structure_reuse.analysis.m"
          }
#line 592 "structure_reuse.analysis.m"
          {
#line 592 "structure_reuse.analysis.m"
            mercury__list__foldl2_6_p_0((MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_proc_id_0, (MR_Word) &hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0, (MR_Word) &transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_table_0, transform_hlds__ctgc__structure_reuse__analysis__V_27_27, transform_hlds__ctgc__structure_reuse__analysis__ProcIds_17, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19)), &transform_hlds__ctgc__structure_reuse__analysis__conv3_STATE_VARIABLE_ModuleInfo_20, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_21)), &transform_hlds__ctgc__structure_reuse__analysis__conv2_STATE_VARIABLE_ReuseTable_22);
          }
#line 592 "structure_reuse.analysis.m"
          *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_20 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv3_STATE_VARIABLE_ModuleInfo_20);
#line 592 "structure_reuse.analysis.m"
          *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_22 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv2_STATE_VARIABLE_ReuseTable_22);
#line 592 "structure_reuse.analysis.m"
          *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_26 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_0_25;
#line 592 "structure_reuse.analysis.m"
          *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_24 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_0_23;
#line 592 "structure_reuse.analysis.m"
        }
#line 589 "structure_reuse.analysis.m"
      }
#line 589 "structure_reuse.analysis.m"
    else
#line 603 "structure_reuse.analysis.m"
      {
#line 595 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_30_30;

#line 595 "structure_reuse.analysis.m"
        {
#line 595 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__V_30_30 = hlds__hlds_pred__status_defined_in_this_module_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__ImportStatus_16);
        }
#line 595 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__V_30_30 == (MR_Integer) 1);
#line 603 "structure_reuse.analysis.m"
        if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 600 "structure_reuse.analysis.m"
          {
#line 600 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_31_31;
#line 600 "structure_reuse.analysis.m"
            MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv7_STATE_VARIABLE_ExternalRequests_24;
#line 600 "structure_reuse.analysis.m"
            MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv6_STATE_VARIABLE_MustHaveReuseVersions_26;

#line 600 "structure_reuse.analysis.m"
            {
#line 600 "structure_reuse.analysis.m"
              transform_hlds__ctgc__structure_reuse__analysis__V_31_31 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 5 * sizeof(MR_Word)), NULL, NULL);
#line 600 "structure_reuse.analysis.m"
              MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_31_31, 0) = ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_8[2]));
#line 600 "structure_reuse.analysis.m"
              MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_31_31, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_pred_9_p_0_2));
#line 600 "structure_reuse.analysis.m"
              MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_31_31, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 2));
#line 600 "structure_reuse.analysis.m"
              MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_31_31, 3) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19));
#line 600 "structure_reuse.analysis.m"
              MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_31_31, 4) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PredId_10));
#line 600 "structure_reuse.analysis.m"
            }
#line 600 "structure_reuse.analysis.m"
            {
#line 600 "structure_reuse.analysis.m"
              mercury__list__foldl2_6_p_0((MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_proc_id_0, (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[4], (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[5], transform_hlds__ctgc__structure_reuse__analysis__V_31_31, transform_hlds__ctgc__structure_reuse__analysis__ProcIds_17, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_0_23)), &transform_hlds__ctgc__structure_reuse__analysis__conv7_STATE_VARIABLE_ExternalRequests_24, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_0_25)), &transform_hlds__ctgc__structure_reuse__analysis__conv6_STATE_VARIABLE_MustHaveReuseVersions_26);
            }
#line 600 "structure_reuse.analysis.m"
            *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_24 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv7_STATE_VARIABLE_ExternalRequests_24);
#line 600 "structure_reuse.analysis.m"
            *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_26 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv6_STATE_VARIABLE_MustHaveReuseVersions_26);
#line 600 "structure_reuse.analysis.m"
          }
#line 603 "structure_reuse.analysis.m"
        else
#line 604 "structure_reuse.analysis.m"
          {
#line 604 "structure_reuse.analysis.m"
            *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_26 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_MustHaveReuseVersions_0_25;
#line 604 "structure_reuse.analysis.m"
            *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_24 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ExternalRequests_0_23;
#line 604 "structure_reuse.analysis.m"
          }
#line 604 "structure_reuse.analysis.m"
        *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_22 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_21;
#line 604 "structure_reuse.analysis.m"
        *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_20 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19;
#line 603 "structure_reuse.analysis.m"
      }
#line 584 "structure_reuse.analysis.m"
  }
#line 578 "structure_reuse.analysis.m"
}

#line 573 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_5_p_0_1(
#line 573 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 573 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 573 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 573 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 573 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4,
#line 573 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_5,
#line 573 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_6,
#line 573 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_7,
#line 573 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_8,
#line 573 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_9)
#line 573 "structure_reuse.analysis.m"
{
#line 573 "structure_reuse.analysis.m"
  {
#line 573 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 573 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv3_STATE_VARIABLE_ModuleInfo_20;
#line 573 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv2_STATE_VARIABLE_ReuseTable_22;
#line 573 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ExternalRequests_24;
#line 573 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_MustHaveReuseVersions_26;

#line 573 "structure_reuse.analysis.m"
    {
#line 573 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_pred_9_p_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), &transform_hlds__ctgc__structure_reuse__analysis__conv3_STATE_VARIABLE_ModuleInfo_20, ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4), &transform_hlds__ctgc__structure_reuse__analysis__conv2_STATE_VARIABLE_ReuseTable_22, ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_6), &transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ExternalRequests_24, ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_8), &transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_MustHaveReuseVersions_26);
    }
#line 573 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv3_STATE_VARIABLE_ModuleInfo_20));
#line 573 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_5 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv2_STATE_VARIABLE_ReuseTable_22));
#line 573 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_7 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ExternalRequests_24));
#line 573 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_9 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_MustHaveReuseVersions_26));
#line 573 "structure_reuse.analysis.m"
  }
#line 573 "structure_reuse.analysis.m"
}

#line 566 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_5_p_0(
#line 566 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_12,
#line 566 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_13,
#line 566 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__ReuseTable_7,
#line 566 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__ExternalRequests_8,
#line 566 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__MustHaveReuseVersions_9)
#line 566 "structure_reuse.analysis.m"
{
#line 571 "structure_reuse.analysis.m"
  {
#line 571 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 571 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredIds_10;
#line 571 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ExternalRequests0_11;
#line 571 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_14_14;
#line 571 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_17_17;
#line 573 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv7_STATE_VARIABLE_ModuleInfo_13;
#line 573 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv6_ReuseTable_7;
#line 573 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv5_ExternalRequests0_11;
#line 573 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv4_MustHaveReuseVersions_9;

#line 572 "structure_reuse.analysis.m"
    {
#line 572 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_get_valid_predids_3_p_0(&transform_hlds__ctgc__structure_reuse__analysis__PredIds_10, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_12, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_14_14);
    }
#line 573 "structure_reuse.analysis.m"
    {
#line 573 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__V_17_17 = transform_hlds__ctgc__structure_reuse__domain__reuse_as_table_init_0_f_0();
    }
#line 573 "structure_reuse.analysis.m"
    {
#line 573 "structure_reuse.analysis.m"
      mercury__list__foldl4_10_p_0((MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_id_0, (MR_Word) &hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0, (MR_Word) &transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_table_0, (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[4], (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[5], (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_1[9], transform_hlds__ctgc__structure_reuse__analysis__PredIds_10, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_14_14)), &transform_hlds__ctgc__structure_reuse__analysis__conv7_STATE_VARIABLE_ModuleInfo_13, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__V_17_17)), &transform_hlds__ctgc__structure_reuse__analysis__conv6_ReuseTable_7, ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))), &transform_hlds__ctgc__structure_reuse__analysis__conv5_ExternalRequests0_11, ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))), &transform_hlds__ctgc__structure_reuse__analysis__conv4_MustHaveReuseVersions_9);
    }
#line 573 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_13 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv7_STATE_VARIABLE_ModuleInfo_13);
#line 573 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__ReuseTable_7 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv6_ReuseTable_7);
#line 573 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__ExternalRequests0_11 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv5_ExternalRequests0_11);
#line 573 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__MustHaveReuseVersions_9 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv4_MustHaveReuseVersions_9);
#line 576 "structure_reuse.analysis.m"
    {
#line 576 "structure_reuse.analysis.m"
      mercury__list__sort_and_remove_dups_2_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__indirect__transform_hlds__ctgc__structure_reuse__indirect__type_ctor_info_sr_request_0, transform_hlds__ctgc__structure_reuse__analysis__ExternalRequests0_11, transform_hlds__ctgc__structure_reuse__analysis__ExternalRequests_8);
#line 576 "structure_reuse.analysis.m"
      return;
    }
#line 571 "structure_reuse.analysis.m"
  }
#line 566 "structure_reuse.analysis.m"
}

#line 524 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_imported_reuse_in_proc_4_p_0(
#line 524 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredInfo_5,
#line 524 "structure_reuse.analysis.m"
  MR_Integer transform_hlds__ctgc__structure_reuse__analysis__ProcId_6,
#line 524 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcTable_0_18,
#line 524 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcTable_19)
#line 524 "structure_reuse.analysis.m"
{
#line 529 "structure_reuse.analysis.m"
  {
#line 529 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 529 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_31_31 = (MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_proc_id_0;
#line 529 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_32_32 = (MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_proc_info_0;
#line 529 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_20_20;
#line 529 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ProcInfo_20_20;
#line 556 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImpHeadVars_9;
#line 556 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImpTypes_10;
#line 556 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImpReuse_11;

#line 529 "structure_reuse.analysis.m"
    {
#line 529 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ProcInfo_20_20 = mercury__map__det_elem_2_f_0(transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_31_31, transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_32_32, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ProcId_6)), transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcTable_0_18);
    }
#line 529 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_20_20 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ProcInfo_20_20);
#line 531 "structure_reuse.analysis.m"
    {
#line 531 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = hlds__hlds_pred__proc_info_get_imported_structure_reuse_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_20_20, &transform_hlds__ctgc__structure_reuse__analysis__ImpHeadVars_9, &transform_hlds__ctgc__structure_reuse__analysis__ImpTypes_10, &transform_hlds__ctgc__structure_reuse__analysis__ImpReuse_11);
    }
#line 556 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 534 "structure_reuse.analysis.m"
      {
#line 534 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_33_33;
#line 534 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVars_12;
#line 534 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_13;
#line 534 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__VarRenaming_14;
#line 534 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__Reuse_17;
#line 534 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_TypeSubst_21_21;
#line 534 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_TypeSubst_23_23;
#line 534 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_24_24;
#line 534 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_25_25;
#line 534 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_27_27;
#line 544 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeSubstNew_16;

#line 534 "structure_reuse.analysis.m"
        {
#line 534 "structure_reuse.analysis.m"
          hlds__hlds_pred__proc_info_get_headvars_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_20_20, &transform_hlds__ctgc__structure_reuse__analysis__HeadVars_12);
        }
#line 535 "structure_reuse.analysis.m"
        {
#line 535 "structure_reuse.analysis.m"
          hlds__hlds_pred__pred_info_get_arg_types_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo_5, &transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_13);
        }
#line 7221 "transform_hlds.ctgc.structure_reuse.analysis.c"
        transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_33_33 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[2];
#line 536 "structure_reuse.analysis.m"
        {
#line 536 "structure_reuse.analysis.m"
          mercury__map__from_corresponding_lists_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_33_33, transform_hlds__ctgc__structure_reuse__analysis__TypeInfo_33_33, transform_hlds__ctgc__structure_reuse__analysis__ImpHeadVars_9, transform_hlds__ctgc__structure_reuse__analysis__HeadVars_12, &transform_hlds__ctgc__structure_reuse__analysis__VarRenaming_14);
        }
#line 538 "structure_reuse.analysis.m"
        {
#line 538 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_TypeSubst_21_21 = mercury__map__init_0_f_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_2[3], (MR_Word) &parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_mer_type_0);
        }
#line 540 "structure_reuse.analysis.m"
        {
#line 540 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__succeeded = parse_tree__prog_type__type_unify_list_5_p_0(transform_hlds__ctgc__structure_reuse__analysis__ImpTypes_10, transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_13, (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)), transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_TypeSubst_21_21, &transform_hlds__ctgc__structure_reuse__analysis__TypeSubstNew_16);
        }
#line 544 "structure_reuse.analysis.m"
        if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 543 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_TypeSubst_23_23 = transform_hlds__ctgc__structure_reuse__analysis__TypeSubstNew_16;
#line 544 "structure_reuse.analysis.m"
        else
#line 543 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_TypeSubst_23_23 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_TypeSubst_21_21;
#line 547 "structure_reuse.analysis.m"
        {
#line 547 "structure_reuse.analysis.m"
          parse_tree__prog_ctgc__rename_structure_reuse_domain_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VarRenaming_14, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_TypeSubst_23_23, transform_hlds__ctgc__structure_reuse__analysis__ImpReuse_11, &transform_hlds__ctgc__structure_reuse__analysis__Reuse_17);
        }
#line 552 "structure_reuse.analysis.m"
        {
#line 552 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__V_24_24 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 552 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_24_24, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__Reuse_17));
#line 552 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_24_24, 1) = ((MR_Box) ((MR_Integer) 2));
#line 552 "structure_reuse.analysis.m"
        }
#line 552 "structure_reuse.analysis.m"
        {
#line 552 "structure_reuse.analysis.m"
          hlds__hlds_pred__proc_info_set_structure_reuse_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__V_24_24, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_20_20, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_25_25);
        }
#line 554 "structure_reuse.analysis.m"
        {
#line 554 "structure_reuse.analysis.m"
          hlds__hlds_pred__proc_info_reset_imported_structure_reuse_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_25_25, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_27_27);
        }
#line 555 "structure_reuse.analysis.m"
        {
#line 555 "structure_reuse.analysis.m"
          mercury__map__det_update_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_31_31, transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_32_32, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ProcId_6)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcInfo_27_27)), transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcTable_0_18, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcTable_19);
#line 555 "structure_reuse.analysis.m"
          return;
        }
#line 534 "structure_reuse.analysis.m"
      }
#line 556 "structure_reuse.analysis.m"
    else
#line 557 "structure_reuse.analysis.m"
      *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcTable_19 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcTable_0_18;
#line 529 "structure_reuse.analysis.m"
  }
#line 524 "structure_reuse.analysis.m"
}

#line 519 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_imported_reuse_in_pred_3_p_0_1(
#line 519 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 519 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 519 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 519 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3)
#line 519 "structure_reuse.analysis.m"
{
#line 519 "structure_reuse.analysis.m"
  {
#line 519 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 519 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ProcTable_19;

#line 519 "structure_reuse.analysis.m"
    {
#line 519 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__process_imported_reuse_in_proc_4_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 3))), ((MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), &transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ProcTable_19);
    }
#line 519 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ProcTable_19));
#line 519 "structure_reuse.analysis.m"
  }
#line 519 "structure_reuse.analysis.m"
}

#line 500 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_imported_reuse_in_pred_3_p_0(
#line 500 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredId_4,
#line 500 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_9,
#line 500 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_10)
#line 500 "structure_reuse.analysis.m"
{
#line 505 "structure_reuse.analysis.m"
  {
#line 505 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 505 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_14_14;
#line 505 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_15_15;
#line 505 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredInfo0_7;
#line 505 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredInfo_8;
#line 505 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_11_11;
#line 505 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_12_12;
#line 505 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcIds_20;
#line 505 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcTable_8_21;
#line 505 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_22_22;
#line 505 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcTable_10_23;
#line 506 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv0_PredInfo0_7;
#line 519 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv2_STATE_VARIABLE_ProcTable_10_23;

#line 505 "structure_reuse.analysis.m"
    {
#line 505 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_get_preds_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_9, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_11_11);
    }
#line 7366 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_14_14 = (MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_id_0;
#line 7368 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_15_15 = (MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_info_0;
#line 506 "structure_reuse.analysis.m"
    {
#line 506 "structure_reuse.analysis.m"
      mercury__map__lookup_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_14_14, transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_15_15, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_11_11, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PredId_4)), &transform_hlds__ctgc__structure_reuse__analysis__conv0_PredInfo0_7);
    }
#line 506 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__PredInfo0_7 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv0_PredInfo0_7);
#line 517 "structure_reuse.analysis.m"
    {
#line 517 "structure_reuse.analysis.m"
      hlds__hlds_pred__pred_info_get_procedures_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo0_7, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcTable_8_21);
    }
#line 518 "structure_reuse.analysis.m"
    {
#line 518 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__ProcIds_20 = hlds__hlds_pred__pred_info_procids_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo0_7);
    }
#line 519 "structure_reuse.analysis.m"
    {
#line 519 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__V_22_22 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 4 * sizeof(MR_Word)), NULL, NULL);
#line 519 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_22_22, 0) = ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_7[4]));
#line 519 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_22_22, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__process_imported_reuse_in_pred_3_p_0_1));
#line 519 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_22_22, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 1));
#line 519 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_22_22, 3) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PredInfo0_7));
#line 519 "structure_reuse.analysis.m"
    }
#line 519 "structure_reuse.analysis.m"
    {
#line 519 "structure_reuse.analysis.m"
      mercury__list__foldl_4_p_0((MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_proc_id_0, (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_1[2], transform_hlds__ctgc__structure_reuse__analysis__V_22_22, transform_hlds__ctgc__structure_reuse__analysis__ProcIds_20, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcTable_8_21)), &transform_hlds__ctgc__structure_reuse__analysis__conv2_STATE_VARIABLE_ProcTable_10_23);
    }
#line 519 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcTable_10_23 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv2_STATE_VARIABLE_ProcTable_10_23);
#line 521 "structure_reuse.analysis.m"
    {
#line 521 "structure_reuse.analysis.m"
      hlds__hlds_pred__pred_info_set_procedures_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ProcTable_10_23, transform_hlds__ctgc__structure_reuse__analysis__PredInfo0_7, &transform_hlds__ctgc__structure_reuse__analysis__PredInfo_8);
    }
#line 508 "structure_reuse.analysis.m"
    {
#line 508 "structure_reuse.analysis.m"
      mercury__map__det_update_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_14_14, transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_15_15, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PredId_4)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PredInfo_8)), transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_11_11, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_12_12);
    }
#line 509 "structure_reuse.analysis.m"
    {
#line 509 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_set_preds_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_PredTable_12_12, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_9, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_10);
#line 509 "structure_reuse.analysis.m"
      return;
    }
#line 505 "structure_reuse.analysis.m"
  }
#line 500 "structure_reuse.analysis.m"
}

#line 498 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_imported_reuse_2_p_0_1(
#line 498 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 498 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 498 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 498 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3)
#line 498 "structure_reuse.analysis.m"
{
#line 498 "structure_reuse.analysis.m"
  {
#line 498 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 498 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ModuleInfo_10;

#line 498 "structure_reuse.analysis.m"
    {
#line 498 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__process_imported_reuse_in_pred_3_p_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), &transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ModuleInfo_10);
    }
#line 498 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ModuleInfo_10));
#line 498 "structure_reuse.analysis.m"
  }
#line 498 "structure_reuse.analysis.m"
}

#line 494 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__process_imported_reuse_2_p_0(
#line 494 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_5,
#line 494 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_6)
#line 494 "structure_reuse.analysis.m"
{
#line 496 "structure_reuse.analysis.m"
  {
#line 496 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 496 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredIds_4;
#line 496 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_7_7;
#line 498 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ModuleInfo_6;

#line 497 "structure_reuse.analysis.m"
    {
#line 497 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_get_valid_predids_3_p_0(&transform_hlds__ctgc__structure_reuse__analysis__PredIds_4, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_5, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_7_7);
    }
#line 498 "structure_reuse.analysis.m"
    {
#line 498 "structure_reuse.analysis.m"
      mercury__list__foldl_4_p_0((MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_id_0, (MR_Word) &hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0, (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_1[8], transform_hlds__ctgc__structure_reuse__analysis__PredIds_4, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_7_7)), &transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ModuleInfo_6);
    }
#line 498 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_6 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ModuleInfo_6);
#line 496 "structure_reuse.analysis.m"
  }
#line 494 "structure_reuse.analysis.m"
}

#line 468 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__maybe_create_forwarding_procedures_intermod_analysis_4_p_0(
#line 468 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseTable_5,
#line 468 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredProcId_6,
#line 468 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_12,
#line 468 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_13)
#line 468 "structure_reuse.analysis.m"
{
#line 485 "structure_reuse.analysis.m"
  {
#line 485 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 480 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_8;
#line 480 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_9;
#line 481 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_10_10;

#line 480 "structure_reuse.analysis.m"
    {
#line 480 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__domain__reuse_as_table_search_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__ReuseTable_5, transform_hlds__ctgc__structure_reuse__analysis__PredProcId_6, &transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_8);
    }
#line 480 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 480 "structure_reuse.analysis.m"
      {
#line 481 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_9 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_8, (MR_Integer) 0)));
#line 481 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__V_10_10 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_8, (MR_Integer) 1)));
#line 482 "structure_reuse.analysis.m"
        {
#line 482 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__domain__reuse_as_conditional_reuses_1_p_0(transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_9);
        }
#line 480 "structure_reuse.analysis.m"
      }
#line 485 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 482 "structure_reuse.analysis.m"
      *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_13 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_12;
#line 485 "structure_reuse.analysis.m"
    else
#line 486 "structure_reuse.analysis.m"
      {
#line 487 "structure_reuse.analysis.m"
        {
#line 487 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__versions__create_fake_reuse_procedure_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__PredProcId_6, (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)), transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_12, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_13);
#line 487 "structure_reuse.analysis.m"
          return;
        }
#line 486 "structure_reuse.analysis.m"
      }
#line 485 "structure_reuse.analysis.m"
  }
#line 468 "structure_reuse.analysis.m"
}

#line 446 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__maybe_create_forwarding_procedures_intermod_opt_2_5_p_0(
#line 446 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__FinalReuseTable_6,
#line 446 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_7,
#line 446 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3,
#line 446 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19,
#line 446 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_20)
#line 446 "structure_reuse.analysis.m"
{
#line 451 "structure_reuse.analysis.m"
  {
#line 451 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 451 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__InitialReuseAs_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3, (MR_Integer) 0)));
#line 451 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredId_11 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__PPId_7, (MR_Integer) 0)));
#line 451 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredInfo_13;
#line 451 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ImportStatus_14;
#line 451 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_9_9 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3, (MR_Integer) 1)));
#line 452 "structure_reuse.analysis.m"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__V_12_12 = ((MR_Integer) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__PPId_7, (MR_Integer) 1)));
#line 456 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__FinalReuseAs_Status_15;
#line 456 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__FinalReuseAs_16;
#line 456 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_21_21;
#line 459 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_17_17;

#line 453 "structure_reuse.analysis.m"
    {
#line 453 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_pred_info_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19, transform_hlds__ctgc__structure_reuse__analysis__PredId_11, &transform_hlds__ctgc__structure_reuse__analysis__PredInfo_13);
    }
#line 454 "structure_reuse.analysis.m"
    {
#line 454 "structure_reuse.analysis.m"
      hlds__hlds_pred__pred_info_get_import_status_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo_13, &transform_hlds__ctgc__structure_reuse__analysis__ImportStatus_14);
    }
#line 456 "structure_reuse.analysis.m"
    {
#line 456 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__domain__reuse_as_conditional_reuses_1_p_0(transform_hlds__ctgc__structure_reuse__analysis__InitialReuseAs_8);
    }
#line 456 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 456 "structure_reuse.analysis.m"
      {
#line 457 "structure_reuse.analysis.m"
        {
#line 457 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__V_21_21 = hlds__hlds_pred__status_defined_in_this_module_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__ImportStatus_14);
        }
#line 457 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__V_21_21 == (MR_Integer) 1);
#line 456 "structure_reuse.analysis.m"
        if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 456 "structure_reuse.analysis.m"
          {
#line 458 "structure_reuse.analysis.m"
            {
#line 458 "structure_reuse.analysis.m"
              transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__domain__reuse_as_table_search_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__FinalReuseTable_6, transform_hlds__ctgc__structure_reuse__analysis__PPId_7, &transform_hlds__ctgc__structure_reuse__analysis__FinalReuseAs_Status_15);
            }
#line 456 "structure_reuse.analysis.m"
            if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 456 "structure_reuse.analysis.m"
              {
#line 459 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__FinalReuseAs_16 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__FinalReuseAs_Status_15, (MR_Integer) 0)));
#line 459 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__V_17_17 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__FinalReuseAs_Status_15, (MR_Integer) 1)));
#line 460 "structure_reuse.analysis.m"
                {
#line 460 "structure_reuse.analysis.m"
                  transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__domain__reuse_as_no_reuses_1_p_0(transform_hlds__ctgc__structure_reuse__analysis__FinalReuseAs_16);
                }
#line 456 "structure_reuse.analysis.m"
              }
#line 456 "structure_reuse.analysis.m"
          }
#line 456 "structure_reuse.analysis.m"
      }
#line 464 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 462 "structure_reuse.analysis.m"
      {
#line 463 "structure_reuse.analysis.m"
        {
#line 463 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__versions__create_fake_reuse_procedure_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__PPId_7, (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)), transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_20);
#line 463 "structure_reuse.analysis.m"
          return;
        }
#line 462 "structure_reuse.analysis.m"
      }
#line 464 "structure_reuse.analysis.m"
    else
#line 463 "structure_reuse.analysis.m"
      *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_20 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19;
#line 451 "structure_reuse.analysis.m"
  }
#line 446 "structure_reuse.analysis.m"
}

#line 442 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__maybe_create_forwarding_procedures_intermod_opt_4_p_0_1(
#line 442 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 442 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 442 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 442 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 442 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4)
#line 442 "structure_reuse.analysis.m"
{
#line 442 "structure_reuse.analysis.m"
  {
#line 442 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 442 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ModuleInfo_20;

#line 442 "structure_reuse.analysis.m"
    {
#line 442 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__maybe_create_forwarding_procedures_intermod_opt_2_5_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 3))), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3), &transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ModuleInfo_20);
    }
#line 442 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ModuleInfo_20));
#line 442 "structure_reuse.analysis.m"
  }
#line 442 "structure_reuse.analysis.m"
}

#line 437 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__maybe_create_forwarding_procedures_intermod_opt_4_p_0(
#line 437 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__InitialReuseTable_5,
#line 437 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__FinalReuseTable_6,
#line 437 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_8,
#line 437 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_9)
#line 437 "structure_reuse.analysis.m"
{
#line 441 "structure_reuse.analysis.m"
  {
#line 441 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 441 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_10_10;
#line 441 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_11_11;
#line 442 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_13_13;
#line 442 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ModuleInfo_9;

#line 442 "structure_reuse.analysis.m"
    {
#line 442 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__V_10_10 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 4 * sizeof(MR_Word)), NULL, NULL);
#line 442 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_10_10, 0) = ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_10[0]));
#line 442 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_10_10, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__maybe_create_forwarding_procedures_intermod_opt_4_p_0_1));
#line 442 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_10_10, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 1));
#line 442 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_10_10, 3) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__FinalReuseTable_6));
#line 442 "structure_reuse.analysis.m"
    }
#line 442 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__V_11_11 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__InitialReuseTable_5, (MR_Integer) 0)));
#line 442 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__V_13_13 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__InitialReuseTable_5, (MR_Integer) 1)));
#line 442 "structure_reuse.analysis.m"
    {
#line 442 "structure_reuse.analysis.m"
      mercury__map__foldl_4_p_0((MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0, (MR_Word) &transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_and_status_0, (MR_Word) &hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0, transform_hlds__ctgc__structure_reuse__analysis__V_10_10, transform_hlds__ctgc__structure_reuse__analysis__V_11_11, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_8)), &transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ModuleInfo_9);
    }
#line 442 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_9 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ModuleInfo_9);
#line 441 "structure_reuse.analysis.m"
  }
#line 437 "structure_reuse.analysis.m"
}

#line 421 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__get_numbered_args_4_p_0(
#line 421 "structure_reuse.analysis.m"
  MR_Integer transform_hlds__ctgc__structure_reuse__analysis__I_1,
#line 421 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2,
#line 421 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3,
#line 421 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__HeadVar__4_4)
#line 421 "structure_reuse.analysis.m"
{
#line 424 "structure_reuse.analysis.m"
  while (MR_TRUE)
#line 424 "structure_reuse.analysis.m"
    {
#line 424 "structure_reuse.analysis.m"
      /* tailcall optimized into a loop */
#line 424 "structure_reuse.analysis.m"
      {
#line 424 "structure_reuse.analysis.m"
        MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;

#line 424 "structure_reuse.analysis.m"
        if ((transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 424 "structure_reuse.analysis.m"
          *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 424 "structure_reuse.analysis.m"
        else
#line 424 "structure_reuse.analysis.m"
          {
#line 424 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_26_26 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, (MR_Integer) 1)));
#line 424 "structure_reuse.analysis.m"
            MR_Integer transform_hlds__ctgc__structure_reuse__analysis__V_27_27 = ((MR_Integer) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__2_2, (MR_Integer) 0)));

#line 424 "structure_reuse.analysis.m"
            if ((transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 425 "structure_reuse.analysis.m"
              {
#line 426 "structure_reuse.analysis.m"
                {
#line 426 "structure_reuse.analysis.m"
                  mercury__require__unexpected_3_p_0((MR_String) "transform_hlds.ctgc.structure_reuse.analysis", (MR_String) "predicate \140transform_hlds.ctgc.structure_reuse.analysis.get_numbered_args\'/4", (MR_String) "argument list too short");
#line 426 "structure_reuse.analysis.m"
                  return;
                }
#line 425 "structure_reuse.analysis.m"
              }
#line 424 "structure_reuse.analysis.m"
            else
#line 427 "structure_reuse.analysis.m"
              {
#line 427 "structure_reuse.analysis.m"
                MR_Word transform_hlds__ctgc__structure_reuse__analysis__Var_17 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3, (MR_Integer) 0)));
#line 427 "structure_reuse.analysis.m"
                MR_Word transform_hlds__ctgc__structure_reuse__analysis__Vars_18 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3, (MR_Integer) 1)));

#line 428 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__I_1 == transform_hlds__ctgc__structure_reuse__analysis__V_27_27);
#line 431 "structure_reuse.analysis.m"
                if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 429 "structure_reuse.analysis.m"
                  {
#line 429 "structure_reuse.analysis.m"
                    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Selected0_20;
#line 429 "structure_reuse.analysis.m"
                    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__V_21_21 = (transform_hlds__ctgc__structure_reuse__analysis__I_1 + (MR_Integer) 1);

#line 429 "structure_reuse.analysis.m"
                    {
#line 429 "structure_reuse.analysis.m"
                      transform_hlds__ctgc__structure_reuse__analysis__get_numbered_args_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__V_21_21, transform_hlds__ctgc__structure_reuse__analysis__V_26_26, transform_hlds__ctgc__structure_reuse__analysis__Vars_18, &transform_hlds__ctgc__structure_reuse__analysis__Selected0_20);
                    }
#line 430 "structure_reuse.analysis.m"
                    {
#line 430 "structure_reuse.analysis.m"
                      MR_Word base;
#line 430 "structure_reuse.analysis.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 430 "structure_reuse.analysis.m"
                      *transform_hlds__ctgc__structure_reuse__analysis__HeadVar__4_4 = base;
#line 430 "structure_reuse.analysis.m"
                      MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__Var_17));
#line 430 "structure_reuse.analysis.m"
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__Selected0_20));
#line 430 "structure_reuse.analysis.m"
                    }
#line 429 "structure_reuse.analysis.m"
                  }
#line 431 "structure_reuse.analysis.m"
                else
#line 432 "structure_reuse.analysis.m"
                  {
#line 432 "structure_reuse.analysis.m"
                    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__V_23_23 = (transform_hlds__ctgc__structure_reuse__analysis__I_1 + (MR_Integer) 1);

#line 432 "structure_reuse.analysis.m"
                    /* direct tailcall eliminated */
#line 432 "structure_reuse.analysis.m"
                    {
#line 432 "structure_reuse.analysis.m"
                      MR_Integer transform_hlds__ctgc__structure_reuse__analysis__I__tmp_copy_1 = transform_hlds__ctgc__structure_reuse__analysis__V_23_23;
#line 432 "structure_reuse.analysis.m"
                      MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3__tmp_copy_3 = transform_hlds__ctgc__structure_reuse__analysis__Vars_18;

#line 432 "structure_reuse.analysis.m"
                      transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3_3 = transform_hlds__ctgc__structure_reuse__analysis__HeadVar__3__tmp_copy_3;
#line 432 "structure_reuse.analysis.m"
                      transform_hlds__ctgc__structure_reuse__analysis__I_1 = transform_hlds__ctgc__structure_reuse__analysis__I__tmp_copy_1;
#line 432 "structure_reuse.analysis.m"
                    }
#line 432 "structure_reuse.analysis.m"
                    continue;
#line 432 "structure_reuse.analysis.m"
                  }
#line 427 "structure_reuse.analysis.m"
              }
#line 424 "structure_reuse.analysis.m"
          }
#line 424 "structure_reuse.analysis.m"
      }
#line 424 "structure_reuse.analysis.m"
      break;
#line 424 "structure_reuse.analysis.m"
    }
#line 421 "structure_reuse.analysis.m"
}

#line 403 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__make_intermediate_reuse_proc_6_p_0(
#line 403 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1,
#line 403 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__NewPPId_9,
#line 403 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_17,
#line 403 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_18,
#line 403 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19,
#line 403 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_20)
#line 403 "structure_reuse.analysis.m"
{
#line 408 "structure_reuse.analysis.m"
  {
#line 408 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 408 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PPId_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1, (MR_Integer) 0)));
#line 408 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__HeadVar__1_1, (MR_Integer) 1)));
#line 408 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredInfo_12;
#line 408 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcInfo0_13;
#line 408 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVars_14;
#line 408 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__NoClobberVars_15;
#line 408 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_16;
#line 408 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_21_21;
#line 408 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_23_23;

#line 409 "structure_reuse.analysis.m"
    {
#line 409 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__versions__create_fresh_pred_proc_info_copy_5_p_0(transform_hlds__ctgc__structure_reuse__analysis__PPId_7, transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_8, transform_hlds__ctgc__structure_reuse__analysis__NewPPId_9, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_19, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_21_21);
    }
#line 411 "structure_reuse.analysis.m"
    {
#line 411 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_pred_proc_info_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_21_21, *transform_hlds__ctgc__structure_reuse__analysis__NewPPId_9, &transform_hlds__ctgc__structure_reuse__analysis__PredInfo_12, &transform_hlds__ctgc__structure_reuse__analysis__ProcInfo0_13);
    }
#line 412 "structure_reuse.analysis.m"
    {
#line 412 "structure_reuse.analysis.m"
      hlds__hlds_pred__proc_info_get_headvars_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo0_13, &transform_hlds__ctgc__structure_reuse__analysis__HeadVars_14);
    }
#line 413 "structure_reuse.analysis.m"
    {
#line 413 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__get_numbered_args_4_p_0((MR_Integer) 1, transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_8, transform_hlds__ctgc__structure_reuse__analysis__HeadVars_14, &transform_hlds__ctgc__structure_reuse__analysis__NoClobberVars_15);
    }
#line 414 "structure_reuse.analysis.m"
    {
#line 414 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__V_23_23 = parse_tree__set_of_var__list_to_set_1_f_0((MR_Word) &parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_prog_var_type_0, transform_hlds__ctgc__structure_reuse__analysis__NoClobberVars_15);
    }
#line 414 "structure_reuse.analysis.m"
    {
#line 414 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__lfu__add_vars_to_lfu_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__V_23_23, transform_hlds__ctgc__structure_reuse__analysis__ProcInfo0_13, &transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_16);
    }
#line 416 "structure_reuse.analysis.m"
    {
#line 416 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_set_pred_proc_info_5_p_0(*transform_hlds__ctgc__structure_reuse__analysis__NewPPId_9, transform_hlds__ctgc__structure_reuse__analysis__PredInfo_12, transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_16, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_21_21, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_20);
    }
#line 418 "structure_reuse.analysis.m"
    {
#line 418 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__domain__reuse_as_table_insert_reuse_version_proc_5_p_0(transform_hlds__ctgc__structure_reuse__analysis__PPId_7, transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_8, *transform_hlds__ctgc__structure_reuse__analysis__NewPPId_9, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_17, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_18);
#line 418 "structure_reuse.analysis.m"
      return;
    }
#line 408 "structure_reuse.analysis.m"
  }
#line 403 "structure_reuse.analysis.m"
}

#line 352 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__handle_structure_reuse_requests_2_11_p_0_1(
#line 352 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 352 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 352 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 352 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 352 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4,
#line 352 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_5,
#line 352 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_6)
#line 352 "structure_reuse.analysis.m"
{
#line 352 "structure_reuse.analysis.m"
  {
#line 352 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 352 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv2_NewPPId_9;
#line 352 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ReuseTable_18;
#line 352 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ModuleInfo_20;

#line 352 "structure_reuse.analysis.m"
    {
#line 352 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__make_intermediate_reuse_proc_6_p_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), &transform_hlds__ctgc__structure_reuse__analysis__conv2_NewPPId_9, ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3), &transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ReuseTable_18, ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_5), &transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ModuleInfo_20);
    }
#line 352 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv2_NewPPId_9));
#line 352 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ReuseTable_18));
#line 352 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_6 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ModuleInfo_20));
#line 352 "structure_reuse.analysis.m"
  }
#line 352 "structure_reuse.analysis.m"
}

#line 339 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__handle_structure_reuse_requests_2_11_p_0(
#line 339 "structure_reuse.analysis.m"
  MR_Integer transform_hlds__ctgc__structure_reuse__analysis__Repeats_12,
#line 339 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__SharingTable_13,
#line 339 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Requests_14,
#line 339 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_26,
#line 339 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_27,
#line 339 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_28,
#line 339 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_29,
#line 339 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_0_30,
#line 339 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_31,
#line 339 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_0_32,
#line 339 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_33)
#line 339 "structure_reuse.analysis.m"
{
#line 346 "structure_reuse.analysis.m"
  {
#line 346 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 346 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_68_68;
#line 346 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Globals_19;
#line 346 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_20;
#line 346 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__RequestList_21;
#line 346 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__NewPPIds_22;
#line 346 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__NewDepProcs_24;
#line 346 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__NewRequests_25;
#line 346 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_36_36;
#line 346 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_37_37;
#line 346 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_41_41;
#line 346 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_42_42;
#line 346 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_49_49;
#line 346 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_50_50;
#line 346 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_51_51;
#line 346 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_52_52;
#line 352 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv4_STATE_VARIABLE_ReuseTable_36_36;
#line 352 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv3_STATE_VARIABLE_ModuleInfo_37_37;

#line 347 "structure_reuse.analysis.m"
    {
#line 347 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_get_globals_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_28, &transform_hlds__ctgc__structure_reuse__analysis__Globals_19);
    }
#line 348 "structure_reuse.analysis.m"
    {
#line 348 "structure_reuse.analysis.m"
      libs__globals__lookup_bool_option_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__Globals_19, (MR_Integer) 45, &transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_20);
    }
#line 8110 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_68_68 = (MR_Word) &transform_hlds__ctgc__structure_reuse__indirect__transform_hlds__ctgc__structure_reuse__indirect__type_ctor_info_sr_request_0;
#line 351 "structure_reuse.analysis.m"
    {
#line 351 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__RequestList_21 = mercury__set__to_sorted_list_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_68_68, transform_hlds__ctgc__structure_reuse__analysis__Requests_14);
    }
#line 352 "structure_reuse.analysis.m"
    {
#line 352 "structure_reuse.analysis.m"
      mercury__list__map_foldl2_7_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_68_68, (MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0, (MR_Word) &transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_table_0, (MR_Word) &hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0, (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_1[7], transform_hlds__ctgc__structure_reuse__analysis__RequestList_21, &transform_hlds__ctgc__structure_reuse__analysis__NewPPIds_22, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_26)), &transform_hlds__ctgc__structure_reuse__analysis__conv4_STATE_VARIABLE_ReuseTable_36_36, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_28)), &transform_hlds__ctgc__structure_reuse__analysis__conv3_STATE_VARIABLE_ModuleInfo_37_37);
    }
#line 352 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_36_36 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv4_STATE_VARIABLE_ReuseTable_36_36);
#line 352 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_37_37 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv3_STATE_VARIABLE_ModuleInfo_37_37);
#line 357 "structure_reuse.analysis.m"
    {
#line 357 "structure_reuse.analysis.m"
      libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_20, (MR_String) "% Repeating direct reuse...\n");
    }
#line 359 "structure_reuse.analysis.m"
    {
#line 359 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__direct__direct_reuse_process_specific_procs_6_p_0(transform_hlds__ctgc__structure_reuse__analysis__SharingTable_13, transform_hlds__ctgc__structure_reuse__analysis__NewPPIds_22, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_37_37, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_41_41, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_36_36, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_42_42);
    }
#line 362 "structure_reuse.analysis.m"
    {
#line 362 "structure_reuse.analysis.m"
      libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_20, (MR_String) "% done.\n");
    }
#line 372 "structure_reuse.analysis.m"
    {
#line 372 "structure_reuse.analysis.m"
      libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_20, (MR_String) "% Repeating indirect reuse...\n");
    }
#line 374 "structure_reuse.analysis.m"
    {
#line 374 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__indirect__indirect_reuse_rerun_9_p_0(transform_hlds__ctgc__structure_reuse__analysis__SharingTable_13, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_41_41, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_49_49, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_42_42, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_50_50, &transform_hlds__ctgc__structure_reuse__analysis__NewDepProcs_24, &transform_hlds__ctgc__structure_reuse__analysis__NewRequests_25, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_0_32, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_51_51);
    }
#line 376 "structure_reuse.analysis.m"
    {
#line 376 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_52_52 = mercury__set__union_2_f_0((MR_Word) &transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_ppid_no_clobbers_0, transform_hlds__ctgc__structure_reuse__analysis__NewDepProcs_24, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_0_30);
    }
#line 378 "structure_reuse.analysis.m"
    {
#line 378 "structure_reuse.analysis.m"
      libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_20, (MR_String) "% done.\n");
    }
#line 381 "structure_reuse.analysis.m"
    {
#line 381 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = mercury__set__empty_1_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_68_68, transform_hlds__ctgc__structure_reuse__analysis__NewRequests_25);
    }
#line 386 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 382 "structure_reuse.analysis.m"
      {
#line 383 "structure_reuse.analysis.m"
        {
#line 383 "structure_reuse.analysis.m"
          libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_20, (MR_String) "% No more structure reuse requests.\n");
        }
#line 382 "structure_reuse.analysis.m"
        *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_33 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_51_51;
#line 382 "structure_reuse.analysis.m"
        *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_31 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_52_52;
#line 382 "structure_reuse.analysis.m"
        *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_29 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_49_49;
#line 382 "structure_reuse.analysis.m"
        *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_27 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_50_50;
#line 382 "structure_reuse.analysis.m"
      }
#line 386 "structure_reuse.analysis.m"
    else
#line 390 "structure_reuse.analysis.m"
      {
#line 390 "structure_reuse.analysis.m"
        MR_Integer transform_hlds__ctgc__structure_reuse__analysis__V_62_62;

#line 388 "structure_reuse.analysis.m"
        {
#line 388 "structure_reuse.analysis.m"
          libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_20, (MR_String) "% Outstanding structure reuse requests exist.\n");
        }
#line 391 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__V_62_62 = (transform_hlds__ctgc__structure_reuse__analysis__Repeats_12 - (MR_Integer) 1);
#line 391 "structure_reuse.analysis.m"
        {
#line 391 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__handle_structure_reuse_requests_11_p_0(transform_hlds__ctgc__structure_reuse__analysis__V_62_62, transform_hlds__ctgc__structure_reuse__analysis__SharingTable_13, transform_hlds__ctgc__structure_reuse__analysis__NewRequests_25, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_50_50, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_27, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_49_49, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_29, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_52_52, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_31, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_51_51, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_33);
#line 391 "structure_reuse.analysis.m"
          return;
        }
#line 390 "structure_reuse.analysis.m"
      }
#line 346 "structure_reuse.analysis.m"
  }
#line 339 "structure_reuse.analysis.m"
}

#line 324 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__handle_structure_reuse_requests_11_p_0(
#line 324 "structure_reuse.analysis.m"
  MR_Integer transform_hlds__ctgc__structure_reuse__analysis__Repeats_12,
#line 324 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__SharingTable_13,
#line 324 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__Requests_14,
#line 324 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_19,
#line 324 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_20,
#line 324 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_21,
#line 324 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_22,
#line 324 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_0_23,
#line 324 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_24,
#line 324 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_0_25,
#line 324 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_26)
#line 324 "structure_reuse.analysis.m"
{
#line 335 "structure_reuse.analysis.m"
  {
#line 335 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__Repeats_12 > (MR_Integer) 0);

#line 335 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 333 "structure_reuse.analysis.m"
      {
#line 333 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__handle_structure_reuse_requests_2_11_p_0(transform_hlds__ctgc__structure_reuse__analysis__Repeats_12, transform_hlds__ctgc__structure_reuse__analysis__SharingTable_13, transform_hlds__ctgc__structure_reuse__analysis__Requests_14, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_19, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_20, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_21, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_22, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_0_23, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_24, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_0_25, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_26);
#line 333 "structure_reuse.analysis.m"
        return;
      }
#line 335 "structure_reuse.analysis.m"
    else
#line 336 "structure_reuse.analysis.m"
      {
#line 336 "structure_reuse.analysis.m"
        *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_26 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_IntermodRequests_0_25;
#line 336 "structure_reuse.analysis.m"
        *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_24 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_DepProcs_0_23;
#line 336 "structure_reuse.analysis.m"
        *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_22 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_21;
#line 336 "structure_reuse.analysis.m"
        *transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_20 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_0_19;
#line 336 "structure_reuse.analysis.m"
      }
#line 335 "structure_reuse.analysis.m"
  }
#line 324 "structure_reuse.analysis.m"
}

#line 92 "structure_reuse.analysis.m"
void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__structure_reuse_answer_harsher_than_in_analysis_registry_4_p_0(
#line 92 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_5,
#line 92 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseTable_6,
#line 92 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReusePPId_7,
#line 92 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__Harsher_8)
#line 92 "structure_reuse.analysis.m"
{
#line 1159 "structure_reuse.analysis.m"
  {
#line 1159 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 1159 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__AnalysisInfo_9;
#line 1159 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__OrigPPId_10;
#line 1159 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_11;
#line 1159 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleName_12;
#line 1159 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__FuncId_13;
#line 1159 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_14;
#line 1159 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_15;
#line 1159 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Call_16;
#line 1159 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__MaybeOldResult_17;
#line 1202 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__OldAnswer_19;
#line 1175 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeClassInfo_for_partial_order_41;
#line 1175 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__OldCall_18;
#line 1175 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_23_23;
#line 1175 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_20_20;
#line 8318 "transform_hlds.ctgc.structure_reuse.analysis.c"
    MR_bool MR_CALL (* transform_hlds__ctgc__structure_reuse__analysis__func_0)(MR_Box, MR_Box, MR_Box, MR_Box);

#line 1160 "structure_reuse.analysis.m"
    {
#line 1160 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_get_analysis_info_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_5, &transform_hlds__ctgc__structure_reuse__analysis__AnalysisInfo_9);
    }
#line 1164 "structure_reuse.analysis.m"
    {
#line 1164 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__domain__reuse_as_table_reverse_search_reuse_version_proc_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__ReuseTable_6, transform_hlds__ctgc__structure_reuse__analysis__ReusePPId_7, &transform_hlds__ctgc__structure_reuse__analysis__OrigPPId_10, &transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_11);
    }
#line 1168 "structure_reuse.analysis.m"
    {
#line 1168 "structure_reuse.analysis.m"
      transform_hlds__mmc_analysis__module_name_func_id_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_5, transform_hlds__ctgc__structure_reuse__analysis__OrigPPId_10, &transform_hlds__ctgc__structure_reuse__analysis__ModuleName_12, &transform_hlds__ctgc__structure_reuse__analysis__FuncId_13);
    }
#line 1169 "structure_reuse.analysis.m"
    {
#line 1169 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_proc_info_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_5, transform_hlds__ctgc__structure_reuse__analysis__OrigPPId_10, &transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_14);
    }
#line 1170 "structure_reuse.analysis.m"
    {
#line 1170 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_15 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 1170 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_15, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_5));
#line 1170 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_15, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_14));
#line 1170 "structure_reuse.analysis.m"
    }
#line 1171 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__Call_16 = (MR_Word) transform_hlds__ctgc__structure_reuse__analysis__NoClobbers_11;
#line 1172 "structure_reuse.analysis.m"
    {
#line 1172 "structure_reuse.analysis.m"
      analysis__lookup_best_result_6_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_4[0], transform_hlds__ctgc__structure_reuse__analysis__AnalysisInfo_9, transform_hlds__ctgc__structure_reuse__analysis__ModuleName_12, transform_hlds__ctgc__structure_reuse__analysis__FuncId_13, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_15)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__Call_16)), &transform_hlds__ctgc__structure_reuse__analysis__MaybeOldResult_17);
    }
#line 1175 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__succeeded = ((MR_tag((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__MaybeOldResult_17)) == (MR_mktag((MR_Integer) 1)));
#line 1175 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1175 "structure_reuse.analysis.m"
      {
#line 1175 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__V_23_23 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__MaybeOldResult_17, (MR_Integer) 0)));
#line 1175 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__OldCall_18 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_23_23, (MR_Integer) 0)));
#line 1175 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__OldAnswer_19 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_23_23, (MR_Integer) 1)));
#line 1175 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__V_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_23_23, (MR_Integer) 2)));
#line 8372 "transform_hlds.ctgc.structure_reuse.analysis.c"
        transform_hlds__ctgc__structure_reuse__analysis__TypeClassInfo_for_partial_order_41 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_1[0];
#line 8374 "transform_hlds.ctgc.structure_reuse.analysis.c"
        transform_hlds__ctgc__structure_reuse__analysis__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__TypeClassInfo_for_partial_order_41, (MR_Integer) 0)), (MR_Integer) 6)));
#line 8376 "transform_hlds.ctgc.structure_reuse.analysis.c"
        {
#line 8378 "transform_hlds.ctgc.structure_reuse.analysis.c"
          transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__analysis__func_0(((MR_Box) transform_hlds__ctgc__structure_reuse__analysis__TypeClassInfo_for_partial_order_41), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_15)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__Call_16)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__OldCall_18)));
        }
#line 1175 "structure_reuse.analysis.m"
      }
#line 1202 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1180 "structure_reuse.analysis.m"
      {
#line 1180 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__NewAnswer_21;
#line 1180 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__NewReuseAs_49;
#line 1180 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__Reuse_58;
#line 1213 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_48;
#line 1181 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeClassInfo_for_partial_order_42;
#line 8397 "transform_hlds.ctgc.structure_reuse.analysis.c"
        MR_bool MR_CALL (* transform_hlds__ctgc__structure_reuse__analysis__func_1)(MR_Box, MR_Box, MR_Box, MR_Box);

#line 1211 "structure_reuse.analysis.m"
        {
#line 1211 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__domain__reuse_as_table_search_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__ReuseTable_6, transform_hlds__ctgc__structure_reuse__analysis__ReusePPId_7, &transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_48);
        }
#line 1213 "structure_reuse.analysis.m"
        if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1212 "structure_reuse.analysis.m"
          {
#line 1212 "structure_reuse.analysis.m"
            MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_50_50;

#line 1212 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__NewReuseAs_49 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_48, (MR_Integer) 0)));
#line 1212 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__V_50_50 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ReuseAs_Status_48, (MR_Integer) 1)));
#line 1212 "structure_reuse.analysis.m"
          }
#line 1213 "structure_reuse.analysis.m"
        else
#line 1214 "structure_reuse.analysis.m"
          {
#line 1214 "structure_reuse.analysis.m"
            {
#line 1214 "structure_reuse.analysis.m"
              mercury__require__unexpected_3_p_0((MR_String) "transform_hlds.ctgc.structure_reuse.analysis", (MR_String) "predicate \140transform_hlds.ctgc.structure_reuse.analysis.lookup_new_structure_reuse_answer\'/4", (MR_String) "search failed");
#line 1214 "structure_reuse.analysis.m"
              return;
            }
#line 1214 "structure_reuse.analysis.m"
          }
#line 1076 "structure_reuse.analysis.m"
        {
#line 1076 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__Reuse_58 = transform_hlds__ctgc__structure_reuse__domain__to_structure_reuse_domain_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__NewReuseAs_49);
        }
#line 1080 "structure_reuse.analysis.m"
        if ((transform_hlds__ctgc__structure_reuse__analysis__Reuse_58 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1079 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__NewAnswer_21 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1080 "structure_reuse.analysis.m"
        else
#line 1080 "structure_reuse.analysis.m"
          if ((transform_hlds__ctgc__structure_reuse__analysis__Reuse_58 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 1082 "structure_reuse.analysis.m"
            transform_hlds__ctgc__structure_reuse__analysis__NewAnswer_21 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1));
#line 1080 "structure_reuse.analysis.m"
          else
#line 1084 "structure_reuse.analysis.m"
            {
#line 1084 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__Conditions_59 = ((MR_Word) (MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__Reuse_58, (MR_Integer) 0)));
#line 1084 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_60;
#line 1084 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVars_61;
#line 1084 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__VarTypes_62;
#line 1084 "structure_reuse.analysis.m"
              MR_Word transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_63;

#line 1085 "structure_reuse.analysis.m"
              {
#line 1085 "structure_reuse.analysis.m"
                hlds__hlds_module__module_info_proc_info_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_5, transform_hlds__ctgc__structure_reuse__analysis__ReusePPId_7, &transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_60);
              }
#line 1086 "structure_reuse.analysis.m"
              {
#line 1086 "structure_reuse.analysis.m"
                hlds__hlds_pred__proc_info_get_headvars_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_60, &transform_hlds__ctgc__structure_reuse__analysis__HeadVars_61);
              }
#line 1087 "structure_reuse.analysis.m"
              {
#line 1087 "structure_reuse.analysis.m"
                hlds__hlds_pred__proc_info_get_vartypes_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__ProcInfo_60, &transform_hlds__ctgc__structure_reuse__analysis__VarTypes_62);
              }
#line 1088 "structure_reuse.analysis.m"
              {
#line 1088 "structure_reuse.analysis.m"
                parse_tree__prog_data__lookup_var_types_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__VarTypes_62, transform_hlds__ctgc__structure_reuse__analysis__HeadVars_61, &transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_63);
              }
#line 1089 "structure_reuse.analysis.m"
              {
#line 1089 "structure_reuse.analysis.m"
                transform_hlds__ctgc__structure_reuse__analysis__NewAnswer_21 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL));
#line 1089 "structure_reuse.analysis.m"
                MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__NewAnswer_21, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__HeadVars_61));
#line 1089 "structure_reuse.analysis.m"
                MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__NewAnswer_21, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__HeadVarTypes_63));
#line 1089 "structure_reuse.analysis.m"
                MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__NewAnswer_21, 2) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__Conditions_59));
#line 1089 "structure_reuse.analysis.m"
              }
#line 1084 "structure_reuse.analysis.m"
            }
#line 8495 "transform_hlds.ctgc.structure_reuse.analysis.c"
        transform_hlds__ctgc__structure_reuse__analysis__TypeClassInfo_for_partial_order_42 = (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_1[1];
#line 8497 "transform_hlds.ctgc.structure_reuse.analysis.c"
        transform_hlds__ctgc__structure_reuse__analysis__func_1 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__TypeClassInfo_for_partial_order_42, (MR_Integer) 0)), (MR_Integer) 5)));
#line 8499 "transform_hlds.ctgc.structure_reuse.analysis.c"
        {
#line 8501 "transform_hlds.ctgc.structure_reuse.analysis.c"
          transform_hlds__ctgc__structure_reuse__analysis__succeeded = transform_hlds__ctgc__structure_reuse__analysis__func_1(((MR_Box) transform_hlds__ctgc__structure_reuse__analysis__TypeClassInfo_for_partial_order_42), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__FuncInfo_15)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__NewAnswer_21)), ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__OldAnswer_19)));
        }
#line 1199 "structure_reuse.analysis.m"
        if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 1182 "structure_reuse.analysis.m"
          *transform_hlds__ctgc__structure_reuse__analysis__Harsher_8 = (MR_Integer) 1;
#line 1199 "structure_reuse.analysis.m"
        else
#line 1200 "structure_reuse.analysis.m"
          *transform_hlds__ctgc__structure_reuse__analysis__Harsher_8 = (MR_Integer) 0;
#line 1180 "structure_reuse.analysis.m"
      }
#line 1202 "structure_reuse.analysis.m"
    else
#line 1203 "structure_reuse.analysis.m"
      *transform_hlds__ctgc__structure_reuse__analysis__Harsher_8 = (MR_Integer) 0;
#line 1159 "structure_reuse.analysis.m"
  }
#line 92 "structure_reuse.analysis.m"
}

#line 813 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__write_pred_reuse_info_4_p_0_1(
#line 813 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 813 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 813 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 813 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3)
#line 813 "structure_reuse.analysis.m"
{
#line 813 "structure_reuse.analysis.m"
  {
#line 813 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;

#line 813 "structure_reuse.analysis.m"
    {
#line 813 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__write_proc_reuse_info_11_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 3))), ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 4))), ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 5))), ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 6))), ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 7))), ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 8))), ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 9))), ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 10))), ((MR_Integer) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1));
#line 813 "structure_reuse.analysis.m"
      return;
    }
#line 813 "structure_reuse.analysis.m"
  }
#line 813 "structure_reuse.analysis.m"
}

#line 72 "structure_reuse.analysis.m"
void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__write_pred_reuse_info_4_p_0(
#line 72 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_5,
#line 72 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredId_6)
#line 72 "structure_reuse.analysis.m"
{
#line 803 "structure_reuse.analysis.m"
  {
#line 803 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 803 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredInfo_8;
#line 803 "structure_reuse.analysis.m"
    MR_String transform_hlds__ctgc__structure_reuse__analysis__PredName_9;
#line 803 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcIds_10;
#line 803 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredOrFunc_11;
#line 803 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ModuleName_12;
#line 803 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ProcTable_13;
#line 803 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Context_14;
#line 803 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__SymName_15;
#line 803 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeVarSet_16;
#line 803 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_19_19;
#line 813 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_IO_18;

#line 804 "structure_reuse.analysis.m"
    {
#line 804 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_pred_info_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_5, transform_hlds__ctgc__structure_reuse__analysis__PredId_6, &transform_hlds__ctgc__structure_reuse__analysis__PredInfo_8);
    }
#line 805 "structure_reuse.analysis.m"
    {
#line 805 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__PredName_9 = hlds__hlds_pred__pred_info_name_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo_8);
    }
#line 806 "structure_reuse.analysis.m"
    {
#line 806 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__ProcIds_10 = hlds__hlds_pred__pred_info_procids_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo_8);
    }
#line 807 "structure_reuse.analysis.m"
    {
#line 807 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__PredOrFunc_11 = hlds__hlds_pred__pred_info_is_pred_or_func_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo_8);
    }
#line 808 "structure_reuse.analysis.m"
    {
#line 808 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__ModuleName_12 = hlds__hlds_pred__pred_info_module_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo_8);
    }
#line 809 "structure_reuse.analysis.m"
    {
#line 809 "structure_reuse.analysis.m"
      hlds__hlds_pred__pred_info_get_procedures_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo_8, &transform_hlds__ctgc__structure_reuse__analysis__ProcTable_13);
    }
#line 810 "structure_reuse.analysis.m"
    {
#line 810 "structure_reuse.analysis.m"
      hlds__hlds_pred__pred_info_get_context_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo_8, &transform_hlds__ctgc__structure_reuse__analysis__Context_14);
    }
#line 811 "structure_reuse.analysis.m"
    {
#line 811 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__SymName_15 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 811 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__SymName_15, 0) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ModuleName_12));
#line 811 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(1), transform_hlds__ctgc__structure_reuse__analysis__SymName_15, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PredName_9));
#line 811 "structure_reuse.analysis.m"
    }
#line 812 "structure_reuse.analysis.m"
    {
#line 812 "structure_reuse.analysis.m"
      hlds__hlds_pred__pred_info_get_typevarset_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__PredInfo_8, &transform_hlds__ctgc__structure_reuse__analysis__TypeVarSet_16);
    }
#line 813 "structure_reuse.analysis.m"
    {
#line 813 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__V_19_19 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 11 * sizeof(MR_Word)), NULL, NULL);
#line 813 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_19_19, 0) = ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_9[0]));
#line 813 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_19_19, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__write_pred_reuse_info_4_p_0_1));
#line 813 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_19_19, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 8));
#line 813 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_19_19, 3) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ModuleInfo_5));
#line 813 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_19_19, 4) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PredId_6));
#line 813 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_19_19, 5) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PredInfo_8));
#line 813 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_19_19, 6) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ProcTable_13));
#line 813 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_19_19, 7) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PredOrFunc_11));
#line 813 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_19_19, 8) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__SymName_15));
#line 813 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_19_19, 9) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__Context_14));
#line 813 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_19_19, 10) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__TypeVarSet_16));
#line 813 "structure_reuse.analysis.m"
    }
#line 813 "structure_reuse.analysis.m"
    {
#line 813 "structure_reuse.analysis.m"
      mercury__list__foldl_4_p_2((MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_proc_id_0, (MR_Word) &mercury__io__io__type_ctor_info_state_0, transform_hlds__ctgc__structure_reuse__analysis__V_19_19, transform_hlds__ctgc__structure_reuse__analysis__ProcIds_10, ((MR_Box) ((MR_Integer) 0)), &transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_IO_18);
    }
#line 803 "structure_reuse.analysis.m"
  }
#line 72 "structure_reuse.analysis.m"
}

#line 307 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_8(
#line 307 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 307 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 307 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 307 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 307 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4)
#line 307 "structure_reuse.analysis.m"
{
#line 307 "structure_reuse.analysis.m"
  {
#line 307 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 307 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv16_STATE_VARIABLE_PredTable_21;

#line 307 "structure_reuse.analysis.m"
    {
#line 307 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__remove_useless_reuse_proc_7_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 3))), ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 4))), ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 5))), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3), &transform_hlds__ctgc__structure_reuse__analysis__conv16_STATE_VARIABLE_PredTable_21);
    }
#line 307 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv16_STATE_VARIABLE_PredTable_21));
#line 307 "structure_reuse.analysis.m"
  }
#line 307 "structure_reuse.analysis.m"
}

#line 294 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_7(
#line 294 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 294 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 294 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 294 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3)
#line 294 "structure_reuse.analysis.m"
{
#line 294 "structure_reuse.analysis.m"
  {
#line 294 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 294 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv14_STATE_VARIABLE_AnalysisInfo_12;

#line 294 "structure_reuse.analysis.m"
    {
#line 294 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__record_intermod_requests_4_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 3))), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), &transform_hlds__ctgc__structure_reuse__analysis__conv14_STATE_VARIABLE_AnalysisInfo_12);
    }
#line 294 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv14_STATE_VARIABLE_AnalysisInfo_12));
#line 294 "structure_reuse.analysis.m"
  }
#line 294 "structure_reuse.analysis.m"
}

#line 292 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_6(
#line 292 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 292 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 292 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 292 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3)
#line 292 "structure_reuse.analysis.m"
{
#line 292 "structure_reuse.analysis.m"
  {
#line 292 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 292 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv12_STATE_VARIABLE_AnalysisInfo_16;

#line 292 "structure_reuse.analysis.m"
    {
#line 292 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__handle_structure_reuse_dependency_4_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 3))), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), &transform_hlds__ctgc__structure_reuse__analysis__conv12_STATE_VARIABLE_AnalysisInfo_16);
    }
#line 292 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv12_STATE_VARIABLE_AnalysisInfo_16));
#line 292 "structure_reuse.analysis.m"
  }
#line 292 "structure_reuse.analysis.m"
}

#line 289 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_5(
#line 289 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 289 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 289 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 289 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 289 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4)
#line 289 "structure_reuse.analysis.m"
{
#line 289 "structure_reuse.analysis.m"
  {
#line 289 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 289 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv10_STATE_VARIABLE_AnalysisInfo_16;

#line 289 "structure_reuse.analysis.m"
    {
#line 289 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__record_structure_reuse_results_6_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 3))), ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 4))), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3), &transform_hlds__ctgc__structure_reuse__analysis__conv10_STATE_VARIABLE_AnalysisInfo_16);
    }
#line 289 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv10_STATE_VARIABLE_AnalysisInfo_16));
#line 289 "structure_reuse.analysis.m"
  }
#line 289 "structure_reuse.analysis.m"
}

#line 266 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_4(
#line 266 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 266 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 266 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 266 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 266 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4)
#line 266 "structure_reuse.analysis.m"
{
#line 266 "structure_reuse.analysis.m"
  {
#line 266 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 266 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv8_STATE_VARIABLE_ModuleInfo_16;

#line 266 "structure_reuse.analysis.m"
    {
#line 266 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__save_reuse_in_module_info_4_p_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3), &transform_hlds__ctgc__structure_reuse__analysis__conv8_STATE_VARIABLE_ModuleInfo_16);
    }
#line 266 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv8_STATE_VARIABLE_ModuleInfo_16));
#line 266 "structure_reuse.analysis.m"
  }
#line 266 "structure_reuse.analysis.m"
}

#line 256 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_3(
#line 256 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 256 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 256 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 256 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3)
#line 256 "structure_reuse.analysis.m"
{
#line 256 "structure_reuse.analysis.m"
  {
#line 256 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 256 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv6_STATE_VARIABLE_ModuleInfo_13;

#line 256 "structure_reuse.analysis.m"
    {
#line 256 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__maybe_create_forwarding_procedures_intermod_analysis_4_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__closure, (MR_Integer) 3))), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), &transform_hlds__ctgc__structure_reuse__analysis__conv6_STATE_VARIABLE_ModuleInfo_13);
    }
#line 256 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv6_STATE_VARIABLE_ModuleInfo_13));
#line 256 "structure_reuse.analysis.m"
  }
#line 256 "structure_reuse.analysis.m"
}

#line 197 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_2(
#line 197 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 197 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 197 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 197 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3,
#line 197 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4,
#line 197 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_5,
#line 197 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_6)
#line 197 "structure_reuse.analysis.m"
{
#line 197 "structure_reuse.analysis.m"
  {
#line 197 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 197 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv3_NewPPId_9;
#line 197 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv2_STATE_VARIABLE_ReuseTable_18;
#line 197 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ModuleInfo_20;

#line 197 "structure_reuse.analysis.m"
    {
#line 197 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__make_intermediate_reuse_proc_6_p_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), &transform_hlds__ctgc__structure_reuse__analysis__conv3_NewPPId_9, ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3), &transform_hlds__ctgc__structure_reuse__analysis__conv2_STATE_VARIABLE_ReuseTable_18, ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_5), &transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ModuleInfo_20);
    }
#line 197 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv3_NewPPId_9));
#line 197 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_4 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv2_STATE_VARIABLE_ReuseTable_18));
#line 197 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_6 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv1_STATE_VARIABLE_ModuleInfo_20));
#line 197 "structure_reuse.analysis.m"
  }
#line 197 "structure_reuse.analysis.m"
}

#line 183 "structure_reuse.analysis.m"
static void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_1(
#line 183 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure_arg,
#line 183 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1,
#line 183 "structure_reuse.analysis.m"
  MR_Box transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2,
#line 183 "structure_reuse.analysis.m"
  MR_Box * transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3)
#line 183 "structure_reuse.analysis.m"
{
#line 183 "structure_reuse.analysis.m"
  {
#line 183 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__closure = transform_hlds__ctgc__structure_reuse__analysis__closure_arg;
#line 183 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ProcInfo_7;

#line 183 "structure_reuse.analysis.m"
    {
#line 183 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__annotate_in_use_information_3_p_0(((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_1), ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_2), &transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ProcInfo_7);
    }
#line 183 "structure_reuse.analysis.m"
    *transform_hlds__ctgc__structure_reuse__analysis__wrapper_arg_3 = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__conv0_STATE_VARIABLE_ProcInfo_7));
#line 183 "structure_reuse.analysis.m"
  }
#line 183 "structure_reuse.analysis.m"
}

#line 66 "structure_reuse.analysis.m"
void MR_CALL 
transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0(
#line 66 "structure_reuse.analysis.m"
  MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_30,
#line 66 "structure_reuse.analysis.m"
  MR_Word * transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_31)
#line 66 "structure_reuse.analysis.m"
{
#line 141 "structure_reuse.analysis.m"
  {
#line 141 "structure_reuse.analysis.m"
    MR_bool transform_hlds__ctgc__structure_reuse__analysis__succeeded;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_122_122;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_123_123;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__Globals_7;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_8;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__SharingTable_9;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__IntermodAnalysis_10;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ExternalRequests_12;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__MustHaveReuseVersions_13;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseTable_14;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__DepProcs0_17;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__InternalRequests_18;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__IntermodRequests0_19;
#line 141 "structure_reuse.analysis.m"
    MR_Integer transform_hlds__ctgc__structure_reuse__analysis__Repeats_20;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__DepProcs_21;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__IntermodRequests_22;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseInfoMap_23;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__ReuseVersionMap_24;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__MakeOptInt_25;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__MakeAnalysisRegistry_26;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredTable0_28;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__PredTable_29;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_37_37;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_38_38;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_43_43;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_52_52;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_53_53;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_60_60;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_61_61;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_69_69;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_70_70;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_76_76;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_77_77;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_79_79;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_82_82;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_84_84;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_86_86;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_96_96;
#line 141 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_97_97;
#line 197 "structure_reuse.analysis.m"
    MR_Word transform_hlds__ctgc__structure_reuse__analysis___NewPPIds_16;
#line 197 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv5_STATE_VARIABLE_ReuseTable_52_52;
#line 197 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv4_STATE_VARIABLE_ModuleInfo_53_53;
#line 266 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv9_STATE_VARIABLE_ModuleInfo_84_84;
#line 307 "structure_reuse.analysis.m"
    MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv17_PredTable_29;

#line 142 "structure_reuse.analysis.m"
    {
#line 142 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_get_globals_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_30, &transform_hlds__ctgc__structure_reuse__analysis__Globals_7);
    }
#line 143 "structure_reuse.analysis.m"
    {
#line 143 "structure_reuse.analysis.m"
      libs__globals__lookup_bool_option_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__Globals_7, (MR_Integer) 45, &transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_8);
    }
#line 146 "structure_reuse.analysis.m"
    {
#line 146 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__SharingTable_9 = transform_hlds__ctgc__structure_sharing__domain__load_structure_sharing_table_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_30);
    }
#line 149 "structure_reuse.analysis.m"
    {
#line 149 "structure_reuse.analysis.m"
      libs__globals__lookup_bool_option_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__Globals_7, (MR_Integer) 330, &transform_hlds__ctgc__structure_reuse__analysis__IntermodAnalysis_10);
    }
#line 158 "structure_reuse.analysis.m"
    if ((transform_hlds__ctgc__structure_reuse__analysis__IntermodAnalysis_10 == (MR_Integer) 0))
#line 159 "structure_reuse.analysis.m"
      {
#line 167 "structure_reuse.analysis.m"
        {
#line 167 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__process_imported_reuse_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_30, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_37_37);
        }
#line 168 "structure_reuse.analysis.m"
        {
#line 168 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_38_38 = transform_hlds__ctgc__structure_reuse__domain__load_structure_reuse_table_1_f_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_37_37);
        }
#line 169 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__ExternalRequests_12 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 170 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__MustHaveReuseVersions_13 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 159 "structure_reuse.analysis.m"
      }
#line 158 "structure_reuse.analysis.m"
    else
#line 156 "structure_reuse.analysis.m"
      {
#line 156 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__process_intermod_analysis_reuse_5_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_0_30, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_37_37, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_38_38, &transform_hlds__ctgc__structure_reuse__analysis__ExternalRequests_12, &transform_hlds__ctgc__structure_reuse__analysis__MustHaveReuseVersions_13);
      }
#line 180 "structure_reuse.analysis.m"
    {
#line 180 "structure_reuse.analysis.m"
      libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_8, (MR_String) "% Annotating in use information...");
    }
#line 183 "structure_reuse.analysis.m"
    {
#line 183 "structure_reuse.analysis.m"
      hlds__passes_aux__process_all_nonimported_procs_3_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_5[0], transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_37_37, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_43_43);
    }
#line 186 "structure_reuse.analysis.m"
    {
#line 186 "structure_reuse.analysis.m"
      libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_8, (MR_String) "done.\n");
    }
#line 187 "structure_reuse.analysis.m"
    {
#line 187 "structure_reuse.analysis.m"
      libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_8, (MR_String) "% Reuse table before intermediate reuse:\n");
    }
#line 189 "structure_reuse.analysis.m"
    {
#line 189 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__domain__reuse_as_table_maybe_dump_5_p_0(transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_8, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_43_43, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_38_38);
    }
#line 197 "structure_reuse.analysis.m"
    {
#line 197 "structure_reuse.analysis.m"
      mercury__list__map_foldl2_7_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__indirect__transform_hlds__ctgc__structure_reuse__indirect__type_ctor_info_sr_request_0, (MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0, (MR_Word) &transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_table_0, (MR_Word) &hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0, (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_1[5], transform_hlds__ctgc__structure_reuse__analysis__ExternalRequests_12, &transform_hlds__ctgc__structure_reuse__analysis___NewPPIds_16, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_38_38)), &transform_hlds__ctgc__structure_reuse__analysis__conv5_STATE_VARIABLE_ReuseTable_52_52, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_43_43)), &transform_hlds__ctgc__structure_reuse__analysis__conv4_STATE_VARIABLE_ModuleInfo_53_53);
    }
#line 197 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_52_52 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv5_STATE_VARIABLE_ReuseTable_52_52);
#line 197 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_53_53 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv4_STATE_VARIABLE_ModuleInfo_53_53);
#line 202 "structure_reuse.analysis.m"
    {
#line 202 "structure_reuse.analysis.m"
      libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_8, (MR_String) "% Reuse table after intermediate reuse:\n");
    }
#line 204 "structure_reuse.analysis.m"
    {
#line 204 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__domain__reuse_as_table_maybe_dump_5_p_0(transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_8, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_53_53, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_52_52);
    }
#line 206 "structure_reuse.analysis.m"
    {
#line 206 "structure_reuse.analysis.m"
      libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_8, (MR_String) "% Direct reuse...\n");
    }
#line 208 "structure_reuse.analysis.m"
    {
#line 208 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__direct__direct_reuse_pass_5_p_0(transform_hlds__ctgc__structure_reuse__analysis__SharingTable_9, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_53_53, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_60_60, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_52_52, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_61_61);
    }
#line 210 "structure_reuse.analysis.m"
    {
#line 210 "structure_reuse.analysis.m"
      libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_8, (MR_String) "% Direct reuse: done.\n");
    }
#line 211 "structure_reuse.analysis.m"
    {
#line 211 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__domain__reuse_as_table_maybe_dump_5_p_0(transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_8, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_60_60, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_61_61);
    }
#line 217 "structure_reuse.analysis.m"
    {
#line 217 "structure_reuse.analysis.m"
      libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_8, (MR_String) "% Indirect reuse...\n");
    }
#line 219 "structure_reuse.analysis.m"
    {
#line 219 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__indirect__indirect_reuse_pass_8_p_0(transform_hlds__ctgc__structure_reuse__analysis__SharingTable_9, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_60_60, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_69_69, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_61_61, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_70_70, &transform_hlds__ctgc__structure_reuse__analysis__DepProcs0_17, &transform_hlds__ctgc__structure_reuse__analysis__InternalRequests_18, &transform_hlds__ctgc__structure_reuse__analysis__IntermodRequests0_19);
    }
#line 222 "structure_reuse.analysis.m"
    {
#line 222 "structure_reuse.analysis.m"
      libs__file_util__maybe_write_string_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_8, (MR_String) "% Indirect reuse: done.\n");
    }
#line 223 "structure_reuse.analysis.m"
    {
#line 223 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__domain__reuse_as_table_maybe_dump_5_p_0(transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_8, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_69_69, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_70_70);
    }
#line 229 "structure_reuse.analysis.m"
    {
#line 229 "structure_reuse.analysis.m"
      libs__globals__lookup_int_option_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__Globals_7, (MR_Integer) 412, &transform_hlds__ctgc__structure_reuse__analysis__Repeats_20);
    }
#line 230 "structure_reuse.analysis.m"
    {
#line 230 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__handle_structure_reuse_requests_11_p_0(transform_hlds__ctgc__structure_reuse__analysis__Repeats_20, transform_hlds__ctgc__structure_reuse__analysis__SharingTable_9, transform_hlds__ctgc__structure_reuse__analysis__InternalRequests_18, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_70_70, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_76_76, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_69_69, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_77_77, transform_hlds__ctgc__structure_reuse__analysis__DepProcs0_17, &transform_hlds__ctgc__structure_reuse__analysis__DepProcs_21, transform_hlds__ctgc__structure_reuse__analysis__IntermodRequests0_19, &transform_hlds__ctgc__structure_reuse__analysis__IntermodRequests_22);
    }
#line 236 "structure_reuse.analysis.m"
    {
#line 236 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__versions__create_reuse_procedures_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_76_76, &transform_hlds__ctgc__structure_reuse__analysis__ReuseTable_14, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_77_77, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_79_79);
    }
#line 250 "structure_reuse.analysis.m"
    if ((transform_hlds__ctgc__structure_reuse__analysis__IntermodAnalysis_10 == (MR_Integer) 0))
#line 248 "structure_reuse.analysis.m"
      {
#line 248 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__maybe_create_forwarding_procedures_intermod_opt_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ReuseTable_38_38, transform_hlds__ctgc__structure_reuse__analysis__ReuseTable_14, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_79_79, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_82_82);
      }
#line 250 "structure_reuse.analysis.m"
    else
#line 251 "structure_reuse.analysis.m"
      {
#line 251 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_80_80;
#line 256 "structure_reuse.analysis.m"
        MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv7_STATE_VARIABLE_ModuleInfo_82_82;

#line 256 "structure_reuse.analysis.m"
        {
#line 256 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__V_80_80 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 4 * sizeof(MR_Word)), NULL, NULL);
#line 256 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_80_80, 0) = ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_7[0]));
#line 256 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_80_80, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_3));
#line 256 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_80_80, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 1));
#line 256 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_80_80, 3) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ReuseTable_14));
#line 256 "structure_reuse.analysis.m"
        }
#line 256 "structure_reuse.analysis.m"
        {
#line 256 "structure_reuse.analysis.m"
          mercury__list__foldl_4_p_0((MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0, (MR_Word) &hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0, transform_hlds__ctgc__structure_reuse__analysis__V_80_80, transform_hlds__ctgc__structure_reuse__analysis__MustHaveReuseVersions_13, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_79_79)), &transform_hlds__ctgc__structure_reuse__analysis__conv7_STATE_VARIABLE_ModuleInfo_82_82);
        }
#line 256 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_82_82 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv7_STATE_VARIABLE_ModuleInfo_82_82);
#line 251 "structure_reuse.analysis.m"
      }
#line 261 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__ReuseInfoMap_23 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ReuseTable_14, (MR_Integer) 0)));
#line 261 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__ReuseVersionMap_24 = ((MR_Word) (MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__ReuseTable_14, (MR_Integer) 1)));
#line 9242 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_122_122 = (MR_Word) &hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0;
#line 9244 "transform_hlds.ctgc.structure_reuse.analysis.c"
    transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_123_123 = (MR_Word) &transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_reuse_as_and_status_0;
#line 266 "structure_reuse.analysis.m"
    {
#line 266 "structure_reuse.analysis.m"
      mercury__map__foldl_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_122_122, transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_123_123, (MR_Word) &hlds__hlds_module__hlds__hlds_module__type_ctor_info_module_info_0, (MR_Word) &transform_hlds__ctgc__structure_reuse__analysis_scalar_common_1[6], transform_hlds__ctgc__structure_reuse__analysis__ReuseInfoMap_23, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_82_82)), &transform_hlds__ctgc__structure_reuse__analysis__conv9_STATE_VARIABLE_ModuleInfo_84_84);
    }
#line 266 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_84_84 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv9_STATE_VARIABLE_ModuleInfo_84_84);
#line 270 "structure_reuse.analysis.m"
    {
#line 270 "structure_reuse.analysis.m"
      libs__globals__lookup_bool_option_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__Globals_7, (MR_Integer) 85, &transform_hlds__ctgc__structure_reuse__analysis__MakeOptInt_25);
    }
#line 273 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__MakeOptInt_25 == (MR_Integer) 1);
#line 273 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 274 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__succeeded = (transform_hlds__ctgc__structure_reuse__analysis__IntermodAnalysis_10 == (MR_Integer) 0);
#line 277 "structure_reuse.analysis.m"
    if (transform_hlds__ctgc__structure_reuse__analysis__succeeded)
#line 276 "structure_reuse.analysis.m"
      {
#line 276 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__make_opt_int_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_84_84, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_86_86);
      }
#line 277 "structure_reuse.analysis.m"
    else
#line 278 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_86_86 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_84_84;
#line 283 "structure_reuse.analysis.m"
    {
#line 283 "structure_reuse.analysis.m"
      libs__globals__lookup_bool_option_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__Globals_7, (MR_Integer) 87, &transform_hlds__ctgc__structure_reuse__analysis__MakeAnalysisRegistry_26);
    }
#line 298 "structure_reuse.analysis.m"
    if ((transform_hlds__ctgc__structure_reuse__analysis__MakeAnalysisRegistry_26 == (MR_Integer) 0))
#line 299 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_96_96 = transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_86_86;
#line 298 "structure_reuse.analysis.m"
    else
#line 286 "structure_reuse.analysis.m"
      {
#line 286 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_129_129;
#line 286 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_89_89;
#line 286 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_90_90;
#line 286 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_91_91;
#line 286 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_92_92;
#line 286 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_93_93;
#line 286 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__V_94_94;
#line 286 "structure_reuse.analysis.m"
        MR_Word transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_95_95;
#line 289 "structure_reuse.analysis.m"
        MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv11_STATE_VARIABLE_AnalysisInfo_91_91;
#line 292 "structure_reuse.analysis.m"
        MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv13_STATE_VARIABLE_AnalysisInfo_93_93;
#line 294 "structure_reuse.analysis.m"
        MR_Box transform_hlds__ctgc__structure_reuse__analysis__conv15_STATE_VARIABLE_AnalysisInfo_95_95;

#line 288 "structure_reuse.analysis.m"
        {
#line 288 "structure_reuse.analysis.m"
          hlds__hlds_module__module_info_get_analysis_info_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_86_86, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_89_89);
        }
#line 289 "structure_reuse.analysis.m"
        {
#line 289 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__V_90_90 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 5 * sizeof(MR_Word)), NULL, NULL);
#line 289 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_90_90, 0) = ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_6[1]));
#line 289 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_90_90, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_5));
#line 289 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_90_90, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 2));
#line 289 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_90_90, 3) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_86_86));
#line 289 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_90_90, 4) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ReuseVersionMap_24));
#line 289 "structure_reuse.analysis.m"
        }
#line 9332 "transform_hlds.ctgc.structure_reuse.analysis.c"
        transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_129_129 = (MR_Word) &analysis__analysis__type_ctor_info_analysis_info_0;
#line 289 "structure_reuse.analysis.m"
        {
#line 289 "structure_reuse.analysis.m"
          mercury__map__foldl_4_p_0(transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_122_122, transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_123_123, transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_129_129, transform_hlds__ctgc__structure_reuse__analysis__V_90_90, transform_hlds__ctgc__structure_reuse__analysis__ReuseInfoMap_23, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_89_89)), &transform_hlds__ctgc__structure_reuse__analysis__conv11_STATE_VARIABLE_AnalysisInfo_91_91);
        }
#line 289 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_91_91 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv11_STATE_VARIABLE_AnalysisInfo_91_91);
#line 292 "structure_reuse.analysis.m"
        {
#line 292 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__V_92_92 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 4 * sizeof(MR_Word)), NULL, NULL);
#line 292 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_92_92, 0) = ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_7[2]));
#line 292 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_92_92, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_6));
#line 292 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_92_92, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 1));
#line 292 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_92_92, 3) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_86_86));
#line 292 "structure_reuse.analysis.m"
        }
#line 292 "structure_reuse.analysis.m"
        {
#line 292 "structure_reuse.analysis.m"
          mercury__set__fold_4_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_ppid_no_clobbers_0, transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_129_129, transform_hlds__ctgc__structure_reuse__analysis__V_92_92, transform_hlds__ctgc__structure_reuse__analysis__DepProcs_21, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_91_91)), &transform_hlds__ctgc__structure_reuse__analysis__conv13_STATE_VARIABLE_AnalysisInfo_93_93);
        }
#line 292 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_93_93 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv13_STATE_VARIABLE_AnalysisInfo_93_93);
#line 294 "structure_reuse.analysis.m"
        {
#line 294 "structure_reuse.analysis.m"
          transform_hlds__ctgc__structure_reuse__analysis__V_94_94 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 4 * sizeof(MR_Word)), NULL, NULL);
#line 294 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_94_94, 0) = ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_7[3]));
#line 294 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_94_94, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_7));
#line 294 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_94_94, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 1));
#line 294 "structure_reuse.analysis.m"
          MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_94_94, 3) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_86_86));
#line 294 "structure_reuse.analysis.m"
        }
#line 294 "structure_reuse.analysis.m"
        {
#line 294 "structure_reuse.analysis.m"
          mercury__set__fold_4_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__indirect__transform_hlds__ctgc__structure_reuse__indirect__type_ctor_info_sr_request_0, transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_129_129, transform_hlds__ctgc__structure_reuse__analysis__V_94_94, transform_hlds__ctgc__structure_reuse__analysis__IntermodRequests_22, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_93_93)), &transform_hlds__ctgc__structure_reuse__analysis__conv15_STATE_VARIABLE_AnalysisInfo_95_95);
        }
#line 294 "structure_reuse.analysis.m"
        transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_95_95 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv15_STATE_VARIABLE_AnalysisInfo_95_95);
#line 296 "structure_reuse.analysis.m"
        {
#line 296 "structure_reuse.analysis.m"
          hlds__hlds_module__module_info_set_analysis_info_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_AnalysisInfo_95_95, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_86_86, &transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_96_96);
        }
#line 286 "structure_reuse.analysis.m"
      }
#line 306 "structure_reuse.analysis.m"
    {
#line 306 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_get_predicate_table_2_p_0(transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_96_96, &transform_hlds__ctgc__structure_reuse__analysis__PredTable0_28);
    }
#line 307 "structure_reuse.analysis.m"
    {
#line 307 "structure_reuse.analysis.m"
      transform_hlds__ctgc__structure_reuse__analysis__V_97_97 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 6 * sizeof(MR_Word)), NULL, NULL);
#line 307 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_97_97, 0) = ((MR_Box) (&transform_hlds__ctgc__structure_reuse__analysis_scalar_common_8[0]));
#line 307 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_97_97, 1) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__perform_structure_reuse_analysis_4_p_0_8));
#line 307 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_97_97, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 3));
#line 307 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_97_97, 3) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_96_96));
#line 307 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_97_97, 4) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__VeryVerbose_8));
#line 307 "structure_reuse.analysis.m"
      MR_hl_field(MR_mktag(0), transform_hlds__ctgc__structure_reuse__analysis__V_97_97, 5) = ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__ReuseInfoMap_23));
#line 307 "structure_reuse.analysis.m"
    }
#line 307 "structure_reuse.analysis.m"
    {
#line 307 "structure_reuse.analysis.m"
      mercury__bimap__foldl_4_p_0((MR_Word) &transform_hlds__ctgc__structure_reuse__domain__transform_hlds__ctgc__structure_reuse__domain__type_ctor_info_ppid_no_clobbers_0, transform_hlds__ctgc__structure_reuse__analysis__TypeCtorInfo_122_122, (MR_Word) &hlds__pred_table__hlds__pred_table__type_ctor_info_predicate_table_0, transform_hlds__ctgc__structure_reuse__analysis__V_97_97, transform_hlds__ctgc__structure_reuse__analysis__ReuseVersionMap_24, ((MR_Box) (transform_hlds__ctgc__structure_reuse__analysis__PredTable0_28)), &transform_hlds__ctgc__structure_reuse__analysis__conv17_PredTable_29);
    }
#line 307 "structure_reuse.analysis.m"
    transform_hlds__ctgc__structure_reuse__analysis__PredTable_29 = ((MR_Word) transform_hlds__ctgc__structure_reuse__analysis__conv17_PredTable_29);
#line 310 "structure_reuse.analysis.m"
    {
#line 310 "structure_reuse.analysis.m"
      hlds__hlds_module__module_info_set_predicate_table_3_p_0(transform_hlds__ctgc__structure_reuse__analysis__PredTable_29, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_96_96, transform_hlds__ctgc__structure_reuse__analysis__STATE_VARIABLE_ModuleInfo_31);
    }
#line 312 "structure_reuse.analysis.m"
    {
#line 312 "structure_reuse.analysis.m"
      transform_hlds__ctgc__selector__reset_tables_2_p_0();
#line 312 "structure_reuse.analysis.m"
      return;
    }
#line 141 "structure_reuse.analysis.m"
  }
#line 66 "structure_reuse.analysis.m"
}

void mercury__transform_hlds__ctgc__structure_reuse__analysis__init(void)
{
}

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

	MR_register_type_ctor_info(&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_should_write_for_0);
	MR_register_type_ctor_info(&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_answer_0);
	MR_register_type_ctor_info(&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_call_0);
	MR_register_type_ctor_info(&transform_hlds__ctgc__structure_reuse__analysis__transform_hlds__ctgc__structure_reuse__analysis__type_ctor_info_structure_reuse_func_info_0);
}

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

/* ensure everything is compiled with the same grade */
static const void *const MR_grade = &MR_GRADE_VAR;

/* :- end_module transform_hlds.ctgc.structure_reuse.analysis. */
