/*
** Automatically generated from `robdd.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 robdd. */
/* :- implementation. */

/*
INIT mercury__robdd__init
ENDINIT
*/

#include "robdd.mih"


#include "array.mih"
#include "assoc_list.mih"
#include "benchmarking.mih"
#include "bitmap.mih"
#include "bool.mih"
#include "builtin.mih"
#include "char.mih"
#include "construct.mih"
#include "deconstruct.mih"
#include "dir.mih"
#include "enum.mih"
#include "erlang_rtti_implementation.mih"
#include "exception.mih"
#include "float.mih"
#include "hash_table.mih"
#include "int.mih"
#include "integer.mih"
#include "io.mih"
#include "lexer.mih"
#include "list.mih"
#include "map.mih"
#include "math.mih"
#include "maybe.mih"
#include "multi_map.mih"
#include "mutvar.mih"
#include "ops.mih"
#include "pair.mih"
#include "parser.mih"
#include "pretty_printer.mih"
#include "private_builtin.mih"
#include "random.mih"
#include "require.mih"
#include "rtti_implementation.mih"
#include "set.mih"
#include "set_bbbtree.mih"
#include "set_ordlist.mih"
#include "set_tree234.mih"
#include "set_unordlist.mih"
#include "solutions.mih"
#include "sparse_bitset.mih"
#include "std_util.mih"
#include "stm_builtin.mih"
#include "store.mih"
#include "stream.mih"
#include "string.mih"
#include "table_builtin.mih"
#include "term.mih"
#include "term_io.mih"
#include "time.mih"
#include "tree234.mih"
#include "type_desc.mih"
#include "unit.mih"
#include "univ.mih"
#include "varset.mih"
#include "version_array.mih"
#include "stream.string_writer.mih"

#line 428 "robdd.m"

#define MR_ROBDD_CLEAR_CACHES
#define MR_ROBDD_COMPUTED_TABLE
#define MR_ROBDD_EQUAL_TEST
#define MR_ROBDD_USE_ITE_CONSTANT
#define MR_ROBDD_NEW
#define MR_ROBDD_RESTRICT_SET

#include "bryant.h"

#ifdef  MR_HIGHLEVEL_DATA
  typedef   MR_Box  MR_ROBDD_NODE_TYPE;
#else
  typedef   MR_Word MR_ROBDD_NODE_TYPE;
#endif



#line 107 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__robdd__term__pti_var_1__pseudo_1;

#line 110 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct2 mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__pseudo_term__pti_var_1__pseudo_1;

#line 113 "robdd.c"
static const MR_DuFunctorDesc mercury__robdd__robdd__du_functor_desc_entailment_result_1_0;

#line 116 "robdd.c"
static const MR_PseudoTypeInfo mercury__robdd__robdd__field_types_entailment_result_1_1[1];

#line 119 "robdd.c"
static const MR_ConstString mercury__robdd__robdd__field_names_entailment_result_1_1[1];

#line 122 "robdd.c"
static const MR_DuFunctorDesc mercury__robdd__robdd__du_functor_desc_entailment_result_1_1;

#line 125 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_stag_ordered_entailment_result_1_0[1];

#line 128 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_stag_ordered_entailment_result_1_1[1];

#line 131 "robdd.c"
static const MR_DuPtagLayout mercury__robdd__robdd__du_ptag_ordered_entailment_result_1[2];

#line 134 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_name_ordered_entailment_result_1[2];

#line 137 "robdd.c"
static const MR_Integer mercury__robdd__robdd__functor_number_map_entailment_result_1[2];

#line 140 "robdd.c"
static const MR_Integer mercury__robdd__robdd__functor_number_map_equiv_vars_1[1];

#line 143 "robdd.c"
static const MR_NotagFunctorDesc mercury__robdd__robdd__notag_functor_desc_equiv_vars_1;

#line 146 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__robdd__robdd__pti_equiv_vars_1__pseudo_1;

#line 149 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__robdd__robdd__pti_entailment_result_1__pseudo_robdd__pti_equiv_vars_1__pseudo_1;

#line 152 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__robdd__sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1;

#line 155 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct2 mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__pseudo_sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1;

#line 158 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__robdd__robdd__pti_imp_res_2_1__pseudo_1;

#line 161 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__robdd__robdd__pti_entailment_result_1__pseudo_robdd__pti_imp_res_2_1__pseudo_1;

#line 164 "robdd.c"
static const MR_Integer mercury__robdd__robdd__functor_number_map_imp_res_2_1[1];

#line 167 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__robdd__robdd__pti_entailment_result_1__pseudo_sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1;

#line 170 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct2 mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__pseudo_robdd__pti_entailment_result_1__pseudo_sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1;

#line 173 "robdd.c"
static const MR_NotagFunctorDesc mercury__robdd__robdd__notag_functor_desc_imp_res_2_1;

#line 176 "robdd.c"
static const MR_PseudoTypeInfo mercury__robdd__robdd__field_types_imp_vars_1_0[4];

#line 179 "robdd.c"
static const MR_ConstString mercury__robdd__robdd__field_names_imp_vars_1_0[4];

#line 182 "robdd.c"
static const MR_DuFunctorDesc mercury__robdd__robdd__du_functor_desc_imp_vars_1_0;

#line 185 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_stag_ordered_imp_vars_1_0[1];

#line 188 "robdd.c"
static const MR_DuPtagLayout mercury__robdd__robdd__du_ptag_ordered_imp_vars_1[1];

#line 191 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_name_ordered_imp_vars_1[1];

#line 194 "robdd.c"
static const MR_Integer mercury__robdd__robdd__functor_number_map_imp_vars_1[1];

#line 197 "robdd.c"
static const MR_PseudoTypeInfo mercury__robdd__robdd__field_types_implication_result_1_0[4];

#line 200 "robdd.c"
static const MR_DuFunctorDesc mercury__robdd__robdd__du_functor_desc_implication_result_1_0;

#line 203 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_stag_ordered_implication_result_1_0[1];

#line 206 "robdd.c"
static const MR_DuPtagLayout mercury__robdd__robdd__du_ptag_ordered_implication_result_1[1];

#line 209 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_name_ordered_implication_result_1[1];

#line 212 "robdd.c"
static const MR_Integer mercury__robdd__robdd__functor_number_map_implication_result_1[1];

#line 215 "robdd.c"
static const MR_Integer mercury__robdd__robdd__functor_number_map_leader_to_eqvclass_1[1];

#line 218 "robdd.c"
static const MR_NotagFunctorDesc mercury__robdd__robdd__notag_functor_desc_leader_to_eqvclass_1;

#line 221 "robdd.c"
static const MR_PseudoTypeInfo mercury__robdd__robdd__field_types_literal_1_0[1];

#line 224 "robdd.c"
static const MR_DuFunctorDesc mercury__robdd__robdd__du_functor_desc_literal_1_0;

#line 227 "robdd.c"
static const MR_PseudoTypeInfo mercury__robdd__robdd__field_types_literal_1_1[1];

#line 230 "robdd.c"
static const MR_DuFunctorDesc mercury__robdd__robdd__du_functor_desc_literal_1_1;

#line 233 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_stag_ordered_literal_1_0[1];

#line 236 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_stag_ordered_literal_1_1[1];

#line 239 "robdd.c"
static const MR_DuPtagLayout mercury__robdd__robdd__du_ptag_ordered_literal_1[2];

#line 242 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_name_ordered_literal_1[2];

#line 245 "robdd.c"
static const MR_Integer mercury__robdd__robdd__functor_number_map_literal_1[2];

#line 248 "robdd.c"
static const MR_Integer mercury__robdd__robdd__functor_number_map_robdd_1[1];

#line 251 "robdd.c"
static const MR_NotagFunctorDesc mercury__robdd__robdd__notag_functor_desc_robdd_1;

#line 254 "robdd.c"
static const MR_FA_TypeInfo_Struct1 mercury__robdd__robdd__ti_robdd_1term__type_ctor_info_generic_0;

#line 257 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__robdd__robdd__pti_robdd_1__pseudo_1;

#line 260 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct2 mercury__robdd__tree234__pti_tree234_2__pseudo_robdd__pti_robdd_1__pseudo_1__pseudo_robdd__pti_robdd_1__pseudo_1;

#line 263 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct2 mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__plain_bool__type_ctor_info_bool_0;

#line 266 "robdd.c"
static const MR_VA_PseudoTypeInfo_Struct3 mercury__robdd____vpti_pred_3__pseudo_term__pti_var_1__pseudo_1__plain_io__type_ctor_info_state_0__plain_io__type_ctor_info_state_0;

#line 269 "robdd.c"
static const MR_ConstString mercury__robdd__robdd__type_class_id_var_names_intersectable_1[1];

#line 272 "robdd.c"
static const MR_TypeClassMethod mercury__robdd__robdd__type_class_id_method_ids_intersectable_1[1];

#line 275 "robdd.c"
static const MR_TypeClassId mercury__robdd__robdd__type_class_id_intersectable_1;

#line 278 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____entailment_result_1_0_10001(
#line 281 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 283 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 285 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3);

#line 288 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____entailment_result_1_0_10001(
#line 291 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 293 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 295 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 297 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4);

#line 300 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____equiv_vars_1_0_10001(
#line 303 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 305 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 307 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3);

#line 310 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____equiv_vars_1_0_10001(
#line 313 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 315 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 317 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 319 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4);

#line 322 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____equivalent_result_1_0_10001(
#line 325 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 327 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 329 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3);

#line 332 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____equivalent_result_1_0_10001(
#line 335 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 337 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 339 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 341 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4);

#line 344 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____imp_map_1_0_10001(
#line 347 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 349 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 351 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3);

#line 354 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____imp_map_1_0_10001(
#line 357 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 359 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 361 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 363 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4);

#line 366 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____imp_res_1_0_10001(
#line 369 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 371 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 373 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3);

#line 376 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____imp_res_1_0_10001(
#line 379 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 381 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 383 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 385 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4);

#line 388 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____imp_res_2_1_0_10001(
#line 391 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 393 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 395 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3);

#line 398 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____imp_res_2_1_0_10001(
#line 401 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 403 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 405 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 407 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4);

#line 410 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____imp_vars_1_0_10001(
#line 413 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 415 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 417 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3);

#line 420 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____imp_vars_1_0_10001(
#line 423 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 425 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 427 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 429 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4);

#line 432 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____implication_result_1_0_10001(
#line 435 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 437 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 439 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3);

#line 442 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____implication_result_1_0_10001(
#line 445 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 447 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 449 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 451 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4);

#line 454 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____leader_map_1_0_10001(
#line 457 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 459 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 461 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3);

#line 464 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____leader_map_1_0_10001(
#line 467 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 469 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 471 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 473 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4);

#line 476 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____leader_to_eqvclass_1_0_10001(
#line 479 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 481 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 483 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3);

#line 486 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____leader_to_eqvclass_1_0_10001(
#line 489 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 491 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 493 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 495 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4);

#line 498 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____literal_1_0_10001(
#line 501 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 503 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 505 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3);

#line 508 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____literal_1_0_10001(
#line 511 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 513 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 515 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 517 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4);

#line 520 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____robdd_1_0_10001(
#line 523 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 525 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 527 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3);

#line 530 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____robdd_1_0_10001(
#line 533 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 535 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 537 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 539 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4);

#line 542 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____robdd_0_0_10001(
#line 545 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 547 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2);

#line 550 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____robdd_0_0_10001(
#line 553 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_1,
#line 555 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 557 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3);

#line 560 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____robdd_cache_1_0_10001(
#line 563 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 565 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 567 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3);

#line 570 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____robdd_cache_1_0_10001(
#line 573 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 575 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 577 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 579 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4);

#line 582 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____var_cache_1_0_10001(
#line 585 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 587 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 589 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3);

#line 592 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____var_cache_1_0_10001(
#line 595 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 597 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 599 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 601 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4);

#line 604 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____vars_1_0_10001(
#line 607 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 609 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 611 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3);

#line 614 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____vars_1_0_10001(
#line 617 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 619 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 621 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 623 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4);

#line 626 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____vars_entailed_result_1_0_10001(
#line 629 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 631 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 633 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3);

#line 636 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____vars_entailed_result_1_0_10001(
#line 639 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 641 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 643 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 645 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4);

#line 648 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____write_var_1_0_10001(
#line 651 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 653 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 655 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3);

#line 658 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____write_var_1_0_10001(
#line 661 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 663 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 665 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 667 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4);

#line 670 "robdd.c"
static MR_Box MR_CALL 
mercury__robdd__ClassMethod_for_robdd__intersectable____robdd__imp_res_2__arity1______robdd__intersection_2_2_f_0_10001(
#line 673 "robdd.c"
  MR_Box mercury__robdd__closure_arg,
#line 675 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 677 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2);

#line 680 "robdd.c"
static MR_Box MR_CALL 
mercury__robdd__ClassMethod_for_robdd__intersectable____robdd__leader_to_eqvclass__arity1______robdd__intersection_2_2_f_0_10001(
#line 683 "robdd.c"
  MR_Box mercury__robdd__closure_arg,
#line 685 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 687 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2);

#line 690 "robdd.c"
static MR_Box MR_CALL 
mercury__robdd__ClassMethod_for_robdd__intersectable____robdd__entailment_result__arity1______robdd__intersection_2_2_f_0_10001(
#line 693 "robdd.c"
  MR_Box mercury__robdd__closure_arg,
#line 695 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 697 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2);

#line 700 "robdd.c"
static MR_Box MR_CALL 
mercury__robdd__ClassMethod_for_robdd__intersectable____sparse_bitset__sparse_bitset__arity1______robdd__intersection_2_2_f_0_10001(
#line 703 "robdd.c"
  MR_Box mercury__robdd__closure_arg,
#line 705 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 707 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2);

#line 1355 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_53_95_95_49_95_95_104_111_49_57_57_95_95_91_52_44_32_53_93_95_48_6_f_0(
#line 1355 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_16,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_21,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__HeadVar__6_22);

#line 1355 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_53_95_95_49_95_95_104_111_49_57_56_95_95_91_52_44_32_53_93_95_48_6_f_0(
#line 1355 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_16,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_21,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__HeadVar__6_22);

#line 1355 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_53_95_95_49_95_95_104_111_49_57_55_95_95_91_52_44_32_53_93_95_48_6_f_0(
#line 1355 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_16,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_21,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__HeadVar__6_22);

#line 248 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_52_56_95_95_49_95_95_104_111_49_54_54_95_95_104_111_49_57_52_95_95_91_49_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_57_44_32_50_48_44_32_50_50_44_32_50_51_44_32_50_52_93_95_48_6_p_0(
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_40_40,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_27_27,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_33_33,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_36_36,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__4_18,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__5_19,
#line 248 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__6_20);

#line 248 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_52_56_95_95_49_95_95_104_111_49_54_54_95_95_104_111_49_57_50_95_95_91_49_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_57_44_32_50_48_44_32_50_50_44_32_50_51_44_32_50_52_93_95_48_6_p_0(
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_40_40,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_27_27,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_33_33,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_36_36,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__4_18,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__5_19,
#line 248 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__6_20);

#line 248 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_52_56_95_95_49_95_95_104_111_49_54_54_95_95_104_111_49_57_48_95_95_91_49_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_57_44_32_50_48_44_32_50_50_44_32_50_51_44_32_50_52_93_95_48_6_p_0(
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_40_40,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_27_27,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_33_33,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_36_36,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__4_18,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__5_19,
#line 248 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__6_20);

#line 248 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_52_56_95_95_49_95_95_104_111_49_54_54_95_95_104_111_49_56_56_95_95_91_49_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_57_44_32_50_48_44_32_50_50_44_32_50_51_44_32_50_52_93_95_48_6_p_0(
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_40_40,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_27_27,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_33_33,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_36_36,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__4_18,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__5_19,
#line 248 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__6_20);

#line 52 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_69_69,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_70_70,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_42_42,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_48_48,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_51_51,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_29,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__Dir_8_8,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Offset_10_10,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Bits_11_11,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Size_12_12,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19_13,
#line 52 "sparse_bitset.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Acc_20_14);

#line 52 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_69_69,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_70_70,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_42_42,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_48_48,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_51_51,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_29,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__Dir_8_8,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Offset_10_10,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Bits_11_11,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Size_12_12,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19_13,
#line 52 "sparse_bitset.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Acc_20_14);

#line 52 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_53_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_69_69,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_70_70,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_42_42,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_48_48,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_51_51,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_29,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__Dir_8_8,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Offset_10_10,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Bits_11_11,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Size_12_12,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19_13,
#line 52 "sparse_bitset.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Acc_20_14);

#line 52 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_52_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_69_69,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_70_70,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_42_42,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_48_48,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_51_51,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_29,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__Dir_8_8,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Offset_10_10,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Bits_11_11,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Size_12_12,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19_13,
#line 52 "sparse_bitset.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Acc_20_14);

#line 13 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_54_95_95_104_111_49_56_51_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_52_57_93_95_48_4_p_in__sparse_bitset_0(
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_60_60,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_61_61,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_33_33,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_42_42,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_20,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 13 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__4_4);

#line 13 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_54_95_95_104_111_49_56_50_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_52_57_93_95_48_4_p_in__sparse_bitset_0(
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_60_60,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_61_61,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_33_33,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_42_42,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_20,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 13 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__4_4);

#line 13 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_54_95_95_104_111_49_56_49_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_52_57_93_95_48_4_p_in__sparse_bitset_0(
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_60_60,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_61_61,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_33_33,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_42_42,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_20,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 13 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__4_4);

#line 13 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_54_95_95_104_111_49_56_48_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_52_57_93_95_48_4_p_in__sparse_bitset_0(
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_60_60,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_61_61,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_33_33,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_42_42,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_20,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 13 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__4_4);

#line 1354 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_52_95_95_49_95_95_104_111_49_55_53_95_95_91_52_44_32_53_93_95_48_6_f_0(
#line 1354 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_16,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_17,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__6_18);

#line 1354 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_52_95_95_49_95_95_104_111_49_55_52_95_95_91_52_44_32_53_93_95_48_6_f_0(
#line 1354 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_16,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_17,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__6_18);

#line 1354 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_52_95_95_49_95_95_104_111_49_55_51_95_95_91_52_44_32_53_93_95_48_6_f_0(
#line 1354 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_16,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_17,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__6_18);

#line 1354 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_52_95_95_49_95_95_104_111_49_55_50_95_95_91_52_44_32_53_93_95_48_6_f_0(
#line 1354 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_16,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_17,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__6_18);

#line 210 "map.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_55_49_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(
#line 210 "map.opt"
  MR_Word mercury__robdd__V_33_33,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_40_40,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_43_43,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_44_44,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__5_21,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__6_22,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__7_23,
#line 210 "map.opt"
  MR_Word * mercury__robdd__HeadVar__8_24);

#line 210 "map.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_55_48_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(
#line 210 "map.opt"
  MR_Word mercury__robdd__V_33_33,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_40_40,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_43_43,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_44_44,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__5_21,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__6_22,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__7_23,
#line 210 "map.opt"
  MR_Word * mercury__robdd__HeadVar__8_24);

#line 210 "map.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_57_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(
#line 210 "map.opt"
  MR_Word mercury__robdd__V_33_33,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_40_40,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_43_43,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_44_44,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__5_21,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__6_22,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__7_23,
#line 210 "map.opt"
  MR_Word * mercury__robdd__HeadVar__8_24);

#line 210 "map.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_56_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(
#line 210 "map.opt"
  MR_Word mercury__robdd__V_33_33,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_40_40,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_43_43,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_44_44,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__5_21,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__6_22,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__7_23,
#line 210 "map.opt"
  MR_Word * mercury__robdd__HeadVar__8_24);

#line 210 "map.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_52_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_8_p_0(
#line 210 "map.opt"
  MR_Word mercury__robdd__V_33_33,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_47_47,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_48_48,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__5_21,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__6_22,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__7_23,
#line 210 "map.opt"
  MR_Word * mercury__robdd__HeadVar__8_24);

#line 210 "map.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_48_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_8_p_0(
#line 210 "map.opt"
  MR_Word mercury__robdd__V_33_33,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_49_49,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__5_21,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__6_22,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__7_23,
#line 210 "map.opt"
  MR_Word * mercury__robdd__HeadVar__8_24);

#line 41 "tree234.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_56_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_58_58,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_65_65,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_68_68,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_69_69,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 41 "tree234.int"
  MR_Word * mercury__robdd__HeadVar__4_4);

#line 41 "tree234.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_55_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_58_58,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_65_65,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_68_68,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_69_69,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 41 "tree234.int"
  MR_Word * mercury__robdd__HeadVar__4_4);

#line 41 "tree234.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_54_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_58_58,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_65_65,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_68_68,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_69_69,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 41 "tree234.int"
  MR_Word * mercury__robdd__HeadVar__4_4);

#line 41 "tree234.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_53_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_58_58,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_65_65,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_68_68,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_69_69,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 41 "tree234.int"
  MR_Word * mercury__robdd__HeadVar__4_4);

#line 52 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_52_53_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_54_93_95_48_7_p_in__sparse_bitset_0(
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_48_48,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_29,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__Dir_8_8,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Offset_10_10,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Bits_11_11,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Size_12_12,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19_13,
#line 52 "sparse_bitset.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Acc_20_14);

#line 52 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_52_52_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_54_93_95_48_7_p_in__sparse_bitset_0(
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_48_48,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_29,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__Dir_8_8,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Offset_10_10,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Bits_11_11,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Size_12_12,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19_13,
#line 52 "sparse_bitset.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Acc_20_14);

#line 52 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_52_51_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_54_93_95_48_7_p_in__sparse_bitset_0(
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_48_48,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_29,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__Dir_8_8,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Offset_10_10,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Bits_11_11,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Size_12_12,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19_13,
#line 52 "sparse_bitset.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Acc_20_14);

#line 41 "tree234.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_57_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_93_95_48_4_p_in__tree234_0(
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_75_75,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_91_91,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 41 "tree234.int"
  MR_Word * mercury__robdd__HeadVar__4_4);

#line 52 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_50_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_49_48_93_95_48_7_p_in__sparse_bitset_0(
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_29,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__Dir_8_8,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Offset_10_10,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Bits_11_11,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Size_12_12,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19_13,
#line 52 "sparse_bitset.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Acc_20_14);

#line 14 "map.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_105_110_116_101_114_115_101_99_116_95_50_95_95_104_111_49_50_51_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_53_93_95_48_5_p_in__map_0(
#line 14 "map.opt"
  MR_Word mercury__robdd__V_33_33,
#line 14 "map.opt"
  MR_Word mercury__robdd__V_48_48,
#line 14 "map.opt"
  MR_Word mercury__robdd__TypeInfo_for_K_1_28,
#line 14 "map.opt"
  MR_Word mercury__robdd__TypeInfo_for_V_2_29,
#line 14 "map.opt"
  MR_Word mercury__robdd__AssocList1_6_6,
#line 14 "map.opt"
  MR_Word mercury__robdd__AssocList2_7_7,
#line 14 "map.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Common_0_22_9,
#line 14 "map.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Common_23_10);

#line 41 "tree234.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_50_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_93_95_48_4_p_in__tree234_0(
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_73_73,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_87_87,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_88_88,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 41 "tree234.int"
  MR_Word * mercury__robdd__HeadVar__4_4);

#line 52 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_50_49_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_49_48_44_32_49_51_93_95_48_7_p_in__sparse_bitset_0(
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_43_43,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_44_44,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_29,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__Dir_8_8,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Offset_10_10,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Bits_11_11,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Size_12_12,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19_13,
#line 52 "sparse_bitset.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Acc_20_14);

#line 13 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_52_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_49_48_44_32_49_50_93_95_48_4_p_in__sparse_bitset_0(
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_34_34,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_35_35,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_20,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 13 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__4_4);

#line 33 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_49_48_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_57_93_95_48_4_p_in__sparse_bitset_0(
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_20,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 33 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__4_4);

#line 129 "list.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_57_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_50_51_44_32_50_52_44_32_50_53_93_95_48_4_p_in__list_0(
#line 129 "list.int"
  MR_Word mercury__robdd__V_45_45,
#line 129 "list.int"
  MR_Word mercury__robdd__V_46_46,
#line 129 "list.int"
  MR_Word mercury__robdd__V_47_47,
#line 129 "list.int"
  MR_Word mercury__robdd__V_48_48,
#line 129 "list.int"
  MR_Word mercury__robdd__V_49_49,
#line 129 "list.int"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 129 "list.int"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 129 "list.int"
  MR_Word * mercury__robdd__HeadVar__4_4);

#line 51 "tree234.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_50_95_95_104_111_57_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_93_95_48_6_p_in__tree234_0(
#line 51 "tree234.int"
  MR_Word mercury__robdd__V_93_93,
#line 51 "tree234.int"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 51 "tree234.int"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 51 "tree234.int"
  MR_Word * mercury__robdd__HeadVar__4_4,
#line 51 "tree234.int"
  MR_Word mercury__robdd__HeadVar__5_5,
#line 51 "tree234.int"
  MR_Word * mercury__robdd__HeadVar__6_6);

#line 43 "tree234.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_57_51_95_95_91_49_44_32_50_44_32_51_44_32_53_44_32_54_44_32_55_93_95_48_4_p_in__tree234_0(
#line 43 "tree234.int"
  MR_Word mercury__robdd__V_59_59,
#line 43 "tree234.int"
  MR_Word mercury__robdd__HeadVar__2_2);

#line 96 "map.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_57_50_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_3_f_in__map_0(
#line 96 "map.int"
  MR_Word mercury__robdd__V_33_33,
#line 96 "map.int"
  MR_Word mercury__robdd__V_40_40,
#line 96 "map.int"
  MR_Word mercury__robdd__V_43_43,
#line 96 "map.int"
  MR_Word mercury__robdd__V_44_44,
#line 96 "map.int"
  MR_Word mercury__robdd__M_6_6,
#line 96 "map.int"
  MR_Word mercury__robdd__A_7_7);

#line 96 "map.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_57_49_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_3_f_in__map_0(
#line 96 "map.int"
  MR_Word mercury__robdd__V_33_33,
#line 96 "map.int"
  MR_Word mercury__robdd__V_40_40,
#line 96 "map.int"
  MR_Word mercury__robdd__V_43_43,
#line 96 "map.int"
  MR_Word mercury__robdd__V_44_44,
#line 96 "map.int"
  MR_Word mercury__robdd__M_6_6,
#line 96 "map.int"
  MR_Word mercury__robdd__A_7_7);

#line 96 "map.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_57_48_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_3_f_in__map_0(
#line 96 "map.int"
  MR_Word mercury__robdd__V_33_33,
#line 96 "map.int"
  MR_Word mercury__robdd__V_40_40,
#line 96 "map.int"
  MR_Word mercury__robdd__V_43_43,
#line 96 "map.int"
  MR_Word mercury__robdd__V_44_44,
#line 96 "map.int"
  MR_Word mercury__robdd__M_6_6,
#line 96 "map.int"
  MR_Word mercury__robdd__A_7_7);

#line 96 "map.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_56_57_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_3_f_in__map_0(
#line 96 "map.int"
  MR_Word mercury__robdd__V_33_33,
#line 96 "map.int"
  MR_Word mercury__robdd__V_40_40,
#line 96 "map.int"
  MR_Word mercury__robdd__V_43_43,
#line 96 "map.int"
  MR_Word mercury__robdd__V_44_44,
#line 96 "map.int"
  MR_Word mercury__robdd__M_6_6,
#line 96 "map.int"
  MR_Word mercury__robdd__A_7_7);

#line 33 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_56_50_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_53_93_95_48_4_p_in__sparse_bitset_0(
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_20,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 33 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__4_4);

#line 33 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_56_49_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_53_93_95_48_4_p_in__sparse_bitset_0(
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_20,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 33 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__4_4);

#line 33 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_56_48_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_53_93_95_48_4_p_in__sparse_bitset_0(
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_20,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 33 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__4_4);

#line 1350 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_104_111_54_55_95_95_91_52_44_32_53_93_95_48_4_f_0(
#line 1350 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__IM_8,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__R0_9);

#line 1350 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_104_111_54_54_95_95_91_52_44_32_53_93_95_48_4_f_0(
#line 1350 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__IM_8,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__R0_9);

#line 1350 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_104_111_54_53_95_95_91_52_44_32_53_93_95_48_4_f_0(
#line 1350 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__IM_8,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__R0_9);

#line 320 "list.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_109_97_112_95_95_104_111_54_52_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_55_44_32_56_44_32_57_93_95_48_2_f_in__list_0(
#line 320 "list.int"
  MR_Word mercury__robdd__V_20_20,
#line 320 "list.int"
  MR_Word mercury__robdd__V_21_21,
#line 320 "list.int"
  MR_Word mercury__robdd__HeadVar__2_2);

#line 320 "list.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_109_97_112_95_95_104_111_54_51_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_55_44_32_56_44_32_57_93_95_48_2_f_in__list_0(
#line 320 "list.int"
  MR_Word mercury__robdd__V_20_20,
#line 320 "list.int"
  MR_Word mercury__robdd__V_21_21,
#line 320 "list.int"
  MR_Word mercury__robdd__HeadVar__2_2);

#line 320 "list.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_109_97_112_95_95_104_111_54_49_95_95_91_49_44_32_50_44_32_52_44_32_53_44_32_54_93_95_48_2_f_in__list_0(
#line 320 "list.int"
  MR_Word mercury__robdd__V_16_16,
#line 320 "list.int"
  MR_Word mercury__robdd__HeadVar__2_2);

#line 140 "list.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_53_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_49_51_44_32_49_52_44_32_49_53_93_95_48_3_f_in__list_0(
#line 140 "list.int"
  MR_Word mercury__robdd__V_39_39,
#line 140 "list.int"
  MR_Word mercury__robdd__V_40_40,
#line 140 "list.int"
  MR_Word mercury__robdd__V_41_41,
#line 140 "list.int"
  MR_Word mercury__robdd__V_42_42,
#line 140 "list.int"
  MR_Word mercury__robdd__V_43_43,
#line 140 "list.int"
  MR_Word mercury__robdd__Xs_6_6,
#line 140 "list.int"
  MR_Word mercury__robdd__A_7_7);

#line 96 "map.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_53_54_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_3_f_in__map_0(
#line 96 "map.int"
  MR_Word mercury__robdd__V_33_33,
#line 96 "map.int"
  MR_Word mercury__robdd__V_49_49,
#line 96 "map.int"
  MR_Word mercury__robdd__M_6_6,
#line 96 "map.int"
  MR_Word mercury__robdd__A_7_7);

#line 131 "list.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_53_53_95_95_91_49_44_32_52_44_32_53_93_95_48_4_p_in__list_0(
#line 131 "list.int"
  MR_Word mercury__robdd__V_18_18,
#line 131 "list.int"
  MR_Word mercury__robdd__V_19_19,
#line 131 "list.int"
  MR_Word mercury__robdd__HeadVar__2_2);

#line 142 "list.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_50_95_95_104_111_53_52_95_95_91_49_44_32_50_44_32_51_44_32_53_44_32_54_44_32_55_44_32_56_93_95_48_6_p_in__list_0(
#line 142 "list.int"
  MR_Word mercury__robdd__V_30_30,
#line 142 "list.int"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 142 "list.int"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 142 "list.int"
  MR_Word * mercury__robdd__HeadVar__4_4,
#line 142 "list.int"
  MR_Word mercury__robdd__HeadVar__5_5,
#line 142 "list.int"
  MR_Word * mercury__robdd__HeadVar__6_6);

#line 96 "map.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_50_56_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_3_f_in__map_0(
#line 96 "map.int"
  MR_Word mercury__robdd__V_33_33,
#line 96 "map.int"
  MR_Word mercury__robdd__V_47_47,
#line 96 "map.int"
  MR_Word mercury__robdd__V_48_48,
#line 96 "map.int"
  MR_Word mercury__robdd__M_6_6,
#line 96 "map.int"
  MR_Word mercury__robdd__A_7_7);

#line 131 "list.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_50_55_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_in__list_0(
#line 131 "list.int"
  MR_Word mercury__robdd__V_18_18,
#line 131 "list.int"
  MR_Word mercury__robdd__HeadVar__2_2);

#line 1459 "robdd.m"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_114_111_98_100_100_95_116_111_95_100_111_116_95_95_49_52_53_57_95_95_49_95_95_91_50_93_95_48_5_p_0(
#line 1459 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_51,
#line 1459 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_26);

#line 1184 "robdd.m"
static MR_bool MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_114_101_115_116_114_105_99_116_95_102_105_108_116_101_114_95_95_49_49_56_52_95_95_49_95_95_91_49_44_32_50_93_95_48_2_p_0(void);

#line 13 "ops.opt"
static MR_Integer MR_CALL 
mercury__robdd__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_111_112_115_95_95_111_112_95_116_97_98_108_101_95_95_95_95_111_112_115_95_95_109_101_114_99_117_114_121_95_111_112_95_116_97_98_108_101_95_95_97_114_105_116_121_48_95_95_95_95_95_95_111_112_115_95_95_109_97_120_95_112_114_105_111_114_105_116_121_95_49_95_95_91_49_93_95_48_1_f_in__ops_0(void);

#line 1512 "robdd.m"
static MR_Integer MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_110_111_100_101_95_110_117_109_95_95_91_49_93_95_48_1_f_0(
#line 1512 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1);

#line 504 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_103_108_98_95_95_91_49_93_95_48_2_f_0(
#line 504 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 504 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2);

#line 847 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__IntroducedFrom__func__ClassMethod_for_robdd__intersectable____robdd__leader_to_eqvclass__arity1______robdd__intersection_2__847__1_5_f_0(
#line 847 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_22,
#line 847 "robdd.m"
  MR_Word mercury__robdd__MapB_6,
#line 847 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_13,
#line 847 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_14,
#line 847 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_15);

#line 862 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__IntroducedFrom__func__ClassMethod_for_robdd__intersectable____robdd__imp_res_2__arity1______robdd__intersection_2__862__1_3_f_0(
#line 862 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_9,
#line 862 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_16,
#line 862 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_17);

#line 973 "robdd.m"
static void MR_CALL 
mercury__robdd__IntroducedFrom__pred__print_robdd_2__973__1_5_p_0(
#line 973 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_44,
#line 973 "robdd.m"
  MR_Word mercury__robdd__Trues_7,
#line 973 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_25);

#line 780 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__IntroducedFrom__func__imp_res_to_imp_map__780__1_4_f_0(
#line 780 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_18,
#line 780 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_10,
#line 780 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_11,
#line 780 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_12);

#line 761 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__IntroducedFrom__func__merge_imp_res_2__761__1_7_f_0(
#line 761 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_28,
#line 761 "robdd.m"
  MR_Word mercury__robdd__EntailedVarsA_6,
#line 761 "robdd.m"
  MR_Word mercury__robdd__EntailedVarsB_7,
#line 761 "robdd.m"
  MR_Word mercury__robdd__ImpsA_8,
#line 761 "robdd.m"
  MR_Word mercury__robdd__ImpsB_9,
#line 761 "robdd.m"
  MR_Word mercury__robdd__HeadVar__6_21,
#line 761 "robdd.m"
  MR_Word mercury__robdd__HeadVar__7_22);

#line 680 "robdd.m"
static void MR_CALL 
mercury__robdd__IntroducedFrom__pred__rev_map__680__1_7_p_0(
#line 680 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_40,
#line 680 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_19,
#line 680 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_20,
#line 680 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_21,
#line 680 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__5_22,
#line 680 "robdd.m"
  MR_Word mercury__robdd__HeadVar__6_23,
#line 680 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__7_24);

#line 682 "robdd.m"
static void MR_CALL 
mercury__robdd__IntroducedFrom__pred__rev_map__682__1_5_p_0(
#line 682 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_40,
#line 682 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_19,
#line 682 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_28,
#line 682 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_29,
#line 682 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__5_30);

#line 1461 "robdd.m"
static void MR_CALL 
mercury__robdd__IntroducedFrom__pred__robdd_to_dot__1461__1_4_p_0(
#line 1461 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_51,
#line 1461 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_33);

#line 1242 "robdd.m"
static MR_bool MR_CALL 
mercury__robdd__IntroducedFrom__pred__squeeze_equiv__1242__1_3_p_0(
#line 1242 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_16,
#line 1242 "robdd.m"
  MR_Word mercury__robdd__Max_6,
#line 1242 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_12);

#line 1239 "robdd.m"
static MR_bool MR_CALL 
mercury__robdd__IntroducedFrom__pred__squeeze_equiv__1239__1_3_p_0(
#line 1239 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_16,
#line 1239 "robdd.m"
  MR_Word mercury__robdd__LeaderMap_4,
#line 1239 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_10);

#line 1184 "robdd.m"
static MR_bool MR_CALL 
mercury__robdd__IntroducedFrom__pred__restrict_filter__1184__1_2_p_0(
#line 1184 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_11,
#line 1184 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_8);

#line 1576 "robdd.m"
static MR_bool MR_CALL 
mercury__robdd__minimal_model_2_6_p_0(
#line 1576 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_21,
#line 1576 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 1576 "robdd.m"
  MR_Word mercury__robdd__R0_2,
#line 1576 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 1576 "robdd.m"
  MR_Word * mercury__robdd__TrueVars_4,
#line 1576 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_5,
#line 1576 "robdd.m"
  MR_Word * mercury__robdd__FalseVars_6);

#line 1512 "robdd.m"
static MR_Integer MR_CALL 
mercury__robdd__node_num_1_f_0(
#line 1512 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_3,
#line 1512 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1);

#line 1376 "robdd.m"
static void MR_CALL 
mercury__robdd__size_2_8_p_0(
#line 1376 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_33,
#line 1376 "robdd.m"
  MR_Word mercury__robdd__F_9,
#line 1376 "robdd.m"
  MR_Integer mercury__robdd__Nodes0_10,
#line 1376 "robdd.m"
  MR_Integer * mercury__robdd__Nodes_11,
#line 1376 "robdd.m"
  MR_Integer mercury__robdd__Depth0_12,
#line 1376 "robdd.m"
  MR_Integer * mercury__robdd__Depth_13,
#line 1376 "robdd.m"
  MR_Integer mercury__robdd__Val0_14,
#line 1376 "robdd.m"
  MR_Word mercury__robdd__Seen0_15,
#line 1376 "robdd.m"
  MR_Word * mercury__robdd__Seen_16);

#line 966 "robdd.m"
static void MR_CALL 
mercury__robdd__print_robdd_2_5_p_0(
#line 966 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_44,
#line 966 "robdd.m"
  MR_Word mercury__robdd__F_6,
#line 966 "robdd.m"
  MR_Word mercury__robdd__Trues_7,
#line 966 "robdd.m"
  MR_Word mercury__robdd__Falses_8);

#line 865 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_101_108_101_109_32_58_61_3_f_0(
#line 865 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_13,
#line 865 "robdd.m"
  MR_Word mercury__robdd__V_1,
#line 865 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 865 "robdd.m"
  MR_Word mercury__robdd__Vs_3);

#line 820 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__get_2_f_0(
#line 820 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_7,
#line 820 "robdd.m"
  MR_Word mercury__robdd__K_4,
#line 820 "robdd.m"
  MR_Word mercury__robdd__IM_5);

#line 744 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__merge_imp_res_4_f_0(
#line 744 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_19,
#line 744 "robdd.m"
  MR_Word mercury__robdd__TVars_1,
#line 744 "robdd.m"
  MR_Word mercury__robdd__FVars_2,
#line 744 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 744 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_4);

#line 514 "robdd.m"
static void MR_CALL 
mercury__robdd__report_zero_constraint_0_p_0(void);

#line 504 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__glb_2_f_0(
#line 504 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_4,
#line 504 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 504 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2);

#line 1237 "robdd.m"
static MR_bool MR_CALL 
mercury__robdd__squeeze_equiv_2_f_0_2(
#line 1237 "robdd.m"
  MR_Box mercury__robdd__closure_arg,
#line 1237 "robdd.m"
  MR_Box mercury__robdd__wrapper_arg_1);

#line 1237 "robdd.m"
static MR_bool MR_CALL 
mercury__robdd__squeeze_equiv_2_f_0_1(
#line 1237 "robdd.m"
  MR_Box mercury__robdd__closure_arg,
#line 1237 "robdd.m"
  MR_Box mercury__robdd__wrapper_arg_1);

#line 1184 "robdd.m"
static MR_bool MR_CALL 
mercury__robdd__restrict_filter_2_f_0_1(
#line 1184 "robdd.m"
  MR_Box mercury__robdd__closure_arg,
#line 1184 "robdd.m"
  MR_Box mercury__robdd__wrapper_arg_1);


static /* final */ const MR_Box mercury__robdd_scalar_common_1[2][2];

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

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

static /* final */ const MR_Box mercury__robdd_scalar_common_4[3][5];

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

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

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




static /* final */ const MR_Box mercury__robdd_scalar_common_1[2][2] = {
  /* row 0 */
  {
    ((MR_Box) (&mercury__robdd__robdd__type_ctor_info_robdd_1)),
    ((MR_Box) (&mercury__term__term__type_ctor_info_generic_0))
  },
  /* row 1 */
  {
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))
  },
};

static /* final */ const MR_Box mercury__robdd_scalar_common_2[1][3] = {
  /* row 0 */
  {
    ((MR_Box) (base_typeclass_info_stream__stream__arity2__io__output_stream__arity0__io__state__arity0__)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_output_stream_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0))
  },
};

static /* final */ const MR_Box mercury__robdd_scalar_common_3[1][4] = {
  /* row 0 */
  {
    ((MR_Box) (base_typeclass_info_stream__output__arity2__io__output_stream__arity0__io__state__arity0__)),
    ((MR_Box) (&mercury__robdd_scalar_common_2[0])),
    ((MR_Box) (&mercury__io__io__type_ctor_info_output_stream_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0))
  },
};

static /* final */ const MR_Box mercury__robdd_scalar_common_4[3][5] = {
  /* row 0 */
  {
    ((MR_Box) (base_typeclass_info_stream__writer__arity3__io__output_stream__arity0__string__arity0__io__state__arity0__)),
    ((MR_Box) (&mercury__robdd_scalar_common_3[0])),
    ((MR_Box) (&mercury__io__io__type_ctor_info_output_stream_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0))
  },
  /* row 1 */
  {
    ((MR_Box) (base_typeclass_info_stream__writer__arity3__io__output_stream__arity0__character__arity0__io__state__arity0__)),
    ((MR_Box) (&mercury__robdd_scalar_common_3[0])),
    ((MR_Box) (&mercury__io__io__type_ctor_info_output_stream_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_character_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0))
  },
  /* row 2 */
  {
    NULL,
    ((MR_Box) (&mercury__robdd_scalar_common_6[0])),
    ((MR_Box) (MR_Word) ((MR_Integer) 2)),
    ((MR_Box) (&mercury__private_builtin__private_builtin__type_ctor_info_type_info_0)),
    ((MR_Box) (&mercury__robdd__term__pti_var_1__pseudo_1))
  },
};

static /* final */ const MR_Box mercury__robdd_scalar_common_5[3][1] = {
  /* row 0 */
  {
    ((MR_Box) (((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))))
  },
  /* row 1 */
  {
    ((MR_Box) (((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))))
  },
  /* row 2 */
  {
    ((MR_Box) (((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))))
  },
};

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

static /* final */ const MR_Box mercury__robdd_scalar_common_7[2][6] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (&mercury__robdd_scalar_common_6[0])),
    ((MR_Box) (MR_Word) ((MR_Integer) 3)),
    ((MR_Box) (&mercury__private_builtin__private_builtin__type_ctor_info_type_info_0)),
    ((MR_Box) (&mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__pseudo_term__pti_var_1__pseudo_1)),
    ((MR_Box) (&mercury__robdd__term__pti_var_1__pseudo_1))
  },
  /* row 1 */
  {
    NULL,
    ((MR_Box) (&mercury__robdd_scalar_common_6[0])),
    ((MR_Box) (MR_Word) ((MR_Integer) 3)),
    ((MR_Box) (&mercury__private_builtin__private_builtin__type_ctor_info_type_info_0)),
    ((MR_Box) (&mercury__robdd__term__pti_var_1__pseudo_1)),
    ((MR_Box) (&mercury__robdd__term__pti_var_1__pseudo_1))
  },
};



#include "robdd.mh"
#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 "type_desc.mh"
#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 "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 "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "exception.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "stm_builtin.mh"
#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 "store.mh"
#include "store.mh"
#include "store.mh"
#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 "pretty_printer.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "array.mh"
#include "array.mh"
#include "version_array.mh"
#include "version_array.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "float.mh"
#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 "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "array.mh"
#include "array.mh"
#include "math.mh"
#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 "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "version_array.mh"
#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 "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "array.mh"
#include "array.mh"
#include "char.mh"
#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 "construct.mh"
#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 "bitmap.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "time.mh"
#include "time.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "array.mh"
#include "array.mh"
#include "rtti_implementation.mh"
#include "array.mh"
#include "array.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "time.mh"
#include "time.mh"
#include "builtin.mh"
#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 "hash_table.mh"
#include "array.mh"
#include "array.mh"
#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 "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "int.mh"
#include "array.mh"
#include "array.mh"
#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 "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.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 "dir.mh"
#include "dir.mh"
#include "table_builtin.mh"
#include "table_builtin.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "benchmarking.mh"
#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 "dir.mh"
#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 "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "array.mh"
#include "array.mh"
#include "table_builtin.mh"
#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 "time.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "array.mh"
#include "array.mh"
#include "private_builtin.mh"
#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 "array.mh"
#include "array.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "version_array.mh"
#include "version_array.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "time.mh"
#include "time.mh"
#include "array.mh"
#include "array.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "dir.mh"
#include "dir.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "table_builtin.mh"
#include "table_builtin.mh"
#include "time.mh"
#include "time.mh"
#include "version_array.mh"
#include "version_array.mh"
#line 445 "robdd.m"

#define NDEBUG
#include "bryant.c"



#line 2513 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__robdd__term__pti_var_1__pseudo_1 = {
  &mercury__term__term__type_ctor_info_var_1,
  {
    (MR_PseudoTypeInfo) (MR_Integer) 1
  }
};

#line 2521 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct2 mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__pseudo_term__pti_var_1__pseudo_1 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_PseudoTypeInfo) &mercury__robdd__term__pti_var_1__pseudo_1,
    (MR_PseudoTypeInfo) &mercury__robdd__term__pti_var_1__pseudo_1
  }
};

#line 2530 "robdd.c"
static const MR_DuFunctorDesc mercury__robdd__robdd__du_functor_desc_entailment_result_1_0 = {
  (MR_String) "all_vars",
  (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 2545 "robdd.c"
static const MR_PseudoTypeInfo mercury__robdd__robdd__field_types_entailment_result_1_1[1] = {
  (MR_PseudoTypeInfo) (MR_Integer) 1
};

#line 2550 "robdd.c"
static const MR_ConstString mercury__robdd__robdd__field_names_entailment_result_1_1[1] = {
  (MR_String) "vars"
};

#line 2555 "robdd.c"
static const MR_DuFunctorDesc mercury__robdd__robdd__du_functor_desc_entailment_result_1_1 = {
  (MR_String) "some_vars",
  (MR_Integer) 1,
  (MR_Integer) 1,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 1,
  (MR_Integer) -1,
  (MR_Integer) 1,
  mercury__robdd__robdd__field_types_entailment_result_1_1,
  mercury__robdd__robdd__field_names_entailment_result_1_1,
  NULL,
  NULL
};

#line 2570 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_stag_ordered_entailment_result_1_0[1] = {
  &mercury__robdd__robdd__du_functor_desc_entailment_result_1_0
};

#line 2575 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_stag_ordered_entailment_result_1_1[1] = {
  &mercury__robdd__robdd__du_functor_desc_entailment_result_1_1
};

#line 2580 "robdd.c"
static const MR_DuPtagLayout mercury__robdd__robdd__du_ptag_ordered_entailment_result_1[2] = {
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_LOCAL,
    mercury__robdd__robdd__du_stag_ordered_entailment_result_1_0
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__robdd__robdd__du_stag_ordered_entailment_result_1_1
  }
};

#line 2594 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_name_ordered_entailment_result_1[2] = {
  &mercury__robdd__robdd__du_functor_desc_entailment_result_1_0,
  &mercury__robdd__robdd__du_functor_desc_entailment_result_1_1
};

#line 2600 "robdd.c"
static const MR_Integer mercury__robdd__robdd__functor_number_map_entailment_result_1[2] = {
  (MR_Integer) 0,
  (MR_Integer) 1
};

#line 2606 "robdd.c"
const MR_TypeCtorInfo_Struct mercury__robdd__robdd__type_ctor_info_entailment_result_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) 2,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (mercury__robdd____Unify____entailment_result_1_0_10001)),
  ((MR_Box) (mercury__robdd____Compare____entailment_result_1_0_10001)),
  (MR_String) "robdd",
  (MR_String) "entailment_result",
  {
    mercury__robdd__robdd__du_name_ordered_entailment_result_1
  },
  {
    mercury__robdd__robdd__du_ptag_ordered_entailment_result_1
  },
  (MR_Integer) 2,
  (MR_Integer) 4,
  mercury__robdd__robdd__functor_number_map_entailment_result_1
};

#line 2627 "robdd.c"
static const MR_Integer mercury__robdd__robdd__functor_number_map_equiv_vars_1[1] = {
  (MR_Integer) 0
};

#line 2632 "robdd.c"
static const MR_NotagFunctorDesc mercury__robdd__robdd__notag_functor_desc_equiv_vars_1 = {
  (MR_String) "equiv_vars",
  (MR_PseudoTypeInfo) &mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__pseudo_term__pti_var_1__pseudo_1,
  (MR_String) "leader_map"
};

#line 2639 "robdd.c"
const MR_TypeCtorInfo_Struct mercury__robdd__robdd__type_ctor_info_equiv_vars_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_NOTAG,
  ((MR_Box) (mercury__robdd____Unify____equiv_vars_1_0_10001)),
  ((MR_Box) (mercury__robdd____Compare____equiv_vars_1_0_10001)),
  (MR_String) "robdd",
  (MR_String) "equiv_vars",
  {
    &mercury__robdd__robdd__notag_functor_desc_equiv_vars_1
  },
  {
    &mercury__robdd__robdd__notag_functor_desc_equiv_vars_1
  },
  (MR_Integer) 1,
  (MR_Integer) 4,
  mercury__robdd__robdd__functor_number_map_equiv_vars_1
};

#line 2660 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__robdd__robdd__pti_equiv_vars_1__pseudo_1 = {
  &mercury__robdd__robdd__type_ctor_info_equiv_vars_1,
  {
    (MR_PseudoTypeInfo) (MR_Integer) 1
  }
};

#line 2668 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__robdd__robdd__pti_entailment_result_1__pseudo_robdd__pti_equiv_vars_1__pseudo_1 = {
  &mercury__robdd__robdd__type_ctor_info_entailment_result_1,
  {
    (MR_PseudoTypeInfo) &mercury__robdd__robdd__pti_equiv_vars_1__pseudo_1
  }
};

#line 2676 "robdd.c"
const MR_TypeCtorInfo_Struct mercury__robdd__robdd__type_ctor_info_equivalent_result_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_EQUIV,
  ((MR_Box) (mercury__robdd____Unify____equivalent_result_1_0_10001)),
  ((MR_Box) (mercury__robdd____Compare____equivalent_result_1_0_10001)),
  (MR_String) "robdd",
  (MR_String) "equivalent_result",
  {
    NULL
  },
  {
    (MR_PseudoTypeInfo) &mercury__robdd__robdd__pti_entailment_result_1__pseudo_robdd__pti_equiv_vars_1__pseudo_1
  },
  (MR_Integer) -1,
  (MR_Integer) 0,
  NULL
};

#line 2697 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__robdd__sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1 = {
  &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1,
  {
    (MR_PseudoTypeInfo) &mercury__robdd__term__pti_var_1__pseudo_1
  }
};

#line 2705 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct2 mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__pseudo_sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_PseudoTypeInfo) &mercury__robdd__term__pti_var_1__pseudo_1,
    (MR_PseudoTypeInfo) &mercury__robdd__sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1
  }
};

#line 2714 "robdd.c"
const MR_TypeCtorInfo_Struct mercury__robdd__robdd__type_ctor_info_imp_map_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_EQUIV,
  ((MR_Box) (mercury__robdd____Unify____imp_map_1_0_10001)),
  ((MR_Box) (mercury__robdd____Compare____imp_map_1_0_10001)),
  (MR_String) "robdd",
  (MR_String) "imp_map",
  {
    NULL
  },
  {
    (MR_PseudoTypeInfo) &mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__pseudo_sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1
  },
  (MR_Integer) -1,
  (MR_Integer) 0,
  NULL
};

#line 2735 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__robdd__robdd__pti_imp_res_2_1__pseudo_1 = {
  &mercury__robdd__robdd__type_ctor_info_imp_res_2_1,
  {
    (MR_PseudoTypeInfo) (MR_Integer) 1
  }
};

#line 2743 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__robdd__robdd__pti_entailment_result_1__pseudo_robdd__pti_imp_res_2_1__pseudo_1 = {
  &mercury__robdd__robdd__type_ctor_info_entailment_result_1,
  {
    (MR_PseudoTypeInfo) &mercury__robdd__robdd__pti_imp_res_2_1__pseudo_1
  }
};

#line 2751 "robdd.c"
const MR_TypeCtorInfo_Struct mercury__robdd__robdd__type_ctor_info_imp_res_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_EQUIV,
  ((MR_Box) (mercury__robdd____Unify____imp_res_1_0_10001)),
  ((MR_Box) (mercury__robdd____Compare____imp_res_1_0_10001)),
  (MR_String) "robdd",
  (MR_String) "imp_res",
  {
    NULL
  },
  {
    (MR_PseudoTypeInfo) &mercury__robdd__robdd__pti_entailment_result_1__pseudo_robdd__pti_imp_res_2_1__pseudo_1
  },
  (MR_Integer) -1,
  (MR_Integer) 0,
  NULL
};

#line 2772 "robdd.c"
static const MR_Integer mercury__robdd__robdd__functor_number_map_imp_res_2_1[1] = {
  (MR_Integer) 0
};

#line 2777 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__robdd__robdd__pti_entailment_result_1__pseudo_sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1 = {
  &mercury__robdd__robdd__type_ctor_info_entailment_result_1,
  {
    (MR_PseudoTypeInfo) &mercury__robdd__sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1
  }
};

#line 2785 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct2 mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__pseudo_robdd__pti_entailment_result_1__pseudo_sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_PseudoTypeInfo) &mercury__robdd__term__pti_var_1__pseudo_1,
    (MR_PseudoTypeInfo) &mercury__robdd__robdd__pti_entailment_result_1__pseudo_sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1
  }
};

#line 2794 "robdd.c"
static const MR_NotagFunctorDesc mercury__robdd__robdd__notag_functor_desc_imp_res_2_1 = {
  (MR_String) "imps",
  (MR_PseudoTypeInfo) &mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__pseudo_robdd__pti_entailment_result_1__pseudo_sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1,
  NULL
};

#line 2801 "robdd.c"
const MR_TypeCtorInfo_Struct mercury__robdd__robdd__type_ctor_info_imp_res_2_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_NOTAG,
  ((MR_Box) (mercury__robdd____Unify____imp_res_2_1_0_10001)),
  ((MR_Box) (mercury__robdd____Compare____imp_res_2_1_0_10001)),
  (MR_String) "robdd",
  (MR_String) "imp_res_2",
  {
    &mercury__robdd__robdd__notag_functor_desc_imp_res_2_1
  },
  {
    &mercury__robdd__robdd__notag_functor_desc_imp_res_2_1
  },
  (MR_Integer) 1,
  (MR_Integer) 4,
  mercury__robdd__robdd__functor_number_map_imp_res_2_1
};

#line 2822 "robdd.c"
static const MR_PseudoTypeInfo mercury__robdd__robdd__field_types_imp_vars_1_0[4] = {
  (MR_PseudoTypeInfo) &mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__pseudo_sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1,
  (MR_PseudoTypeInfo) &mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__pseudo_sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1,
  (MR_PseudoTypeInfo) &mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__pseudo_sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1,
  (MR_PseudoTypeInfo) &mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__pseudo_sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1
};

#line 2830 "robdd.c"
static const MR_ConstString mercury__robdd__robdd__field_names_imp_vars_1_0[4] = {
  (MR_String) "imps",
  (MR_String) "rev_imps",
  (MR_String) "dis_imps",
  (MR_String) "rev_dis_imps"
};

#line 2838 "robdd.c"
static const MR_DuFunctorDesc mercury__robdd__robdd__du_functor_desc_imp_vars_1_0 = {
  (MR_String) "imp_vars",
  (MR_Integer) 4,
  (MR_Integer) 15,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 0,
  (MR_Integer) -1,
  (MR_Integer) 0,
  mercury__robdd__robdd__field_types_imp_vars_1_0,
  mercury__robdd__robdd__field_names_imp_vars_1_0,
  NULL,
  NULL
};

#line 2853 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_stag_ordered_imp_vars_1_0[1] = {
  &mercury__robdd__robdd__du_functor_desc_imp_vars_1_0
};

#line 2858 "robdd.c"
static const MR_DuPtagLayout mercury__robdd__robdd__du_ptag_ordered_imp_vars_1[1] = {
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__robdd__robdd__du_stag_ordered_imp_vars_1_0
  }
};

#line 2867 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_name_ordered_imp_vars_1[1] = {
  &mercury__robdd__robdd__du_functor_desc_imp_vars_1_0
};

#line 2872 "robdd.c"
static const MR_Integer mercury__robdd__robdd__functor_number_map_imp_vars_1[1] = {
  (MR_Integer) 0
};

#line 2877 "robdd.c"
const MR_TypeCtorInfo_Struct mercury__robdd__robdd__type_ctor_info_imp_vars_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) 1,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (mercury__robdd____Unify____imp_vars_1_0_10001)),
  ((MR_Box) (mercury__robdd____Compare____imp_vars_1_0_10001)),
  (MR_String) "robdd",
  (MR_String) "imp_vars",
  {
    mercury__robdd__robdd__du_name_ordered_imp_vars_1
  },
  {
    mercury__robdd__robdd__du_ptag_ordered_imp_vars_1
  },
  (MR_Integer) 1,
  (MR_Integer) 4,
  mercury__robdd__robdd__functor_number_map_imp_vars_1
};

#line 2898 "robdd.c"
static const MR_PseudoTypeInfo mercury__robdd__robdd__field_types_implication_result_1_0[4] = {
  (MR_PseudoTypeInfo) &mercury__robdd__robdd__pti_entailment_result_1__pseudo_robdd__pti_imp_res_2_1__pseudo_1,
  (MR_PseudoTypeInfo) &mercury__robdd__robdd__pti_entailment_result_1__pseudo_robdd__pti_imp_res_2_1__pseudo_1,
  (MR_PseudoTypeInfo) &mercury__robdd__robdd__pti_entailment_result_1__pseudo_robdd__pti_imp_res_2_1__pseudo_1,
  (MR_PseudoTypeInfo) &mercury__robdd__robdd__pti_entailment_result_1__pseudo_robdd__pti_imp_res_2_1__pseudo_1
};

#line 2906 "robdd.c"
static const MR_DuFunctorDesc mercury__robdd__robdd__du_functor_desc_implication_result_1_0 = {
  (MR_String) "implication_result",
  (MR_Integer) 4,
  (MR_Integer) 15,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 0,
  (MR_Integer) -1,
  (MR_Integer) 0,
  mercury__robdd__robdd__field_types_implication_result_1_0,
  NULL,
  NULL,
  NULL
};

#line 2921 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_stag_ordered_implication_result_1_0[1] = {
  &mercury__robdd__robdd__du_functor_desc_implication_result_1_0
};

#line 2926 "robdd.c"
static const MR_DuPtagLayout mercury__robdd__robdd__du_ptag_ordered_implication_result_1[1] = {
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__robdd__robdd__du_stag_ordered_implication_result_1_0
  }
};

#line 2935 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_name_ordered_implication_result_1[1] = {
  &mercury__robdd__robdd__du_functor_desc_implication_result_1_0
};

#line 2940 "robdd.c"
static const MR_Integer mercury__robdd__robdd__functor_number_map_implication_result_1[1] = {
  (MR_Integer) 0
};

#line 2945 "robdd.c"
const MR_TypeCtorInfo_Struct mercury__robdd__robdd__type_ctor_info_implication_result_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) 1,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (mercury__robdd____Unify____implication_result_1_0_10001)),
  ((MR_Box) (mercury__robdd____Compare____implication_result_1_0_10001)),
  (MR_String) "robdd",
  (MR_String) "implication_result",
  {
    mercury__robdd__robdd__du_name_ordered_implication_result_1
  },
  {
    mercury__robdd__robdd__du_ptag_ordered_implication_result_1
  },
  (MR_Integer) 1,
  (MR_Integer) 4,
  mercury__robdd__robdd__functor_number_map_implication_result_1
};

#line 2966 "robdd.c"
const MR_TypeCtorInfo_Struct mercury__robdd__robdd__type_ctor_info_leader_map_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_EQUIV,
  ((MR_Box) (mercury__robdd____Unify____leader_map_1_0_10001)),
  ((MR_Box) (mercury__robdd____Compare____leader_map_1_0_10001)),
  (MR_String) "robdd",
  (MR_String) "leader_map",
  {
    NULL
  },
  {
    (MR_PseudoTypeInfo) &mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__pseudo_term__pti_var_1__pseudo_1
  },
  (MR_Integer) -1,
  (MR_Integer) 0,
  NULL
};

#line 2987 "robdd.c"
static const MR_Integer mercury__robdd__robdd__functor_number_map_leader_to_eqvclass_1[1] = {
  (MR_Integer) 0
};

#line 2992 "robdd.c"
static const MR_NotagFunctorDesc mercury__robdd__robdd__notag_functor_desc_leader_to_eqvclass_1 = {
  (MR_String) "leader_to_eqvclass",
  (MR_PseudoTypeInfo) &mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__pseudo_sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1,
  NULL
};

#line 2999 "robdd.c"
const MR_TypeCtorInfo_Struct mercury__robdd__robdd__type_ctor_info_leader_to_eqvclass_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_NOTAG,
  ((MR_Box) (mercury__robdd____Unify____leader_to_eqvclass_1_0_10001)),
  ((MR_Box) (mercury__robdd____Compare____leader_to_eqvclass_1_0_10001)),
  (MR_String) "robdd",
  (MR_String) "leader_to_eqvclass",
  {
    &mercury__robdd__robdd__notag_functor_desc_leader_to_eqvclass_1
  },
  {
    &mercury__robdd__robdd__notag_functor_desc_leader_to_eqvclass_1
  },
  (MR_Integer) 1,
  (MR_Integer) 4,
  mercury__robdd__robdd__functor_number_map_leader_to_eqvclass_1
};

#line 3020 "robdd.c"
static const MR_PseudoTypeInfo mercury__robdd__robdd__field_types_literal_1_0[1] = {
  (MR_PseudoTypeInfo) &mercury__robdd__term__pti_var_1__pseudo_1
};

#line 3025 "robdd.c"
static const MR_DuFunctorDesc mercury__robdd__robdd__du_functor_desc_literal_1_0 = {
  (MR_String) "pos",
  (MR_Integer) 1,
  (MR_Integer) 1,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 0,
  (MR_Integer) -1,
  (MR_Integer) 0,
  mercury__robdd__robdd__field_types_literal_1_0,
  NULL,
  NULL,
  NULL
};

#line 3040 "robdd.c"
static const MR_PseudoTypeInfo mercury__robdd__robdd__field_types_literal_1_1[1] = {
  (MR_PseudoTypeInfo) &mercury__robdd__term__pti_var_1__pseudo_1
};

#line 3045 "robdd.c"
static const MR_DuFunctorDesc mercury__robdd__robdd__du_functor_desc_literal_1_1 = {
  (MR_String) "neg",
  (MR_Integer) 1,
  (MR_Integer) 1,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 1,
  (MR_Integer) -1,
  (MR_Integer) 1,
  mercury__robdd__robdd__field_types_literal_1_1,
  NULL,
  NULL,
  NULL
};

#line 3060 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_stag_ordered_literal_1_0[1] = {
  &mercury__robdd__robdd__du_functor_desc_literal_1_0
};

#line 3065 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_stag_ordered_literal_1_1[1] = {
  &mercury__robdd__robdd__du_functor_desc_literal_1_1
};

#line 3070 "robdd.c"
static const MR_DuPtagLayout mercury__robdd__robdd__du_ptag_ordered_literal_1[2] = {
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__robdd__robdd__du_stag_ordered_literal_1_0
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__robdd__robdd__du_stag_ordered_literal_1_1
  }
};

#line 3084 "robdd.c"
static const MR_DuFunctorDescPtr mercury__robdd__robdd__du_name_ordered_literal_1[2] = {
  &mercury__robdd__robdd__du_functor_desc_literal_1_1,
  &mercury__robdd__robdd__du_functor_desc_literal_1_0
};

#line 3090 "robdd.c"
static const MR_Integer mercury__robdd__robdd__functor_number_map_literal_1[2] = {
  (MR_Integer) 1,
  (MR_Integer) 0
};

#line 3096 "robdd.c"
const MR_TypeCtorInfo_Struct mercury__robdd__robdd__type_ctor_info_literal_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) 2,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (mercury__robdd____Unify____literal_1_0_10001)),
  ((MR_Box) (mercury__robdd____Compare____literal_1_0_10001)),
  (MR_String) "robdd",
  (MR_String) "literal",
  {
    mercury__robdd__robdd__du_name_ordered_literal_1
  },
  {
    mercury__robdd__robdd__du_ptag_ordered_literal_1
  },
  (MR_Integer) 2,
  (MR_Integer) 4,
  mercury__robdd__robdd__functor_number_map_literal_1
};

#line 3117 "robdd.c"
static const MR_Integer mercury__robdd__robdd__functor_number_map_robdd_1[1] = {
  (MR_Integer) 0
};

#line 3122 "robdd.c"
static const MR_NotagFunctorDesc mercury__robdd__robdd__notag_functor_desc_robdd_1 = {
  (MR_String) "robdd",
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0,
  NULL
};

#line 3129 "robdd.c"
const MR_TypeCtorInfo_Struct mercury__robdd__robdd__type_ctor_info_robdd_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_NOTAG_GROUND,
  ((MR_Box) (mercury__robdd____Unify____robdd_1_0_10001)),
  ((MR_Box) (mercury__robdd____Compare____robdd_1_0_10001)),
  (MR_String) "robdd",
  (MR_String) "robdd",
  {
    &mercury__robdd__robdd__notag_functor_desc_robdd_1
  },
  {
    &mercury__robdd__robdd__notag_functor_desc_robdd_1
  },
  (MR_Integer) 1,
  (MR_Integer) 4,
  mercury__robdd__robdd__functor_number_map_robdd_1
};

#line 3150 "robdd.c"
static const MR_FA_TypeInfo_Struct1 mercury__robdd__robdd__ti_robdd_1term__type_ctor_info_generic_0 = {
  &mercury__robdd__robdd__type_ctor_info_robdd_1,
  {
    (MR_TypeInfo) &mercury__term__term__type_ctor_info_generic_0
  }
};

#line 3158 "robdd.c"
const MR_TypeCtorInfo_Struct mercury__robdd__robdd__type_ctor_info_robdd_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_EQUIV_GROUND,
  ((MR_Box) (mercury__robdd____Unify____robdd_0_0_10001)),
  ((MR_Box) (mercury__robdd____Compare____robdd_0_0_10001)),
  (MR_String) "robdd",
  (MR_String) "robdd",
  {
    NULL
  },
  {
    (MR_PseudoTypeInfo) &mercury__robdd__robdd__ti_robdd_1term__type_ctor_info_generic_0
  },
  (MR_Integer) -1,
  (MR_Integer) 0,
  NULL
};

#line 3179 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__robdd__robdd__pti_robdd_1__pseudo_1 = {
  &mercury__robdd__robdd__type_ctor_info_robdd_1,
  {
    (MR_PseudoTypeInfo) (MR_Integer) 1
  }
};

#line 3187 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct2 mercury__robdd__tree234__pti_tree234_2__pseudo_robdd__pti_robdd_1__pseudo_1__pseudo_robdd__pti_robdd_1__pseudo_1 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_PseudoTypeInfo) &mercury__robdd__robdd__pti_robdd_1__pseudo_1,
    (MR_PseudoTypeInfo) &mercury__robdd__robdd__pti_robdd_1__pseudo_1
  }
};

#line 3196 "robdd.c"
const MR_TypeCtorInfo_Struct mercury__robdd__robdd__type_ctor_info_robdd_cache_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_EQUIV,
  ((MR_Box) (mercury__robdd____Unify____robdd_cache_1_0_10001)),
  ((MR_Box) (mercury__robdd____Compare____robdd_cache_1_0_10001)),
  (MR_String) "robdd",
  (MR_String) "robdd_cache",
  {
    NULL
  },
  {
    (MR_PseudoTypeInfo) &mercury__robdd__tree234__pti_tree234_2__pseudo_robdd__pti_robdd_1__pseudo_1__pseudo_robdd__pti_robdd_1__pseudo_1
  },
  (MR_Integer) -1,
  (MR_Integer) 0,
  NULL
};

#line 3217 "robdd.c"
static const MR_FA_PseudoTypeInfo_Struct2 mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__plain_bool__type_ctor_info_bool_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_PseudoTypeInfo) &mercury__robdd__term__pti_var_1__pseudo_1,
    (MR_PseudoTypeInfo) &mercury__bool__bool__type_ctor_info_bool_0
  }
};

#line 3226 "robdd.c"
const MR_TypeCtorInfo_Struct mercury__robdd__robdd__type_ctor_info_var_cache_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_EQUIV,
  ((MR_Box) (mercury__robdd____Unify____var_cache_1_0_10001)),
  ((MR_Box) (mercury__robdd____Compare____var_cache_1_0_10001)),
  (MR_String) "robdd",
  (MR_String) "var_cache",
  {
    NULL
  },
  {
    (MR_PseudoTypeInfo) &mercury__robdd__tree234__pti_tree234_2__pseudo_term__pti_var_1__pseudo_1__plain_bool__type_ctor_info_bool_0
  },
  (MR_Integer) -1,
  (MR_Integer) 0,
  NULL
};

#line 3247 "robdd.c"
const MR_TypeCtorInfo_Struct mercury__robdd__robdd__type_ctor_info_vars_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_EQUIV,
  ((MR_Box) (mercury__robdd____Unify____vars_1_0_10001)),
  ((MR_Box) (mercury__robdd____Compare____vars_1_0_10001)),
  (MR_String) "robdd",
  (MR_String) "vars",
  {
    NULL
  },
  {
    (MR_PseudoTypeInfo) &mercury__robdd__sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1
  },
  (MR_Integer) -1,
  (MR_Integer) 0,
  NULL
};

#line 3268 "robdd.c"
const MR_TypeCtorInfo_Struct mercury__robdd__robdd__type_ctor_info_vars_entailed_result_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_EQUIV,
  ((MR_Box) (mercury__robdd____Unify____vars_entailed_result_1_0_10001)),
  ((MR_Box) (mercury__robdd____Compare____vars_entailed_result_1_0_10001)),
  (MR_String) "robdd",
  (MR_String) "vars_entailed_result",
  {
    NULL
  },
  {
    (MR_PseudoTypeInfo) &mercury__robdd__robdd__pti_entailment_result_1__pseudo_sparse_bitset__pti_sparse_bitset_1__pseudo_term__pti_var_1__pseudo_1
  },
  (MR_Integer) -1,
  (MR_Integer) 0,
  NULL
};

#line 3289 "robdd.c"
static const MR_VA_PseudoTypeInfo_Struct3 mercury__robdd____vpti_pred_3__pseudo_term__pti_var_1__pseudo_1__plain_io__type_ctor_info_state_0__plain_io__type_ctor_info_state_0 = {
  &mercury__builtin__builtin__type_ctor_info_pred_0,
  (MR_Integer) 3,
  {
    (MR_PseudoTypeInfo) &mercury__robdd__term__pti_var_1__pseudo_1,
    (MR_PseudoTypeInfo) &mercury__io__io__type_ctor_info_state_0,
    (MR_PseudoTypeInfo) &mercury__io__io__type_ctor_info_state_0
  }
};

#line 3300 "robdd.c"
const MR_TypeCtorInfo_Struct mercury__robdd__robdd__type_ctor_info_write_var_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_EQUIV,
  ((MR_Box) (mercury__robdd____Unify____write_var_1_0_10001)),
  ((MR_Box) (mercury__robdd____Compare____write_var_1_0_10001)),
  (MR_String) "robdd",
  (MR_String) "write_var",
  {
    NULL
  },
  {
    (MR_PseudoTypeInfo) &mercury__robdd____vpti_pred_3__pseudo_term__pti_var_1__pseudo_1__plain_io__type_ctor_info_state_0__plain_io__type_ctor_info_state_0
  },
  (MR_Integer) -1,
  (MR_Integer) 0,
  NULL
};

#line 3321 "robdd.c"
const MR_BaseTypeclassInfo base_typeclass_info_robdd__intersectable__arity1__robdd__imp_res_2__arity1__[6] = {
  ((MR_Box) (MR_Word) ((MR_Integer) 1)),
  ((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) 1)),
  ((MR_Box) (mercury__robdd__ClassMethod_for_robdd__intersectable____robdd__imp_res_2__arity1______robdd__intersection_2_2_f_0_10001))
};

#line 3331 "robdd.c"
const MR_BaseTypeclassInfo base_typeclass_info_robdd__intersectable__arity1__robdd__leader_to_eqvclass__arity1__[6] = {
  ((MR_Box) (MR_Word) ((MR_Integer) 1)),
  ((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) 1)),
  ((MR_Box) (mercury__robdd__ClassMethod_for_robdd__intersectable____robdd__leader_to_eqvclass__arity1______robdd__intersection_2_2_f_0_10001))
};

#line 3341 "robdd.c"
const MR_BaseTypeclassInfo base_typeclass_info_robdd__intersectable__arity1__robdd__entailment_result__arity1__[6] = {
  ((MR_Box) (MR_Word) ((MR_Integer) 1)),
  ((MR_Box) (MR_Word) ((MR_Integer) 1)),
  ((MR_Box) (MR_Word) ((MR_Integer) 0)),
  ((MR_Box) (MR_Word) ((MR_Integer) 1)),
  ((MR_Box) (MR_Word) ((MR_Integer) 1)),
  ((MR_Box) (mercury__robdd__ClassMethod_for_robdd__intersectable____robdd__entailment_result__arity1______robdd__intersection_2_2_f_0_10001))
};

#line 3351 "robdd.c"
const MR_BaseTypeclassInfo base_typeclass_info_robdd__intersectable__arity1__sparse_bitset__sparse_bitset__arity1__[6] = {
  ((MR_Box) (MR_Word) ((MR_Integer) 1)),
  ((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) 1)),
  ((MR_Box) (mercury__robdd__ClassMethod_for_robdd__intersectable____sparse_bitset__sparse_bitset__arity1______robdd__intersection_2_2_f_0_10001))
};

#line 3361 "robdd.c"
static const MR_ConstString mercury__robdd__robdd__type_class_id_var_names_intersectable_1[1] = {
  (MR_String) "T"
};

#line 3366 "robdd.c"
static const MR_TypeClassMethod mercury__robdd__robdd__type_class_id_method_ids_intersectable_1[1] = {
  {
    (MR_String) "intersection",
    (MR_Integer) 3,
    mercury__private_builtin__MR_FUNCTION
  }
};

#line 3375 "robdd.c"
static const MR_TypeClassId mercury__robdd__robdd__type_class_id_intersectable_1 = {
  (MR_String) "robdd",
  (MR_String) "intersectable",
  (MR_Integer) 1,
  (MR_Integer) 1,
  (MR_Integer) 1,
  mercury__robdd__robdd__type_class_id_var_names_intersectable_1,
  mercury__robdd__robdd__type_class_id_method_ids_intersectable_1
};

#line 3386 "robdd.c"
const MR_TypeClassDeclStruct mercury__robdd__robdd__type_class_decl_intersectable_1 = {
  &mercury__robdd__robdd__type_class_id_intersectable_1,
  (MR_Integer) 0,
  (MR_Integer) 0,
  NULL
};

#line 3394 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____entailment_result_1_0_10001(
#line 3397 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3399 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 3401 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3)
#line 3403 "robdd.c"
{
#line 3405 "robdd.c"
  {
#line 3407 "robdd.c"
    MR_bool mercury__robdd__succeeded;

#line 3410 "robdd.c"
    {
#line 3412 "robdd.c"
      mercury__robdd__succeeded = mercury__robdd____Unify____entailment_result_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2), ((MR_Word) mercury__robdd__wrapper_arg_3));
    }
#line 3415 "robdd.c"
    return mercury__robdd__succeeded;
#line 3417 "robdd.c"
  }
#line 3419 "robdd.c"
}

#line 3422 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____entailment_result_1_0_10001(
#line 3425 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3427 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 3429 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 3431 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4)
#line 3433 "robdd.c"
{
#line 3435 "robdd.c"
  {
#line 3437 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__1_1;

#line 3440 "robdd.c"
    {
#line 3442 "robdd.c"
      mercury__robdd____Compare____entailment_result_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), &mercury__robdd__conv0_HeadVar__1_1, ((MR_Word) mercury__robdd__wrapper_arg_3), ((MR_Word) mercury__robdd__wrapper_arg_4));
    }
#line 3445 "robdd.c"
    *mercury__robdd__wrapper_arg_2 = ((MR_Box) (mercury__robdd__conv0_HeadVar__1_1));
#line 3447 "robdd.c"
  }
#line 3449 "robdd.c"
}

#line 3452 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____equiv_vars_1_0_10001(
#line 3455 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3457 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 3459 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3)
#line 3461 "robdd.c"
{
#line 3463 "robdd.c"
  {
#line 3465 "robdd.c"
    MR_bool mercury__robdd__succeeded;

#line 3468 "robdd.c"
    {
#line 3470 "robdd.c"
      mercury__robdd__succeeded = mercury__robdd____Unify____equiv_vars_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2), ((MR_Word) mercury__robdd__wrapper_arg_3));
    }
#line 3473 "robdd.c"
    return mercury__robdd__succeeded;
#line 3475 "robdd.c"
  }
#line 3477 "robdd.c"
}

#line 3480 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____equiv_vars_1_0_10001(
#line 3483 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3485 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 3487 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 3489 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4)
#line 3491 "robdd.c"
{
#line 3493 "robdd.c"
  {
#line 3495 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__1_1;

#line 3498 "robdd.c"
    {
#line 3500 "robdd.c"
      mercury__robdd____Compare____equiv_vars_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), &mercury__robdd__conv0_HeadVar__1_1, ((MR_Word) mercury__robdd__wrapper_arg_3), ((MR_Word) mercury__robdd__wrapper_arg_4));
    }
#line 3503 "robdd.c"
    *mercury__robdd__wrapper_arg_2 = ((MR_Box) (mercury__robdd__conv0_HeadVar__1_1));
#line 3505 "robdd.c"
  }
#line 3507 "robdd.c"
}

#line 3510 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____equivalent_result_1_0_10001(
#line 3513 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3515 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 3517 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3)
#line 3519 "robdd.c"
{
#line 3521 "robdd.c"
  {
#line 3523 "robdd.c"
    MR_bool mercury__robdd__succeeded;

#line 3526 "robdd.c"
    {
#line 3528 "robdd.c"
      mercury__robdd__succeeded = mercury__robdd____Unify____equivalent_result_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2), ((MR_Word) mercury__robdd__wrapper_arg_3));
    }
#line 3531 "robdd.c"
    return mercury__robdd__succeeded;
#line 3533 "robdd.c"
  }
#line 3535 "robdd.c"
}

#line 3538 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____equivalent_result_1_0_10001(
#line 3541 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3543 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 3545 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 3547 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4)
#line 3549 "robdd.c"
{
#line 3551 "robdd.c"
  {
#line 3553 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__1_1;

#line 3556 "robdd.c"
    {
#line 3558 "robdd.c"
      mercury__robdd____Compare____equivalent_result_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), &mercury__robdd__conv0_HeadVar__1_1, ((MR_Word) mercury__robdd__wrapper_arg_3), ((MR_Word) mercury__robdd__wrapper_arg_4));
    }
#line 3561 "robdd.c"
    *mercury__robdd__wrapper_arg_2 = ((MR_Box) (mercury__robdd__conv0_HeadVar__1_1));
#line 3563 "robdd.c"
  }
#line 3565 "robdd.c"
}

#line 3568 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____imp_map_1_0_10001(
#line 3571 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3573 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 3575 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3)
#line 3577 "robdd.c"
{
#line 3579 "robdd.c"
  {
#line 3581 "robdd.c"
    MR_bool mercury__robdd__succeeded;

#line 3584 "robdd.c"
    {
#line 3586 "robdd.c"
      mercury__robdd__succeeded = mercury__robdd____Unify____imp_map_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2), ((MR_Word) mercury__robdd__wrapper_arg_3));
    }
#line 3589 "robdd.c"
    return mercury__robdd__succeeded;
#line 3591 "robdd.c"
  }
#line 3593 "robdd.c"
}

#line 3596 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____imp_map_1_0_10001(
#line 3599 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3601 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 3603 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 3605 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4)
#line 3607 "robdd.c"
{
#line 3609 "robdd.c"
  {
#line 3611 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__1_1;

#line 3614 "robdd.c"
    {
#line 3616 "robdd.c"
      mercury__robdd____Compare____imp_map_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), &mercury__robdd__conv0_HeadVar__1_1, ((MR_Word) mercury__robdd__wrapper_arg_3), ((MR_Word) mercury__robdd__wrapper_arg_4));
    }
#line 3619 "robdd.c"
    *mercury__robdd__wrapper_arg_2 = ((MR_Box) (mercury__robdd__conv0_HeadVar__1_1));
#line 3621 "robdd.c"
  }
#line 3623 "robdd.c"
}

#line 3626 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____imp_res_1_0_10001(
#line 3629 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3631 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 3633 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3)
#line 3635 "robdd.c"
{
#line 3637 "robdd.c"
  {
#line 3639 "robdd.c"
    MR_bool mercury__robdd__succeeded;

#line 3642 "robdd.c"
    {
#line 3644 "robdd.c"
      mercury__robdd__succeeded = mercury__robdd____Unify____imp_res_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2), ((MR_Word) mercury__robdd__wrapper_arg_3));
    }
#line 3647 "robdd.c"
    return mercury__robdd__succeeded;
#line 3649 "robdd.c"
  }
#line 3651 "robdd.c"
}

#line 3654 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____imp_res_1_0_10001(
#line 3657 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3659 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 3661 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 3663 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4)
#line 3665 "robdd.c"
{
#line 3667 "robdd.c"
  {
#line 3669 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__1_1;

#line 3672 "robdd.c"
    {
#line 3674 "robdd.c"
      mercury__robdd____Compare____imp_res_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), &mercury__robdd__conv0_HeadVar__1_1, ((MR_Word) mercury__robdd__wrapper_arg_3), ((MR_Word) mercury__robdd__wrapper_arg_4));
    }
#line 3677 "robdd.c"
    *mercury__robdd__wrapper_arg_2 = ((MR_Box) (mercury__robdd__conv0_HeadVar__1_1));
#line 3679 "robdd.c"
  }
#line 3681 "robdd.c"
}

#line 3684 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____imp_res_2_1_0_10001(
#line 3687 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3689 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 3691 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3)
#line 3693 "robdd.c"
{
#line 3695 "robdd.c"
  {
#line 3697 "robdd.c"
    MR_bool mercury__robdd__succeeded;

#line 3700 "robdd.c"
    {
#line 3702 "robdd.c"
      mercury__robdd__succeeded = mercury__robdd____Unify____imp_res_2_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2), ((MR_Word) mercury__robdd__wrapper_arg_3));
    }
#line 3705 "robdd.c"
    return mercury__robdd__succeeded;
#line 3707 "robdd.c"
  }
#line 3709 "robdd.c"
}

#line 3712 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____imp_res_2_1_0_10001(
#line 3715 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3717 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 3719 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 3721 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4)
#line 3723 "robdd.c"
{
#line 3725 "robdd.c"
  {
#line 3727 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__1_1;

#line 3730 "robdd.c"
    {
#line 3732 "robdd.c"
      mercury__robdd____Compare____imp_res_2_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), &mercury__robdd__conv0_HeadVar__1_1, ((MR_Word) mercury__robdd__wrapper_arg_3), ((MR_Word) mercury__robdd__wrapper_arg_4));
    }
#line 3735 "robdd.c"
    *mercury__robdd__wrapper_arg_2 = ((MR_Box) (mercury__robdd__conv0_HeadVar__1_1));
#line 3737 "robdd.c"
  }
#line 3739 "robdd.c"
}

#line 3742 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____imp_vars_1_0_10001(
#line 3745 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3747 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 3749 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3)
#line 3751 "robdd.c"
{
#line 3753 "robdd.c"
  {
#line 3755 "robdd.c"
    MR_bool mercury__robdd__succeeded;

#line 3758 "robdd.c"
    {
#line 3760 "robdd.c"
      mercury__robdd__succeeded = mercury__robdd____Unify____imp_vars_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2), ((MR_Word) mercury__robdd__wrapper_arg_3));
    }
#line 3763 "robdd.c"
    return mercury__robdd__succeeded;
#line 3765 "robdd.c"
  }
#line 3767 "robdd.c"
}

#line 3770 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____imp_vars_1_0_10001(
#line 3773 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3775 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 3777 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 3779 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4)
#line 3781 "robdd.c"
{
#line 3783 "robdd.c"
  {
#line 3785 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__1_1;

#line 3788 "robdd.c"
    {
#line 3790 "robdd.c"
      mercury__robdd____Compare____imp_vars_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), &mercury__robdd__conv0_HeadVar__1_1, ((MR_Word) mercury__robdd__wrapper_arg_3), ((MR_Word) mercury__robdd__wrapper_arg_4));
    }
#line 3793 "robdd.c"
    *mercury__robdd__wrapper_arg_2 = ((MR_Box) (mercury__robdd__conv0_HeadVar__1_1));
#line 3795 "robdd.c"
  }
#line 3797 "robdd.c"
}

#line 3800 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____implication_result_1_0_10001(
#line 3803 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3805 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 3807 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3)
#line 3809 "robdd.c"
{
#line 3811 "robdd.c"
  {
#line 3813 "robdd.c"
    MR_bool mercury__robdd__succeeded;

#line 3816 "robdd.c"
    {
#line 3818 "robdd.c"
      mercury__robdd__succeeded = mercury__robdd____Unify____implication_result_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2), ((MR_Word) mercury__robdd__wrapper_arg_3));
    }
#line 3821 "robdd.c"
    return mercury__robdd__succeeded;
#line 3823 "robdd.c"
  }
#line 3825 "robdd.c"
}

#line 3828 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____implication_result_1_0_10001(
#line 3831 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3833 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 3835 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 3837 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4)
#line 3839 "robdd.c"
{
#line 3841 "robdd.c"
  {
#line 3843 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__1_1;

#line 3846 "robdd.c"
    {
#line 3848 "robdd.c"
      mercury__robdd____Compare____implication_result_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), &mercury__robdd__conv0_HeadVar__1_1, ((MR_Word) mercury__robdd__wrapper_arg_3), ((MR_Word) mercury__robdd__wrapper_arg_4));
    }
#line 3851 "robdd.c"
    *mercury__robdd__wrapper_arg_2 = ((MR_Box) (mercury__robdd__conv0_HeadVar__1_1));
#line 3853 "robdd.c"
  }
#line 3855 "robdd.c"
}

#line 3858 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____leader_map_1_0_10001(
#line 3861 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3863 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 3865 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3)
#line 3867 "robdd.c"
{
#line 3869 "robdd.c"
  {
#line 3871 "robdd.c"
    MR_bool mercury__robdd__succeeded;

#line 3874 "robdd.c"
    {
#line 3876 "robdd.c"
      mercury__robdd__succeeded = mercury__robdd____Unify____leader_map_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2), ((MR_Word) mercury__robdd__wrapper_arg_3));
    }
#line 3879 "robdd.c"
    return mercury__robdd__succeeded;
#line 3881 "robdd.c"
  }
#line 3883 "robdd.c"
}

#line 3886 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____leader_map_1_0_10001(
#line 3889 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3891 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 3893 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 3895 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4)
#line 3897 "robdd.c"
{
#line 3899 "robdd.c"
  {
#line 3901 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__1_1;

#line 3904 "robdd.c"
    {
#line 3906 "robdd.c"
      mercury__robdd____Compare____leader_map_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), &mercury__robdd__conv0_HeadVar__1_1, ((MR_Word) mercury__robdd__wrapper_arg_3), ((MR_Word) mercury__robdd__wrapper_arg_4));
    }
#line 3909 "robdd.c"
    *mercury__robdd__wrapper_arg_2 = ((MR_Box) (mercury__robdd__conv0_HeadVar__1_1));
#line 3911 "robdd.c"
  }
#line 3913 "robdd.c"
}

#line 3916 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____leader_to_eqvclass_1_0_10001(
#line 3919 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3921 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 3923 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3)
#line 3925 "robdd.c"
{
#line 3927 "robdd.c"
  {
#line 3929 "robdd.c"
    MR_bool mercury__robdd__succeeded;

#line 3932 "robdd.c"
    {
#line 3934 "robdd.c"
      mercury__robdd__succeeded = mercury__robdd____Unify____leader_to_eqvclass_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2), ((MR_Word) mercury__robdd__wrapper_arg_3));
    }
#line 3937 "robdd.c"
    return mercury__robdd__succeeded;
#line 3939 "robdd.c"
  }
#line 3941 "robdd.c"
}

#line 3944 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____leader_to_eqvclass_1_0_10001(
#line 3947 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3949 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 3951 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 3953 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4)
#line 3955 "robdd.c"
{
#line 3957 "robdd.c"
  {
#line 3959 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__1_1;

#line 3962 "robdd.c"
    {
#line 3964 "robdd.c"
      mercury__robdd____Compare____leader_to_eqvclass_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), &mercury__robdd__conv0_HeadVar__1_1, ((MR_Word) mercury__robdd__wrapper_arg_3), ((MR_Word) mercury__robdd__wrapper_arg_4));
    }
#line 3967 "robdd.c"
    *mercury__robdd__wrapper_arg_2 = ((MR_Box) (mercury__robdd__conv0_HeadVar__1_1));
#line 3969 "robdd.c"
  }
#line 3971 "robdd.c"
}

#line 3974 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____literal_1_0_10001(
#line 3977 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 3979 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 3981 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3)
#line 3983 "robdd.c"
{
#line 3985 "robdd.c"
  {
#line 3987 "robdd.c"
    MR_bool mercury__robdd__succeeded;

#line 3990 "robdd.c"
    {
#line 3992 "robdd.c"
      mercury__robdd__succeeded = mercury__robdd____Unify____literal_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2), ((MR_Word) mercury__robdd__wrapper_arg_3));
    }
#line 3995 "robdd.c"
    return mercury__robdd__succeeded;
#line 3997 "robdd.c"
  }
#line 3999 "robdd.c"
}

#line 4002 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____literal_1_0_10001(
#line 4005 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 4007 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 4009 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 4011 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4)
#line 4013 "robdd.c"
{
#line 4015 "robdd.c"
  {
#line 4017 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__1_1;

#line 4020 "robdd.c"
    {
#line 4022 "robdd.c"
      mercury__robdd____Compare____literal_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), &mercury__robdd__conv0_HeadVar__1_1, ((MR_Word) mercury__robdd__wrapper_arg_3), ((MR_Word) mercury__robdd__wrapper_arg_4));
    }
#line 4025 "robdd.c"
    *mercury__robdd__wrapper_arg_2 = ((MR_Box) (mercury__robdd__conv0_HeadVar__1_1));
#line 4027 "robdd.c"
  }
#line 4029 "robdd.c"
}

#line 4032 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____robdd_1_0_10001(
#line 4035 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 4037 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 4039 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3)
#line 4041 "robdd.c"
{
#line 4043 "robdd.c"
  {
#line 4045 "robdd.c"
    MR_bool mercury__robdd__succeeded;

#line 4048 "robdd.c"
    {
#line 4050 "robdd.c"
      mercury__robdd__succeeded = mercury__robdd____Unify____robdd_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2), ((MR_Word) mercury__robdd__wrapper_arg_3));
    }
#line 4053 "robdd.c"
    return mercury__robdd__succeeded;
#line 4055 "robdd.c"
  }
#line 4057 "robdd.c"
}

#line 4060 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____robdd_1_0_10001(
#line 4063 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 4065 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 4067 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 4069 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4)
#line 4071 "robdd.c"
{
#line 4073 "robdd.c"
  {
#line 4075 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__1_1;

#line 4078 "robdd.c"
    {
#line 4080 "robdd.c"
      mercury__robdd____Compare____robdd_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), &mercury__robdd__conv0_HeadVar__1_1, ((MR_Word) mercury__robdd__wrapper_arg_3), ((MR_Word) mercury__robdd__wrapper_arg_4));
    }
#line 4083 "robdd.c"
    *mercury__robdd__wrapper_arg_2 = ((MR_Box) (mercury__robdd__conv0_HeadVar__1_1));
#line 4085 "robdd.c"
  }
#line 4087 "robdd.c"
}

#line 4090 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____robdd_0_0_10001(
#line 4093 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 4095 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2)
#line 4097 "robdd.c"
{
#line 4099 "robdd.c"
  {
#line 4101 "robdd.c"
    MR_bool mercury__robdd__succeeded;

#line 4104 "robdd.c"
    {
#line 4106 "robdd.c"
      mercury__robdd__succeeded = mercury__robdd____Unify____robdd_0_0(((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2));
    }
#line 4109 "robdd.c"
    return mercury__robdd__succeeded;
#line 4111 "robdd.c"
  }
#line 4113 "robdd.c"
}

#line 4116 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____robdd_0_0_10001(
#line 4119 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_1,
#line 4121 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 4123 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3)
#line 4125 "robdd.c"
{
#line 4127 "robdd.c"
  {
#line 4129 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__1_1;

#line 4132 "robdd.c"
    {
#line 4134 "robdd.c"
      mercury__robdd____Compare____robdd_0_0(&mercury__robdd__conv0_HeadVar__1_1, ((MR_Word) mercury__robdd__wrapper_arg_2), ((MR_Word) mercury__robdd__wrapper_arg_3));
    }
#line 4137 "robdd.c"
    *mercury__robdd__wrapper_arg_1 = ((MR_Box) (mercury__robdd__conv0_HeadVar__1_1));
#line 4139 "robdd.c"
  }
#line 4141 "robdd.c"
}

#line 4144 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____robdd_cache_1_0_10001(
#line 4147 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 4149 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 4151 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3)
#line 4153 "robdd.c"
{
#line 4155 "robdd.c"
  {
#line 4157 "robdd.c"
    MR_bool mercury__robdd__succeeded;

#line 4160 "robdd.c"
    {
#line 4162 "robdd.c"
      mercury__robdd__succeeded = mercury__robdd____Unify____robdd_cache_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2), ((MR_Word) mercury__robdd__wrapper_arg_3));
    }
#line 4165 "robdd.c"
    return mercury__robdd__succeeded;
#line 4167 "robdd.c"
  }
#line 4169 "robdd.c"
}

#line 4172 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____robdd_cache_1_0_10001(
#line 4175 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 4177 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 4179 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 4181 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4)
#line 4183 "robdd.c"
{
#line 4185 "robdd.c"
  {
#line 4187 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__1_1;

#line 4190 "robdd.c"
    {
#line 4192 "robdd.c"
      mercury__robdd____Compare____robdd_cache_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), &mercury__robdd__conv0_HeadVar__1_1, ((MR_Word) mercury__robdd__wrapper_arg_3), ((MR_Word) mercury__robdd__wrapper_arg_4));
    }
#line 4195 "robdd.c"
    *mercury__robdd__wrapper_arg_2 = ((MR_Box) (mercury__robdd__conv0_HeadVar__1_1));
#line 4197 "robdd.c"
  }
#line 4199 "robdd.c"
}

#line 4202 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____var_cache_1_0_10001(
#line 4205 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 4207 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 4209 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3)
#line 4211 "robdd.c"
{
#line 4213 "robdd.c"
  {
#line 4215 "robdd.c"
    MR_bool mercury__robdd__succeeded;

#line 4218 "robdd.c"
    {
#line 4220 "robdd.c"
      mercury__robdd__succeeded = mercury__robdd____Unify____var_cache_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2), ((MR_Word) mercury__robdd__wrapper_arg_3));
    }
#line 4223 "robdd.c"
    return mercury__robdd__succeeded;
#line 4225 "robdd.c"
  }
#line 4227 "robdd.c"
}

#line 4230 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____var_cache_1_0_10001(
#line 4233 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 4235 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 4237 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 4239 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4)
#line 4241 "robdd.c"
{
#line 4243 "robdd.c"
  {
#line 4245 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__1_1;

#line 4248 "robdd.c"
    {
#line 4250 "robdd.c"
      mercury__robdd____Compare____var_cache_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), &mercury__robdd__conv0_HeadVar__1_1, ((MR_Word) mercury__robdd__wrapper_arg_3), ((MR_Word) mercury__robdd__wrapper_arg_4));
    }
#line 4253 "robdd.c"
    *mercury__robdd__wrapper_arg_2 = ((MR_Box) (mercury__robdd__conv0_HeadVar__1_1));
#line 4255 "robdd.c"
  }
#line 4257 "robdd.c"
}

#line 4260 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____vars_1_0_10001(
#line 4263 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 4265 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 4267 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3)
#line 4269 "robdd.c"
{
#line 4271 "robdd.c"
  {
#line 4273 "robdd.c"
    MR_bool mercury__robdd__succeeded;

#line 4276 "robdd.c"
    {
#line 4278 "robdd.c"
      mercury__robdd__succeeded = mercury__robdd____Unify____vars_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2), ((MR_Word) mercury__robdd__wrapper_arg_3));
    }
#line 4281 "robdd.c"
    return mercury__robdd__succeeded;
#line 4283 "robdd.c"
  }
#line 4285 "robdd.c"
}

#line 4288 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____vars_1_0_10001(
#line 4291 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 4293 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 4295 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 4297 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4)
#line 4299 "robdd.c"
{
#line 4301 "robdd.c"
  {
#line 4303 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__1_1;

#line 4306 "robdd.c"
    {
#line 4308 "robdd.c"
      mercury__robdd____Compare____vars_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), &mercury__robdd__conv0_HeadVar__1_1, ((MR_Word) mercury__robdd__wrapper_arg_3), ((MR_Word) mercury__robdd__wrapper_arg_4));
    }
#line 4311 "robdd.c"
    *mercury__robdd__wrapper_arg_2 = ((MR_Box) (mercury__robdd__conv0_HeadVar__1_1));
#line 4313 "robdd.c"
  }
#line 4315 "robdd.c"
}

#line 4318 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____vars_entailed_result_1_0_10001(
#line 4321 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 4323 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 4325 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3)
#line 4327 "robdd.c"
{
#line 4329 "robdd.c"
  {
#line 4331 "robdd.c"
    MR_bool mercury__robdd__succeeded;

#line 4334 "robdd.c"
    {
#line 4336 "robdd.c"
      mercury__robdd__succeeded = mercury__robdd____Unify____vars_entailed_result_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2), ((MR_Word) mercury__robdd__wrapper_arg_3));
    }
#line 4339 "robdd.c"
    return mercury__robdd__succeeded;
#line 4341 "robdd.c"
  }
#line 4343 "robdd.c"
}

#line 4346 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____vars_entailed_result_1_0_10001(
#line 4349 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 4351 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 4353 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 4355 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4)
#line 4357 "robdd.c"
{
#line 4359 "robdd.c"
  {
#line 4361 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__1_1;

#line 4364 "robdd.c"
    {
#line 4366 "robdd.c"
      mercury__robdd____Compare____vars_entailed_result_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), &mercury__robdd__conv0_HeadVar__1_1, ((MR_Word) mercury__robdd__wrapper_arg_3), ((MR_Word) mercury__robdd__wrapper_arg_4));
    }
#line 4369 "robdd.c"
    *mercury__robdd__wrapper_arg_2 = ((MR_Box) (mercury__robdd__conv0_HeadVar__1_1));
#line 4371 "robdd.c"
  }
#line 4373 "robdd.c"
}

#line 4376 "robdd.c"
static MR_bool MR_CALL 
mercury__robdd____Unify____write_var_1_0_10001(
#line 4379 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 4381 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2,
#line 4383 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3)
#line 4385 "robdd.c"
{
#line 4387 "robdd.c"
  {
#line 4389 "robdd.c"
    MR_bool mercury__robdd__succeeded;

#line 4392 "robdd.c"
    {
#line 4394 "robdd.c"
      mercury__robdd__succeeded = mercury__robdd____Unify____write_var_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2), ((MR_Word) mercury__robdd__wrapper_arg_3));
    }
#line 4397 "robdd.c"
    return mercury__robdd__succeeded;
#line 4399 "robdd.c"
  }
#line 4401 "robdd.c"
}

#line 4404 "robdd.c"
static void MR_CALL 
mercury__robdd____Compare____write_var_1_0_10001(
#line 4407 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 4409 "robdd.c"
  MR_Box * mercury__robdd__wrapper_arg_2,
#line 4411 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_3,
#line 4413 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_4)
#line 4415 "robdd.c"
{
#line 4417 "robdd.c"
  {
#line 4419 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__1_1;

#line 4422 "robdd.c"
    {
#line 4424 "robdd.c"
      mercury__robdd____Compare____write_var_1_0(((MR_Word) mercury__robdd__wrapper_arg_1), &mercury__robdd__conv0_HeadVar__1_1, ((MR_Word) mercury__robdd__wrapper_arg_3), ((MR_Word) mercury__robdd__wrapper_arg_4));
    }
#line 4427 "robdd.c"
    *mercury__robdd__wrapper_arg_2 = ((MR_Box) (mercury__robdd__conv0_HeadVar__1_1));
#line 4429 "robdd.c"
  }
#line 4431 "robdd.c"
}

#line 4434 "robdd.c"
static MR_Box MR_CALL 
mercury__robdd__ClassMethod_for_robdd__intersectable____robdd__imp_res_2__arity1______robdd__intersection_2_2_f_0_10001(
#line 4437 "robdd.c"
  MR_Box mercury__robdd__closure_arg,
#line 4439 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 4441 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2)
#line 4443 "robdd.c"
{
#line 4445 "robdd.c"
  {
#line 4447 "robdd.c"
    MR_Box mercury__robdd__wrapper_arg_3;
#line 4449 "robdd.c"
    MR_Box mercury__robdd__closure;
#line 4451 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__3_3;

#line 4454 "robdd.c"
    mercury__robdd__closure = mercury__robdd__closure_arg;
#line 4456 "robdd.c"
    {
#line 4458 "robdd.c"
      mercury__robdd__conv0_HeadVar__3_3 = mercury__robdd__ClassMethod_for_robdd__intersectable____robdd__imp_res_2__arity1______robdd__intersection_2_2_f_0(((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__closure, (MR_Integer) 1))), ((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2));
    }
#line 4461 "robdd.c"
    mercury__robdd__wrapper_arg_3 = ((MR_Box) (mercury__robdd__conv0_HeadVar__3_3));
#line 4463 "robdd.c"
    return mercury__robdd__wrapper_arg_3;
#line 4465 "robdd.c"
  }
#line 4467 "robdd.c"
}

#line 4470 "robdd.c"
static MR_Box MR_CALL 
mercury__robdd__ClassMethod_for_robdd__intersectable____robdd__leader_to_eqvclass__arity1______robdd__intersection_2_2_f_0_10001(
#line 4473 "robdd.c"
  MR_Box mercury__robdd__closure_arg,
#line 4475 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 4477 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2)
#line 4479 "robdd.c"
{
#line 4481 "robdd.c"
  {
#line 4483 "robdd.c"
    MR_Box mercury__robdd__wrapper_arg_3;
#line 4485 "robdd.c"
    MR_Box mercury__robdd__closure;
#line 4487 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__3_3;

#line 4490 "robdd.c"
    mercury__robdd__closure = mercury__robdd__closure_arg;
#line 4492 "robdd.c"
    {
#line 4494 "robdd.c"
      mercury__robdd__conv0_HeadVar__3_3 = mercury__robdd__ClassMethod_for_robdd__intersectable____robdd__leader_to_eqvclass__arity1______robdd__intersection_2_2_f_0(((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__closure, (MR_Integer) 1))), ((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2));
    }
#line 4497 "robdd.c"
    mercury__robdd__wrapper_arg_3 = ((MR_Box) (mercury__robdd__conv0_HeadVar__3_3));
#line 4499 "robdd.c"
    return mercury__robdd__wrapper_arg_3;
#line 4501 "robdd.c"
  }
#line 4503 "robdd.c"
}

#line 4506 "robdd.c"
static MR_Box MR_CALL 
mercury__robdd__ClassMethod_for_robdd__intersectable____robdd__entailment_result__arity1______robdd__intersection_2_2_f_0_10001(
#line 4509 "robdd.c"
  MR_Box mercury__robdd__closure_arg,
#line 4511 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 4513 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2)
#line 4515 "robdd.c"
{
#line 4517 "robdd.c"
  {
#line 4519 "robdd.c"
    MR_Box mercury__robdd__wrapper_arg_3;
#line 4521 "robdd.c"
    MR_Box mercury__robdd__closure;
#line 4523 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__3_3;

#line 4526 "robdd.c"
    mercury__robdd__closure = mercury__robdd__closure_arg;
#line 4528 "robdd.c"
    {
#line 4530 "robdd.c"
      mercury__robdd__conv0_HeadVar__3_3 = mercury__robdd__ClassMethod_for_robdd__intersectable____robdd__entailment_result__arity1______robdd__intersection_2_2_f_0(((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__closure, (MR_Integer) 1))), ((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2));
    }
#line 4533 "robdd.c"
    mercury__robdd__wrapper_arg_3 = ((MR_Box) (mercury__robdd__conv0_HeadVar__3_3));
#line 4535 "robdd.c"
    return mercury__robdd__wrapper_arg_3;
#line 4537 "robdd.c"
  }
#line 4539 "robdd.c"
}

#line 4542 "robdd.c"
static MR_Box MR_CALL 
mercury__robdd__ClassMethod_for_robdd__intersectable____sparse_bitset__sparse_bitset__arity1______robdd__intersection_2_2_f_0_10001(
#line 4545 "robdd.c"
  MR_Box mercury__robdd__closure_arg,
#line 4547 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_1,
#line 4549 "robdd.c"
  MR_Box mercury__robdd__wrapper_arg_2)
#line 4551 "robdd.c"
{
#line 4553 "robdd.c"
  {
#line 4555 "robdd.c"
    MR_Box mercury__robdd__wrapper_arg_3;
#line 4557 "robdd.c"
    MR_Box mercury__robdd__closure;
#line 4559 "robdd.c"
    MR_Word mercury__robdd__conv0_HeadVar__3_3;

#line 4562 "robdd.c"
    mercury__robdd__closure = mercury__robdd__closure_arg;
#line 4564 "robdd.c"
    {
#line 4566 "robdd.c"
      mercury__robdd__conv0_HeadVar__3_3 = mercury__robdd__ClassMethod_for_robdd__intersectable____sparse_bitset__sparse_bitset__arity1______robdd__intersection_2_2_f_0(((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__closure, (MR_Integer) 1))), ((MR_Word) mercury__robdd__wrapper_arg_1), ((MR_Word) mercury__robdd__wrapper_arg_2));
    }
#line 4569 "robdd.c"
    mercury__robdd__wrapper_arg_3 = ((MR_Box) (mercury__robdd__conv0_HeadVar__3_3));
#line 4571 "robdd.c"
    return mercury__robdd__wrapper_arg_3;
#line 4573 "robdd.c"
  }
#line 4575 "robdd.c"
}

#line 1355 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_53_95_95_49_95_95_104_111_49_57_57_95_95_91_52_44_32_53_93_95_48_6_f_0(
#line 1355 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_16,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_21,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__HeadVar__6_22)
#line 1355 "robdd.m"
{
#line 1355 "robdd.m"
  {
#line 1355 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__HeadVar__7_23;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__V_24_24;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__V_25_25;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__V_26_26;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__V_48_48;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__V_49_49;

#line 1034 "robdd.m"
    {
#line 1034 "robdd.m"
      mercury__robdd__V_48_48 = mercury__robdd__zero_0_f_0(mercury__robdd__V_45_45);
    }
#line 1034 "robdd.m"
    {
#line 1034 "robdd.m"
      mercury__robdd__V_49_49 = mercury__robdd__one_0_f_0(mercury__robdd__V_45_45);
    }
#line 1034 "robdd.m"
    {
#line 1034 "robdd.m"
      mercury__robdd__V_25_25 = mercury__robdd__make_node_3_f_0(mercury__robdd__V_45_45, mercury__robdd__HeadVar__4_16, mercury__robdd__V_48_48, mercury__robdd__V_49_49);
    }
#line 1355 "robdd.m"
    {
#line 1355 "robdd.m"
      mercury__robdd__V_26_26 = mercury__robdd__var_1_f_0(mercury__robdd__V_46_46, mercury__robdd__HeadVar__5_21);
    }
#line 1355 "robdd.m"
    {
#line 1355 "robdd.m"
      mercury__robdd__V_24_24 = mercury__robdd__f_plus_2_f_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__V_25_25, mercury__robdd__V_26_26);
    }
#line 1355 "robdd.m"
    {
#line 1355 "robdd.m"
      return mercury__robdd__HeadVar__7_23 = mercury__robdd__f_times_2_f_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__HeadVar__6_22, mercury__robdd__V_24_24);
    }
#line 1355 "robdd.m"
    return mercury__robdd__HeadVar__7_23;
#line 1355 "robdd.m"
  }
#line 1355 "robdd.m"
}

#line 1355 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_53_95_95_49_95_95_104_111_49_57_56_95_95_91_52_44_32_53_93_95_48_6_f_0(
#line 1355 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_16,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_21,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__HeadVar__6_22)
#line 1355 "robdd.m"
{
#line 1355 "robdd.m"
  {
#line 1355 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__HeadVar__7_23;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__V_24_24;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__V_25_25;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__V_26_26;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__V_48_48;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__V_49_49;

#line 1355 "robdd.m"
    {
#line 1355 "robdd.m"
      mercury__robdd__V_25_25 = mercury__robdd__var_1_f_0(mercury__robdd__V_45_45, mercury__robdd__HeadVar__4_16);
    }
#line 1034 "robdd.m"
    {
#line 1034 "robdd.m"
      mercury__robdd__V_48_48 = mercury__robdd__zero_0_f_0(mercury__robdd__V_46_46);
    }
#line 1034 "robdd.m"
    {
#line 1034 "robdd.m"
      mercury__robdd__V_49_49 = mercury__robdd__one_0_f_0(mercury__robdd__V_46_46);
    }
#line 1034 "robdd.m"
    {
#line 1034 "robdd.m"
      mercury__robdd__V_26_26 = mercury__robdd__make_node_3_f_0(mercury__robdd__V_46_46, mercury__robdd__HeadVar__5_21, mercury__robdd__V_48_48, mercury__robdd__V_49_49);
    }
#line 1355 "robdd.m"
    {
#line 1355 "robdd.m"
      mercury__robdd__V_24_24 = mercury__robdd__f_plus_2_f_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__V_25_25, mercury__robdd__V_26_26);
    }
#line 1355 "robdd.m"
    {
#line 1355 "robdd.m"
      return mercury__robdd__HeadVar__7_23 = mercury__robdd__f_times_2_f_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__HeadVar__6_22, mercury__robdd__V_24_24);
    }
#line 1355 "robdd.m"
    return mercury__robdd__HeadVar__7_23;
#line 1355 "robdd.m"
  }
#line 1355 "robdd.m"
}

#line 1355 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_53_95_95_49_95_95_104_111_49_57_55_95_95_91_52_44_32_53_93_95_48_6_f_0(
#line 1355 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_16,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_21,
#line 1355 "robdd.m"
  MR_Word mercury__robdd__HeadVar__6_22)
#line 1355 "robdd.m"
{
#line 1355 "robdd.m"
  {
#line 1355 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__HeadVar__7_23;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__V_24_24;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__V_25_25;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__V_26_26;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__V_48_48;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__V_49_49;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__V_51_51;
#line 1355 "robdd.m"
    MR_Word mercury__robdd__V_52_52;

#line 1034 "robdd.m"
    {
#line 1034 "robdd.m"
      mercury__robdd__V_48_48 = mercury__robdd__zero_0_f_0(mercury__robdd__V_45_45);
    }
#line 1034 "robdd.m"
    {
#line 1034 "robdd.m"
      mercury__robdd__V_49_49 = mercury__robdd__one_0_f_0(mercury__robdd__V_45_45);
    }
#line 1034 "robdd.m"
    {
#line 1034 "robdd.m"
      mercury__robdd__V_25_25 = mercury__robdd__make_node_3_f_0(mercury__robdd__V_45_45, mercury__robdd__HeadVar__4_16, mercury__robdd__V_48_48, mercury__robdd__V_49_49);
    }
#line 1034 "robdd.m"
    {
#line 1034 "robdd.m"
      mercury__robdd__V_51_51 = mercury__robdd__zero_0_f_0(mercury__robdd__V_46_46);
    }
#line 1034 "robdd.m"
    {
#line 1034 "robdd.m"
      mercury__robdd__V_52_52 = mercury__robdd__one_0_f_0(mercury__robdd__V_46_46);
    }
#line 1034 "robdd.m"
    {
#line 1034 "robdd.m"
      mercury__robdd__V_26_26 = mercury__robdd__make_node_3_f_0(mercury__robdd__V_46_46, mercury__robdd__HeadVar__5_21, mercury__robdd__V_51_51, mercury__robdd__V_52_52);
    }
#line 1355 "robdd.m"
    {
#line 1355 "robdd.m"
      mercury__robdd__V_24_24 = mercury__robdd__f_plus_2_f_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__V_25_25, mercury__robdd__V_26_26);
    }
#line 1355 "robdd.m"
    {
#line 1355 "robdd.m"
      return mercury__robdd__HeadVar__7_23 = mercury__robdd__f_times_2_f_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__HeadVar__6_22, mercury__robdd__V_24_24);
    }
#line 1355 "robdd.m"
    return mercury__robdd__HeadVar__7_23;
#line 1355 "robdd.m"
  }
#line 1355 "robdd.m"
}

#line 248 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_52_56_95_95_49_95_95_104_111_49_54_54_95_95_104_111_49_57_52_95_95_91_49_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_57_44_32_50_48_44_32_50_50_44_32_50_51_44_32_50_52_93_95_48_6_p_0(
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_40_40,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_27_27,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_33_33,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_36_36,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__4_18,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__5_19,
#line 248 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__6_20)
#line 248 "sparse_bitset.opt"
{
#line 248 "sparse_bitset.opt"
  {
#line 248 "sparse_bitset.opt"
    MR_bool mercury__robdd__succeeded;
#line 248 "sparse_bitset.opt"
    MR_Word mercury__robdd__V_71_71;
#line 248 "sparse_bitset.opt"
    MR_Word mercury__robdd__V_72_72;
#line 248 "sparse_bitset.opt"
    MR_Word mercury__robdd__V_73_73;

#line 1355 "robdd.m"
    {
#line 1355 "robdd.m"
      mercury__robdd__V_72_72 = mercury__robdd__var_1_f_0(mercury__robdd__V_39_39, mercury__robdd__V_36_36);
    }
#line 1355 "robdd.m"
    {
#line 1355 "robdd.m"
      mercury__robdd__V_73_73 = mercury__robdd__var_1_f_0(mercury__robdd__V_40_40, mercury__robdd__HeadVar__4_18);
    }
#line 1355 "robdd.m"
    {
#line 1355 "robdd.m"
      mercury__robdd__V_71_71 = mercury__robdd__f_plus_2_f_0(mercury__robdd__V_33_33, mercury__robdd__V_72_72, mercury__robdd__V_73_73);
    }
#line 1355 "robdd.m"
    {
#line 1355 "robdd.m"
      *mercury__robdd__HeadVar__6_20 = mercury__robdd__f_times_2_f_0(mercury__robdd__V_33_33, mercury__robdd__HeadVar__5_19, mercury__robdd__V_71_71);
    }
#line 248 "sparse_bitset.opt"
  }
#line 248 "sparse_bitset.opt"
}

#line 248 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_52_56_95_95_49_95_95_104_111_49_54_54_95_95_104_111_49_57_50_95_95_91_49_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_57_44_32_50_48_44_32_50_50_44_32_50_51_44_32_50_52_93_95_48_6_p_0(
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_40_40,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_27_27,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_33_33,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_36_36,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__4_18,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__5_19,
#line 248 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__6_20)
#line 248 "sparse_bitset.opt"
{
#line 248 "sparse_bitset.opt"
  {
#line 248 "sparse_bitset.opt"
    MR_bool mercury__robdd__succeeded;

#line 248 "sparse_bitset.opt"
    {
#line 248 "sparse_bitset.opt"
      *mercury__robdd__HeadVar__6_20 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_53_95_95_49_95_95_104_111_49_57_55_95_95_91_52_44_32_53_93_95_48_6_f_0(mercury__robdd__V_39_39, mercury__robdd__V_40_40, mercury__robdd__V_33_33, mercury__robdd__V_36_36, mercury__robdd__HeadVar__4_18, mercury__robdd__HeadVar__5_19);
    }
#line 248 "sparse_bitset.opt"
  }
#line 248 "sparse_bitset.opt"
}

#line 248 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_52_56_95_95_49_95_95_104_111_49_54_54_95_95_104_111_49_57_48_95_95_91_49_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_57_44_32_50_48_44_32_50_50_44_32_50_51_44_32_50_52_93_95_48_6_p_0(
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_40_40,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_27_27,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_33_33,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_36_36,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__4_18,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__5_19,
#line 248 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__6_20)
#line 248 "sparse_bitset.opt"
{
#line 248 "sparse_bitset.opt"
  {
#line 248 "sparse_bitset.opt"
    MR_bool mercury__robdd__succeeded;

#line 248 "sparse_bitset.opt"
    {
#line 248 "sparse_bitset.opt"
      *mercury__robdd__HeadVar__6_20 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_53_95_95_49_95_95_104_111_49_57_56_95_95_91_52_44_32_53_93_95_48_6_f_0(mercury__robdd__V_39_39, mercury__robdd__V_40_40, mercury__robdd__V_33_33, mercury__robdd__V_36_36, mercury__robdd__HeadVar__4_18, mercury__robdd__HeadVar__5_19);
    }
#line 248 "sparse_bitset.opt"
  }
#line 248 "sparse_bitset.opt"
}

#line 248 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_52_56_95_95_49_95_95_104_111_49_54_54_95_95_104_111_49_56_56_95_95_91_49_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_57_44_32_50_48_44_32_50_50_44_32_50_51_44_32_50_52_93_95_48_6_p_0(
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_40_40,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_27_27,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_33_33,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_36_36,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__4_18,
#line 248 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__5_19,
#line 248 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__6_20)
#line 248 "sparse_bitset.opt"
{
#line 248 "sparse_bitset.opt"
  {
#line 248 "sparse_bitset.opt"
    MR_bool mercury__robdd__succeeded;

#line 248 "sparse_bitset.opt"
    {
#line 248 "sparse_bitset.opt"
      *mercury__robdd__HeadVar__6_20 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_53_95_95_49_95_95_104_111_49_57_57_95_95_91_52_44_32_53_93_95_48_6_f_0(mercury__robdd__V_39_39, mercury__robdd__V_40_40, mercury__robdd__V_33_33, mercury__robdd__V_36_36, mercury__robdd__HeadVar__4_18, mercury__robdd__HeadVar__5_19);
    }
#line 248 "sparse_bitset.opt"
  }
#line 248 "sparse_bitset.opt"
}

#line 52 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_69_69,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_70_70,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_42_42,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_48_48,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_51_51,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_29,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__Dir_8_8,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Offset_10_10,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Bits_11_11,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Size_12_12,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19_13,
#line 52 "sparse_bitset.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Acc_20_14)
#line 52 "sparse_bitset.opt"
{
#line 327 "sparse_bitset.opt"
  while (MR_TRUE)
#line 327 "sparse_bitset.opt"
    {
#line 327 "sparse_bitset.opt"
      /* tailcall optimized into a loop */
#line 327 "sparse_bitset.opt"
      {
#line 327 "sparse_bitset.opt"
        MR_bool mercury__robdd__succeeded = (mercury__robdd__Bits_11_11 == (MR_Integer) 0);

#line 327 "sparse_bitset.opt"
        if (mercury__robdd__succeeded)
#line 326 "sparse_bitset.opt"
          *mercury__robdd__STATE_VARIABLE_Acc_20_14 = mercury__robdd__STATE_VARIABLE_Acc_0_19_13;
#line 327 "sparse_bitset.opt"
        else
#line 342 "sparse_bitset.opt"
          {
#line 329 "sparse_bitset.opt"
            mercury__robdd__succeeded = (mercury__robdd__Size_12_12 == (MR_Integer) 1);
#line 342 "sparse_bitset.opt"
            if (mercury__robdd__succeeded)
#line 335 "sparse_bitset.opt"
              {
#line 335 "sparse_bitset.opt"
                MR_Word mercury__robdd__Elem_14_15;
#line 5026 "robdd.c"
                MR_bool MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_29, (MR_Integer) 0)), (MR_Integer) 6)));
#line 5028 "robdd.c"
                MR_Box mercury__robdd__conv1_Elem_14_15;

#line 5031 "robdd.c"
                {
#line 5033 "robdd.c"
                  mercury__robdd__succeeded = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_29), ((MR_Box) (mercury__robdd__Offset_10_10)), &mercury__robdd__conv1_Elem_14_15);
                }
#line 5036 "robdd.c"
                if (mercury__robdd__succeeded)
#line 5038 "robdd.c"
                  {
#line 5040 "robdd.c"
                    mercury__robdd__Elem_14_15 = ((MR_Word) mercury__robdd__conv1_Elem_14_15);
#line 5042 "robdd.c"
                    mercury__robdd__succeeded = MR_TRUE;
#line 5044 "robdd.c"
                  }
#line 335 "sparse_bitset.opt"
                if (mercury__robdd__succeeded)
#line 334 "sparse_bitset.opt"
                  {
#line 334 "sparse_bitset.opt"
                    mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_52_56_95_95_49_95_95_104_111_49_54_54_95_95_104_111_49_56_56_95_95_91_49_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_57_44_32_50_48_44_32_50_50_44_32_50_51_44_32_50_52_93_95_48_6_p_0(mercury__robdd__V_69_69, mercury__robdd__V_70_70, mercury__robdd__V_42_42, mercury__robdd__V_48_48, mercury__robdd__V_51_51, mercury__robdd__Elem_14_15, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, mercury__robdd__STATE_VARIABLE_Acc_20_14);
#line 334 "sparse_bitset.opt"
                    return;
                  }
#line 335 "sparse_bitset.opt"
                else
#line 336 "sparse_bitset.opt"
                  {
#line 339 "sparse_bitset.opt"
                    {
#line 339 "sparse_bitset.opt"
                      mercury__require__unexpected_3_p_0((MR_String) "sparse_bitset", (MR_String) "predicate \140sparse_bitset.fold_bits\'/7", (MR_String) "\140enum.from_int/1\' failed");
#line 339 "sparse_bitset.opt"
                      return;
                    }
#line 336 "sparse_bitset.opt"
                  }
#line 335 "sparse_bitset.opt"
              }
#line 342 "sparse_bitset.opt"
            else
#line 343 "sparse_bitset.opt"
              {
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__HalfSize_15_19 = (mercury__robdd__Size_12_12 >> (MR_Integer) 1);
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__Mask_16_21;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__LowBits_17_22;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__HighBits_18_23;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__V_26_24;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__V_4_96 = ((MR_Integer) -1 << mercury__robdd__HalfSize_15_19);

#line 513 "sparse_bitset.opt"
                mercury__robdd__Mask_16_21 = ~(mercury__robdd__V_4_96);
#line 346 "sparse_bitset.opt"
                mercury__robdd__LowBits_17_22 = (mercury__robdd__Mask_16_21 & mercury__robdd__Bits_11_11);
#line 348 "sparse_bitset.opt"
                mercury__robdd__V_26_24 = (mercury__robdd__Bits_11_11 >> mercury__robdd__HalfSize_15_19);
#line 347 "sparse_bitset.opt"
                mercury__robdd__HighBits_18_23 = (mercury__robdd__Mask_16_21 & mercury__robdd__V_26_24);
#line 354 "sparse_bitset.opt"
                if ((mercury__robdd__Dir_8_8 == (MR_Integer) 1))
#line 355 "sparse_bitset.opt"
                  {
#line 355 "sparse_bitset.opt"
                    MR_Integer mercury__robdd__V_27_27 = (mercury__robdd__Offset_10_10 + mercury__robdd__HalfSize_15_19);
#line 355 "sparse_bitset.opt"
                    MR_Word mercury__robdd__STATE_VARIABLE_Acc_28_28_28;

#line 357 "sparse_bitset.opt"
                    {
#line 357 "sparse_bitset.opt"
                      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_69_69, mercury__robdd__V_70_70, mercury__robdd__V_42_42, mercury__robdd__V_48_48, mercury__robdd__V_51_51, mercury__robdd__TypeClassInfo_for_enum_29, mercury__robdd__Dir_8_8, mercury__robdd__V_27_27, mercury__robdd__HighBits_18_23, mercury__robdd__HalfSize_15_19, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, &mercury__robdd__STATE_VARIABLE_Acc_28_28_28);
                    }
#line 358 "sparse_bitset.opt"
                    /* direct tailcall eliminated */
#line 358 "sparse_bitset.opt"
                    {
#line 358 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Bits_11__tmp_copy_11 = mercury__robdd__LowBits_17_22;
#line 358 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Size_12__tmp_copy_12 = mercury__robdd__HalfSize_15_19;
#line 358 "sparse_bitset.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13 = mercury__robdd__STATE_VARIABLE_Acc_28_28_28;

#line 358 "sparse_bitset.opt"
                      mercury__robdd__STATE_VARIABLE_Acc_0_19_13 = mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13;
#line 358 "sparse_bitset.opt"
                      mercury__robdd__Size_12_12 = mercury__robdd__Size_12__tmp_copy_12;
#line 358 "sparse_bitset.opt"
                      mercury__robdd__Bits_11_11 = mercury__robdd__Bits_11__tmp_copy_11;
#line 358 "sparse_bitset.opt"
                    }
#line 358 "sparse_bitset.opt"
                    continue;
#line 355 "sparse_bitset.opt"
                  }
#line 354 "sparse_bitset.opt"
                else
#line 350 "sparse_bitset.opt"
                  {
#line 350 "sparse_bitset.opt"
                    MR_Word mercury__robdd__STATE_VARIABLE_Acc_30_30_25;
#line 350 "sparse_bitset.opt"
                    MR_Integer mercury__robdd__V_31_26;

#line 351 "sparse_bitset.opt"
                    {
#line 351 "sparse_bitset.opt"
                      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_69_69, mercury__robdd__V_70_70, mercury__robdd__V_42_42, mercury__robdd__V_48_48, mercury__robdd__V_51_51, mercury__robdd__TypeClassInfo_for_enum_29, mercury__robdd__Dir_8_8, mercury__robdd__Offset_10_10, mercury__robdd__LowBits_17_22, mercury__robdd__HalfSize_15_19, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, &mercury__robdd__STATE_VARIABLE_Acc_30_30_25);
                    }
#line 352 "sparse_bitset.opt"
                    mercury__robdd__V_31_26 = (mercury__robdd__Offset_10_10 + mercury__robdd__HalfSize_15_19);
#line 353 "sparse_bitset.opt"
                    /* direct tailcall eliminated */
#line 353 "sparse_bitset.opt"
                    {
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Offset_10__tmp_copy_10 = mercury__robdd__V_31_26;
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Bits_11__tmp_copy_11 = mercury__robdd__HighBits_18_23;
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Size_12__tmp_copy_12 = mercury__robdd__HalfSize_15_19;
#line 353 "sparse_bitset.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13 = mercury__robdd__STATE_VARIABLE_Acc_30_30_25;

#line 353 "sparse_bitset.opt"
                      mercury__robdd__STATE_VARIABLE_Acc_0_19_13 = mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Size_12_12 = mercury__robdd__Size_12__tmp_copy_12;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Bits_11_11 = mercury__robdd__Bits_11__tmp_copy_11;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Offset_10_10 = mercury__robdd__Offset_10__tmp_copy_10;
#line 353 "sparse_bitset.opt"
                    }
#line 353 "sparse_bitset.opt"
                    continue;
#line 350 "sparse_bitset.opt"
                  }
#line 343 "sparse_bitset.opt"
              }
#line 342 "sparse_bitset.opt"
          }
#line 327 "sparse_bitset.opt"
      }
#line 327 "sparse_bitset.opt"
      break;
#line 327 "sparse_bitset.opt"
    }
#line 52 "sparse_bitset.opt"
}

#line 52 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_69_69,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_70_70,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_42_42,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_48_48,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_51_51,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_29,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__Dir_8_8,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Offset_10_10,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Bits_11_11,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Size_12_12,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19_13,
#line 52 "sparse_bitset.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Acc_20_14)
#line 52 "sparse_bitset.opt"
{
#line 327 "sparse_bitset.opt"
  while (MR_TRUE)
#line 327 "sparse_bitset.opt"
    {
#line 327 "sparse_bitset.opt"
      /* tailcall optimized into a loop */
#line 327 "sparse_bitset.opt"
      {
#line 327 "sparse_bitset.opt"
        MR_bool mercury__robdd__succeeded = (mercury__robdd__Bits_11_11 == (MR_Integer) 0);

#line 327 "sparse_bitset.opt"
        if (mercury__robdd__succeeded)
#line 326 "sparse_bitset.opt"
          *mercury__robdd__STATE_VARIABLE_Acc_20_14 = mercury__robdd__STATE_VARIABLE_Acc_0_19_13;
#line 327 "sparse_bitset.opt"
        else
#line 342 "sparse_bitset.opt"
          {
#line 329 "sparse_bitset.opt"
            mercury__robdd__succeeded = (mercury__robdd__Size_12_12 == (MR_Integer) 1);
#line 342 "sparse_bitset.opt"
            if (mercury__robdd__succeeded)
#line 335 "sparse_bitset.opt"
              {
#line 335 "sparse_bitset.opt"
                MR_Word mercury__robdd__Elem_14_15;
#line 5244 "robdd.c"
                MR_bool MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_29, (MR_Integer) 0)), (MR_Integer) 6)));
#line 5246 "robdd.c"
                MR_Box mercury__robdd__conv1_Elem_14_15;

#line 5249 "robdd.c"
                {
#line 5251 "robdd.c"
                  mercury__robdd__succeeded = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_29), ((MR_Box) (mercury__robdd__Offset_10_10)), &mercury__robdd__conv1_Elem_14_15);
                }
#line 5254 "robdd.c"
                if (mercury__robdd__succeeded)
#line 5256 "robdd.c"
                  {
#line 5258 "robdd.c"
                    mercury__robdd__Elem_14_15 = ((MR_Word) mercury__robdd__conv1_Elem_14_15);
#line 5260 "robdd.c"
                    mercury__robdd__succeeded = MR_TRUE;
#line 5262 "robdd.c"
                  }
#line 335 "sparse_bitset.opt"
                if (mercury__robdd__succeeded)
#line 334 "sparse_bitset.opt"
                  {
#line 334 "sparse_bitset.opt"
                    mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_52_56_95_95_49_95_95_104_111_49_54_54_95_95_104_111_49_57_48_95_95_91_49_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_57_44_32_50_48_44_32_50_50_44_32_50_51_44_32_50_52_93_95_48_6_p_0(mercury__robdd__V_69_69, mercury__robdd__V_70_70, mercury__robdd__V_42_42, mercury__robdd__V_48_48, mercury__robdd__V_51_51, mercury__robdd__Elem_14_15, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, mercury__robdd__STATE_VARIABLE_Acc_20_14);
#line 334 "sparse_bitset.opt"
                    return;
                  }
#line 335 "sparse_bitset.opt"
                else
#line 336 "sparse_bitset.opt"
                  {
#line 339 "sparse_bitset.opt"
                    {
#line 339 "sparse_bitset.opt"
                      mercury__require__unexpected_3_p_0((MR_String) "sparse_bitset", (MR_String) "predicate \140sparse_bitset.fold_bits\'/7", (MR_String) "\140enum.from_int/1\' failed");
#line 339 "sparse_bitset.opt"
                      return;
                    }
#line 336 "sparse_bitset.opt"
                  }
#line 335 "sparse_bitset.opt"
              }
#line 342 "sparse_bitset.opt"
            else
#line 343 "sparse_bitset.opt"
              {
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__HalfSize_15_19 = (mercury__robdd__Size_12_12 >> (MR_Integer) 1);
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__Mask_16_21;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__LowBits_17_22;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__HighBits_18_23;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__V_26_24;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__V_4_96 = ((MR_Integer) -1 << mercury__robdd__HalfSize_15_19);

#line 513 "sparse_bitset.opt"
                mercury__robdd__Mask_16_21 = ~(mercury__robdd__V_4_96);
#line 346 "sparse_bitset.opt"
                mercury__robdd__LowBits_17_22 = (mercury__robdd__Mask_16_21 & mercury__robdd__Bits_11_11);
#line 348 "sparse_bitset.opt"
                mercury__robdd__V_26_24 = (mercury__robdd__Bits_11_11 >> mercury__robdd__HalfSize_15_19);
#line 347 "sparse_bitset.opt"
                mercury__robdd__HighBits_18_23 = (mercury__robdd__Mask_16_21 & mercury__robdd__V_26_24);
#line 354 "sparse_bitset.opt"
                if ((mercury__robdd__Dir_8_8 == (MR_Integer) 1))
#line 355 "sparse_bitset.opt"
                  {
#line 355 "sparse_bitset.opt"
                    MR_Integer mercury__robdd__V_27_27 = (mercury__robdd__Offset_10_10 + mercury__robdd__HalfSize_15_19);
#line 355 "sparse_bitset.opt"
                    MR_Word mercury__robdd__STATE_VARIABLE_Acc_28_28_28;

#line 357 "sparse_bitset.opt"
                    {
#line 357 "sparse_bitset.opt"
                      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_69_69, mercury__robdd__V_70_70, mercury__robdd__V_42_42, mercury__robdd__V_48_48, mercury__robdd__V_51_51, mercury__robdd__TypeClassInfo_for_enum_29, mercury__robdd__Dir_8_8, mercury__robdd__V_27_27, mercury__robdd__HighBits_18_23, mercury__robdd__HalfSize_15_19, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, &mercury__robdd__STATE_VARIABLE_Acc_28_28_28);
                    }
#line 358 "sparse_bitset.opt"
                    /* direct tailcall eliminated */
#line 358 "sparse_bitset.opt"
                    {
#line 358 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Bits_11__tmp_copy_11 = mercury__robdd__LowBits_17_22;
#line 358 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Size_12__tmp_copy_12 = mercury__robdd__HalfSize_15_19;
#line 358 "sparse_bitset.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13 = mercury__robdd__STATE_VARIABLE_Acc_28_28_28;

#line 358 "sparse_bitset.opt"
                      mercury__robdd__STATE_VARIABLE_Acc_0_19_13 = mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13;
#line 358 "sparse_bitset.opt"
                      mercury__robdd__Size_12_12 = mercury__robdd__Size_12__tmp_copy_12;
#line 358 "sparse_bitset.opt"
                      mercury__robdd__Bits_11_11 = mercury__robdd__Bits_11__tmp_copy_11;
#line 358 "sparse_bitset.opt"
                    }
#line 358 "sparse_bitset.opt"
                    continue;
#line 355 "sparse_bitset.opt"
                  }
#line 354 "sparse_bitset.opt"
                else
#line 350 "sparse_bitset.opt"
                  {
#line 350 "sparse_bitset.opt"
                    MR_Word mercury__robdd__STATE_VARIABLE_Acc_30_30_25;
#line 350 "sparse_bitset.opt"
                    MR_Integer mercury__robdd__V_31_26;

#line 351 "sparse_bitset.opt"
                    {
#line 351 "sparse_bitset.opt"
                      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_69_69, mercury__robdd__V_70_70, mercury__robdd__V_42_42, mercury__robdd__V_48_48, mercury__robdd__V_51_51, mercury__robdd__TypeClassInfo_for_enum_29, mercury__robdd__Dir_8_8, mercury__robdd__Offset_10_10, mercury__robdd__LowBits_17_22, mercury__robdd__HalfSize_15_19, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, &mercury__robdd__STATE_VARIABLE_Acc_30_30_25);
                    }
#line 352 "sparse_bitset.opt"
                    mercury__robdd__V_31_26 = (mercury__robdd__Offset_10_10 + mercury__robdd__HalfSize_15_19);
#line 353 "sparse_bitset.opt"
                    /* direct tailcall eliminated */
#line 353 "sparse_bitset.opt"
                    {
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Offset_10__tmp_copy_10 = mercury__robdd__V_31_26;
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Bits_11__tmp_copy_11 = mercury__robdd__HighBits_18_23;
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Size_12__tmp_copy_12 = mercury__robdd__HalfSize_15_19;
#line 353 "sparse_bitset.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13 = mercury__robdd__STATE_VARIABLE_Acc_30_30_25;

#line 353 "sparse_bitset.opt"
                      mercury__robdd__STATE_VARIABLE_Acc_0_19_13 = mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Size_12_12 = mercury__robdd__Size_12__tmp_copy_12;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Bits_11_11 = mercury__robdd__Bits_11__tmp_copy_11;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Offset_10_10 = mercury__robdd__Offset_10__tmp_copy_10;
#line 353 "sparse_bitset.opt"
                    }
#line 353 "sparse_bitset.opt"
                    continue;
#line 350 "sparse_bitset.opt"
                  }
#line 343 "sparse_bitset.opt"
              }
#line 342 "sparse_bitset.opt"
          }
#line 327 "sparse_bitset.opt"
      }
#line 327 "sparse_bitset.opt"
      break;
#line 327 "sparse_bitset.opt"
    }
#line 52 "sparse_bitset.opt"
}

#line 52 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_53_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_69_69,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_70_70,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_42_42,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_48_48,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_51_51,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_29,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__Dir_8_8,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Offset_10_10,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Bits_11_11,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Size_12_12,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19_13,
#line 52 "sparse_bitset.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Acc_20_14)
#line 52 "sparse_bitset.opt"
{
#line 327 "sparse_bitset.opt"
  while (MR_TRUE)
#line 327 "sparse_bitset.opt"
    {
#line 327 "sparse_bitset.opt"
      /* tailcall optimized into a loop */
#line 327 "sparse_bitset.opt"
      {
#line 327 "sparse_bitset.opt"
        MR_bool mercury__robdd__succeeded = (mercury__robdd__Bits_11_11 == (MR_Integer) 0);

#line 327 "sparse_bitset.opt"
        if (mercury__robdd__succeeded)
#line 326 "sparse_bitset.opt"
          *mercury__robdd__STATE_VARIABLE_Acc_20_14 = mercury__robdd__STATE_VARIABLE_Acc_0_19_13;
#line 327 "sparse_bitset.opt"
        else
#line 342 "sparse_bitset.opt"
          {
#line 329 "sparse_bitset.opt"
            mercury__robdd__succeeded = (mercury__robdd__Size_12_12 == (MR_Integer) 1);
#line 342 "sparse_bitset.opt"
            if (mercury__robdd__succeeded)
#line 335 "sparse_bitset.opt"
              {
#line 335 "sparse_bitset.opt"
                MR_Word mercury__robdd__Elem_14_15;
#line 5462 "robdd.c"
                MR_bool MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_29, (MR_Integer) 0)), (MR_Integer) 6)));
#line 5464 "robdd.c"
                MR_Box mercury__robdd__conv1_Elem_14_15;

#line 5467 "robdd.c"
                {
#line 5469 "robdd.c"
                  mercury__robdd__succeeded = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_29), ((MR_Box) (mercury__robdd__Offset_10_10)), &mercury__robdd__conv1_Elem_14_15);
                }
#line 5472 "robdd.c"
                if (mercury__robdd__succeeded)
#line 5474 "robdd.c"
                  {
#line 5476 "robdd.c"
                    mercury__robdd__Elem_14_15 = ((MR_Word) mercury__robdd__conv1_Elem_14_15);
#line 5478 "robdd.c"
                    mercury__robdd__succeeded = MR_TRUE;
#line 5480 "robdd.c"
                  }
#line 335 "sparse_bitset.opt"
                if (mercury__robdd__succeeded)
#line 334 "sparse_bitset.opt"
                  {
#line 334 "sparse_bitset.opt"
                    mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_52_56_95_95_49_95_95_104_111_49_54_54_95_95_104_111_49_57_50_95_95_91_49_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_57_44_32_50_48_44_32_50_50_44_32_50_51_44_32_50_52_93_95_48_6_p_0(mercury__robdd__V_69_69, mercury__robdd__V_70_70, mercury__robdd__V_42_42, mercury__robdd__V_48_48, mercury__robdd__V_51_51, mercury__robdd__Elem_14_15, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, mercury__robdd__STATE_VARIABLE_Acc_20_14);
#line 334 "sparse_bitset.opt"
                    return;
                  }
#line 335 "sparse_bitset.opt"
                else
#line 336 "sparse_bitset.opt"
                  {
#line 339 "sparse_bitset.opt"
                    {
#line 339 "sparse_bitset.opt"
                      mercury__require__unexpected_3_p_0((MR_String) "sparse_bitset", (MR_String) "predicate \140sparse_bitset.fold_bits\'/7", (MR_String) "\140enum.from_int/1\' failed");
#line 339 "sparse_bitset.opt"
                      return;
                    }
#line 336 "sparse_bitset.opt"
                  }
#line 335 "sparse_bitset.opt"
              }
#line 342 "sparse_bitset.opt"
            else
#line 343 "sparse_bitset.opt"
              {
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__HalfSize_15_19 = (mercury__robdd__Size_12_12 >> (MR_Integer) 1);
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__Mask_16_21;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__LowBits_17_22;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__HighBits_18_23;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__V_26_24;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__V_4_96 = ((MR_Integer) -1 << mercury__robdd__HalfSize_15_19);

#line 513 "sparse_bitset.opt"
                mercury__robdd__Mask_16_21 = ~(mercury__robdd__V_4_96);
#line 346 "sparse_bitset.opt"
                mercury__robdd__LowBits_17_22 = (mercury__robdd__Mask_16_21 & mercury__robdd__Bits_11_11);
#line 348 "sparse_bitset.opt"
                mercury__robdd__V_26_24 = (mercury__robdd__Bits_11_11 >> mercury__robdd__HalfSize_15_19);
#line 347 "sparse_bitset.opt"
                mercury__robdd__HighBits_18_23 = (mercury__robdd__Mask_16_21 & mercury__robdd__V_26_24);
#line 354 "sparse_bitset.opt"
                if ((mercury__robdd__Dir_8_8 == (MR_Integer) 1))
#line 355 "sparse_bitset.opt"
                  {
#line 355 "sparse_bitset.opt"
                    MR_Integer mercury__robdd__V_27_27 = (mercury__robdd__Offset_10_10 + mercury__robdd__HalfSize_15_19);
#line 355 "sparse_bitset.opt"
                    MR_Word mercury__robdd__STATE_VARIABLE_Acc_28_28_28;

#line 357 "sparse_bitset.opt"
                    {
#line 357 "sparse_bitset.opt"
                      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_53_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_69_69, mercury__robdd__V_70_70, mercury__robdd__V_42_42, mercury__robdd__V_48_48, mercury__robdd__V_51_51, mercury__robdd__TypeClassInfo_for_enum_29, mercury__robdd__Dir_8_8, mercury__robdd__V_27_27, mercury__robdd__HighBits_18_23, mercury__robdd__HalfSize_15_19, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, &mercury__robdd__STATE_VARIABLE_Acc_28_28_28);
                    }
#line 358 "sparse_bitset.opt"
                    /* direct tailcall eliminated */
#line 358 "sparse_bitset.opt"
                    {
#line 358 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Bits_11__tmp_copy_11 = mercury__robdd__LowBits_17_22;
#line 358 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Size_12__tmp_copy_12 = mercury__robdd__HalfSize_15_19;
#line 358 "sparse_bitset.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13 = mercury__robdd__STATE_VARIABLE_Acc_28_28_28;

#line 358 "sparse_bitset.opt"
                      mercury__robdd__STATE_VARIABLE_Acc_0_19_13 = mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13;
#line 358 "sparse_bitset.opt"
                      mercury__robdd__Size_12_12 = mercury__robdd__Size_12__tmp_copy_12;
#line 358 "sparse_bitset.opt"
                      mercury__robdd__Bits_11_11 = mercury__robdd__Bits_11__tmp_copy_11;
#line 358 "sparse_bitset.opt"
                    }
#line 358 "sparse_bitset.opt"
                    continue;
#line 355 "sparse_bitset.opt"
                  }
#line 354 "sparse_bitset.opt"
                else
#line 350 "sparse_bitset.opt"
                  {
#line 350 "sparse_bitset.opt"
                    MR_Word mercury__robdd__STATE_VARIABLE_Acc_30_30_25;
#line 350 "sparse_bitset.opt"
                    MR_Integer mercury__robdd__V_31_26;

#line 351 "sparse_bitset.opt"
                    {
#line 351 "sparse_bitset.opt"
                      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_53_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_69_69, mercury__robdd__V_70_70, mercury__robdd__V_42_42, mercury__robdd__V_48_48, mercury__robdd__V_51_51, mercury__robdd__TypeClassInfo_for_enum_29, mercury__robdd__Dir_8_8, mercury__robdd__Offset_10_10, mercury__robdd__LowBits_17_22, mercury__robdd__HalfSize_15_19, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, &mercury__robdd__STATE_VARIABLE_Acc_30_30_25);
                    }
#line 352 "sparse_bitset.opt"
                    mercury__robdd__V_31_26 = (mercury__robdd__Offset_10_10 + mercury__robdd__HalfSize_15_19);
#line 353 "sparse_bitset.opt"
                    /* direct tailcall eliminated */
#line 353 "sparse_bitset.opt"
                    {
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Offset_10__tmp_copy_10 = mercury__robdd__V_31_26;
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Bits_11__tmp_copy_11 = mercury__robdd__HighBits_18_23;
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Size_12__tmp_copy_12 = mercury__robdd__HalfSize_15_19;
#line 353 "sparse_bitset.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13 = mercury__robdd__STATE_VARIABLE_Acc_30_30_25;

#line 353 "sparse_bitset.opt"
                      mercury__robdd__STATE_VARIABLE_Acc_0_19_13 = mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Size_12_12 = mercury__robdd__Size_12__tmp_copy_12;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Bits_11_11 = mercury__robdd__Bits_11__tmp_copy_11;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Offset_10_10 = mercury__robdd__Offset_10__tmp_copy_10;
#line 353 "sparse_bitset.opt"
                    }
#line 353 "sparse_bitset.opt"
                    continue;
#line 350 "sparse_bitset.opt"
                  }
#line 343 "sparse_bitset.opt"
              }
#line 342 "sparse_bitset.opt"
          }
#line 327 "sparse_bitset.opt"
      }
#line 327 "sparse_bitset.opt"
      break;
#line 327 "sparse_bitset.opt"
    }
#line 52 "sparse_bitset.opt"
}

#line 52 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_52_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_69_69,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_70_70,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_42_42,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_48_48,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_51_51,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_29,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__Dir_8_8,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Offset_10_10,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Bits_11_11,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Size_12_12,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19_13,
#line 52 "sparse_bitset.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Acc_20_14)
#line 52 "sparse_bitset.opt"
{
#line 327 "sparse_bitset.opt"
  while (MR_TRUE)
#line 327 "sparse_bitset.opt"
    {
#line 327 "sparse_bitset.opt"
      /* tailcall optimized into a loop */
#line 327 "sparse_bitset.opt"
      {
#line 327 "sparse_bitset.opt"
        MR_bool mercury__robdd__succeeded = (mercury__robdd__Bits_11_11 == (MR_Integer) 0);

#line 327 "sparse_bitset.opt"
        if (mercury__robdd__succeeded)
#line 326 "sparse_bitset.opt"
          *mercury__robdd__STATE_VARIABLE_Acc_20_14 = mercury__robdd__STATE_VARIABLE_Acc_0_19_13;
#line 327 "sparse_bitset.opt"
        else
#line 342 "sparse_bitset.opt"
          {
#line 329 "sparse_bitset.opt"
            mercury__robdd__succeeded = (mercury__robdd__Size_12_12 == (MR_Integer) 1);
#line 342 "sparse_bitset.opt"
            if (mercury__robdd__succeeded)
#line 335 "sparse_bitset.opt"
              {
#line 335 "sparse_bitset.opt"
                MR_Word mercury__robdd__Elem_14_15;
#line 5680 "robdd.c"
                MR_bool MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_29, (MR_Integer) 0)), (MR_Integer) 6)));
#line 5682 "robdd.c"
                MR_Box mercury__robdd__conv1_Elem_14_15;

#line 5685 "robdd.c"
                {
#line 5687 "robdd.c"
                  mercury__robdd__succeeded = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_29), ((MR_Box) (mercury__robdd__Offset_10_10)), &mercury__robdd__conv1_Elem_14_15);
                }
#line 5690 "robdd.c"
                if (mercury__robdd__succeeded)
#line 5692 "robdd.c"
                  {
#line 5694 "robdd.c"
                    mercury__robdd__Elem_14_15 = ((MR_Word) mercury__robdd__conv1_Elem_14_15);
#line 5696 "robdd.c"
                    mercury__robdd__succeeded = MR_TRUE;
#line 5698 "robdd.c"
                  }
#line 335 "sparse_bitset.opt"
                if (mercury__robdd__succeeded)
#line 334 "sparse_bitset.opt"
                  {
#line 334 "sparse_bitset.opt"
                    mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_52_56_95_95_49_95_95_104_111_49_54_54_95_95_104_111_49_57_52_95_95_91_49_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_57_44_32_50_48_44_32_50_50_44_32_50_51_44_32_50_52_93_95_48_6_p_0(mercury__robdd__V_69_69, mercury__robdd__V_70_70, mercury__robdd__V_42_42, mercury__robdd__V_48_48, mercury__robdd__V_51_51, mercury__robdd__Elem_14_15, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, mercury__robdd__STATE_VARIABLE_Acc_20_14);
#line 334 "sparse_bitset.opt"
                    return;
                  }
#line 335 "sparse_bitset.opt"
                else
#line 336 "sparse_bitset.opt"
                  {
#line 339 "sparse_bitset.opt"
                    {
#line 339 "sparse_bitset.opt"
                      mercury__require__unexpected_3_p_0((MR_String) "sparse_bitset", (MR_String) "predicate \140sparse_bitset.fold_bits\'/7", (MR_String) "\140enum.from_int/1\' failed");
#line 339 "sparse_bitset.opt"
                      return;
                    }
#line 336 "sparse_bitset.opt"
                  }
#line 335 "sparse_bitset.opt"
              }
#line 342 "sparse_bitset.opt"
            else
#line 343 "sparse_bitset.opt"
              {
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__HalfSize_15_19 = (mercury__robdd__Size_12_12 >> (MR_Integer) 1);
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__Mask_16_21;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__LowBits_17_22;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__HighBits_18_23;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__V_26_24;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__V_4_96 = ((MR_Integer) -1 << mercury__robdd__HalfSize_15_19);

#line 513 "sparse_bitset.opt"
                mercury__robdd__Mask_16_21 = ~(mercury__robdd__V_4_96);
#line 346 "sparse_bitset.opt"
                mercury__robdd__LowBits_17_22 = (mercury__robdd__Mask_16_21 & mercury__robdd__Bits_11_11);
#line 348 "sparse_bitset.opt"
                mercury__robdd__V_26_24 = (mercury__robdd__Bits_11_11 >> mercury__robdd__HalfSize_15_19);
#line 347 "sparse_bitset.opt"
                mercury__robdd__HighBits_18_23 = (mercury__robdd__Mask_16_21 & mercury__robdd__V_26_24);
#line 354 "sparse_bitset.opt"
                if ((mercury__robdd__Dir_8_8 == (MR_Integer) 1))
#line 355 "sparse_bitset.opt"
                  {
#line 355 "sparse_bitset.opt"
                    MR_Integer mercury__robdd__V_27_27 = (mercury__robdd__Offset_10_10 + mercury__robdd__HalfSize_15_19);
#line 355 "sparse_bitset.opt"
                    MR_Word mercury__robdd__STATE_VARIABLE_Acc_28_28_28;

#line 357 "sparse_bitset.opt"
                    {
#line 357 "sparse_bitset.opt"
                      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_52_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_69_69, mercury__robdd__V_70_70, mercury__robdd__V_42_42, mercury__robdd__V_48_48, mercury__robdd__V_51_51, mercury__robdd__TypeClassInfo_for_enum_29, mercury__robdd__Dir_8_8, mercury__robdd__V_27_27, mercury__robdd__HighBits_18_23, mercury__robdd__HalfSize_15_19, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, &mercury__robdd__STATE_VARIABLE_Acc_28_28_28);
                    }
#line 358 "sparse_bitset.opt"
                    /* direct tailcall eliminated */
#line 358 "sparse_bitset.opt"
                    {
#line 358 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Bits_11__tmp_copy_11 = mercury__robdd__LowBits_17_22;
#line 358 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Size_12__tmp_copy_12 = mercury__robdd__HalfSize_15_19;
#line 358 "sparse_bitset.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13 = mercury__robdd__STATE_VARIABLE_Acc_28_28_28;

#line 358 "sparse_bitset.opt"
                      mercury__robdd__STATE_VARIABLE_Acc_0_19_13 = mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13;
#line 358 "sparse_bitset.opt"
                      mercury__robdd__Size_12_12 = mercury__robdd__Size_12__tmp_copy_12;
#line 358 "sparse_bitset.opt"
                      mercury__robdd__Bits_11_11 = mercury__robdd__Bits_11__tmp_copy_11;
#line 358 "sparse_bitset.opt"
                    }
#line 358 "sparse_bitset.opt"
                    continue;
#line 355 "sparse_bitset.opt"
                  }
#line 354 "sparse_bitset.opt"
                else
#line 350 "sparse_bitset.opt"
                  {
#line 350 "sparse_bitset.opt"
                    MR_Word mercury__robdd__STATE_VARIABLE_Acc_30_30_25;
#line 350 "sparse_bitset.opt"
                    MR_Integer mercury__robdd__V_31_26;

#line 351 "sparse_bitset.opt"
                    {
#line 351 "sparse_bitset.opt"
                      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_52_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_69_69, mercury__robdd__V_70_70, mercury__robdd__V_42_42, mercury__robdd__V_48_48, mercury__robdd__V_51_51, mercury__robdd__TypeClassInfo_for_enum_29, mercury__robdd__Dir_8_8, mercury__robdd__Offset_10_10, mercury__robdd__LowBits_17_22, mercury__robdd__HalfSize_15_19, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, &mercury__robdd__STATE_VARIABLE_Acc_30_30_25);
                    }
#line 352 "sparse_bitset.opt"
                    mercury__robdd__V_31_26 = (mercury__robdd__Offset_10_10 + mercury__robdd__HalfSize_15_19);
#line 353 "sparse_bitset.opt"
                    /* direct tailcall eliminated */
#line 353 "sparse_bitset.opt"
                    {
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Offset_10__tmp_copy_10 = mercury__robdd__V_31_26;
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Bits_11__tmp_copy_11 = mercury__robdd__HighBits_18_23;
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Size_12__tmp_copy_12 = mercury__robdd__HalfSize_15_19;
#line 353 "sparse_bitset.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13 = mercury__robdd__STATE_VARIABLE_Acc_30_30_25;

#line 353 "sparse_bitset.opt"
                      mercury__robdd__STATE_VARIABLE_Acc_0_19_13 = mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Size_12_12 = mercury__robdd__Size_12__tmp_copy_12;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Bits_11_11 = mercury__robdd__Bits_11__tmp_copy_11;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Offset_10_10 = mercury__robdd__Offset_10__tmp_copy_10;
#line 353 "sparse_bitset.opt"
                    }
#line 353 "sparse_bitset.opt"
                    continue;
#line 350 "sparse_bitset.opt"
                  }
#line 343 "sparse_bitset.opt"
              }
#line 342 "sparse_bitset.opt"
          }
#line 327 "sparse_bitset.opt"
      }
#line 327 "sparse_bitset.opt"
      break;
#line 327 "sparse_bitset.opt"
    }
#line 52 "sparse_bitset.opt"
}

#line 13 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_54_95_95_104_111_49_56_51_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_52_57_93_95_48_4_p_in__sparse_bitset_0(
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_60_60,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_61_61,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_33_33,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_42_42,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_20,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 13 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__4_4)
#line 13 "sparse_bitset.opt"
{
#line 284 "sparse_bitset.opt"
  while (MR_TRUE)
#line 284 "sparse_bitset.opt"
    {
#line 284 "sparse_bitset.opt"
      /* tailcall optimized into a loop */
#line 284 "sparse_bitset.opt"
      {
#line 284 "sparse_bitset.opt"
        MR_bool mercury__robdd__succeeded;

#line 284 "sparse_bitset.opt"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 284 "sparse_bitset.opt"
          *mercury__robdd__HeadVar__4_4 = mercury__robdd__HeadVar__3_3;
#line 284 "sparse_bitset.opt"
        else
#line 286 "sparse_bitset.opt"
          {
#line 286 "sparse_bitset.opt"
            MR_Word mercury__robdd__H_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 286 "sparse_bitset.opt"
            MR_Word mercury__robdd__T_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 286 "sparse_bitset.opt"
            MR_Integer mercury__robdd__V_22_16 = ((MR_Integer) (MR_hl_field(MR_mktag(0), mercury__robdd__H_10_9, (MR_Integer) 0)));
#line 286 "sparse_bitset.opt"
            MR_Integer mercury__robdd__V_17_17 = ((MR_Integer) (MR_hl_field(MR_mktag(0), mercury__robdd__H_10_9, (MR_Integer) 1)));
#line 286 "sparse_bitset.opt"
            MR_Integer mercury__robdd__V_18_18;
#line 286 "sparse_bitset.opt"
            MR_Word mercury__robdd__STATE_VARIABLE_Acc_19_19_19;

#line 171 "int.opt"
{
#define MR_PROC_LABEL mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_54_95_95_104_111_49_56_51_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_52_57_93_95_48_4_p_in__sparse_bitset_0

	MR_Integer Bits;

		{
#line 171 "int.opt"

    Bits = ML_BITS_PER_INT;

#line 5908 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__V_18_18  = Bits;
#line 171 "int.opt"
}
#line 291 "sparse_bitset.opt"
            {
#line 291 "sparse_bitset.opt"
              mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_52_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_60_60, mercury__robdd__V_61_61, mercury__robdd__V_33_33, mercury__robdd__V_39_39, mercury__robdd__V_42_42, mercury__robdd__TypeClassInfo_for_enum_20, (MR_Integer) 0, mercury__robdd__V_22_16, mercury__robdd__V_17_17, mercury__robdd__V_18_18, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_Acc_19_19_19);
            }
#line 292 "sparse_bitset.opt"
            /* direct tailcall eliminated */
#line 292 "sparse_bitset.opt"
            {
#line 292 "sparse_bitset.opt"
              MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T_11_10;
#line 292 "sparse_bitset.opt"
              MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_Acc_19_19_19;

#line 292 "sparse_bitset.opt"
              mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 292 "sparse_bitset.opt"
              mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 292 "sparse_bitset.opt"
            }
#line 292 "sparse_bitset.opt"
            continue;
#line 286 "sparse_bitset.opt"
          }
#line 284 "sparse_bitset.opt"
      }
#line 284 "sparse_bitset.opt"
      break;
#line 284 "sparse_bitset.opt"
    }
#line 13 "sparse_bitset.opt"
}

#line 13 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_54_95_95_104_111_49_56_50_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_52_57_93_95_48_4_p_in__sparse_bitset_0(
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_60_60,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_61_61,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_33_33,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_42_42,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_20,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 13 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__4_4)
#line 13 "sparse_bitset.opt"
{
#line 284 "sparse_bitset.opt"
  while (MR_TRUE)
#line 284 "sparse_bitset.opt"
    {
#line 284 "sparse_bitset.opt"
      /* tailcall optimized into a loop */
#line 284 "sparse_bitset.opt"
      {
#line 284 "sparse_bitset.opt"
        MR_bool mercury__robdd__succeeded;

#line 284 "sparse_bitset.opt"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 284 "sparse_bitset.opt"
          *mercury__robdd__HeadVar__4_4 = mercury__robdd__HeadVar__3_3;
#line 284 "sparse_bitset.opt"
        else
#line 286 "sparse_bitset.opt"
          {
#line 286 "sparse_bitset.opt"
            MR_Word mercury__robdd__H_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 286 "sparse_bitset.opt"
            MR_Word mercury__robdd__T_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 286 "sparse_bitset.opt"
            MR_Integer mercury__robdd__V_22_16 = ((MR_Integer) (MR_hl_field(MR_mktag(0), mercury__robdd__H_10_9, (MR_Integer) 0)));
#line 286 "sparse_bitset.opt"
            MR_Integer mercury__robdd__V_17_17 = ((MR_Integer) (MR_hl_field(MR_mktag(0), mercury__robdd__H_10_9, (MR_Integer) 1)));
#line 286 "sparse_bitset.opt"
            MR_Integer mercury__robdd__V_18_18;
#line 286 "sparse_bitset.opt"
            MR_Word mercury__robdd__STATE_VARIABLE_Acc_19_19_19;

#line 171 "int.opt"
{
#define MR_PROC_LABEL mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_54_95_95_104_111_49_56_50_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_52_57_93_95_48_4_p_in__sparse_bitset_0

	MR_Integer Bits;

		{
#line 171 "int.opt"

    Bits = ML_BITS_PER_INT;

#line 6014 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__V_18_18  = Bits;
#line 171 "int.opt"
}
#line 291 "sparse_bitset.opt"
            {
#line 291 "sparse_bitset.opt"
              mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_53_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_60_60, mercury__robdd__V_61_61, mercury__robdd__V_33_33, mercury__robdd__V_39_39, mercury__robdd__V_42_42, mercury__robdd__TypeClassInfo_for_enum_20, (MR_Integer) 0, mercury__robdd__V_22_16, mercury__robdd__V_17_17, mercury__robdd__V_18_18, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_Acc_19_19_19);
            }
#line 292 "sparse_bitset.opt"
            /* direct tailcall eliminated */
#line 292 "sparse_bitset.opt"
            {
#line 292 "sparse_bitset.opt"
              MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T_11_10;
#line 292 "sparse_bitset.opt"
              MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_Acc_19_19_19;

#line 292 "sparse_bitset.opt"
              mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 292 "sparse_bitset.opt"
              mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 292 "sparse_bitset.opt"
            }
#line 292 "sparse_bitset.opt"
            continue;
#line 286 "sparse_bitset.opt"
          }
#line 284 "sparse_bitset.opt"
      }
#line 284 "sparse_bitset.opt"
      break;
#line 284 "sparse_bitset.opt"
    }
#line 13 "sparse_bitset.opt"
}

#line 13 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_54_95_95_104_111_49_56_49_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_52_57_93_95_48_4_p_in__sparse_bitset_0(
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_60_60,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_61_61,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_33_33,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_42_42,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_20,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 13 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__4_4)
#line 13 "sparse_bitset.opt"
{
#line 284 "sparse_bitset.opt"
  while (MR_TRUE)
#line 284 "sparse_bitset.opt"
    {
#line 284 "sparse_bitset.opt"
      /* tailcall optimized into a loop */
#line 284 "sparse_bitset.opt"
      {
#line 284 "sparse_bitset.opt"
        MR_bool mercury__robdd__succeeded;

#line 284 "sparse_bitset.opt"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 284 "sparse_bitset.opt"
          *mercury__robdd__HeadVar__4_4 = mercury__robdd__HeadVar__3_3;
#line 284 "sparse_bitset.opt"
        else
#line 286 "sparse_bitset.opt"
          {
#line 286 "sparse_bitset.opt"
            MR_Word mercury__robdd__H_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 286 "sparse_bitset.opt"
            MR_Word mercury__robdd__T_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 286 "sparse_bitset.opt"
            MR_Integer mercury__robdd__V_22_16 = ((MR_Integer) (MR_hl_field(MR_mktag(0), mercury__robdd__H_10_9, (MR_Integer) 0)));
#line 286 "sparse_bitset.opt"
            MR_Integer mercury__robdd__V_17_17 = ((MR_Integer) (MR_hl_field(MR_mktag(0), mercury__robdd__H_10_9, (MR_Integer) 1)));
#line 286 "sparse_bitset.opt"
            MR_Integer mercury__robdd__V_18_18;
#line 286 "sparse_bitset.opt"
            MR_Word mercury__robdd__STATE_VARIABLE_Acc_19_19_19;

#line 171 "int.opt"
{
#define MR_PROC_LABEL mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_54_95_95_104_111_49_56_49_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_52_57_93_95_48_4_p_in__sparse_bitset_0

	MR_Integer Bits;

		{
#line 171 "int.opt"

    Bits = ML_BITS_PER_INT;

#line 6120 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__V_18_18  = Bits;
#line 171 "int.opt"
}
#line 291 "sparse_bitset.opt"
            {
#line 291 "sparse_bitset.opt"
              mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_60_60, mercury__robdd__V_61_61, mercury__robdd__V_33_33, mercury__robdd__V_39_39, mercury__robdd__V_42_42, mercury__robdd__TypeClassInfo_for_enum_20, (MR_Integer) 0, mercury__robdd__V_22_16, mercury__robdd__V_17_17, mercury__robdd__V_18_18, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_Acc_19_19_19);
            }
#line 292 "sparse_bitset.opt"
            /* direct tailcall eliminated */
#line 292 "sparse_bitset.opt"
            {
#line 292 "sparse_bitset.opt"
              MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T_11_10;
#line 292 "sparse_bitset.opt"
              MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_Acc_19_19_19;

#line 292 "sparse_bitset.opt"
              mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 292 "sparse_bitset.opt"
              mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 292 "sparse_bitset.opt"
            }
#line 292 "sparse_bitset.opt"
            continue;
#line 286 "sparse_bitset.opt"
          }
#line 284 "sparse_bitset.opt"
      }
#line 284 "sparse_bitset.opt"
      break;
#line 284 "sparse_bitset.opt"
    }
#line 13 "sparse_bitset.opt"
}

#line 13 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_54_95_95_104_111_49_56_48_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_52_57_93_95_48_4_p_in__sparse_bitset_0(
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_60_60,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_61_61,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_33_33,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_42_42,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_20,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 13 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__4_4)
#line 13 "sparse_bitset.opt"
{
#line 284 "sparse_bitset.opt"
  while (MR_TRUE)
#line 284 "sparse_bitset.opt"
    {
#line 284 "sparse_bitset.opt"
      /* tailcall optimized into a loop */
#line 284 "sparse_bitset.opt"
      {
#line 284 "sparse_bitset.opt"
        MR_bool mercury__robdd__succeeded;

#line 284 "sparse_bitset.opt"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 284 "sparse_bitset.opt"
          *mercury__robdd__HeadVar__4_4 = mercury__robdd__HeadVar__3_3;
#line 284 "sparse_bitset.opt"
        else
#line 286 "sparse_bitset.opt"
          {
#line 286 "sparse_bitset.opt"
            MR_Word mercury__robdd__H_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 286 "sparse_bitset.opt"
            MR_Word mercury__robdd__T_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 286 "sparse_bitset.opt"
            MR_Integer mercury__robdd__V_22_16 = ((MR_Integer) (MR_hl_field(MR_mktag(0), mercury__robdd__H_10_9, (MR_Integer) 0)));
#line 286 "sparse_bitset.opt"
            MR_Integer mercury__robdd__V_17_17 = ((MR_Integer) (MR_hl_field(MR_mktag(0), mercury__robdd__H_10_9, (MR_Integer) 1)));
#line 286 "sparse_bitset.opt"
            MR_Integer mercury__robdd__V_18_18;
#line 286 "sparse_bitset.opt"
            MR_Word mercury__robdd__STATE_VARIABLE_Acc_19_19_19;

#line 171 "int.opt"
{
#define MR_PROC_LABEL mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_54_95_95_104_111_49_56_48_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_52_57_93_95_48_4_p_in__sparse_bitset_0

	MR_Integer Bits;

		{
#line 171 "int.opt"

    Bits = ML_BITS_PER_INT;

#line 6226 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__V_18_18  = Bits;
#line 171 "int.opt"
}
#line 291 "sparse_bitset.opt"
            {
#line 291 "sparse_bitset.opt"
              mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_49_57_95_95_104_111_49_56_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_53_48_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_60_60, mercury__robdd__V_61_61, mercury__robdd__V_33_33, mercury__robdd__V_39_39, mercury__robdd__V_42_42, mercury__robdd__TypeClassInfo_for_enum_20, (MR_Integer) 0, mercury__robdd__V_22_16, mercury__robdd__V_17_17, mercury__robdd__V_18_18, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_Acc_19_19_19);
            }
#line 292 "sparse_bitset.opt"
            /* direct tailcall eliminated */
#line 292 "sparse_bitset.opt"
            {
#line 292 "sparse_bitset.opt"
              MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T_11_10;
#line 292 "sparse_bitset.opt"
              MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_Acc_19_19_19;

#line 292 "sparse_bitset.opt"
              mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 292 "sparse_bitset.opt"
              mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 292 "sparse_bitset.opt"
            }
#line 292 "sparse_bitset.opt"
            continue;
#line 286 "sparse_bitset.opt"
          }
#line 284 "sparse_bitset.opt"
      }
#line 284 "sparse_bitset.opt"
      break;
#line 284 "sparse_bitset.opt"
    }
#line 13 "sparse_bitset.opt"
}

#line 1354 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_52_95_95_49_95_95_104_111_49_55_53_95_95_91_52_44_32_53_93_95_48_6_f_0(
#line 1354 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_16,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_17,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__6_18)
#line 1354 "robdd.m"
{
#line 1354 "robdd.m"
  {
#line 1354 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__HeadVar__7_19;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_39_39 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_40_40;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_41 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__TypeClassInfo_for_enum_42;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__Set_6_50;

#line 6300 "robdd.c"
    {
#line 6302 "robdd.c"
      mercury__robdd__TypeInfo_40_40 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 6304 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_40_40, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_39_39));
#line 6306 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_40_40, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_32));
#line 6308 "robdd.c"
    }
#line 6310 "robdd.c"
    {
#line 6312 "robdd.c"
      mercury__robdd__TypeClassInfo_for_enum_42 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 6314 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_42, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_41));
#line 6316 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_42, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_32));
#line 6318 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_42, 2) = ((MR_Box) (mercury__robdd__TypeInfo_40_40));
#line 6320 "robdd.c"
    }
#line 243 "sparse_bitset.opt"
    mercury__robdd__Set_6_50 = (MR_Word) mercury__robdd__HeadVar__5_17;
#line 253 "sparse_bitset.opt"
    {
#line 253 "sparse_bitset.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_54_95_95_104_111_49_56_51_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_52_57_93_95_48_4_p_in__sparse_bitset_0(mercury__robdd__V_45_45, mercury__robdd__V_46_46, mercury__robdd__TypeInfo_for_T_32, mercury__robdd__TypeInfo_for_T_32, mercury__robdd__HeadVar__4_16, mercury__robdd__TypeClassInfo_for_enum_42, mercury__robdd__Set_6_50, mercury__robdd__HeadVar__6_18, &mercury__robdd__HeadVar__7_19);
    }
#line 1354 "robdd.m"
    return mercury__robdd__HeadVar__7_19;
#line 1354 "robdd.m"
  }
#line 1354 "robdd.m"
}

#line 1354 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_52_95_95_49_95_95_104_111_49_55_52_95_95_91_52_44_32_53_93_95_48_6_f_0(
#line 1354 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_16,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_17,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__6_18)
#line 1354 "robdd.m"
{
#line 1354 "robdd.m"
  {
#line 1354 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__HeadVar__7_19;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_39_39 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_40_40;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_41 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__TypeClassInfo_for_enum_42;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__Set_6_50;

#line 6370 "robdd.c"
    {
#line 6372 "robdd.c"
      mercury__robdd__TypeInfo_40_40 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 6374 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_40_40, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_39_39));
#line 6376 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_40_40, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_32));
#line 6378 "robdd.c"
    }
#line 6380 "robdd.c"
    {
#line 6382 "robdd.c"
      mercury__robdd__TypeClassInfo_for_enum_42 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 6384 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_42, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_41));
#line 6386 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_42, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_32));
#line 6388 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_42, 2) = ((MR_Box) (mercury__robdd__TypeInfo_40_40));
#line 6390 "robdd.c"
    }
#line 243 "sparse_bitset.opt"
    mercury__robdd__Set_6_50 = (MR_Word) mercury__robdd__HeadVar__5_17;
#line 253 "sparse_bitset.opt"
    {
#line 253 "sparse_bitset.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_54_95_95_104_111_49_56_50_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_52_57_93_95_48_4_p_in__sparse_bitset_0(mercury__robdd__V_45_45, mercury__robdd__V_46_46, mercury__robdd__TypeInfo_for_T_32, mercury__robdd__TypeInfo_for_T_32, mercury__robdd__HeadVar__4_16, mercury__robdd__TypeClassInfo_for_enum_42, mercury__robdd__Set_6_50, mercury__robdd__HeadVar__6_18, &mercury__robdd__HeadVar__7_19);
    }
#line 1354 "robdd.m"
    return mercury__robdd__HeadVar__7_19;
#line 1354 "robdd.m"
  }
#line 1354 "robdd.m"
}

#line 1354 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_52_95_95_49_95_95_104_111_49_55_51_95_95_91_52_44_32_53_93_95_48_6_f_0(
#line 1354 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_16,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_17,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__6_18)
#line 1354 "robdd.m"
{
#line 1354 "robdd.m"
  {
#line 1354 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__HeadVar__7_19;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_39_39 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_40_40;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_41 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__TypeClassInfo_for_enum_42;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__Set_6_50;

#line 6440 "robdd.c"
    {
#line 6442 "robdd.c"
      mercury__robdd__TypeInfo_40_40 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 6444 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_40_40, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_39_39));
#line 6446 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_40_40, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_32));
#line 6448 "robdd.c"
    }
#line 6450 "robdd.c"
    {
#line 6452 "robdd.c"
      mercury__robdd__TypeClassInfo_for_enum_42 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 6454 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_42, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_41));
#line 6456 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_42, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_32));
#line 6458 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_42, 2) = ((MR_Box) (mercury__robdd__TypeInfo_40_40));
#line 6460 "robdd.c"
    }
#line 243 "sparse_bitset.opt"
    mercury__robdd__Set_6_50 = (MR_Word) mercury__robdd__HeadVar__5_17;
#line 253 "sparse_bitset.opt"
    {
#line 253 "sparse_bitset.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_54_95_95_104_111_49_56_49_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_52_57_93_95_48_4_p_in__sparse_bitset_0(mercury__robdd__V_45_45, mercury__robdd__V_46_46, mercury__robdd__TypeInfo_for_T_32, mercury__robdd__TypeInfo_for_T_32, mercury__robdd__HeadVar__4_16, mercury__robdd__TypeClassInfo_for_enum_42, mercury__robdd__Set_6_50, mercury__robdd__HeadVar__6_18, &mercury__robdd__HeadVar__7_19);
    }
#line 1354 "robdd.m"
    return mercury__robdd__HeadVar__7_19;
#line 1354 "robdd.m"
  }
#line 1354 "robdd.m"
}

#line 1354 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_52_95_95_49_95_95_104_111_49_55_50_95_95_91_52_44_32_53_93_95_48_6_f_0(
#line 1354 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_16,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_17,
#line 1354 "robdd.m"
  MR_Word mercury__robdd__HeadVar__6_18)
#line 1354 "robdd.m"
{
#line 1354 "robdd.m"
  {
#line 1354 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__HeadVar__7_19;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_39_39 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_40_40;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_41 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__TypeClassInfo_for_enum_42;
#line 1354 "robdd.m"
    MR_Word mercury__robdd__Set_6_50;

#line 6510 "robdd.c"
    {
#line 6512 "robdd.c"
      mercury__robdd__TypeInfo_40_40 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 6514 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_40_40, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_39_39));
#line 6516 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_40_40, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_32));
#line 6518 "robdd.c"
    }
#line 6520 "robdd.c"
    {
#line 6522 "robdd.c"
      mercury__robdd__TypeClassInfo_for_enum_42 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 6524 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_42, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_41));
#line 6526 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_42, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_32));
#line 6528 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_42, 2) = ((MR_Box) (mercury__robdd__TypeInfo_40_40));
#line 6530 "robdd.c"
    }
#line 243 "sparse_bitset.opt"
    mercury__robdd__Set_6_50 = (MR_Word) mercury__robdd__HeadVar__5_17;
#line 253 "sparse_bitset.opt"
    {
#line 253 "sparse_bitset.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_54_95_95_104_111_49_56_48_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_44_32_51_53_44_32_51_54_44_32_51_55_44_32_51_56_44_32_52_48_44_32_52_49_44_32_52_50_44_32_52_52_44_32_52_53_44_32_52_55_44_32_52_57_93_95_48_4_p_in__sparse_bitset_0(mercury__robdd__V_45_45, mercury__robdd__V_46_46, mercury__robdd__TypeInfo_for_T_32, mercury__robdd__TypeInfo_for_T_32, mercury__robdd__HeadVar__4_16, mercury__robdd__TypeClassInfo_for_enum_42, mercury__robdd__Set_6_50, mercury__robdd__HeadVar__6_18, &mercury__robdd__HeadVar__7_19);
    }
#line 1354 "robdd.m"
    return mercury__robdd__HeadVar__7_19;
#line 1354 "robdd.m"
  }
#line 1354 "robdd.m"
}

#line 210 "map.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_55_49_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(
#line 210 "map.opt"
  MR_Word mercury__robdd__V_33_33,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_40_40,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_43_43,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_44_44,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__5_21,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__6_22,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__7_23,
#line 210 "map.opt"
  MR_Word * mercury__robdd__HeadVar__8_24)
#line 210 "map.opt"
{
#line 210 "map.opt"
  {
#line 210 "map.opt"
    MR_bool mercury__robdd__succeeded;

#line 210 "map.opt"
    {
#line 210 "map.opt"
      *mercury__robdd__HeadVar__8_24 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_52_95_95_49_95_95_104_111_49_55_50_95_95_91_52_44_32_53_93_95_48_6_f_0(mercury__robdd__V_43_43, mercury__robdd__V_44_44, mercury__robdd__V_40_40, mercury__robdd__HeadVar__5_21, mercury__robdd__HeadVar__6_22, mercury__robdd__HeadVar__7_23);
    }
#line 210 "map.opt"
  }
#line 210 "map.opt"
}

#line 210 "map.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_55_48_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(
#line 210 "map.opt"
  MR_Word mercury__robdd__V_33_33,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_40_40,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_43_43,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_44_44,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__5_21,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__6_22,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__7_23,
#line 210 "map.opt"
  MR_Word * mercury__robdd__HeadVar__8_24)
#line 210 "map.opt"
{
#line 210 "map.opt"
  {
#line 210 "map.opt"
    MR_bool mercury__robdd__succeeded;

#line 210 "map.opt"
    {
#line 210 "map.opt"
      *mercury__robdd__HeadVar__8_24 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_52_95_95_49_95_95_104_111_49_55_51_95_95_91_52_44_32_53_93_95_48_6_f_0(mercury__robdd__V_43_43, mercury__robdd__V_44_44, mercury__robdd__V_40_40, mercury__robdd__HeadVar__5_21, mercury__robdd__HeadVar__6_22, mercury__robdd__HeadVar__7_23);
    }
#line 210 "map.opt"
  }
#line 210 "map.opt"
}

#line 210 "map.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_57_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(
#line 210 "map.opt"
  MR_Word mercury__robdd__V_33_33,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_40_40,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_43_43,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_44_44,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__5_21,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__6_22,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__7_23,
#line 210 "map.opt"
  MR_Word * mercury__robdd__HeadVar__8_24)
#line 210 "map.opt"
{
#line 210 "map.opt"
  {
#line 210 "map.opt"
    MR_bool mercury__robdd__succeeded;

#line 210 "map.opt"
    {
#line 210 "map.opt"
      *mercury__robdd__HeadVar__8_24 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_52_95_95_49_95_95_104_111_49_55_52_95_95_91_52_44_32_53_93_95_48_6_f_0(mercury__robdd__V_43_43, mercury__robdd__V_44_44, mercury__robdd__V_40_40, mercury__robdd__HeadVar__5_21, mercury__robdd__HeadVar__6_22, mercury__robdd__HeadVar__7_23);
    }
#line 210 "map.opt"
  }
#line 210 "map.opt"
}

#line 210 "map.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_56_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(
#line 210 "map.opt"
  MR_Word mercury__robdd__V_33_33,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_40_40,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_43_43,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_44_44,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__5_21,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__6_22,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__7_23,
#line 210 "map.opt"
  MR_Word * mercury__robdd__HeadVar__8_24)
#line 210 "map.opt"
{
#line 210 "map.opt"
  {
#line 210 "map.opt"
    MR_bool mercury__robdd__succeeded;

#line 210 "map.opt"
    {
#line 210 "map.opt"
      *mercury__robdd__HeadVar__8_24 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_49_51_53_52_95_95_49_95_95_104_111_49_55_53_95_95_91_52_44_32_53_93_95_48_6_f_0(mercury__robdd__V_43_43, mercury__robdd__V_44_44, mercury__robdd__V_40_40, mercury__robdd__HeadVar__5_21, mercury__robdd__HeadVar__6_22, mercury__robdd__HeadVar__7_23);
    }
#line 210 "map.opt"
  }
#line 210 "map.opt"
}

#line 210 "map.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_52_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_8_p_0(
#line 210 "map.opt"
  MR_Word mercury__robdd__V_33_33,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_47_47,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_48_48,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__5_21,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__6_22,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__7_23,
#line 210 "map.opt"
  MR_Word * mercury__robdd__HeadVar__8_24)
#line 210 "map.opt"
{
#line 210 "map.opt"
  {
#line 210 "map.opt"
    MR_bool mercury__robdd__succeeded;

#line 210 "map.opt"
    {
#line 210 "map.opt"
      *mercury__robdd__HeadVar__8_24 = mercury__robdd__IntroducedFrom__func__ClassMethod_for_robdd__intersectable____robdd__leader_to_eqvclass__arity1______robdd__intersection_2__847__1_5_f_0(mercury__robdd__V_47_47, mercury__robdd__V_48_48, mercury__robdd__HeadVar__5_21, mercury__robdd__HeadVar__6_22, mercury__robdd__HeadVar__7_23);
    }
#line 210 "map.opt"
  }
#line 210 "map.opt"
}

#line 210 "map.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_48_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_8_p_0(
#line 210 "map.opt"
  MR_Word mercury__robdd__V_33_33,
#line 210 "map.opt"
  MR_Word mercury__robdd__V_49_49,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__5_21,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__6_22,
#line 210 "map.opt"
  MR_Word mercury__robdd__HeadVar__7_23,
#line 210 "map.opt"
  MR_Word * mercury__robdd__HeadVar__8_24)
#line 210 "map.opt"
{
#line 210 "map.opt"
  {
#line 210 "map.opt"
    MR_bool mercury__robdd__succeeded;

#line 210 "map.opt"
    {
#line 210 "map.opt"
      *mercury__robdd__HeadVar__8_24 = mercury__robdd__IntroducedFrom__func__imp_res_to_imp_map__780__1_4_f_0(mercury__robdd__V_49_49, mercury__robdd__HeadVar__5_21, mercury__robdd__HeadVar__6_22, mercury__robdd__HeadVar__7_23);
    }
#line 210 "map.opt"
  }
#line 210 "map.opt"
}

#line 41 "tree234.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_56_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_58_58,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_65_65,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_68_68,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_69_69,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 41 "tree234.int"
  MR_Word * mercury__robdd__HeadVar__4_4)
#line 41 "tree234.int"
{
#line 104 "tree234.opt"
  while (MR_TRUE)
#line 104 "tree234.opt"
    {
#line 104 "tree234.opt"
      /* tailcall optimized into a loop */
#line 104 "tree234.opt"
      {
#line 104 "tree234.opt"
        MR_bool mercury__robdd__succeeded;

#line 104 "tree234.opt"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 104 "tree234.opt"
          *mercury__robdd__HeadVar__4_4 = mercury__robdd__HeadVar__3_3;
#line 104 "tree234.opt"
        else
#line 104 "tree234.opt"
          if (((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3))))
#line 116 "tree234.opt"
            {
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K0_37_32 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V0_38_33 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K1_39_34 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V1_40_35 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K2_41_36 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 4)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V2_42_37 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 5)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T0_43_38 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 6)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T1_44_39 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 7)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T2_45_40 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 8)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T3_46_41 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 9)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_50_50_44;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_51_51_45;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_52_52_46;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_53_53_47;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_54_54_48;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_55_55_49;

#line 117 "tree234.opt"
              {
#line 117 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_56_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T0_43_38, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_50_50_44);
              }
#line 118 "tree234.opt"
              {
#line 118 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_56_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K0_37_32, mercury__robdd__V0_38_33, mercury__robdd__STATE_VARIABLE_A_50_50_44, &mercury__robdd__STATE_VARIABLE_A_51_51_45);
              }
#line 119 "tree234.opt"
              {
#line 119 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_56_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T1_44_39, mercury__robdd__STATE_VARIABLE_A_51_51_45, &mercury__robdd__STATE_VARIABLE_A_52_52_46);
              }
#line 120 "tree234.opt"
              {
#line 120 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_56_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K1_39_34, mercury__robdd__V1_40_35, mercury__robdd__STATE_VARIABLE_A_52_52_46, &mercury__robdd__STATE_VARIABLE_A_53_53_47);
              }
#line 121 "tree234.opt"
              {
#line 121 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_56_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T2_45_40, mercury__robdd__STATE_VARIABLE_A_53_53_47, &mercury__robdd__STATE_VARIABLE_A_54_54_48);
              }
#line 122 "tree234.opt"
              {
#line 122 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_56_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K2_41_36, mercury__robdd__V2_42_37, mercury__robdd__STATE_VARIABLE_A_54_54_48, &mercury__robdd__STATE_VARIABLE_A_55_55_49);
              }
#line 123 "tree234.opt"
              /* direct tailcall eliminated */
#line 123 "tree234.opt"
              {
#line 123 "tree234.opt"
                MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T3_46_41;
#line 123 "tree234.opt"
                MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_55_55_49;

#line 123 "tree234.opt"
                mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 123 "tree234.opt"
                mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 123 "tree234.opt"
              }
#line 123 "tree234.opt"
              continue;
#line 116 "tree234.opt"
            }
#line 104 "tree234.opt"
          else
#line 104 "tree234.opt"
            if (((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2))))
#line 110 "tree234.opt"
              {
#line 110 "tree234.opt"
                MR_Word mercury__robdd__K0_21_18 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__V0_22_19 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__K1_23_20 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__V1_24_21 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T0_25_22 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 4)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T1_26_23 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 5)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T2_27_24 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 6)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_31_31_27;
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_32_32_28;
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_33_33_29;
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_34_34_30;

#line 111 "tree234.opt"
                {
#line 111 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_56_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T0_25_22, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_31_31_27);
                }
#line 112 "tree234.opt"
                {
#line 112 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_56_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K0_21_18, mercury__robdd__V0_22_19, mercury__robdd__STATE_VARIABLE_A_31_31_27, &mercury__robdd__STATE_VARIABLE_A_32_32_28);
                }
#line 113 "tree234.opt"
                {
#line 113 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_56_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T1_26_23, mercury__robdd__STATE_VARIABLE_A_32_32_28, &mercury__robdd__STATE_VARIABLE_A_33_33_29);
                }
#line 114 "tree234.opt"
                {
#line 114 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_56_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K1_23_20, mercury__robdd__V1_24_21, mercury__robdd__STATE_VARIABLE_A_33_33_29, &mercury__robdd__STATE_VARIABLE_A_34_34_30);
                }
#line 115 "tree234.opt"
                /* direct tailcall eliminated */
#line 115 "tree234.opt"
                {
#line 115 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T2_27_24;
#line 115 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_34_34_30;

#line 115 "tree234.opt"
                  mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 115 "tree234.opt"
                  mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 115 "tree234.opt"
                }
#line 115 "tree234.opt"
                continue;
#line 110 "tree234.opt"
              }
#line 104 "tree234.opt"
            else
#line 106 "tree234.opt"
              {
#line 106 "tree234.opt"
                MR_Word mercury__robdd__K_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__V_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__T0_12_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__T1_13_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_17_17_15;
#line 106 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_18_18_16;

#line 107 "tree234.opt"
                {
#line 107 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_56_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T0_12_11, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_17_17_15);
                }
#line 108 "tree234.opt"
                {
#line 108 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_56_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K_10_9, mercury__robdd__V_11_10, mercury__robdd__STATE_VARIABLE_A_17_17_15, &mercury__robdd__STATE_VARIABLE_A_18_18_16);
                }
#line 109 "tree234.opt"
                /* direct tailcall eliminated */
#line 109 "tree234.opt"
                {
#line 109 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T1_13_12;
#line 109 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_18_18_16;

#line 109 "tree234.opt"
                  mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 109 "tree234.opt"
                  mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 109 "tree234.opt"
                }
#line 109 "tree234.opt"
                continue;
#line 106 "tree234.opt"
              }
#line 104 "tree234.opt"
      }
#line 104 "tree234.opt"
      break;
#line 104 "tree234.opt"
    }
#line 41 "tree234.int"
}

#line 41 "tree234.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_55_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_58_58,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_65_65,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_68_68,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_69_69,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 41 "tree234.int"
  MR_Word * mercury__robdd__HeadVar__4_4)
#line 41 "tree234.int"
{
#line 104 "tree234.opt"
  while (MR_TRUE)
#line 104 "tree234.opt"
    {
#line 104 "tree234.opt"
      /* tailcall optimized into a loop */
#line 104 "tree234.opt"
      {
#line 104 "tree234.opt"
        MR_bool mercury__robdd__succeeded;

#line 104 "tree234.opt"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 104 "tree234.opt"
          *mercury__robdd__HeadVar__4_4 = mercury__robdd__HeadVar__3_3;
#line 104 "tree234.opt"
        else
#line 104 "tree234.opt"
          if (((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3))))
#line 116 "tree234.opt"
            {
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K0_37_32 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V0_38_33 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K1_39_34 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V1_40_35 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K2_41_36 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 4)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V2_42_37 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 5)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T0_43_38 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 6)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T1_44_39 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 7)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T2_45_40 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 8)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T3_46_41 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 9)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_50_50_44;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_51_51_45;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_52_52_46;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_53_53_47;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_54_54_48;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_55_55_49;

#line 117 "tree234.opt"
              {
#line 117 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_55_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T0_43_38, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_50_50_44);
              }
#line 118 "tree234.opt"
              {
#line 118 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_57_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K0_37_32, mercury__robdd__V0_38_33, mercury__robdd__STATE_VARIABLE_A_50_50_44, &mercury__robdd__STATE_VARIABLE_A_51_51_45);
              }
#line 119 "tree234.opt"
              {
#line 119 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_55_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T1_44_39, mercury__robdd__STATE_VARIABLE_A_51_51_45, &mercury__robdd__STATE_VARIABLE_A_52_52_46);
              }
#line 120 "tree234.opt"
              {
#line 120 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_57_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K1_39_34, mercury__robdd__V1_40_35, mercury__robdd__STATE_VARIABLE_A_52_52_46, &mercury__robdd__STATE_VARIABLE_A_53_53_47);
              }
#line 121 "tree234.opt"
              {
#line 121 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_55_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T2_45_40, mercury__robdd__STATE_VARIABLE_A_53_53_47, &mercury__robdd__STATE_VARIABLE_A_54_54_48);
              }
#line 122 "tree234.opt"
              {
#line 122 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_57_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K2_41_36, mercury__robdd__V2_42_37, mercury__robdd__STATE_VARIABLE_A_54_54_48, &mercury__robdd__STATE_VARIABLE_A_55_55_49);
              }
#line 123 "tree234.opt"
              /* direct tailcall eliminated */
#line 123 "tree234.opt"
              {
#line 123 "tree234.opt"
                MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T3_46_41;
#line 123 "tree234.opt"
                MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_55_55_49;

#line 123 "tree234.opt"
                mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 123 "tree234.opt"
                mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 123 "tree234.opt"
              }
#line 123 "tree234.opt"
              continue;
#line 116 "tree234.opt"
            }
#line 104 "tree234.opt"
          else
#line 104 "tree234.opt"
            if (((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2))))
#line 110 "tree234.opt"
              {
#line 110 "tree234.opt"
                MR_Word mercury__robdd__K0_21_18 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__V0_22_19 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__K1_23_20 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__V1_24_21 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T0_25_22 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 4)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T1_26_23 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 5)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T2_27_24 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 6)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_31_31_27;
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_32_32_28;
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_33_33_29;
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_34_34_30;

#line 111 "tree234.opt"
                {
#line 111 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_55_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T0_25_22, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_31_31_27);
                }
#line 112 "tree234.opt"
                {
#line 112 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_57_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K0_21_18, mercury__robdd__V0_22_19, mercury__robdd__STATE_VARIABLE_A_31_31_27, &mercury__robdd__STATE_VARIABLE_A_32_32_28);
                }
#line 113 "tree234.opt"
                {
#line 113 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_55_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T1_26_23, mercury__robdd__STATE_VARIABLE_A_32_32_28, &mercury__robdd__STATE_VARIABLE_A_33_33_29);
                }
#line 114 "tree234.opt"
                {
#line 114 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_57_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K1_23_20, mercury__robdd__V1_24_21, mercury__robdd__STATE_VARIABLE_A_33_33_29, &mercury__robdd__STATE_VARIABLE_A_34_34_30);
                }
#line 115 "tree234.opt"
                /* direct tailcall eliminated */
#line 115 "tree234.opt"
                {
#line 115 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T2_27_24;
#line 115 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_34_34_30;

#line 115 "tree234.opt"
                  mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 115 "tree234.opt"
                  mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 115 "tree234.opt"
                }
#line 115 "tree234.opt"
                continue;
#line 110 "tree234.opt"
              }
#line 104 "tree234.opt"
            else
#line 106 "tree234.opt"
              {
#line 106 "tree234.opt"
                MR_Word mercury__robdd__K_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__V_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__T0_12_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__T1_13_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_17_17_15;
#line 106 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_18_18_16;

#line 107 "tree234.opt"
                {
#line 107 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_55_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T0_12_11, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_17_17_15);
                }
#line 108 "tree234.opt"
                {
#line 108 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_57_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K_10_9, mercury__robdd__V_11_10, mercury__robdd__STATE_VARIABLE_A_17_17_15, &mercury__robdd__STATE_VARIABLE_A_18_18_16);
                }
#line 109 "tree234.opt"
                /* direct tailcall eliminated */
#line 109 "tree234.opt"
                {
#line 109 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T1_13_12;
#line 109 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_18_18_16;

#line 109 "tree234.opt"
                  mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 109 "tree234.opt"
                  mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 109 "tree234.opt"
                }
#line 109 "tree234.opt"
                continue;
#line 106 "tree234.opt"
              }
#line 104 "tree234.opt"
      }
#line 104 "tree234.opt"
      break;
#line 104 "tree234.opt"
    }
#line 41 "tree234.int"
}

#line 41 "tree234.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_54_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_58_58,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_65_65,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_68_68,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_69_69,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 41 "tree234.int"
  MR_Word * mercury__robdd__HeadVar__4_4)
#line 41 "tree234.int"
{
#line 104 "tree234.opt"
  while (MR_TRUE)
#line 104 "tree234.opt"
    {
#line 104 "tree234.opt"
      /* tailcall optimized into a loop */
#line 104 "tree234.opt"
      {
#line 104 "tree234.opt"
        MR_bool mercury__robdd__succeeded;

#line 104 "tree234.opt"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 104 "tree234.opt"
          *mercury__robdd__HeadVar__4_4 = mercury__robdd__HeadVar__3_3;
#line 104 "tree234.opt"
        else
#line 104 "tree234.opt"
          if (((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3))))
#line 116 "tree234.opt"
            {
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K0_37_32 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V0_38_33 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K1_39_34 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V1_40_35 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K2_41_36 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 4)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V2_42_37 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 5)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T0_43_38 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 6)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T1_44_39 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 7)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T2_45_40 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 8)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T3_46_41 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 9)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_50_50_44;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_51_51_45;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_52_52_46;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_53_53_47;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_54_54_48;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_55_55_49;

#line 117 "tree234.opt"
              {
#line 117 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_54_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T0_43_38, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_50_50_44);
              }
#line 118 "tree234.opt"
              {
#line 118 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_55_48_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K0_37_32, mercury__robdd__V0_38_33, mercury__robdd__STATE_VARIABLE_A_50_50_44, &mercury__robdd__STATE_VARIABLE_A_51_51_45);
              }
#line 119 "tree234.opt"
              {
#line 119 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_54_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T1_44_39, mercury__robdd__STATE_VARIABLE_A_51_51_45, &mercury__robdd__STATE_VARIABLE_A_52_52_46);
              }
#line 120 "tree234.opt"
              {
#line 120 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_55_48_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K1_39_34, mercury__robdd__V1_40_35, mercury__robdd__STATE_VARIABLE_A_52_52_46, &mercury__robdd__STATE_VARIABLE_A_53_53_47);
              }
#line 121 "tree234.opt"
              {
#line 121 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_54_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T2_45_40, mercury__robdd__STATE_VARIABLE_A_53_53_47, &mercury__robdd__STATE_VARIABLE_A_54_54_48);
              }
#line 122 "tree234.opt"
              {
#line 122 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_55_48_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K2_41_36, mercury__robdd__V2_42_37, mercury__robdd__STATE_VARIABLE_A_54_54_48, &mercury__robdd__STATE_VARIABLE_A_55_55_49);
              }
#line 123 "tree234.opt"
              /* direct tailcall eliminated */
#line 123 "tree234.opt"
              {
#line 123 "tree234.opt"
                MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T3_46_41;
#line 123 "tree234.opt"
                MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_55_55_49;

#line 123 "tree234.opt"
                mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 123 "tree234.opt"
                mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 123 "tree234.opt"
              }
#line 123 "tree234.opt"
              continue;
#line 116 "tree234.opt"
            }
#line 104 "tree234.opt"
          else
#line 104 "tree234.opt"
            if (((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2))))
#line 110 "tree234.opt"
              {
#line 110 "tree234.opt"
                MR_Word mercury__robdd__K0_21_18 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__V0_22_19 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__K1_23_20 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__V1_24_21 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T0_25_22 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 4)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T1_26_23 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 5)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T2_27_24 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 6)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_31_31_27;
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_32_32_28;
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_33_33_29;
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_34_34_30;

#line 111 "tree234.opt"
                {
#line 111 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_54_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T0_25_22, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_31_31_27);
                }
#line 112 "tree234.opt"
                {
#line 112 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_55_48_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K0_21_18, mercury__robdd__V0_22_19, mercury__robdd__STATE_VARIABLE_A_31_31_27, &mercury__robdd__STATE_VARIABLE_A_32_32_28);
                }
#line 113 "tree234.opt"
                {
#line 113 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_54_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T1_26_23, mercury__robdd__STATE_VARIABLE_A_32_32_28, &mercury__robdd__STATE_VARIABLE_A_33_33_29);
                }
#line 114 "tree234.opt"
                {
#line 114 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_55_48_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K1_23_20, mercury__robdd__V1_24_21, mercury__robdd__STATE_VARIABLE_A_33_33_29, &mercury__robdd__STATE_VARIABLE_A_34_34_30);
                }
#line 115 "tree234.opt"
                /* direct tailcall eliminated */
#line 115 "tree234.opt"
                {
#line 115 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T2_27_24;
#line 115 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_34_34_30;

#line 115 "tree234.opt"
                  mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 115 "tree234.opt"
                  mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 115 "tree234.opt"
                }
#line 115 "tree234.opt"
                continue;
#line 110 "tree234.opt"
              }
#line 104 "tree234.opt"
            else
#line 106 "tree234.opt"
              {
#line 106 "tree234.opt"
                MR_Word mercury__robdd__K_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__V_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__T0_12_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__T1_13_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_17_17_15;
#line 106 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_18_18_16;

#line 107 "tree234.opt"
                {
#line 107 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_54_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T0_12_11, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_17_17_15);
                }
#line 108 "tree234.opt"
                {
#line 108 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_55_48_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K_10_9, mercury__robdd__V_11_10, mercury__robdd__STATE_VARIABLE_A_17_17_15, &mercury__robdd__STATE_VARIABLE_A_18_18_16);
                }
#line 109 "tree234.opt"
                /* direct tailcall eliminated */
#line 109 "tree234.opt"
                {
#line 109 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T1_13_12;
#line 109 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_18_18_16;

#line 109 "tree234.opt"
                  mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 109 "tree234.opt"
                  mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 109 "tree234.opt"
                }
#line 109 "tree234.opt"
                continue;
#line 106 "tree234.opt"
              }
#line 104 "tree234.opt"
      }
#line 104 "tree234.opt"
      break;
#line 104 "tree234.opt"
    }
#line 41 "tree234.int"
}

#line 41 "tree234.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_53_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_58_58,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_65_65,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_68_68,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_69_69,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 41 "tree234.int"
  MR_Word * mercury__robdd__HeadVar__4_4)
#line 41 "tree234.int"
{
#line 104 "tree234.opt"
  while (MR_TRUE)
#line 104 "tree234.opt"
    {
#line 104 "tree234.opt"
      /* tailcall optimized into a loop */
#line 104 "tree234.opt"
      {
#line 104 "tree234.opt"
        MR_bool mercury__robdd__succeeded;

#line 104 "tree234.opt"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 104 "tree234.opt"
          *mercury__robdd__HeadVar__4_4 = mercury__robdd__HeadVar__3_3;
#line 104 "tree234.opt"
        else
#line 104 "tree234.opt"
          if (((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3))))
#line 116 "tree234.opt"
            {
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K0_37_32 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V0_38_33 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K1_39_34 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V1_40_35 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K2_41_36 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 4)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V2_42_37 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 5)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T0_43_38 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 6)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T1_44_39 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 7)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T2_45_40 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 8)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T3_46_41 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 9)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_50_50_44;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_51_51_45;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_52_52_46;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_53_53_47;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_54_54_48;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_55_55_49;

#line 117 "tree234.opt"
              {
#line 117 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_53_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T0_43_38, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_50_50_44);
              }
#line 118 "tree234.opt"
              {
#line 118 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_55_49_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K0_37_32, mercury__robdd__V0_38_33, mercury__robdd__STATE_VARIABLE_A_50_50_44, &mercury__robdd__STATE_VARIABLE_A_51_51_45);
              }
#line 119 "tree234.opt"
              {
#line 119 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_53_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T1_44_39, mercury__robdd__STATE_VARIABLE_A_51_51_45, &mercury__robdd__STATE_VARIABLE_A_52_52_46);
              }
#line 120 "tree234.opt"
              {
#line 120 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_55_49_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K1_39_34, mercury__robdd__V1_40_35, mercury__robdd__STATE_VARIABLE_A_52_52_46, &mercury__robdd__STATE_VARIABLE_A_53_53_47);
              }
#line 121 "tree234.opt"
              {
#line 121 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_53_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T2_45_40, mercury__robdd__STATE_VARIABLE_A_53_53_47, &mercury__robdd__STATE_VARIABLE_A_54_54_48);
              }
#line 122 "tree234.opt"
              {
#line 122 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_55_49_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K2_41_36, mercury__robdd__V2_42_37, mercury__robdd__STATE_VARIABLE_A_54_54_48, &mercury__robdd__STATE_VARIABLE_A_55_55_49);
              }
#line 123 "tree234.opt"
              /* direct tailcall eliminated */
#line 123 "tree234.opt"
              {
#line 123 "tree234.opt"
                MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T3_46_41;
#line 123 "tree234.opt"
                MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_55_55_49;

#line 123 "tree234.opt"
                mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 123 "tree234.opt"
                mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 123 "tree234.opt"
              }
#line 123 "tree234.opt"
              continue;
#line 116 "tree234.opt"
            }
#line 104 "tree234.opt"
          else
#line 104 "tree234.opt"
            if (((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2))))
#line 110 "tree234.opt"
              {
#line 110 "tree234.opt"
                MR_Word mercury__robdd__K0_21_18 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__V0_22_19 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__K1_23_20 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__V1_24_21 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T0_25_22 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 4)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T1_26_23 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 5)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T2_27_24 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 6)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_31_31_27;
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_32_32_28;
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_33_33_29;
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_34_34_30;

#line 111 "tree234.opt"
                {
#line 111 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_53_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T0_25_22, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_31_31_27);
                }
#line 112 "tree234.opt"
                {
#line 112 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_55_49_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K0_21_18, mercury__robdd__V0_22_19, mercury__robdd__STATE_VARIABLE_A_31_31_27, &mercury__robdd__STATE_VARIABLE_A_32_32_28);
                }
#line 113 "tree234.opt"
                {
#line 113 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_53_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T1_26_23, mercury__robdd__STATE_VARIABLE_A_32_32_28, &mercury__robdd__STATE_VARIABLE_A_33_33_29);
                }
#line 114 "tree234.opt"
                {
#line 114 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_55_49_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K1_23_20, mercury__robdd__V1_24_21, mercury__robdd__STATE_VARIABLE_A_33_33_29, &mercury__robdd__STATE_VARIABLE_A_34_34_30);
                }
#line 115 "tree234.opt"
                /* direct tailcall eliminated */
#line 115 "tree234.opt"
                {
#line 115 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T2_27_24;
#line 115 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_34_34_30;

#line 115 "tree234.opt"
                  mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 115 "tree234.opt"
                  mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 115 "tree234.opt"
                }
#line 115 "tree234.opt"
                continue;
#line 110 "tree234.opt"
              }
#line 104 "tree234.opt"
            else
#line 106 "tree234.opt"
              {
#line 106 "tree234.opt"
                MR_Word mercury__robdd__K_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__V_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__T0_12_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__T1_13_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_17_17_15;
#line 106 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_18_18_16;

#line 107 "tree234.opt"
                {
#line 107 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_53_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__T0_12_11, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_17_17_15);
                }
#line 108 "tree234.opt"
                {
#line 108 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_55_49_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_8_p_0(mercury__robdd__V_58_58, mercury__robdd__V_65_65, mercury__robdd__V_68_68, mercury__robdd__V_69_69, mercury__robdd__K_10_9, mercury__robdd__V_11_10, mercury__robdd__STATE_VARIABLE_A_17_17_15, &mercury__robdd__STATE_VARIABLE_A_18_18_16);
                }
#line 109 "tree234.opt"
                /* direct tailcall eliminated */
#line 109 "tree234.opt"
                {
#line 109 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T1_13_12;
#line 109 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_18_18_16;

#line 109 "tree234.opt"
                  mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 109 "tree234.opt"
                  mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 109 "tree234.opt"
                }
#line 109 "tree234.opt"
                continue;
#line 106 "tree234.opt"
              }
#line 104 "tree234.opt"
      }
#line 104 "tree234.opt"
      break;
#line 104 "tree234.opt"
    }
#line 41 "tree234.int"
}

#line 52 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_52_53_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_54_93_95_48_7_p_in__sparse_bitset_0(
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_48_48,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_29,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__Dir_8_8,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Offset_10_10,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Bits_11_11,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Size_12_12,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19_13,
#line 52 "sparse_bitset.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Acc_20_14)
#line 52 "sparse_bitset.opt"
{
#line 327 "sparse_bitset.opt"
  while (MR_TRUE)
#line 327 "sparse_bitset.opt"
    {
#line 327 "sparse_bitset.opt"
      /* tailcall optimized into a loop */
#line 327 "sparse_bitset.opt"
      {
#line 327 "sparse_bitset.opt"
        MR_bool mercury__robdd__succeeded = (mercury__robdd__Bits_11_11 == (MR_Integer) 0);

#line 327 "sparse_bitset.opt"
        if (mercury__robdd__succeeded)
#line 326 "sparse_bitset.opt"
          *mercury__robdd__STATE_VARIABLE_Acc_20_14 = mercury__robdd__STATE_VARIABLE_Acc_0_19_13;
#line 327 "sparse_bitset.opt"
        else
#line 342 "sparse_bitset.opt"
          {
#line 329 "sparse_bitset.opt"
            mercury__robdd__succeeded = (mercury__robdd__Size_12_12 == (MR_Integer) 1);
#line 342 "sparse_bitset.opt"
            if (mercury__robdd__succeeded)
#line 335 "sparse_bitset.opt"
              {
#line 335 "sparse_bitset.opt"
                MR_Word mercury__robdd__Elem_14_15;
#line 7784 "robdd.c"
                MR_bool MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_29, (MR_Integer) 0)), (MR_Integer) 6)));
#line 7786 "robdd.c"
                MR_Box mercury__robdd__conv1_Elem_14_15;

#line 7789 "robdd.c"
                {
#line 7791 "robdd.c"
                  mercury__robdd__succeeded = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_29), ((MR_Box) (mercury__robdd__Offset_10_10)), &mercury__robdd__conv1_Elem_14_15);
                }
#line 7794 "robdd.c"
                if (mercury__robdd__succeeded)
#line 7796 "robdd.c"
                  {
#line 7798 "robdd.c"
                    mercury__robdd__Elem_14_15 = ((MR_Word) mercury__robdd__conv1_Elem_14_15);
#line 7800 "robdd.c"
                    mercury__robdd__succeeded = MR_TRUE;
#line 7802 "robdd.c"
                  }
#line 335 "sparse_bitset.opt"
                if (mercury__robdd__succeeded)
#line 334 "sparse_bitset.opt"
                  {
#line 334 "sparse_bitset.opt"
                    MR_Word mercury__robdd__V_77_77;

#line 1075 "robdd.m"
                    {
#line 1075 "robdd.m"
                      mercury__robdd__V_77_77 = mercury__robdd__zero_0_f_0(mercury__robdd__V_48_48);
                    }
#line 1075 "robdd.m"
                    {
#line 1075 "robdd.m"
                      *mercury__robdd__STATE_VARIABLE_Acc_20_14 = mercury__robdd__make_node_3_f_0(mercury__robdd__V_48_48, mercury__robdd__Elem_14_15, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, mercury__robdd__V_77_77);
                    }
#line 334 "sparse_bitset.opt"
                  }
#line 335 "sparse_bitset.opt"
                else
#line 336 "sparse_bitset.opt"
                  {
#line 339 "sparse_bitset.opt"
                    {
#line 339 "sparse_bitset.opt"
                      mercury__require__unexpected_3_p_0((MR_String) "sparse_bitset", (MR_String) "predicate \140sparse_bitset.fold_bits\'/7", (MR_String) "\140enum.from_int/1\' failed");
#line 339 "sparse_bitset.opt"
                      return;
                    }
#line 336 "sparse_bitset.opt"
                  }
#line 335 "sparse_bitset.opt"
              }
#line 342 "sparse_bitset.opt"
            else
#line 343 "sparse_bitset.opt"
              {
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__HalfSize_15_19 = (mercury__robdd__Size_12_12 >> (MR_Integer) 1);
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__Mask_16_21;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__LowBits_17_22;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__HighBits_18_23;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__V_26_24;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__V_4_89 = ((MR_Integer) -1 << mercury__robdd__HalfSize_15_19);

#line 513 "sparse_bitset.opt"
                mercury__robdd__Mask_16_21 = ~(mercury__robdd__V_4_89);
#line 346 "sparse_bitset.opt"
                mercury__robdd__LowBits_17_22 = (mercury__robdd__Mask_16_21 & mercury__robdd__Bits_11_11);
#line 348 "sparse_bitset.opt"
                mercury__robdd__V_26_24 = (mercury__robdd__Bits_11_11 >> mercury__robdd__HalfSize_15_19);
#line 347 "sparse_bitset.opt"
                mercury__robdd__HighBits_18_23 = (mercury__robdd__Mask_16_21 & mercury__robdd__V_26_24);
#line 354 "sparse_bitset.opt"
                if ((mercury__robdd__Dir_8_8 == (MR_Integer) 1))
#line 355 "sparse_bitset.opt"
                  {
#line 355 "sparse_bitset.opt"
                    MR_Integer mercury__robdd__V_27_27 = (mercury__robdd__Offset_10_10 + mercury__robdd__HalfSize_15_19);
#line 355 "sparse_bitset.opt"
                    MR_Word mercury__robdd__STATE_VARIABLE_Acc_28_28_28;

#line 357 "sparse_bitset.opt"
                    {
#line 357 "sparse_bitset.opt"
                      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_52_53_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_54_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_48_48, mercury__robdd__TypeClassInfo_for_enum_29, mercury__robdd__Dir_8_8, mercury__robdd__V_27_27, mercury__robdd__HighBits_18_23, mercury__robdd__HalfSize_15_19, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, &mercury__robdd__STATE_VARIABLE_Acc_28_28_28);
                    }
#line 358 "sparse_bitset.opt"
                    /* direct tailcall eliminated */
#line 358 "sparse_bitset.opt"
                    {
#line 358 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Bits_11__tmp_copy_11 = mercury__robdd__LowBits_17_22;
#line 358 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Size_12__tmp_copy_12 = mercury__robdd__HalfSize_15_19;
#line 358 "sparse_bitset.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13 = mercury__robdd__STATE_VARIABLE_Acc_28_28_28;

#line 358 "sparse_bitset.opt"
                      mercury__robdd__STATE_VARIABLE_Acc_0_19_13 = mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13;
#line 358 "sparse_bitset.opt"
                      mercury__robdd__Size_12_12 = mercury__robdd__Size_12__tmp_copy_12;
#line 358 "sparse_bitset.opt"
                      mercury__robdd__Bits_11_11 = mercury__robdd__Bits_11__tmp_copy_11;
#line 358 "sparse_bitset.opt"
                    }
#line 358 "sparse_bitset.opt"
                    continue;
#line 355 "sparse_bitset.opt"
                  }
#line 354 "sparse_bitset.opt"
                else
#line 350 "sparse_bitset.opt"
                  {
#line 350 "sparse_bitset.opt"
                    MR_Word mercury__robdd__STATE_VARIABLE_Acc_30_30_25;
#line 350 "sparse_bitset.opt"
                    MR_Integer mercury__robdd__V_31_26;

#line 351 "sparse_bitset.opt"
                    {
#line 351 "sparse_bitset.opt"
                      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_52_53_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_54_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_48_48, mercury__robdd__TypeClassInfo_for_enum_29, mercury__robdd__Dir_8_8, mercury__robdd__Offset_10_10, mercury__robdd__LowBits_17_22, mercury__robdd__HalfSize_15_19, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, &mercury__robdd__STATE_VARIABLE_Acc_30_30_25);
                    }
#line 352 "sparse_bitset.opt"
                    mercury__robdd__V_31_26 = (mercury__robdd__Offset_10_10 + mercury__robdd__HalfSize_15_19);
#line 353 "sparse_bitset.opt"
                    /* direct tailcall eliminated */
#line 353 "sparse_bitset.opt"
                    {
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Offset_10__tmp_copy_10 = mercury__robdd__V_31_26;
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Bits_11__tmp_copy_11 = mercury__robdd__HighBits_18_23;
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Size_12__tmp_copy_12 = mercury__robdd__HalfSize_15_19;
#line 353 "sparse_bitset.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13 = mercury__robdd__STATE_VARIABLE_Acc_30_30_25;

#line 353 "sparse_bitset.opt"
                      mercury__robdd__STATE_VARIABLE_Acc_0_19_13 = mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Size_12_12 = mercury__robdd__Size_12__tmp_copy_12;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Bits_11_11 = mercury__robdd__Bits_11__tmp_copy_11;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Offset_10_10 = mercury__robdd__Offset_10__tmp_copy_10;
#line 353 "sparse_bitset.opt"
                    }
#line 353 "sparse_bitset.opt"
                    continue;
#line 350 "sparse_bitset.opt"
                  }
#line 343 "sparse_bitset.opt"
              }
#line 342 "sparse_bitset.opt"
          }
#line 327 "sparse_bitset.opt"
      }
#line 327 "sparse_bitset.opt"
      break;
#line 327 "sparse_bitset.opt"
    }
#line 52 "sparse_bitset.opt"
}

#line 52 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_52_52_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_54_93_95_48_7_p_in__sparse_bitset_0(
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_48_48,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_29,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__Dir_8_8,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Offset_10_10,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Bits_11_11,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Size_12_12,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19_13,
#line 52 "sparse_bitset.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Acc_20_14)
#line 52 "sparse_bitset.opt"
{
#line 327 "sparse_bitset.opt"
  while (MR_TRUE)
#line 327 "sparse_bitset.opt"
    {
#line 327 "sparse_bitset.opt"
      /* tailcall optimized into a loop */
#line 327 "sparse_bitset.opt"
      {
#line 327 "sparse_bitset.opt"
        MR_bool mercury__robdd__succeeded = (mercury__robdd__Bits_11_11 == (MR_Integer) 0);

#line 327 "sparse_bitset.opt"
        if (mercury__robdd__succeeded)
#line 326 "sparse_bitset.opt"
          *mercury__robdd__STATE_VARIABLE_Acc_20_14 = mercury__robdd__STATE_VARIABLE_Acc_0_19_13;
#line 327 "sparse_bitset.opt"
        else
#line 342 "sparse_bitset.opt"
          {
#line 329 "sparse_bitset.opt"
            mercury__robdd__succeeded = (mercury__robdd__Size_12_12 == (MR_Integer) 1);
#line 342 "sparse_bitset.opt"
            if (mercury__robdd__succeeded)
#line 335 "sparse_bitset.opt"
              {
#line 335 "sparse_bitset.opt"
                MR_Word mercury__robdd__Elem_14_15;
#line 8004 "robdd.c"
                MR_bool MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_29, (MR_Integer) 0)), (MR_Integer) 6)));
#line 8006 "robdd.c"
                MR_Box mercury__robdd__conv1_Elem_14_15;

#line 8009 "robdd.c"
                {
#line 8011 "robdd.c"
                  mercury__robdd__succeeded = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_29), ((MR_Box) (mercury__robdd__Offset_10_10)), &mercury__robdd__conv1_Elem_14_15);
                }
#line 8014 "robdd.c"
                if (mercury__robdd__succeeded)
#line 8016 "robdd.c"
                  {
#line 8018 "robdd.c"
                    mercury__robdd__Elem_14_15 = ((MR_Word) mercury__robdd__conv1_Elem_14_15);
#line 8020 "robdd.c"
                    mercury__robdd__succeeded = MR_TRUE;
#line 8022 "robdd.c"
                  }
#line 335 "sparse_bitset.opt"
                if (mercury__robdd__succeeded)
#line 334 "sparse_bitset.opt"
                  {
#line 334 "sparse_bitset.opt"
                    MR_Word mercury__robdd__V_77_77;

#line 1077 "robdd.m"
                    {
#line 1077 "robdd.m"
                      mercury__robdd__V_77_77 = mercury__robdd__zero_0_f_0(mercury__robdd__V_48_48);
                    }
#line 1077 "robdd.m"
                    {
#line 1077 "robdd.m"
                      *mercury__robdd__STATE_VARIABLE_Acc_20_14 = mercury__robdd__make_node_3_f_0(mercury__robdd__V_48_48, mercury__robdd__Elem_14_15, mercury__robdd__V_77_77, mercury__robdd__STATE_VARIABLE_Acc_0_19_13);
                    }
#line 334 "sparse_bitset.opt"
                  }
#line 335 "sparse_bitset.opt"
                else
#line 336 "sparse_bitset.opt"
                  {
#line 339 "sparse_bitset.opt"
                    {
#line 339 "sparse_bitset.opt"
                      mercury__require__unexpected_3_p_0((MR_String) "sparse_bitset", (MR_String) "predicate \140sparse_bitset.fold_bits\'/7", (MR_String) "\140enum.from_int/1\' failed");
#line 339 "sparse_bitset.opt"
                      return;
                    }
#line 336 "sparse_bitset.opt"
                  }
#line 335 "sparse_bitset.opt"
              }
#line 342 "sparse_bitset.opt"
            else
#line 343 "sparse_bitset.opt"
              {
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__HalfSize_15_19 = (mercury__robdd__Size_12_12 >> (MR_Integer) 1);
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__Mask_16_21;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__LowBits_17_22;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__HighBits_18_23;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__V_26_24;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__V_4_89 = ((MR_Integer) -1 << mercury__robdd__HalfSize_15_19);

#line 513 "sparse_bitset.opt"
                mercury__robdd__Mask_16_21 = ~(mercury__robdd__V_4_89);
#line 346 "sparse_bitset.opt"
                mercury__robdd__LowBits_17_22 = (mercury__robdd__Mask_16_21 & mercury__robdd__Bits_11_11);
#line 348 "sparse_bitset.opt"
                mercury__robdd__V_26_24 = (mercury__robdd__Bits_11_11 >> mercury__robdd__HalfSize_15_19);
#line 347 "sparse_bitset.opt"
                mercury__robdd__HighBits_18_23 = (mercury__robdd__Mask_16_21 & mercury__robdd__V_26_24);
#line 354 "sparse_bitset.opt"
                if ((mercury__robdd__Dir_8_8 == (MR_Integer) 1))
#line 355 "sparse_bitset.opt"
                  {
#line 355 "sparse_bitset.opt"
                    MR_Integer mercury__robdd__V_27_27 = (mercury__robdd__Offset_10_10 + mercury__robdd__HalfSize_15_19);
#line 355 "sparse_bitset.opt"
                    MR_Word mercury__robdd__STATE_VARIABLE_Acc_28_28_28;

#line 357 "sparse_bitset.opt"
                    {
#line 357 "sparse_bitset.opt"
                      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_52_52_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_54_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_48_48, mercury__robdd__TypeClassInfo_for_enum_29, mercury__robdd__Dir_8_8, mercury__robdd__V_27_27, mercury__robdd__HighBits_18_23, mercury__robdd__HalfSize_15_19, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, &mercury__robdd__STATE_VARIABLE_Acc_28_28_28);
                    }
#line 358 "sparse_bitset.opt"
                    /* direct tailcall eliminated */
#line 358 "sparse_bitset.opt"
                    {
#line 358 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Bits_11__tmp_copy_11 = mercury__robdd__LowBits_17_22;
#line 358 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Size_12__tmp_copy_12 = mercury__robdd__HalfSize_15_19;
#line 358 "sparse_bitset.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13 = mercury__robdd__STATE_VARIABLE_Acc_28_28_28;

#line 358 "sparse_bitset.opt"
                      mercury__robdd__STATE_VARIABLE_Acc_0_19_13 = mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13;
#line 358 "sparse_bitset.opt"
                      mercury__robdd__Size_12_12 = mercury__robdd__Size_12__tmp_copy_12;
#line 358 "sparse_bitset.opt"
                      mercury__robdd__Bits_11_11 = mercury__robdd__Bits_11__tmp_copy_11;
#line 358 "sparse_bitset.opt"
                    }
#line 358 "sparse_bitset.opt"
                    continue;
#line 355 "sparse_bitset.opt"
                  }
#line 354 "sparse_bitset.opt"
                else
#line 350 "sparse_bitset.opt"
                  {
#line 350 "sparse_bitset.opt"
                    MR_Word mercury__robdd__STATE_VARIABLE_Acc_30_30_25;
#line 350 "sparse_bitset.opt"
                    MR_Integer mercury__robdd__V_31_26;

#line 351 "sparse_bitset.opt"
                    {
#line 351 "sparse_bitset.opt"
                      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_52_52_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_54_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_48_48, mercury__robdd__TypeClassInfo_for_enum_29, mercury__robdd__Dir_8_8, mercury__robdd__Offset_10_10, mercury__robdd__LowBits_17_22, mercury__robdd__HalfSize_15_19, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, &mercury__robdd__STATE_VARIABLE_Acc_30_30_25);
                    }
#line 352 "sparse_bitset.opt"
                    mercury__robdd__V_31_26 = (mercury__robdd__Offset_10_10 + mercury__robdd__HalfSize_15_19);
#line 353 "sparse_bitset.opt"
                    /* direct tailcall eliminated */
#line 353 "sparse_bitset.opt"
                    {
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Offset_10__tmp_copy_10 = mercury__robdd__V_31_26;
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Bits_11__tmp_copy_11 = mercury__robdd__HighBits_18_23;
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Size_12__tmp_copy_12 = mercury__robdd__HalfSize_15_19;
#line 353 "sparse_bitset.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13 = mercury__robdd__STATE_VARIABLE_Acc_30_30_25;

#line 353 "sparse_bitset.opt"
                      mercury__robdd__STATE_VARIABLE_Acc_0_19_13 = mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Size_12_12 = mercury__robdd__Size_12__tmp_copy_12;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Bits_11_11 = mercury__robdd__Bits_11__tmp_copy_11;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Offset_10_10 = mercury__robdd__Offset_10__tmp_copy_10;
#line 353 "sparse_bitset.opt"
                    }
#line 353 "sparse_bitset.opt"
                    continue;
#line 350 "sparse_bitset.opt"
                  }
#line 343 "sparse_bitset.opt"
              }
#line 342 "sparse_bitset.opt"
          }
#line 327 "sparse_bitset.opt"
      }
#line 327 "sparse_bitset.opt"
      break;
#line 327 "sparse_bitset.opt"
    }
#line 52 "sparse_bitset.opt"
}

#line 52 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_52_51_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_54_93_95_48_7_p_in__sparse_bitset_0(
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_48_48,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_29,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__Dir_8_8,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Offset_10_10,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Bits_11_11,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Size_12_12,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19_13,
#line 52 "sparse_bitset.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Acc_20_14)
#line 52 "sparse_bitset.opt"
{
#line 327 "sparse_bitset.opt"
  while (MR_TRUE)
#line 327 "sparse_bitset.opt"
    {
#line 327 "sparse_bitset.opt"
      /* tailcall optimized into a loop */
#line 327 "sparse_bitset.opt"
      {
#line 327 "sparse_bitset.opt"
        MR_bool mercury__robdd__succeeded = (mercury__robdd__Bits_11_11 == (MR_Integer) 0);

#line 327 "sparse_bitset.opt"
        if (mercury__robdd__succeeded)
#line 326 "sparse_bitset.opt"
          *mercury__robdd__STATE_VARIABLE_Acc_20_14 = mercury__robdd__STATE_VARIABLE_Acc_0_19_13;
#line 327 "sparse_bitset.opt"
        else
#line 342 "sparse_bitset.opt"
          {
#line 329 "sparse_bitset.opt"
            mercury__robdd__succeeded = (mercury__robdd__Size_12_12 == (MR_Integer) 1);
#line 342 "sparse_bitset.opt"
            if (mercury__robdd__succeeded)
#line 335 "sparse_bitset.opt"
              {
#line 335 "sparse_bitset.opt"
                MR_Word mercury__robdd__Elem_14_15;
#line 8224 "robdd.c"
                MR_bool MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_29, (MR_Integer) 0)), (MR_Integer) 6)));
#line 8226 "robdd.c"
                MR_Box mercury__robdd__conv1_Elem_14_15;

#line 8229 "robdd.c"
                {
#line 8231 "robdd.c"
                  mercury__robdd__succeeded = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_29), ((MR_Box) (mercury__robdd__Offset_10_10)), &mercury__robdd__conv1_Elem_14_15);
                }
#line 8234 "robdd.c"
                if (mercury__robdd__succeeded)
#line 8236 "robdd.c"
                  {
#line 8238 "robdd.c"
                    mercury__robdd__Elem_14_15 = ((MR_Word) mercury__robdd__conv1_Elem_14_15);
#line 8240 "robdd.c"
                    mercury__robdd__succeeded = MR_TRUE;
#line 8242 "robdd.c"
                  }
#line 335 "sparse_bitset.opt"
                if (mercury__robdd__succeeded)
#line 334 "sparse_bitset.opt"
                  {
#line 334 "sparse_bitset.opt"
                    MR_Word mercury__robdd__V_77_77;

#line 1079 "robdd.m"
                    {
#line 1079 "robdd.m"
                      mercury__robdd__V_77_77 = mercury__robdd__one_0_f_0(mercury__robdd__V_48_48);
                    }
#line 1079 "robdd.m"
                    {
#line 1079 "robdd.m"
                      *mercury__robdd__STATE_VARIABLE_Acc_20_14 = mercury__robdd__make_node_3_f_0(mercury__robdd__V_48_48, mercury__robdd__Elem_14_15, mercury__robdd__V_77_77, mercury__robdd__STATE_VARIABLE_Acc_0_19_13);
                    }
#line 334 "sparse_bitset.opt"
                  }
#line 335 "sparse_bitset.opt"
                else
#line 336 "sparse_bitset.opt"
                  {
#line 339 "sparse_bitset.opt"
                    {
#line 339 "sparse_bitset.opt"
                      mercury__require__unexpected_3_p_0((MR_String) "sparse_bitset", (MR_String) "predicate \140sparse_bitset.fold_bits\'/7", (MR_String) "\140enum.from_int/1\' failed");
#line 339 "sparse_bitset.opt"
                      return;
                    }
#line 336 "sparse_bitset.opt"
                  }
#line 335 "sparse_bitset.opt"
              }
#line 342 "sparse_bitset.opt"
            else
#line 343 "sparse_bitset.opt"
              {
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__HalfSize_15_19 = (mercury__robdd__Size_12_12 >> (MR_Integer) 1);
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__Mask_16_21;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__LowBits_17_22;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__HighBits_18_23;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__V_26_24;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__V_4_89 = ((MR_Integer) -1 << mercury__robdd__HalfSize_15_19);

#line 513 "sparse_bitset.opt"
                mercury__robdd__Mask_16_21 = ~(mercury__robdd__V_4_89);
#line 346 "sparse_bitset.opt"
                mercury__robdd__LowBits_17_22 = (mercury__robdd__Mask_16_21 & mercury__robdd__Bits_11_11);
#line 348 "sparse_bitset.opt"
                mercury__robdd__V_26_24 = (mercury__robdd__Bits_11_11 >> mercury__robdd__HalfSize_15_19);
#line 347 "sparse_bitset.opt"
                mercury__robdd__HighBits_18_23 = (mercury__robdd__Mask_16_21 & mercury__robdd__V_26_24);
#line 354 "sparse_bitset.opt"
                if ((mercury__robdd__Dir_8_8 == (MR_Integer) 1))
#line 355 "sparse_bitset.opt"
                  {
#line 355 "sparse_bitset.opt"
                    MR_Integer mercury__robdd__V_27_27 = (mercury__robdd__Offset_10_10 + mercury__robdd__HalfSize_15_19);
#line 355 "sparse_bitset.opt"
                    MR_Word mercury__robdd__STATE_VARIABLE_Acc_28_28_28;

#line 357 "sparse_bitset.opt"
                    {
#line 357 "sparse_bitset.opt"
                      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_52_51_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_54_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_48_48, mercury__robdd__TypeClassInfo_for_enum_29, mercury__robdd__Dir_8_8, mercury__robdd__V_27_27, mercury__robdd__HighBits_18_23, mercury__robdd__HalfSize_15_19, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, &mercury__robdd__STATE_VARIABLE_Acc_28_28_28);
                    }
#line 358 "sparse_bitset.opt"
                    /* direct tailcall eliminated */
#line 358 "sparse_bitset.opt"
                    {
#line 358 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Bits_11__tmp_copy_11 = mercury__robdd__LowBits_17_22;
#line 358 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Size_12__tmp_copy_12 = mercury__robdd__HalfSize_15_19;
#line 358 "sparse_bitset.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13 = mercury__robdd__STATE_VARIABLE_Acc_28_28_28;

#line 358 "sparse_bitset.opt"
                      mercury__robdd__STATE_VARIABLE_Acc_0_19_13 = mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13;
#line 358 "sparse_bitset.opt"
                      mercury__robdd__Size_12_12 = mercury__robdd__Size_12__tmp_copy_12;
#line 358 "sparse_bitset.opt"
                      mercury__robdd__Bits_11_11 = mercury__robdd__Bits_11__tmp_copy_11;
#line 358 "sparse_bitset.opt"
                    }
#line 358 "sparse_bitset.opt"
                    continue;
#line 355 "sparse_bitset.opt"
                  }
#line 354 "sparse_bitset.opt"
                else
#line 350 "sparse_bitset.opt"
                  {
#line 350 "sparse_bitset.opt"
                    MR_Word mercury__robdd__STATE_VARIABLE_Acc_30_30_25;
#line 350 "sparse_bitset.opt"
                    MR_Integer mercury__robdd__V_31_26;

#line 351 "sparse_bitset.opt"
                    {
#line 351 "sparse_bitset.opt"
                      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_52_51_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_54_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_48_48, mercury__robdd__TypeClassInfo_for_enum_29, mercury__robdd__Dir_8_8, mercury__robdd__Offset_10_10, mercury__robdd__LowBits_17_22, mercury__robdd__HalfSize_15_19, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, &mercury__robdd__STATE_VARIABLE_Acc_30_30_25);
                    }
#line 352 "sparse_bitset.opt"
                    mercury__robdd__V_31_26 = (mercury__robdd__Offset_10_10 + mercury__robdd__HalfSize_15_19);
#line 353 "sparse_bitset.opt"
                    /* direct tailcall eliminated */
#line 353 "sparse_bitset.opt"
                    {
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Offset_10__tmp_copy_10 = mercury__robdd__V_31_26;
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Bits_11__tmp_copy_11 = mercury__robdd__HighBits_18_23;
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Size_12__tmp_copy_12 = mercury__robdd__HalfSize_15_19;
#line 353 "sparse_bitset.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13 = mercury__robdd__STATE_VARIABLE_Acc_30_30_25;

#line 353 "sparse_bitset.opt"
                      mercury__robdd__STATE_VARIABLE_Acc_0_19_13 = mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Size_12_12 = mercury__robdd__Size_12__tmp_copy_12;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Bits_11_11 = mercury__robdd__Bits_11__tmp_copy_11;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Offset_10_10 = mercury__robdd__Offset_10__tmp_copy_10;
#line 353 "sparse_bitset.opt"
                    }
#line 353 "sparse_bitset.opt"
                    continue;
#line 350 "sparse_bitset.opt"
                  }
#line 343 "sparse_bitset.opt"
              }
#line 342 "sparse_bitset.opt"
          }
#line 327 "sparse_bitset.opt"
      }
#line 327 "sparse_bitset.opt"
      break;
#line 327 "sparse_bitset.opt"
    }
#line 52 "sparse_bitset.opt"
}

#line 41 "tree234.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_57_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_93_95_48_4_p_in__tree234_0(
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_75_75,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_91_91,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 41 "tree234.int"
  MR_Word * mercury__robdd__HeadVar__4_4)
#line 41 "tree234.int"
{
#line 104 "tree234.opt"
  while (MR_TRUE)
#line 104 "tree234.opt"
    {
#line 104 "tree234.opt"
      /* tailcall optimized into a loop */
#line 104 "tree234.opt"
      {
#line 104 "tree234.opt"
        MR_bool mercury__robdd__succeeded;

#line 104 "tree234.opt"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 104 "tree234.opt"
          *mercury__robdd__HeadVar__4_4 = mercury__robdd__HeadVar__3_3;
#line 104 "tree234.opt"
        else
#line 104 "tree234.opt"
          if (((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3))))
#line 116 "tree234.opt"
            {
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K0_37_32 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V0_38_33 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K1_39_34 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V1_40_35 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K2_41_36 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 4)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V2_42_37 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 5)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T0_43_38 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 6)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T1_44_39 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 7)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T2_45_40 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 8)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T3_46_41 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 9)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_50_50_44;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_51_51_45;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_52_52_46;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_53_53_47;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_54_54_48;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_55_55_49;

#line 117 "tree234.opt"
              {
#line 117 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_57_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_93_95_48_4_p_in__tree234_0(mercury__robdd__V_75_75, mercury__robdd__V_91_91, mercury__robdd__T0_43_38, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_50_50_44);
              }
#line 118 "tree234.opt"
              {
#line 118 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_48_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_8_p_0(mercury__robdd__V_75_75, mercury__robdd__V_91_91, mercury__robdd__K0_37_32, mercury__robdd__V0_38_33, mercury__robdd__STATE_VARIABLE_A_50_50_44, &mercury__robdd__STATE_VARIABLE_A_51_51_45);
              }
#line 119 "tree234.opt"
              {
#line 119 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_57_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_93_95_48_4_p_in__tree234_0(mercury__robdd__V_75_75, mercury__robdd__V_91_91, mercury__robdd__T1_44_39, mercury__robdd__STATE_VARIABLE_A_51_51_45, &mercury__robdd__STATE_VARIABLE_A_52_52_46);
              }
#line 120 "tree234.opt"
              {
#line 120 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_48_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_8_p_0(mercury__robdd__V_75_75, mercury__robdd__V_91_91, mercury__robdd__K1_39_34, mercury__robdd__V1_40_35, mercury__robdd__STATE_VARIABLE_A_52_52_46, &mercury__robdd__STATE_VARIABLE_A_53_53_47);
              }
#line 121 "tree234.opt"
              {
#line 121 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_57_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_93_95_48_4_p_in__tree234_0(mercury__robdd__V_75_75, mercury__robdd__V_91_91, mercury__robdd__T2_45_40, mercury__robdd__STATE_VARIABLE_A_53_53_47, &mercury__robdd__STATE_VARIABLE_A_54_54_48);
              }
#line 122 "tree234.opt"
              {
#line 122 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_48_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_8_p_0(mercury__robdd__V_75_75, mercury__robdd__V_91_91, mercury__robdd__K2_41_36, mercury__robdd__V2_42_37, mercury__robdd__STATE_VARIABLE_A_54_54_48, &mercury__robdd__STATE_VARIABLE_A_55_55_49);
              }
#line 123 "tree234.opt"
              /* direct tailcall eliminated */
#line 123 "tree234.opt"
              {
#line 123 "tree234.opt"
                MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T3_46_41;
#line 123 "tree234.opt"
                MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_55_55_49;

#line 123 "tree234.opt"
                mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 123 "tree234.opt"
                mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 123 "tree234.opt"
              }
#line 123 "tree234.opt"
              continue;
#line 116 "tree234.opt"
            }
#line 104 "tree234.opt"
          else
#line 104 "tree234.opt"
            if (((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2))))
#line 110 "tree234.opt"
              {
#line 110 "tree234.opt"
                MR_Word mercury__robdd__K0_21_18 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__V0_22_19 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__K1_23_20 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__V1_24_21 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T0_25_22 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 4)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T1_26_23 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 5)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T2_27_24 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 6)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_31_31_27;
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_32_32_28;
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_33_33_29;
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_34_34_30;

#line 111 "tree234.opt"
                {
#line 111 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_57_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_93_95_48_4_p_in__tree234_0(mercury__robdd__V_75_75, mercury__robdd__V_91_91, mercury__robdd__T0_25_22, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_31_31_27);
                }
#line 112 "tree234.opt"
                {
#line 112 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_48_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_8_p_0(mercury__robdd__V_75_75, mercury__robdd__V_91_91, mercury__robdd__K0_21_18, mercury__robdd__V0_22_19, mercury__robdd__STATE_VARIABLE_A_31_31_27, &mercury__robdd__STATE_VARIABLE_A_32_32_28);
                }
#line 113 "tree234.opt"
                {
#line 113 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_57_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_93_95_48_4_p_in__tree234_0(mercury__robdd__V_75_75, mercury__robdd__V_91_91, mercury__robdd__T1_26_23, mercury__robdd__STATE_VARIABLE_A_32_32_28, &mercury__robdd__STATE_VARIABLE_A_33_33_29);
                }
#line 114 "tree234.opt"
                {
#line 114 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_48_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_8_p_0(mercury__robdd__V_75_75, mercury__robdd__V_91_91, mercury__robdd__K1_23_20, mercury__robdd__V1_24_21, mercury__robdd__STATE_VARIABLE_A_33_33_29, &mercury__robdd__STATE_VARIABLE_A_34_34_30);
                }
#line 115 "tree234.opt"
                /* direct tailcall eliminated */
#line 115 "tree234.opt"
                {
#line 115 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T2_27_24;
#line 115 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_34_34_30;

#line 115 "tree234.opt"
                  mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 115 "tree234.opt"
                  mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 115 "tree234.opt"
                }
#line 115 "tree234.opt"
                continue;
#line 110 "tree234.opt"
              }
#line 104 "tree234.opt"
            else
#line 106 "tree234.opt"
              {
#line 106 "tree234.opt"
                MR_Word mercury__robdd__K_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__V_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__T0_12_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__T1_13_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_17_17_15;
#line 106 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_18_18_16;

#line 107 "tree234.opt"
                {
#line 107 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_57_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_93_95_48_4_p_in__tree234_0(mercury__robdd__V_75_75, mercury__robdd__V_91_91, mercury__robdd__T0_12_11, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_17_17_15);
                }
#line 108 "tree234.opt"
                {
#line 108 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_48_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_8_p_0(mercury__robdd__V_75_75, mercury__robdd__V_91_91, mercury__robdd__K_10_9, mercury__robdd__V_11_10, mercury__robdd__STATE_VARIABLE_A_17_17_15, &mercury__robdd__STATE_VARIABLE_A_18_18_16);
                }
#line 109 "tree234.opt"
                /* direct tailcall eliminated */
#line 109 "tree234.opt"
                {
#line 109 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T1_13_12;
#line 109 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_18_18_16;

#line 109 "tree234.opt"
                  mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 109 "tree234.opt"
                  mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 109 "tree234.opt"
                }
#line 109 "tree234.opt"
                continue;
#line 106 "tree234.opt"
              }
#line 104 "tree234.opt"
      }
#line 104 "tree234.opt"
      break;
#line 104 "tree234.opt"
    }
#line 41 "tree234.int"
}

#line 52 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_50_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_49_48_93_95_48_7_p_in__sparse_bitset_0(
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_29,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__Dir_8_8,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Offset_10_10,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Bits_11_11,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Size_12_12,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19_13,
#line 52 "sparse_bitset.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Acc_20_14)
#line 52 "sparse_bitset.opt"
{
#line 327 "sparse_bitset.opt"
  while (MR_TRUE)
#line 327 "sparse_bitset.opt"
    {
#line 327 "sparse_bitset.opt"
      /* tailcall optimized into a loop */
#line 327 "sparse_bitset.opt"
      {
#line 327 "sparse_bitset.opt"
        MR_bool mercury__robdd__succeeded = (mercury__robdd__Bits_11_11 == (MR_Integer) 0);

#line 327 "sparse_bitset.opt"
        if (mercury__robdd__succeeded)
#line 326 "sparse_bitset.opt"
          *mercury__robdd__STATE_VARIABLE_Acc_20_14 = mercury__robdd__STATE_VARIABLE_Acc_0_19_13;
#line 327 "sparse_bitset.opt"
        else
#line 342 "sparse_bitset.opt"
          {
#line 329 "sparse_bitset.opt"
            mercury__robdd__succeeded = (mercury__robdd__Size_12_12 == (MR_Integer) 1);
#line 342 "sparse_bitset.opt"
            if (mercury__robdd__succeeded)
#line 335 "sparse_bitset.opt"
              {
#line 335 "sparse_bitset.opt"
                MR_Box mercury__robdd__Elem_14_15;
#line 8683 "robdd.c"
                MR_bool MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_29, (MR_Integer) 0)), (MR_Integer) 6)));

#line 8686 "robdd.c"
                {
#line 8688 "robdd.c"
                  mercury__robdd__succeeded = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_29), ((MR_Box) (mercury__robdd__Offset_10_10)), &mercury__robdd__Elem_14_15);
                }
#line 335 "sparse_bitset.opt"
                if (mercury__robdd__succeeded)
#line 142 "sparse_bitset.opt"
                  {
#line 142 "sparse_bitset.opt"
                    MR_Word base;
#line 142 "sparse_bitset.opt"
                    base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 142 "sparse_bitset.opt"
                    *mercury__robdd__STATE_VARIABLE_Acc_20_14 = base;
#line 142 "sparse_bitset.opt"
                    MR_hl_field(MR_mktag(1), base, 0) = mercury__robdd__Elem_14_15;
#line 142 "sparse_bitset.opt"
                    MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__robdd__STATE_VARIABLE_Acc_0_19_13));
#line 142 "sparse_bitset.opt"
                  }
#line 335 "sparse_bitset.opt"
                else
#line 336 "sparse_bitset.opt"
                  {
#line 339 "sparse_bitset.opt"
                    {
#line 339 "sparse_bitset.opt"
                      mercury__require__unexpected_3_p_0((MR_String) "sparse_bitset", (MR_String) "predicate \140sparse_bitset.fold_bits\'/7", (MR_String) "\140enum.from_int/1\' failed");
#line 339 "sparse_bitset.opt"
                      return;
                    }
#line 336 "sparse_bitset.opt"
                  }
#line 335 "sparse_bitset.opt"
              }
#line 342 "sparse_bitset.opt"
            else
#line 343 "sparse_bitset.opt"
              {
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__HalfSize_15_19 = (mercury__robdd__Size_12_12 >> (MR_Integer) 1);
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__Mask_16_21;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__LowBits_17_22;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__HighBits_18_23;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__V_26_24;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__V_4_79 = ((MR_Integer) -1 << mercury__robdd__HalfSize_15_19);

#line 513 "sparse_bitset.opt"
                mercury__robdd__Mask_16_21 = ~(mercury__robdd__V_4_79);
#line 346 "sparse_bitset.opt"
                mercury__robdd__LowBits_17_22 = (mercury__robdd__Mask_16_21 & mercury__robdd__Bits_11_11);
#line 348 "sparse_bitset.opt"
                mercury__robdd__V_26_24 = (mercury__robdd__Bits_11_11 >> mercury__robdd__HalfSize_15_19);
#line 347 "sparse_bitset.opt"
                mercury__robdd__HighBits_18_23 = (mercury__robdd__Mask_16_21 & mercury__robdd__V_26_24);
#line 354 "sparse_bitset.opt"
                if ((mercury__robdd__Dir_8_8 == (MR_Integer) 1))
#line 355 "sparse_bitset.opt"
                  {
#line 355 "sparse_bitset.opt"
                    MR_Integer mercury__robdd__V_27_27 = (mercury__robdd__Offset_10_10 + mercury__robdd__HalfSize_15_19);
#line 355 "sparse_bitset.opt"
                    MR_Word mercury__robdd__STATE_VARIABLE_Acc_28_28_28;

#line 357 "sparse_bitset.opt"
                    {
#line 357 "sparse_bitset.opt"
                      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_50_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_49_48_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__TypeClassInfo_for_enum_29, mercury__robdd__Dir_8_8, mercury__robdd__V_27_27, mercury__robdd__HighBits_18_23, mercury__robdd__HalfSize_15_19, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, &mercury__robdd__STATE_VARIABLE_Acc_28_28_28);
                    }
#line 358 "sparse_bitset.opt"
                    /* direct tailcall eliminated */
#line 358 "sparse_bitset.opt"
                    {
#line 358 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Bits_11__tmp_copy_11 = mercury__robdd__LowBits_17_22;
#line 358 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Size_12__tmp_copy_12 = mercury__robdd__HalfSize_15_19;
#line 358 "sparse_bitset.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13 = mercury__robdd__STATE_VARIABLE_Acc_28_28_28;

#line 358 "sparse_bitset.opt"
                      mercury__robdd__STATE_VARIABLE_Acc_0_19_13 = mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13;
#line 358 "sparse_bitset.opt"
                      mercury__robdd__Size_12_12 = mercury__robdd__Size_12__tmp_copy_12;
#line 358 "sparse_bitset.opt"
                      mercury__robdd__Bits_11_11 = mercury__robdd__Bits_11__tmp_copy_11;
#line 358 "sparse_bitset.opt"
                    }
#line 358 "sparse_bitset.opt"
                    continue;
#line 355 "sparse_bitset.opt"
                  }
#line 354 "sparse_bitset.opt"
                else
#line 350 "sparse_bitset.opt"
                  {
#line 350 "sparse_bitset.opt"
                    MR_Word mercury__robdd__STATE_VARIABLE_Acc_30_30_25;
#line 350 "sparse_bitset.opt"
                    MR_Integer mercury__robdd__V_31_26;

#line 351 "sparse_bitset.opt"
                    {
#line 351 "sparse_bitset.opt"
                      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_50_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_49_48_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__TypeClassInfo_for_enum_29, mercury__robdd__Dir_8_8, mercury__robdd__Offset_10_10, mercury__robdd__LowBits_17_22, mercury__robdd__HalfSize_15_19, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, &mercury__robdd__STATE_VARIABLE_Acc_30_30_25);
                    }
#line 352 "sparse_bitset.opt"
                    mercury__robdd__V_31_26 = (mercury__robdd__Offset_10_10 + mercury__robdd__HalfSize_15_19);
#line 353 "sparse_bitset.opt"
                    /* direct tailcall eliminated */
#line 353 "sparse_bitset.opt"
                    {
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Offset_10__tmp_copy_10 = mercury__robdd__V_31_26;
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Bits_11__tmp_copy_11 = mercury__robdd__HighBits_18_23;
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Size_12__tmp_copy_12 = mercury__robdd__HalfSize_15_19;
#line 353 "sparse_bitset.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13 = mercury__robdd__STATE_VARIABLE_Acc_30_30_25;

#line 353 "sparse_bitset.opt"
                      mercury__robdd__STATE_VARIABLE_Acc_0_19_13 = mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Size_12_12 = mercury__robdd__Size_12__tmp_copy_12;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Bits_11_11 = mercury__robdd__Bits_11__tmp_copy_11;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Offset_10_10 = mercury__robdd__Offset_10__tmp_copy_10;
#line 353 "sparse_bitset.opt"
                    }
#line 353 "sparse_bitset.opt"
                    continue;
#line 350 "sparse_bitset.opt"
                  }
#line 343 "sparse_bitset.opt"
              }
#line 342 "sparse_bitset.opt"
          }
#line 327 "sparse_bitset.opt"
      }
#line 327 "sparse_bitset.opt"
      break;
#line 327 "sparse_bitset.opt"
    }
#line 52 "sparse_bitset.opt"
}

#line 14 "map.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_105_110_116_101_114_115_101_99_116_95_50_95_95_104_111_49_50_51_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_53_93_95_48_5_p_in__map_0(
#line 14 "map.opt"
  MR_Word mercury__robdd__V_33_33,
#line 14 "map.opt"
  MR_Word mercury__robdd__V_48_48,
#line 14 "map.opt"
  MR_Word mercury__robdd__TypeInfo_for_K_1_28,
#line 14 "map.opt"
  MR_Word mercury__robdd__TypeInfo_for_V_2_29,
#line 14 "map.opt"
  MR_Word mercury__robdd__AssocList1_6_6,
#line 14 "map.opt"
  MR_Word mercury__robdd__AssocList2_7_7,
#line 14 "map.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Common_0_22_9,
#line 14 "map.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Common_23_10)
#line 14 "map.opt"
{
#line 388 "map.opt"
  while (MR_TRUE)
#line 388 "map.opt"
    {
#line 388 "map.opt"
      /* tailcall optimized into a loop */
#line 388 "map.opt"
      {
#line 388 "map.opt"
        MR_bool mercury__robdd__succeeded;

#line 388 "map.opt"
        if ((mercury__robdd__AssocList1_6_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 388 "map.opt"
          if ((mercury__robdd__AssocList2_7_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 385 "map.opt"
            *mercury__robdd__STATE_VARIABLE_Common_23_10 = mercury__robdd__STATE_VARIABLE_Common_0_22_9;
#line 388 "map.opt"
          else
#line 395 "map.opt"
            *mercury__robdd__STATE_VARIABLE_Common_23_10 = mercury__robdd__STATE_VARIABLE_Common_0_22_9;
#line 388 "map.opt"
        else
#line 388 "map.opt"
          {
#line 388 "map.opt"
            MR_Word mercury__robdd__V_30_30 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__AssocList1_6_6, (MR_Integer) 1)));
#line 388 "map.opt"
            MR_Word mercury__robdd__V_31_31 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__AssocList1_6_6, (MR_Integer) 0)));

#line 388 "map.opt"
            if ((mercury__robdd__AssocList2_7_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 391 "map.opt"
              *mercury__robdd__STATE_VARIABLE_Common_23_10 = mercury__robdd__STATE_VARIABLE_Common_0_22_9;
#line 388 "map.opt"
            else
#line 397 "map.opt"
              {
#line 397 "map.opt"
                MR_Word mercury__robdd__Key1_14_19 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_31_31, (MR_Integer) 0)));
#line 397 "map.opt"
                MR_Word mercury__robdd__Value1_15_20 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_31_31, (MR_Integer) 1)));
#line 397 "map.opt"
                MR_Word mercury__robdd__V_25_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__AssocList2_7_7, (MR_Integer) 0)));
#line 397 "map.opt"
                MR_Word mercury__robdd__AssocTail2_19_22 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__AssocList2_7_7, (MR_Integer) 1)));
#line 397 "map.opt"
                MR_Word mercury__robdd__Key2_17_23 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_25_21, (MR_Integer) 0)));
#line 397 "map.opt"
                MR_Word mercury__robdd__Value2_18_24 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_25_21, (MR_Integer) 1)));
#line 397 "map.opt"
                MR_Word mercury__robdd__R_20_25;
#line 397 "map.opt"
                MR_Integer mercury__robdd__V_49_49 = (MR_Integer) mercury__robdd__Key1_14_19;
#line 397 "map.opt"
                MR_Integer mercury__robdd__V_50_50 = (MR_Integer) mercury__robdd__Key2_17_23;

#line 66 "private_builtin.opt"
                mercury__robdd__succeeded = (mercury__robdd__V_49_49 < mercury__robdd__V_50_50);
#line 69 "private_builtin.opt"
                if (mercury__robdd__succeeded)
#line 68 "private_builtin.opt"
                  mercury__robdd__R_20_25 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
                else
#line 74 "private_builtin.opt"
                  {
#line 71 "private_builtin.opt"
                    mercury__robdd__succeeded = (mercury__robdd__V_49_49 == mercury__robdd__V_50_50);
#line 74 "private_builtin.opt"
                    if (mercury__robdd__succeeded)
#line 73 "private_builtin.opt"
                      mercury__robdd__R_20_25 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
                    else
#line 75 "private_builtin.opt"
                      mercury__robdd__R_20_25 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
                  }
#line 407 "map.opt"
                if ((mercury__robdd__R_20_25 == (MR_Integer) 1))
#line 408 "map.opt"
                  {
#line 408 "map.opt"
                    /* direct tailcall eliminated */
#line 408 "map.opt"
                    {
#line 408 "map.opt"
                      MR_Word mercury__robdd__AssocList1_6__tmp_copy_6 = mercury__robdd__V_30_30;

#line 408 "map.opt"
                      mercury__robdd__AssocList1_6_6 = mercury__robdd__AssocList1_6__tmp_copy_6;
#line 408 "map.opt"
                    }
#line 408 "map.opt"
                    continue;
#line 408 "map.opt"
                  }
#line 407 "map.opt"
                else
#line 407 "map.opt"
                  if ((mercury__robdd__R_20_25 == (MR_Integer) 0))
#line 403 "map.opt"
                    {
#line 403 "map.opt"
                      MR_Word mercury__robdd__Value_21_26;
#line 403 "map.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Common_28_28_27;
#line 405 "map.opt"
                      MR_Word mercury__robdd__conv0_STATE_VARIABLE_Common_28_28_27;

#line 297 "map.opt"
                      {
#line 297 "map.opt"
                        mercury__robdd__Value_21_26 = mercury__robdd__IntroducedFrom__func__ClassMethod_for_robdd__intersectable____robdd__imp_res_2__arity1______robdd__intersection_2__862__1_3_f_0(mercury__robdd__V_48_48, mercury__robdd__Value1_15_20, mercury__robdd__Value2_18_24);
                      }
#line 405 "map.opt"
                      {
#line 405 "map.opt"
                        mercury__map__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_100_101_116_95_105_110_115_101_114_116_95_95_91_75_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_4_p_0(mercury__robdd__V_33_33, mercury__robdd__TypeInfo_for_K_1_28, mercury__robdd__TypeInfo_for_V_2_29, mercury__robdd__Key1_14_19, ((MR_Box) (mercury__robdd__Value_21_26)), (MR_Word) mercury__robdd__STATE_VARIABLE_Common_0_22_9, &mercury__robdd__conv0_STATE_VARIABLE_Common_28_28_27);
                      }
#line 405 "map.opt"
                      mercury__robdd__STATE_VARIABLE_Common_28_28_27 = (MR_Word) mercury__robdd__conv0_STATE_VARIABLE_Common_28_28_27;
#line 406 "map.opt"
                      /* direct tailcall eliminated */
#line 406 "map.opt"
                      {
#line 406 "map.opt"
                        MR_Word mercury__robdd__AssocList1_6__tmp_copy_6 = mercury__robdd__V_30_30;
#line 406 "map.opt"
                        MR_Word mercury__robdd__AssocList2_7__tmp_copy_7 = mercury__robdd__AssocTail2_19_22;
#line 406 "map.opt"
                        MR_Word mercury__robdd__STATE_VARIABLE_Common_0_22__tmp_copy_9 = mercury__robdd__STATE_VARIABLE_Common_28_28_27;

#line 406 "map.opt"
                        mercury__robdd__STATE_VARIABLE_Common_0_22_9 = mercury__robdd__STATE_VARIABLE_Common_0_22__tmp_copy_9;
#line 406 "map.opt"
                        mercury__robdd__AssocList2_7_7 = mercury__robdd__AssocList2_7__tmp_copy_7;
#line 406 "map.opt"
                        mercury__robdd__AssocList1_6_6 = mercury__robdd__AssocList1_6__tmp_copy_6;
#line 406 "map.opt"
                      }
#line 406 "map.opt"
                      continue;
#line 403 "map.opt"
                    }
#line 407 "map.opt"
                  else
#line 411 "map.opt"
                    {
#line 411 "map.opt"
                      /* direct tailcall eliminated */
#line 411 "map.opt"
                      {
#line 411 "map.opt"
                        MR_Word mercury__robdd__AssocList2_7__tmp_copy_7 = mercury__robdd__AssocTail2_19_22;

#line 411 "map.opt"
                        mercury__robdd__AssocList2_7_7 = mercury__robdd__AssocList2_7__tmp_copy_7;
#line 411 "map.opt"
                      }
#line 411 "map.opt"
                      continue;
#line 411 "map.opt"
                    }
#line 397 "map.opt"
              }
#line 388 "map.opt"
          }
#line 388 "map.opt"
      }
#line 388 "map.opt"
      break;
#line 388 "map.opt"
    }
#line 14 "map.opt"
}

#line 41 "tree234.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_50_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_93_95_48_4_p_in__tree234_0(
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_73_73,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_87_87,
#line 41 "tree234.int"
  MR_Word mercury__robdd__V_88_88,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 41 "tree234.int"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 41 "tree234.int"
  MR_Word * mercury__robdd__HeadVar__4_4)
#line 41 "tree234.int"
{
#line 104 "tree234.opt"
  while (MR_TRUE)
#line 104 "tree234.opt"
    {
#line 104 "tree234.opt"
      /* tailcall optimized into a loop */
#line 104 "tree234.opt"
      {
#line 104 "tree234.opt"
        MR_bool mercury__robdd__succeeded;

#line 104 "tree234.opt"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 104 "tree234.opt"
          *mercury__robdd__HeadVar__4_4 = mercury__robdd__HeadVar__3_3;
#line 104 "tree234.opt"
        else
#line 104 "tree234.opt"
          if (((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3))))
#line 116 "tree234.opt"
            {
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K0_37_32 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V0_38_33 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K1_39_34 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V1_40_35 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K2_41_36 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 4)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V2_42_37 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 5)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T0_43_38 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 6)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T1_44_39 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 7)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T2_45_40 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 8)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T3_46_41 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 9)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_50_50_44;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_51_51_45;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_52_52_46;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_53_53_47;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_54_54_48;
#line 116 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_55_55_49;

#line 117 "tree234.opt"
              {
#line 117 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_50_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_93_95_48_4_p_in__tree234_0(mercury__robdd__V_73_73, mercury__robdd__V_87_87, mercury__robdd__V_88_88, mercury__robdd__T0_43_38, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_50_50_44);
              }
#line 118 "tree234.opt"
              {
#line 118 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_52_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_8_p_0(mercury__robdd__V_73_73, mercury__robdd__V_87_87, mercury__robdd__V_88_88, mercury__robdd__K0_37_32, mercury__robdd__V0_38_33, mercury__robdd__STATE_VARIABLE_A_50_50_44, &mercury__robdd__STATE_VARIABLE_A_51_51_45);
              }
#line 119 "tree234.opt"
              {
#line 119 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_50_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_93_95_48_4_p_in__tree234_0(mercury__robdd__V_73_73, mercury__robdd__V_87_87, mercury__robdd__V_88_88, mercury__robdd__T1_44_39, mercury__robdd__STATE_VARIABLE_A_51_51_45, &mercury__robdd__STATE_VARIABLE_A_52_52_46);
              }
#line 120 "tree234.opt"
              {
#line 120 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_52_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_8_p_0(mercury__robdd__V_73_73, mercury__robdd__V_87_87, mercury__robdd__V_88_88, mercury__robdd__K1_39_34, mercury__robdd__V1_40_35, mercury__robdd__STATE_VARIABLE_A_52_52_46, &mercury__robdd__STATE_VARIABLE_A_53_53_47);
              }
#line 121 "tree234.opt"
              {
#line 121 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_50_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_93_95_48_4_p_in__tree234_0(mercury__robdd__V_73_73, mercury__robdd__V_87_87, mercury__robdd__V_88_88, mercury__robdd__T2_45_40, mercury__robdd__STATE_VARIABLE_A_53_53_47, &mercury__robdd__STATE_VARIABLE_A_54_54_48);
              }
#line 122 "tree234.opt"
              {
#line 122 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_52_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_8_p_0(mercury__robdd__V_73_73, mercury__robdd__V_87_87, mercury__robdd__V_88_88, mercury__robdd__K2_41_36, mercury__robdd__V2_42_37, mercury__robdd__STATE_VARIABLE_A_54_54_48, &mercury__robdd__STATE_VARIABLE_A_55_55_49);
              }
#line 123 "tree234.opt"
              /* direct tailcall eliminated */
#line 123 "tree234.opt"
              {
#line 123 "tree234.opt"
                MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T3_46_41;
#line 123 "tree234.opt"
                MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_55_55_49;

#line 123 "tree234.opt"
                mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 123 "tree234.opt"
                mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 123 "tree234.opt"
              }
#line 123 "tree234.opt"
              continue;
#line 116 "tree234.opt"
            }
#line 104 "tree234.opt"
          else
#line 104 "tree234.opt"
            if (((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2))))
#line 110 "tree234.opt"
              {
#line 110 "tree234.opt"
                MR_Word mercury__robdd__K0_21_18 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__V0_22_19 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__K1_23_20 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__V1_24_21 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T0_25_22 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 4)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T1_26_23 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 5)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T2_27_24 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 6)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_31_31_27;
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_32_32_28;
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_33_33_29;
#line 110 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_34_34_30;

#line 111 "tree234.opt"
                {
#line 111 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_50_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_93_95_48_4_p_in__tree234_0(mercury__robdd__V_73_73, mercury__robdd__V_87_87, mercury__robdd__V_88_88, mercury__robdd__T0_25_22, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_31_31_27);
                }
#line 112 "tree234.opt"
                {
#line 112 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_52_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_8_p_0(mercury__robdd__V_73_73, mercury__robdd__V_87_87, mercury__robdd__V_88_88, mercury__robdd__K0_21_18, mercury__robdd__V0_22_19, mercury__robdd__STATE_VARIABLE_A_31_31_27, &mercury__robdd__STATE_VARIABLE_A_32_32_28);
                }
#line 113 "tree234.opt"
                {
#line 113 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_50_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_93_95_48_4_p_in__tree234_0(mercury__robdd__V_73_73, mercury__robdd__V_87_87, mercury__robdd__V_88_88, mercury__robdd__T1_26_23, mercury__robdd__STATE_VARIABLE_A_32_32_28, &mercury__robdd__STATE_VARIABLE_A_33_33_29);
                }
#line 114 "tree234.opt"
                {
#line 114 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_52_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_8_p_0(mercury__robdd__V_73_73, mercury__robdd__V_87_87, mercury__robdd__V_88_88, mercury__robdd__K1_23_20, mercury__robdd__V1_24_21, mercury__robdd__STATE_VARIABLE_A_33_33_29, &mercury__robdd__STATE_VARIABLE_A_34_34_30);
                }
#line 115 "tree234.opt"
                /* direct tailcall eliminated */
#line 115 "tree234.opt"
                {
#line 115 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T2_27_24;
#line 115 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_34_34_30;

#line 115 "tree234.opt"
                  mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 115 "tree234.opt"
                  mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 115 "tree234.opt"
                }
#line 115 "tree234.opt"
                continue;
#line 110 "tree234.opt"
              }
#line 104 "tree234.opt"
            else
#line 106 "tree234.opt"
              {
#line 106 "tree234.opt"
                MR_Word mercury__robdd__K_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__V_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__T0_12_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__T1_13_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_17_17_15;
#line 106 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_18_18_16;

#line 107 "tree234.opt"
                {
#line 107 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_50_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_93_95_48_4_p_in__tree234_0(mercury__robdd__V_73_73, mercury__robdd__V_87_87, mercury__robdd__V_88_88, mercury__robdd__T0_12_11, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_17_17_15);
                }
#line 108 "tree234.opt"
                {
#line 108 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_50_49_48_95_95_49_95_95_104_111_49_54_52_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_8_p_0(mercury__robdd__V_73_73, mercury__robdd__V_87_87, mercury__robdd__V_88_88, mercury__robdd__K_10_9, mercury__robdd__V_11_10, mercury__robdd__STATE_VARIABLE_A_17_17_15, &mercury__robdd__STATE_VARIABLE_A_18_18_16);
                }
#line 109 "tree234.opt"
                /* direct tailcall eliminated */
#line 109 "tree234.opt"
                {
#line 109 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T1_13_12;
#line 109 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_18_18_16;

#line 109 "tree234.opt"
                  mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 109 "tree234.opt"
                  mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 109 "tree234.opt"
                }
#line 109 "tree234.opt"
                continue;
#line 106 "tree234.opt"
              }
#line 104 "tree234.opt"
      }
#line 104 "tree234.opt"
      break;
#line 104 "tree234.opt"
    }
#line 41 "tree234.int"
}

#line 52 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_50_49_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_49_48_44_32_49_51_93_95_48_7_p_in__sparse_bitset_0(
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_43_43,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_44_44,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_29,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__Dir_8_8,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Offset_10_10,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Bits_11_11,
#line 52 "sparse_bitset.opt"
  MR_Integer mercury__robdd__Size_12_12,
#line 52 "sparse_bitset.opt"
  MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19_13,
#line 52 "sparse_bitset.opt"
  MR_Word * mercury__robdd__STATE_VARIABLE_Acc_20_14)
#line 52 "sparse_bitset.opt"
{
#line 327 "sparse_bitset.opt"
  while (MR_TRUE)
#line 327 "sparse_bitset.opt"
    {
#line 327 "sparse_bitset.opt"
      /* tailcall optimized into a loop */
#line 327 "sparse_bitset.opt"
      {
#line 327 "sparse_bitset.opt"
        MR_bool mercury__robdd__succeeded = (mercury__robdd__Bits_11_11 == (MR_Integer) 0);

#line 327 "sparse_bitset.opt"
        if (mercury__robdd__succeeded)
#line 326 "sparse_bitset.opt"
          *mercury__robdd__STATE_VARIABLE_Acc_20_14 = mercury__robdd__STATE_VARIABLE_Acc_0_19_13;
#line 327 "sparse_bitset.opt"
        else
#line 342 "sparse_bitset.opt"
          {
#line 329 "sparse_bitset.opt"
            mercury__robdd__succeeded = (mercury__robdd__Size_12_12 == (MR_Integer) 1);
#line 342 "sparse_bitset.opt"
            if (mercury__robdd__succeeded)
#line 335 "sparse_bitset.opt"
              {
#line 335 "sparse_bitset.opt"
                MR_Word mercury__robdd__Elem_14_15;
#line 9332 "robdd.c"
                MR_bool MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_29, (MR_Integer) 0)), (MR_Integer) 6)));
#line 9334 "robdd.c"
                MR_Box mercury__robdd__conv1_Elem_14_15;

#line 9337 "robdd.c"
                {
#line 9339 "robdd.c"
                  mercury__robdd__succeeded = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_29), ((MR_Box) (mercury__robdd__Offset_10_10)), &mercury__robdd__conv1_Elem_14_15);
                }
#line 9342 "robdd.c"
                if (mercury__robdd__succeeded)
#line 9344 "robdd.c"
                  {
#line 9346 "robdd.c"
                    mercury__robdd__Elem_14_15 = ((MR_Word) mercury__robdd__conv1_Elem_14_15);
#line 9348 "robdd.c"
                    mercury__robdd__succeeded = MR_TRUE;
#line 9350 "robdd.c"
                  }
#line 335 "sparse_bitset.opt"
                if (mercury__robdd__succeeded)
#line 334 "sparse_bitset.opt"
                  {
#line 334 "sparse_bitset.opt"
                    mercury__robdd__IntroducedFrom__pred__rev_map__682__1_5_p_0(mercury__robdd__V_43_43, mercury__robdd__V_44_44, mercury__robdd__Elem_14_15, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, mercury__robdd__STATE_VARIABLE_Acc_20_14);
#line 334 "sparse_bitset.opt"
                    return;
                  }
#line 335 "sparse_bitset.opt"
                else
#line 336 "sparse_bitset.opt"
                  {
#line 339 "sparse_bitset.opt"
                    {
#line 339 "sparse_bitset.opt"
                      mercury__require__unexpected_3_p_0((MR_String) "sparse_bitset", (MR_String) "predicate \140sparse_bitset.fold_bits\'/7", (MR_String) "\140enum.from_int/1\' failed");
#line 339 "sparse_bitset.opt"
                      return;
                    }
#line 336 "sparse_bitset.opt"
                  }
#line 335 "sparse_bitset.opt"
              }
#line 342 "sparse_bitset.opt"
            else
#line 343 "sparse_bitset.opt"
              {
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__HalfSize_15_19 = (mercury__robdd__Size_12_12 >> (MR_Integer) 1);
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__Mask_16_21;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__LowBits_17_22;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__HighBits_18_23;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__V_26_24;
#line 343 "sparse_bitset.opt"
                MR_Integer mercury__robdd__V_4_47 = ((MR_Integer) -1 << mercury__robdd__HalfSize_15_19);

#line 513 "sparse_bitset.opt"
                mercury__robdd__Mask_16_21 = ~(mercury__robdd__V_4_47);
#line 346 "sparse_bitset.opt"
                mercury__robdd__LowBits_17_22 = (mercury__robdd__Mask_16_21 & mercury__robdd__Bits_11_11);
#line 348 "sparse_bitset.opt"
                mercury__robdd__V_26_24 = (mercury__robdd__Bits_11_11 >> mercury__robdd__HalfSize_15_19);
#line 347 "sparse_bitset.opt"
                mercury__robdd__HighBits_18_23 = (mercury__robdd__Mask_16_21 & mercury__robdd__V_26_24);
#line 354 "sparse_bitset.opt"
                if ((mercury__robdd__Dir_8_8 == (MR_Integer) 1))
#line 355 "sparse_bitset.opt"
                  {
#line 355 "sparse_bitset.opt"
                    MR_Integer mercury__robdd__V_27_27 = (mercury__robdd__Offset_10_10 + mercury__robdd__HalfSize_15_19);
#line 355 "sparse_bitset.opt"
                    MR_Word mercury__robdd__STATE_VARIABLE_Acc_28_28_28;

#line 357 "sparse_bitset.opt"
                    {
#line 357 "sparse_bitset.opt"
                      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_50_49_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_49_48_44_32_49_51_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_43_43, mercury__robdd__V_44_44, mercury__robdd__TypeClassInfo_for_enum_29, mercury__robdd__Dir_8_8, mercury__robdd__V_27_27, mercury__robdd__HighBits_18_23, mercury__robdd__HalfSize_15_19, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, &mercury__robdd__STATE_VARIABLE_Acc_28_28_28);
                    }
#line 358 "sparse_bitset.opt"
                    /* direct tailcall eliminated */
#line 358 "sparse_bitset.opt"
                    {
#line 358 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Bits_11__tmp_copy_11 = mercury__robdd__LowBits_17_22;
#line 358 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Size_12__tmp_copy_12 = mercury__robdd__HalfSize_15_19;
#line 358 "sparse_bitset.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13 = mercury__robdd__STATE_VARIABLE_Acc_28_28_28;

#line 358 "sparse_bitset.opt"
                      mercury__robdd__STATE_VARIABLE_Acc_0_19_13 = mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13;
#line 358 "sparse_bitset.opt"
                      mercury__robdd__Size_12_12 = mercury__robdd__Size_12__tmp_copy_12;
#line 358 "sparse_bitset.opt"
                      mercury__robdd__Bits_11_11 = mercury__robdd__Bits_11__tmp_copy_11;
#line 358 "sparse_bitset.opt"
                    }
#line 358 "sparse_bitset.opt"
                    continue;
#line 355 "sparse_bitset.opt"
                  }
#line 354 "sparse_bitset.opt"
                else
#line 350 "sparse_bitset.opt"
                  {
#line 350 "sparse_bitset.opt"
                    MR_Word mercury__robdd__STATE_VARIABLE_Acc_30_30_25;
#line 350 "sparse_bitset.opt"
                    MR_Integer mercury__robdd__V_31_26;

#line 351 "sparse_bitset.opt"
                    {
#line 351 "sparse_bitset.opt"
                      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_50_49_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_49_48_44_32_49_51_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_43_43, mercury__robdd__V_44_44, mercury__robdd__TypeClassInfo_for_enum_29, mercury__robdd__Dir_8_8, mercury__robdd__Offset_10_10, mercury__robdd__LowBits_17_22, mercury__robdd__HalfSize_15_19, mercury__robdd__STATE_VARIABLE_Acc_0_19_13, &mercury__robdd__STATE_VARIABLE_Acc_30_30_25);
                    }
#line 352 "sparse_bitset.opt"
                    mercury__robdd__V_31_26 = (mercury__robdd__Offset_10_10 + mercury__robdd__HalfSize_15_19);
#line 353 "sparse_bitset.opt"
                    /* direct tailcall eliminated */
#line 353 "sparse_bitset.opt"
                    {
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Offset_10__tmp_copy_10 = mercury__robdd__V_31_26;
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Bits_11__tmp_copy_11 = mercury__robdd__HighBits_18_23;
#line 353 "sparse_bitset.opt"
                      MR_Integer mercury__robdd__Size_12__tmp_copy_12 = mercury__robdd__HalfSize_15_19;
#line 353 "sparse_bitset.opt"
                      MR_Word mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13 = mercury__robdd__STATE_VARIABLE_Acc_30_30_25;

#line 353 "sparse_bitset.opt"
                      mercury__robdd__STATE_VARIABLE_Acc_0_19_13 = mercury__robdd__STATE_VARIABLE_Acc_0_19__tmp_copy_13;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Size_12_12 = mercury__robdd__Size_12__tmp_copy_12;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Bits_11_11 = mercury__robdd__Bits_11__tmp_copy_11;
#line 353 "sparse_bitset.opt"
                      mercury__robdd__Offset_10_10 = mercury__robdd__Offset_10__tmp_copy_10;
#line 353 "sparse_bitset.opt"
                    }
#line 353 "sparse_bitset.opt"
                    continue;
#line 350 "sparse_bitset.opt"
                  }
#line 343 "sparse_bitset.opt"
              }
#line 342 "sparse_bitset.opt"
          }
#line 327 "sparse_bitset.opt"
      }
#line 327 "sparse_bitset.opt"
      break;
#line 327 "sparse_bitset.opt"
    }
#line 52 "sparse_bitset.opt"
}

#line 13 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_52_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_49_48_44_32_49_50_93_95_48_4_p_in__sparse_bitset_0(
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_34_34,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_35_35,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_20,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 13 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 13 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__4_4)
#line 13 "sparse_bitset.opt"
{
#line 284 "sparse_bitset.opt"
  while (MR_TRUE)
#line 284 "sparse_bitset.opt"
    {
#line 284 "sparse_bitset.opt"
      /* tailcall optimized into a loop */
#line 284 "sparse_bitset.opt"
      {
#line 284 "sparse_bitset.opt"
        MR_bool mercury__robdd__succeeded;

#line 284 "sparse_bitset.opt"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 284 "sparse_bitset.opt"
          *mercury__robdd__HeadVar__4_4 = mercury__robdd__HeadVar__3_3;
#line 284 "sparse_bitset.opt"
        else
#line 286 "sparse_bitset.opt"
          {
#line 286 "sparse_bitset.opt"
            MR_Word mercury__robdd__H_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 286 "sparse_bitset.opt"
            MR_Word mercury__robdd__T_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 286 "sparse_bitset.opt"
            MR_Integer mercury__robdd__V_22_16 = ((MR_Integer) (MR_hl_field(MR_mktag(0), mercury__robdd__H_10_9, (MR_Integer) 0)));
#line 286 "sparse_bitset.opt"
            MR_Integer mercury__robdd__V_17_17 = ((MR_Integer) (MR_hl_field(MR_mktag(0), mercury__robdd__H_10_9, (MR_Integer) 1)));
#line 286 "sparse_bitset.opt"
            MR_Integer mercury__robdd__V_18_18;
#line 286 "sparse_bitset.opt"
            MR_Word mercury__robdd__STATE_VARIABLE_Acc_19_19_19;

#line 171 "int.opt"
{
#define MR_PROC_LABEL mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_52_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_49_48_44_32_49_50_93_95_48_4_p_in__sparse_bitset_0

	MR_Integer Bits;

		{
#line 171 "int.opt"

    Bits = ML_BITS_PER_INT;

#line 9554 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__V_18_18  = Bits;
#line 171 "int.opt"
}
#line 291 "sparse_bitset.opt"
            {
#line 291 "sparse_bitset.opt"
              mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_50_49_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_49_48_44_32_49_51_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_34_34, mercury__robdd__V_35_35, mercury__robdd__TypeClassInfo_for_enum_20, (MR_Integer) 0, mercury__robdd__V_22_16, mercury__robdd__V_17_17, mercury__robdd__V_18_18, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_Acc_19_19_19);
            }
#line 292 "sparse_bitset.opt"
            /* direct tailcall eliminated */
#line 292 "sparse_bitset.opt"
            {
#line 292 "sparse_bitset.opt"
              MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T_11_10;
#line 292 "sparse_bitset.opt"
              MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_Acc_19_19_19;

#line 292 "sparse_bitset.opt"
              mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 292 "sparse_bitset.opt"
              mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 292 "sparse_bitset.opt"
            }
#line 292 "sparse_bitset.opt"
            continue;
#line 286 "sparse_bitset.opt"
          }
#line 284 "sparse_bitset.opt"
      }
#line 284 "sparse_bitset.opt"
      break;
#line 284 "sparse_bitset.opt"
    }
#line 13 "sparse_bitset.opt"
}

#line 33 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_49_48_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_57_93_95_48_4_p_in__sparse_bitset_0(
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_20,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 33 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__4_4)
#line 33 "sparse_bitset.opt"
{
#line 303 "sparse_bitset.opt"
  {
#line 303 "sparse_bitset.opt"
    MR_bool mercury__robdd__succeeded;

#line 303 "sparse_bitset.opt"
    if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 303 "sparse_bitset.opt"
      *mercury__robdd__HeadVar__4_4 = mercury__robdd__HeadVar__3_3;
#line 303 "sparse_bitset.opt"
    else
#line 305 "sparse_bitset.opt"
      {
#line 305 "sparse_bitset.opt"
        MR_Word mercury__robdd__H_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 305 "sparse_bitset.opt"
        MR_Word mercury__robdd__T_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 305 "sparse_bitset.opt"
        MR_Word mercury__robdd__STATE_VARIABLE_Acc_15_15_13;
#line 305 "sparse_bitset.opt"
        MR_Integer mercury__robdd__V_22_17;
#line 305 "sparse_bitset.opt"
        MR_Integer mercury__robdd__V_18_18;
#line 305 "sparse_bitset.opt"
        MR_Integer mercury__robdd__V_19_19;

#line 306 "sparse_bitset.opt"
        {
#line 306 "sparse_bitset.opt"
          mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_49_48_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_57_93_95_48_4_p_in__sparse_bitset_0(mercury__robdd__TypeClassInfo_for_enum_20, mercury__robdd__T_11_10, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_Acc_15_15_13);
        }
#line 308 "sparse_bitset.opt"
        mercury__robdd__V_22_17 = ((MR_Integer) (MR_hl_field(MR_mktag(0), mercury__robdd__H_10_9, (MR_Integer) 0)));
#line 308 "sparse_bitset.opt"
        mercury__robdd__V_18_18 = ((MR_Integer) (MR_hl_field(MR_mktag(0), mercury__robdd__H_10_9, (MR_Integer) 1)));
#line 171 "int.opt"
{
#define MR_PROC_LABEL mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_49_48_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_57_93_95_48_4_p_in__sparse_bitset_0

	MR_Integer Bits;

		{
#line 171 "int.opt"

    Bits = ML_BITS_PER_INT;

#line 9653 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__V_19_19  = Bits;
#line 171 "int.opt"
}
#line 311 "sparse_bitset.opt"
        {
#line 311 "sparse_bitset.opt"
          mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_50_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_49_48_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__TypeClassInfo_for_enum_20, (MR_Integer) 1, mercury__robdd__V_22_17, mercury__robdd__V_18_18, mercury__robdd__V_19_19, mercury__robdd__STATE_VARIABLE_Acc_15_15_13, mercury__robdd__HeadVar__4_4);
#line 311 "sparse_bitset.opt"
          return;
        }
#line 305 "sparse_bitset.opt"
      }
#line 303 "sparse_bitset.opt"
  }
#line 33 "sparse_bitset.opt"
}

#line 129 "list.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_57_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_50_51_44_32_50_52_44_32_50_53_93_95_48_4_p_in__list_0(
#line 129 "list.int"
  MR_Word mercury__robdd__V_45_45,
#line 129 "list.int"
  MR_Word mercury__robdd__V_46_46,
#line 129 "list.int"
  MR_Word mercury__robdd__V_47_47,
#line 129 "list.int"
  MR_Word mercury__robdd__V_48_48,
#line 129 "list.int"
  MR_Word mercury__robdd__V_49_49,
#line 129 "list.int"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 129 "list.int"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 129 "list.int"
  MR_Word * mercury__robdd__HeadVar__4_4)
#line 129 "list.int"
{
#line 332 "list.opt"
  while (MR_TRUE)
#line 332 "list.opt"
    {
#line 332 "list.opt"
      /* tailcall optimized into a loop */
#line 332 "list.opt"
      {
#line 332 "list.opt"
        MR_bool mercury__robdd__succeeded;

#line 332 "list.opt"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 332 "list.opt"
          *mercury__robdd__HeadVar__4_4 = mercury__robdd__HeadVar__3_3;
#line 332 "list.opt"
        else
#line 334 "list.opt"
          {
#line 334 "list.opt"
            MR_Word mercury__robdd__H_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 334 "list.opt"
            MR_Word mercury__robdd__T_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 334 "list.opt"
            MR_Word mercury__robdd__STATE_VARIABLE_A_15_15_13;

#line 342 "list.opt"
            {
#line 342 "list.opt"
              mercury__robdd__STATE_VARIABLE_A_15_15_13 = mercury__robdd__IntroducedFrom__func__merge_imp_res_2__761__1_7_f_0(mercury__robdd__V_45_45, mercury__robdd__V_46_46, mercury__robdd__V_47_47, mercury__robdd__V_48_48, mercury__robdd__V_49_49, mercury__robdd__H_10_9, mercury__robdd__HeadVar__3_3);
            }
#line 336 "list.opt"
            /* direct tailcall eliminated */
#line 336 "list.opt"
            {
#line 336 "list.opt"
              MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T_11_10;
#line 336 "list.opt"
              MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_15_15_13;

#line 336 "list.opt"
              mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 336 "list.opt"
              mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 336 "list.opt"
            }
#line 336 "list.opt"
            continue;
#line 334 "list.opt"
          }
#line 332 "list.opt"
      }
#line 332 "list.opt"
      break;
#line 332 "list.opt"
    }
#line 129 "list.int"
}

#line 51 "tree234.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_50_95_95_104_111_57_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_93_95_48_6_p_in__tree234_0(
#line 51 "tree234.int"
  MR_Word mercury__robdd__V_93_93,
#line 51 "tree234.int"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 51 "tree234.int"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 51 "tree234.int"
  MR_Word * mercury__robdd__HeadVar__4_4,
#line 51 "tree234.int"
  MR_Word mercury__robdd__HeadVar__5_5,
#line 51 "tree234.int"
  MR_Word * mercury__robdd__HeadVar__6_6)
#line 51 "tree234.int"
{
#line 124 "tree234.opt"
  while (MR_TRUE)
#line 124 "tree234.opt"
    {
#line 124 "tree234.opt"
      /* tailcall optimized into a loop */
#line 124 "tree234.opt"
      {
#line 124 "tree234.opt"
        MR_bool mercury__robdd__succeeded;

#line 124 "tree234.opt"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 124 "tree234.opt"
          {
#line 124 "tree234.opt"
            *mercury__robdd__HeadVar__6_6 = mercury__robdd__HeadVar__5_5;
#line 124 "tree234.opt"
            *mercury__robdd__HeadVar__4_4 = mercury__robdd__HeadVar__3_3;
#line 124 "tree234.opt"
          }
#line 124 "tree234.opt"
        else
#line 124 "tree234.opt"
          if (((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3))))
#line 137 "tree234.opt"
            {
#line 137 "tree234.opt"
              MR_Word mercury__robdd__K0_56_46 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 137 "tree234.opt"
              MR_Word mercury__robdd__V0_57_47 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 137 "tree234.opt"
              MR_Word mercury__robdd__K1_58_48 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 137 "tree234.opt"
              MR_Word mercury__robdd__V1_59_49 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 137 "tree234.opt"
              MR_Word mercury__robdd__K2_60_50 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 4)));
#line 137 "tree234.opt"
              MR_Word mercury__robdd__V2_61_51 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 5)));
#line 137 "tree234.opt"
              MR_Word mercury__robdd__T0_62_52 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 6)));
#line 137 "tree234.opt"
              MR_Word mercury__robdd__T1_63_53 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 7)));
#line 137 "tree234.opt"
              MR_Word mercury__robdd__T2_64_54 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 8)));
#line 137 "tree234.opt"
              MR_Word mercury__robdd__T3_65_55 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 9)));
#line 137 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_72_72_60;
#line 137 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_B_73_73_61;
#line 137 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_74_74_62;
#line 137 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_B_75_75_63;
#line 137 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_76_76_64;
#line 137 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_B_77_77_65;
#line 137 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_78_78_66;
#line 137 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_B_79_79_67;
#line 137 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_80_80_68;
#line 137 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_B_81_81_69;
#line 137 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_A_82_82_70;
#line 137 "tree234.opt"
              MR_Word mercury__robdd__STATE_VARIABLE_B_83_83_71;

#line 138 "tree234.opt"
              {
#line 138 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_50_95_95_104_111_57_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_93_95_48_6_p_in__tree234_0(mercury__robdd__V_93_93, mercury__robdd__T0_62_52, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_72_72_60, mercury__robdd__HeadVar__5_5, &mercury__robdd__STATE_VARIABLE_B_73_73_61);
              }
#line 139 "tree234.opt"
              {
#line 139 "tree234.opt"
                mercury__robdd__IntroducedFrom__pred__rev_map__680__1_7_p_0(mercury__robdd__V_93_93, mercury__robdd__K0_56_46, mercury__robdd__V0_57_47, mercury__robdd__STATE_VARIABLE_A_72_72_60, &mercury__robdd__STATE_VARIABLE_A_74_74_62, mercury__robdd__STATE_VARIABLE_B_73_73_61, &mercury__robdd__STATE_VARIABLE_B_75_75_63);
              }
#line 140 "tree234.opt"
              {
#line 140 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_50_95_95_104_111_57_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_93_95_48_6_p_in__tree234_0(mercury__robdd__V_93_93, mercury__robdd__T1_63_53, mercury__robdd__STATE_VARIABLE_A_74_74_62, &mercury__robdd__STATE_VARIABLE_A_76_76_64, mercury__robdd__STATE_VARIABLE_B_75_75_63, &mercury__robdd__STATE_VARIABLE_B_77_77_65);
              }
#line 141 "tree234.opt"
              {
#line 141 "tree234.opt"
                mercury__robdd__IntroducedFrom__pred__rev_map__680__1_7_p_0(mercury__robdd__V_93_93, mercury__robdd__K1_58_48, mercury__robdd__V1_59_49, mercury__robdd__STATE_VARIABLE_A_76_76_64, &mercury__robdd__STATE_VARIABLE_A_78_78_66, mercury__robdd__STATE_VARIABLE_B_77_77_65, &mercury__robdd__STATE_VARIABLE_B_79_79_67);
              }
#line 142 "tree234.opt"
              {
#line 142 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_50_95_95_104_111_57_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_93_95_48_6_p_in__tree234_0(mercury__robdd__V_93_93, mercury__robdd__T2_64_54, mercury__robdd__STATE_VARIABLE_A_78_78_66, &mercury__robdd__STATE_VARIABLE_A_80_80_68, mercury__robdd__STATE_VARIABLE_B_79_79_67, &mercury__robdd__STATE_VARIABLE_B_81_81_69);
              }
#line 143 "tree234.opt"
              {
#line 143 "tree234.opt"
                mercury__robdd__IntroducedFrom__pred__rev_map__680__1_7_p_0(mercury__robdd__V_93_93, mercury__robdd__K2_60_50, mercury__robdd__V2_61_51, mercury__robdd__STATE_VARIABLE_A_80_80_68, &mercury__robdd__STATE_VARIABLE_A_82_82_70, mercury__robdd__STATE_VARIABLE_B_81_81_69, &mercury__robdd__STATE_VARIABLE_B_83_83_71);
              }
#line 144 "tree234.opt"
              /* direct tailcall eliminated */
#line 144 "tree234.opt"
              {
#line 144 "tree234.opt"
                MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T3_65_55;
#line 144 "tree234.opt"
                MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_82_82_70;
#line 144 "tree234.opt"
                MR_Word mercury__robdd__HeadVar__5__tmp_copy_5 = mercury__robdd__STATE_VARIABLE_B_83_83_71;

#line 144 "tree234.opt"
                mercury__robdd__HeadVar__5_5 = mercury__robdd__HeadVar__5__tmp_copy_5;
#line 144 "tree234.opt"
                mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 144 "tree234.opt"
                mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 144 "tree234.opt"
              }
#line 144 "tree234.opt"
              continue;
#line 137 "tree234.opt"
            }
#line 124 "tree234.opt"
          else
#line 124 "tree234.opt"
            if (((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2))))
#line 131 "tree234.opt"
              {
#line 131 "tree234.opt"
                MR_Word mercury__robdd__K0_32_26 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 131 "tree234.opt"
                MR_Word mercury__robdd__V0_33_27 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 131 "tree234.opt"
                MR_Word mercury__robdd__K1_34_28 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 131 "tree234.opt"
                MR_Word mercury__robdd__V1_35_29 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 131 "tree234.opt"
                MR_Word mercury__robdd__T0_36_30 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 4)));
#line 131 "tree234.opt"
                MR_Word mercury__robdd__T1_37_31 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 5)));
#line 131 "tree234.opt"
                MR_Word mercury__robdd__T2_38_32 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 6)));
#line 131 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_45_45_37;
#line 131 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_B_46_46_38;
#line 131 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_47_47_39;
#line 131 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_B_48_48_40;
#line 131 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_49_49_41;
#line 131 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_B_50_50_42;
#line 131 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_51_51_43;
#line 131 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_B_52_52_44;

#line 132 "tree234.opt"
                {
#line 132 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_50_95_95_104_111_57_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_93_95_48_6_p_in__tree234_0(mercury__robdd__V_93_93, mercury__robdd__T0_36_30, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_45_45_37, mercury__robdd__HeadVar__5_5, &mercury__robdd__STATE_VARIABLE_B_46_46_38);
                }
#line 133 "tree234.opt"
                {
#line 133 "tree234.opt"
                  mercury__robdd__IntroducedFrom__pred__rev_map__680__1_7_p_0(mercury__robdd__V_93_93, mercury__robdd__K0_32_26, mercury__robdd__V0_33_27, mercury__robdd__STATE_VARIABLE_A_45_45_37, &mercury__robdd__STATE_VARIABLE_A_47_47_39, mercury__robdd__STATE_VARIABLE_B_46_46_38, &mercury__robdd__STATE_VARIABLE_B_48_48_40);
                }
#line 134 "tree234.opt"
                {
#line 134 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_50_95_95_104_111_57_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_93_95_48_6_p_in__tree234_0(mercury__robdd__V_93_93, mercury__robdd__T1_37_31, mercury__robdd__STATE_VARIABLE_A_47_47_39, &mercury__robdd__STATE_VARIABLE_A_49_49_41, mercury__robdd__STATE_VARIABLE_B_48_48_40, &mercury__robdd__STATE_VARIABLE_B_50_50_42);
                }
#line 135 "tree234.opt"
                {
#line 135 "tree234.opt"
                  mercury__robdd__IntroducedFrom__pred__rev_map__680__1_7_p_0(mercury__robdd__V_93_93, mercury__robdd__K1_34_28, mercury__robdd__V1_35_29, mercury__robdd__STATE_VARIABLE_A_49_49_41, &mercury__robdd__STATE_VARIABLE_A_51_51_43, mercury__robdd__STATE_VARIABLE_B_50_50_42, &mercury__robdd__STATE_VARIABLE_B_52_52_44);
                }
#line 136 "tree234.opt"
                /* direct tailcall eliminated */
#line 136 "tree234.opt"
                {
#line 136 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T2_38_32;
#line 136 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_51_51_43;
#line 136 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__5__tmp_copy_5 = mercury__robdd__STATE_VARIABLE_B_52_52_44;

#line 136 "tree234.opt"
                  mercury__robdd__HeadVar__5_5 = mercury__robdd__HeadVar__5__tmp_copy_5;
#line 136 "tree234.opt"
                  mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 136 "tree234.opt"
                  mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 136 "tree234.opt"
                }
#line 136 "tree234.opt"
                continue;
#line 131 "tree234.opt"
              }
#line 124 "tree234.opt"
            else
#line 127 "tree234.opt"
              {
#line 127 "tree234.opt"
                MR_Word mercury__robdd__K_15_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 127 "tree234.opt"
                MR_Word mercury__robdd__V_16_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 127 "tree234.opt"
                MR_Word mercury__robdd__T0_17_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 127 "tree234.opt"
                MR_Word mercury__robdd__T1_18_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 127 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_25_25_21;
#line 127 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_B_26_26_22;
#line 127 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_A_27_27_23;
#line 127 "tree234.opt"
                MR_Word mercury__robdd__STATE_VARIABLE_B_28_28_24;

#line 128 "tree234.opt"
                {
#line 128 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_50_95_95_104_111_57_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_93_95_48_6_p_in__tree234_0(mercury__robdd__V_93_93, mercury__robdd__T0_17_15, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_A_25_25_21, mercury__robdd__HeadVar__5_5, &mercury__robdd__STATE_VARIABLE_B_26_26_22);
                }
#line 129 "tree234.opt"
                {
#line 129 "tree234.opt"
                  mercury__robdd__IntroducedFrom__pred__rev_map__680__1_7_p_0(mercury__robdd__V_93_93, mercury__robdd__K_15_13, mercury__robdd__V_16_14, mercury__robdd__STATE_VARIABLE_A_25_25_21, &mercury__robdd__STATE_VARIABLE_A_27_27_23, mercury__robdd__STATE_VARIABLE_B_26_26_22, &mercury__robdd__STATE_VARIABLE_B_28_28_24);
                }
#line 130 "tree234.opt"
                /* direct tailcall eliminated */
#line 130 "tree234.opt"
                {
#line 130 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T1_18_16;
#line 130 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_27_27_23;
#line 130 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__5__tmp_copy_5 = mercury__robdd__STATE_VARIABLE_B_28_28_24;

#line 130 "tree234.opt"
                  mercury__robdd__HeadVar__5_5 = mercury__robdd__HeadVar__5__tmp_copy_5;
#line 130 "tree234.opt"
                  mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 130 "tree234.opt"
                  mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 130 "tree234.opt"
                }
#line 130 "tree234.opt"
                continue;
#line 127 "tree234.opt"
              }
#line 124 "tree234.opt"
      }
#line 124 "tree234.opt"
      break;
#line 124 "tree234.opt"
    }
#line 51 "tree234.int"
}

#line 43 "tree234.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_57_51_95_95_91_49_44_32_50_44_32_51_44_32_53_44_32_54_44_32_55_93_95_48_4_p_in__tree234_0(
#line 43 "tree234.int"
  MR_Word mercury__robdd__V_59_59,
#line 43 "tree234.int"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 43 "tree234.int"
{
#line 104 "tree234.opt"
  while (MR_TRUE)
#line 104 "tree234.opt"
    {
#line 104 "tree234.opt"
      /* tailcall optimized into a loop */
#line 104 "tree234.opt"
      {
#line 104 "tree234.opt"
        MR_bool mercury__robdd__succeeded;

#line 104 "tree234.opt"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 104 "tree234.opt"
          {
#line 104 "tree234.opt"
          }
#line 104 "tree234.opt"
        else
#line 104 "tree234.opt"
          if (((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3))))
#line 116 "tree234.opt"
            {
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V0_38_33 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V1_40_35 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__V2_42_37 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 5)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T0_43_38 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 6)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T1_44_39 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 7)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T2_45_40 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 8)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__T3_46_41 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 9)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K0_37_32 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K1_39_34 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 116 "tree234.opt"
              MR_Word mercury__robdd__K2_41_36 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__robdd__HeadVar__2_2, (MR_Integer) 4)));

#line 117 "tree234.opt"
              {
#line 117 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_57_51_95_95_91_49_44_32_50_44_32_51_44_32_53_44_32_54_44_32_55_93_95_48_4_p_in__tree234_0(mercury__robdd__V_59_59, mercury__robdd__T0_43_38);
              }
#line 118 "tree234.opt"
              {
#line 118 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_114_111_98_100_100_95_116_111_95_100_111_116_95_95_49_52_53_57_95_95_49_95_95_91_50_93_95_48_5_p_0(mercury__robdd__V_59_59, mercury__robdd__V0_38_33);
              }
#line 119 "tree234.opt"
              {
#line 119 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_57_51_95_95_91_49_44_32_50_44_32_51_44_32_53_44_32_54_44_32_55_93_95_48_4_p_in__tree234_0(mercury__robdd__V_59_59, mercury__robdd__T1_44_39);
              }
#line 120 "tree234.opt"
              {
#line 120 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_114_111_98_100_100_95_116_111_95_100_111_116_95_95_49_52_53_57_95_95_49_95_95_91_50_93_95_48_5_p_0(mercury__robdd__V_59_59, mercury__robdd__V1_40_35);
              }
#line 121 "tree234.opt"
              {
#line 121 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_57_51_95_95_91_49_44_32_50_44_32_51_44_32_53_44_32_54_44_32_55_93_95_48_4_p_in__tree234_0(mercury__robdd__V_59_59, mercury__robdd__T2_45_40);
              }
#line 122 "tree234.opt"
              {
#line 122 "tree234.opt"
                mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_114_111_98_100_100_95_116_111_95_100_111_116_95_95_49_52_53_57_95_95_49_95_95_91_50_93_95_48_5_p_0(mercury__robdd__V_59_59, mercury__robdd__V2_42_37);
              }
#line 123 "tree234.opt"
              /* direct tailcall eliminated */
#line 123 "tree234.opt"
              {
#line 123 "tree234.opt"
                MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T3_46_41;

#line 123 "tree234.opt"
                mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 123 "tree234.opt"
              }
#line 123 "tree234.opt"
              continue;
#line 116 "tree234.opt"
            }
#line 104 "tree234.opt"
          else
#line 104 "tree234.opt"
            if (((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2))))
#line 110 "tree234.opt"
              {
#line 110 "tree234.opt"
                MR_Word mercury__robdd__V0_22_19 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__V1_24_21 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T0_25_22 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 4)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T1_26_23 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 5)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__T2_27_24 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 6)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__K0_21_18 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 110 "tree234.opt"
                MR_Word mercury__robdd__K1_23_20 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));

#line 111 "tree234.opt"
                {
#line 111 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_57_51_95_95_91_49_44_32_50_44_32_51_44_32_53_44_32_54_44_32_55_93_95_48_4_p_in__tree234_0(mercury__robdd__V_59_59, mercury__robdd__T0_25_22);
                }
#line 112 "tree234.opt"
                {
#line 112 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_114_111_98_100_100_95_116_111_95_100_111_116_95_95_49_52_53_57_95_95_49_95_95_91_50_93_95_48_5_p_0(mercury__robdd__V_59_59, mercury__robdd__V0_22_19);
                }
#line 113 "tree234.opt"
                {
#line 113 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_57_51_95_95_91_49_44_32_50_44_32_51_44_32_53_44_32_54_44_32_55_93_95_48_4_p_in__tree234_0(mercury__robdd__V_59_59, mercury__robdd__T1_26_23);
                }
#line 114 "tree234.opt"
                {
#line 114 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_114_111_98_100_100_95_116_111_95_100_111_116_95_95_49_52_53_57_95_95_49_95_95_91_50_93_95_48_5_p_0(mercury__robdd__V_59_59, mercury__robdd__V1_24_21);
                }
#line 115 "tree234.opt"
                /* direct tailcall eliminated */
#line 115 "tree234.opt"
                {
#line 115 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T2_27_24;

#line 115 "tree234.opt"
                  mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 115 "tree234.opt"
                }
#line 115 "tree234.opt"
                continue;
#line 110 "tree234.opt"
              }
#line 104 "tree234.opt"
            else
#line 106 "tree234.opt"
              {
#line 106 "tree234.opt"
                MR_Word mercury__robdd__V_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__T0_12_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__T1_13_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 106 "tree234.opt"
                MR_Word mercury__robdd__K_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));

#line 107 "tree234.opt"
                {
#line 107 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_57_51_95_95_91_49_44_32_50_44_32_51_44_32_53_44_32_54_44_32_55_93_95_48_4_p_in__tree234_0(mercury__robdd__V_59_59, mercury__robdd__T0_12_11);
                }
#line 108 "tree234.opt"
                {
#line 108 "tree234.opt"
                  mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_114_111_98_100_100_95_116_111_95_100_111_116_95_95_49_52_53_57_95_95_49_95_95_91_50_93_95_48_5_p_0(mercury__robdd__V_59_59, mercury__robdd__V_11_10);
                }
#line 109 "tree234.opt"
                /* direct tailcall eliminated */
#line 109 "tree234.opt"
                {
#line 109 "tree234.opt"
                  MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T1_13_12;

#line 109 "tree234.opt"
                  mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 109 "tree234.opt"
                }
#line 109 "tree234.opt"
                continue;
#line 106 "tree234.opt"
              }
#line 104 "tree234.opt"
      }
#line 104 "tree234.opt"
      break;
#line 104 "tree234.opt"
    }
#line 43 "tree234.int"
}

#line 96 "map.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_57_50_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_3_f_in__map_0(
#line 96 "map.int"
  MR_Word mercury__robdd__V_33_33,
#line 96 "map.int"
  MR_Word mercury__robdd__V_40_40,
#line 96 "map.int"
  MR_Word mercury__robdd__V_43_43,
#line 96 "map.int"
  MR_Word mercury__robdd__V_44_44,
#line 96 "map.int"
  MR_Word mercury__robdd__M_6_6,
#line 96 "map.int"
  MR_Word mercury__robdd__A_7_7)
#line 96 "map.int"
{
#line 217 "map.opt"
  {
#line 217 "map.opt"
    MR_bool mercury__robdd__succeeded;
#line 217 "map.opt"
    MR_Word mercury__robdd__B_8_8;

#line 217 "map.opt"
    {
#line 217 "map.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_56_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_33_33, mercury__robdd__V_40_40, mercury__robdd__V_43_43, mercury__robdd__V_44_44, mercury__robdd__M_6_6, mercury__robdd__A_7_7, &mercury__robdd__B_8_8);
    }
#line 217 "map.opt"
    return mercury__robdd__B_8_8;
#line 217 "map.opt"
  }
#line 96 "map.int"
}

#line 96 "map.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_57_49_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_3_f_in__map_0(
#line 96 "map.int"
  MR_Word mercury__robdd__V_33_33,
#line 96 "map.int"
  MR_Word mercury__robdd__V_40_40,
#line 96 "map.int"
  MR_Word mercury__robdd__V_43_43,
#line 96 "map.int"
  MR_Word mercury__robdd__V_44_44,
#line 96 "map.int"
  MR_Word mercury__robdd__M_6_6,
#line 96 "map.int"
  MR_Word mercury__robdd__A_7_7)
#line 96 "map.int"
{
#line 217 "map.opt"
  {
#line 217 "map.opt"
    MR_bool mercury__robdd__succeeded;
#line 217 "map.opt"
    MR_Word mercury__robdd__B_8_8;

#line 217 "map.opt"
    {
#line 217 "map.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_55_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_33_33, mercury__robdd__V_40_40, mercury__robdd__V_43_43, mercury__robdd__V_44_44, mercury__robdd__M_6_6, mercury__robdd__A_7_7, &mercury__robdd__B_8_8);
    }
#line 217 "map.opt"
    return mercury__robdd__B_8_8;
#line 217 "map.opt"
  }
#line 96 "map.int"
}

#line 96 "map.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_57_48_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_3_f_in__map_0(
#line 96 "map.int"
  MR_Word mercury__robdd__V_33_33,
#line 96 "map.int"
  MR_Word mercury__robdd__V_40_40,
#line 96 "map.int"
  MR_Word mercury__robdd__V_43_43,
#line 96 "map.int"
  MR_Word mercury__robdd__V_44_44,
#line 96 "map.int"
  MR_Word mercury__robdd__M_6_6,
#line 96 "map.int"
  MR_Word mercury__robdd__A_7_7)
#line 96 "map.int"
{
#line 217 "map.opt"
  {
#line 217 "map.opt"
    MR_bool mercury__robdd__succeeded;
#line 217 "map.opt"
    MR_Word mercury__robdd__B_8_8;

#line 217 "map.opt"
    {
#line 217 "map.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_54_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_33_33, mercury__robdd__V_40_40, mercury__robdd__V_43_43, mercury__robdd__V_44_44, mercury__robdd__M_6_6, mercury__robdd__A_7_7, &mercury__robdd__B_8_8);
    }
#line 217 "map.opt"
    return mercury__robdd__B_8_8;
#line 217 "map.opt"
  }
#line 96 "map.int"
}

#line 96 "map.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_56_57_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_3_f_in__map_0(
#line 96 "map.int"
  MR_Word mercury__robdd__V_33_33,
#line 96 "map.int"
  MR_Word mercury__robdd__V_40_40,
#line 96 "map.int"
  MR_Word mercury__robdd__V_43_43,
#line 96 "map.int"
  MR_Word mercury__robdd__V_44_44,
#line 96 "map.int"
  MR_Word mercury__robdd__M_6_6,
#line 96 "map.int"
  MR_Word mercury__robdd__A_7_7)
#line 96 "map.int"
{
#line 217 "map.opt"
  {
#line 217 "map.opt"
    MR_bool mercury__robdd__succeeded;
#line 217 "map.opt"
    MR_Word mercury__robdd__B_8_8;

#line 217 "map.opt"
    {
#line 217 "map.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_49_95_95_104_111_49_53_53_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_44_32_50_56_44_32_50_57_44_32_51_48_44_32_51_49_44_32_51_50_44_32_51_51_44_32_51_52_93_95_48_4_p_in__tree234_0(mercury__robdd__V_33_33, mercury__robdd__V_40_40, mercury__robdd__V_43_43, mercury__robdd__V_44_44, mercury__robdd__M_6_6, mercury__robdd__A_7_7, &mercury__robdd__B_8_8);
    }
#line 217 "map.opt"
    return mercury__robdd__B_8_8;
#line 217 "map.opt"
  }
#line 96 "map.int"
}

#line 33 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_56_50_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_53_93_95_48_4_p_in__sparse_bitset_0(
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_20,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 33 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__4_4)
#line 33 "sparse_bitset.opt"
{
#line 303 "sparse_bitset.opt"
  {
#line 303 "sparse_bitset.opt"
    MR_bool mercury__robdd__succeeded;

#line 303 "sparse_bitset.opt"
    if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 303 "sparse_bitset.opt"
      *mercury__robdd__HeadVar__4_4 = mercury__robdd__HeadVar__3_3;
#line 303 "sparse_bitset.opt"
    else
#line 305 "sparse_bitset.opt"
      {
#line 305 "sparse_bitset.opt"
        MR_Word mercury__robdd__H_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 305 "sparse_bitset.opt"
        MR_Word mercury__robdd__T_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 305 "sparse_bitset.opt"
        MR_Word mercury__robdd__STATE_VARIABLE_Acc_15_15_13;
#line 305 "sparse_bitset.opt"
        MR_Integer mercury__robdd__V_22_17;
#line 305 "sparse_bitset.opt"
        MR_Integer mercury__robdd__V_18_18;
#line 305 "sparse_bitset.opt"
        MR_Integer mercury__robdd__V_19_19;

#line 306 "sparse_bitset.opt"
        {
#line 306 "sparse_bitset.opt"
          mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_56_50_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_53_93_95_48_4_p_in__sparse_bitset_0(mercury__robdd__V_39_39, mercury__robdd__TypeClassInfo_for_enum_20, mercury__robdd__T_11_10, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_Acc_15_15_13);
        }
#line 308 "sparse_bitset.opt"
        mercury__robdd__V_22_17 = ((MR_Integer) (MR_hl_field(MR_mktag(0), mercury__robdd__H_10_9, (MR_Integer) 0)));
#line 308 "sparse_bitset.opt"
        mercury__robdd__V_18_18 = ((MR_Integer) (MR_hl_field(MR_mktag(0), mercury__robdd__H_10_9, (MR_Integer) 1)));
#line 171 "int.opt"
{
#define MR_PROC_LABEL mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_56_50_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_53_93_95_48_4_p_in__sparse_bitset_0

	MR_Integer Bits;

		{
#line 171 "int.opt"

    Bits = ML_BITS_PER_INT;

#line 10445 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__V_19_19  = Bits;
#line 171 "int.opt"
}
#line 311 "sparse_bitset.opt"
        {
#line 311 "sparse_bitset.opt"
          mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_52_51_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_54_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_39_39, mercury__robdd__TypeClassInfo_for_enum_20, (MR_Integer) 1, mercury__robdd__V_22_17, mercury__robdd__V_18_18, mercury__robdd__V_19_19, mercury__robdd__STATE_VARIABLE_Acc_15_15_13, mercury__robdd__HeadVar__4_4);
#line 311 "sparse_bitset.opt"
          return;
        }
#line 305 "sparse_bitset.opt"
      }
#line 303 "sparse_bitset.opt"
  }
#line 33 "sparse_bitset.opt"
}

#line 33 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_56_49_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_53_93_95_48_4_p_in__sparse_bitset_0(
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_20,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 33 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__4_4)
#line 33 "sparse_bitset.opt"
{
#line 303 "sparse_bitset.opt"
  {
#line 303 "sparse_bitset.opt"
    MR_bool mercury__robdd__succeeded;

#line 303 "sparse_bitset.opt"
    if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 303 "sparse_bitset.opt"
      *mercury__robdd__HeadVar__4_4 = mercury__robdd__HeadVar__3_3;
#line 303 "sparse_bitset.opt"
    else
#line 305 "sparse_bitset.opt"
      {
#line 305 "sparse_bitset.opt"
        MR_Word mercury__robdd__H_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 305 "sparse_bitset.opt"
        MR_Word mercury__robdd__T_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 305 "sparse_bitset.opt"
        MR_Word mercury__robdd__STATE_VARIABLE_Acc_15_15_13;
#line 305 "sparse_bitset.opt"
        MR_Integer mercury__robdd__V_22_17;
#line 305 "sparse_bitset.opt"
        MR_Integer mercury__robdd__V_18_18;
#line 305 "sparse_bitset.opt"
        MR_Integer mercury__robdd__V_19_19;

#line 306 "sparse_bitset.opt"
        {
#line 306 "sparse_bitset.opt"
          mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_56_49_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_53_93_95_48_4_p_in__sparse_bitset_0(mercury__robdd__V_39_39, mercury__robdd__TypeClassInfo_for_enum_20, mercury__robdd__T_11_10, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_Acc_15_15_13);
        }
#line 308 "sparse_bitset.opt"
        mercury__robdd__V_22_17 = ((MR_Integer) (MR_hl_field(MR_mktag(0), mercury__robdd__H_10_9, (MR_Integer) 0)));
#line 308 "sparse_bitset.opt"
        mercury__robdd__V_18_18 = ((MR_Integer) (MR_hl_field(MR_mktag(0), mercury__robdd__H_10_9, (MR_Integer) 1)));
#line 171 "int.opt"
{
#define MR_PROC_LABEL mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_56_49_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_53_93_95_48_4_p_in__sparse_bitset_0

	MR_Integer Bits;

		{
#line 171 "int.opt"

    Bits = ML_BITS_PER_INT;

#line 10527 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__V_19_19  = Bits;
#line 171 "int.opt"
}
#line 311 "sparse_bitset.opt"
        {
#line 311 "sparse_bitset.opt"
          mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_52_52_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_54_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_39_39, mercury__robdd__TypeClassInfo_for_enum_20, (MR_Integer) 1, mercury__robdd__V_22_17, mercury__robdd__V_18_18, mercury__robdd__V_19_19, mercury__robdd__STATE_VARIABLE_Acc_15_15_13, mercury__robdd__HeadVar__4_4);
#line 311 "sparse_bitset.opt"
          return;
        }
#line 305 "sparse_bitset.opt"
      }
#line 303 "sparse_bitset.opt"
  }
#line 33 "sparse_bitset.opt"
}

#line 33 "sparse_bitset.opt"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_56_48_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_53_93_95_48_4_p_in__sparse_bitset_0(
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__V_39_39,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__TypeClassInfo_for_enum_20,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 33 "sparse_bitset.opt"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 33 "sparse_bitset.opt"
  MR_Word * mercury__robdd__HeadVar__4_4)
#line 33 "sparse_bitset.opt"
{
#line 303 "sparse_bitset.opt"
  {
#line 303 "sparse_bitset.opt"
    MR_bool mercury__robdd__succeeded;

#line 303 "sparse_bitset.opt"
    if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 303 "sparse_bitset.opt"
      *mercury__robdd__HeadVar__4_4 = mercury__robdd__HeadVar__3_3;
#line 303 "sparse_bitset.opt"
    else
#line 305 "sparse_bitset.opt"
      {
#line 305 "sparse_bitset.opt"
        MR_Word mercury__robdd__H_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 305 "sparse_bitset.opt"
        MR_Word mercury__robdd__T_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 305 "sparse_bitset.opt"
        MR_Word mercury__robdd__STATE_VARIABLE_Acc_15_15_13;
#line 305 "sparse_bitset.opt"
        MR_Integer mercury__robdd__V_22_17;
#line 305 "sparse_bitset.opt"
        MR_Integer mercury__robdd__V_18_18;
#line 305 "sparse_bitset.opt"
        MR_Integer mercury__robdd__V_19_19;

#line 306 "sparse_bitset.opt"
        {
#line 306 "sparse_bitset.opt"
          mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_56_48_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_53_93_95_48_4_p_in__sparse_bitset_0(mercury__robdd__V_39_39, mercury__robdd__TypeClassInfo_for_enum_20, mercury__robdd__T_11_10, mercury__robdd__HeadVar__3_3, &mercury__robdd__STATE_VARIABLE_Acc_15_15_13);
        }
#line 308 "sparse_bitset.opt"
        mercury__robdd__V_22_17 = ((MR_Integer) (MR_hl_field(MR_mktag(0), mercury__robdd__H_10_9, (MR_Integer) 0)));
#line 308 "sparse_bitset.opt"
        mercury__robdd__V_18_18 = ((MR_Integer) (MR_hl_field(MR_mktag(0), mercury__robdd__H_10_9, (MR_Integer) 1)));
#line 171 "int.opt"
{
#define MR_PROC_LABEL mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_56_48_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_53_93_95_48_4_p_in__sparse_bitset_0

	MR_Integer Bits;

		{
#line 171 "int.opt"

    Bits = ML_BITS_PER_INT;

#line 10609 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__V_19_19  = Bits;
#line 171 "int.opt"
}
#line 311 "sparse_bitset.opt"
        {
#line 311 "sparse_bitset.opt"
          mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_95_98_105_116_115_95_95_104_111_49_52_53_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_54_93_95_48_7_p_in__sparse_bitset_0(mercury__robdd__V_39_39, mercury__robdd__TypeClassInfo_for_enum_20, (MR_Integer) 1, mercury__robdd__V_22_17, mercury__robdd__V_18_18, mercury__robdd__V_19_19, mercury__robdd__STATE_VARIABLE_Acc_15_15_13, mercury__robdd__HeadVar__4_4);
#line 311 "sparse_bitset.opt"
          return;
        }
#line 305 "sparse_bitset.opt"
      }
#line 303 "sparse_bitset.opt"
  }
#line 33 "sparse_bitset.opt"
}

#line 1350 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_104_111_54_55_95_95_91_52_44_32_53_93_95_48_4_f_0(
#line 1350 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__IM_8,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__R0_9)
#line 1350 "robdd.m"
{
#line 1353 "robdd.m"
  {
#line 1353 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1353 "robdd.m"
    MR_Word mercury__robdd__HeadVar__5_5;

#line 1353 "robdd.m"
    {
#line 1353 "robdd.m"
      return mercury__robdd__HeadVar__5_5 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_57_48_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_3_f_in__map_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__TypeInfo_for_T_32, mercury__robdd__V_45_45, mercury__robdd__V_46_46, mercury__robdd__IM_8, mercury__robdd__R0_9);
    }
#line 1353 "robdd.m"
    return mercury__robdd__HeadVar__5_5;
#line 1353 "robdd.m"
  }
#line 1350 "robdd.m"
}

#line 1350 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_104_111_54_54_95_95_91_52_44_32_53_93_95_48_4_f_0(
#line 1350 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__IM_8,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__R0_9)
#line 1350 "robdd.m"
{
#line 1353 "robdd.m"
  {
#line 1353 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1353 "robdd.m"
    MR_Word mercury__robdd__HeadVar__5_5;

#line 1353 "robdd.m"
    {
#line 1353 "robdd.m"
      return mercury__robdd__HeadVar__5_5 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_57_49_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_3_f_in__map_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__TypeInfo_for_T_32, mercury__robdd__V_45_45, mercury__robdd__V_46_46, mercury__robdd__IM_8, mercury__robdd__R0_9);
    }
#line 1353 "robdd.m"
    return mercury__robdd__HeadVar__5_5;
#line 1353 "robdd.m"
  }
#line 1350 "robdd.m"
}

#line 1350 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_104_111_54_53_95_95_91_52_44_32_53_93_95_48_4_f_0(
#line 1350 "robdd.m"
  MR_Word mercury__robdd__V_45_45,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__V_46_46,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__IM_8,
#line 1350 "robdd.m"
  MR_Word mercury__robdd__R0_9)
#line 1350 "robdd.m"
{
#line 1353 "robdd.m"
  {
#line 1353 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1353 "robdd.m"
    MR_Word mercury__robdd__HeadVar__5_5;

#line 1353 "robdd.m"
    {
#line 1353 "robdd.m"
      return mercury__robdd__HeadVar__5_5 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_57_50_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_3_f_in__map_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__TypeInfo_for_T_32, mercury__robdd__V_45_45, mercury__robdd__V_46_46, mercury__robdd__IM_8, mercury__robdd__R0_9);
    }
#line 1353 "robdd.m"
    return mercury__robdd__HeadVar__5_5;
#line 1353 "robdd.m"
  }
#line 1350 "robdd.m"
}

#line 320 "list.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_109_97_112_95_95_104_111_54_52_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_55_44_32_56_44_32_57_93_95_48_2_f_in__list_0(
#line 320 "list.int"
  MR_Word mercury__robdd__V_20_20,
#line 320 "list.int"
  MR_Word mercury__robdd__V_21_21,
#line 320 "list.int"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 320 "list.int"
{
#line 170 "list.opt"
  {
#line 170 "list.opt"
    MR_bool mercury__robdd__succeeded;
#line 170 "list.opt"
    MR_Word mercury__robdd__HeadVar__3_3;

#line 170 "list.opt"
    if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 170 "list.opt"
      mercury__robdd__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 170 "list.opt"
    else
#line 171 "list.opt"
      {
#line 171 "list.opt"
        MR_Word mercury__robdd__H_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 171 "list.opt"
        MR_Word mercury__robdd__T_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 171 "list.opt"
        MR_Word mercury__robdd__V_8_8;
#line 171 "list.opt"
        MR_Word mercury__robdd__V_9_9;
#line 171 "list.opt"
        MR_Word mercury__robdd__V_29_29;
#line 171 "list.opt"
        MR_Word mercury__robdd__V_30_30;

#line 916 "robdd.m"
        {
#line 916 "robdd.m"
          mercury__robdd__V_30_30 = mercury__robdd__value_1_f_0(mercury__robdd__V_20_20, mercury__robdd__V_21_21);
        }
#line 916 "robdd.m"
        {
#line 916 "robdd.m"
          mercury__robdd__V_29_29 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 916 "robdd.m"
          MR_hl_field(MR_mktag(0), mercury__robdd__V_29_29, 0) = ((MR_Box) (mercury__robdd__V_30_30));
#line 916 "robdd.m"
        }
#line 916 "robdd.m"
        {
#line 916 "robdd.m"
          mercury__robdd__V_8_8 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 916 "robdd.m"
          MR_hl_field(MR_mktag(1), mercury__robdd__V_8_8, 0) = ((MR_Box) (mercury__robdd__V_29_29));
#line 916 "robdd.m"
          MR_hl_field(MR_mktag(1), mercury__robdd__V_8_8, 1) = ((MR_Box) (mercury__robdd__H_6_6));
#line 916 "robdd.m"
        }
#line 173 "list.opt"
        {
#line 173 "list.opt"
          mercury__robdd__V_9_9 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_109_97_112_95_95_104_111_54_52_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_55_44_32_56_44_32_57_93_95_48_2_f_in__list_0(mercury__robdd__V_20_20, mercury__robdd__V_21_21, mercury__robdd__T_7_7);
        }
#line 171 "list.opt"
        {
#line 171 "list.opt"
          mercury__robdd__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 171 "list.opt"
          MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__3_3, 0) = ((MR_Box) (mercury__robdd__V_8_8));
#line 171 "list.opt"
          MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__3_3, 1) = ((MR_Box) (mercury__robdd__V_9_9));
#line 171 "list.opt"
        }
#line 171 "list.opt"
      }
#line 170 "list.opt"
    return mercury__robdd__HeadVar__3_3;
#line 170 "list.opt"
  }
#line 320 "list.int"
}

#line 320 "list.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_109_97_112_95_95_104_111_54_51_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_55_44_32_56_44_32_57_93_95_48_2_f_in__list_0(
#line 320 "list.int"
  MR_Word mercury__robdd__V_20_20,
#line 320 "list.int"
  MR_Word mercury__robdd__V_21_21,
#line 320 "list.int"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 320 "list.int"
{
#line 170 "list.opt"
  {
#line 170 "list.opt"
    MR_bool mercury__robdd__succeeded;
#line 170 "list.opt"
    MR_Word mercury__robdd__HeadVar__3_3;

#line 170 "list.opt"
    if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 170 "list.opt"
      mercury__robdd__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 170 "list.opt"
    else
#line 171 "list.opt"
      {
#line 171 "list.opt"
        MR_Word mercury__robdd__H_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 171 "list.opt"
        MR_Word mercury__robdd__T_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 171 "list.opt"
        MR_Word mercury__robdd__V_8_8;
#line 171 "list.opt"
        MR_Word mercury__robdd__V_9_9;
#line 171 "list.opt"
        MR_Word mercury__robdd__V_37_37;
#line 171 "list.opt"
        MR_Word mercury__robdd__V_38_38;

#line 917 "robdd.m"
        {
#line 917 "robdd.m"
          mercury__robdd__V_38_38 = mercury__robdd__value_1_f_0(mercury__robdd__V_20_20, mercury__robdd__V_21_21);
        }
#line 917 "robdd.m"
        {
#line 917 "robdd.m"
          mercury__robdd__V_37_37 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 917 "robdd.m"
          MR_hl_field(MR_mktag(1), mercury__robdd__V_37_37, 0) = ((MR_Box) (mercury__robdd__V_38_38));
#line 917 "robdd.m"
        }
#line 917 "robdd.m"
        {
#line 917 "robdd.m"
          mercury__robdd__V_8_8 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 917 "robdd.m"
          MR_hl_field(MR_mktag(1), mercury__robdd__V_8_8, 0) = ((MR_Box) (mercury__robdd__V_37_37));
#line 917 "robdd.m"
          MR_hl_field(MR_mktag(1), mercury__robdd__V_8_8, 1) = ((MR_Box) (mercury__robdd__H_6_6));
#line 917 "robdd.m"
        }
#line 173 "list.opt"
        {
#line 173 "list.opt"
          mercury__robdd__V_9_9 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_109_97_112_95_95_104_111_54_51_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_55_44_32_56_44_32_57_93_95_48_2_f_in__list_0(mercury__robdd__V_20_20, mercury__robdd__V_21_21, mercury__robdd__T_7_7);
        }
#line 171 "list.opt"
        {
#line 171 "list.opt"
          mercury__robdd__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 171 "list.opt"
          MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__3_3, 0) = ((MR_Box) (mercury__robdd__V_8_8));
#line 171 "list.opt"
          MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__3_3, 1) = ((MR_Box) (mercury__robdd__V_9_9));
#line 171 "list.opt"
        }
#line 171 "list.opt"
      }
#line 170 "list.opt"
    return mercury__robdd__HeadVar__3_3;
#line 170 "list.opt"
  }
#line 320 "list.int"
}

#line 320 "list.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_109_97_112_95_95_104_111_54_49_95_95_91_49_44_32_50_44_32_52_44_32_53_44_32_54_93_95_48_2_f_in__list_0(
#line 320 "list.int"
  MR_Word mercury__robdd__V_16_16,
#line 320 "list.int"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 320 "list.int"
{
#line 170 "list.opt"
  {
#line 170 "list.opt"
    MR_bool mercury__robdd__succeeded;
#line 170 "list.opt"
    MR_Word mercury__robdd__HeadVar__3_3;

#line 170 "list.opt"
    if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 170 "list.opt"
      mercury__robdd__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 170 "list.opt"
    else
#line 171 "list.opt"
      {
#line 171 "list.opt"
        MR_Word mercury__robdd__H_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 171 "list.opt"
        MR_Word mercury__robdd__T_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 171 "list.opt"
        MR_Word mercury__robdd__V_8_8;
#line 171 "list.opt"
        MR_Word mercury__robdd__V_9_9;

#line 172 "list.opt"
        {
#line 172 "list.opt"
          mercury__robdd__V_8_8 = mercury__robdd__value_1_f_0(mercury__robdd__V_16_16, mercury__robdd__H_6_6);
        }
#line 173 "list.opt"
        {
#line 173 "list.opt"
          mercury__robdd__V_9_9 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_109_97_112_95_95_104_111_54_49_95_95_91_49_44_32_50_44_32_52_44_32_53_44_32_54_93_95_48_2_f_in__list_0(mercury__robdd__V_16_16, mercury__robdd__T_7_7);
        }
#line 171 "list.opt"
        {
#line 171 "list.opt"
          mercury__robdd__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 171 "list.opt"
          MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__3_3, 0) = ((MR_Box) (mercury__robdd__V_8_8));
#line 171 "list.opt"
          MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__3_3, 1) = ((MR_Box) (mercury__robdd__V_9_9));
#line 171 "list.opt"
        }
#line 171 "list.opt"
      }
#line 170 "list.opt"
    return mercury__robdd__HeadVar__3_3;
#line 170 "list.opt"
  }
#line 320 "list.int"
}

#line 140 "list.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_53_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_49_51_44_32_49_52_44_32_49_53_93_95_48_3_f_in__list_0(
#line 140 "list.int"
  MR_Word mercury__robdd__V_39_39,
#line 140 "list.int"
  MR_Word mercury__robdd__V_40_40,
#line 140 "list.int"
  MR_Word mercury__robdd__V_41_41,
#line 140 "list.int"
  MR_Word mercury__robdd__V_42_42,
#line 140 "list.int"
  MR_Word mercury__robdd__V_43_43,
#line 140 "list.int"
  MR_Word mercury__robdd__Xs_6_6,
#line 140 "list.int"
  MR_Word mercury__robdd__A_7_7)
#line 140 "list.int"
{
#line 347 "list.opt"
  {
#line 347 "list.opt"
    MR_bool mercury__robdd__succeeded;
#line 347 "list.opt"
    MR_Word mercury__robdd__B_8_8;

#line 347 "list.opt"
    {
#line 347 "list.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_57_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_50_51_44_32_50_52_44_32_50_53_93_95_48_4_p_in__list_0(mercury__robdd__V_39_39, mercury__robdd__V_40_40, mercury__robdd__V_41_41, mercury__robdd__V_42_42, mercury__robdd__V_43_43, mercury__robdd__Xs_6_6, mercury__robdd__A_7_7, &mercury__robdd__B_8_8);
    }
#line 347 "list.opt"
    return mercury__robdd__B_8_8;
#line 347 "list.opt"
  }
#line 140 "list.int"
}

#line 96 "map.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_53_54_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_3_f_in__map_0(
#line 96 "map.int"
  MR_Word mercury__robdd__V_33_33,
#line 96 "map.int"
  MR_Word mercury__robdd__V_49_49,
#line 96 "map.int"
  MR_Word mercury__robdd__M_6_6,
#line 96 "map.int"
  MR_Word mercury__robdd__A_7_7)
#line 96 "map.int"
{
#line 217 "map.opt"
  {
#line 217 "map.opt"
    MR_bool mercury__robdd__succeeded;
#line 217 "map.opt"
    MR_Word mercury__robdd__B_8_8;

#line 217 "map.opt"
    {
#line 217 "map.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_57_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_49_44_32_50_50_44_32_50_52_44_32_50_53_44_32_50_54_44_32_50_55_93_95_48_4_p_in__tree234_0(mercury__robdd__V_33_33, mercury__robdd__V_49_49, mercury__robdd__M_6_6, mercury__robdd__A_7_7, &mercury__robdd__B_8_8);
    }
#line 217 "map.opt"
    return mercury__robdd__B_8_8;
#line 217 "map.opt"
  }
#line 96 "map.int"
}

#line 131 "list.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_53_53_95_95_91_49_44_32_52_44_32_53_93_95_48_4_p_in__list_0(
#line 131 "list.int"
  MR_Word mercury__robdd__V_18_18,
#line 131 "list.int"
  MR_Word mercury__robdd__V_19_19,
#line 131 "list.int"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 131 "list.int"
{
#line 332 "list.opt"
  while (MR_TRUE)
#line 332 "list.opt"
    {
#line 332 "list.opt"
      /* tailcall optimized into a loop */
#line 332 "list.opt"
      {
#line 332 "list.opt"
        MR_bool mercury__robdd__succeeded;

#line 332 "list.opt"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 332 "list.opt"
          {
#line 332 "list.opt"
          }
#line 332 "list.opt"
        else
#line 334 "list.opt"
          {
#line 334 "list.opt"
            MR_Word mercury__robdd__H_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 334 "list.opt"
            MR_Word mercury__robdd__T_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));

#line 335 "list.opt"
            {
#line 335 "list.opt"
              mercury__robdd__IntroducedFrom__pred__print_robdd_2__973__1_5_p_0(mercury__robdd__V_18_18, mercury__robdd__V_19_19, mercury__robdd__H_10_9);
            }
#line 336 "list.opt"
            /* direct tailcall eliminated */
#line 336 "list.opt"
            {
#line 336 "list.opt"
              MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T_11_10;

#line 336 "list.opt"
              mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 336 "list.opt"
            }
#line 336 "list.opt"
            continue;
#line 334 "list.opt"
          }
#line 332 "list.opt"
      }
#line 332 "list.opt"
      break;
#line 332 "list.opt"
    }
#line 131 "list.int"
}

#line 142 "list.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_50_95_95_104_111_53_52_95_95_91_49_44_32_50_44_32_51_44_32_53_44_32_54_44_32_55_44_32_56_93_95_48_6_p_in__list_0(
#line 142 "list.int"
  MR_Word mercury__robdd__V_30_30,
#line 142 "list.int"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 142 "list.int"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 142 "list.int"
  MR_Word * mercury__robdd__HeadVar__4_4,
#line 142 "list.int"
  MR_Word mercury__robdd__HeadVar__5_5,
#line 142 "list.int"
  MR_Word * mercury__robdd__HeadVar__6_6)
#line 142 "list.int"
{
#line 348 "list.opt"
  while (MR_TRUE)
#line 348 "list.opt"
    {
#line 348 "list.opt"
      /* tailcall optimized into a loop */
#line 348 "list.opt"
      {
#line 348 "list.opt"
        MR_bool mercury__robdd__succeeded;

#line 348 "list.opt"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 348 "list.opt"
          {
#line 348 "list.opt"
            *mercury__robdd__HeadVar__6_6 = mercury__robdd__HeadVar__5_5;
#line 348 "list.opt"
            *mercury__robdd__HeadVar__4_4 = mercury__robdd__HeadVar__3_3;
#line 348 "list.opt"
          }
#line 348 "list.opt"
        else
#line 351 "list.opt"
          {
#line 351 "list.opt"
            MR_Word mercury__robdd__H_15_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 351 "list.opt"
            MR_Word mercury__robdd__T_16_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 351 "list.opt"
            MR_Word mercury__robdd__STATE_VARIABLE_A_23_23_19;
#line 351 "list.opt"
            MR_Word mercury__robdd__STATE_VARIABLE_B_24_24_20;
#line 351 "list.opt"
            MR_Word mercury__robdd__V_47_47;

#line 1088 "robdd.m"
            {
#line 1088 "robdd.m"
              mercury__robdd__V_47_47 = mercury__robdd__zero_0_f_0(mercury__robdd__V_30_30);
            }
#line 1088 "robdd.m"
            {
#line 1088 "robdd.m"
              mercury__robdd__STATE_VARIABLE_B_24_24_20 = mercury__robdd__make_node_3_f_0(mercury__robdd__V_30_30, mercury__robdd__H_15_13, mercury__robdd__V_47_47, mercury__robdd__HeadVar__5_5);
            }
#line 1089 "robdd.m"
            {
#line 1089 "robdd.m"
              mercury__robdd__STATE_VARIABLE_A_23_23_19 = mercury__robdd__make_node_3_f_0(mercury__robdd__V_30_30, mercury__robdd__H_15_13, mercury__robdd__HeadVar__5_5, mercury__robdd__HeadVar__3_3);
            }
#line 353 "list.opt"
            /* direct tailcall eliminated */
#line 353 "list.opt"
            {
#line 353 "list.opt"
              MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T_16_14;
#line 353 "list.opt"
              MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__STATE_VARIABLE_A_23_23_19;
#line 353 "list.opt"
              MR_Word mercury__robdd__HeadVar__5__tmp_copy_5 = mercury__robdd__STATE_VARIABLE_B_24_24_20;

#line 353 "list.opt"
              mercury__robdd__HeadVar__5_5 = mercury__robdd__HeadVar__5__tmp_copy_5;
#line 353 "list.opt"
              mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 353 "list.opt"
              mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 353 "list.opt"
            }
#line 353 "list.opt"
            continue;
#line 351 "list.opt"
          }
#line 348 "list.opt"
      }
#line 348 "list.opt"
      break;
#line 348 "list.opt"
    }
#line 142 "list.int"
}

#line 96 "map.int"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_50_56_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_3_f_in__map_0(
#line 96 "map.int"
  MR_Word mercury__robdd__V_33_33,
#line 96 "map.int"
  MR_Word mercury__robdd__V_47_47,
#line 96 "map.int"
  MR_Word mercury__robdd__V_48_48,
#line 96 "map.int"
  MR_Word mercury__robdd__M_6_6,
#line 96 "map.int"
  MR_Word mercury__robdd__A_7_7)
#line 96 "map.int"
{
#line 217 "map.opt"
  {
#line 217 "map.opt"
    MR_bool mercury__robdd__succeeded;
#line 217 "map.opt"
    MR_Word mercury__robdd__B_8_8;

#line 217 "map.opt"
    {
#line 217 "map.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_50_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_52_44_32_49_53_44_32_49_54_44_32_49_55_44_32_49_56_44_32_49_57_44_32_50_48_44_32_50_51_44_32_50_52_44_32_50_53_44_32_50_54_93_95_48_4_p_in__tree234_0(mercury__robdd__V_33_33, mercury__robdd__V_47_47, mercury__robdd__V_48_48, mercury__robdd__M_6_6, mercury__robdd__A_7_7, &mercury__robdd__B_8_8);
    }
#line 217 "map.opt"
    return mercury__robdd__B_8_8;
#line 217 "map.opt"
  }
#line 96 "map.int"
}

#line 131 "list.int"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_50_55_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_in__list_0(
#line 131 "list.int"
  MR_Word mercury__robdd__V_18_18,
#line 131 "list.int"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 131 "list.int"
{
#line 332 "list.opt"
  while (MR_TRUE)
#line 332 "list.opt"
    {
#line 332 "list.opt"
      /* tailcall optimized into a loop */
#line 332 "list.opt"
      {
#line 332 "list.opt"
        MR_bool mercury__robdd__succeeded;

#line 332 "list.opt"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 332 "list.opt"
          {
#line 332 "list.opt"
          }
#line 332 "list.opt"
        else
#line 334 "list.opt"
          {
#line 334 "list.opt"
            MR_Word mercury__robdd__H_10_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 334 "list.opt"
            MR_Word mercury__robdd__T_11_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));

#line 335 "list.opt"
            {
#line 335 "list.opt"
              mercury__robdd__IntroducedFrom__pred__robdd_to_dot__1461__1_4_p_0(mercury__robdd__V_18_18, mercury__robdd__H_10_9);
            }
#line 336 "list.opt"
            /* direct tailcall eliminated */
#line 336 "list.opt"
            {
#line 336 "list.opt"
              MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__T_11_10;

#line 336 "list.opt"
              mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 336 "list.opt"
            }
#line 336 "list.opt"
            continue;
#line 334 "list.opt"
          }
#line 332 "list.opt"
      }
#line 332 "list.opt"
      break;
#line 332 "list.opt"
    }
#line 131 "list.int"
}

#line 1459 "robdd.m"
static void MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_114_111_98_100_100_95_116_111_95_100_111_116_95_95_49_52_53_57_95_95_49_95_95_91_50_93_95_48_5_p_0(
#line 1459 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_51,
#line 1459 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_26)
#line 1459 "robdd.m"
{
#line 1459 "robdd.m"
  {
#line 1459 "robdd.m"
    MR_bool mercury__robdd__succeeded;

#line 521 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_114_111_98_100_100_95_116_111_95_100_111_116_95_95_49_52_53_57_95_95_49_95_95_91_50_93_95_48_5_p_0

	MR_String Message;

	Message =  (MR_String) "{rank = same; " ;
		{
#line 521 "io.opt"

    mercury_print_string(mercury_current_text_output(), Message);

#line 11326 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 521 "io.opt"
}
#line 1461 "robdd.m"
    {
#line 1461 "robdd.m"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_50_55_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_in__list_0(mercury__robdd__TypeInfo_for_T_51, mercury__robdd__HeadVar__3_26);
    }
#line 521 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_114_111_98_100_100_95_116_111_95_100_111_116_95_95_49_52_53_57_95_95_49_95_95_91_50_93_95_48_5_p_0

	MR_String Message;

	Message =  (MR_String) "}\n" ;
		{
#line 521 "io.opt"

    mercury_print_string(mercury_current_text_output(), Message);

#line 11349 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 521 "io.opt"
}
#line 1459 "robdd.m"
  }
#line 1459 "robdd.m"
}

#line 1184 "robdd.m"
static MR_bool MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_114_101_115_116_114_105_99_116_95_102_105_108_116_101_114_95_95_49_49_56_52_95_95_49_95_95_91_49_44_32_50_93_95_48_2_p_0(void)
#line 1184 "robdd.m"
{
#line 1184 "robdd.m"
  {
#line 1184 "robdd.m"
    return MR_TRUE;
#line 1184 "robdd.m"
  }
#line 1184 "robdd.m"
}

#line 13 "ops.opt"
static MR_Integer MR_CALL 
mercury__robdd__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_111_112_115_95_95_111_112_95_116_97_98_108_101_95_95_95_95_111_112_115_95_95_109_101_114_99_117_114_121_95_111_112_95_116_97_98_108_101_95_95_97_114_105_116_121_48_95_95_95_95_95_95_111_112_115_95_95_109_97_120_95_112_114_105_111_114_105_116_121_95_49_95_95_91_49_93_95_48_1_f_in__ops_0(void)
#line 13 "ops.opt"
{
#line 38 "ops.opt"
  {
#line 38 "ops.opt"
    MR_bool mercury__robdd__succeeded;

#line 38 "ops.opt"
    return (MR_Integer) 1200;
#line 38 "ops.opt"
  }
#line 13 "ops.opt"
}

#line 1512 "robdd.m"
static MR_Integer MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_110_111_100_101_95_110_117_109_95_95_91_49_93_95_48_1_f_0(
#line 1512 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1)
#line 1512 "robdd.m"
{
#line 1513 "robdd.m"
  {
#line 1513 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1513 "robdd.m"
    MR_Integer mercury__robdd__HeadVar__2_2;
#line 1513 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_4;

#line 1516 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_110_111_100_101_95_110_117_109_95_95_91_49_93_95_48_1_f_0

	MR_Word R;
	MR_Integer N;

	R =  mercury__robdd__HeadVar__1_1 ;
		{
#line 1516 "robdd.m"

    N = (MR_Integer) R;

#line 11420 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__HeadVar__2_2  = N;
#line 1516 "robdd.m"
}
#line 1513 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 1513 "robdd.m"
  }
#line 1512 "robdd.m"
}

#line 504 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_103_108_98_95_95_91_49_93_95_48_2_f_0(
#line 504 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 504 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 504 "robdd.m"
{
#line 505 "robdd.m"
  {
#line 505 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 505 "robdd.m"
    MR_Word mercury__robdd__HeadVar__3_3;
#line 505 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_5;

#line 508 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_103_108_98_95_95_91_49_93_95_48_2_f_0

	MR_Word X;
	MR_Word Y;
	MR_Word F;

	X =  mercury__robdd__HeadVar__1_1 ;
	Y =  mercury__robdd__HeadVar__2_2 ;
		{
#line 508 "robdd.m"

    F = (MR_ROBDD_NODE_TYPE) MR_ROBDD_glb((MR_ROBDD_node *) X,
        (MR_ROBDD_node *) Y);

#line 11468 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__HeadVar__3_3  = F;
#line 508 "robdd.m"
}
#line 505 "robdd.m"
    return mercury__robdd__HeadVar__3_3;
#line 505 "robdd.m"
  }
#line 504 "robdd.m"
}

#line 847 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__IntroducedFrom__func__ClassMethod_for_robdd__intersectable____robdd__leader_to_eqvclass__arity1______robdd__intersection_2__847__1_5_f_0(
#line 847 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_22,
#line 847 "robdd.m"
  MR_Word mercury__robdd__MapB_6,
#line 847 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_13,
#line 847 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_14,
#line 847 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_15)
#line 847 "robdd.m"
{
#line 847 "robdd.m"
  {
#line 847 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 847 "robdd.m"
    MR_Word mercury__robdd__HeadVar__6_16;
#line 847 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_30_30;
#line 847 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_32_32;
#line 847 "robdd.m"
    MR_Word mercury__robdd__Vs_10;
#line 848 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_29_29 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 848 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_31_31 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 848 "robdd.m"
    MR_Word mercury__robdd__V_17_17;
#line 848 "robdd.m"
    MR_Word mercury__robdd__Set1_4_51;
#line 848 "robdd.m"
    MR_Word mercury__robdd__Set2_5_52;
#line 848 "robdd.m"
    MR_Word mercury__robdd__V_6_53;
#line 39 "map.opt"
    MR_Box mercury__robdd__conv0_V_17_17;

#line 11524 "robdd.c"
    {
#line 11526 "robdd.c"
      mercury__robdd__TypeInfo_30_30 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 11528 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_30_30, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_29_29));
#line 11530 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_30_30, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_22));
#line 11532 "robdd.c"
    }
#line 11534 "robdd.c"
    {
#line 11536 "robdd.c"
      mercury__robdd__TypeInfo_32_32 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 11538 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_32_32, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_31_31));
#line 11540 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_32_32, 1) = ((MR_Box) (mercury__robdd__TypeInfo_30_30));
#line 11542 "robdd.c"
    }
#line 39 "map.opt"
    {
#line 39 "map.opt"
      mercury__robdd__succeeded = mercury__tree234__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_115_101_97_114_99_104_95_95_91_75_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(mercury__robdd__TypeInfo_for_T_22, mercury__robdd__TypeInfo_30_30, mercury__robdd__TypeInfo_32_32, (MR_Word) mercury__robdd__MapB_6, mercury__robdd__HeadVar__3_13, &mercury__robdd__conv0_V_17_17);
    }
#line 39 "map.opt"
    if (mercury__robdd__succeeded)
#line 39 "map.opt"
      {
#line 39 "map.opt"
        mercury__robdd__V_17_17 = ((MR_Word) mercury__robdd__conv0_V_17_17);
#line 39 "map.opt"
        mercury__robdd__succeeded = MR_TRUE;
#line 39 "map.opt"
      }
#line 848 "robdd.m"
    if (mercury__robdd__succeeded)
#line 848 "robdd.m"
      {
#line 216 "sparse_bitset.opt"
        mercury__robdd__Set1_4_51 = (MR_Word) mercury__robdd__HeadVar__4_14;
#line 216 "sparse_bitset.opt"
        mercury__robdd__Set2_5_52 = (MR_Word) mercury__robdd__V_17_17;
#line 217 "sparse_bitset.opt"
        {
#line 217 "sparse_bitset.opt"
          mercury__robdd__V_6_53 = mercury__sparse_bitset__intersect_2_2_f_0(mercury__robdd__Set1_4_51, mercury__robdd__Set2_5_52);
        }
#line 216 "sparse_bitset.opt"
        mercury__robdd__Vs_10 = (MR_Word) mercury__robdd__V_6_53;
#line 216 "sparse_bitset.opt"
        mercury__robdd__succeeded = MR_TRUE;
#line 848 "robdd.m"
      }
#line 847 "robdd.m"
    if (mercury__robdd__succeeded)
#line 847 "robdd.m"
      {
#line 118 "sparse_bitset.opt"
        MR_Word mercury__robdd__V_55_55 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 118 "sparse_bitset.opt"
        MR_Word mercury__robdd__V_2_58 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 118 "sparse_bitset.opt"
        {
#line 118 "sparse_bitset.opt"
          mercury__robdd__succeeded = mercury__sparse_bitset____Unify____sparse_bitset_1_0(mercury__robdd__TypeInfo_30_30, (MR_Word) mercury__robdd__Vs_10, (MR_Word) mercury__robdd__V_55_55);
        }
#line 847 "robdd.m"
        if (mercury__robdd__succeeded)
#line 847 "robdd.m"
          mercury__robdd__HeadVar__6_16 = mercury__robdd__HeadVar__5_15;
#line 847 "robdd.m"
        else
#line 117 "map.opt"
          {
#line 117 "map.opt"
            MR_Word mercury__robdd__conv1_HeadVar__6_16;

#line 117 "map.opt"
            {
#line 117 "map.opt"
              mercury__tree234__set_4_p_0(mercury__robdd__TypeInfo_30_30, mercury__robdd__TypeInfo_32_32, ((MR_Box) (mercury__robdd__HeadVar__3_13)), ((MR_Box) (mercury__robdd__Vs_10)), (MR_Word) mercury__robdd__HeadVar__5_15, &mercury__robdd__conv1_HeadVar__6_16);
            }
#line 117 "map.opt"
            mercury__robdd__HeadVar__6_16 = (MR_Word) mercury__robdd__conv1_HeadVar__6_16;
#line 117 "map.opt"
          }
#line 847 "robdd.m"
      }
#line 847 "robdd.m"
    else
#line 847 "robdd.m"
      mercury__robdd__HeadVar__6_16 = mercury__robdd__HeadVar__5_15;
#line 847 "robdd.m"
    return mercury__robdd__HeadVar__6_16;
#line 847 "robdd.m"
  }
#line 847 "robdd.m"
}

#line 862 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__IntroducedFrom__func__ClassMethod_for_robdd__intersectable____robdd__imp_res_2__arity1______robdd__intersection_2__862__1_3_f_0(
#line 862 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_9,
#line 862 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_16,
#line 862 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_17)
#line 862 "robdd.m"
{
#line 862 "robdd.m"
  {
#line 862 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 862 "robdd.m"
    MR_Word mercury__robdd__HeadVar__4_18;
#line 862 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_19_19 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 862 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_20_20;
#line 862 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_21_21 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 862 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_22_22;
#line 862 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_23_23 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_entailment_result_1;
#line 862 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_24_24;
#line 862 "robdd.m"
    MR_Word mercury__robdd__BaseTypeClassInfo_for_intersectable_25;
#line 862 "robdd.m"
    MR_Word mercury__robdd__TypeClassInfo_for_intersectable_26;
#line 862 "robdd.m"
    MR_Word mercury__robdd__BaseTypeClassInfo_for_intersectable_27 = (MR_Word) base_typeclass_info_robdd__intersectable__arity1__robdd__entailment_result__arity1__;
#line 862 "robdd.m"
    MR_Word mercury__robdd__TypeClassInfo_for_intersectable_28;
#line 11662 "robdd.c"
    MR_Box MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box, MR_Box);
#line 11664 "robdd.c"
    MR_Box mercury__robdd__conv1_HeadVar__4_18;

#line 11667 "robdd.c"
    {
#line 11669 "robdd.c"
      mercury__robdd__TypeInfo_20_20 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 11671 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_20_20, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_19_19));
#line 11673 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_20_20, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_9));
#line 11675 "robdd.c"
    }
#line 11677 "robdd.c"
    {
#line 11679 "robdd.c"
      mercury__robdd__TypeInfo_22_22 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 11681 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_22_22, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_21_21));
#line 11683 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_22_22, 1) = ((MR_Box) (mercury__robdd__TypeInfo_20_20));
#line 11685 "robdd.c"
    }
#line 11687 "robdd.c"
    {
#line 11689 "robdd.c"
      mercury__robdd__TypeInfo_24_24 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 11691 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_24_24, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_23_23));
#line 11693 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_24_24, 1) = ((MR_Box) (mercury__robdd__TypeInfo_22_22));
#line 11695 "robdd.c"
    }
#line 11697 "robdd.c"
    mercury__robdd__BaseTypeClassInfo_for_intersectable_25 = (MR_Word) base_typeclass_info_robdd__intersectable__arity1__sparse_bitset__sparse_bitset__arity1__;
#line 11699 "robdd.c"
    {
#line 11701 "robdd.c"
      mercury__robdd__TypeClassInfo_for_intersectable_26 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 11703 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_26, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_intersectable_25));
#line 11705 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_26, 1) = ((MR_Box) (mercury__robdd__TypeInfo_20_20));
#line 11707 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_26, 2) = ((MR_Box) (mercury__robdd__TypeInfo_22_22));
#line 11709 "robdd.c"
    }
#line 11711 "robdd.c"
    {
#line 11713 "robdd.c"
      mercury__robdd__TypeClassInfo_for_intersectable_28 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 11715 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_28, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_intersectable_27));
#line 11717 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_28, 1) = ((MR_Box) (mercury__robdd__TypeClassInfo_for_intersectable_26));
#line 11719 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_28, 2) = ((MR_Box) (mercury__robdd__TypeInfo_24_24));
#line 11721 "robdd.c"
    }
#line 11723 "robdd.c"
    mercury__robdd__func_0 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_28, (MR_Integer) 0)), (MR_Integer) 5)));
#line 11725 "robdd.c"
    {
#line 11727 "robdd.c"
      mercury__robdd__conv1_HeadVar__4_18 = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_intersectable_28), ((MR_Box) (mercury__robdd__HeadVar__2_16)), ((MR_Box) (mercury__robdd__HeadVar__3_17)));
    }
#line 11730 "robdd.c"
    mercury__robdd__HeadVar__4_18 = ((MR_Word) mercury__robdd__conv1_HeadVar__4_18);
#line 862 "robdd.m"
    return mercury__robdd__HeadVar__4_18;
#line 862 "robdd.m"
  }
#line 862 "robdd.m"
}

#line 973 "robdd.m"
static void MR_CALL 
mercury__robdd__IntroducedFrom__pred__print_robdd_2__973__1_5_p_0(
#line 973 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_44,
#line 973 "robdd.m"
  MR_Word mercury__robdd__Trues_7,
#line 973 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_25)
#line 973 "robdd.m"
{
#line 973 "robdd.m"
  {
#line 973 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 973 "robdd.m"
    MR_Char mercury__robdd__C_11;
#line 973 "robdd.m"
    MR_Integer mercury__robdd__N_12;
#line 973 "robdd.m"
    MR_Word mercury__robdd__V_29_29;
#line 973 "robdd.m"
    MR_Word mercury__robdd__V_30_30;
#line 973 "robdd.m"
    MR_Word mercury__robdd__V_31_31;
#line 973 "robdd.m"
    MR_Word mercury__robdd__V_32_32;
#line 973 "robdd.m"
    MR_Word mercury__robdd__V_33_33;
#line 973 "robdd.m"
    MR_Word mercury__robdd__Stream_8_61;
#line 973 "robdd.m"
    MR_Box mercury__robdd__Stream_4_65;
#line 973 "robdd.m"
    MR_String mercury__robdd__String_10_71;
#line 973 "robdd.m"
    MR_Box mercury__robdd__Stream_5_75;
#line 974 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_47_47 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 974 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_48_48;
#line 974 "robdd.m"
    MR_Word mercury__robdd__S_4_55;

#line 11783 "robdd.c"
    {
#line 11785 "robdd.c"
      mercury__robdd__TypeInfo_48_48 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 11787 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_48_48, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_47_47));
#line 11789 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_48_48, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_44));
#line 11791 "robdd.c"
    }
#line 46 "set_unordlist.opt"
    mercury__robdd__S_4_55 = (MR_Word) mercury__robdd__Trues_7;
#line 47 "set_unordlist.opt"
    {
#line 47 "set_unordlist.opt"
      mercury__robdd__succeeded = mercury__list__member_2_p_0(mercury__robdd__TypeInfo_48_48, ((MR_Box) (mercury__robdd__HeadVar__3_25)), (MR_Word) mercury__robdd__S_4_55);
    }
#line 976 "robdd.m"
    if (mercury__robdd__succeeded)
#line 975 "robdd.m"
      mercury__robdd__C_11 = (MR_Char) 32;
#line 976 "robdd.m"
    else
#line 977 "robdd.m"
      mercury__robdd__C_11 = (MR_Char) 126;
#line 107 "term.opt"
    mercury__robdd__N_12 = (MR_Integer) mercury__robdd__HeadVar__3_25;
#line 980 "robdd.m"
    {
#line 980 "robdd.m"
      mercury__robdd__V_30_30 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 980 "robdd.m"
      MR_hl_field(MR_mktag(3), mercury__robdd__V_30_30, 0) = ((MR_Box) (MR_Word) (mercury__robdd__C_11));
#line 980 "robdd.m"
    }
#line 980 "robdd.m"
    {
#line 980 "robdd.m"
      mercury__robdd__V_32_32 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 980 "robdd.m"
      MR_hl_field(MR_mktag(1), mercury__robdd__V_32_32, 0) = ((MR_Box) (mercury__robdd__N_12));
#line 980 "robdd.m"
    }
#line 980 "robdd.m"
    mercury__robdd__V_33_33 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 980 "robdd.m"
    {
#line 980 "robdd.m"
      mercury__robdd__V_31_31 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 980 "robdd.m"
      MR_hl_field(MR_mktag(1), mercury__robdd__V_31_31, 0) = ((MR_Box) (mercury__robdd__V_32_32));
#line 980 "robdd.m"
      MR_hl_field(MR_mktag(1), mercury__robdd__V_31_31, 1) = ((MR_Box) (mercury__robdd__V_33_33));
#line 980 "robdd.m"
    }
#line 980 "robdd.m"
    {
#line 980 "robdd.m"
      mercury__robdd__V_29_29 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 980 "robdd.m"
      MR_hl_field(MR_mktag(1), mercury__robdd__V_29_29, 0) = ((MR_Box) (mercury__robdd__V_30_30));
#line 980 "robdd.m"
      MR_hl_field(MR_mktag(1), mercury__robdd__V_29_29, 1) = ((MR_Box) (mercury__robdd__V_31_31));
#line 980 "robdd.m"
    }
#line 1329 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__IntroducedFrom__pred__print_robdd_2__973__1_5_p_0

	MercuryFilePtr Stream;

		{
#line 1329 "io.opt"

    Stream = mercury_current_text_output();

#line 11859 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__Stream_4_65  = (MR_Box) Stream;
#line 1329 "io.opt"
}
#line 644 "io.opt"
    mercury__robdd__Stream_8_61 = (MR_Word) mercury__robdd__Stream_4_65;
#line 577 "io.opt"
    {
#line 577 "io.opt"
      mercury__string__format_3_p_0((MR_String) " %c%02d", mercury__robdd__V_29_29, &mercury__robdd__String_10_71);
    }
#line 524 "io.opt"
    mercury__robdd__Stream_5_75 = (MR_Box) mercury__robdd__Stream_8_61;
#line 1250 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__IntroducedFrom__pred__print_robdd_2__973__1_5_p_0

	MercuryFilePtr Stream;
	MR_String Message;

	Stream = (MercuryFilePtr) mercury__robdd__Stream_5_75 ;
	Message =  mercury__robdd__String_10_71 ;
		{
#line 1250 "io.opt"

    mercury_print_string(Stream, Message);

#line 11889 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 1250 "io.opt"
}
#line 973 "robdd.m"
  }
#line 973 "robdd.m"
}

#line 780 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__IntroducedFrom__func__imp_res_to_imp_map__780__1_4_f_0(
#line 780 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_18,
#line 780 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_10,
#line 780 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_11,
#line 780 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_12)
#line 780 "robdd.m"
{
#line 780 "robdd.m"
  {
#line 780 "robdd.m"
    MR_bool mercury__robdd__succeeded = ((MR_tag((MR_Word) mercury__robdd__HeadVar__3_11)) == (MR_mktag((MR_Integer) 1)));
#line 780 "robdd.m"
    MR_Word mercury__robdd__HeadVar__5_13;
#line 780 "robdd.m"
    MR_Word mercury__robdd__Vs_7;
#line 783 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_31_31;
#line 783 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_32_32;
#line 783 "robdd.m"
    MR_Word mercury__robdd__V_38_38;
#line 783 "robdd.m"
    MR_Word mercury__robdd__V_2_41;

#line 782 "robdd.m"
    if (mercury__robdd__succeeded)
#line 782 "robdd.m"
      {
#line 782 "robdd.m"
        mercury__robdd__Vs_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__3_11, (MR_Integer) 0)));
#line 11936 "robdd.c"
        mercury__robdd__TypeCtorInfo_31_31 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 114 "sparse_bitset.opt"
        mercury__robdd__V_2_41 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 11940 "robdd.c"
        {
#line 11942 "robdd.c"
          mercury__robdd__TypeInfo_32_32 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 11944 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_32_32, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_31_31));
#line 11946 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_32_32, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_18));
#line 11948 "robdd.c"
        }
#line 113 "sparse_bitset.opt"
        mercury__robdd__V_38_38 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 118 "sparse_bitset.opt"
        {
#line 118 "sparse_bitset.opt"
          mercury__robdd__succeeded = mercury__sparse_bitset____Unify____sparse_bitset_1_0(mercury__robdd__TypeInfo_32_32, (MR_Word) mercury__robdd__Vs_7, (MR_Word) mercury__robdd__V_38_38);
        }
#line 783 "robdd.m"
        mercury__robdd__succeeded = !(mercury__robdd__succeeded);
#line 782 "robdd.m"
      }
#line 780 "robdd.m"
    if (mercury__robdd__succeeded)
#line 780 "robdd.m"
      {
#line 780 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_33_33 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 780 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_34_34;
#line 780 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_35_35;
#line 780 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_36_36;
#line 117 "map.opt"
        MR_Word mercury__robdd__conv0_HeadVar__5_13;

#line 11976 "robdd.c"
        {
#line 11978 "robdd.c"
          mercury__robdd__TypeInfo_34_34 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 11980 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_34_34, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_33_33));
#line 11982 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_34_34, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_18));
#line 11984 "robdd.c"
        }
#line 11986 "robdd.c"
        mercury__robdd__TypeCtorInfo_35_35 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 11988 "robdd.c"
        {
#line 11990 "robdd.c"
          mercury__robdd__TypeInfo_36_36 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 11992 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_36_36, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_35_35));
#line 11994 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_36_36, 1) = ((MR_Box) (mercury__robdd__TypeInfo_34_34));
#line 11996 "robdd.c"
        }
#line 117 "map.opt"
        {
#line 117 "map.opt"
          mercury__tree234__set_4_p_0(mercury__robdd__TypeInfo_34_34, mercury__robdd__TypeInfo_36_36, ((MR_Box) (mercury__robdd__HeadVar__2_10)), ((MR_Box) (mercury__robdd__Vs_7)), (MR_Word) mercury__robdd__HeadVar__4_12, &mercury__robdd__conv0_HeadVar__5_13);
        }
#line 117 "map.opt"
        mercury__robdd__HeadVar__5_13 = (MR_Word) mercury__robdd__conv0_HeadVar__5_13;
#line 780 "robdd.m"
      }
#line 780 "robdd.m"
    else
#line 780 "robdd.m"
      mercury__robdd__HeadVar__5_13 = mercury__robdd__HeadVar__4_12;
#line 780 "robdd.m"
    return mercury__robdd__HeadVar__5_13;
#line 780 "robdd.m"
  }
#line 780 "robdd.m"
}

#line 761 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__IntroducedFrom__func__merge_imp_res_2__761__1_7_f_0(
#line 761 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_28,
#line 761 "robdd.m"
  MR_Word mercury__robdd__EntailedVarsA_6,
#line 761 "robdd.m"
  MR_Word mercury__robdd__EntailedVarsB_7,
#line 761 "robdd.m"
  MR_Word mercury__robdd__ImpsA_8,
#line 761 "robdd.m"
  MR_Word mercury__robdd__ImpsB_9,
#line 761 "robdd.m"
  MR_Word mercury__robdd__HeadVar__6_21,
#line 761 "robdd.m"
  MR_Word mercury__robdd__HeadVar__7_22)
#line 761 "robdd.m"
{
#line 761 "robdd.m"
  {
#line 761 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 761 "robdd.m"
    MR_Word mercury__robdd__HeadVar__8_23;
#line 761 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_49_49;
#line 761 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_50_50;
#line 761 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_51_51;
#line 761 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_52_52;
#line 761 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_53_53;
#line 761 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_54_54;
#line 761 "robdd.m"
    MR_Word mercury__robdd__BaseTypeClassInfo_for_intersectable_55;
#line 761 "robdd.m"
    MR_Word mercury__robdd__TypeClassInfo_for_intersectable_56;
#line 761 "robdd.m"
    MR_Word mercury__robdd__BaseTypeClassInfo_for_intersectable_57;
#line 761 "robdd.m"
    MR_Word mercury__robdd__TypeClassInfo_for_intersectable_58;
#line 761 "robdd.m"
    MR_Word mercury__robdd__VsA_16;
#line 761 "robdd.m"
    MR_Word mercury__robdd__VsB_17;
#line 761 "robdd.m"
    MR_Word mercury__robdd__V_24_24;
#line 762 "robdd.m"
    MR_Word mercury__robdd__VsA0_18;
#line 762 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_37_37 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 762 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_38_38;
#line 762 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_39_39 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 762 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_40_40;
#line 762 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_41_41 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_entailment_result_1;
#line 762 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_42_42;
#line 39 "map.opt"
    MR_Box mercury__robdd__conv0_VsA0_18;
#line 763 "robdd.m"
    MR_Word mercury__robdd__VsB0_19;
#line 763 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_43_43;
#line 763 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_44_44;
#line 763 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_45_45;
#line 763 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_46_46;
#line 763 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_47_47;
#line 763 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_48_48;
#line 39 "map.opt"
    MR_Box mercury__robdd__conv1_VsB0_19;
#line 12101 "robdd.c"
    MR_Box MR_CALL (* mercury__robdd__func_2)(MR_Box, MR_Box, MR_Box);
#line 12103 "robdd.c"
    MR_Box mercury__robdd__conv3_V_24_24;
#line 761 "robdd.m"
    MR_Word mercury__robdd__conv4_HeadVar__8_23;

#line 12108 "robdd.c"
    {
#line 12110 "robdd.c"
      mercury__robdd__TypeInfo_38_38 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 12112 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_38_38, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_37_37));
#line 12114 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_38_38, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_28));
#line 12116 "robdd.c"
    }
#line 12118 "robdd.c"
    {
#line 12120 "robdd.c"
      mercury__robdd__TypeInfo_40_40 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 12122 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_40_40, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_39_39));
#line 12124 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_40_40, 1) = ((MR_Box) (mercury__robdd__TypeInfo_38_38));
#line 12126 "robdd.c"
    }
#line 12128 "robdd.c"
    {
#line 12130 "robdd.c"
      mercury__robdd__TypeInfo_42_42 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 12132 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_42_42, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_41_41));
#line 12134 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_42_42, 1) = ((MR_Box) (mercury__robdd__TypeInfo_40_40));
#line 12136 "robdd.c"
    }
#line 39 "map.opt"
    {
#line 39 "map.opt"
      mercury__robdd__succeeded = mercury__tree234__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_115_101_97_114_99_104_95_95_91_75_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(mercury__robdd__TypeInfo_for_T_28, mercury__robdd__TypeInfo_38_38, mercury__robdd__TypeInfo_42_42, (MR_Word) mercury__robdd__ImpsA_8, mercury__robdd__HeadVar__6_21, &mercury__robdd__conv0_VsA0_18);
    }
#line 39 "map.opt"
    if (mercury__robdd__succeeded)
#line 39 "map.opt"
      {
#line 39 "map.opt"
        mercury__robdd__VsA0_18 = ((MR_Word) mercury__robdd__conv0_VsA0_18);
#line 39 "map.opt"
        mercury__robdd__succeeded = MR_TRUE;
#line 39 "map.opt"
      }
#line 762 "robdd.m"
    if (mercury__robdd__succeeded)
#line 762 "robdd.m"
      mercury__robdd__VsA_16 = mercury__robdd__VsA0_18;
#line 762 "robdd.m"
    else
#line 762 "robdd.m"
      mercury__robdd__VsA_16 = mercury__robdd__EntailedVarsA_6;
#line 12161 "robdd.c"
    mercury__robdd__TypeCtorInfo_43_43 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 12163 "robdd.c"
    mercury__robdd__TypeCtorInfo_47_47 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_entailment_result_1;
#line 12165 "robdd.c"
    mercury__robdd__TypeCtorInfo_45_45 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 12167 "robdd.c"
    {
#line 12169 "robdd.c"
      mercury__robdd__TypeInfo_44_44 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 12171 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_44_44, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_43_43));
#line 12173 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_44_44, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_28));
#line 12175 "robdd.c"
    }
#line 12177 "robdd.c"
    {
#line 12179 "robdd.c"
      mercury__robdd__TypeInfo_46_46 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 12181 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_46_46, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_45_45));
#line 12183 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_46_46, 1) = ((MR_Box) (mercury__robdd__TypeInfo_44_44));
#line 12185 "robdd.c"
    }
#line 12187 "robdd.c"
    {
#line 12189 "robdd.c"
      mercury__robdd__TypeInfo_48_48 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 12191 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_48_48, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_47_47));
#line 12193 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_48_48, 1) = ((MR_Box) (mercury__robdd__TypeInfo_46_46));
#line 12195 "robdd.c"
    }
#line 39 "map.opt"
    {
#line 39 "map.opt"
      mercury__robdd__succeeded = mercury__tree234__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_115_101_97_114_99_104_95_95_91_75_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(mercury__robdd__TypeInfo_for_T_28, mercury__robdd__TypeInfo_44_44, mercury__robdd__TypeInfo_48_48, (MR_Word) mercury__robdd__ImpsB_9, mercury__robdd__HeadVar__6_21, &mercury__robdd__conv1_VsB0_19);
    }
#line 39 "map.opt"
    if (mercury__robdd__succeeded)
#line 39 "map.opt"
      {
#line 39 "map.opt"
        mercury__robdd__VsB0_19 = ((MR_Word) mercury__robdd__conv1_VsB0_19);
#line 39 "map.opt"
        mercury__robdd__succeeded = MR_TRUE;
#line 39 "map.opt"
      }
#line 763 "robdd.m"
    if (mercury__robdd__succeeded)
#line 763 "robdd.m"
      mercury__robdd__VsB_17 = mercury__robdd__VsB0_19;
#line 763 "robdd.m"
    else
#line 763 "robdd.m"
      mercury__robdd__VsB_17 = mercury__robdd__EntailedVarsB_7;
#line 12220 "robdd.c"
    mercury__robdd__BaseTypeClassInfo_for_intersectable_57 = (MR_Word) base_typeclass_info_robdd__intersectable__arity1__robdd__entailment_result__arity1__;
#line 12222 "robdd.c"
    mercury__robdd__TypeCtorInfo_53_53 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_entailment_result_1;
#line 12224 "robdd.c"
    mercury__robdd__TypeCtorInfo_51_51 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 12226 "robdd.c"
    mercury__robdd__TypeCtorInfo_49_49 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 12228 "robdd.c"
    {
#line 12230 "robdd.c"
      mercury__robdd__TypeInfo_50_50 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 12232 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_50_50, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_49_49));
#line 12234 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_50_50, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_28));
#line 12236 "robdd.c"
    }
#line 12238 "robdd.c"
    {
#line 12240 "robdd.c"
      mercury__robdd__TypeInfo_52_52 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 12242 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_52_52, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_51_51));
#line 12244 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_52_52, 1) = ((MR_Box) (mercury__robdd__TypeInfo_50_50));
#line 12246 "robdd.c"
    }
#line 12248 "robdd.c"
    {
#line 12250 "robdd.c"
      mercury__robdd__TypeInfo_54_54 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 12252 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_54_54, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_53_53));
#line 12254 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_54_54, 1) = ((MR_Box) (mercury__robdd__TypeInfo_52_52));
#line 12256 "robdd.c"
    }
#line 12258 "robdd.c"
    mercury__robdd__BaseTypeClassInfo_for_intersectable_55 = (MR_Word) base_typeclass_info_robdd__intersectable__arity1__sparse_bitset__sparse_bitset__arity1__;
#line 12260 "robdd.c"
    {
#line 12262 "robdd.c"
      mercury__robdd__TypeClassInfo_for_intersectable_56 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 12264 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_56, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_intersectable_55));
#line 12266 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_56, 1) = ((MR_Box) (mercury__robdd__TypeInfo_50_50));
#line 12268 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_56, 2) = ((MR_Box) (mercury__robdd__TypeInfo_52_52));
#line 12270 "robdd.c"
    }
#line 12272 "robdd.c"
    {
#line 12274 "robdd.c"
      mercury__robdd__TypeClassInfo_for_intersectable_58 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 12276 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_58, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_intersectable_57));
#line 12278 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_58, 1) = ((MR_Box) (mercury__robdd__TypeClassInfo_for_intersectable_56));
#line 12280 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_58, 2) = ((MR_Box) (mercury__robdd__TypeInfo_54_54));
#line 12282 "robdd.c"
    }
#line 12284 "robdd.c"
    mercury__robdd__func_2 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_58, (MR_Integer) 0)), (MR_Integer) 5)));
#line 12286 "robdd.c"
    {
#line 12288 "robdd.c"
      mercury__robdd__conv3_V_24_24 = mercury__robdd__func_2(((MR_Box) mercury__robdd__TypeClassInfo_for_intersectable_58), ((MR_Box) (mercury__robdd__VsA_16)), ((MR_Box) (mercury__robdd__VsB_17)));
    }
#line 12291 "robdd.c"
    mercury__robdd__V_24_24 = ((MR_Word) mercury__robdd__conv3_V_24_24);
#line 761 "robdd.m"
    {
#line 761 "robdd.m"
      mercury__robdd__conv4_HeadVar__8_23 = mercury__map__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_101_108_101_109_32_58_61_95_95_91_75_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_f_0(mercury__robdd__TypeInfo_for_T_28, mercury__robdd__TypeInfo_50_50, mercury__robdd__TypeInfo_54_54, mercury__robdd__HeadVar__6_21, (MR_Word) mercury__robdd__HeadVar__7_22, ((MR_Box) (mercury__robdd__V_24_24)));
    }
#line 761 "robdd.m"
    mercury__robdd__HeadVar__8_23 = (MR_Word) mercury__robdd__conv4_HeadVar__8_23;
#line 761 "robdd.m"
    return mercury__robdd__HeadVar__8_23;
#line 761 "robdd.m"
  }
#line 761 "robdd.m"
}

#line 680 "robdd.m"
static void MR_CALL 
mercury__robdd__IntroducedFrom__pred__rev_map__680__1_7_p_0(
#line 680 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_40,
#line 680 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_19,
#line 680 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_20,
#line 680 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_21,
#line 680 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__5_22,
#line 680 "robdd.m"
  MR_Word mercury__robdd__HeadVar__6_23,
#line 680 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__7_24)
#line 680 "robdd.m"
{
#line 680 "robdd.m"
  {
#line 680 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 678 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_41_41 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 678 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_42_42;
#line 678 "robdd.m"
    MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_43 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 678 "robdd.m"
    MR_Word mercury__robdd__TypeClassInfo_for_enum_44;
#line 678 "robdd.m"
    MR_Word mercury__robdd__Set_3_60 = (MR_Word) mercury__robdd__HeadVar__4_21;
#line 678 "robdd.m"
    MR_Integer mercury__robdd__V_5_61;
#line 12342 "robdd.c"
    MR_Box MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box);
#line 12344 "robdd.c"
    MR_Box mercury__robdd__conv1_V_5_61;

#line 12347 "robdd.c"
    {
#line 12349 "robdd.c"
      mercury__robdd__TypeInfo_42_42 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 12351 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_42_42, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_41_41));
#line 12353 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_42_42, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_40));
#line 12355 "robdd.c"
    }
#line 12357 "robdd.c"
    {
#line 12359 "robdd.c"
      mercury__robdd__TypeClassInfo_for_enum_44 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 12361 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_44, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_43));
#line 12363 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_44, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_40));
#line 12365 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_44, 2) = ((MR_Box) (mercury__robdd__TypeInfo_42_42));
#line 12367 "robdd.c"
    }
#line 12369 "robdd.c"
    mercury__robdd__func_0 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_44, (MR_Integer) 0)), (MR_Integer) 5)));
#line 12371 "robdd.c"
    {
#line 12373 "robdd.c"
      mercury__robdd__conv1_V_5_61 = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_44), ((MR_Box) (mercury__robdd__HeadVar__2_19)));
    }
#line 12376 "robdd.c"
    mercury__robdd__V_5_61 = ((MR_Integer) mercury__robdd__conv1_V_5_61);
#line 164 "sparse_bitset.opt"
    {
#line 164 "sparse_bitset.opt"
      mercury__robdd__succeeded = mercury__sparse_bitset__contains_search_nodes_2_p_0(mercury__robdd__Set_3_60, mercury__robdd__V_5_61);
    }
#line 680 "robdd.m"
    if (mercury__robdd__succeeded)
#line 680 "robdd.m"
      {
#line 679 "robdd.m"
        *mercury__robdd__HeadVar__5_22 = mercury__robdd__HeadVar__4_21;
#line 680 "robdd.m"
        *mercury__robdd__HeadVar__7_24 = mercury__robdd__HeadVar__6_23;
#line 680 "robdd.m"
      }
#line 680 "robdd.m"
    else
#line 681 "robdd.m"
      {
#line 681 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_45_45 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 681 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_46_46;
#line 681 "robdd.m"
        MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_49;
#line 681 "robdd.m"
        MR_Word mercury__robdd__TypeClassInfo_for_enum_50;
#line 681 "robdd.m"
        MR_Word mercury__robdd__DCG_1_17;
#line 681 "robdd.m"
        MR_Word mercury__robdd__Set_6_78;
#line 681 "robdd.m"
        MR_Word mercury__robdd__Set1_4_84;
#line 681 "robdd.m"
        MR_Word mercury__robdd__Set2_5_85;
#line 681 "robdd.m"
        MR_Word mercury__robdd__V_6_86;
#line 117 "map.opt"
        MR_Word mercury__robdd__conv2_DCG_1_17;

#line 12418 "robdd.c"
        {
#line 12420 "robdd.c"
          mercury__robdd__TypeInfo_46_46 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 12422 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_46_46, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_45_45));
#line 12424 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_46_46, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_40));
#line 12426 "robdd.c"
        }
#line 117 "map.opt"
        {
#line 117 "map.opt"
          mercury__tree234__set_4_p_0(mercury__robdd__TypeInfo_46_46, mercury__robdd__TypeInfo_46_46, ((MR_Box) (mercury__robdd__HeadVar__2_19)), ((MR_Box) (mercury__robdd__HeadVar__2_19)), (MR_Word) mercury__robdd__HeadVar__6_23, &mercury__robdd__conv2_DCG_1_17);
        }
#line 117 "map.opt"
        mercury__robdd__DCG_1_17 = (MR_Word) mercury__robdd__conv2_DCG_1_17;
#line 12435 "robdd.c"
        mercury__robdd__BaseTypeClassInfo_for_enum_49 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 12437 "robdd.c"
        {
#line 12439 "robdd.c"
          mercury__robdd__TypeClassInfo_for_enum_50 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 12441 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_50, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_49));
#line 12443 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_50, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_40));
#line 12445 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_50, 2) = ((MR_Box) (mercury__robdd__TypeInfo_46_46));
#line 12447 "robdd.c"
        }
#line 254 "sparse_bitset.opt"
        mercury__robdd__Set_6_78 = (MR_Word) mercury__robdd__HeadVar__3_20;
#line 255 "sparse_bitset.opt"
        {
#line 255 "sparse_bitset.opt"
          mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_108_95_112_114_101_100_95_95_104_111_49_49_52_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_49_48_44_32_49_50_93_95_48_4_p_in__sparse_bitset_0(mercury__robdd__TypeInfo_for_T_40, mercury__robdd__HeadVar__2_19, mercury__robdd__TypeClassInfo_for_enum_50, mercury__robdd__Set_6_78, mercury__robdd__DCG_1_17, mercury__robdd__HeadVar__7_24);
        }
#line 210 "sparse_bitset.opt"
        mercury__robdd__Set1_4_84 = (MR_Word) mercury__robdd__HeadVar__4_21;
#line 210 "sparse_bitset.opt"
        mercury__robdd__Set2_5_85 = (MR_Word) mercury__robdd__HeadVar__3_20;
#line 211 "sparse_bitset.opt"
        {
#line 211 "sparse_bitset.opt"
          mercury__robdd__V_6_86 = mercury__sparse_bitset__union_2_2_f_0(mercury__robdd__Set1_4_84, mercury__robdd__Set2_5_85);
        }
#line 210 "sparse_bitset.opt"
        *mercury__robdd__HeadVar__5_22 = (MR_Word) mercury__robdd__V_6_86;
#line 681 "robdd.m"
      }
#line 680 "robdd.m"
  }
#line 680 "robdd.m"
}

#line 682 "robdd.m"
static void MR_CALL 
mercury__robdd__IntroducedFrom__pred__rev_map__682__1_5_p_0(
#line 682 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_40,
#line 682 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_19,
#line 682 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_28,
#line 682 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_29,
#line 682 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__5_30)
#line 682 "robdd.m"
{
#line 682 "robdd.m"
  {
#line 682 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 682 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_47_47 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 682 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_48_48;
#line 117 "map.opt"
    MR_Word mercury__robdd__conv0_HeadVar__5_30;

#line 12500 "robdd.c"
    {
#line 12502 "robdd.c"
      mercury__robdd__TypeInfo_48_48 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 12504 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_48_48, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_47_47));
#line 12506 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_48_48, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_40));
#line 12508 "robdd.c"
    }
#line 117 "map.opt"
    {
#line 117 "map.opt"
      mercury__tree234__set_4_p_0(mercury__robdd__TypeInfo_48_48, mercury__robdd__TypeInfo_48_48, ((MR_Box) (mercury__robdd__HeadVar__3_28)), ((MR_Box) (mercury__robdd__HeadVar__2_19)), (MR_Word) mercury__robdd__HeadVar__4_29, &mercury__robdd__conv0_HeadVar__5_30);
    }
#line 117 "map.opt"
    *mercury__robdd__HeadVar__5_30 = (MR_Word) mercury__robdd__conv0_HeadVar__5_30;
#line 682 "robdd.m"
  }
#line 682 "robdd.m"
}

#line 1461 "robdd.m"
static void MR_CALL 
mercury__robdd__IntroducedFrom__pred__robdd_to_dot__1461__1_4_p_0(
#line 1461 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_51,
#line 1461 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_33)
#line 1461 "robdd.m"
{
#line 1461 "robdd.m"
  {
#line 1461 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1461 "robdd.m"
    MR_Word mercury__robdd__V_37_37;
#line 1461 "robdd.m"
    MR_Word mercury__robdd__V_38_38;
#line 1461 "robdd.m"
    MR_String mercury__robdd__V_39_39;
#line 1461 "robdd.m"
    MR_Word mercury__robdd__V_40_40;
#line 1461 "robdd.m"
    MR_Word mercury__robdd__Stream_8_68;
#line 1461 "robdd.m"
    MR_Box mercury__robdd__Stream_4_72;
#line 1461 "robdd.m"
    MR_String mercury__robdd__String_10_78;
#line 1461 "robdd.m"
    MR_Box mercury__robdd__Stream_5_82;

#line 1462 "robdd.m"
    {
#line 1462 "robdd.m"
      mercury__robdd__V_39_39 = mercury__robdd__node_name_1_f_0(mercury__robdd__TypeInfo_for_T_51, mercury__robdd__HeadVar__2_33);
    }
#line 1462 "robdd.m"
    {
#line 1462 "robdd.m"
      mercury__robdd__V_38_38 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 1462 "robdd.m"
      MR_hl_field(MR_mktag(2), mercury__robdd__V_38_38, 0) = ((MR_Box) (mercury__robdd__V_39_39));
#line 1462 "robdd.m"
    }
#line 1462 "robdd.m"
    mercury__robdd__V_40_40 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1462 "robdd.m"
    {
#line 1462 "robdd.m"
      mercury__robdd__V_37_37 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1462 "robdd.m"
      MR_hl_field(MR_mktag(1), mercury__robdd__V_37_37, 0) = ((MR_Box) (mercury__robdd__V_38_38));
#line 1462 "robdd.m"
      MR_hl_field(MR_mktag(1), mercury__robdd__V_37_37, 1) = ((MR_Box) (mercury__robdd__V_40_40));
#line 1462 "robdd.m"
    }
#line 1329 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__IntroducedFrom__pred__robdd_to_dot__1461__1_4_p_0

	MercuryFilePtr Stream;

		{
#line 1329 "io.opt"

    Stream = mercury_current_text_output();

#line 12588 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__Stream_4_72  = (MR_Box) Stream;
#line 1329 "io.opt"
}
#line 644 "io.opt"
    mercury__robdd__Stream_8_68 = (MR_Word) mercury__robdd__Stream_4_72;
#line 577 "io.opt"
    {
#line 577 "io.opt"
      mercury__string__format_3_p_0((MR_String) "%s; ", mercury__robdd__V_37_37, &mercury__robdd__String_10_78);
    }
#line 524 "io.opt"
    mercury__robdd__Stream_5_82 = (MR_Box) mercury__robdd__Stream_8_68;
#line 1250 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__IntroducedFrom__pred__robdd_to_dot__1461__1_4_p_0

	MercuryFilePtr Stream;
	MR_String Message;

	Stream = (MercuryFilePtr) mercury__robdd__Stream_5_82 ;
	Message =  mercury__robdd__String_10_78 ;
		{
#line 1250 "io.opt"

    mercury_print_string(Stream, Message);

#line 12618 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 1250 "io.opt"
}
#line 1461 "robdd.m"
  }
#line 1461 "robdd.m"
}

#line 1242 "robdd.m"
static MR_bool MR_CALL 
mercury__robdd__IntroducedFrom__pred__squeeze_equiv__1242__1_3_p_0(
#line 1242 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_16,
#line 1242 "robdd.m"
  MR_Word mercury__robdd__Max_6,
#line 1242 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_12)
#line 1242 "robdd.m"
{
#line 1242 "robdd.m"
  {
#line 1242 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1242 "robdd.m"
    MR_Word mercury__robdd__V_23_23;
#line 1242 "robdd.m"
    MR_Integer mercury__robdd__V_26_26 = (MR_Integer) mercury__robdd__HeadVar__3_12;
#line 1242 "robdd.m"
    MR_Integer mercury__robdd__V_27_27 = (MR_Integer) mercury__robdd__Max_6;

#line 66 "private_builtin.opt"
    mercury__robdd__succeeded = (mercury__robdd__V_26_26 < mercury__robdd__V_27_27);
#line 69 "private_builtin.opt"
    if (mercury__robdd__succeeded)
#line 68 "private_builtin.opt"
      mercury__robdd__V_23_23 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
    else
#line 74 "private_builtin.opt"
      {
#line 71 "private_builtin.opt"
        mercury__robdd__succeeded = (mercury__robdd__V_26_26 == mercury__robdd__V_27_27);
#line 74 "private_builtin.opt"
        if (mercury__robdd__succeeded)
#line 73 "private_builtin.opt"
          mercury__robdd__V_23_23 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
        else
#line 75 "private_builtin.opt"
          mercury__robdd__V_23_23 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
      }
#line 1242 "robdd.m"
    mercury__robdd__succeeded = ((MR_Integer) 2 == mercury__robdd__V_23_23);
#line 1242 "robdd.m"
    mercury__robdd__succeeded = !(mercury__robdd__succeeded);
#line 1242 "robdd.m"
    return mercury__robdd__succeeded;
#line 1242 "robdd.m"
  }
#line 1242 "robdd.m"
}

#line 1239 "robdd.m"
static MR_bool MR_CALL 
mercury__robdd__IntroducedFrom__pred__squeeze_equiv__1239__1_3_p_0(
#line 1239 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_16,
#line 1239 "robdd.m"
  MR_Word mercury__robdd__LeaderMap_4,
#line 1239 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_10)
#line 1239 "robdd.m"
{
#line 1239 "robdd.m"
  {
#line 1239 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1239 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_19_19 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1239 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_20_20;
#line 1239 "robdd.m"
    MR_Word mercury__robdd__L_8;
#line 39 "map.opt"
    MR_Box mercury__robdd__conv0_L_8;
#line 1239 "robdd.m"
    MR_Integer mercury__robdd__V_26_26;
#line 1239 "robdd.m"
    MR_Integer mercury__robdd__V_27_27;

#line 12712 "robdd.c"
    {
#line 12714 "robdd.c"
      mercury__robdd__TypeInfo_20_20 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 12716 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_20_20, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_19_19));
#line 12718 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_20_20, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_16));
#line 12720 "robdd.c"
    }
#line 39 "map.opt"
    {
#line 39 "map.opt"
      mercury__robdd__succeeded = mercury__tree234__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_115_101_97_114_99_104_95_95_91_75_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__TypeInfo_20_20, mercury__robdd__TypeInfo_20_20, (MR_Word) mercury__robdd__LeaderMap_4, mercury__robdd__HeadVar__3_10, &mercury__robdd__conv0_L_8);
    }
#line 39 "map.opt"
    if (mercury__robdd__succeeded)
#line 39 "map.opt"
      {
#line 39 "map.opt"
        mercury__robdd__L_8 = ((MR_Word) mercury__robdd__conv0_L_8);
#line 39 "map.opt"
        mercury__robdd__succeeded = MR_TRUE;
#line 39 "map.opt"
      }
#line 1239 "robdd.m"
    if (mercury__robdd__succeeded)
#line 1239 "robdd.m"
      {
#line 1239 "robdd.m"
        mercury__robdd__V_26_26 = (MR_Integer) mercury__robdd__L_8;
#line 1239 "robdd.m"
        mercury__robdd__V_27_27 = (MR_Integer) mercury__robdd__HeadVar__3_10;
#line 1239 "robdd.m"
        mercury__robdd__succeeded = (mercury__robdd__V_26_26 == mercury__robdd__V_27_27);
#line 1239 "robdd.m"
        mercury__robdd__succeeded = !(mercury__robdd__succeeded);
#line 1239 "robdd.m"
      }
#line 1239 "robdd.m"
    mercury__robdd__succeeded = !(mercury__robdd__succeeded);
#line 1239 "robdd.m"
    return mercury__robdd__succeeded;
#line 1239 "robdd.m"
  }
#line 1239 "robdd.m"
}

#line 1184 "robdd.m"
static MR_bool MR_CALL 
mercury__robdd__IntroducedFrom__pred__restrict_filter__1184__1_2_p_0(
#line 1184 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_11,
#line 1184 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_8)
#line 1184 "robdd.m"
{
#line 1184 "robdd.m"
  {
#line 1184 "robdd.m"
    MR_bool mercury__robdd__succeeded;

#line 1184 "robdd.m"
    {
#line 1184 "robdd.m"
      return mercury__robdd__succeeded = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_73_110_116_114_111_100_117_99_101_100_70_114_111_109_95_95_112_114_101_100_95_95_114_101_115_116_114_105_99_116_95_102_105_108_116_101_114_95_95_49_49_56_52_95_95_49_95_95_91_49_44_32_50_93_95_48_2_p_0();
    }
#line 1184 "robdd.m"
    return mercury__robdd__succeeded;
#line 1184 "robdd.m"
  }
#line 1184 "robdd.m"
}

#line 835 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__ClassMethod_for_robdd__intersectable____sparse_bitset__sparse_bitset__arity1______robdd__intersection_2_2_f_0(
#line 835 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_4,
#line 835 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 835 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 835 "robdd.m"
{
#line 216 "sparse_bitset.opt"
  {
#line 216 "sparse_bitset.opt"
    MR_bool mercury__robdd__succeeded;
#line 216 "sparse_bitset.opt"
    MR_Word mercury__robdd__HeadVar__3_3;
#line 216 "sparse_bitset.opt"
    MR_Word mercury__robdd__Set1_4_5 = (MR_Word) mercury__robdd__HeadVar__1_1;
#line 216 "sparse_bitset.opt"
    MR_Word mercury__robdd__Set2_5_6 = (MR_Word) mercury__robdd__HeadVar__2_2;
#line 216 "sparse_bitset.opt"
    MR_Word mercury__robdd__V_6_7;

#line 217 "sparse_bitset.opt"
    {
#line 217 "sparse_bitset.opt"
      mercury__robdd__V_6_7 = mercury__sparse_bitset__intersect_2_2_f_0(mercury__robdd__Set1_4_5, mercury__robdd__Set2_5_6);
    }
#line 216 "sparse_bitset.opt"
    mercury__robdd__HeadVar__3_3 = (MR_Word) mercury__robdd__V_6_7;
#line 216 "sparse_bitset.opt"
    return mercury__robdd__HeadVar__3_3;
#line 216 "sparse_bitset.opt"
  }
#line 835 "robdd.m"
}

#line 839 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__ClassMethod_for_robdd__intersectable____robdd__entailment_result__arity1______robdd__intersection_2_2_f_0(
#line 839 "robdd.m"
  MR_Word mercury__robdd__TypeClassInfo_for_intersectable_20,
#line 839 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 839 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 839 "robdd.m"
{
#line 839 "robdd.m"
  {
#line 839 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 839 "robdd.m"
    MR_Word mercury__robdd__HeadVar__3_3;

#line 839 "robdd.m"
    if ((mercury__robdd__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 839 "robdd.m"
      mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__2_2;
#line 839 "robdd.m"
    else
#line 839 "robdd.m"
      {
#line 839 "robdd.m"
        MR_Box mercury__robdd__V_21_21 = (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__1_1, (MR_Integer) 0));

#line 839 "robdd.m"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 839 "robdd.m"
          mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__1_1;
#line 839 "robdd.m"
        else
#line 839 "robdd.m"
          {
#line 839 "robdd.m"
            MR_Box mercury__robdd__Vs1_18 = (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0));
#line 839 "robdd.m"
            MR_Box mercury__robdd__V_19_19;
#line 12865 "robdd.c"
            MR_Box MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box, MR_Box) = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_20, (MR_Integer) 0)), (MR_Integer) 5)));

#line 12868 "robdd.c"
            {
#line 12870 "robdd.c"
              mercury__robdd__V_19_19 = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_intersectable_20), mercury__robdd__V_21_21, mercury__robdd__Vs1_18);
            }
#line 839 "robdd.m"
            {
#line 839 "robdd.m"
              mercury__robdd__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 839 "robdd.m"
              MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__3_3, 0) = mercury__robdd__V_19_19;
#line 839 "robdd.m"
            }
#line 839 "robdd.m"
          }
#line 839 "robdd.m"
      }
#line 839 "robdd.m"
    return mercury__robdd__HeadVar__3_3;
#line 839 "robdd.m"
  }
#line 839 "robdd.m"
}

#line 846 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__ClassMethod_for_robdd__intersectable____robdd__leader_to_eqvclass__arity1______robdd__intersection_2_2_f_0(
#line 846 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_22,
#line 846 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 846 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 846 "robdd.m"
{
#line 846 "robdd.m"
  {
#line 846 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 846 "robdd.m"
    MR_Word mercury__robdd__HeadVar__3_3;
#line 846 "robdd.m"
    MR_Word mercury__robdd__MapA_5 = (MR_Word) mercury__robdd__HeadVar__1_1;
#line 846 "robdd.m"
    MR_Word mercury__robdd__MapB_6 = (MR_Word) mercury__robdd__HeadVar__2_2;
#line 846 "robdd.m"
    MR_Word mercury__robdd__V_11_11;
#line 846 "robdd.m"
    MR_Word mercury__robdd__V_18_18 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 847 "robdd.m"
    {
#line 847 "robdd.m"
      mercury__robdd__V_11_11 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_50_56_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_3_f_in__map_0(mercury__robdd__TypeInfo_for_T_22, mercury__robdd__TypeInfo_for_T_22, mercury__robdd__MapB_6, mercury__robdd__MapA_5, mercury__robdd__V_18_18);
    }
#line 846 "robdd.m"
    mercury__robdd__HeadVar__3_3 = (MR_Word) mercury__robdd__V_11_11;
#line 846 "robdd.m"
    return mercury__robdd__HeadVar__3_3;
#line 846 "robdd.m"
  }
#line 846 "robdd.m"
}

#line 861 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__ClassMethod_for_robdd__intersectable____robdd__imp_res_2__arity1______robdd__intersection_2_2_f_0(
#line 861 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_9,
#line 861 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 861 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 861 "robdd.m"
{
#line 861 "robdd.m"
  {
#line 861 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 861 "robdd.m"
    MR_Word mercury__robdd__HeadVar__3_3;
#line 861 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_10_10 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 861 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_11_11;
#line 861 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_12_12 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 861 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_13_13;
#line 861 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_14_14 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_entailment_result_1;
#line 861 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_15_15;
#line 861 "robdd.m"
    MR_Word mercury__robdd__MapA_5 = (MR_Word) mercury__robdd__HeadVar__1_1;
#line 861 "robdd.m"
    MR_Word mercury__robdd__MapB_6 = (MR_Word) mercury__robdd__HeadVar__2_2;
#line 861 "robdd.m"
    MR_Word mercury__robdd__V_7_7;
#line 861 "robdd.m"
    MR_Word mercury__robdd__AssocList1_9_55;
#line 861 "robdd.m"
    MR_Word mercury__robdd__AssocList2_10_56;
#line 861 "robdd.m"
    MR_Word mercury__robdd__Common0_11_57;
#line 861 "robdd.m"
    MR_Word mercury__robdd__V_5_69;
#line 861 "robdd.m"
    MR_Word mercury__robdd__V_5_76;
#line 86 "tree234.opt"
    MR_Word mercury__robdd__conv0_AssocList1_9_55;
#line 86 "tree234.opt"
    MR_Word mercury__robdd__conv1_AssocList2_10_56;

#line 12982 "robdd.c"
    {
#line 12984 "robdd.c"
      mercury__robdd__TypeInfo_11_11 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 12986 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_11_11, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_10_10));
#line 12988 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_11_11, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_9));
#line 12990 "robdd.c"
    }
#line 12992 "robdd.c"
    {
#line 12994 "robdd.c"
      mercury__robdd__TypeInfo_13_13 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 12996 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_13_13, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_12_12));
#line 12998 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_13_13, 1) = ((MR_Box) (mercury__robdd__TypeInfo_11_11));
#line 13000 "robdd.c"
    }
#line 13002 "robdd.c"
    {
#line 13004 "robdd.c"
      mercury__robdd__TypeInfo_15_15 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 13006 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_15_15, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_14_14));
#line 13008 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_15_15, 1) = ((MR_Box) (mercury__robdd__TypeInfo_13_13));
#line 13010 "robdd.c"
    }
#line 85 "tree234.opt"
    mercury__robdd__V_5_69 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 86 "tree234.opt"
    {
#line 86 "tree234.opt"
      mercury__tree234__tree234_to_assoc_list_acc_3_p_0(mercury__robdd__TypeInfo_11_11, mercury__robdd__TypeInfo_15_15, (MR_Word) mercury__robdd__MapA_5, (MR_Word) mercury__robdd__V_5_69, &mercury__robdd__conv0_AssocList1_9_55);
    }
#line 86 "tree234.opt"
    mercury__robdd__AssocList1_9_55 = (MR_Word) mercury__robdd__conv0_AssocList1_9_55;
#line 85 "tree234.opt"
    mercury__robdd__V_5_76 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 86 "tree234.opt"
    {
#line 86 "tree234.opt"
      mercury__tree234__tree234_to_assoc_list_acc_3_p_0(mercury__robdd__TypeInfo_11_11, mercury__robdd__TypeInfo_15_15, (MR_Word) mercury__robdd__MapB_6, (MR_Word) mercury__robdd__V_5_76, &mercury__robdd__conv1_AssocList2_10_56);
    }
#line 86 "tree234.opt"
    mercury__robdd__AssocList2_10_56 = (MR_Word) mercury__robdd__conv1_AssocList2_10_56;
#line 48 "tree234.opt"
    mercury__robdd__Common0_11_57 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 291 "map.opt"
    {
#line 291 "map.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_105_110_116_101_114_115_101_99_116_95_50_95_95_104_111_49_50_51_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_53_93_95_48_5_p_in__map_0(mercury__robdd__TypeInfo_for_T_9, mercury__robdd__TypeInfo_for_T_9, mercury__robdd__TypeInfo_11_11, mercury__robdd__TypeInfo_15_15, mercury__robdd__AssocList1_9_55, mercury__robdd__AssocList2_10_56, mercury__robdd__Common0_11_57, &mercury__robdd__V_7_7);
    }
#line 861 "robdd.m"
    mercury__robdd__HeadVar__3_3 = (MR_Word) mercury__robdd__V_7_7;
#line 861 "robdd.m"
    return mercury__robdd__HeadVar__3_3;
#line 861 "robdd.m"
  }
#line 861 "robdd.m"
}

#line 333 "robdd.m"
void MR_CALL 
mercury__robdd____Compare____write_var_1_0(
#line 333 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_6,
#line 333 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__1_1,
#line 333 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 333 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 333 "robdd.m"
{
#line 333 "robdd.m"
  {
#line 333 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 333 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_4 = mercury__robdd__HeadVar__2_2;
#line 333 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_5 = mercury__robdd__HeadVar__3_3;

#line 333 "robdd.m"
    {
#line 333 "robdd.m"
      mercury__private_builtin__builtin_compare_pred_3_p_0(mercury__robdd__HeadVar__1_1, (MR_Word) mercury__robdd__Cast_HeadVar1_4, (MR_Word) mercury__robdd__Cast_HeadVar2_5);
#line 333 "robdd.m"
      return;
    }
#line 333 "robdd.m"
  }
#line 333 "robdd.m"
}

#line 333 "robdd.m"
MR_bool MR_CALL 
mercury__robdd____Unify____write_var_1_0(
#line 333 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_5,
#line 333 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 333 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 333 "robdd.m"
{
#line 333 "robdd.m"
  {
#line 333 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 333 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_3 = mercury__robdd__HeadVar__1_1;
#line 333 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_4 = mercury__robdd__HeadVar__2_2;

#line 333 "robdd.m"
    {
#line 333 "robdd.m"
      return mercury__robdd__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__robdd__Cast_HeadVar1_3, (MR_Word) mercury__robdd__Cast_HeadVar2_4);
    }
#line 333 "robdd.m"
    return mercury__robdd__succeeded;
#line 333 "robdd.m"
  }
#line 333 "robdd.m"
}

#line 178 "robdd.m"
void MR_CALL 
mercury__robdd____Compare____vars_entailed_result_1_0(
#line 178 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_6,
#line 178 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__1_1,
#line 178 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 178 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 178 "robdd.m"
{
#line 178 "robdd.m"
  {
#line 178 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 178 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_7_7 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 178 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_8_8;
#line 178 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_9_9 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 178 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_10_10;
#line 178 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_4 = mercury__robdd__HeadVar__2_2;
#line 178 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_5 = mercury__robdd__HeadVar__3_3;

#line 13142 "robdd.c"
    {
#line 13144 "robdd.c"
      mercury__robdd__TypeInfo_8_8 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 13146 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_7_7));
#line 13148 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_6));
#line 13150 "robdd.c"
    }
#line 13152 "robdd.c"
    {
#line 13154 "robdd.c"
      mercury__robdd__TypeInfo_10_10 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 13156 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_10_10, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_9_9));
#line 13158 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_10_10, 1) = ((MR_Box) (mercury__robdd__TypeInfo_8_8));
#line 13160 "robdd.c"
    }
#line 178 "robdd.m"
    {
#line 178 "robdd.m"
      mercury__robdd____Compare____entailment_result_1_0(mercury__robdd__TypeInfo_10_10, mercury__robdd__HeadVar__1_1, (MR_Word) mercury__robdd__Cast_HeadVar1_4, (MR_Word) mercury__robdd__Cast_HeadVar2_5);
#line 178 "robdd.m"
      return;
    }
#line 178 "robdd.m"
  }
#line 178 "robdd.m"
}

#line 178 "robdd.m"
MR_bool MR_CALL 
mercury__robdd____Unify____vars_entailed_result_1_0(
#line 178 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_5,
#line 178 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 178 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 178 "robdd.m"
{
#line 178 "robdd.m"
  {
#line 178 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 178 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_6_6 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 178 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_7_7;
#line 178 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_8_8 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 178 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_9_9;
#line 178 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_3 = mercury__robdd__HeadVar__1_1;
#line 178 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_4 = mercury__robdd__HeadVar__2_2;

#line 13202 "robdd.c"
    {
#line 13204 "robdd.c"
      mercury__robdd__TypeInfo_7_7 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 13206 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_7_7, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_6_6));
#line 13208 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_7_7, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_5));
#line 13210 "robdd.c"
    }
#line 13212 "robdd.c"
    {
#line 13214 "robdd.c"
      mercury__robdd__TypeInfo_9_9 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 13216 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_9_9, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_8_8));
#line 13218 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_9_9, 1) = ((MR_Box) (mercury__robdd__TypeInfo_7_7));
#line 13220 "robdd.c"
    }
#line 178 "robdd.m"
    {
#line 178 "robdd.m"
      return mercury__robdd__succeeded = mercury__robdd____Unify____entailment_result_1_0(mercury__robdd__TypeInfo_9_9, (MR_Word) mercury__robdd__Cast_HeadVar1_3, (MR_Word) mercury__robdd__Cast_HeadVar2_4);
    }
#line 178 "robdd.m"
    return mercury__robdd__succeeded;
#line 178 "robdd.m"
  }
#line 178 "robdd.m"
}

#line 65 "robdd.m"
void MR_CALL 
mercury__robdd____Compare____vars_1_0(
#line 65 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_6,
#line 65 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__1_1,
#line 65 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 65 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 65 "robdd.m"
{
#line 65 "robdd.m"
  {
#line 65 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 65 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_7_7 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 65 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_8_8;
#line 65 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_4 = mercury__robdd__HeadVar__2_2;
#line 65 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_5 = mercury__robdd__HeadVar__3_3;

#line 13260 "robdd.c"
    {
#line 13262 "robdd.c"
      mercury__robdd__TypeInfo_8_8 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 13264 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_7_7));
#line 13266 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_6));
#line 13268 "robdd.c"
    }
#line 65 "robdd.m"
    {
#line 65 "robdd.m"
      mercury__sparse_bitset____Compare____sparse_bitset_1_0(mercury__robdd__TypeInfo_8_8, mercury__robdd__HeadVar__1_1, (MR_Word) mercury__robdd__Cast_HeadVar1_4, (MR_Word) mercury__robdd__Cast_HeadVar2_5);
#line 65 "robdd.m"
      return;
    }
#line 65 "robdd.m"
  }
#line 65 "robdd.m"
}

#line 65 "robdd.m"
MR_bool MR_CALL 
mercury__robdd____Unify____vars_1_0(
#line 65 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_5,
#line 65 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 65 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 65 "robdd.m"
{
#line 65 "robdd.m"
  {
#line 65 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 65 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_6_6 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 65 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_7_7;
#line 65 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_3 = mercury__robdd__HeadVar__1_1;
#line 65 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_4 = mercury__robdd__HeadVar__2_2;

#line 13306 "robdd.c"
    {
#line 13308 "robdd.c"
      mercury__robdd__TypeInfo_7_7 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 13310 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_7_7, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_6_6));
#line 13312 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_7_7, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_5));
#line 13314 "robdd.c"
    }
#line 65 "robdd.m"
    {
#line 65 "robdd.m"
      return mercury__robdd__succeeded = mercury__sparse_bitset____Unify____sparse_bitset_1_0(mercury__robdd__TypeInfo_7_7, (MR_Word) mercury__robdd__Cast_HeadVar1_3, (MR_Word) mercury__robdd__Cast_HeadVar2_4);
    }
#line 65 "robdd.m"
    return mercury__robdd__succeeded;
#line 65 "robdd.m"
  }
#line 65 "robdd.m"
}

#line 1190 "robdd.m"
void MR_CALL 
mercury__robdd____Compare____var_cache_1_0(
#line 1190 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_6,
#line 1190 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__1_1,
#line 1190 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 1190 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 1190 "robdd.m"
{
#line 1190 "robdd.m"
  {
#line 1190 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1190 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_7_7 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1190 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_8_8;
#line 1190 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_9_9;
#line 1190 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_4 = mercury__robdd__HeadVar__2_2;
#line 1190 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_5 = mercury__robdd__HeadVar__3_3;

#line 13356 "robdd.c"
    {
#line 13358 "robdd.c"
      mercury__robdd__TypeInfo_8_8 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 13360 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_7_7));
#line 13362 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_6));
#line 13364 "robdd.c"
    }
#line 13366 "robdd.c"
    mercury__robdd__TypeCtorInfo_9_9 = (MR_Word) &mercury__bool__bool__type_ctor_info_bool_0;
#line 1190 "robdd.m"
    {
#line 1190 "robdd.m"
      mercury__tree234____Compare____tree234_2_0(mercury__robdd__TypeInfo_8_8, mercury__robdd__TypeCtorInfo_9_9, mercury__robdd__HeadVar__1_1, (MR_Word) mercury__robdd__Cast_HeadVar1_4, (MR_Word) mercury__robdd__Cast_HeadVar2_5);
#line 1190 "robdd.m"
      return;
    }
#line 1190 "robdd.m"
  }
#line 1190 "robdd.m"
}

#line 1190 "robdd.m"
MR_bool MR_CALL 
mercury__robdd____Unify____var_cache_1_0(
#line 1190 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_5,
#line 1190 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 1190 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 1190 "robdd.m"
{
#line 1190 "robdd.m"
  {
#line 1190 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1190 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_6_6 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1190 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_7_7;
#line 1190 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_8_8 = (MR_Word) &mercury__bool__bool__type_ctor_info_bool_0;
#line 1190 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_3 = mercury__robdd__HeadVar__1_1;
#line 1190 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_4 = mercury__robdd__HeadVar__2_2;

#line 13406 "robdd.c"
    {
#line 13408 "robdd.c"
      mercury__robdd__TypeInfo_7_7 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 13410 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_7_7, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_6_6));
#line 13412 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_7_7, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_5));
#line 13414 "robdd.c"
    }
#line 1190 "robdd.m"
    {
#line 1190 "robdd.m"
      return mercury__robdd__succeeded = mercury__tree234____Unify____tree234_2_0(mercury__robdd__TypeInfo_7_7, mercury__robdd__TypeCtorInfo_8_8, (MR_Word) mercury__robdd__Cast_HeadVar1_3, (MR_Word) mercury__robdd__Cast_HeadVar2_4);
    }
#line 1190 "robdd.m"
    return mercury__robdd__succeeded;
#line 1190 "robdd.m"
  }
#line 1190 "robdd.m"
}

#line 1189 "robdd.m"
void MR_CALL 
mercury__robdd____Compare____robdd_cache_1_0(
#line 1189 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_6,
#line 1189 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__1_1,
#line 1189 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 1189 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 1189 "robdd.m"
{
#line 1189 "robdd.m"
  {
#line 1189 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1189 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_7_7 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 1189 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_8_8;
#line 1189 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_4 = mercury__robdd__HeadVar__2_2;
#line 1189 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_5 = mercury__robdd__HeadVar__3_3;

#line 13454 "robdd.c"
    {
#line 13456 "robdd.c"
      mercury__robdd__TypeInfo_8_8 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 13458 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_7_7));
#line 13460 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_6));
#line 13462 "robdd.c"
    }
#line 1189 "robdd.m"
    {
#line 1189 "robdd.m"
      mercury__tree234____Compare____tree234_2_0(mercury__robdd__TypeInfo_8_8, mercury__robdd__TypeInfo_8_8, mercury__robdd__HeadVar__1_1, (MR_Word) mercury__robdd__Cast_HeadVar1_4, (MR_Word) mercury__robdd__Cast_HeadVar2_5);
#line 1189 "robdd.m"
      return;
    }
#line 1189 "robdd.m"
  }
#line 1189 "robdd.m"
}

#line 1189 "robdd.m"
MR_bool MR_CALL 
mercury__robdd____Unify____robdd_cache_1_0(
#line 1189 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_5,
#line 1189 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 1189 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 1189 "robdd.m"
{
#line 1189 "robdd.m"
  {
#line 1189 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1189 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_6_6 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 1189 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_7_7;
#line 1189 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_3 = mercury__robdd__HeadVar__1_1;
#line 1189 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_4 = mercury__robdd__HeadVar__2_2;

#line 13500 "robdd.c"
    {
#line 13502 "robdd.c"
      mercury__robdd__TypeInfo_7_7 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 13504 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_7_7, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_6_6));
#line 13506 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_7_7, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_5));
#line 13508 "robdd.c"
    }
#line 1189 "robdd.m"
    {
#line 1189 "robdd.m"
      return mercury__robdd__succeeded = mercury__tree234____Unify____tree234_2_0(mercury__robdd__TypeInfo_7_7, mercury__robdd__TypeInfo_7_7, (MR_Word) mercury__robdd__Cast_HeadVar1_3, (MR_Word) mercury__robdd__Cast_HeadVar2_4);
    }
#line 1189 "robdd.m"
    return mercury__robdd__succeeded;
#line 1189 "robdd.m"
  }
#line 1189 "robdd.m"
}

#line 419 "robdd.m"
void MR_CALL 
mercury__robdd____Compare____robdd_1_0(
#line 419 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_8,
#line 419 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__1_1,
#line 419 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 419 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 419 "robdd.m"
{
#line 419 "robdd.m"
  {
#line 419 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastX_6 = (MR_Integer) mercury__robdd__HeadVar__2_2;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastY_7 = (MR_Integer) mercury__robdd__HeadVar__3_3;

#line 419 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_6 == mercury__robdd__CastY_7);
#line 419 "robdd.m"
    if (mercury__robdd__succeeded)
#line 13548 "robdd.c"
      *mercury__robdd__HeadVar__1_1 = (MR_Integer) 0;
#line 419 "robdd.m"
    else
#line 419 "robdd.m"
      {
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_4_4 = (MR_Integer) mercury__robdd__HeadVar__2_2;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_5_5 = (MR_Integer) mercury__robdd__HeadVar__3_3;

#line 66 "private_builtin.opt"
        mercury__robdd__succeeded = (mercury__robdd__V_4_4 < mercury__robdd__V_5_5);
#line 69 "private_builtin.opt"
        if (mercury__robdd__succeeded)
#line 68 "private_builtin.opt"
          *mercury__robdd__HeadVar__1_1 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
        else
#line 74 "private_builtin.opt"
          {
#line 71 "private_builtin.opt"
            mercury__robdd__succeeded = (mercury__robdd__V_4_4 == mercury__robdd__V_5_5);
#line 74 "private_builtin.opt"
            if (mercury__robdd__succeeded)
#line 73 "private_builtin.opt"
              *mercury__robdd__HeadVar__1_1 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
            else
#line 75 "private_builtin.opt"
              *mercury__robdd__HeadVar__1_1 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
          }
#line 419 "robdd.m"
      }
#line 419 "robdd.m"
  }
#line 419 "robdd.m"
}

#line 419 "robdd.m"
MR_bool MR_CALL 
mercury__robdd____Unify____robdd_1_0(
#line 419 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_7,
#line 419 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 419 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 419 "robdd.m"
{
#line 419 "robdd.m"
  {
#line 419 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastX_5 = (MR_Integer) mercury__robdd__HeadVar__1_1;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastY_6 = (MR_Integer) mercury__robdd__HeadVar__2_2;

#line 419 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_5 == mercury__robdd__CastY_6);
#line 419 "robdd.m"
    if (mercury__robdd__succeeded)
#line 419 "robdd.m"
      mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
    else
#line 419 "robdd.m"
      {
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_3_3 = (MR_Integer) mercury__robdd__HeadVar__1_1;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_4_4 = (MR_Integer) mercury__robdd__HeadVar__2_2;

#line 13623 "robdd.c"
        mercury__robdd__succeeded = (mercury__robdd__V_3_3 == mercury__robdd__V_4_4);
#line 419 "robdd.m"
      }
#line 419 "robdd.m"
    return mercury__robdd__succeeded;
#line 419 "robdd.m"
  }
#line 419 "robdd.m"
}

#line 63 "robdd.m"
void MR_CALL 
mercury__robdd____Compare____robdd_0_0(
#line 63 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__1_1,
#line 63 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 63 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 63 "robdd.m"
{
#line 63 "robdd.m"
  {
#line 63 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 63 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_6_6 = (MR_Word) &mercury__robdd_scalar_common_1[0];
#line 63 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_4 = mercury__robdd__HeadVar__2_2;
#line 63 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_5 = mercury__robdd__HeadVar__3_3;

#line 63 "robdd.m"
    {
#line 63 "robdd.m"
      mercury__builtin__compare_3_p_0(mercury__robdd__TypeInfo_6_6, mercury__robdd__HeadVar__1_1, ((MR_Box) (mercury__robdd__Cast_HeadVar1_4)), ((MR_Box) (mercury__robdd__Cast_HeadVar2_5)));
#line 63 "robdd.m"
      return;
    }
#line 63 "robdd.m"
  }
#line 63 "robdd.m"
}

#line 63 "robdd.m"
MR_bool MR_CALL 
mercury__robdd____Unify____robdd_0_0(
#line 63 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 63 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 63 "robdd.m"
{
#line 63 "robdd.m"
  {
#line 63 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 63 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_3 = mercury__robdd__HeadVar__1_1;
#line 63 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_4 = mercury__robdd__HeadVar__2_2;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastX_8 = (MR_Integer) mercury__robdd__Cast_HeadVar1_3;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastY_9 = (MR_Integer) mercury__robdd__Cast_HeadVar2_4;

#line 419 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_8 == mercury__robdd__CastY_9);
#line 419 "robdd.m"
    if (mercury__robdd__succeeded)
#line 419 "robdd.m"
      mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
    else
#line 419 "robdd.m"
      {
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_6_6 = (MR_Integer) mercury__robdd__Cast_HeadVar1_3;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_7_7 = (MR_Integer) mercury__robdd__Cast_HeadVar2_4;

#line 13705 "robdd.c"
        mercury__robdd__succeeded = (mercury__robdd__V_6_6 == mercury__robdd__V_7_7);
#line 419 "robdd.m"
      }
#line 63 "robdd.m"
    return mercury__robdd__succeeded;
#line 63 "robdd.m"
  }
#line 63 "robdd.m"
}

#line 301 "robdd.m"
void MR_CALL 
mercury__robdd____Compare____literal_1_0(
#line 301 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_14,
#line 301 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__1_1,
#line 301 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 301 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 301 "robdd.m"
{
#line 301 "robdd.m"
  {
#line 301 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 301 "robdd.m"
    MR_Integer mercury__robdd__CastX_12 = (MR_Integer) mercury__robdd__HeadVar__2_2;
#line 301 "robdd.m"
    MR_Integer mercury__robdd__CastY_13 = (MR_Integer) mercury__robdd__HeadVar__3_3;

#line 301 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_12 == mercury__robdd__CastY_13);
#line 301 "robdd.m"
    if (mercury__robdd__succeeded)
#line 13742 "robdd.c"
      *mercury__robdd__HeadVar__1_1 = (MR_Integer) 0;
#line 301 "robdd.m"
    else
#line 301 "robdd.m"
      if (((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1))))
#line 301 "robdd.m"
        {
#line 301 "robdd.m"
          MR_Word mercury__robdd__V_19_19 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));

#line 301 "robdd.m"
          if (((MR_tag((MR_Word) mercury__robdd__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 301 "robdd.m"
            {
#line 301 "robdd.m"
              MR_Word mercury__robdd__V_11_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__3_3, (MR_Integer) 0)));
#line 301 "robdd.m"
              MR_Integer mercury__robdd__V_21_21 = (MR_Integer) mercury__robdd__V_19_19;
#line 301 "robdd.m"
              MR_Integer mercury__robdd__V_22_22 = (MR_Integer) mercury__robdd__V_11_11;

#line 66 "private_builtin.opt"
              mercury__robdd__succeeded = (mercury__robdd__V_21_21 < mercury__robdd__V_22_22);
#line 69 "private_builtin.opt"
              if (mercury__robdd__succeeded)
#line 68 "private_builtin.opt"
                *mercury__robdd__HeadVar__1_1 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
              else
#line 74 "private_builtin.opt"
                {
#line 71 "private_builtin.opt"
                  mercury__robdd__succeeded = (mercury__robdd__V_21_21 == mercury__robdd__V_22_22);
#line 74 "private_builtin.opt"
                  if (mercury__robdd__succeeded)
#line 73 "private_builtin.opt"
                    *mercury__robdd__HeadVar__1_1 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
                  else
#line 75 "private_builtin.opt"
                    *mercury__robdd__HeadVar__1_1 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
                }
#line 301 "robdd.m"
            }
#line 301 "robdd.m"
          else
#line 13790 "robdd.c"
            *mercury__robdd__HeadVar__1_1 = (MR_Integer) 2;
#line 301 "robdd.m"
        }
#line 301 "robdd.m"
      else
#line 301 "robdd.m"
        {
#line 301 "robdd.m"
          MR_Word mercury__robdd__V_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));

#line 301 "robdd.m"
          if (((MR_tag((MR_Word) mercury__robdd__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 13803 "robdd.c"
            *mercury__robdd__HeadVar__1_1 = (MR_Integer) 1;
#line 301 "robdd.m"
          else
#line 301 "robdd.m"
            {
#line 301 "robdd.m"
              MR_Word mercury__robdd__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__3_3, (MR_Integer) 0)));
#line 301 "robdd.m"
              MR_Integer mercury__robdd__V_23_23 = (MR_Integer) mercury__robdd__V_20_20;
#line 301 "robdd.m"
              MR_Integer mercury__robdd__V_24_24 = (MR_Integer) mercury__robdd__V_5_5;

#line 66 "private_builtin.opt"
              mercury__robdd__succeeded = (mercury__robdd__V_23_23 < mercury__robdd__V_24_24);
#line 69 "private_builtin.opt"
              if (mercury__robdd__succeeded)
#line 68 "private_builtin.opt"
                *mercury__robdd__HeadVar__1_1 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
              else
#line 74 "private_builtin.opt"
                {
#line 71 "private_builtin.opt"
                  mercury__robdd__succeeded = (mercury__robdd__V_23_23 == mercury__robdd__V_24_24);
#line 74 "private_builtin.opt"
                  if (mercury__robdd__succeeded)
#line 73 "private_builtin.opt"
                    *mercury__robdd__HeadVar__1_1 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
                  else
#line 75 "private_builtin.opt"
                    *mercury__robdd__HeadVar__1_1 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
                }
#line 301 "robdd.m"
            }
#line 301 "robdd.m"
        }
#line 301 "robdd.m"
  }
#line 301 "robdd.m"
}

#line 301 "robdd.m"
MR_bool MR_CALL 
mercury__robdd____Unify____literal_1_0(
#line 301 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_9,
#line 301 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 301 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 301 "robdd.m"
{
#line 301 "robdd.m"
  {
#line 301 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 301 "robdd.m"
    MR_Integer mercury__robdd__CastX_7 = (MR_Integer) mercury__robdd__HeadVar__1_1;
#line 301 "robdd.m"
    MR_Integer mercury__robdd__CastY_8 = (MR_Integer) mercury__robdd__HeadVar__2_2;

#line 301 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_7 == mercury__robdd__CastY_8);
#line 301 "robdd.m"
    if (mercury__robdd__succeeded)
#line 301 "robdd.m"
      mercury__robdd__succeeded = MR_TRUE;
#line 301 "robdd.m"
    else
#line 301 "robdd.m"
      if (((MR_tag((MR_Word) mercury__robdd__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1))))
#line 301 "robdd.m"
        {
#line 301 "robdd.m"
          MR_Word mercury__robdd__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__1_1, (MR_Integer) 0)));
#line 301 "robdd.m"
          MR_Word mercury__robdd__V_6_6;
#line 301 "robdd.m"
          MR_Integer mercury__robdd__V_14_14;
#line 301 "robdd.m"
          MR_Integer mercury__robdd__V_15_15;

#line 301 "robdd.m"
          mercury__robdd__succeeded = ((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 301 "robdd.m"
          if (mercury__robdd__succeeded)
#line 301 "robdd.m"
            {
#line 301 "robdd.m"
              mercury__robdd__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 13896 "robdd.c"
              mercury__robdd__V_14_14 = (MR_Integer) mercury__robdd__V_5_5;
#line 13898 "robdd.c"
              mercury__robdd__V_15_15 = (MR_Integer) mercury__robdd__V_6_6;
#line 13900 "robdd.c"
              mercury__robdd__succeeded = (mercury__robdd__V_14_14 == mercury__robdd__V_15_15);
#line 301 "robdd.m"
            }
#line 301 "robdd.m"
        }
#line 301 "robdd.m"
      else
#line 301 "robdd.m"
        {
#line 301 "robdd.m"
          MR_Word mercury__robdd__V_3_3 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__1_1, (MR_Integer) 0)));
#line 301 "robdd.m"
          MR_Word mercury__robdd__V_4_4;
#line 301 "robdd.m"
          MR_Integer mercury__robdd__V_16_16;
#line 301 "robdd.m"
          MR_Integer mercury__robdd__V_17_17;

#line 301 "robdd.m"
          mercury__robdd__succeeded = ((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 0)));
#line 301 "robdd.m"
          if (mercury__robdd__succeeded)
#line 301 "robdd.m"
            {
#line 301 "robdd.m"
              mercury__robdd__V_4_4 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 13927 "robdd.c"
              mercury__robdd__V_16_16 = (MR_Integer) mercury__robdd__V_3_3;
#line 13929 "robdd.c"
              mercury__robdd__V_17_17 = (MR_Integer) mercury__robdd__V_4_4;
#line 13931 "robdd.c"
              mercury__robdd__succeeded = (mercury__robdd__V_16_16 == mercury__robdd__V_17_17);
#line 301 "robdd.m"
            }
#line 301 "robdd.m"
        }
#line 301 "robdd.m"
    return mercury__robdd__succeeded;
#line 301 "robdd.m"
  }
#line 301 "robdd.m"
}

#line 625 "robdd.m"
void MR_CALL 
mercury__robdd____Compare____leader_to_eqvclass_1_0(
#line 625 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_8,
#line 625 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__1_1,
#line 625 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 625 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 625 "robdd.m"
{
#line 625 "robdd.m"
  {
#line 625 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 625 "robdd.m"
    MR_Integer mercury__robdd__CastX_6 = (MR_Integer) mercury__robdd__HeadVar__2_2;
#line 625 "robdd.m"
    MR_Integer mercury__robdd__CastY_7 = (MR_Integer) mercury__robdd__HeadVar__3_3;

#line 625 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_6 == mercury__robdd__CastY_7);
#line 625 "robdd.m"
    if (mercury__robdd__succeeded)
#line 13970 "robdd.c"
      *mercury__robdd__HeadVar__1_1 = (MR_Integer) 0;
#line 625 "robdd.m"
    else
#line 625 "robdd.m"
      {
#line 625 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_9_9 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 625 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_10_10;
#line 625 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_11_11;
#line 625 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_12_12;
#line 625 "robdd.m"
        MR_Word mercury__robdd__V_4_4 = (MR_Word) mercury__robdd__HeadVar__2_2;
#line 625 "robdd.m"
        MR_Word mercury__robdd__V_5_5 = (MR_Word) mercury__robdd__HeadVar__3_3;

#line 13989 "robdd.c"
        {
#line 13991 "robdd.c"
          mercury__robdd__TypeInfo_10_10 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 13993 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_10_10, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_9_9));
#line 13995 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_10_10, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_8));
#line 13997 "robdd.c"
        }
#line 13999 "robdd.c"
        mercury__robdd__TypeCtorInfo_11_11 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 14001 "robdd.c"
        {
#line 14003 "robdd.c"
          mercury__robdd__TypeInfo_12_12 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14005 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_12_12, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_11_11));
#line 14007 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_12_12, 1) = ((MR_Box) (mercury__robdd__TypeInfo_10_10));
#line 14009 "robdd.c"
        }
#line 625 "robdd.m"
        {
#line 625 "robdd.m"
          mercury__tree234____Compare____tree234_2_0(mercury__robdd__TypeInfo_10_10, mercury__robdd__TypeInfo_12_12, mercury__robdd__HeadVar__1_1, (MR_Word) mercury__robdd__V_4_4, (MR_Word) mercury__robdd__V_5_5);
#line 625 "robdd.m"
          return;
        }
#line 625 "robdd.m"
      }
#line 625 "robdd.m"
  }
#line 625 "robdd.m"
}

#line 625 "robdd.m"
MR_bool MR_CALL 
mercury__robdd____Unify____leader_to_eqvclass_1_0(
#line 625 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_7,
#line 625 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 625 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 625 "robdd.m"
{
#line 625 "robdd.m"
  {
#line 625 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 625 "robdd.m"
    MR_Integer mercury__robdd__CastX_5 = (MR_Integer) mercury__robdd__HeadVar__1_1;
#line 625 "robdd.m"
    MR_Integer mercury__robdd__CastY_6 = (MR_Integer) mercury__robdd__HeadVar__2_2;

#line 625 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_5 == mercury__robdd__CastY_6);
#line 625 "robdd.m"
    if (mercury__robdd__succeeded)
#line 625 "robdd.m"
      mercury__robdd__succeeded = MR_TRUE;
#line 625 "robdd.m"
    else
#line 625 "robdd.m"
      {
#line 625 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_8_8 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 625 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_9_9;
#line 625 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_10_10 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 625 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_11_11;
#line 625 "robdd.m"
        MR_Word mercury__robdd__V_3_3 = (MR_Word) mercury__robdd__HeadVar__1_1;
#line 625 "robdd.m"
        MR_Word mercury__robdd__V_4_4 = (MR_Word) mercury__robdd__HeadVar__2_2;

#line 14068 "robdd.c"
        {
#line 14070 "robdd.c"
          mercury__robdd__TypeInfo_9_9 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14072 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_9_9, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_8_8));
#line 14074 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_9_9, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_7));
#line 14076 "robdd.c"
        }
#line 14078 "robdd.c"
        {
#line 14080 "robdd.c"
          mercury__robdd__TypeInfo_11_11 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14082 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_11_11, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_10_10));
#line 14084 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_11_11, 1) = ((MR_Box) (mercury__robdd__TypeInfo_9_9));
#line 14086 "robdd.c"
        }
#line 14088 "robdd.c"
        {
#line 14090 "robdd.c"
          return mercury__robdd__succeeded = mercury__tree234____Unify____tree234_2_0(mercury__robdd__TypeInfo_9_9, mercury__robdd__TypeInfo_11_11, (MR_Word) mercury__robdd__V_3_3, (MR_Word) mercury__robdd__V_4_4);
        }
#line 625 "robdd.m"
      }
#line 625 "robdd.m"
    return mercury__robdd__succeeded;
#line 625 "robdd.m"
  }
#line 625 "robdd.m"
}

#line 204 "robdd.m"
void MR_CALL 
mercury__robdd____Compare____leader_map_1_0(
#line 204 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_6,
#line 204 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__1_1,
#line 204 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 204 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 204 "robdd.m"
{
#line 204 "robdd.m"
  {
#line 204 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 204 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_7_7 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 204 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_8_8;
#line 204 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_4 = mercury__robdd__HeadVar__2_2;
#line 204 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_5 = mercury__robdd__HeadVar__3_3;

#line 14128 "robdd.c"
    {
#line 14130 "robdd.c"
      mercury__robdd__TypeInfo_8_8 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14132 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_7_7));
#line 14134 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_6));
#line 14136 "robdd.c"
    }
#line 204 "robdd.m"
    {
#line 204 "robdd.m"
      mercury__tree234____Compare____tree234_2_0(mercury__robdd__TypeInfo_8_8, mercury__robdd__TypeInfo_8_8, mercury__robdd__HeadVar__1_1, (MR_Word) mercury__robdd__Cast_HeadVar1_4, (MR_Word) mercury__robdd__Cast_HeadVar2_5);
#line 204 "robdd.m"
      return;
    }
#line 204 "robdd.m"
  }
#line 204 "robdd.m"
}

#line 204 "robdd.m"
MR_bool MR_CALL 
mercury__robdd____Unify____leader_map_1_0(
#line 204 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_5,
#line 204 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 204 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 204 "robdd.m"
{
#line 204 "robdd.m"
  {
#line 204 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 204 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_6_6 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 204 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_7_7;
#line 204 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_3 = mercury__robdd__HeadVar__1_1;
#line 204 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_4 = mercury__robdd__HeadVar__2_2;

#line 14174 "robdd.c"
    {
#line 14176 "robdd.c"
      mercury__robdd__TypeInfo_7_7 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14178 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_7_7, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_6_6));
#line 14180 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_7_7, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_5));
#line 14182 "robdd.c"
    }
#line 204 "robdd.m"
    {
#line 204 "robdd.m"
      return mercury__robdd__succeeded = mercury__tree234____Unify____tree234_2_0(mercury__robdd__TypeInfo_7_7, mercury__robdd__TypeInfo_7_7, (MR_Word) mercury__robdd__Cast_HeadVar1_3, (MR_Word) mercury__robdd__Cast_HeadVar2_4);
    }
#line 204 "robdd.m"
    return mercury__robdd__succeeded;
#line 204 "robdd.m"
  }
#line 204 "robdd.m"
}

#line 691 "robdd.m"
void MR_CALL 
mercury__robdd____Compare____implication_result_1_0(
#line 691 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_17,
#line 691 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__1_1,
#line 691 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 691 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 691 "robdd.m"
{
#line 691 "robdd.m"
  {
#line 691 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 691 "robdd.m"
    MR_Integer mercury__robdd__CastX_15 = (MR_Integer) mercury__robdd__HeadVar__2_2;
#line 691 "robdd.m"
    MR_Integer mercury__robdd__CastY_16 = (MR_Integer) mercury__robdd__HeadVar__3_3;

#line 691 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_15 == mercury__robdd__CastY_16);
#line 691 "robdd.m"
    if (mercury__robdd__succeeded)
#line 14222 "robdd.c"
      *mercury__robdd__HeadVar__1_1 = (MR_Integer) 0;
#line 691 "robdd.m"
    else
#line 691 "robdd.m"
      {
#line 691 "robdd.m"
        MR_Word mercury__robdd__V_4_4 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 691 "robdd.m"
        MR_Word mercury__robdd__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 691 "robdd.m"
        MR_Word mercury__robdd__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 691 "robdd.m"
        MR_Word mercury__robdd__V_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 691 "robdd.m"
        MR_Word mercury__robdd__V_8_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__3_3, (MR_Integer) 0)));
#line 691 "robdd.m"
        MR_Word mercury__robdd__V_9_9 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__3_3, (MR_Integer) 1)));
#line 691 "robdd.m"
        MR_Word mercury__robdd__V_10_10 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__3_3, (MR_Integer) 2)));
#line 691 "robdd.m"
        MR_Word mercury__robdd__V_11_11 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__3_3, (MR_Integer) 3)));
#line 691 "robdd.m"
        MR_Word mercury__robdd__V_12_12;
#line 691 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_18_18 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_imp_res_2_1;
#line 691 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_19_19;

#line 14251 "robdd.c"
        {
#line 14253 "robdd.c"
          mercury__robdd__TypeInfo_19_19 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14255 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_19_19, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_18_18));
#line 14257 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_19_19, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_17));
#line 14259 "robdd.c"
        }
#line 691 "robdd.m"
        {
#line 691 "robdd.m"
          mercury__robdd____Compare____entailment_result_1_0(mercury__robdd__TypeInfo_19_19, &mercury__robdd__V_12_12, (MR_Word) mercury__robdd__V_4_4, (MR_Word) mercury__robdd__V_8_8);
        }
#line 14266 "robdd.c"
        mercury__robdd__succeeded = (mercury__robdd__V_12_12 == (MR_Integer) 0);
#line 691 "robdd.m"
        mercury__robdd__succeeded = !(mercury__robdd__succeeded);
#line 691 "robdd.m"
        if (mercury__robdd__succeeded)
#line 691 "robdd.m"
          *mercury__robdd__HeadVar__1_1 = mercury__robdd__V_12_12;
#line 691 "robdd.m"
        else
#line 691 "robdd.m"
          {
#line 691 "robdd.m"
            MR_Word mercury__robdd__V_13_13;
#line 691 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_22_22 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_imp_res_2_1;
#line 691 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_23_23;

#line 14285 "robdd.c"
            {
#line 14287 "robdd.c"
              mercury__robdd__TypeInfo_23_23 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14289 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_23_23, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_22_22));
#line 14291 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_23_23, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_17));
#line 14293 "robdd.c"
            }
#line 691 "robdd.m"
            {
#line 691 "robdd.m"
              mercury__robdd____Compare____entailment_result_1_0(mercury__robdd__TypeInfo_23_23, &mercury__robdd__V_13_13, (MR_Word) mercury__robdd__V_5_5, (MR_Word) mercury__robdd__V_9_9);
            }
#line 14300 "robdd.c"
            mercury__robdd__succeeded = (mercury__robdd__V_13_13 == (MR_Integer) 0);
#line 691 "robdd.m"
            mercury__robdd__succeeded = !(mercury__robdd__succeeded);
#line 691 "robdd.m"
            if (mercury__robdd__succeeded)
#line 691 "robdd.m"
              *mercury__robdd__HeadVar__1_1 = mercury__robdd__V_13_13;
#line 691 "robdd.m"
            else
#line 691 "robdd.m"
              {
#line 691 "robdd.m"
                MR_Word mercury__robdd__V_14_14;
#line 691 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_26_26 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_imp_res_2_1;
#line 691 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_27_27;

#line 14319 "robdd.c"
                {
#line 14321 "robdd.c"
                  mercury__robdd__TypeInfo_27_27 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14323 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_27_27, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_26_26));
#line 14325 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_27_27, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_17));
#line 14327 "robdd.c"
                }
#line 691 "robdd.m"
                {
#line 691 "robdd.m"
                  mercury__robdd____Compare____entailment_result_1_0(mercury__robdd__TypeInfo_27_27, &mercury__robdd__V_14_14, (MR_Word) mercury__robdd__V_6_6, (MR_Word) mercury__robdd__V_10_10);
                }
#line 14334 "robdd.c"
                mercury__robdd__succeeded = (mercury__robdd__V_14_14 == (MR_Integer) 0);
#line 691 "robdd.m"
                mercury__robdd__succeeded = !(mercury__robdd__succeeded);
#line 691 "robdd.m"
                if (mercury__robdd__succeeded)
#line 691 "robdd.m"
                  *mercury__robdd__HeadVar__1_1 = mercury__robdd__V_14_14;
#line 691 "robdd.m"
                else
#line 691 "robdd.m"
                  {
#line 691 "robdd.m"
                    MR_Word mercury__robdd__TypeCtorInfo_30_30 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_imp_res_2_1;
#line 691 "robdd.m"
                    MR_Word mercury__robdd__TypeInfo_31_31;

#line 14351 "robdd.c"
                    {
#line 14353 "robdd.c"
                      mercury__robdd__TypeInfo_31_31 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14355 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_31_31, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_30_30));
#line 14357 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_31_31, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_17));
#line 14359 "robdd.c"
                    }
#line 691 "robdd.m"
                    {
#line 691 "robdd.m"
                      mercury__robdd____Compare____entailment_result_1_0(mercury__robdd__TypeInfo_31_31, mercury__robdd__HeadVar__1_1, (MR_Word) mercury__robdd__V_7_7, (MR_Word) mercury__robdd__V_11_11);
#line 691 "robdd.m"
                      return;
                    }
#line 691 "robdd.m"
                  }
#line 691 "robdd.m"
              }
#line 691 "robdd.m"
          }
#line 691 "robdd.m"
      }
#line 691 "robdd.m"
  }
#line 691 "robdd.m"
}

#line 691 "robdd.m"
MR_bool MR_CALL 
mercury__robdd____Unify____implication_result_1_0(
#line 691 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_13,
#line 691 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 691 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 691 "robdd.m"
{
#line 691 "robdd.m"
  {
#line 691 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 691 "robdd.m"
    MR_Integer mercury__robdd__CastX_11 = (MR_Integer) mercury__robdd__HeadVar__1_1;
#line 691 "robdd.m"
    MR_Integer mercury__robdd__CastY_12 = (MR_Integer) mercury__robdd__HeadVar__2_2;

#line 691 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_11 == mercury__robdd__CastY_12);
#line 691 "robdd.m"
    if (mercury__robdd__succeeded)
#line 691 "robdd.m"
      mercury__robdd__succeeded = MR_TRUE;
#line 691 "robdd.m"
    else
#line 691 "robdd.m"
      {
#line 691 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_14_14 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_imp_res_2_1;
#line 691 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_21_21;
#line 691 "robdd.m"
        MR_Word mercury__robdd__V_3_3 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__1_1, (MR_Integer) 0)));
#line 691 "robdd.m"
        MR_Word mercury__robdd__V_4_4 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__1_1, (MR_Integer) 1)));
#line 691 "robdd.m"
        MR_Word mercury__robdd__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__1_1, (MR_Integer) 2)));
#line 691 "robdd.m"
        MR_Word mercury__robdd__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__1_1, (MR_Integer) 3)));
#line 691 "robdd.m"
        MR_Word mercury__robdd__V_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 691 "robdd.m"
        MR_Word mercury__robdd__V_8_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 691 "robdd.m"
        MR_Word mercury__robdd__V_9_9 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 691 "robdd.m"
        MR_Word mercury__robdd__V_10_10 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));

#line 14432 "robdd.c"
        {
#line 14434 "robdd.c"
          mercury__robdd__TypeInfo_21_21 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14436 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_21_21, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_14_14));
#line 14438 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_21_21, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_13));
#line 14440 "robdd.c"
        }
#line 14442 "robdd.c"
        {
#line 14444 "robdd.c"
          mercury__robdd__succeeded = mercury__robdd____Unify____entailment_result_1_0(mercury__robdd__TypeInfo_21_21, (MR_Word) mercury__robdd__V_3_3, (MR_Word) mercury__robdd__V_7_7);
        }
#line 691 "robdd.m"
        if (mercury__robdd__succeeded)
#line 691 "robdd.m"
          {
#line 14451 "robdd.c"
            {
#line 14453 "robdd.c"
              mercury__robdd__succeeded = mercury__robdd____Unify____entailment_result_1_0(mercury__robdd__TypeInfo_21_21, (MR_Word) mercury__robdd__V_4_4, (MR_Word) mercury__robdd__V_8_8);
            }
#line 691 "robdd.m"
            if (mercury__robdd__succeeded)
#line 691 "robdd.m"
              {
#line 14460 "robdd.c"
                {
#line 14462 "robdd.c"
                  mercury__robdd__succeeded = mercury__robdd____Unify____entailment_result_1_0(mercury__robdd__TypeInfo_21_21, (MR_Word) mercury__robdd__V_5_5, (MR_Word) mercury__robdd__V_9_9);
                }
#line 691 "robdd.m"
                if (mercury__robdd__succeeded)
#line 14467 "robdd.c"
                  {
#line 14469 "robdd.c"
                    return mercury__robdd__succeeded = mercury__robdd____Unify____entailment_result_1_0(mercury__robdd__TypeInfo_21_21, (MR_Word) mercury__robdd__V_6_6, (MR_Word) mercury__robdd__V_10_10);
                  }
#line 691 "robdd.m"
              }
#line 691 "robdd.m"
          }
#line 691 "robdd.m"
      }
#line 691 "robdd.m"
    return mercury__robdd__succeeded;
#line 691 "robdd.m"
  }
#line 691 "robdd.m"
}

#line 226 "robdd.m"
void MR_CALL 
mercury__robdd____Compare____imp_vars_1_0(
#line 226 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_17,
#line 226 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__1_1,
#line 226 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 226 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 226 "robdd.m"
{
#line 226 "robdd.m"
  {
#line 226 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 226 "robdd.m"
    MR_Integer mercury__robdd__CastX_15 = (MR_Integer) mercury__robdd__HeadVar__2_2;
#line 226 "robdd.m"
    MR_Integer mercury__robdd__CastY_16 = (MR_Integer) mercury__robdd__HeadVar__3_3;

#line 226 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_15 == mercury__robdd__CastY_16);
#line 226 "robdd.m"
    if (mercury__robdd__succeeded)
#line 14511 "robdd.c"
      *mercury__robdd__HeadVar__1_1 = (MR_Integer) 0;
#line 226 "robdd.m"
    else
#line 226 "robdd.m"
      {
#line 226 "robdd.m"
        MR_Word mercury__robdd__V_4_4 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 226 "robdd.m"
        MR_Word mercury__robdd__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 226 "robdd.m"
        MR_Word mercury__robdd__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 226 "robdd.m"
        MR_Word mercury__robdd__V_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));
#line 226 "robdd.m"
        MR_Word mercury__robdd__V_8_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__3_3, (MR_Integer) 0)));
#line 226 "robdd.m"
        MR_Word mercury__robdd__V_9_9 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__3_3, (MR_Integer) 1)));
#line 226 "robdd.m"
        MR_Word mercury__robdd__V_10_10 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__3_3, (MR_Integer) 2)));
#line 226 "robdd.m"
        MR_Word mercury__robdd__V_11_11 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__3_3, (MR_Integer) 3)));
#line 226 "robdd.m"
        MR_Word mercury__robdd__V_12_12;
#line 226 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_18_18 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 226 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_19_19;
#line 226 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_20_20 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 226 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_21_21;

#line 14544 "robdd.c"
        {
#line 14546 "robdd.c"
          mercury__robdd__TypeInfo_19_19 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14548 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_19_19, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_18_18));
#line 14550 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_19_19, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_17));
#line 14552 "robdd.c"
        }
#line 14554 "robdd.c"
        {
#line 14556 "robdd.c"
          mercury__robdd__TypeInfo_21_21 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14558 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_21_21, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_20_20));
#line 14560 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_21_21, 1) = ((MR_Box) (mercury__robdd__TypeInfo_19_19));
#line 14562 "robdd.c"
        }
#line 226 "robdd.m"
        {
#line 226 "robdd.m"
          mercury__tree234____Compare____tree234_2_0(mercury__robdd__TypeInfo_19_19, mercury__robdd__TypeInfo_21_21, &mercury__robdd__V_12_12, (MR_Word) mercury__robdd__V_4_4, (MR_Word) mercury__robdd__V_8_8);
        }
#line 14569 "robdd.c"
        mercury__robdd__succeeded = (mercury__robdd__V_12_12 == (MR_Integer) 0);
#line 226 "robdd.m"
        mercury__robdd__succeeded = !(mercury__robdd__succeeded);
#line 226 "robdd.m"
        if (mercury__robdd__succeeded)
#line 226 "robdd.m"
          *mercury__robdd__HeadVar__1_1 = mercury__robdd__V_12_12;
#line 226 "robdd.m"
        else
#line 226 "robdd.m"
          {
#line 226 "robdd.m"
            MR_Word mercury__robdd__V_13_13;
#line 226 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_24_24 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 226 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_25_25;
#line 226 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_26_26 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 226 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_27_27;

#line 14592 "robdd.c"
            {
#line 14594 "robdd.c"
              mercury__robdd__TypeInfo_25_25 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14596 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_25_25, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_24_24));
#line 14598 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_25_25, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_17));
#line 14600 "robdd.c"
            }
#line 14602 "robdd.c"
            {
#line 14604 "robdd.c"
              mercury__robdd__TypeInfo_27_27 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14606 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_27_27, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_26_26));
#line 14608 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_27_27, 1) = ((MR_Box) (mercury__robdd__TypeInfo_25_25));
#line 14610 "robdd.c"
            }
#line 226 "robdd.m"
            {
#line 226 "robdd.m"
              mercury__tree234____Compare____tree234_2_0(mercury__robdd__TypeInfo_25_25, mercury__robdd__TypeInfo_27_27, &mercury__robdd__V_13_13, (MR_Word) mercury__robdd__V_5_5, (MR_Word) mercury__robdd__V_9_9);
            }
#line 14617 "robdd.c"
            mercury__robdd__succeeded = (mercury__robdd__V_13_13 == (MR_Integer) 0);
#line 226 "robdd.m"
            mercury__robdd__succeeded = !(mercury__robdd__succeeded);
#line 226 "robdd.m"
            if (mercury__robdd__succeeded)
#line 226 "robdd.m"
              *mercury__robdd__HeadVar__1_1 = mercury__robdd__V_13_13;
#line 226 "robdd.m"
            else
#line 226 "robdd.m"
              {
#line 226 "robdd.m"
                MR_Word mercury__robdd__V_14_14;
#line 226 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_30_30 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 226 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_31_31;
#line 226 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_32_32 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 226 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_33_33;

#line 14640 "robdd.c"
                {
#line 14642 "robdd.c"
                  mercury__robdd__TypeInfo_31_31 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14644 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_31_31, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_30_30));
#line 14646 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_31_31, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_17));
#line 14648 "robdd.c"
                }
#line 14650 "robdd.c"
                {
#line 14652 "robdd.c"
                  mercury__robdd__TypeInfo_33_33 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14654 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_33_33, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_32_32));
#line 14656 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_33_33, 1) = ((MR_Box) (mercury__robdd__TypeInfo_31_31));
#line 14658 "robdd.c"
                }
#line 226 "robdd.m"
                {
#line 226 "robdd.m"
                  mercury__tree234____Compare____tree234_2_0(mercury__robdd__TypeInfo_31_31, mercury__robdd__TypeInfo_33_33, &mercury__robdd__V_14_14, (MR_Word) mercury__robdd__V_6_6, (MR_Word) mercury__robdd__V_10_10);
                }
#line 14665 "robdd.c"
                mercury__robdd__succeeded = (mercury__robdd__V_14_14 == (MR_Integer) 0);
#line 226 "robdd.m"
                mercury__robdd__succeeded = !(mercury__robdd__succeeded);
#line 226 "robdd.m"
                if (mercury__robdd__succeeded)
#line 226 "robdd.m"
                  *mercury__robdd__HeadVar__1_1 = mercury__robdd__V_14_14;
#line 226 "robdd.m"
                else
#line 226 "robdd.m"
                  {
#line 226 "robdd.m"
                    MR_Word mercury__robdd__TypeCtorInfo_36_36 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 226 "robdd.m"
                    MR_Word mercury__robdd__TypeInfo_37_37;
#line 226 "robdd.m"
                    MR_Word mercury__robdd__TypeCtorInfo_38_38;
#line 226 "robdd.m"
                    MR_Word mercury__robdd__TypeInfo_39_39;

#line 14686 "robdd.c"
                    {
#line 14688 "robdd.c"
                      mercury__robdd__TypeInfo_37_37 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14690 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_37_37, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_36_36));
#line 14692 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_37_37, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_17));
#line 14694 "robdd.c"
                    }
#line 14696 "robdd.c"
                    mercury__robdd__TypeCtorInfo_38_38 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 14698 "robdd.c"
                    {
#line 14700 "robdd.c"
                      mercury__robdd__TypeInfo_39_39 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14702 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_39_39, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_38_38));
#line 14704 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_39_39, 1) = ((MR_Box) (mercury__robdd__TypeInfo_37_37));
#line 14706 "robdd.c"
                    }
#line 226 "robdd.m"
                    {
#line 226 "robdd.m"
                      mercury__tree234____Compare____tree234_2_0(mercury__robdd__TypeInfo_37_37, mercury__robdd__TypeInfo_39_39, mercury__robdd__HeadVar__1_1, (MR_Word) mercury__robdd__V_7_7, (MR_Word) mercury__robdd__V_11_11);
#line 226 "robdd.m"
                      return;
                    }
#line 226 "robdd.m"
                  }
#line 226 "robdd.m"
              }
#line 226 "robdd.m"
          }
#line 226 "robdd.m"
      }
#line 226 "robdd.m"
  }
#line 226 "robdd.m"
}

#line 226 "robdd.m"
MR_bool MR_CALL 
mercury__robdd____Unify____imp_vars_1_0(
#line 226 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_13,
#line 226 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 226 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 226 "robdd.m"
{
#line 226 "robdd.m"
  {
#line 226 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 226 "robdd.m"
    MR_Integer mercury__robdd__CastX_11 = (MR_Integer) mercury__robdd__HeadVar__1_1;
#line 226 "robdd.m"
    MR_Integer mercury__robdd__CastY_12 = (MR_Integer) mercury__robdd__HeadVar__2_2;

#line 226 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_11 == mercury__robdd__CastY_12);
#line 226 "robdd.m"
    if (mercury__robdd__succeeded)
#line 226 "robdd.m"
      mercury__robdd__succeeded = MR_TRUE;
#line 226 "robdd.m"
    else
#line 226 "robdd.m"
      {
#line 226 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_14_14 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 226 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_16_16 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 226 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_33_33;
#line 226 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_35_35;
#line 226 "robdd.m"
        MR_Word mercury__robdd__V_3_3 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__1_1, (MR_Integer) 0)));
#line 226 "robdd.m"
        MR_Word mercury__robdd__V_4_4 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__1_1, (MR_Integer) 1)));
#line 226 "robdd.m"
        MR_Word mercury__robdd__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__1_1, (MR_Integer) 2)));
#line 226 "robdd.m"
        MR_Word mercury__robdd__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__1_1, (MR_Integer) 3)));
#line 226 "robdd.m"
        MR_Word mercury__robdd__V_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 226 "robdd.m"
        MR_Word mercury__robdd__V_8_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));
#line 226 "robdd.m"
        MR_Word mercury__robdd__V_9_9 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, (MR_Integer) 2)));
#line 226 "robdd.m"
        MR_Word mercury__robdd__V_10_10 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, (MR_Integer) 3)));

#line 14783 "robdd.c"
        {
#line 14785 "robdd.c"
          mercury__robdd__TypeInfo_33_33 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14787 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_33_33, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_14_14));
#line 14789 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_33_33, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_13));
#line 14791 "robdd.c"
        }
#line 14793 "robdd.c"
        {
#line 14795 "robdd.c"
          mercury__robdd__TypeInfo_35_35 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14797 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_35_35, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_16_16));
#line 14799 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_35_35, 1) = ((MR_Box) (mercury__robdd__TypeInfo_33_33));
#line 14801 "robdd.c"
        }
#line 14803 "robdd.c"
        {
#line 14805 "robdd.c"
          mercury__robdd__succeeded = mercury__tree234____Unify____tree234_2_0(mercury__robdd__TypeInfo_33_33, mercury__robdd__TypeInfo_35_35, (MR_Word) mercury__robdd__V_3_3, (MR_Word) mercury__robdd__V_7_7);
        }
#line 226 "robdd.m"
        if (mercury__robdd__succeeded)
#line 226 "robdd.m"
          {
#line 14812 "robdd.c"
            {
#line 14814 "robdd.c"
              mercury__robdd__succeeded = mercury__tree234____Unify____tree234_2_0(mercury__robdd__TypeInfo_33_33, mercury__robdd__TypeInfo_35_35, (MR_Word) mercury__robdd__V_4_4, (MR_Word) mercury__robdd__V_8_8);
            }
#line 226 "robdd.m"
            if (mercury__robdd__succeeded)
#line 226 "robdd.m"
              {
#line 14821 "robdd.c"
                {
#line 14823 "robdd.c"
                  mercury__robdd__succeeded = mercury__tree234____Unify____tree234_2_0(mercury__robdd__TypeInfo_33_33, mercury__robdd__TypeInfo_35_35, (MR_Word) mercury__robdd__V_5_5, (MR_Word) mercury__robdd__V_9_9);
                }
#line 226 "robdd.m"
                if (mercury__robdd__succeeded)
#line 14828 "robdd.c"
                  {
#line 14830 "robdd.c"
                    return mercury__robdd__succeeded = mercury__tree234____Unify____tree234_2_0(mercury__robdd__TypeInfo_33_33, mercury__robdd__TypeInfo_35_35, (MR_Word) mercury__robdd__V_6_6, (MR_Word) mercury__robdd__V_10_10);
                  }
#line 226 "robdd.m"
              }
#line 226 "robdd.m"
          }
#line 226 "robdd.m"
      }
#line 226 "robdd.m"
    return mercury__robdd__succeeded;
#line 226 "robdd.m"
  }
#line 226 "robdd.m"
}

#line 700 "robdd.m"
void MR_CALL 
mercury__robdd____Compare____imp_res_2_1_0(
#line 700 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_8,
#line 700 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__1_1,
#line 700 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 700 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 700 "robdd.m"
{
#line 700 "robdd.m"
  {
#line 700 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 700 "robdd.m"
    MR_Integer mercury__robdd__CastX_6 = (MR_Integer) mercury__robdd__HeadVar__2_2;
#line 700 "robdd.m"
    MR_Integer mercury__robdd__CastY_7 = (MR_Integer) mercury__robdd__HeadVar__3_3;

#line 700 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_6 == mercury__robdd__CastY_7);
#line 700 "robdd.m"
    if (mercury__robdd__succeeded)
#line 14872 "robdd.c"
      *mercury__robdd__HeadVar__1_1 = (MR_Integer) 0;
#line 700 "robdd.m"
    else
#line 700 "robdd.m"
      {
#line 700 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_9_9 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 700 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_10_10;
#line 700 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_11_11;
#line 700 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_12_12;
#line 700 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_13_13;
#line 700 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_14_14;
#line 700 "robdd.m"
        MR_Word mercury__robdd__V_4_4 = (MR_Word) mercury__robdd__HeadVar__2_2;
#line 700 "robdd.m"
        MR_Word mercury__robdd__V_5_5 = (MR_Word) mercury__robdd__HeadVar__3_3;

#line 14895 "robdd.c"
        {
#line 14897 "robdd.c"
          mercury__robdd__TypeInfo_10_10 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14899 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_10_10, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_9_9));
#line 14901 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_10_10, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_8));
#line 14903 "robdd.c"
        }
#line 14905 "robdd.c"
        mercury__robdd__TypeCtorInfo_13_13 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_entailment_result_1;
#line 14907 "robdd.c"
        mercury__robdd__TypeCtorInfo_11_11 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 14909 "robdd.c"
        {
#line 14911 "robdd.c"
          mercury__robdd__TypeInfo_12_12 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14913 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_12_12, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_11_11));
#line 14915 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_12_12, 1) = ((MR_Box) (mercury__robdd__TypeInfo_10_10));
#line 14917 "robdd.c"
        }
#line 14919 "robdd.c"
        {
#line 14921 "robdd.c"
          mercury__robdd__TypeInfo_14_14 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14923 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_14_14, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_13_13));
#line 14925 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_14_14, 1) = ((MR_Box) (mercury__robdd__TypeInfo_12_12));
#line 14927 "robdd.c"
        }
#line 700 "robdd.m"
        {
#line 700 "robdd.m"
          mercury__tree234____Compare____tree234_2_0(mercury__robdd__TypeInfo_10_10, mercury__robdd__TypeInfo_14_14, mercury__robdd__HeadVar__1_1, (MR_Word) mercury__robdd__V_4_4, (MR_Word) mercury__robdd__V_5_5);
#line 700 "robdd.m"
          return;
        }
#line 700 "robdd.m"
      }
#line 700 "robdd.m"
  }
#line 700 "robdd.m"
}

#line 700 "robdd.m"
MR_bool MR_CALL 
mercury__robdd____Unify____imp_res_2_1_0(
#line 700 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_7,
#line 700 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 700 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 700 "robdd.m"
{
#line 700 "robdd.m"
  {
#line 700 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 700 "robdd.m"
    MR_Integer mercury__robdd__CastX_5 = (MR_Integer) mercury__robdd__HeadVar__1_1;
#line 700 "robdd.m"
    MR_Integer mercury__robdd__CastY_6 = (MR_Integer) mercury__robdd__HeadVar__2_2;

#line 700 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_5 == mercury__robdd__CastY_6);
#line 700 "robdd.m"
    if (mercury__robdd__succeeded)
#line 700 "robdd.m"
      mercury__robdd__succeeded = MR_TRUE;
#line 700 "robdd.m"
    else
#line 700 "robdd.m"
      {
#line 700 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_8_8 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 700 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_9_9;
#line 700 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_10_10 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 700 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_11_11;
#line 700 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_12_12 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_entailment_result_1;
#line 700 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_13_13;
#line 700 "robdd.m"
        MR_Word mercury__robdd__V_3_3 = (MR_Word) mercury__robdd__HeadVar__1_1;
#line 700 "robdd.m"
        MR_Word mercury__robdd__V_4_4 = (MR_Word) mercury__robdd__HeadVar__2_2;

#line 14990 "robdd.c"
        {
#line 14992 "robdd.c"
          mercury__robdd__TypeInfo_9_9 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 14994 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_9_9, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_8_8));
#line 14996 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_9_9, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_7));
#line 14998 "robdd.c"
        }
#line 15000 "robdd.c"
        {
#line 15002 "robdd.c"
          mercury__robdd__TypeInfo_11_11 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 15004 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_11_11, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_10_10));
#line 15006 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_11_11, 1) = ((MR_Box) (mercury__robdd__TypeInfo_9_9));
#line 15008 "robdd.c"
        }
#line 15010 "robdd.c"
        {
#line 15012 "robdd.c"
          mercury__robdd__TypeInfo_13_13 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 15014 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_13_13, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_12_12));
#line 15016 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_13_13, 1) = ((MR_Box) (mercury__robdd__TypeInfo_11_11));
#line 15018 "robdd.c"
        }
#line 15020 "robdd.c"
        {
#line 15022 "robdd.c"
          return mercury__robdd__succeeded = mercury__tree234____Unify____tree234_2_0(mercury__robdd__TypeInfo_9_9, mercury__robdd__TypeInfo_13_13, (MR_Word) mercury__robdd__V_3_3, (MR_Word) mercury__robdd__V_4_4);
        }
#line 700 "robdd.m"
      }
#line 700 "robdd.m"
    return mercury__robdd__succeeded;
#line 700 "robdd.m"
  }
#line 700 "robdd.m"
}

#line 699 "robdd.m"
void MR_CALL 
mercury__robdd____Compare____imp_res_1_0(
#line 699 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_6,
#line 699 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__1_1,
#line 699 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 699 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 699 "robdd.m"
{
#line 699 "robdd.m"
  {
#line 699 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 699 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_7_7 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_imp_res_2_1;
#line 699 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_8_8;
#line 699 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_4 = mercury__robdd__HeadVar__2_2;
#line 699 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_5 = mercury__robdd__HeadVar__3_3;

#line 15060 "robdd.c"
    {
#line 15062 "robdd.c"
      mercury__robdd__TypeInfo_8_8 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 15064 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_7_7));
#line 15066 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_6));
#line 15068 "robdd.c"
    }
#line 699 "robdd.m"
    {
#line 699 "robdd.m"
      mercury__robdd____Compare____entailment_result_1_0(mercury__robdd__TypeInfo_8_8, mercury__robdd__HeadVar__1_1, (MR_Word) mercury__robdd__Cast_HeadVar1_4, (MR_Word) mercury__robdd__Cast_HeadVar2_5);
#line 699 "robdd.m"
      return;
    }
#line 699 "robdd.m"
  }
#line 699 "robdd.m"
}

#line 699 "robdd.m"
MR_bool MR_CALL 
mercury__robdd____Unify____imp_res_1_0(
#line 699 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_5,
#line 699 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 699 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 699 "robdd.m"
{
#line 699 "robdd.m"
  {
#line 699 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 699 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_6_6 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_imp_res_2_1;
#line 699 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_7_7;
#line 699 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_3 = mercury__robdd__HeadVar__1_1;
#line 699 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_4 = mercury__robdd__HeadVar__2_2;

#line 15106 "robdd.c"
    {
#line 15108 "robdd.c"
      mercury__robdd__TypeInfo_7_7 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 15110 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_7_7, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_6_6));
#line 15112 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_7_7, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_5));
#line 15114 "robdd.c"
    }
#line 699 "robdd.m"
    {
#line 699 "robdd.m"
      return mercury__robdd__succeeded = mercury__robdd____Unify____entailment_result_1_0(mercury__robdd__TypeInfo_7_7, (MR_Word) mercury__robdd__Cast_HeadVar1_3, (MR_Word) mercury__robdd__Cast_HeadVar2_4);
    }
#line 699 "robdd.m"
    return mercury__robdd__succeeded;
#line 699 "robdd.m"
  }
#line 699 "robdd.m"
}

#line 224 "robdd.m"
void MR_CALL 
mercury__robdd____Compare____imp_map_1_0(
#line 224 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_6,
#line 224 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__1_1,
#line 224 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 224 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 224 "robdd.m"
{
#line 224 "robdd.m"
  {
#line 224 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 224 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_7_7 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 224 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_8_8;
#line 224 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_9_9;
#line 224 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_10_10;
#line 224 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_4 = mercury__robdd__HeadVar__2_2;
#line 224 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_5 = mercury__robdd__HeadVar__3_3;

#line 15158 "robdd.c"
    {
#line 15160 "robdd.c"
      mercury__robdd__TypeInfo_8_8 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 15162 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_7_7));
#line 15164 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_6));
#line 15166 "robdd.c"
    }
#line 15168 "robdd.c"
    mercury__robdd__TypeCtorInfo_9_9 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 15170 "robdd.c"
    {
#line 15172 "robdd.c"
      mercury__robdd__TypeInfo_10_10 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 15174 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_10_10, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_9_9));
#line 15176 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_10_10, 1) = ((MR_Box) (mercury__robdd__TypeInfo_8_8));
#line 15178 "robdd.c"
    }
#line 224 "robdd.m"
    {
#line 224 "robdd.m"
      mercury__tree234____Compare____tree234_2_0(mercury__robdd__TypeInfo_8_8, mercury__robdd__TypeInfo_10_10, mercury__robdd__HeadVar__1_1, (MR_Word) mercury__robdd__Cast_HeadVar1_4, (MR_Word) mercury__robdd__Cast_HeadVar2_5);
#line 224 "robdd.m"
      return;
    }
#line 224 "robdd.m"
  }
#line 224 "robdd.m"
}

#line 224 "robdd.m"
MR_bool MR_CALL 
mercury__robdd____Unify____imp_map_1_0(
#line 224 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_5,
#line 224 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 224 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 224 "robdd.m"
{
#line 224 "robdd.m"
  {
#line 224 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 224 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_6_6 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 224 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_7_7;
#line 224 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_8_8 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 224 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_9_9;
#line 224 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_3 = mercury__robdd__HeadVar__1_1;
#line 224 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_4 = mercury__robdd__HeadVar__2_2;

#line 15220 "robdd.c"
    {
#line 15222 "robdd.c"
      mercury__robdd__TypeInfo_7_7 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 15224 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_7_7, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_6_6));
#line 15226 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_7_7, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_5));
#line 15228 "robdd.c"
    }
#line 15230 "robdd.c"
    {
#line 15232 "robdd.c"
      mercury__robdd__TypeInfo_9_9 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 15234 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_9_9, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_8_8));
#line 15236 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_9_9, 1) = ((MR_Box) (mercury__robdd__TypeInfo_7_7));
#line 15238 "robdd.c"
    }
#line 224 "robdd.m"
    {
#line 224 "robdd.m"
      return mercury__robdd__succeeded = mercury__tree234____Unify____tree234_2_0(mercury__robdd__TypeInfo_7_7, mercury__robdd__TypeInfo_9_9, (MR_Word) mercury__robdd__Cast_HeadVar1_3, (MR_Word) mercury__robdd__Cast_HeadVar2_4);
    }
#line 224 "robdd.m"
    return mercury__robdd__succeeded;
#line 224 "robdd.m"
  }
#line 224 "robdd.m"
}

#line 211 "robdd.m"
void MR_CALL 
mercury__robdd____Compare____equivalent_result_1_0(
#line 211 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_6,
#line 211 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__1_1,
#line 211 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 211 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 211 "robdd.m"
{
#line 211 "robdd.m"
  {
#line 211 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 211 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_7_7 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_equiv_vars_1;
#line 211 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_8_8;
#line 211 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_4 = mercury__robdd__HeadVar__2_2;
#line 211 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_5 = mercury__robdd__HeadVar__3_3;

#line 15278 "robdd.c"
    {
#line 15280 "robdd.c"
      mercury__robdd__TypeInfo_8_8 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 15282 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_7_7));
#line 15284 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_6));
#line 15286 "robdd.c"
    }
#line 211 "robdd.m"
    {
#line 211 "robdd.m"
      mercury__robdd____Compare____entailment_result_1_0(mercury__robdd__TypeInfo_8_8, mercury__robdd__HeadVar__1_1, (MR_Word) mercury__robdd__Cast_HeadVar1_4, (MR_Word) mercury__robdd__Cast_HeadVar2_5);
#line 211 "robdd.m"
      return;
    }
#line 211 "robdd.m"
  }
#line 211 "robdd.m"
}

#line 211 "robdd.m"
MR_bool MR_CALL 
mercury__robdd____Unify____equivalent_result_1_0(
#line 211 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_5,
#line 211 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 211 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 211 "robdd.m"
{
#line 211 "robdd.m"
  {
#line 211 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 211 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_6_6 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_equiv_vars_1;
#line 211 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_7_7;
#line 211 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar1_3 = mercury__robdd__HeadVar__1_1;
#line 211 "robdd.m"
    MR_Word mercury__robdd__Cast_HeadVar2_4 = mercury__robdd__HeadVar__2_2;

#line 15324 "robdd.c"
    {
#line 15326 "robdd.c"
      mercury__robdd__TypeInfo_7_7 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 15328 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_7_7, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_6_6));
#line 15330 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_7_7, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_5));
#line 15332 "robdd.c"
    }
#line 211 "robdd.m"
    {
#line 211 "robdd.m"
      return mercury__robdd__succeeded = mercury__robdd____Unify____entailment_result_1_0(mercury__robdd__TypeInfo_7_7, (MR_Word) mercury__robdd__Cast_HeadVar1_3, (MR_Word) mercury__robdd__Cast_HeadVar2_4);
    }
#line 211 "robdd.m"
    return mercury__robdd__succeeded;
#line 211 "robdd.m"
  }
#line 211 "robdd.m"
}

#line 206 "robdd.m"
void MR_CALL 
mercury__robdd____Compare____equiv_vars_1_0(
#line 206 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_8,
#line 206 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__1_1,
#line 206 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 206 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 206 "robdd.m"
{
#line 206 "robdd.m"
  {
#line 206 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 206 "robdd.m"
    MR_Integer mercury__robdd__CastX_6 = (MR_Integer) mercury__robdd__HeadVar__2_2;
#line 206 "robdd.m"
    MR_Integer mercury__robdd__CastY_7 = (MR_Integer) mercury__robdd__HeadVar__3_3;

#line 206 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_6 == mercury__robdd__CastY_7);
#line 206 "robdd.m"
    if (mercury__robdd__succeeded)
#line 15372 "robdd.c"
      *mercury__robdd__HeadVar__1_1 = (MR_Integer) 0;
#line 206 "robdd.m"
    else
#line 206 "robdd.m"
      {
#line 206 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_9_9 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 206 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_10_10;
#line 206 "robdd.m"
        MR_Word mercury__robdd__V_4_4 = (MR_Word) mercury__robdd__HeadVar__2_2;
#line 206 "robdd.m"
        MR_Word mercury__robdd__V_5_5 = (MR_Word) mercury__robdd__HeadVar__3_3;

#line 15387 "robdd.c"
        {
#line 15389 "robdd.c"
          mercury__robdd__TypeInfo_10_10 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 15391 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_10_10, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_9_9));
#line 15393 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_10_10, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_8));
#line 15395 "robdd.c"
        }
#line 206 "robdd.m"
        {
#line 206 "robdd.m"
          mercury__tree234____Compare____tree234_2_0(mercury__robdd__TypeInfo_10_10, mercury__robdd__TypeInfo_10_10, mercury__robdd__HeadVar__1_1, (MR_Word) mercury__robdd__V_4_4, (MR_Word) mercury__robdd__V_5_5);
#line 206 "robdd.m"
          return;
        }
#line 206 "robdd.m"
      }
#line 206 "robdd.m"
  }
#line 206 "robdd.m"
}

#line 206 "robdd.m"
MR_bool MR_CALL 
mercury__robdd____Unify____equiv_vars_1_0(
#line 206 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_7,
#line 206 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 206 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 206 "robdd.m"
{
#line 206 "robdd.m"
  {
#line 206 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 206 "robdd.m"
    MR_Integer mercury__robdd__CastX_5 = (MR_Integer) mercury__robdd__HeadVar__1_1;
#line 206 "robdd.m"
    MR_Integer mercury__robdd__CastY_6 = (MR_Integer) mercury__robdd__HeadVar__2_2;

#line 206 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_5 == mercury__robdd__CastY_6);
#line 206 "robdd.m"
    if (mercury__robdd__succeeded)
#line 206 "robdd.m"
      mercury__robdd__succeeded = MR_TRUE;
#line 206 "robdd.m"
    else
#line 206 "robdd.m"
      {
#line 206 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_8_8 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 206 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_9_9;
#line 206 "robdd.m"
        MR_Word mercury__robdd__V_3_3 = (MR_Word) mercury__robdd__HeadVar__1_1;
#line 206 "robdd.m"
        MR_Word mercury__robdd__V_4_4 = (MR_Word) mercury__robdd__HeadVar__2_2;

#line 15450 "robdd.c"
        {
#line 15452 "robdd.c"
          mercury__robdd__TypeInfo_9_9 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 15454 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_9_9, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_8_8));
#line 15456 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_9_9, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_7));
#line 15458 "robdd.c"
        }
#line 15460 "robdd.c"
        {
#line 15462 "robdd.c"
          return mercury__robdd__succeeded = mercury__tree234____Unify____tree234_2_0(mercury__robdd__TypeInfo_9_9, mercury__robdd__TypeInfo_9_9, (MR_Word) mercury__robdd__V_3_3, (MR_Word) mercury__robdd__V_4_4);
        }
#line 206 "robdd.m"
      }
#line 206 "robdd.m"
    return mercury__robdd__succeeded;
#line 206 "robdd.m"
  }
#line 206 "robdd.m"
}

#line 174 "robdd.m"
void MR_CALL 
mercury__robdd____Compare____entailment_result_1_0(
#line 174 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_10,
#line 174 "robdd.m"
  MR_Word * mercury__robdd__HeadVar__1_1,
#line 174 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 174 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 174 "robdd.m"
{
#line 174 "robdd.m"
  {
#line 174 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 174 "robdd.m"
    MR_Integer mercury__robdd__CastX_8 = (MR_Integer) mercury__robdd__HeadVar__2_2;
#line 174 "robdd.m"
    MR_Integer mercury__robdd__CastY_9 = (MR_Integer) mercury__robdd__HeadVar__3_3;

#line 174 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_8 == mercury__robdd__CastY_9);
#line 174 "robdd.m"
    if (mercury__robdd__succeeded)
#line 15500 "robdd.c"
      *mercury__robdd__HeadVar__1_1 = (MR_Integer) 0;
#line 174 "robdd.m"
    else
#line 174 "robdd.m"
      if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 174 "robdd.m"
        if ((mercury__robdd__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 174 "robdd.m"
          *mercury__robdd__HeadVar__1_1 = (MR_Integer) 0;
#line 174 "robdd.m"
        else
#line 15512 "robdd.c"
          *mercury__robdd__HeadVar__1_1 = (MR_Integer) 1;
#line 174 "robdd.m"
      else
#line 174 "robdd.m"
        {
#line 174 "robdd.m"
          MR_Box mercury__robdd__V_11_11 = (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0));

#line 174 "robdd.m"
          if ((mercury__robdd__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 15523 "robdd.c"
            *mercury__robdd__HeadVar__1_1 = (MR_Integer) 2;
#line 174 "robdd.m"
          else
#line 174 "robdd.m"
            {
#line 174 "robdd.m"
              MR_Box mercury__robdd__V_7_7 = (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__3_3, (MR_Integer) 0));

#line 174 "robdd.m"
              {
#line 174 "robdd.m"
                mercury__builtin__compare_3_p_0(mercury__robdd__TypeInfo_for_T_10, mercury__robdd__HeadVar__1_1, mercury__robdd__V_11_11, mercury__robdd__V_7_7);
#line 174 "robdd.m"
                return;
              }
#line 174 "robdd.m"
            }
#line 174 "robdd.m"
        }
#line 174 "robdd.m"
  }
#line 174 "robdd.m"
}

#line 174 "robdd.m"
MR_bool MR_CALL 
mercury__robdd____Unify____entailment_result_1_0(
#line 174 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_9,
#line 174 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 174 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 174 "robdd.m"
{
#line 174 "robdd.m"
  {
#line 174 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 174 "robdd.m"
    MR_Integer mercury__robdd__CastX_7 = (MR_Integer) mercury__robdd__HeadVar__1_1;
#line 174 "robdd.m"
    MR_Integer mercury__robdd__CastY_8 = (MR_Integer) mercury__robdd__HeadVar__2_2;

#line 174 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_7 == mercury__robdd__CastY_8);
#line 174 "robdd.m"
    if (mercury__robdd__succeeded)
#line 174 "robdd.m"
      mercury__robdd__succeeded = MR_TRUE;
#line 174 "robdd.m"
    else
#line 174 "robdd.m"
      if ((mercury__robdd__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 174 "robdd.m"
        {
#line 174 "robdd.m"
          MR_Integer mercury__robdd__CastX_3 = (MR_Integer) mercury__robdd__HeadVar__1_1;
#line 174 "robdd.m"
          MR_Integer mercury__robdd__CastY_4 = (MR_Integer) mercury__robdd__HeadVar__2_2;

#line 174 "robdd.m"
          mercury__robdd__succeeded = (mercury__robdd__CastY_4 == mercury__robdd__CastX_3);
#line 174 "robdd.m"
        }
#line 174 "robdd.m"
      else
#line 174 "robdd.m"
        {
#line 174 "robdd.m"
          MR_Box mercury__robdd__V_5_5 = (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__1_1, (MR_Integer) 0));
#line 174 "robdd.m"
          MR_Box mercury__robdd__V_6_6;

#line 174 "robdd.m"
          mercury__robdd__succeeded = ((MR_tag((MR_Word) mercury__robdd__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 174 "robdd.m"
          if (mercury__robdd__succeeded)
#line 174 "robdd.m"
            {
#line 174 "robdd.m"
              mercury__robdd__V_6_6 = (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0));
#line 15606 "robdd.c"
              {
#line 15608 "robdd.c"
                return mercury__robdd__succeeded = mercury__builtin__unify_2_p_0(mercury__robdd__TypeInfo_for_T_9, mercury__robdd__V_5_5, mercury__robdd__V_6_6);
              }
#line 174 "robdd.m"
            }
#line 174 "robdd.m"
        }
#line 174 "robdd.m"
    return mercury__robdd__succeeded;
#line 174 "robdd.m"
  }
#line 174 "robdd.m"
}

#line 1576 "robdd.m"
static MR_bool MR_CALL 
mercury__robdd__minimal_model_2_6_p_0(
#line 1576 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_21,
#line 1576 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 1576 "robdd.m"
  MR_Word mercury__robdd__R0_2,
#line 1576 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 1576 "robdd.m"
  MR_Word * mercury__robdd__TrueVars_4,
#line 1576 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_5,
#line 1576 "robdd.m"
  MR_Word * mercury__robdd__FalseVars_6)
#line 1576 "robdd.m"
{
#line 1579 "robdd.m"
  while (MR_TRUE)
#line 1579 "robdd.m"
    {
#line 1579 "robdd.m"
      /* tailcall optimized into a loop */
#line 1579 "robdd.m"
      {
#line 1579 "robdd.m"
        MR_bool mercury__robdd__succeeded;

#line 1579 "robdd.m"
        if ((mercury__robdd__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1579 "robdd.m"
          {
#line 1579 "robdd.m"
            *mercury__robdd__TrueVars_4 = mercury__robdd__HeadVar__3_3;
#line 1579 "robdd.m"
            *mercury__robdd__FalseVars_6 = mercury__robdd__HeadVar__5_5;
#line 1579 "robdd.m"
            mercury__robdd__succeeded = MR_TRUE;
#line 1579 "robdd.m"
          }
#line 1579 "robdd.m"
        else
#line 1580 "robdd.m"
          {
#line 1580 "robdd.m"
            MR_Word mercury__robdd__V_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__1_1, (MR_Integer) 0)));
#line 1580 "robdd.m"
            MR_Word mercury__robdd__Vs_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__1_1, (MR_Integer) 1)));
#line 1580 "robdd.m"
            MR_Word mercury__robdd__R1_17;
#line 1582 "robdd.m"
            MR_Word mercury__robdd__V_30_30;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__CastX_34;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__CastY_35;

#line 1581 "robdd.m"
            {
#line 1581 "robdd.m"
              mercury__robdd__R1_17 = mercury__robdd__var_restrict_false_2_f_0(mercury__robdd__TypeInfo_for_T_21, mercury__robdd__V_10, mercury__robdd__R0_2);
            }
#line 1582 "robdd.m"
            {
#line 1582 "robdd.m"
              mercury__robdd__V_30_30 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_21);
            }
#line 419 "robdd.m"
            mercury__robdd__CastX_34 = (MR_Integer) mercury__robdd__R1_17;
#line 419 "robdd.m"
            mercury__robdd__CastY_35 = (MR_Integer) mercury__robdd__V_30_30;
#line 419 "robdd.m"
            mercury__robdd__succeeded = (mercury__robdd__CastX_34 == mercury__robdd__CastY_35);
#line 419 "robdd.m"
            if (mercury__robdd__succeeded)
#line 419 "robdd.m"
              mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
            else
#line 419 "robdd.m"
              {
#line 419 "robdd.m"
                MR_Integer mercury__robdd__V_32_32 = (MR_Integer) mercury__robdd__R1_17;
#line 419 "robdd.m"
                MR_Integer mercury__robdd__V_33_33 = (MR_Integer) mercury__robdd__V_30_30;

#line 15710 "robdd.c"
                mercury__robdd__succeeded = (mercury__robdd__V_32_32 == mercury__robdd__V_33_33);
#line 419 "robdd.m"
              }
#line 1582 "robdd.m"
            mercury__robdd__succeeded = !(mercury__robdd__succeeded);
#line 1585 "robdd.m"
            if (mercury__robdd__succeeded)
#line 1583 "robdd.m"
              {
#line 1583 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_22_22 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1583 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_23_23;
#line 1583 "robdd.m"
                MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_24 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 1583 "robdd.m"
                MR_Word mercury__robdd__TypeClassInfo_for_enum_25;
#line 1583 "robdd.m"
                MR_Word mercury__robdd__V_19_19;
#line 1583 "robdd.m"
                MR_Word mercury__robdd__Set0_6_42 = (MR_Word) mercury__robdd__HeadVar__5_5;
#line 1583 "robdd.m"
                MR_Integer mercury__robdd__V_9_44;
#line 1583 "robdd.m"
                MR_Word mercury__robdd__Set_5_45;
#line 15736 "robdd.c"
                MR_Box MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box);
#line 15738 "robdd.c"
                MR_Box mercury__robdd__conv1_V_9_44;

#line 15741 "robdd.c"
                {
#line 15743 "robdd.c"
                  mercury__robdd__TypeInfo_23_23 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 15745 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_23_23, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_22_22));
#line 15747 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_23_23, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_21));
#line 15749 "robdd.c"
                }
#line 15751 "robdd.c"
                {
#line 15753 "robdd.c"
                  mercury__robdd__TypeClassInfo_for_enum_25 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 15755 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_25, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_24));
#line 15757 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_25, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_21));
#line 15759 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_25, 2) = ((MR_Box) (mercury__robdd__TypeInfo_23_23));
#line 15761 "robdd.c"
                }
#line 15763 "robdd.c"
                mercury__robdd__func_0 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_25, (MR_Integer) 0)), (MR_Integer) 5)));
#line 15765 "robdd.c"
                {
#line 15767 "robdd.c"
                  mercury__robdd__conv1_V_9_44 = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_25), ((MR_Box) (mercury__robdd__V_10)));
                }
#line 15770 "robdd.c"
                mercury__robdd__V_9_44 = ((MR_Integer) mercury__robdd__conv1_V_9_44);
#line 170 "sparse_bitset.opt"
                {
#line 170 "sparse_bitset.opt"
                  mercury__sparse_bitset__insert_2_3_p_0(mercury__robdd__Set0_6_42, mercury__robdd__V_9_44, &mercury__robdd__Set_5_45);
                }
#line 171 "sparse_bitset.opt"
                mercury__robdd__V_19_19 = (MR_Word) mercury__robdd__Set_5_45;
#line 1583 "robdd.m"
                /* direct tailcall eliminated */
#line 1583 "robdd.m"
                {
#line 1583 "robdd.m"
                  MR_Word mercury__robdd__HeadVar__1__tmp_copy_1 = mercury__robdd__Vs_11;
#line 1583 "robdd.m"
                  MR_Word mercury__robdd__R0__tmp_copy_2 = mercury__robdd__R1_17;
#line 1583 "robdd.m"
                  MR_Word mercury__robdd__HeadVar__5__tmp_copy_5 = mercury__robdd__V_19_19;

#line 1583 "robdd.m"
                  mercury__robdd__HeadVar__5_5 = mercury__robdd__HeadVar__5__tmp_copy_5;
#line 1583 "robdd.m"
                  mercury__robdd__R0_2 = mercury__robdd__R0__tmp_copy_2;
#line 1583 "robdd.m"
                  mercury__robdd__HeadVar__1_1 = mercury__robdd__HeadVar__1__tmp_copy_1;
#line 1583 "robdd.m"
                }
#line 1583 "robdd.m"
                continue;
#line 1583 "robdd.m"
              }
#line 1585 "robdd.m"
            else
#line 1586 "robdd.m"
              {
#line 1586 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_26_26;
#line 1586 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_27_27;
#line 1586 "robdd.m"
                MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_28;
#line 1586 "robdd.m"
                MR_Word mercury__robdd__TypeClassInfo_for_enum_29;
#line 1586 "robdd.m"
                MR_Word mercury__robdd__R2_18;
#line 1586 "robdd.m"
                MR_Word mercury__robdd__V_20_20;
#line 1586 "robdd.m"
                MR_Word mercury__robdd__Set0_6_56;
#line 1586 "robdd.m"
                MR_Integer mercury__robdd__V_9_58;
#line 1586 "robdd.m"
                MR_Word mercury__robdd__Set_5_59;
#line 1587 "robdd.m"
                MR_Word mercury__robdd__V_31_31;
#line 419 "robdd.m"
                MR_Integer mercury__robdd__CastX_48;
#line 419 "robdd.m"
                MR_Integer mercury__robdd__CastY_49;
#line 15830 "robdd.c"
                MR_Box MR_CALL (* mercury__robdd__func_2)(MR_Box, MR_Box);
#line 15832 "robdd.c"
                MR_Box mercury__robdd__conv3_V_9_58;

#line 1586 "robdd.m"
                {
#line 1586 "robdd.m"
                  mercury__robdd__R2_18 = mercury__robdd__var_restrict_true_2_f_0(mercury__robdd__TypeInfo_for_T_21, mercury__robdd__V_10, mercury__robdd__R0_2);
                }
#line 1587 "robdd.m"
                {
#line 1587 "robdd.m"
                  mercury__robdd__V_31_31 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_21);
                }
#line 419 "robdd.m"
                mercury__robdd__CastX_48 = (MR_Integer) mercury__robdd__R2_18;
#line 419 "robdd.m"
                mercury__robdd__CastY_49 = (MR_Integer) mercury__robdd__V_31_31;
#line 419 "robdd.m"
                mercury__robdd__succeeded = (mercury__robdd__CastX_48 == mercury__robdd__CastY_49);
#line 419 "robdd.m"
                if (mercury__robdd__succeeded)
#line 419 "robdd.m"
                  mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
                else
#line 419 "robdd.m"
                  {
#line 419 "robdd.m"
                    MR_Integer mercury__robdd__V_46_46 = (MR_Integer) mercury__robdd__R2_18;
#line 419 "robdd.m"
                    MR_Integer mercury__robdd__V_47_47 = (MR_Integer) mercury__robdd__V_31_31;

#line 15864 "robdd.c"
                    mercury__robdd__succeeded = (mercury__robdd__V_46_46 == mercury__robdd__V_47_47);
#line 419 "robdd.m"
                  }
#line 1587 "robdd.m"
                mercury__robdd__succeeded = !(mercury__robdd__succeeded);
#line 1586 "robdd.m"
                if (mercury__robdd__succeeded)
#line 1586 "robdd.m"
                  {
#line 15874 "robdd.c"
                    mercury__robdd__BaseTypeClassInfo_for_enum_28 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 15876 "robdd.c"
                    mercury__robdd__TypeCtorInfo_26_26 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 168 "sparse_bitset.opt"
                    mercury__robdd__Set0_6_56 = (MR_Word) mercury__robdd__HeadVar__3_3;
#line 15880 "robdd.c"
                    {
#line 15882 "robdd.c"
                      mercury__robdd__TypeInfo_27_27 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 15884 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_27_27, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_26_26));
#line 15886 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_27_27, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_21));
#line 15888 "robdd.c"
                    }
#line 15890 "robdd.c"
                    {
#line 15892 "robdd.c"
                      mercury__robdd__TypeClassInfo_for_enum_29 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 15894 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_29, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_28));
#line 15896 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_29, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_21));
#line 15898 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_29, 2) = ((MR_Box) (mercury__robdd__TypeInfo_27_27));
#line 15900 "robdd.c"
                    }
#line 15902 "robdd.c"
                    mercury__robdd__func_2 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_29, (MR_Integer) 0)), (MR_Integer) 5)));
#line 15904 "robdd.c"
                    {
#line 15906 "robdd.c"
                      mercury__robdd__conv3_V_9_58 = mercury__robdd__func_2(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_29), ((MR_Box) (mercury__robdd__V_10)));
                    }
#line 15909 "robdd.c"
                    mercury__robdd__V_9_58 = ((MR_Integer) mercury__robdd__conv3_V_9_58);
#line 170 "sparse_bitset.opt"
                    {
#line 170 "sparse_bitset.opt"
                      mercury__sparse_bitset__insert_2_3_p_0(mercury__robdd__Set0_6_56, mercury__robdd__V_9_58, &mercury__robdd__Set_5_59);
                    }
#line 171 "sparse_bitset.opt"
                    mercury__robdd__V_20_20 = (MR_Word) mercury__robdd__Set_5_59;
#line 1588 "robdd.m"
                    /* direct tailcall eliminated */
#line 1588 "robdd.m"
                    {
#line 1588 "robdd.m"
                      MR_Word mercury__robdd__HeadVar__1__tmp_copy_1 = mercury__robdd__Vs_11;
#line 1588 "robdd.m"
                      MR_Word mercury__robdd__R0__tmp_copy_2 = mercury__robdd__R2_18;
#line 1588 "robdd.m"
                      MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__V_20_20;

#line 1588 "robdd.m"
                      mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 1588 "robdd.m"
                      mercury__robdd__R0_2 = mercury__robdd__R0__tmp_copy_2;
#line 1588 "robdd.m"
                      mercury__robdd__HeadVar__1_1 = mercury__robdd__HeadVar__1__tmp_copy_1;
#line 1588 "robdd.m"
                    }
#line 1588 "robdd.m"
                    continue;
#line 1586 "robdd.m"
                  }
#line 1586 "robdd.m"
              }
#line 1580 "robdd.m"
          }
#line 1579 "robdd.m"
        return mercury__robdd__succeeded;
#line 1579 "robdd.m"
      }
#line 1579 "robdd.m"
      break;
#line 1579 "robdd.m"
    }
#line 1576 "robdd.m"
}

#line 1547 "robdd.m"
void MR_CALL 
mercury__robdd__labelling_2_6_p_0(
#line 1547 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_28,
#line 1547 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 1547 "robdd.m"
  MR_Word mercury__robdd__R0_2,
#line 1547 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 1547 "robdd.m"
  MR_Word * mercury__robdd__TrueVars_4,
#line 1547 "robdd.m"
  MR_Word mercury__robdd__HeadVar__5_5,
#line 1547 "robdd.m"
  MR_Word * mercury__robdd__FalseVars_6,
#line 1547 "robdd.m"
  MR_Cont mercury__robdd__cont,
#line 1547 "robdd.m"
  void * mercury__robdd__cont_env_ptr)
#line 1547 "robdd.m"
{
#line 1550 "robdd.m"
  while (MR_TRUE)
#line 1550 "robdd.m"
    {
#line 1550 "robdd.m"
      /* tailcall optimized into a loop */
#line 1550 "robdd.m"
      {
#line 1550 "robdd.m"
        MR_bool mercury__robdd__succeeded;

#line 1550 "robdd.m"
        if ((mercury__robdd__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1550 "robdd.m"
          {
#line 1550 "robdd.m"
            *mercury__robdd__TrueVars_4 = mercury__robdd__HeadVar__3_3;
#line 1550 "robdd.m"
            *mercury__robdd__FalseVars_6 = mercury__robdd__HeadVar__5_5;
#line 1550 "robdd.m"
            {
#line 1550 "robdd.m"
              mercury__robdd__cont(mercury__robdd__cont_env_ptr);
#line 1550 "robdd.m"
              return;
            }
#line 1550 "robdd.m"
          }
#line 1550 "robdd.m"
        else
#line 1550 "robdd.m"
          {
#line 1550 "robdd.m"
            MR_Word mercury__robdd__V_39_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__1_1, (MR_Integer) 1)));
#line 1550 "robdd.m"
            MR_Word mercury__robdd__V_40_40 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__1_1, (MR_Integer) 0)));

#line 1551 "robdd.m"
            {
#line 1551 "robdd.m"
              MR_Word mercury__robdd__TypeCtorInfo_29_29;
#line 1551 "robdd.m"
              MR_Word mercury__robdd__TypeInfo_30_30;
#line 1551 "robdd.m"
              MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_31;
#line 1551 "robdd.m"
              MR_Word mercury__robdd__TypeClassInfo_for_enum_32;
#line 1551 "robdd.m"
              MR_Word mercury__robdd__R_17;
#line 1551 "robdd.m"
              MR_Word mercury__robdd__V_18_18;
#line 1551 "robdd.m"
              MR_Word mercury__robdd__Set0_6_51;
#line 1551 "robdd.m"
              MR_Integer mercury__robdd__V_9_53;
#line 1551 "robdd.m"
              MR_Word mercury__robdd__Set_5_54;
#line 1553 "robdd.m"
              MR_Word mercury__robdd__V_37_37;
#line 419 "robdd.m"
              MR_Integer mercury__robdd__CastX_43;
#line 419 "robdd.m"
              MR_Integer mercury__robdd__CastY_44;
#line 16042 "robdd.c"
              MR_Box MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box);
#line 16044 "robdd.c"
              MR_Box mercury__robdd__conv1_V_9_53;

#line 1552 "robdd.m"
              {
#line 1552 "robdd.m"
                mercury__robdd__R_17 = mercury__robdd__var_restrict_false_2_f_0(mercury__robdd__TypeInfo_for_T_28, mercury__robdd__V_40_40, mercury__robdd__R0_2);
              }
#line 1553 "robdd.m"
              {
#line 1553 "robdd.m"
                mercury__robdd__V_37_37 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_28);
              }
#line 419 "robdd.m"
              mercury__robdd__CastX_43 = (MR_Integer) mercury__robdd__R_17;
#line 419 "robdd.m"
              mercury__robdd__CastY_44 = (MR_Integer) mercury__robdd__V_37_37;
#line 419 "robdd.m"
              mercury__robdd__succeeded = (mercury__robdd__CastX_43 == mercury__robdd__CastY_44);
#line 419 "robdd.m"
              if (mercury__robdd__succeeded)
#line 419 "robdd.m"
                mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
              else
#line 419 "robdd.m"
                {
#line 419 "robdd.m"
                  MR_Integer mercury__robdd__V_41_41 = (MR_Integer) mercury__robdd__R_17;
#line 419 "robdd.m"
                  MR_Integer mercury__robdd__V_42_42 = (MR_Integer) mercury__robdd__V_37_37;

#line 16076 "robdd.c"
                  mercury__robdd__succeeded = (mercury__robdd__V_41_41 == mercury__robdd__V_42_42);
#line 419 "robdd.m"
                }
#line 1553 "robdd.m"
              mercury__robdd__succeeded = !(mercury__robdd__succeeded);
#line 1551 "robdd.m"
              if (mercury__robdd__succeeded)
#line 1551 "robdd.m"
                {
#line 16086 "robdd.c"
                  mercury__robdd__BaseTypeClassInfo_for_enum_31 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 16088 "robdd.c"
                  mercury__robdd__TypeCtorInfo_29_29 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 168 "sparse_bitset.opt"
                  mercury__robdd__Set0_6_51 = (MR_Word) mercury__robdd__HeadVar__5_5;
#line 16092 "robdd.c"
                  {
#line 16094 "robdd.c"
                    mercury__robdd__TypeInfo_30_30 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 16096 "robdd.c"
                    MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_30_30, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_29_29));
#line 16098 "robdd.c"
                    MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_30_30, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_28));
#line 16100 "robdd.c"
                  }
#line 16102 "robdd.c"
                  {
#line 16104 "robdd.c"
                    mercury__robdd__TypeClassInfo_for_enum_32 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 16106 "robdd.c"
                    MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_32, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_31));
#line 16108 "robdd.c"
                    MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_32, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_28));
#line 16110 "robdd.c"
                    MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_32, 2) = ((MR_Box) (mercury__robdd__TypeInfo_30_30));
#line 16112 "robdd.c"
                  }
#line 16114 "robdd.c"
                  mercury__robdd__func_0 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_32, (MR_Integer) 0)), (MR_Integer) 5)));
#line 16116 "robdd.c"
                  {
#line 16118 "robdd.c"
                    mercury__robdd__conv1_V_9_53 = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_32), ((MR_Box) (mercury__robdd__V_40_40)));
                  }
#line 16121 "robdd.c"
                  mercury__robdd__V_9_53 = ((MR_Integer) mercury__robdd__conv1_V_9_53);
#line 170 "sparse_bitset.opt"
                  {
#line 170 "sparse_bitset.opt"
                    mercury__sparse_bitset__insert_2_3_p_0(mercury__robdd__Set0_6_51, mercury__robdd__V_9_53, &mercury__robdd__Set_5_54);
                  }
#line 171 "sparse_bitset.opt"
                  mercury__robdd__V_18_18 = (MR_Word) mercury__robdd__Set_5_54;
#line 1554 "robdd.m"
                  {
#line 1554 "robdd.m"
                    mercury__robdd__labelling_2_6_p_0(mercury__robdd__TypeInfo_for_T_28, mercury__robdd__V_39_39, mercury__robdd__R_17, mercury__robdd__HeadVar__3_3, mercury__robdd__TrueVars_4, mercury__robdd__V_18_18, mercury__robdd__FalseVars_6, mercury__robdd__cont, mercury__robdd__cont_env_ptr);
                  }
#line 1551 "robdd.m"
                }
#line 1551 "robdd.m"
            }
#line 1555 "robdd.m"
            {
#line 1555 "robdd.m"
              MR_Word mercury__robdd__TypeCtorInfo_33_33;
#line 1555 "robdd.m"
              MR_Word mercury__robdd__TypeInfo_34_34;
#line 1555 "robdd.m"
              MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_35;
#line 1555 "robdd.m"
              MR_Word mercury__robdd__TypeClassInfo_for_enum_36;
#line 1555 "robdd.m"
              MR_Word mercury__robdd__R_26;
#line 1555 "robdd.m"
              MR_Word mercury__robdd__V_27_27;
#line 1555 "robdd.m"
              MR_Word mercury__robdd__Set0_6_65;
#line 1555 "robdd.m"
              MR_Integer mercury__robdd__V_9_67;
#line 1555 "robdd.m"
              MR_Word mercury__robdd__Set_5_68;
#line 1557 "robdd.m"
              MR_Word mercury__robdd__V_38_38;
#line 419 "robdd.m"
              MR_Integer mercury__robdd__CastX_57;
#line 419 "robdd.m"
              MR_Integer mercury__robdd__CastY_58;
#line 16165 "robdd.c"
              MR_Box MR_CALL (* mercury__robdd__func_2)(MR_Box, MR_Box);
#line 16167 "robdd.c"
              MR_Box mercury__robdd__conv3_V_9_67;

#line 1556 "robdd.m"
              {
#line 1556 "robdd.m"
                mercury__robdd__R_26 = mercury__robdd__var_restrict_true_2_f_0(mercury__robdd__TypeInfo_for_T_28, mercury__robdd__V_40_40, mercury__robdd__R0_2);
              }
#line 1557 "robdd.m"
              {
#line 1557 "robdd.m"
                mercury__robdd__V_38_38 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_28);
              }
#line 419 "robdd.m"
              mercury__robdd__CastX_57 = (MR_Integer) mercury__robdd__R_26;
#line 419 "robdd.m"
              mercury__robdd__CastY_58 = (MR_Integer) mercury__robdd__V_38_38;
#line 419 "robdd.m"
              mercury__robdd__succeeded = (mercury__robdd__CastX_57 == mercury__robdd__CastY_58);
#line 419 "robdd.m"
              if (mercury__robdd__succeeded)
#line 419 "robdd.m"
                mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
              else
#line 419 "robdd.m"
                {
#line 419 "robdd.m"
                  MR_Integer mercury__robdd__V_55_55 = (MR_Integer) mercury__robdd__R_26;
#line 419 "robdd.m"
                  MR_Integer mercury__robdd__V_56_56 = (MR_Integer) mercury__robdd__V_38_38;

#line 16199 "robdd.c"
                  mercury__robdd__succeeded = (mercury__robdd__V_55_55 == mercury__robdd__V_56_56);
#line 419 "robdd.m"
                }
#line 1557 "robdd.m"
              mercury__robdd__succeeded = !(mercury__robdd__succeeded);
#line 1555 "robdd.m"
              if (mercury__robdd__succeeded)
#line 1555 "robdd.m"
                {
#line 16209 "robdd.c"
                  mercury__robdd__BaseTypeClassInfo_for_enum_35 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 16211 "robdd.c"
                  mercury__robdd__TypeCtorInfo_33_33 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 168 "sparse_bitset.opt"
                  mercury__robdd__Set0_6_65 = (MR_Word) mercury__robdd__HeadVar__3_3;
#line 16215 "robdd.c"
                  {
#line 16217 "robdd.c"
                    mercury__robdd__TypeInfo_34_34 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 16219 "robdd.c"
                    MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_34_34, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_33_33));
#line 16221 "robdd.c"
                    MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_34_34, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_28));
#line 16223 "robdd.c"
                  }
#line 16225 "robdd.c"
                  {
#line 16227 "robdd.c"
                    mercury__robdd__TypeClassInfo_for_enum_36 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 16229 "robdd.c"
                    MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_36, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_35));
#line 16231 "robdd.c"
                    MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_36, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_28));
#line 16233 "robdd.c"
                    MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_36, 2) = ((MR_Box) (mercury__robdd__TypeInfo_34_34));
#line 16235 "robdd.c"
                  }
#line 16237 "robdd.c"
                  mercury__robdd__func_2 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_36, (MR_Integer) 0)), (MR_Integer) 5)));
#line 16239 "robdd.c"
                  {
#line 16241 "robdd.c"
                    mercury__robdd__conv3_V_9_67 = mercury__robdd__func_2(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_36), ((MR_Box) (mercury__robdd__V_40_40)));
                  }
#line 16244 "robdd.c"
                  mercury__robdd__V_9_67 = ((MR_Integer) mercury__robdd__conv3_V_9_67);
#line 170 "sparse_bitset.opt"
                  {
#line 170 "sparse_bitset.opt"
                    mercury__sparse_bitset__insert_2_3_p_0(mercury__robdd__Set0_6_65, mercury__robdd__V_9_67, &mercury__robdd__Set_5_68);
                  }
#line 171 "sparse_bitset.opt"
                  mercury__robdd__V_27_27 = (MR_Word) mercury__robdd__Set_5_68;
#line 1558 "robdd.m"
                  /* direct tailcall eliminated */
#line 1558 "robdd.m"
                  {
#line 1558 "robdd.m"
                    MR_Word mercury__robdd__HeadVar__1__tmp_copy_1 = mercury__robdd__V_39_39;
#line 1558 "robdd.m"
                    MR_Word mercury__robdd__R0__tmp_copy_2 = mercury__robdd__R_26;
#line 1558 "robdd.m"
                    MR_Word mercury__robdd__HeadVar__3__tmp_copy_3 = mercury__robdd__V_27_27;

#line 1558 "robdd.m"
                    mercury__robdd__HeadVar__3_3 = mercury__robdd__HeadVar__3__tmp_copy_3;
#line 1558 "robdd.m"
                    mercury__robdd__R0_2 = mercury__robdd__R0__tmp_copy_2;
#line 1558 "robdd.m"
                    mercury__robdd__HeadVar__1_1 = mercury__robdd__HeadVar__1__tmp_copy_1;
#line 1558 "robdd.m"
                  }
#line 1558 "robdd.m"
                  continue;
#line 1555 "robdd.m"
                }
#line 1555 "robdd.m"
            }
#line 1550 "robdd.m"
          }
#line 1550 "robdd.m"
      }
#line 1550 "robdd.m"
      break;
#line 1550 "robdd.m"
    }
#line 1547 "robdd.m"
}

#line 1531 "robdd.m"
void MR_CALL 
mercury__robdd__write_edge_5_p_0(
#line 1531 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_26,
#line 1531 "robdd.m"
  MR_Word mercury__robdd__R0_6,
#line 1531 "robdd.m"
  MR_Word mercury__robdd__R1_7,
#line 1531 "robdd.m"
  MR_Word mercury__robdd__Arc_8)
#line 1531 "robdd.m"
{
#line 1537 "robdd.m"
  {
#line 1537 "robdd.m"
    MR_bool mercury__robdd__succeeded;

#line 1535 "robdd.m"
    {
#line 1535 "robdd.m"
      mercury__robdd__succeeded = mercury__robdd__is_terminal_1_p_0(mercury__robdd__TypeInfo_for_T_26, mercury__robdd__R1_7);
    }
#line 1537 "robdd.m"
    if (mercury__robdd__succeeded)
#line 1536 "robdd.m"
      {
#line 1536 "robdd.m"
      }
#line 1537 "robdd.m"
    else
#line 1538 "robdd.m"
      {
#line 1538 "robdd.m"
        MR_String mercury__robdd__V_15_15;
#line 1538 "robdd.m"
        MR_String mercury__robdd__V_18_18;
#line 1538 "robdd.m"
        MR_String mercury__robdd__V_21_21;
#line 1538 "robdd.m"
        MR_String mercury__robdd__V_24_24;
#line 1538 "robdd.m"
        MR_String mercury__robdd__V_28_28;
#line 1538 "robdd.m"
        MR_String mercury__robdd__V_30_30;
#line 1538 "robdd.m"
        MR_String mercury__robdd__V_31_31;
#line 1538 "robdd.m"
        MR_String mercury__robdd__V_33_33;
#line 1538 "robdd.m"
        MR_String mercury__robdd__V_34_34;
#line 1538 "robdd.m"
        MR_String mercury__robdd__V_36_36;
#line 1538 "robdd.m"
        MR_String mercury__robdd__V_37_37;
#line 1538 "robdd.m"
        MR_String mercury__robdd__V_39_39;

#line 1539 "robdd.m"
        {
#line 1539 "robdd.m"
          mercury__robdd__V_15_15 = mercury__robdd__node_name_1_f_0(mercury__robdd__TypeInfo_for_T_26, mercury__robdd__R0_6);
        }
#line 1539 "robdd.m"
        mercury__robdd__succeeded = (mercury__robdd__Arc_8 == (MR_Integer) 1);
#line 1539 "robdd.m"
        if (mercury__robdd__succeeded)
#line 1539 "robdd.m"
          mercury__robdd__V_18_18 = (MR_String) "f0";
#line 1539 "robdd.m"
        else
#line 1539 "robdd.m"
          mercury__robdd__V_18_18 = (MR_String) "f2";
#line 1540 "robdd.m"
        {
#line 1540 "robdd.m"
          mercury__robdd__V_21_21 = mercury__robdd__node_name_1_f_0(mercury__robdd__TypeInfo_for_T_26, mercury__robdd__R1_7);
        }
#line 1540 "robdd.m"
        mercury__robdd__succeeded = (mercury__robdd__Arc_8 == (MR_Integer) 1);
#line 1540 "robdd.m"
        if (mercury__robdd__succeeded)
#line 1540 "robdd.m"
          mercury__robdd__V_24_24 = (MR_String) "t";
#line 1540 "robdd.m"
        else
#line 1540 "robdd.m"
          mercury__robdd__V_24_24 = (MR_String) "f";
#line 260 "string.opt"
        {
#line 260 "string.opt"
          mercury__string__append_3_p_2(mercury__robdd__V_24_24, (MR_String) "\"];\n", &mercury__robdd__V_28_28);
        }
#line 260 "string.opt"
        {
#line 260 "string.opt"
          mercury__string__append_3_p_2((MR_String) "\":f1 [label=\"", mercury__robdd__V_28_28, &mercury__robdd__V_30_30);
        }
#line 260 "string.opt"
        {
#line 260 "string.opt"
          mercury__string__append_3_p_2(mercury__robdd__V_21_21, mercury__robdd__V_30_30, &mercury__robdd__V_31_31);
        }
#line 260 "string.opt"
        {
#line 260 "string.opt"
          mercury__string__append_3_p_2((MR_String) " -> \"", mercury__robdd__V_31_31, &mercury__robdd__V_33_33);
        }
#line 260 "string.opt"
        {
#line 260 "string.opt"
          mercury__string__append_3_p_2(mercury__robdd__V_18_18, mercury__robdd__V_33_33, &mercury__robdd__V_34_34);
        }
#line 260 "string.opt"
        {
#line 260 "string.opt"
          mercury__string__append_3_p_2((MR_String) "\":", mercury__robdd__V_34_34, &mercury__robdd__V_36_36);
        }
#line 260 "string.opt"
        {
#line 260 "string.opt"
          mercury__string__append_3_p_2(mercury__robdd__V_15_15, mercury__robdd__V_36_36, &mercury__robdd__V_37_37);
        }
#line 260 "string.opt"
        {
#line 260 "string.opt"
          mercury__string__append_3_p_2((MR_String) "\"", mercury__robdd__V_37_37, &mercury__robdd__V_39_39);
        }
#line 521 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__write_edge_5_p_0

	MR_String Message;

	Message =  mercury__robdd__V_39_39 ;
		{
#line 521 "io.opt"

    mercury_print_string(mercury_current_text_output(), Message);

#line 16429 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 521 "io.opt"
}
#line 1538 "robdd.m"
      }
#line 1537 "robdd.m"
  }
#line 1531 "robdd.m"
}

#line 1520 "robdd.m"
MR_String MR_CALL 
mercury__robdd__terminal_name_1_f_0(
#line 1520 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_4,
#line 1520 "robdd.m"
  MR_Word mercury__robdd__R_3)
#line 1520 "robdd.m"
{
#line 1522 "robdd.m"
  {
#line 1522 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1522 "robdd.m"
    MR_String mercury__robdd__HeadVar__2_2;
#line 1523 "robdd.m"
    MR_Word mercury__robdd__V_5_5;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastX_9;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastY_10;

#line 1523 "robdd.m"
    {
#line 1523 "robdd.m"
      mercury__robdd__V_5_5 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_4);
    }
#line 419 "robdd.m"
    mercury__robdd__CastX_9 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
    mercury__robdd__CastY_10 = (MR_Integer) mercury__robdd__V_5_5;
#line 419 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_9 == mercury__robdd__CastY_10);
#line 419 "robdd.m"
    if (mercury__robdd__succeeded)
#line 419 "robdd.m"
      mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
    else
#line 419 "robdd.m"
      {
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_7_7 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_8_8 = (MR_Integer) mercury__robdd__V_5_5;

#line 16488 "robdd.c"
        mercury__robdd__succeeded = (mercury__robdd__V_7_7 == mercury__robdd__V_8_8);
#line 419 "robdd.m"
      }
#line 1522 "robdd.m"
    if (mercury__robdd__succeeded)
#line 1522 "robdd.m"
      mercury__robdd__HeadVar__2_2 = (MR_String) "0";
#line 1522 "robdd.m"
    else
#line 1522 "robdd.m"
      {
#line 1525 "robdd.m"
        MR_Word mercury__robdd__V_6_6;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastX_13;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastY_14;

#line 1525 "robdd.m"
        {
#line 1525 "robdd.m"
          mercury__robdd__V_6_6 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_4);
        }
#line 419 "robdd.m"
        mercury__robdd__CastX_13 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
        mercury__robdd__CastY_14 = (MR_Integer) mercury__robdd__V_6_6;
#line 419 "robdd.m"
        mercury__robdd__succeeded = (mercury__robdd__CastX_13 == mercury__robdd__CastY_14);
#line 419 "robdd.m"
        if (mercury__robdd__succeeded)
#line 419 "robdd.m"
          mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
        else
#line 419 "robdd.m"
          {
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_11_11 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_12_12 = (MR_Integer) mercury__robdd__V_6_6;

#line 16531 "robdd.c"
            mercury__robdd__succeeded = (mercury__robdd__V_11_11 == mercury__robdd__V_12_12);
#line 419 "robdd.m"
          }
#line 1522 "robdd.m"
        if (mercury__robdd__succeeded)
#line 1522 "robdd.m"
          mercury__robdd__HeadVar__2_2 = (MR_String) "1";
#line 1522 "robdd.m"
        else
#line 1522 "robdd.m"
          mercury__robdd__HeadVar__2_2 = (MR_String) "";
#line 1522 "robdd.m"
      }
#line 1522 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 1522 "robdd.m"
  }
#line 1520 "robdd.m"
}

#line 1512 "robdd.m"
static MR_Integer MR_CALL 
mercury__robdd__node_num_1_f_0(
#line 1512 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_3,
#line 1512 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1)
#line 1512 "robdd.m"
{
#line 1513 "robdd.m"
  {
#line 1513 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1513 "robdd.m"
    MR_Integer mercury__robdd__HeadVar__2_2;

#line 1513 "robdd.m"
    {
#line 1513 "robdd.m"
      return mercury__robdd__HeadVar__2_2 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_110_111_100_101_95_110_117_109_95_95_91_49_93_95_48_1_f_0(mercury__robdd__HeadVar__1_1);
    }
#line 1513 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 1513 "robdd.m"
  }
#line 1512 "robdd.m"
}

#line 1501 "robdd.m"
MR_String MR_CALL 
mercury__robdd__node_name_1_f_0(
#line 1501 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_9,
#line 1501 "robdd.m"
  MR_Word mercury__robdd__R_3)
#line 1501 "robdd.m"
{
#line 1503 "robdd.m"
  {
#line 1503 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1503 "robdd.m"
    MR_String mercury__robdd__HeadVar__2_2;
#line 1504 "robdd.m"
    MR_Word mercury__robdd__V_10_10;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastX_16;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastY_17;

#line 1504 "robdd.m"
    {
#line 1504 "robdd.m"
      mercury__robdd__V_10_10 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_9);
    }
#line 419 "robdd.m"
    mercury__robdd__CastX_16 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
    mercury__robdd__CastY_17 = (MR_Integer) mercury__robdd__V_10_10;
#line 419 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_16 == mercury__robdd__CastY_17);
#line 419 "robdd.m"
    if (mercury__robdd__succeeded)
#line 419 "robdd.m"
      mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
    else
#line 419 "robdd.m"
      {
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_14_14 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_15_15 = (MR_Integer) mercury__robdd__V_10_10;

#line 16626 "robdd.c"
        mercury__robdd__succeeded = (mercury__robdd__V_14_14 == mercury__robdd__V_15_15);
#line 419 "robdd.m"
      }
#line 1503 "robdd.m"
    if (mercury__robdd__succeeded)
#line 1503 "robdd.m"
      mercury__robdd__HeadVar__2_2 = (MR_String) "true";
#line 1503 "robdd.m"
    else
#line 1503 "robdd.m"
      {
#line 1506 "robdd.m"
        MR_Word mercury__robdd__V_11_11;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastX_20;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastY_21;

#line 1506 "robdd.m"
        {
#line 1506 "robdd.m"
          mercury__robdd__V_11_11 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_9);
        }
#line 419 "robdd.m"
        mercury__robdd__CastX_20 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
        mercury__robdd__CastY_21 = (MR_Integer) mercury__robdd__V_11_11;
#line 419 "robdd.m"
        mercury__robdd__succeeded = (mercury__robdd__CastX_20 == mercury__robdd__CastY_21);
#line 419 "robdd.m"
        if (mercury__robdd__succeeded)
#line 419 "robdd.m"
          mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
        else
#line 419 "robdd.m"
          {
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_18_18 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_19_19 = (MR_Integer) mercury__robdd__V_11_11;

#line 16669 "robdd.c"
            mercury__robdd__succeeded = (mercury__robdd__V_18_18 == mercury__robdd__V_19_19);
#line 419 "robdd.m"
          }
#line 1503 "robdd.m"
        if (mercury__robdd__succeeded)
#line 1503 "robdd.m"
          mercury__robdd__HeadVar__2_2 = (MR_String) "false";
#line 1503 "robdd.m"
        else
#line 1509 "robdd.m"
          {
#line 1509 "robdd.m"
            MR_Integer mercury__robdd__V_7_7;
#line 1509 "robdd.m"
            MR_String mercury__robdd__V_12_12;
#line 1513 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_for_T_33;

#line 1516 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__node_name_1_f_0

	MR_Word R;
	MR_Integer N;

	R =  mercury__robdd__R_3 ;
		{
#line 1516 "robdd.m"

    N = (MR_Integer) R;

#line 16701 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__V_7_7  = N;
#line 1516 "robdd.m"
}
#line 297 "string.opt"
            {
#line 297 "string.opt"
              mercury__string__int_to_base_string_3_p_0(mercury__robdd__V_7_7, (MR_Integer) 10, &mercury__robdd__V_12_12);
            }
#line 260 "string.opt"
            {
#line 260 "string.opt"
              mercury__string__append_3_p_2((MR_String) "node", mercury__robdd__V_12_12, &mercury__robdd__HeadVar__2_2);
            }
#line 1509 "robdd.m"
          }
#line 1503 "robdd.m"
      }
#line 1503 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 1503 "robdd.m"
  }
#line 1501 "robdd.m"
}

#line 1491 "robdd.m"
void MR_CALL 
mercury__robdd__write_node_4_p_0(
#line 1491 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_29,
#line 1491 "robdd.m"
  MR_Word mercury__robdd__R_5,
#line 1491 "robdd.m"
  MR_Word mercury__robdd__WV_6)
#line 1491 "robdd.m"
{
#line 1494 "robdd.m"
  {
#line 1494 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1494 "robdd.m"
    MR_String mercury__robdd__V_15_15;
#line 1494 "robdd.m"
    MR_String mercury__robdd__V_18_18;
#line 1494 "robdd.m"
    MR_Word mercury__robdd__V_19_19;
#line 1494 "robdd.m"
    MR_Word mercury__robdd__V_21_21;
#line 1494 "robdd.m"
    MR_String mercury__robdd__V_25_25;
#line 1494 "robdd.m"
    MR_Word mercury__robdd__V_26_26;
#line 1494 "robdd.m"
    MR_String mercury__robdd__V_31_31;
#line 1494 "robdd.m"
    MR_String mercury__robdd__V_33_33;
#line 1494 "robdd.m"
    MR_String mercury__robdd__V_34_34;
#line 1494 "robdd.m"
    MR_String mercury__robdd__V_36_36;
#line 1497 "robdd.m"
    void MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *);
#line 1497 "robdd.m"
    MR_Box mercury__robdd__conv1_DCG_2_9;

#line 1496 "robdd.m"
    {
#line 1496 "robdd.m"
      mercury__robdd__V_15_15 = mercury__robdd__node_name_1_f_0(mercury__robdd__TypeInfo_for_T_29, mercury__robdd__R_5);
    }
#line 1496 "robdd.m"
    {
#line 1496 "robdd.m"
      mercury__robdd__V_19_19 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_29, mercury__robdd__R_5);
    }
#line 1496 "robdd.m"
    {
#line 1496 "robdd.m"
      mercury__robdd__V_18_18 = mercury__robdd__terminal_name_1_f_0(mercury__robdd__TypeInfo_for_T_29, mercury__robdd__V_19_19);
    }
#line 260 "string.opt"
    {
#line 260 "string.opt"
      mercury__string__append_3_p_2(mercury__robdd__V_18_18, (MR_String) "|<f1> ", &mercury__robdd__V_31_31);
    }
#line 260 "string.opt"
    {
#line 260 "string.opt"
      mercury__string__append_3_p_2((MR_String) " [label=\"<f0> ", mercury__robdd__V_31_31, &mercury__robdd__V_33_33);
    }
#line 260 "string.opt"
    {
#line 260 "string.opt"
      mercury__string__append_3_p_2(mercury__robdd__V_15_15, mercury__robdd__V_33_33, &mercury__robdd__V_34_34);
    }
#line 521 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__write_node_4_p_0

	MR_String Message;

	Message =  mercury__robdd__V_34_34 ;
		{
#line 521 "io.opt"

    mercury_print_string(mercury_current_text_output(), Message);

#line 16811 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 521 "io.opt"
}
#line 1497 "robdd.m"
    {
#line 1497 "robdd.m"
      mercury__robdd__V_21_21 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_29, mercury__robdd__R_5);
    }
#line 1497 "robdd.m"
    mercury__robdd__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__robdd__WV_6, (MR_Integer) 1)));
#line 1497 "robdd.m"
    {
#line 1497 "robdd.m"
      mercury__robdd__func_0(((MR_Box) mercury__robdd__WV_6), ((MR_Box) (mercury__robdd__V_21_21)), ((MR_Box) ((MR_Integer) 0)), &mercury__robdd__conv1_DCG_2_9);
    }
#line 1498 "robdd.m"
    {
#line 1498 "robdd.m"
      mercury__robdd__V_26_26 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_29, mercury__robdd__R_5);
    }
#line 1498 "robdd.m"
    {
#line 1498 "robdd.m"
      mercury__robdd__V_25_25 = mercury__robdd__terminal_name_1_f_0(mercury__robdd__TypeInfo_for_T_29, mercury__robdd__V_26_26);
    }
#line 260 "string.opt"
    {
#line 260 "string.opt"
      mercury__string__append_3_p_2((MR_String) "|<f2> ", mercury__robdd__V_25_25, &mercury__robdd__V_36_36);
    }
#line 521 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__write_node_4_p_0

	MR_String Message;

	Message =  mercury__robdd__V_36_36 ;
		{
#line 521 "io.opt"

    mercury_print_string(mercury_current_text_output(), Message);

#line 16856 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 521 "io.opt"
}
#line 521 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__write_node_4_p_0

	MR_String Message;

	Message =  (MR_String) "\"];\n" ;
		{
#line 521 "io.opt"

    mercury_print_string(mercury_current_text_output(), Message);

#line 16874 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 521 "io.opt"
}
#line 1494 "robdd.m"
  }
#line 1491 "robdd.m"
}

#line 1468 "robdd.m"
void MR_CALL 
mercury__robdd__robdd_to_dot_2_8_p_0(
#line 1468 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_32,
#line 1468 "robdd.m"
  MR_Word mercury__robdd__Robdd_9,
#line 1468 "robdd.m"
  MR_Word mercury__robdd__WV_10,
#line 1468 "robdd.m"
  MR_Word mercury__robdd__Seen0_11,
#line 1468 "robdd.m"
  MR_Word * mercury__robdd__Seen_12,
#line 1468 "robdd.m"
  MR_Word mercury__robdd__Ranks0_13,
#line 1468 "robdd.m"
  MR_Word * mercury__robdd__Ranks_14)
#line 1468 "robdd.m"
{
#line 1478 "robdd.m"
  {
#line 1478 "robdd.m"
    MR_bool mercury__robdd__succeeded;

#line 1475 "robdd.m"
    {
#line 1475 "robdd.m"
      mercury__robdd__succeeded = mercury__robdd__is_terminal_1_p_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__Robdd_9);
    }
#line 1478 "robdd.m"
    if (mercury__robdd__succeeded)
#line 1478 "robdd.m"
      {
#line 1476 "robdd.m"
        *mercury__robdd__Seen_12 = mercury__robdd__Seen0_11;
#line 1477 "robdd.m"
        *mercury__robdd__Ranks_14 = mercury__robdd__Ranks0_13;
#line 1478 "robdd.m"
      }
#line 1478 "robdd.m"
    else
#line 1481 "robdd.m"
      {
#line 1478 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_33_33 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 1478 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_34_34;

#line 16933 "robdd.c"
        {
#line 16935 "robdd.c"
          mercury__robdd__TypeInfo_34_34 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 16937 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_34_34, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_33_33));
#line 16939 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_34_34, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_32));
#line 16941 "robdd.c"
        }
#line 1478 "robdd.m"
        {
#line 1478 "robdd.m"
          mercury__robdd__succeeded = mercury__set_bbbtree__member_2_p_0(mercury__robdd__TypeInfo_34_34, ((MR_Box) (mercury__robdd__Robdd_9)), (MR_Word) mercury__robdd__Seen0_11);
        }
#line 1481 "robdd.m"
        if (mercury__robdd__succeeded)
#line 1481 "robdd.m"
          {
#line 1479 "robdd.m"
            *mercury__robdd__Seen_12 = mercury__robdd__Seen0_11;
#line 1480 "robdd.m"
            *mercury__robdd__Ranks_14 = mercury__robdd__Ranks0_13;
#line 1481 "robdd.m"
          }
#line 1481 "robdd.m"
        else
#line 1482 "robdd.m"
          {
#line 1482 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_35_35;
#line 1482 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_36_36;
#line 1482 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_37_37;
#line 1482 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_38_38;
#line 1482 "robdd.m"
            MR_Word mercury__robdd__Seen1_15;
#line 1482 "robdd.m"
            MR_Word mercury__robdd__Ranks1_16;
#line 1482 "robdd.m"
            MR_Word mercury__robdd__Seen2_17;
#line 1482 "robdd.m"
            MR_Word mercury__robdd__Ranks2_18;
#line 1482 "robdd.m"
            MR_Word mercury__robdd__V_25_25;
#line 1482 "robdd.m"
            MR_Word mercury__robdd__V_26_26;
#line 1482 "robdd.m"
            MR_Word mercury__robdd__V_27_27;
#line 1482 "robdd.m"
            MR_Word mercury__robdd__V_29_29;
#line 1482 "robdd.m"
            MR_Word mercury__robdd__V_31_31;
#line 1482 "robdd.m"
            MR_Word mercury__robdd__STATE_VARIABLE_Set_9_9_46;
#line 66 "set_bbbtree.opt"
            MR_Word mercury__robdd__conv0_STATE_VARIABLE_Set_9_9_46;
#line 1488 "robdd.m"
            MR_Word mercury__robdd__conv1_Ranks_14;

#line 1482 "robdd.m"
            {
#line 1482 "robdd.m"
              mercury__robdd__V_25_25 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__Robdd_9);
            }
#line 1482 "robdd.m"
            {
#line 1482 "robdd.m"
              mercury__robdd__robdd_to_dot_2_8_p_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__V_25_25, mercury__robdd__WV_10, mercury__robdd__Seen0_11, &mercury__robdd__Seen1_15, mercury__robdd__Ranks0_13, &mercury__robdd__Ranks1_16);
            }
#line 1483 "robdd.m"
            {
#line 1483 "robdd.m"
              mercury__robdd__V_26_26 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__Robdd_9);
            }
#line 1483 "robdd.m"
            {
#line 1483 "robdd.m"
              mercury__robdd__robdd_to_dot_2_8_p_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__V_26_26, mercury__robdd__WV_10, mercury__robdd__Seen1_15, &mercury__robdd__Seen2_17, mercury__robdd__Ranks1_16, &mercury__robdd__Ranks2_18);
            }
#line 1484 "robdd.m"
            {
#line 1484 "robdd.m"
              mercury__robdd__write_node_4_p_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__Robdd_9, mercury__robdd__WV_10);
            }
#line 1485 "robdd.m"
            {
#line 1485 "robdd.m"
              mercury__robdd__V_27_27 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__Robdd_9);
            }
#line 1485 "robdd.m"
            {
#line 1485 "robdd.m"
              mercury__robdd__write_edge_5_p_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__Robdd_9, mercury__robdd__V_27_27, (MR_Integer) 1);
            }
#line 1486 "robdd.m"
            {
#line 1486 "robdd.m"
              mercury__robdd__V_29_29 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__Robdd_9);
            }
#line 1486 "robdd.m"
            {
#line 1486 "robdd.m"
              mercury__robdd__write_edge_5_p_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__Robdd_9, mercury__robdd__V_29_29, (MR_Integer) 0);
            }
#line 17040 "robdd.c"
            mercury__robdd__TypeCtorInfo_35_35 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 17042 "robdd.c"
            {
#line 17044 "robdd.c"
              mercury__robdd__TypeInfo_36_36 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 17046 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_36_36, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_35_35));
#line 17048 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_36_36, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_32));
#line 17050 "robdd.c"
            }
#line 66 "set_bbbtree.opt"
            {
#line 66 "set_bbbtree.opt"
              mercury__set_bbbtree__insert_r_4_p_0(mercury__robdd__TypeInfo_36_36, (MR_Word) mercury__robdd__Seen2_17, ((MR_Box) (mercury__robdd__Robdd_9)), &mercury__robdd__conv0_STATE_VARIABLE_Set_9_9_46, (MR_Integer) 5);
            }
#line 66 "set_bbbtree.opt"
            mercury__robdd__STATE_VARIABLE_Set_9_9_46 = (MR_Word) mercury__robdd__conv0_STATE_VARIABLE_Set_9_9_46;
#line 67 "set_bbbtree.opt"
            *mercury__robdd__Seen_12 = mercury__robdd__STATE_VARIABLE_Set_9_9_46;
#line 1488 "robdd.m"
            {
#line 1488 "robdd.m"
              mercury__robdd__V_31_31 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_32, mercury__robdd__Robdd_9);
            }
#line 17066 "robdd.c"
            mercury__robdd__TypeCtorInfo_37_37 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 17068 "robdd.c"
            {
#line 17070 "robdd.c"
              mercury__robdd__TypeInfo_38_38 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 17072 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_38_38, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_37_37));
#line 17074 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_38_38, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_32));
#line 17076 "robdd.c"
            }
#line 1488 "robdd.m"
            {
#line 1488 "robdd.m"
              mercury__multi_map__set_4_p_0(mercury__robdd__TypeInfo_38_38, mercury__robdd__TypeInfo_36_36, ((MR_Box) (mercury__robdd__V_31_31)), ((MR_Box) (mercury__robdd__Robdd_9)), (MR_Word) mercury__robdd__Ranks2_18, &mercury__robdd__conv1_Ranks_14);
            }
#line 1488 "robdd.m"
            *mercury__robdd__Ranks_14 = (MR_Word) mercury__robdd__conv1_Ranks_14;
#line 1482 "robdd.m"
          }
#line 1481 "robdd.m"
      }
#line 1478 "robdd.m"
  }
#line 1468 "robdd.m"
}

#line 1413 "robdd.m"
MR_bool MR_CALL 
mercury__robdd__vars_are_constrained_2_2_p_0(
#line 1413 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_13,
#line 1413 "robdd.m"
  MR_Word mercury__robdd__F_1,
#line 1413 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 1413 "robdd.m"
{
#line 1415 "robdd.m"
  while (MR_TRUE)
#line 1415 "robdd.m"
    {
#line 1415 "robdd.m"
      /* tailcall optimized into a loop */
#line 1415 "robdd.m"
      {
#line 1415 "robdd.m"
        MR_bool mercury__robdd__succeeded;

#line 1415 "robdd.m"
        if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1415 "robdd.m"
          mercury__robdd__succeeded = MR_TRUE;
#line 1415 "robdd.m"
        else
#line 1416 "robdd.m"
          {
#line 1416 "robdd.m"
            MR_Word mercury__robdd__V_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 1416 "robdd.m"
            MR_Word mercury__robdd__Vs1_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 1)));

#line 1418 "robdd.m"
            {
#line 1418 "robdd.m"
              mercury__robdd__succeeded = mercury__robdd__is_terminal_1_p_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__F_1);
            }
#line 1420 "robdd.m"
            if (mercury__robdd__succeeded)
#line 1419 "robdd.m"
              mercury__robdd__succeeded = MR_FALSE;
#line 1420 "robdd.m"
            else
#line 1421 "robdd.m"
              {
#line 1421 "robdd.m"
                MR_Word mercury__robdd__R_8;
#line 1421 "robdd.m"
                MR_Word mercury__robdd__Vs2_9;
#line 1421 "robdd.m"
                MR_Word mercury__robdd__V_10_10;
#line 1421 "robdd.m"
                MR_Integer mercury__robdd__V_16_16;
#line 1421 "robdd.m"
                MR_Integer mercury__robdd__V_17_17;

#line 1421 "robdd.m"
                {
#line 1421 "robdd.m"
                  mercury__robdd__V_10_10 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__F_1);
                }
#line 1421 "robdd.m"
                mercury__robdd__V_16_16 = (MR_Integer) mercury__robdd__V_10_10;
#line 1421 "robdd.m"
                mercury__robdd__V_17_17 = (MR_Integer) mercury__robdd__V_6;
#line 66 "private_builtin.opt"
                mercury__robdd__succeeded = (mercury__robdd__V_16_16 < mercury__robdd__V_17_17);
#line 69 "private_builtin.opt"
                if (mercury__robdd__succeeded)
#line 68 "private_builtin.opt"
                  mercury__robdd__R_8 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
                else
#line 74 "private_builtin.opt"
                  {
#line 71 "private_builtin.opt"
                    mercury__robdd__succeeded = (mercury__robdd__V_16_16 == mercury__robdd__V_17_17);
#line 74 "private_builtin.opt"
                    if (mercury__robdd__succeeded)
#line 73 "private_builtin.opt"
                      mercury__robdd__R_8 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
                    else
#line 75 "private_builtin.opt"
                      mercury__robdd__R_8 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
                  }
#line 1425 "robdd.m"
                if ((mercury__robdd__R_8 == (MR_Integer) 1))
#line 1424 "robdd.m"
                  {
#line 1424 "robdd.m"
                    mercury__robdd__Vs2_9 = mercury__robdd__HeadVar__2_2;
#line 1424 "robdd.m"
                    mercury__robdd__succeeded = MR_TRUE;
#line 1424 "robdd.m"
                  }
#line 1425 "robdd.m"
                else
#line 1425 "robdd.m"
                  if ((mercury__robdd__R_8 == (MR_Integer) 0))
#line 1427 "robdd.m"
                    {
#line 1427 "robdd.m"
                      mercury__robdd__Vs2_9 = mercury__robdd__Vs1_7;
#line 1427 "robdd.m"
                      mercury__robdd__succeeded = MR_TRUE;
#line 1427 "robdd.m"
                    }
#line 1425 "robdd.m"
                  else
#line 1425 "robdd.m"
                    mercury__robdd__succeeded = MR_FALSE;
#line 1421 "robdd.m"
                if (mercury__robdd__succeeded)
#line 1421 "robdd.m"
                  {
#line 1429 "robdd.m"
                    {
#line 1429 "robdd.m"
                      MR_Word mercury__robdd__V_12_12;

#line 1429 "robdd.m"
                      {
#line 1429 "robdd.m"
                        mercury__robdd__V_12_12 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__F_1);
                      }
#line 1429 "robdd.m"
                      {
#line 1429 "robdd.m"
                        mercury__robdd__succeeded = mercury__robdd__vars_are_constrained_2_2_p_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__V_12_12, mercury__robdd__Vs2_9);
                      }
#line 1429 "robdd.m"
                    }
#line 1430 "robdd.m"
                    if (!(mercury__robdd__succeeded))
#line 1430 "robdd.m"
                      {
#line 1430 "robdd.m"
                        MR_Word mercury__robdd__V_11_11;

#line 1430 "robdd.m"
                        {
#line 1430 "robdd.m"
                          mercury__robdd__V_11_11 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__F_1);
                        }
#line 1430 "robdd.m"
                        /* direct tailcall eliminated */
#line 1430 "robdd.m"
                        {
#line 1430 "robdd.m"
                          MR_Word mercury__robdd__F__tmp_copy_1 = mercury__robdd__V_11_11;
#line 1430 "robdd.m"
                          MR_Word mercury__robdd__HeadVar__2__tmp_copy_2 = mercury__robdd__Vs2_9;

#line 1430 "robdd.m"
                          mercury__robdd__HeadVar__2_2 = mercury__robdd__HeadVar__2__tmp_copy_2;
#line 1430 "robdd.m"
                          mercury__robdd__F_1 = mercury__robdd__F__tmp_copy_1;
#line 1430 "robdd.m"
                        }
#line 1430 "robdd.m"
                        continue;
#line 1430 "robdd.m"
                      }
#line 1421 "robdd.m"
                  }
#line 1421 "robdd.m"
              }
#line 1416 "robdd.m"
          }
#line 1415 "robdd.m"
        return mercury__robdd__succeeded;
#line 1415 "robdd.m"
      }
#line 1415 "robdd.m"
      break;
#line 1415 "robdd.m"
    }
#line 1413 "robdd.m"
}

#line 1376 "robdd.m"
static void MR_CALL 
mercury__robdd__size_2_8_p_0(
#line 1376 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_33,
#line 1376 "robdd.m"
  MR_Word mercury__robdd__F_9,
#line 1376 "robdd.m"
  MR_Integer mercury__robdd__Nodes0_10,
#line 1376 "robdd.m"
  MR_Integer * mercury__robdd__Nodes_11,
#line 1376 "robdd.m"
  MR_Integer mercury__robdd__Depth0_12,
#line 1376 "robdd.m"
  MR_Integer * mercury__robdd__Depth_13,
#line 1376 "robdd.m"
  MR_Integer mercury__robdd__Val0_14,
#line 1376 "robdd.m"
  MR_Word mercury__robdd__Seen0_15,
#line 1376 "robdd.m"
  MR_Word * mercury__robdd__Seen_16)
#line 1376 "robdd.m"
{
#line 1382 "robdd.m"
  {
#line 1382 "robdd.m"
    MR_bool mercury__robdd__succeeded;

#line 1380 "robdd.m"
    {
#line 1380 "robdd.m"
      mercury__robdd__succeeded = mercury__robdd__is_terminal_1_p_0(mercury__robdd__TypeInfo_for_T_33, mercury__robdd__F_9);
    }
#line 1382 "robdd.m"
    if (mercury__robdd__succeeded)
#line 1381 "robdd.m"
      {
#line 1381 "robdd.m"
        *mercury__robdd__Nodes_11 = mercury__robdd__Nodes0_10;
#line 1381 "robdd.m"
        *mercury__robdd__Depth_13 = mercury__robdd__Depth0_12;
#line 1381 "robdd.m"
        *mercury__robdd__Seen_16 = mercury__robdd__Seen0_15;
#line 1381 "robdd.m"
      }
#line 1382 "robdd.m"
    else
#line 1384 "robdd.m"
      {
#line 1382 "robdd.m"
        MR_Integer mercury__robdd__V_24_24;
#line 1382 "robdd.m"
        MR_Word mercury__robdd__V_25_25;

#line 1382 "robdd.m"
        {
#line 1382 "robdd.m"
          mercury__robdd__V_25_25 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_33, mercury__robdd__F_9);
        }
#line 107 "term.opt"
        mercury__robdd__V_24_24 = (MR_Integer) mercury__robdd__V_25_25;
#line 1382 "robdd.m"
        mercury__robdd__succeeded = (mercury__robdd__V_24_24 <= mercury__robdd__Val0_14);
#line 1384 "robdd.m"
        if (mercury__robdd__succeeded)
#line 1383 "robdd.m"
          {
#line 1383 "robdd.m"
            {
#line 1383 "robdd.m"
              mercury__require__error_1_p_0((MR_String) "robdd invariant broken (possible loop)");
#line 1383 "robdd.m"
              return;
            }
#line 1383 "robdd.m"
          }
#line 1384 "robdd.m"
        else
#line 1386 "robdd.m"
          {
#line 1384 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_34_34 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 1384 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_35_35;

#line 17364 "robdd.c"
            {
#line 17366 "robdd.c"
              mercury__robdd__TypeInfo_35_35 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 17368 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_35_35, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_34_34));
#line 17370 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_35_35, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_33));
#line 17372 "robdd.c"
            }
#line 1384 "robdd.m"
            {
#line 1384 "robdd.m"
              mercury__robdd__succeeded = mercury__set_bbbtree__member_2_p_0(mercury__robdd__TypeInfo_35_35, ((MR_Box) (mercury__robdd__F_9)), (MR_Word) mercury__robdd__Seen0_15);
            }
#line 1386 "robdd.m"
            if (mercury__robdd__succeeded)
#line 1385 "robdd.m"
              {
#line 1385 "robdd.m"
                *mercury__robdd__Nodes_11 = mercury__robdd__Nodes0_10;
#line 1385 "robdd.m"
                *mercury__robdd__Depth_13 = mercury__robdd__Depth0_12;
#line 1385 "robdd.m"
                *mercury__robdd__Seen_16 = mercury__robdd__Seen0_15;
#line 1385 "robdd.m"
              }
#line 1386 "robdd.m"
            else
#line 1387 "robdd.m"
              {
#line 1387 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_36_36;
#line 1387 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_37_37;
#line 1387 "robdd.m"
                MR_Integer mercury__robdd__Val_17;
#line 1387 "robdd.m"
                MR_Integer mercury__robdd__Nodes1_18;
#line 1387 "robdd.m"
                MR_Integer mercury__robdd__Depth1_19;
#line 1387 "robdd.m"
                MR_Word mercury__robdd__Seen1_20;
#line 1387 "robdd.m"
                MR_Integer mercury__robdd__Depth2_21;
#line 1387 "robdd.m"
                MR_Word mercury__robdd__Seen2_22;
#line 1387 "robdd.m"
                MR_Integer mercury__robdd__Max_23;
#line 1387 "robdd.m"
                MR_Word mercury__robdd__V_27_27;
#line 1387 "robdd.m"
                MR_Word mercury__robdd__V_28_28;
#line 1387 "robdd.m"
                MR_Integer mercury__robdd__V_29_29;
#line 1387 "robdd.m"
                MR_Word mercury__robdd__V_31_31;
#line 1387 "robdd.m"
                MR_Word mercury__robdd__STATE_VARIABLE_Set_9_9_54;
#line 66 "set_bbbtree.opt"
                MR_Word mercury__robdd__conv0_STATE_VARIABLE_Set_9_9_54;

#line 1387 "robdd.m"
                {
#line 1387 "robdd.m"
                  mercury__robdd__V_27_27 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_33, mercury__robdd__F_9);
                }
#line 107 "term.opt"
                mercury__robdd__Val_17 = (MR_Integer) mercury__robdd__V_27_27;
#line 1388 "robdd.m"
                {
#line 1388 "robdd.m"
                  mercury__robdd__V_28_28 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_33, mercury__robdd__F_9);
                }
#line 1388 "robdd.m"
                mercury__robdd__V_29_29 = (mercury__robdd__Nodes0_10 + (MR_Integer) 1);
#line 1388 "robdd.m"
                {
#line 1388 "robdd.m"
                  mercury__robdd__size_2_8_p_0(mercury__robdd__TypeInfo_for_T_33, mercury__robdd__V_28_28, mercury__robdd__V_29_29, &mercury__robdd__Nodes1_18, mercury__robdd__Depth0_12, &mercury__robdd__Depth1_19, mercury__robdd__Val_17, mercury__robdd__Seen0_15, &mercury__robdd__Seen1_20);
                }
#line 1389 "robdd.m"
                {
#line 1389 "robdd.m"
                  mercury__robdd__V_31_31 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_33, mercury__robdd__F_9);
                }
#line 1389 "robdd.m"
                {
#line 1389 "robdd.m"
                  mercury__robdd__size_2_8_p_0(mercury__robdd__TypeInfo_for_T_33, mercury__robdd__V_31_31, mercury__robdd__Nodes1_18, mercury__robdd__Nodes_11, mercury__robdd__Depth0_12, &mercury__robdd__Depth2_21, mercury__robdd__Val_17, mercury__robdd__Seen1_20, &mercury__robdd__Seen2_22);
                }
#line 75 "int.opt"
                mercury__robdd__succeeded = (mercury__robdd__Depth1_19 > mercury__robdd__Depth2_21);
#line 78 "int.opt"
                if (mercury__robdd__succeeded)
#line 77 "int.opt"
                  mercury__robdd__Max_23 = mercury__robdd__Depth1_19;
#line 78 "int.opt"
                else
#line 79 "int.opt"
                  mercury__robdd__Max_23 = mercury__robdd__Depth2_21;
#line 1391 "robdd.m"
                *mercury__robdd__Depth_13 = (mercury__robdd__Max_23 + (MR_Integer) 1);
#line 17467 "robdd.c"
                mercury__robdd__TypeCtorInfo_36_36 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 17469 "robdd.c"
                {
#line 17471 "robdd.c"
                  mercury__robdd__TypeInfo_37_37 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 17473 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_37_37, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_36_36));
#line 17475 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_37_37, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_33));
#line 17477 "robdd.c"
                }
#line 66 "set_bbbtree.opt"
                {
#line 66 "set_bbbtree.opt"
                  mercury__set_bbbtree__insert_r_4_p_0(mercury__robdd__TypeInfo_37_37, (MR_Word) mercury__robdd__Seen2_22, ((MR_Box) (mercury__robdd__F_9)), &mercury__robdd__conv0_STATE_VARIABLE_Set_9_9_54, (MR_Integer) 5);
                }
#line 66 "set_bbbtree.opt"
                mercury__robdd__STATE_VARIABLE_Set_9_9_54 = (MR_Word) mercury__robdd__conv0_STATE_VARIABLE_Set_9_9_54;
#line 67 "set_bbbtree.opt"
                *mercury__robdd__Seen_16 = mercury__robdd__STATE_VARIABLE_Set_9_9_54;
#line 1387 "robdd.m"
              }
#line 1386 "robdd.m"
          }
#line 1384 "robdd.m"
      }
#line 1382 "robdd.m"
  }
#line 1376 "robdd.m"
}

#line 1275 "robdd.m"
void MR_CALL 
mercury__robdd__add_equivalences_2_6_p_0(
#line 1275 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_84,
#line 1275 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 1275 "robdd.m"
  MR_Word mercury__robdd__Trues_2,
#line 1275 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 1275 "robdd.m"
  MR_Word * mercury__robdd__R_4,
#line 1275 "robdd.m"
  MR_Word mercury__robdd__STATE_VARIABLE_Cache_0_5,
#line 1275 "robdd.m"
  MR_Word * mercury__robdd__STATE_VARIABLE_Cache_6)
#line 1275 "robdd.m"
{
#line 1279 "robdd.m"
  {
#line 1279 "robdd.m"
    MR_bool mercury__robdd__succeeded;

#line 1279 "robdd.m"
    if ((mercury__robdd__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1279 "robdd.m"
      {
#line 1279 "robdd.m"
        *mercury__robdd__R_4 = mercury__robdd__HeadVar__3_3;
#line 1279 "robdd.m"
        *mercury__robdd__STATE_VARIABLE_Cache_6 = mercury__robdd__STATE_VARIABLE_Cache_0_5;
#line 1279 "robdd.m"
      }
#line 1279 "robdd.m"
    else
#line 1280 "robdd.m"
      {
#line 1280 "robdd.m"
        MR_Word mercury__robdd__Var_12;
#line 1280 "robdd.m"
        MR_Word mercury__robdd__LeaderVar_13;
#line 1280 "robdd.m"
        MR_Word mercury__robdd__Vs_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__1_1, (MR_Integer) 1)));
#line 1280 "robdd.m"
        MR_Word mercury__robdd__V_24_24 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__1_1, (MR_Integer) 0)));
#line 1281 "robdd.m"
        MR_Word mercury__robdd__V_123_123;

#line 1280 "robdd.m"
        mercury__robdd__Var_12 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_24_24, (MR_Integer) 0)));
#line 1280 "robdd.m"
        mercury__robdd__LeaderVar_13 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_24_24, (MR_Integer) 1)));
#line 1281 "robdd.m"
        {
#line 1281 "robdd.m"
          mercury__robdd__V_123_123 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_84);
        }
#line 1281 "robdd.m"
        {
#line 1281 "robdd.m"
          mercury__robdd__succeeded = mercury__robdd____Unify____robdd_1_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__HeadVar__3_3, mercury__robdd__V_123_123);
        }
#line 1283 "robdd.m"
        if (mercury__robdd__succeeded)
#line 1282 "robdd.m"
          {
#line 1282 "robdd.m"
            {
#line 1282 "robdd.m"
              *mercury__robdd__R_4 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_84);
            }
#line 1282 "robdd.m"
            *mercury__robdd__STATE_VARIABLE_Cache_6 = mercury__robdd__STATE_VARIABLE_Cache_0_5;
#line 1282 "robdd.m"
          }
#line 1283 "robdd.m"
        else
#line 1285 "robdd.m"
          {
#line 1285 "robdd.m"
            MR_Word mercury__robdd__R1_19;
#line 1283 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_85_85 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 1283 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_86_86;
#line 1283 "robdd.m"
            MR_Box mercury__robdd__conv0_R1_19;

#line 17588 "robdd.c"
            {
#line 17590 "robdd.c"
              mercury__robdd__TypeInfo_86_86 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 17592 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_86_86, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_85_85));
#line 17594 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_86_86, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_84));
#line 17596 "robdd.c"
            }
#line 1283 "robdd.m"
            {
#line 1283 "robdd.m"
              mercury__robdd__succeeded = mercury__map__elem_2_f_0(mercury__robdd__TypeInfo_86_86, mercury__robdd__TypeInfo_86_86, ((MR_Box) (mercury__robdd__HeadVar__3_3)), (MR_Word) mercury__robdd__STATE_VARIABLE_Cache_0_5, &mercury__robdd__conv0_R1_19);
            }
#line 1283 "robdd.m"
            if (mercury__robdd__succeeded)
#line 1283 "robdd.m"
              {
#line 1283 "robdd.m"
                mercury__robdd__R1_19 = ((MR_Word) mercury__robdd__conv0_R1_19);
#line 1283 "robdd.m"
                mercury__robdd__succeeded = MR_TRUE;
#line 1283 "robdd.m"
              }
#line 1285 "robdd.m"
            if (mercury__robdd__succeeded)
#line 1284 "robdd.m"
              {
#line 1284 "robdd.m"
                *mercury__robdd__R_4 = mercury__robdd__R1_19;
#line 1284 "robdd.m"
                *mercury__robdd__STATE_VARIABLE_Cache_6 = mercury__robdd__STATE_VARIABLE_Cache_0_5;
#line 1284 "robdd.m"
              }
#line 1285 "robdd.m"
            else
#line 1288 "robdd.m"
              {
#line 1285 "robdd.m"
                MR_Word mercury__robdd__V_124_124;

#line 1285 "robdd.m"
                {
#line 1285 "robdd.m"
                  mercury__robdd__V_124_124 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_84);
                }
#line 1285 "robdd.m"
                {
#line 1285 "robdd.m"
                  mercury__robdd__succeeded = mercury__robdd____Unify____robdd_1_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__HeadVar__3_3, mercury__robdd__V_124_124);
                }
#line 1288 "robdd.m"
                if (mercury__robdd__succeeded)
#line 1286 "robdd.m"
                  {
#line 1286 "robdd.m"
                    MR_Word mercury__robdd__TypeCtorInfo_87_87;
#line 1286 "robdd.m"
                    MR_Word mercury__robdd__TypeInfo_88_88;
#line 1287 "robdd.m"
                    MR_Word mercury__robdd__conv1_STATE_VARIABLE_Cache_6;

#line 1286 "robdd.m"
                    {
#line 1286 "robdd.m"
                      *mercury__robdd__R_4 = mercury__robdd__make_equiv_2_2_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__HeadVar__1_1, mercury__robdd__Trues_2);
                    }
#line 17656 "robdd.c"
                    mercury__robdd__TypeCtorInfo_87_87 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 17658 "robdd.c"
                    {
#line 17660 "robdd.c"
                      mercury__robdd__TypeInfo_88_88 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 17662 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_88_88, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_87_87));
#line 17664 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_88_88, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_84));
#line 17666 "robdd.c"
                    }
#line 1287 "robdd.m"
                    {
#line 1287 "robdd.m"
                      mercury__robdd__conv1_STATE_VARIABLE_Cache_6 = mercury__map__f_101_108_101_109_32_58_61_3_f_0(mercury__robdd__TypeInfo_88_88, mercury__robdd__TypeInfo_88_88, ((MR_Box) (mercury__robdd__HeadVar__3_3)), (MR_Word) mercury__robdd__STATE_VARIABLE_Cache_0_5, ((MR_Box) (*mercury__robdd__R_4)));
                    }
#line 1287 "robdd.m"
                    *mercury__robdd__STATE_VARIABLE_Cache_6 = (MR_Word) mercury__robdd__conv1_STATE_VARIABLE_Cache_6;
#line 1286 "robdd.m"
                  }
#line 1288 "robdd.m"
                else
#line 1296 "robdd.m"
                  {
#line 1288 "robdd.m"
                    MR_Word mercury__robdd__V_29_29;
#line 1288 "robdd.m"
                    MR_Word mercury__robdd__V_125_125;
#line 1288 "robdd.m"
                    MR_Integer mercury__robdd__V_131_131;
#line 1288 "robdd.m"
                    MR_Integer mercury__robdd__V_132_132;

#line 1288 "robdd.m"
                    {
#line 1288 "robdd.m"
                      mercury__robdd__V_29_29 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__HeadVar__3_3);
                    }
#line 1288 "robdd.m"
                    mercury__robdd__V_131_131 = (MR_Integer) mercury__robdd__V_29_29;
#line 1288 "robdd.m"
                    mercury__robdd__V_132_132 = (MR_Integer) mercury__robdd__Var_12;
#line 66 "private_builtin.opt"
                    mercury__robdd__succeeded = (mercury__robdd__V_131_131 < mercury__robdd__V_132_132);
#line 69 "private_builtin.opt"
                    if (mercury__robdd__succeeded)
#line 68 "private_builtin.opt"
                      mercury__robdd__V_125_125 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
                    else
#line 74 "private_builtin.opt"
                      {
#line 71 "private_builtin.opt"
                        mercury__robdd__succeeded = (mercury__robdd__V_131_131 == mercury__robdd__V_132_132);
#line 74 "private_builtin.opt"
                        if (mercury__robdd__succeeded)
#line 73 "private_builtin.opt"
                          mercury__robdd__V_125_125 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
                        else
#line 75 "private_builtin.opt"
                          mercury__robdd__V_125_125 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
                      }
#line 1288 "robdd.m"
                    mercury__robdd__succeeded = ((MR_Integer) 1 == mercury__robdd__V_125_125);
#line 1296 "robdd.m"
                    if (mercury__robdd__succeeded)
#line 1290 "robdd.m"
                      {
#line 1290 "robdd.m"
                        MR_Word mercury__robdd__TypeCtorInfo_91_91;
#line 1290 "robdd.m"
                        MR_Word mercury__robdd__TypeInfo_92_92;
#line 1290 "robdd.m"
                        MR_Word mercury__robdd__Rtr_20;
#line 1290 "robdd.m"
                        MR_Word mercury__robdd__Rfa_21;
#line 1290 "robdd.m"
                        MR_Word mercury__robdd__V_31_31;
#line 1290 "robdd.m"
                        MR_Word mercury__robdd__STATE_VARIABLE_Cache_32_32;
#line 1290 "robdd.m"
                        MR_Word mercury__robdd__V_35_35;
#line 1290 "robdd.m"
                        MR_Word mercury__robdd__STATE_VARIABLE_Cache_36_36;
#line 1290 "robdd.m"
                        MR_Word mercury__robdd__V_38_38;
#line 1295 "robdd.m"
                        MR_Word mercury__robdd__conv2_STATE_VARIABLE_Cache_6;

#line 1289 "robdd.m"
                        {
#line 1289 "robdd.m"
                          mercury__robdd__V_31_31 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__HeadVar__3_3);
                        }
#line 1289 "robdd.m"
                        {
#line 1289 "robdd.m"
                          mercury__robdd__add_equivalences_2_6_p_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__HeadVar__1_1, mercury__robdd__Trues_2, mercury__robdd__V_31_31, &mercury__robdd__Rtr_20, mercury__robdd__STATE_VARIABLE_Cache_0_5, &mercury__robdd__STATE_VARIABLE_Cache_32_32);
                        }
#line 1291 "robdd.m"
                        {
#line 1291 "robdd.m"
                          mercury__robdd__V_35_35 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__HeadVar__3_3);
                        }
#line 1291 "robdd.m"
                        {
#line 1291 "robdd.m"
                          mercury__robdd__add_equivalences_2_6_p_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__HeadVar__1_1, mercury__robdd__Trues_2, mercury__robdd__V_35_35, &mercury__robdd__Rfa_21, mercury__robdd__STATE_VARIABLE_Cache_32_32, &mercury__robdd__STATE_VARIABLE_Cache_36_36);
                        }
#line 1294 "robdd.m"
                        {
#line 1294 "robdd.m"
                          mercury__robdd__V_38_38 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__HeadVar__3_3);
                        }
#line 1294 "robdd.m"
                        {
#line 1294 "robdd.m"
                          *mercury__robdd__R_4 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__V_38_38, mercury__robdd__Rtr_20, mercury__robdd__Rfa_21);
                        }
#line 17778 "robdd.c"
                        mercury__robdd__TypeCtorInfo_91_91 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 17780 "robdd.c"
                        {
#line 17782 "robdd.c"
                          mercury__robdd__TypeInfo_92_92 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 17784 "robdd.c"
                          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_92_92, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_91_91));
#line 17786 "robdd.c"
                          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_92_92, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_84));
#line 17788 "robdd.c"
                        }
#line 1295 "robdd.m"
                        {
#line 1295 "robdd.m"
                          mercury__robdd__conv2_STATE_VARIABLE_Cache_6 = mercury__map__f_101_108_101_109_32_58_61_3_f_0(mercury__robdd__TypeInfo_92_92, mercury__robdd__TypeInfo_92_92, ((MR_Box) (mercury__robdd__HeadVar__3_3)), (MR_Word) mercury__robdd__STATE_VARIABLE_Cache_36_36, ((MR_Box) (*mercury__robdd__R_4)));
                        }
#line 1295 "robdd.m"
                        *mercury__robdd__STATE_VARIABLE_Cache_6 = (MR_Word) mercury__robdd__conv2_STATE_VARIABLE_Cache_6;
#line 1290 "robdd.m"
                      }
#line 1296 "robdd.m"
                    else
#line 1318 "robdd.m"
                      {
#line 1318 "robdd.m"
                        MR_Word mercury__robdd__TypeInfo_94_94;
#line 1296 "robdd.m"
                        MR_Word mercury__robdd__TypeCtorInfo_93_93;
#line 1296 "robdd.m"
                        MR_Word mercury__robdd__V_41_41;
#line 1296 "robdd.m"
                        MR_Word mercury__robdd__V_126_126;
#line 1296 "robdd.m"
                        MR_Integer mercury__robdd__V_133_133;
#line 1296 "robdd.m"
                        MR_Integer mercury__robdd__V_134_134;

#line 1296 "robdd.m"
                        {
#line 1296 "robdd.m"
                          mercury__robdd__V_41_41 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__HeadVar__3_3);
                        }
#line 17821 "robdd.c"
                        mercury__robdd__TypeCtorInfo_93_93 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1296 "robdd.m"
                        mercury__robdd__V_133_133 = (MR_Integer) mercury__robdd__Var_12;
#line 1296 "robdd.m"
                        mercury__robdd__V_134_134 = (MR_Integer) mercury__robdd__V_41_41;
#line 17827 "robdd.c"
                        {
#line 17829 "robdd.c"
                          mercury__robdd__TypeInfo_94_94 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 17831 "robdd.c"
                          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_94_94, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_93_93));
#line 17833 "robdd.c"
                          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_94_94, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_84));
#line 17835 "robdd.c"
                        }
#line 66 "private_builtin.opt"
                        mercury__robdd__succeeded = (mercury__robdd__V_133_133 < mercury__robdd__V_134_134);
#line 69 "private_builtin.opt"
                        if (mercury__robdd__succeeded)
#line 68 "private_builtin.opt"
                          mercury__robdd__V_126_126 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
                        else
#line 74 "private_builtin.opt"
                          {
#line 71 "private_builtin.opt"
                            mercury__robdd__succeeded = (mercury__robdd__V_133_133 == mercury__robdd__V_134_134);
#line 74 "private_builtin.opt"
                            if (mercury__robdd__succeeded)
#line 73 "private_builtin.opt"
                              mercury__robdd__V_126_126 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
                            else
#line 75 "private_builtin.opt"
                              mercury__robdd__V_126_126 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
                          }
#line 1296 "robdd.m"
                        mercury__robdd__succeeded = ((MR_Integer) 1 == mercury__robdd__V_126_126);
#line 1318 "robdd.m"
                        if (mercury__robdd__succeeded)
#line 1304 "robdd.m"
                          {
#line 1297 "robdd.m"
                            MR_Integer mercury__robdd__V_135_135 = (MR_Integer) mercury__robdd__LeaderVar_13;
#line 1297 "robdd.m"
                            MR_Integer mercury__robdd__V_136_136 = (MR_Integer) mercury__robdd__Var_12;

#line 1297 "robdd.m"
                            mercury__robdd__succeeded = (mercury__robdd__V_135_135 == mercury__robdd__V_136_136);
#line 1304 "robdd.m"
                            if (mercury__robdd__succeeded)
#line 1299 "robdd.m"
                              {
#line 1299 "robdd.m"
                                MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_97 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 1299 "robdd.m"
                                MR_Word mercury__robdd__TypeClassInfo_for_enum_98;
#line 1299 "robdd.m"
                                MR_Word mercury__robdd__TypeCtorInfo_99_99;
#line 1299 "robdd.m"
                                MR_Word mercury__robdd__TypeInfo_100_100;
#line 1299 "robdd.m"
                                MR_Word mercury__robdd__V_42_42;
#line 1299 "robdd.m"
                                MR_Word mercury__robdd__STATE_VARIABLE_Cache_43_43;
#line 1299 "robdd.m"
                                MR_Word mercury__robdd__STATE_VARIABLE_Cache_44_44;
#line 1299 "robdd.m"
                                MR_Word mercury__robdd__Rtr_66;
#line 1299 "robdd.m"
                                MR_Word mercury__robdd__Rfa_67;
#line 1303 "robdd.m"
                                MR_Word mercury__robdd__conv3_STATE_VARIABLE_Cache_6;

#line 17897 "robdd.c"
                                {
#line 17899 "robdd.c"
                                  mercury__robdd__TypeClassInfo_for_enum_98 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 17901 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_98, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_97));
#line 17903 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_98, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_84));
#line 17905 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_98, 2) = ((MR_Box) (mercury__robdd__TypeInfo_94_94));
#line 17907 "robdd.c"
                                }
#line 1298 "robdd.m"
                                {
#line 1298 "robdd.m"
                                  mercury__robdd__V_42_42 = mercury__sparse_bitset__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_105_110_115_101_114_116_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_2_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__TypeClassInfo_for_enum_98, mercury__robdd__Trues_2, mercury__robdd__Var_12);
                                }
#line 1298 "robdd.m"
                                {
#line 1298 "robdd.m"
                                  mercury__robdd__add_equivalences_2_6_p_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__Vs_14, mercury__robdd__V_42_42, mercury__robdd__HeadVar__3_3, &mercury__robdd__Rtr_66, mercury__robdd__STATE_VARIABLE_Cache_0_5, &mercury__robdd__STATE_VARIABLE_Cache_43_43);
                                }
#line 1300 "robdd.m"
                                {
#line 1300 "robdd.m"
                                  mercury__robdd__add_equivalences_2_6_p_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__Vs_14, mercury__robdd__Trues_2, mercury__robdd__HeadVar__3_3, &mercury__robdd__Rfa_67, mercury__robdd__STATE_VARIABLE_Cache_43_43, &mercury__robdd__STATE_VARIABLE_Cache_44_44);
                                }
#line 1302 "robdd.m"
                                {
#line 1302 "robdd.m"
                                  *mercury__robdd__R_4 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__Var_12, mercury__robdd__Rtr_66, mercury__robdd__Rfa_67);
                                }
#line 17929 "robdd.c"
                                mercury__robdd__TypeCtorInfo_99_99 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 17931 "robdd.c"
                                {
#line 17933 "robdd.c"
                                  mercury__robdd__TypeInfo_100_100 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 17935 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_100_100, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_99_99));
#line 17937 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_100_100, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_84));
#line 17939 "robdd.c"
                                }
#line 1303 "robdd.m"
                                {
#line 1303 "robdd.m"
                                  mercury__robdd__conv3_STATE_VARIABLE_Cache_6 = mercury__map__f_101_108_101_109_32_58_61_3_f_0(mercury__robdd__TypeInfo_100_100, mercury__robdd__TypeInfo_100_100, ((MR_Box) (mercury__robdd__HeadVar__3_3)), (MR_Word) mercury__robdd__STATE_VARIABLE_Cache_44_44, ((MR_Box) (*mercury__robdd__R_4)));
                                }
#line 1303 "robdd.m"
                                *mercury__robdd__STATE_VARIABLE_Cache_6 = (MR_Word) mercury__robdd__conv3_STATE_VARIABLE_Cache_6;
#line 1299 "robdd.m"
                              }
#line 1304 "robdd.m"
                            else
#line 1308 "robdd.m"
                              {
#line 1304 "robdd.m"
                                MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_103 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 1304 "robdd.m"
                                MR_Word mercury__robdd__TypeClassInfo_for_enum_104;

#line 17959 "robdd.c"
                                {
#line 17961 "robdd.c"
                                  mercury__robdd__TypeClassInfo_for_enum_104 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 17963 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_104, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_103));
#line 17965 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_104, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_84));
#line 17967 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_104, 2) = ((MR_Box) (mercury__robdd__TypeInfo_94_94));
#line 17969 "robdd.c"
                                }
#line 1304 "robdd.m"
                                {
#line 1304 "robdd.m"
                                  mercury__robdd__succeeded = mercury__sparse_bitset__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_99_111_110_116_97_105_110_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_2_p_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__TypeClassInfo_for_enum_104, mercury__robdd__Trues_2, mercury__robdd__LeaderVar_13);
                                }
#line 1308 "robdd.m"
                                if (mercury__robdd__succeeded)
#line 1305 "robdd.m"
                                  {
#line 1305 "robdd.m"
                                    MR_Word mercury__robdd__TypeCtorInfo_105_105;
#line 1305 "robdd.m"
                                    MR_Word mercury__robdd__TypeInfo_106_106;
#line 1305 "robdd.m"
                                    MR_Word mercury__robdd__STATE_VARIABLE_Cache_46_46;
#line 1305 "robdd.m"
                                    MR_Word mercury__robdd__V_47_47;
#line 1305 "robdd.m"
                                    MR_Word mercury__robdd__Rtr_68;
#line 1307 "robdd.m"
                                    MR_Word mercury__robdd__conv4_STATE_VARIABLE_Cache_6;

#line 1305 "robdd.m"
                                    {
#line 1305 "robdd.m"
                                      mercury__robdd__add_equivalences_2_6_p_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__Vs_14, mercury__robdd__Trues_2, mercury__robdd__HeadVar__3_3, &mercury__robdd__Rtr_68, mercury__robdd__STATE_VARIABLE_Cache_0_5, &mercury__robdd__STATE_VARIABLE_Cache_46_46);
                                    }
#line 1306 "robdd.m"
                                    {
#line 1306 "robdd.m"
                                      mercury__robdd__V_47_47 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_84);
                                    }
#line 1306 "robdd.m"
                                    {
#line 1306 "robdd.m"
                                      *mercury__robdd__R_4 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__Var_12, mercury__robdd__Rtr_68, mercury__robdd__V_47_47);
                                    }
#line 18008 "robdd.c"
                                    mercury__robdd__TypeCtorInfo_105_105 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 18010 "robdd.c"
                                    {
#line 18012 "robdd.c"
                                      mercury__robdd__TypeInfo_106_106 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 18014 "robdd.c"
                                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_106_106, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_105_105));
#line 18016 "robdd.c"
                                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_106_106, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_84));
#line 18018 "robdd.c"
                                    }
#line 1307 "robdd.m"
                                    {
#line 1307 "robdd.m"
                                      mercury__robdd__conv4_STATE_VARIABLE_Cache_6 = mercury__map__f_101_108_101_109_32_58_61_3_f_0(mercury__robdd__TypeInfo_106_106, mercury__robdd__TypeInfo_106_106, ((MR_Box) (mercury__robdd__HeadVar__3_3)), (MR_Word) mercury__robdd__STATE_VARIABLE_Cache_46_46, ((MR_Box) (*mercury__robdd__R_4)));
                                    }
#line 1307 "robdd.m"
                                    *mercury__robdd__STATE_VARIABLE_Cache_6 = (MR_Word) mercury__robdd__conv4_STATE_VARIABLE_Cache_6;
#line 1305 "robdd.m"
                                  }
#line 1308 "robdd.m"
                                else
#line 1309 "robdd.m"
                                  {
#line 1309 "robdd.m"
                                    MR_Word mercury__robdd__TypeCtorInfo_107_107;
#line 1309 "robdd.m"
                                    MR_Word mercury__robdd__TypeInfo_108_108;
#line 1309 "robdd.m"
                                    MR_Word mercury__robdd__STATE_VARIABLE_Cache_49_49;
#line 1309 "robdd.m"
                                    MR_Word mercury__robdd__V_50_50;
#line 1309 "robdd.m"
                                    MR_Word mercury__robdd__Rfa_69;
#line 1316 "robdd.m"
                                    MR_Word mercury__robdd__conv5_STATE_VARIABLE_Cache_6;

#line 1309 "robdd.m"
                                    {
#line 1309 "robdd.m"
                                      mercury__robdd__add_equivalences_2_6_p_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__Vs_14, mercury__robdd__Trues_2, mercury__robdd__HeadVar__3_3, &mercury__robdd__Rfa_69, mercury__robdd__STATE_VARIABLE_Cache_0_5, &mercury__robdd__STATE_VARIABLE_Cache_49_49);
                                    }
#line 1315 "robdd.m"
                                    {
#line 1315 "robdd.m"
                                      mercury__robdd__V_50_50 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_84);
                                    }
#line 1315 "robdd.m"
                                    {
#line 1315 "robdd.m"
                                      *mercury__robdd__R_4 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__Var_12, mercury__robdd__V_50_50, mercury__robdd__Rfa_69);
                                    }
#line 18061 "robdd.c"
                                    mercury__robdd__TypeCtorInfo_107_107 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 18063 "robdd.c"
                                    {
#line 18065 "robdd.c"
                                      mercury__robdd__TypeInfo_108_108 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 18067 "robdd.c"
                                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_108_108, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_107_107));
#line 18069 "robdd.c"
                                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_108_108, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_84));
#line 18071 "robdd.c"
                                    }
#line 1316 "robdd.m"
                                    {
#line 1316 "robdd.m"
                                      mercury__robdd__conv5_STATE_VARIABLE_Cache_6 = mercury__map__f_101_108_101_109_32_58_61_3_f_0(mercury__robdd__TypeInfo_108_108, mercury__robdd__TypeInfo_108_108, ((MR_Box) (mercury__robdd__HeadVar__3_3)), (MR_Word) mercury__robdd__STATE_VARIABLE_Cache_49_49, ((MR_Box) (*mercury__robdd__R_4)));
                                    }
#line 1316 "robdd.m"
                                    *mercury__robdd__STATE_VARIABLE_Cache_6 = (MR_Word) mercury__robdd__conv5_STATE_VARIABLE_Cache_6;
#line 1309 "robdd.m"
                                  }
#line 1308 "robdd.m"
                              }
#line 1304 "robdd.m"
                          }
#line 1318 "robdd.m"
                        else
#line 1323 "robdd.m"
                          {
#line 1318 "robdd.m"
                            MR_Integer mercury__robdd__V_137_137 = (MR_Integer) mercury__robdd__LeaderVar_13;
#line 1318 "robdd.m"
                            MR_Integer mercury__robdd__V_138_138 = (MR_Integer) mercury__robdd__Var_12;

#line 1318 "robdd.m"
                            mercury__robdd__succeeded = (mercury__robdd__V_137_137 == mercury__robdd__V_138_138);
#line 1323 "robdd.m"
                            if (mercury__robdd__succeeded)
#line 1319 "robdd.m"
                              {
#line 1319 "robdd.m"
                                MR_Word mercury__robdd__TypeCtorInfo_109_109 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1319 "robdd.m"
                                MR_Word mercury__robdd__TypeInfo_110_110;
#line 1319 "robdd.m"
                                MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_111 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 1319 "robdd.m"
                                MR_Word mercury__robdd__TypeClassInfo_for_enum_112;
#line 1319 "robdd.m"
                                MR_Word mercury__robdd__TypeCtorInfo_113_113;
#line 1319 "robdd.m"
                                MR_Word mercury__robdd__TypeInfo_114_114;
#line 1319 "robdd.m"
                                MR_Word mercury__robdd__V_52_52;
#line 1319 "robdd.m"
                                MR_Word mercury__robdd__V_53_53;
#line 1319 "robdd.m"
                                MR_Word mercury__robdd__STATE_VARIABLE_Cache_54_54;
#line 1319 "robdd.m"
                                MR_Word mercury__robdd__V_55_55;
#line 1319 "robdd.m"
                                MR_Word mercury__robdd__STATE_VARIABLE_Cache_56_56;
#line 1319 "robdd.m"
                                MR_Word mercury__robdd__Rtr_74;
#line 1319 "robdd.m"
                                MR_Word mercury__robdd__Rfa_75;
#line 1322 "robdd.m"
                                MR_Word mercury__robdd__conv6_STATE_VARIABLE_Cache_6;

#line 18130 "robdd.c"
                                {
#line 18132 "robdd.c"
                                  mercury__robdd__TypeInfo_110_110 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 18134 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_110_110, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_109_109));
#line 18136 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_110_110, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_84));
#line 18138 "robdd.c"
                                }
#line 18140 "robdd.c"
                                {
#line 18142 "robdd.c"
                                  mercury__robdd__TypeClassInfo_for_enum_112 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 18144 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_112, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_111));
#line 18146 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_112, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_84));
#line 18148 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_112, 2) = ((MR_Box) (mercury__robdd__TypeInfo_110_110));
#line 18150 "robdd.c"
                                }
#line 1319 "robdd.m"
                                {
#line 1319 "robdd.m"
                                  mercury__robdd__V_52_52 = mercury__sparse_bitset__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_105_110_115_101_114_116_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_2_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__TypeClassInfo_for_enum_112, mercury__robdd__Trues_2, mercury__robdd__Var_12);
                                }
#line 1319 "robdd.m"
                                {
#line 1319 "robdd.m"
                                  mercury__robdd__V_53_53 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__HeadVar__3_3);
                                }
#line 1319 "robdd.m"
                                {
#line 1319 "robdd.m"
                                  mercury__robdd__add_equivalences_2_6_p_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__Vs_14, mercury__robdd__V_52_52, mercury__robdd__V_53_53, &mercury__robdd__Rtr_74, mercury__robdd__STATE_VARIABLE_Cache_0_5, &mercury__robdd__STATE_VARIABLE_Cache_54_54);
                                }
#line 1320 "robdd.m"
                                {
#line 1320 "robdd.m"
                                  mercury__robdd__V_55_55 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__HeadVar__3_3);
                                }
#line 1320 "robdd.m"
                                {
#line 1320 "robdd.m"
                                  mercury__robdd__add_equivalences_2_6_p_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__Vs_14, mercury__robdd__Trues_2, mercury__robdd__V_55_55, &mercury__robdd__Rfa_75, mercury__robdd__STATE_VARIABLE_Cache_54_54, &mercury__robdd__STATE_VARIABLE_Cache_56_56);
                                }
#line 1321 "robdd.m"
                                {
#line 1321 "robdd.m"
                                  *mercury__robdd__R_4 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__Var_12, mercury__robdd__Rtr_74, mercury__robdd__Rfa_75);
                                }
#line 18182 "robdd.c"
                                mercury__robdd__TypeCtorInfo_113_113 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 18184 "robdd.c"
                                {
#line 18186 "robdd.c"
                                  mercury__robdd__TypeInfo_114_114 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 18188 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_114_114, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_113_113));
#line 18190 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_114_114, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_84));
#line 18192 "robdd.c"
                                }
#line 1322 "robdd.m"
                                {
#line 1322 "robdd.m"
                                  mercury__robdd__conv6_STATE_VARIABLE_Cache_6 = mercury__map__f_101_108_101_109_32_58_61_3_f_0(mercury__robdd__TypeInfo_114_114, mercury__robdd__TypeInfo_114_114, ((MR_Box) (mercury__robdd__HeadVar__3_3)), (MR_Word) mercury__robdd__STATE_VARIABLE_Cache_56_56, ((MR_Box) (*mercury__robdd__R_4)));
                                }
#line 1322 "robdd.m"
                                *mercury__robdd__STATE_VARIABLE_Cache_6 = (MR_Word) mercury__robdd__conv6_STATE_VARIABLE_Cache_6;
#line 1319 "robdd.m"
                              }
#line 1323 "robdd.m"
                            else
#line 1327 "robdd.m"
                              {
#line 1323 "robdd.m"
                                MR_Word mercury__robdd__TypeCtorInfo_115_115 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1323 "robdd.m"
                                MR_Word mercury__robdd__TypeInfo_116_116;
#line 1323 "robdd.m"
                                MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_117 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 1323 "robdd.m"
                                MR_Word mercury__robdd__TypeClassInfo_for_enum_118;

#line 18216 "robdd.c"
                                {
#line 18218 "robdd.c"
                                  mercury__robdd__TypeInfo_116_116 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 18220 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_116_116, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_115_115));
#line 18222 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_116_116, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_84));
#line 18224 "robdd.c"
                                }
#line 18226 "robdd.c"
                                {
#line 18228 "robdd.c"
                                  mercury__robdd__TypeClassInfo_for_enum_118 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 18230 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_118, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_117));
#line 18232 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_118, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_84));
#line 18234 "robdd.c"
                                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_118, 2) = ((MR_Box) (mercury__robdd__TypeInfo_116_116));
#line 18236 "robdd.c"
                                }
#line 1323 "robdd.m"
                                {
#line 1323 "robdd.m"
                                  mercury__robdd__succeeded = mercury__sparse_bitset__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_99_111_110_116_97_105_110_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_2_p_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__TypeClassInfo_for_enum_118, mercury__robdd__Trues_2, mercury__robdd__LeaderVar_13);
                                }
#line 1327 "robdd.m"
                                if (mercury__robdd__succeeded)
#line 1324 "robdd.m"
                                  {
#line 1324 "robdd.m"
                                    MR_Word mercury__robdd__TypeCtorInfo_119_119;
#line 1324 "robdd.m"
                                    MR_Word mercury__robdd__TypeInfo_120_120;
#line 1324 "robdd.m"
                                    MR_Word mercury__robdd__V_58_58;
#line 1324 "robdd.m"
                                    MR_Word mercury__robdd__STATE_VARIABLE_Cache_59_59;
#line 1324 "robdd.m"
                                    MR_Word mercury__robdd__V_60_60;
#line 1324 "robdd.m"
                                    MR_Word mercury__robdd__Rtr_76;
#line 1326 "robdd.m"
                                    MR_Word mercury__robdd__conv7_STATE_VARIABLE_Cache_6;

#line 1324 "robdd.m"
                                    {
#line 1324 "robdd.m"
                                      mercury__robdd__V_58_58 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__HeadVar__3_3);
                                    }
#line 1324 "robdd.m"
                                    {
#line 1324 "robdd.m"
                                      mercury__robdd__add_equivalences_2_6_p_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__Vs_14, mercury__robdd__Trues_2, mercury__robdd__V_58_58, &mercury__robdd__Rtr_76, mercury__robdd__STATE_VARIABLE_Cache_0_5, &mercury__robdd__STATE_VARIABLE_Cache_59_59);
                                    }
#line 1325 "robdd.m"
                                    {
#line 1325 "robdd.m"
                                      mercury__robdd__V_60_60 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_84);
                                    }
#line 1325 "robdd.m"
                                    {
#line 1325 "robdd.m"
                                      *mercury__robdd__R_4 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__Var_12, mercury__robdd__Rtr_76, mercury__robdd__V_60_60);
                                    }
#line 18282 "robdd.c"
                                    mercury__robdd__TypeCtorInfo_119_119 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 18284 "robdd.c"
                                    {
#line 18286 "robdd.c"
                                      mercury__robdd__TypeInfo_120_120 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 18288 "robdd.c"
                                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_120_120, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_119_119));
#line 18290 "robdd.c"
                                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_120_120, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_84));
#line 18292 "robdd.c"
                                    }
#line 1326 "robdd.m"
                                    {
#line 1326 "robdd.m"
                                      mercury__robdd__conv7_STATE_VARIABLE_Cache_6 = mercury__map__f_101_108_101_109_32_58_61_3_f_0(mercury__robdd__TypeInfo_120_120, mercury__robdd__TypeInfo_120_120, ((MR_Box) (mercury__robdd__HeadVar__3_3)), (MR_Word) mercury__robdd__STATE_VARIABLE_Cache_59_59, ((MR_Box) (*mercury__robdd__R_4)));
                                    }
#line 1326 "robdd.m"
                                    *mercury__robdd__STATE_VARIABLE_Cache_6 = (MR_Word) mercury__robdd__conv7_STATE_VARIABLE_Cache_6;
#line 1324 "robdd.m"
                                  }
#line 1327 "robdd.m"
                                else
#line 1328 "robdd.m"
                                  {
#line 1328 "robdd.m"
                                    MR_Word mercury__robdd__TypeCtorInfo_121_121;
#line 1328 "robdd.m"
                                    MR_Word mercury__robdd__TypeInfo_122_122;
#line 1328 "robdd.m"
                                    MR_Word mercury__robdd__V_62_62;
#line 1328 "robdd.m"
                                    MR_Word mercury__robdd__STATE_VARIABLE_Cache_63_63;
#line 1328 "robdd.m"
                                    MR_Word mercury__robdd__V_64_64;
#line 1328 "robdd.m"
                                    MR_Word mercury__robdd__Rfa_77;
#line 1335 "robdd.m"
                                    MR_Word mercury__robdd__conv8_STATE_VARIABLE_Cache_6;

#line 1328 "robdd.m"
                                    {
#line 1328 "robdd.m"
                                      mercury__robdd__V_62_62 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__HeadVar__3_3);
                                    }
#line 1328 "robdd.m"
                                    {
#line 1328 "robdd.m"
                                      mercury__robdd__add_equivalences_2_6_p_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__Vs_14, mercury__robdd__Trues_2, mercury__robdd__V_62_62, &mercury__robdd__Rfa_77, mercury__robdd__STATE_VARIABLE_Cache_0_5, &mercury__robdd__STATE_VARIABLE_Cache_63_63);
                                    }
#line 1334 "robdd.m"
                                    {
#line 1334 "robdd.m"
                                      mercury__robdd__V_64_64 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_84);
                                    }
#line 1334 "robdd.m"
                                    {
#line 1334 "robdd.m"
                                      *mercury__robdd__R_4 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_84, mercury__robdd__Var_12, mercury__robdd__V_64_64, mercury__robdd__Rfa_77);
                                    }
#line 18342 "robdd.c"
                                    mercury__robdd__TypeCtorInfo_121_121 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 18344 "robdd.c"
                                    {
#line 18346 "robdd.c"
                                      mercury__robdd__TypeInfo_122_122 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 18348 "robdd.c"
                                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_122_122, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_121_121));
#line 18350 "robdd.c"
                                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_122_122, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_84));
#line 18352 "robdd.c"
                                    }
#line 1335 "robdd.m"
                                    {
#line 1335 "robdd.m"
                                      mercury__robdd__conv8_STATE_VARIABLE_Cache_6 = mercury__map__f_101_108_101_109_32_58_61_3_f_0(mercury__robdd__TypeInfo_122_122, mercury__robdd__TypeInfo_122_122, ((MR_Box) (mercury__robdd__HeadVar__3_3)), (MR_Word) mercury__robdd__STATE_VARIABLE_Cache_63_63, ((MR_Box) (*mercury__robdd__R_4)));
                                    }
#line 1335 "robdd.m"
                                    *mercury__robdd__STATE_VARIABLE_Cache_6 = (MR_Word) mercury__robdd__conv8_STATE_VARIABLE_Cache_6;
#line 1328 "robdd.m"
                                  }
#line 1327 "robdd.m"
                              }
#line 1323 "robdd.m"
                          }
#line 1318 "robdd.m"
                      }
#line 1296 "robdd.m"
                  }
#line 1288 "robdd.m"
              }
#line 1285 "robdd.m"
          }
#line 1280 "robdd.m"
      }
#line 1279 "robdd.m"
  }
#line 1275 "robdd.m"
}

#line 1251 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__make_equiv_2_2_f_0(
#line 1251 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_22,
#line 1251 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 1251 "robdd.m"
  MR_Word mercury__robdd__Trues_2)
#line 1251 "robdd.m"
{
#line 1253 "robdd.m"
  {
#line 1253 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1253 "robdd.m"
    MR_Word mercury__robdd__HeadVar__3_3;

#line 1253 "robdd.m"
    if ((mercury__robdd__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1253 "robdd.m"
      {
#line 1253 "robdd.m"
        return mercury__robdd__HeadVar__3_3 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_22);
      }
#line 1253 "robdd.m"
    else
#line 1254 "robdd.m"
      {
#line 1254 "robdd.m"
        MR_Word mercury__robdd__Var_5;
#line 1254 "robdd.m"
        MR_Word mercury__robdd__LeaderVar_6;
#line 1254 "robdd.m"
        MR_Word mercury__robdd__Vs_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__1_1, (MR_Integer) 1)));
#line 1254 "robdd.m"
        MR_Word mercury__robdd__V_12_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__1_1, (MR_Integer) 0)));
#line 1255 "robdd.m"
        MR_Integer mercury__robdd__V_33_33;
#line 1255 "robdd.m"
        MR_Integer mercury__robdd__V_34_34;

#line 1254 "robdd.m"
        mercury__robdd__Var_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_12_12, (MR_Integer) 0)));
#line 1254 "robdd.m"
        mercury__robdd__LeaderVar_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_12_12, (MR_Integer) 1)));
#line 1255 "robdd.m"
        mercury__robdd__V_33_33 = (MR_Integer) mercury__robdd__Var_5;
#line 1255 "robdd.m"
        mercury__robdd__V_34_34 = (MR_Integer) mercury__robdd__LeaderVar_6;
#line 1255 "robdd.m"
        mercury__robdd__succeeded = (mercury__robdd__V_33_33 == mercury__robdd__V_34_34);
#line 1258 "robdd.m"
        if (mercury__robdd__succeeded)
#line 1256 "robdd.m"
          {
#line 1256 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_23_23 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1256 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_24_24;
#line 1256 "robdd.m"
            MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_25 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 1256 "robdd.m"
            MR_Word mercury__robdd__TypeClassInfo_for_enum_26;
#line 1256 "robdd.m"
            MR_Word mercury__robdd__V_13_13;
#line 1256 "robdd.m"
            MR_Word mercury__robdd__V_14_14;
#line 1256 "robdd.m"
            MR_Word mercury__robdd__V_15_15;
#line 1256 "robdd.m"
            MR_Word mercury__robdd__Set0_6_41;
#line 1256 "robdd.m"
            MR_Integer mercury__robdd__V_9_43;
#line 1256 "robdd.m"
            MR_Word mercury__robdd__Set_5_44;
#line 18458 "robdd.c"
            MR_Box MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box);
#line 18460 "robdd.c"
            MR_Box mercury__robdd__conv1_V_9_43;

#line 18463 "robdd.c"
            {
#line 18465 "robdd.c"
              mercury__robdd__TypeInfo_24_24 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 18467 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_24_24, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_23_23));
#line 18469 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_24_24, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_22));
#line 18471 "robdd.c"
            }
#line 18473 "robdd.c"
            {
#line 18475 "robdd.c"
              mercury__robdd__TypeClassInfo_for_enum_26 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 18477 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_26, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_25));
#line 18479 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_26, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_22));
#line 18481 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_26, 2) = ((MR_Box) (mercury__robdd__TypeInfo_24_24));
#line 18483 "robdd.c"
            }
#line 168 "sparse_bitset.opt"
            mercury__robdd__Set0_6_41 = (MR_Word) mercury__robdd__Trues_2;
#line 18487 "robdd.c"
            mercury__robdd__func_0 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_26, (MR_Integer) 0)), (MR_Integer) 5)));
#line 18489 "robdd.c"
            {
#line 18491 "robdd.c"
              mercury__robdd__conv1_V_9_43 = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_26), ((MR_Box) (mercury__robdd__Var_5)));
            }
#line 18494 "robdd.c"
            mercury__robdd__V_9_43 = ((MR_Integer) mercury__robdd__conv1_V_9_43);
#line 170 "sparse_bitset.opt"
            {
#line 170 "sparse_bitset.opt"
              mercury__sparse_bitset__insert_2_3_p_0(mercury__robdd__Set0_6_41, mercury__robdd__V_9_43, &mercury__robdd__Set_5_44);
            }
#line 171 "sparse_bitset.opt"
            mercury__robdd__V_14_14 = (MR_Word) mercury__robdd__Set_5_44;
#line 1256 "robdd.m"
            {
#line 1256 "robdd.m"
              mercury__robdd__V_13_13 = mercury__robdd__make_equiv_2_2_f_0(mercury__robdd__TypeInfo_for_T_22, mercury__robdd__Vs_7, mercury__robdd__V_14_14);
            }
#line 1256 "robdd.m"
            {
#line 1256 "robdd.m"
              mercury__robdd__V_15_15 = mercury__robdd__make_equiv_2_2_f_0(mercury__robdd__TypeInfo_for_T_22, mercury__robdd__Vs_7, mercury__robdd__Trues_2);
            }
#line 1256 "robdd.m"
            {
#line 1256 "robdd.m"
              return mercury__robdd__HeadVar__3_3 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_22, mercury__robdd__Var_5, mercury__robdd__V_13_13, mercury__robdd__V_15_15);
            }
#line 1256 "robdd.m"
          }
#line 1258 "robdd.m"
        else
#line 1260 "robdd.m"
          {
#line 1258 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_27_27 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1258 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_28_28;
#line 1258 "robdd.m"
            MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_29 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 1258 "robdd.m"
            MR_Word mercury__robdd__TypeClassInfo_for_enum_30;
#line 1258 "robdd.m"
            MR_Word mercury__robdd__Set_3_46 = (MR_Word) mercury__robdd__Trues_2;
#line 1258 "robdd.m"
            MR_Integer mercury__robdd__V_5_47;
#line 18536 "robdd.c"
            MR_Box MR_CALL (* mercury__robdd__func_2)(MR_Box, MR_Box);
#line 18538 "robdd.c"
            MR_Box mercury__robdd__conv3_V_5_47;

#line 18541 "robdd.c"
            {
#line 18543 "robdd.c"
              mercury__robdd__TypeInfo_28_28 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 18545 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_28_28, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_27_27));
#line 18547 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_28_28, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_22));
#line 18549 "robdd.c"
            }
#line 18551 "robdd.c"
            {
#line 18553 "robdd.c"
              mercury__robdd__TypeClassInfo_for_enum_30 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 18555 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_30, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_29));
#line 18557 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_30, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_22));
#line 18559 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_30, 2) = ((MR_Box) (mercury__robdd__TypeInfo_28_28));
#line 18561 "robdd.c"
            }
#line 18563 "robdd.c"
            mercury__robdd__func_2 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_30, (MR_Integer) 0)), (MR_Integer) 5)));
#line 18565 "robdd.c"
            {
#line 18567 "robdd.c"
              mercury__robdd__conv3_V_5_47 = mercury__robdd__func_2(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_30), ((MR_Box) (mercury__robdd__LeaderVar_6)));
            }
#line 18570 "robdd.c"
            mercury__robdd__V_5_47 = ((MR_Integer) mercury__robdd__conv3_V_5_47);
#line 164 "sparse_bitset.opt"
            {
#line 164 "sparse_bitset.opt"
              mercury__robdd__succeeded = mercury__sparse_bitset__contains_search_nodes_2_p_0(mercury__robdd__Set_3_46, mercury__robdd__V_5_47);
            }
#line 1260 "robdd.m"
            if (mercury__robdd__succeeded)
#line 1259 "robdd.m"
              {
#line 1259 "robdd.m"
                MR_Word mercury__robdd__V_16_16;
#line 1259 "robdd.m"
                MR_Word mercury__robdd__V_17_17;

#line 1259 "robdd.m"
                {
#line 1259 "robdd.m"
                  mercury__robdd__V_16_16 = mercury__robdd__make_equiv_2_2_f_0(mercury__robdd__TypeInfo_for_T_22, mercury__robdd__Vs_7, mercury__robdd__Trues_2);
                }
#line 1259 "robdd.m"
                {
#line 1259 "robdd.m"
                  mercury__robdd__V_17_17 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_22);
                }
#line 1259 "robdd.m"
                {
#line 1259 "robdd.m"
                  return mercury__robdd__HeadVar__3_3 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_22, mercury__robdd__Var_5, mercury__robdd__V_16_16, mercury__robdd__V_17_17);
                }
#line 1259 "robdd.m"
              }
#line 1260 "robdd.m"
            else
#line 1261 "robdd.m"
              {
#line 1261 "robdd.m"
                MR_Integer mercury__robdd__VarNum_10 = (MR_Integer) mercury__robdd__Var_5;
#line 1261 "robdd.m"
                MR_Integer mercury__robdd__LeaderVarNum_11 = (MR_Integer) mercury__robdd__LeaderVar_6;
#line 1261 "robdd.m"
                MR_Word mercury__robdd__V_20_20;
#line 1261 "robdd.m"
                MR_Word mercury__robdd__V_21_21;

#line 13 "require.opt"
                mercury__robdd__succeeded = (mercury__robdd__LeaderVarNum_11 < mercury__robdd__VarNum_10);
#line 16 "require.opt"
                if (mercury__robdd__succeeded)
#line 15 "require.opt"
                  {
#line 15 "require.opt"
                  }
#line 16 "require.opt"
                else
#line 17 "require.opt"
                  {
#line 17 "require.opt"
                    mercury__require__error_1_p_0((MR_String) "make_equiv_2: unordered vars");
                  }
#line 1268 "robdd.m"
                {
#line 1268 "robdd.m"
                  mercury__robdd__V_20_20 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_22);
                }
#line 1268 "robdd.m"
                {
#line 1268 "robdd.m"
                  mercury__robdd__V_21_21 = mercury__robdd__make_equiv_2_2_f_0(mercury__robdd__TypeInfo_for_T_22, mercury__robdd__Vs_7, mercury__robdd__Trues_2);
                }
#line 1268 "robdd.m"
                {
#line 1268 "robdd.m"
                  return mercury__robdd__HeadVar__3_3 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_22, mercury__robdd__Var_5, mercury__robdd__V_20_20, mercury__robdd__V_21_21);
                }
#line 1261 "robdd.m"
              }
#line 1260 "robdd.m"
          }
#line 1254 "robdd.m"
      }
#line 1253 "robdd.m"
    return mercury__robdd__HeadVar__3_3;
#line 1253 "robdd.m"
  }
#line 1251 "robdd.m"
}

#line 1194 "robdd.m"
void MR_CALL 
mercury__robdd__filter_2_8_p_0(
#line 1194 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_31,
#line 1194 "robdd.m"
  MR_Word mercury__robdd__P_9,
#line 1194 "robdd.m"
  MR_Word mercury__robdd__D_10,
#line 1194 "robdd.m"
  MR_Word mercury__robdd__F0_11,
#line 1194 "robdd.m"
  MR_Word * mercury__robdd__F_12,
#line 1194 "robdd.m"
  MR_Word mercury__robdd__SeenVars0_13,
#line 1194 "robdd.m"
  MR_Word * mercury__robdd__SeenVars_14,
#line 1194 "robdd.m"
  MR_Word mercury__robdd__SeenNodes0_15,
#line 1194 "robdd.m"
  MR_Word * mercury__robdd__SeenNodes_16)
#line 1194 "robdd.m"
{
#line 1202 "robdd.m"
  {
#line 1202 "robdd.m"
    MR_bool mercury__robdd__succeeded;

#line 1198 "robdd.m"
    {
#line 1198 "robdd.m"
      mercury__robdd__succeeded = mercury__robdd__is_terminal_1_p_0(mercury__robdd__TypeInfo_for_T_31, mercury__robdd__F0_11);
    }
#line 1202 "robdd.m"
    if (mercury__robdd__succeeded)
#line 1199 "robdd.m"
      {
#line 1199 "robdd.m"
        *mercury__robdd__F_12 = mercury__robdd__F0_11;
#line 1200 "robdd.m"
        *mercury__robdd__SeenVars_14 = mercury__robdd__SeenVars0_13;
#line 1201 "robdd.m"
        *mercury__robdd__SeenNodes_16 = mercury__robdd__SeenNodes0_15;
#line 1199 "robdd.m"
      }
#line 1202 "robdd.m"
    else
#line 1206 "robdd.m"
      {
#line 1202 "robdd.m"
        MR_Word mercury__robdd__V_26_26;
#line 1202 "robdd.m"
        MR_bool MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box);

#line 1202 "robdd.m"
        {
#line 1202 "robdd.m"
          mercury__robdd__V_26_26 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_31, mercury__robdd__F0_11);
        }
#line 1202 "robdd.m"
        mercury__robdd__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__robdd__D_10, (MR_Integer) 1)));
#line 1202 "robdd.m"
        {
#line 1202 "robdd.m"
          mercury__robdd__succeeded = mercury__robdd__func_0(((MR_Box) mercury__robdd__D_10), ((MR_Box) (mercury__robdd__V_26_26)));
        }
#line 1202 "robdd.m"
        mercury__robdd__succeeded = !(mercury__robdd__succeeded);
#line 1206 "robdd.m"
        if (mercury__robdd__succeeded)
#line 1203 "robdd.m"
          {
#line 1203 "robdd.m"
            *mercury__robdd__F_12 = mercury__robdd__F0_11;
#line 1204 "robdd.m"
            *mercury__robdd__SeenVars_14 = mercury__robdd__SeenVars0_13;
#line 1205 "robdd.m"
            *mercury__robdd__SeenNodes_16 = mercury__robdd__SeenNodes0_15;
#line 1203 "robdd.m"
          }
#line 1206 "robdd.m"
        else
#line 1210 "robdd.m"
          {
#line 1210 "robdd.m"
            MR_Word mercury__robdd__F1_17;
#line 1206 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_32_32 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 1206 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_33_33;
#line 39 "map.opt"
            MR_Box mercury__robdd__conv1_F1_17;

#line 18752 "robdd.c"
            {
#line 18754 "robdd.c"
              mercury__robdd__TypeInfo_33_33 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 18756 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_33_33, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_32_32));
#line 18758 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_33_33, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_31));
#line 18760 "robdd.c"
            }
#line 39 "map.opt"
            {
#line 39 "map.opt"
              mercury__robdd__succeeded = mercury__tree234__search_3_p_0(mercury__robdd__TypeInfo_33_33, mercury__robdd__TypeInfo_33_33, (MR_Word) mercury__robdd__SeenNodes0_15, ((MR_Box) (mercury__robdd__F0_11)), &mercury__robdd__conv1_F1_17);
            }
#line 39 "map.opt"
            if (mercury__robdd__succeeded)
#line 39 "map.opt"
              {
#line 39 "map.opt"
                mercury__robdd__F1_17 = ((MR_Word) mercury__robdd__conv1_F1_17);
#line 39 "map.opt"
                mercury__robdd__succeeded = MR_TRUE;
#line 39 "map.opt"
              }
#line 1210 "robdd.m"
            if (mercury__robdd__succeeded)
#line 1207 "robdd.m"
              {
#line 1207 "robdd.m"
                *mercury__robdd__F_12 = mercury__robdd__F1_17;
#line 1208 "robdd.m"
                *mercury__robdd__SeenVars_14 = mercury__robdd__SeenVars0_13;
#line 1209 "robdd.m"
                *mercury__robdd__SeenNodes_16 = mercury__robdd__SeenNodes0_15;
#line 1207 "robdd.m"
              }
#line 1210 "robdd.m"
            else
#line 1212 "robdd.m"
              {
#line 1212 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_43_43;
#line 1212 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_44_44;
#line 1212 "robdd.m"
                MR_Word mercury__robdd__Ftrue_18;
#line 1212 "robdd.m"
                MR_Word mercury__robdd__SeenVars1_19;
#line 1212 "robdd.m"
                MR_Word mercury__robdd__SeenNodes1_20;
#line 1212 "robdd.m"
                MR_Word mercury__robdd__Ffalse_21;
#line 1212 "robdd.m"
                MR_Word mercury__robdd__SeenVars2_22;
#line 1212 "robdd.m"
                MR_Word mercury__robdd__SeenNodes2_23;
#line 1212 "robdd.m"
                MR_Word mercury__robdd__V_24;
#line 1212 "robdd.m"
                MR_Word mercury__robdd__V_27_27;
#line 1212 "robdd.m"
                MR_Word mercury__robdd__V_28_28;
#line 1225 "robdd.m"
                MR_Word mercury__robdd__SeenF_25;
#line 1216 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_34_34;
#line 1216 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_35_35;
#line 1216 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_36_36;
#line 39 "map.opt"
                MR_Box mercury__robdd__conv2_SeenF_25;
#line 1232 "robdd.m"
                MR_Word mercury__robdd__conv4_SeenNodes_16;

#line 1211 "robdd.m"
                {
#line 1211 "robdd.m"
                  mercury__robdd__V_27_27 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_31, mercury__robdd__F0_11);
                }
#line 1211 "robdd.m"
                {
#line 1211 "robdd.m"
                  mercury__robdd__filter_2_8_p_0(mercury__robdd__TypeInfo_for_T_31, mercury__robdd__P_9, mercury__robdd__D_10, mercury__robdd__V_27_27, &mercury__robdd__Ftrue_18, mercury__robdd__SeenVars0_13, &mercury__robdd__SeenVars1_19, mercury__robdd__SeenNodes0_15, &mercury__robdd__SeenNodes1_20);
                }
#line 1213 "robdd.m"
                {
#line 1213 "robdd.m"
                  mercury__robdd__V_28_28 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_31, mercury__robdd__F0_11);
                }
#line 1213 "robdd.m"
                {
#line 1213 "robdd.m"
                  mercury__robdd__filter_2_8_p_0(mercury__robdd__TypeInfo_for_T_31, mercury__robdd__P_9, mercury__robdd__D_10, mercury__robdd__V_28_28, &mercury__robdd__Ffalse_21, mercury__robdd__SeenVars1_19, &mercury__robdd__SeenVars2_22, mercury__robdd__SeenNodes1_20, &mercury__robdd__SeenNodes2_23);
                }
#line 1215 "robdd.m"
                {
#line 1215 "robdd.m"
                  mercury__robdd__V_24 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_31, mercury__robdd__F0_11);
                }
#line 18853 "robdd.c"
                mercury__robdd__TypeCtorInfo_34_34 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 18855 "robdd.c"
                mercury__robdd__TypeCtorInfo_36_36 = (MR_Word) &mercury__bool__bool__type_ctor_info_bool_0;
#line 18857 "robdd.c"
                {
#line 18859 "robdd.c"
                  mercury__robdd__TypeInfo_35_35 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 18861 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_35_35, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_34_34));
#line 18863 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_35_35, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_31));
#line 18865 "robdd.c"
                }
#line 39 "map.opt"
                {
#line 39 "map.opt"
                  mercury__robdd__succeeded = mercury__tree234__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_115_101_97_114_99_104_95_95_91_75_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(mercury__robdd__TypeInfo_for_T_31, mercury__robdd__TypeInfo_35_35, mercury__robdd__TypeCtorInfo_36_36, mercury__robdd__SeenVars0_13, mercury__robdd__V_24, &mercury__robdd__conv2_SeenF_25);
                }
#line 39 "map.opt"
                if (mercury__robdd__succeeded)
#line 39 "map.opt"
                  {
#line 39 "map.opt"
                    mercury__robdd__SeenF_25 = ((MR_Word) mercury__robdd__conv2_SeenF_25);
#line 39 "map.opt"
                    mercury__robdd__succeeded = MR_TRUE;
#line 39 "map.opt"
                  }
#line 1225 "robdd.m"
                if (mercury__robdd__succeeded)
#line 1217 "robdd.m"
                  {
#line 1217 "robdd.m"
                    *mercury__robdd__SeenVars_14 = mercury__robdd__SeenVars2_22;
#line 1221 "robdd.m"
                    if ((mercury__robdd__SeenF_25 == (MR_Integer) 0))
#line 1223 "robdd.m"
                      {
#line 1223 "robdd.m"
                        *mercury__robdd__F_12 = mercury__robdd__f_plus_2_f_0(mercury__robdd__TypeInfo_for_T_31, mercury__robdd__Ftrue_18, mercury__robdd__Ffalse_21);
                      }
#line 1221 "robdd.m"
                    else
#line 1220 "robdd.m"
                      {
#line 1220 "robdd.m"
                        *mercury__robdd__F_12 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_31, mercury__robdd__V_24, mercury__robdd__Ftrue_18, mercury__robdd__Ffalse_21);
                      }
#line 1217 "robdd.m"
                  }
#line 1225 "robdd.m"
                else
#line 1228 "robdd.m"
                  {
#line 1225 "robdd.m"
                    MR_bool MR_CALL (* mercury__robdd__func_3)(MR_Box, MR_Box) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__robdd__P_9, (MR_Integer) 1)));

#line 1225 "robdd.m"
                    {
#line 1225 "robdd.m"
                      mercury__robdd__succeeded = mercury__robdd__func_3(((MR_Box) mercury__robdd__P_9), ((MR_Box) (mercury__robdd__V_24)));
                    }
#line 1228 "robdd.m"
                    if (mercury__robdd__succeeded)
#line 1226 "robdd.m"
                      {
#line 1226 "robdd.m"
                        MR_Word mercury__robdd__TypeCtorInfo_37_37;
#line 1226 "robdd.m"
                        MR_Word mercury__robdd__TypeInfo_38_38;
#line 1226 "robdd.m"
                        MR_Word mercury__robdd__TypeCtorInfo_39_39;

#line 1226 "robdd.m"
                        {
#line 1226 "robdd.m"
                          *mercury__robdd__F_12 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_31, mercury__robdd__V_24, mercury__robdd__Ftrue_18, mercury__robdd__Ffalse_21);
                        }
#line 18932 "robdd.c"
                        mercury__robdd__TypeCtorInfo_37_37 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 18934 "robdd.c"
                        {
#line 18936 "robdd.c"
                          mercury__robdd__TypeInfo_38_38 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 18938 "robdd.c"
                          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_38_38, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_37_37));
#line 18940 "robdd.c"
                          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_38_38, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_31));
#line 18942 "robdd.c"
                        }
#line 18944 "robdd.c"
                        mercury__robdd__TypeCtorInfo_39_39 = (MR_Word) &mercury__bool__bool__type_ctor_info_bool_0;
#line 1227 "robdd.m"
                        {
#line 1227 "robdd.m"
                          mercury__map__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_100_101_116_95_105_110_115_101_114_116_95_95_91_75_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_4_p_0(mercury__robdd__TypeInfo_for_T_31, mercury__robdd__TypeInfo_38_38, mercury__robdd__TypeCtorInfo_39_39, mercury__robdd__V_24, ((MR_Box) ((MR_Integer) 1)), mercury__robdd__SeenVars2_22, mercury__robdd__SeenVars_14);
                        }
#line 1226 "robdd.m"
                      }
#line 1228 "robdd.m"
                    else
#line 1229 "robdd.m"
                      {
#line 1229 "robdd.m"
                        MR_Word mercury__robdd__TypeCtorInfo_40_40;
#line 1229 "robdd.m"
                        MR_Word mercury__robdd__TypeInfo_41_41;
#line 1229 "robdd.m"
                        MR_Word mercury__robdd__TypeCtorInfo_42_42;

#line 1229 "robdd.m"
                        {
#line 1229 "robdd.m"
                          *mercury__robdd__F_12 = mercury__robdd__f_plus_2_f_0(mercury__robdd__TypeInfo_for_T_31, mercury__robdd__Ftrue_18, mercury__robdd__Ffalse_21);
                        }
#line 18969 "robdd.c"
                        mercury__robdd__TypeCtorInfo_40_40 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 18971 "robdd.c"
                        {
#line 18973 "robdd.c"
                          mercury__robdd__TypeInfo_41_41 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 18975 "robdd.c"
                          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_41_41, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_40_40));
#line 18977 "robdd.c"
                          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_41_41, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_31));
#line 18979 "robdd.c"
                        }
#line 18981 "robdd.c"
                        mercury__robdd__TypeCtorInfo_42_42 = (MR_Word) &mercury__bool__bool__type_ctor_info_bool_0;
#line 1230 "robdd.m"
                        {
#line 1230 "robdd.m"
                          mercury__map__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_100_101_116_95_105_110_115_101_114_116_95_95_91_75_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_4_p_0(mercury__robdd__TypeInfo_for_T_31, mercury__robdd__TypeInfo_41_41, mercury__robdd__TypeCtorInfo_42_42, mercury__robdd__V_24, ((MR_Box) ((MR_Integer) 0)), mercury__robdd__SeenVars2_22, mercury__robdd__SeenVars_14);
                        }
#line 1229 "robdd.m"
                      }
#line 1228 "robdd.m"
                  }
#line 18992 "robdd.c"
                mercury__robdd__TypeCtorInfo_43_43 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 18994 "robdd.c"
                {
#line 18996 "robdd.c"
                  mercury__robdd__TypeInfo_44_44 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 18998 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_44_44, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_43_43));
#line 19000 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_44_44, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_31));
#line 19002 "robdd.c"
                }
#line 1232 "robdd.m"
                {
#line 1232 "robdd.m"
                  mercury__map__det_insert_4_p_0(mercury__robdd__TypeInfo_44_44, mercury__robdd__TypeInfo_44_44, ((MR_Box) (mercury__robdd__F0_11)), ((MR_Box) (*mercury__robdd__F_12)), (MR_Word) mercury__robdd__SeenNodes2_23, &mercury__robdd__conv4_SeenNodes_16);
                }
#line 1232 "robdd.m"
                *mercury__robdd__SeenNodes_16 = (MR_Word) mercury__robdd__conv4_SeenNodes_16;
#line 1212 "robdd.m"
              }
#line 1210 "robdd.m"
          }
#line 1206 "robdd.m"
      }
#line 1202 "robdd.m"
  }
#line 1194 "robdd.m"
}

#line 1144 "robdd.m"
void MR_CALL 
mercury__robdd__restrict_true_false_vars_2_6_p_0(
#line 1144 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_26,
#line 1144 "robdd.m"
  MR_Word mercury__robdd__TrueVars0_7,
#line 1144 "robdd.m"
  MR_Word mercury__robdd__FalseVars0_8,
#line 1144 "robdd.m"
  MR_Word mercury__robdd__R0_9,
#line 1144 "robdd.m"
  MR_Word * mercury__robdd__R_10,
#line 1144 "robdd.m"
  MR_Word mercury__robdd__Seen0_11,
#line 1144 "robdd.m"
  MR_Word * mercury__robdd__Seen_12)
#line 1144 "robdd.m"
{
#line 1152 "robdd.m"
  {
#line 1152 "robdd.m"
    MR_bool mercury__robdd__succeeded;

#line 1149 "robdd.m"
    {
#line 1149 "robdd.m"
      mercury__robdd__succeeded = mercury__robdd__is_terminal_1_p_0(mercury__robdd__TypeInfo_for_T_26, mercury__robdd__R0_9);
    }
#line 1152 "robdd.m"
    if (mercury__robdd__succeeded)
#line 1150 "robdd.m"
      {
#line 1150 "robdd.m"
        *mercury__robdd__R_10 = mercury__robdd__R0_9;
#line 1151 "robdd.m"
        *mercury__robdd__Seen_12 = mercury__robdd__Seen0_11;
#line 1150 "robdd.m"
      }
#line 1152 "robdd.m"
    else
#line 1155 "robdd.m"
      {
#line 1152 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_27_27 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1152 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_28_28;
#line 1152 "robdd.m"
        MR_Word mercury__robdd__V_38_38;
#line 1152 "robdd.m"
        MR_Word mercury__robdd__V_2_41 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 19074 "robdd.c"
        {
#line 19076 "robdd.c"
          mercury__robdd__TypeInfo_28_28 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 19078 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_28_28, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_27_27));
#line 19080 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_28_28, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_26));
#line 19082 "robdd.c"
        }
#line 113 "sparse_bitset.opt"
        mercury__robdd__V_38_38 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 118 "sparse_bitset.opt"
        {
#line 118 "sparse_bitset.opt"
          mercury__robdd__succeeded = mercury__sparse_bitset____Unify____sparse_bitset_1_0(mercury__robdd__TypeInfo_28_28, (MR_Word) mercury__robdd__TrueVars0_7, (MR_Word) mercury__robdd__V_38_38);
        }
#line 1152 "robdd.m"
        if (mercury__robdd__succeeded)
#line 118 "sparse_bitset.opt"
          {
#line 118 "sparse_bitset.opt"
            mercury__robdd__succeeded = mercury__sparse_bitset____Unify____sparse_bitset_1_0(mercury__robdd__TypeInfo_28_28, (MR_Word) mercury__robdd__FalseVars0_8, (MR_Word) mercury__robdd__V_38_38);
          }
#line 1155 "robdd.m"
        if (mercury__robdd__succeeded)
#line 1153 "robdd.m"
          {
#line 1153 "robdd.m"
            *mercury__robdd__R_10 = mercury__robdd__R0_9;
#line 1154 "robdd.m"
            *mercury__robdd__Seen_12 = mercury__robdd__Seen0_11;
#line 1153 "robdd.m"
          }
#line 1155 "robdd.m"
        else
#line 1158 "robdd.m"
          {
#line 1158 "robdd.m"
            MR_Word mercury__robdd__R1_13;
#line 1155 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_29_29 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 1155 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_30_30;
#line 39 "map.opt"
            MR_Box mercury__robdd__conv0_R1_13;

#line 19121 "robdd.c"
            {
#line 19123 "robdd.c"
              mercury__robdd__TypeInfo_30_30 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 19125 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_30_30, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_29_29));
#line 19127 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_30_30, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_26));
#line 19129 "robdd.c"
            }
#line 39 "map.opt"
            {
#line 39 "map.opt"
              mercury__robdd__succeeded = mercury__tree234__search_3_p_0(mercury__robdd__TypeInfo_30_30, mercury__robdd__TypeInfo_30_30, (MR_Word) mercury__robdd__Seen0_11, ((MR_Box) (mercury__robdd__R0_9)), &mercury__robdd__conv0_R1_13);
            }
#line 39 "map.opt"
            if (mercury__robdd__succeeded)
#line 39 "map.opt"
              {
#line 39 "map.opt"
                mercury__robdd__R1_13 = ((MR_Word) mercury__robdd__conv0_R1_13);
#line 39 "map.opt"
                mercury__robdd__succeeded = MR_TRUE;
#line 39 "map.opt"
              }
#line 1158 "robdd.m"
            if (mercury__robdd__succeeded)
#line 1156 "robdd.m"
              {
#line 1156 "robdd.m"
                *mercury__robdd__R_10 = mercury__robdd__R1_13;
#line 1157 "robdd.m"
                *mercury__robdd__Seen_12 = mercury__robdd__Seen0_11;
#line 1156 "robdd.m"
              }
#line 1158 "robdd.m"
            else
#line 1159 "robdd.m"
              {
#line 1159 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_31_31;
#line 1159 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_32_32;
#line 1159 "robdd.m"
                MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_33;
#line 1159 "robdd.m"
                MR_Word mercury__robdd__TypeClassInfo_for_enum_34;
#line 1159 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_35_35;
#line 1159 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_36_36;
#line 1159 "robdd.m"
                MR_Word mercury__robdd__Var_14;
#line 1159 "robdd.m"
                MR_Word mercury__robdd__TrueVars_15;
#line 1159 "robdd.m"
                MR_Word mercury__robdd__FalseVars_16;
#line 1159 "robdd.m"
                MR_Word mercury__robdd__Seen2_17;
#line 1159 "robdd.m"
                MR_Word mercury__robdd__Set_4_51;
#line 1159 "robdd.m"
                MR_Word mercury__robdd__V_6_52;
#line 1159 "robdd.m"
                MR_Integer mercury__robdd__V_7_53;
#line 1159 "robdd.m"
                MR_Word mercury__robdd__Set_4_55;
#line 1159 "robdd.m"
                MR_Word mercury__robdd__V_6_56;
#line 1159 "robdd.m"
                MR_Integer mercury__robdd__V_7_57;
#line 19192 "robdd.c"
                MR_Box MR_CALL (* mercury__robdd__func_1)(MR_Box, MR_Box);
#line 19194 "robdd.c"
                MR_Box mercury__robdd__conv2_V_7_53;
#line 19196 "robdd.c"
                MR_Box MR_CALL (* mercury__robdd__func_3)(MR_Box, MR_Box);
#line 19198 "robdd.c"
                MR_Box mercury__robdd__conv4_V_7_57;
#line 1162 "robdd.m"
                MR_Word mercury__robdd__Set_3_59;
#line 1162 "robdd.m"
                MR_Integer mercury__robdd__V_5_60;
#line 19204 "robdd.c"
                MR_Box MR_CALL (* mercury__robdd__func_5)(MR_Box, MR_Box);
#line 19206 "robdd.c"
                MR_Box mercury__robdd__conv6_V_5_60;
#line 75 "map.opt"
                MR_Word mercury__robdd__conv9_Seen_12;

#line 1159 "robdd.m"
                {
#line 1159 "robdd.m"
                  mercury__robdd__Var_14 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_26, mercury__robdd__R0_9);
                }
#line 19216 "robdd.c"
                mercury__robdd__BaseTypeClassInfo_for_enum_33 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 19218 "robdd.c"
                mercury__robdd__TypeCtorInfo_31_31 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 19220 "robdd.c"
                {
#line 19222 "robdd.c"
                  mercury__robdd__TypeInfo_32_32 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 19224 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_32_32, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_31_31));
#line 19226 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_32_32, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_26));
#line 19228 "robdd.c"
                }
#line 19230 "robdd.c"
                {
#line 19232 "robdd.c"
                  mercury__robdd__TypeClassInfo_for_enum_34 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 19234 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_34, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_33));
#line 19236 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_34, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_26));
#line 19238 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_34, 2) = ((MR_Box) (mercury__robdd__TypeInfo_32_32));
#line 19240 "robdd.c"
                }
#line 200 "sparse_bitset.opt"
                mercury__robdd__Set_4_51 = (MR_Word) mercury__robdd__TrueVars0_7;
#line 19244 "robdd.c"
                mercury__robdd__func_1 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_34, (MR_Integer) 0)), (MR_Integer) 5)));
#line 19246 "robdd.c"
                {
#line 19248 "robdd.c"
                  mercury__robdd__conv2_V_7_53 = mercury__robdd__func_1(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_34), ((MR_Box) (mercury__robdd__Var_14)));
                }
#line 19251 "robdd.c"
                mercury__robdd__V_7_53 = ((MR_Integer) mercury__robdd__conv2_V_7_53);
#line 201 "sparse_bitset.opt"
                {
#line 201 "sparse_bitset.opt"
                  mercury__robdd__V_6_52 = mercury__sparse_bitset__remove_leq_2_2_f_0(mercury__robdd__Set_4_51, mercury__robdd__V_7_53);
                }
#line 200 "sparse_bitset.opt"
                mercury__robdd__TrueVars_15 = (MR_Word) mercury__robdd__V_6_52;
#line 200 "sparse_bitset.opt"
                mercury__robdd__Set_4_55 = (MR_Word) mercury__robdd__FalseVars0_8;
#line 19262 "robdd.c"
                mercury__robdd__func_3 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_34, (MR_Integer) 0)), (MR_Integer) 5)));
#line 19264 "robdd.c"
                {
#line 19266 "robdd.c"
                  mercury__robdd__conv4_V_7_57 = mercury__robdd__func_3(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_34), ((MR_Box) (mercury__robdd__Var_14)));
                }
#line 19269 "robdd.c"
                mercury__robdd__V_7_57 = ((MR_Integer) mercury__robdd__conv4_V_7_57);
#line 201 "sparse_bitset.opt"
                {
#line 201 "sparse_bitset.opt"
                  mercury__robdd__V_6_56 = mercury__sparse_bitset__remove_leq_2_2_f_0(mercury__robdd__Set_4_55, mercury__robdd__V_7_57);
                }
#line 200 "sparse_bitset.opt"
                mercury__robdd__FalseVars_16 = (MR_Word) mercury__robdd__V_6_56;
#line 162 "sparse_bitset.opt"
                mercury__robdd__Set_3_59 = (MR_Word) mercury__robdd__TrueVars0_7;
#line 19280 "robdd.c"
                mercury__robdd__func_5 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_34, (MR_Integer) 0)), (MR_Integer) 5)));
#line 19282 "robdd.c"
                {
#line 19284 "robdd.c"
                  mercury__robdd__conv6_V_5_60 = mercury__robdd__func_5(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_34), ((MR_Box) (mercury__robdd__Var_14)));
                }
#line 19287 "robdd.c"
                mercury__robdd__V_5_60 = ((MR_Integer) mercury__robdd__conv6_V_5_60);
#line 164 "sparse_bitset.opt"
                {
#line 164 "sparse_bitset.opt"
                  mercury__robdd__succeeded = mercury__sparse_bitset__contains_search_nodes_2_p_0(mercury__robdd__Set_3_59, mercury__robdd__V_5_60);
                }
#line 1165 "robdd.m"
                if (mercury__robdd__succeeded)
#line 1163 "robdd.m"
                  {
#line 1163 "robdd.m"
                    MR_Word mercury__robdd__V_21_21;

#line 1163 "robdd.m"
                    {
#line 1163 "robdd.m"
                      mercury__robdd__V_21_21 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_26, mercury__robdd__R0_9);
                    }
#line 1163 "robdd.m"
                    {
#line 1163 "robdd.m"
                      mercury__robdd__restrict_true_false_vars_2_6_p_0(mercury__robdd__TypeInfo_for_T_26, mercury__robdd__TrueVars_15, mercury__robdd__FalseVars_16, mercury__robdd__V_21_21, mercury__robdd__R_10, mercury__robdd__Seen0_11, &mercury__robdd__Seen2_17);
                    }
#line 1163 "robdd.m"
                  }
#line 1165 "robdd.m"
                else
#line 1168 "robdd.m"
                  {
#line 1165 "robdd.m"
                    MR_Word mercury__robdd__Set_3_62 = (MR_Word) mercury__robdd__FalseVars0_8;
#line 1165 "robdd.m"
                    MR_Integer mercury__robdd__V_5_63;
#line 19321 "robdd.c"
                    MR_Box MR_CALL (* mercury__robdd__func_7)(MR_Box, MR_Box) = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_34, (MR_Integer) 0)), (MR_Integer) 5)));
#line 19323 "robdd.c"
                    MR_Box mercury__robdd__conv8_V_5_63;

#line 19326 "robdd.c"
                    {
#line 19328 "robdd.c"
                      mercury__robdd__conv8_V_5_63 = mercury__robdd__func_7(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_34), ((MR_Box) (mercury__robdd__Var_14)));
                    }
#line 19331 "robdd.c"
                    mercury__robdd__V_5_63 = ((MR_Integer) mercury__robdd__conv8_V_5_63);
#line 164 "sparse_bitset.opt"
                    {
#line 164 "sparse_bitset.opt"
                      mercury__robdd__succeeded = mercury__sparse_bitset__contains_search_nodes_2_p_0(mercury__robdd__Set_3_62, mercury__robdd__V_5_63);
                    }
#line 1168 "robdd.m"
                    if (mercury__robdd__succeeded)
#line 1166 "robdd.m"
                      {
#line 1166 "robdd.m"
                        MR_Word mercury__robdd__V_22_22;

#line 1166 "robdd.m"
                        {
#line 1166 "robdd.m"
                          mercury__robdd__V_22_22 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_26, mercury__robdd__R0_9);
                        }
#line 1166 "robdd.m"
                        {
#line 1166 "robdd.m"
                          mercury__robdd__restrict_true_false_vars_2_6_p_0(mercury__robdd__TypeInfo_for_T_26, mercury__robdd__TrueVars_15, mercury__robdd__FalseVars_16, mercury__robdd__V_22_22, mercury__robdd__R_10, mercury__robdd__Seen0_11, &mercury__robdd__Seen2_17);
                        }
#line 1166 "robdd.m"
                      }
#line 1168 "robdd.m"
                    else
#line 1170 "robdd.m"
                      {
#line 1170 "robdd.m"
                        MR_Word mercury__robdd__R_tr_18;
#line 1170 "robdd.m"
                        MR_Word mercury__robdd__Seen1_19;
#line 1170 "robdd.m"
                        MR_Word mercury__robdd__R_fa_20;
#line 1170 "robdd.m"
                        MR_Word mercury__robdd__V_23_23;
#line 1170 "robdd.m"
                        MR_Word mercury__robdd__V_24_24;
#line 1170 "robdd.m"
                        MR_Word mercury__robdd__V_25_25;

#line 1169 "robdd.m"
                        {
#line 1169 "robdd.m"
                          mercury__robdd__V_23_23 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_26, mercury__robdd__R0_9);
                        }
#line 1169 "robdd.m"
                        {
#line 1169 "robdd.m"
                          mercury__robdd__restrict_true_false_vars_2_6_p_0(mercury__robdd__TypeInfo_for_T_26, mercury__robdd__TrueVars_15, mercury__robdd__FalseVars_16, mercury__robdd__V_23_23, &mercury__robdd__R_tr_18, mercury__robdd__Seen0_11, &mercury__robdd__Seen1_19);
                        }
#line 1171 "robdd.m"
                        {
#line 1171 "robdd.m"
                          mercury__robdd__V_24_24 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_26, mercury__robdd__R0_9);
                        }
#line 1171 "robdd.m"
                        {
#line 1171 "robdd.m"
                          mercury__robdd__restrict_true_false_vars_2_6_p_0(mercury__robdd__TypeInfo_for_T_26, mercury__robdd__TrueVars_15, mercury__robdd__FalseVars_16, mercury__robdd__V_24_24, &mercury__robdd__R_fa_20, mercury__robdd__Seen1_19, &mercury__robdd__Seen2_17);
                        }
#line 1173 "robdd.m"
                        {
#line 1173 "robdd.m"
                          mercury__robdd__V_25_25 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_26, mercury__robdd__R0_9);
                        }
#line 1173 "robdd.m"
                        {
#line 1173 "robdd.m"
                          *mercury__robdd__R_10 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_26, mercury__robdd__V_25_25, mercury__robdd__R_tr_18, mercury__robdd__R_fa_20);
                        }
#line 1170 "robdd.m"
                      }
#line 1168 "robdd.m"
                  }
#line 19408 "robdd.c"
                mercury__robdd__TypeCtorInfo_35_35 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 19410 "robdd.c"
                {
#line 19412 "robdd.c"
                  mercury__robdd__TypeInfo_36_36 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 19414 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_36_36, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_35_35));
#line 19416 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_36_36, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_26));
#line 19418 "robdd.c"
                }
#line 75 "map.opt"
                {
#line 75 "map.opt"
                  mercury__map__det_insert_4_p_0(mercury__robdd__TypeInfo_36_36, mercury__robdd__TypeInfo_36_36, ((MR_Box) (mercury__robdd__R0_9)), ((MR_Box) (*mercury__robdd__R_10)), (MR_Word) mercury__robdd__Seen2_17, &mercury__robdd__conv9_Seen_12);
                }
#line 75 "map.opt"
                *mercury__robdd__Seen_12 = (MR_Word) mercury__robdd__conv9_Seen_12;
#line 1159 "robdd.m"
              }
#line 1158 "robdd.m"
          }
#line 1155 "robdd.m"
      }
#line 1152 "robdd.m"
  }
#line 1144 "robdd.m"
}

#line 1083 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__at_most_one_of_2_3_f_0(
#line 1083 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_29,
#line 1083 "robdd.m"
  MR_Word mercury__robdd__Vars_5,
#line 1083 "robdd.m"
  MR_Word mercury__robdd__OneOf0_6,
#line 1083 "robdd.m"
  MR_Word mercury__robdd__NoneOf0_7)
#line 1083 "robdd.m"
{
#line 1085 "robdd.m"
  {
#line 1085 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1085 "robdd.m"
    MR_Word mercury__robdd__R_8;
#line 1085 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_30_30 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1085 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_31_31;
#line 1085 "robdd.m"
    MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_32;
#line 1085 "robdd.m"
    MR_Word mercury__robdd__TypeClassInfo_for_enum_33;
#line 1085 "robdd.m"
    MR_Word mercury__robdd__V_16_16;
#line 1085 "robdd.m"
    MR_Word mercury__robdd__V_23_23;
#line 1085 "robdd.m"
    MR_Word mercury__robdd__V_10_39;
#line 1085 "robdd.m"
    MR_Word mercury__robdd__Set_6_58;
#line 268 "sparse_bitset.opt"
    MR_Word mercury__robdd__conv0_V_23_23;
#line 118 "list.opt"
    MR_Word mercury__robdd__conv1_V_16_16;
#line 1086 "robdd.m"
    MR_Word mercury__robdd__V_14_14;

#line 19480 "robdd.c"
    {
#line 19482 "robdd.c"
      mercury__robdd__TypeInfo_31_31 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 19484 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_31_31, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_30_30));
#line 19486 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_31_31, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_29));
#line 19488 "robdd.c"
    }
#line 19490 "robdd.c"
    mercury__robdd__BaseTypeClassInfo_for_enum_32 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 19492 "robdd.c"
    {
#line 19494 "robdd.c"
      mercury__robdd__TypeClassInfo_for_enum_33 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 19496 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_33, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_32));
#line 19498 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_33, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_29));
#line 19500 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_33, 2) = ((MR_Box) (mercury__robdd__TypeInfo_31_31));
#line 19502 "robdd.c"
    }
#line 146 "sparse_bitset.opt"
    mercury__robdd__V_10_39 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 258 "sparse_bitset.opt"
    mercury__robdd__Set_6_58 = (MR_Word) mercury__robdd__Vars_5;
#line 268 "sparse_bitset.opt"
    {
#line 268 "sparse_bitset.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_49_48_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_57_93_95_48_4_p_in__sparse_bitset_0(mercury__robdd__TypeClassInfo_for_enum_33, mercury__robdd__Set_6_58, (MR_Word) mercury__robdd__V_10_39, &mercury__robdd__conv0_V_23_23);
    }
#line 268 "sparse_bitset.opt"
    mercury__robdd__V_23_23 = (MR_Word) mercury__robdd__conv0_V_23_23;
#line 118 "list.opt"
    {
#line 118 "list.opt"
      mercury__list__reverse_2_p_0(mercury__robdd__TypeInfo_31_31, (MR_Word) mercury__robdd__V_23_23, &mercury__robdd__conv1_V_16_16);
    }
#line 118 "list.opt"
    mercury__robdd__V_16_16 = (MR_Word) mercury__robdd__conv1_V_16_16;
#line 1086 "robdd.m"
    {
#line 1086 "robdd.m"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_50_95_95_104_111_53_52_95_95_91_49_44_32_50_44_32_51_44_32_53_44_32_54_44_32_55_44_32_56_93_95_48_6_p_in__list_0(mercury__robdd__TypeInfo_for_T_29, mercury__robdd__V_16_16, mercury__robdd__OneOf0_6, &mercury__robdd__R_8, mercury__robdd__NoneOf0_7, &mercury__robdd__V_14_14);
    }
#line 1085 "robdd.m"
    return mercury__robdd__R_8;
#line 1085 "robdd.m"
  }
#line 1083 "robdd.m"
}

#line 1024 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__make_node_3_f_0(
#line 1024 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_5,
#line 1024 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 1024 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 1024 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 1024 "robdd.m"
{
#line 1026 "robdd.m"
  {
#line 1026 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1026 "robdd.m"
    MR_Word mercury__robdd__HeadVar__4_4;
#line 1026 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_6;

#line 1029 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__make_node_3_f_0

	MR_Word Var;
	MR_Word Then;
	MR_Word Else;
	MR_Word Node;

	Var =  mercury__robdd__HeadVar__1_1 ;
	Then =  mercury__robdd__HeadVar__2_2 ;
	Else =  mercury__robdd__HeadVar__3_3 ;
		{
#line 1029 "robdd.m"

    Node = (MR_ROBDD_NODE_TYPE) MR_ROBDD_make_node((int) Var,
        (MR_ROBDD_node *) Then, (MR_ROBDD_node *) Else);

#line 19574 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__HeadVar__4_4  = Node;
#line 1029 "robdd.m"
}
#line 1026 "robdd.m"
    return mercury__robdd__HeadVar__4_4;
#line 1026 "robdd.m"
  }
#line 1024 "robdd.m"
}

#line 966 "robdd.m"
static void MR_CALL 
mercury__robdd__print_robdd_2_5_p_0(
#line 966 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_44,
#line 966 "robdd.m"
  MR_Word mercury__robdd__F_6,
#line 966 "robdd.m"
  MR_Word mercury__robdd__Trues_7,
#line 966 "robdd.m"
  MR_Word mercury__robdd__Falses_8)
#line 966 "robdd.m"
{
#line 983 "robdd.m"
  while (MR_TRUE)
#line 983 "robdd.m"
    {
#line 983 "robdd.m"
      /* tailcall optimized into a loop */
#line 983 "robdd.m"
      {
#line 983 "robdd.m"
        MR_bool mercury__robdd__succeeded;
#line 970 "robdd.m"
        MR_Word mercury__robdd__V_52_52;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastX_56;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastY_57;

#line 970 "robdd.m"
        {
#line 970 "robdd.m"
          mercury__robdd__V_52_52 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_44);
        }
#line 419 "robdd.m"
        mercury__robdd__CastX_56 = (MR_Integer) mercury__robdd__F_6;
#line 419 "robdd.m"
        mercury__robdd__CastY_57 = (MR_Integer) mercury__robdd__V_52_52;
#line 419 "robdd.m"
        mercury__robdd__succeeded = (mercury__robdd__CastX_56 == mercury__robdd__CastY_57);
#line 419 "robdd.m"
        if (mercury__robdd__succeeded)
#line 419 "robdd.m"
          mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
        else
#line 419 "robdd.m"
          {
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_54_54 = (MR_Integer) mercury__robdd__F_6;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_55_55 = (MR_Integer) mercury__robdd__V_52_52;

#line 19642 "robdd.c"
            mercury__robdd__succeeded = (mercury__robdd__V_54_54 == mercury__robdd__V_55_55);
#line 419 "robdd.m"
          }
#line 983 "robdd.m"
        if (mercury__robdd__succeeded)
#line 971 "robdd.m"
          {
#line 971 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_45_45 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 971 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_46_46;
#line 971 "robdd.m"
            MR_Word mercury__robdd__All_9;
#line 971 "robdd.m"
            MR_Word mercury__robdd__Set0_4_61;
#line 971 "robdd.m"
            MR_Word mercury__robdd__Set1_5_62;
#line 971 "robdd.m"
            MR_Word mercury__robdd__Set_3_67;
#line 971 "robdd.m"
            MR_Integer mercury__robdd__V_5_70;
#line 91 "set_unordlist.opt"
            MR_Word mercury__robdd__conv0_Set_3_67;
#line 110 "list.opt"
            MR_Word mercury__robdd__conv1_All_9;

#line 19669 "robdd.c"
            {
#line 19671 "robdd.c"
              mercury__robdd__TypeInfo_46_46 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 19673 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_46_46, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_45_45));
#line 19675 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_46_46, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_44));
#line 19677 "robdd.c"
            }
#line 90 "set_unordlist.opt"
            mercury__robdd__Set0_4_61 = (MR_Word) mercury__robdd__Trues_7;
#line 90 "set_unordlist.opt"
            mercury__robdd__Set1_5_62 = (MR_Word) mercury__robdd__Falses_8;
#line 91 "set_unordlist.opt"
            {
#line 91 "set_unordlist.opt"
              mercury__list__append_3_p_1(mercury__robdd__TypeInfo_46_46, (MR_Word) mercury__robdd__Set1_5_62, (MR_Word) mercury__robdd__Set0_4_61, &mercury__robdd__conv0_Set_3_67);
            }
#line 91 "set_unordlist.opt"
            mercury__robdd__Set_3_67 = (MR_Word) mercury__robdd__conv0_Set_3_67;
#line 78 "list.opt"
            {
#line 78 "list.opt"
              mercury__list__length_2_3_p_0(mercury__robdd__TypeInfo_46_46, (MR_Word) mercury__robdd__Set_3_67, (MR_Integer) 0, &mercury__robdd__V_5_70);
            }
#line 110 "list.opt"
            {
#line 110 "list.opt"
              mercury__list__merge_sort_and_remove_dups_2_3_p_0(mercury__robdd__TypeInfo_46_46, mercury__robdd__V_5_70, (MR_Word) mercury__robdd__Set_3_67, &mercury__robdd__conv1_All_9);
            }
#line 110 "list.opt"
            mercury__robdd__All_9 = (MR_Word) mercury__robdd__conv1_All_9;
#line 521 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__print_robdd_2_5_p_0

	MR_String Message;

	Message =  (MR_String) "(" ;
		{
#line 521 "io.opt"

    mercury_print_string(mercury_current_text_output(), Message);

#line 19714 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 521 "io.opt"
}
#line 973 "robdd.m"
            {
#line 973 "robdd.m"
              mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_53_53_95_95_91_49_44_32_52_44_32_53_93_95_48_4_p_in__list_0(mercury__robdd__TypeInfo_for_T_44, mercury__robdd__Trues_7, mercury__robdd__All_9);
            }
#line 521 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__print_robdd_2_5_p_0

	MR_String Message;

	Message =  (MR_String) ")\n" ;
		{
#line 521 "io.opt"

    mercury_print_string(mercury_current_text_output(), Message);

#line 19737 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 521 "io.opt"
}
#line 971 "robdd.m"
          }
#line 983 "robdd.m"
        else
#line 986 "robdd.m"
          {
#line 983 "robdd.m"
            MR_Word mercury__robdd__V_53_53;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__CastX_78;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__CastY_79;

#line 983 "robdd.m"
            {
#line 983 "robdd.m"
              mercury__robdd__V_53_53 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_44);
            }
#line 419 "robdd.m"
            mercury__robdd__CastX_78 = (MR_Integer) mercury__robdd__F_6;
#line 419 "robdd.m"
            mercury__robdd__CastY_79 = (MR_Integer) mercury__robdd__V_53_53;
#line 419 "robdd.m"
            mercury__robdd__succeeded = (mercury__robdd__CastX_78 == mercury__robdd__CastY_79);
#line 419 "robdd.m"
            if (mercury__robdd__succeeded)
#line 419 "robdd.m"
              mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
            else
#line 419 "robdd.m"
              {
#line 419 "robdd.m"
                MR_Integer mercury__robdd__V_76_76 = (MR_Integer) mercury__robdd__F_6;
#line 419 "robdd.m"
                MR_Integer mercury__robdd__V_77_77 = (MR_Integer) mercury__robdd__V_53_53;

#line 19780 "robdd.c"
                mercury__robdd__succeeded = (mercury__robdd__V_76_76 == mercury__robdd__V_77_77);
#line 419 "robdd.m"
              }
#line 983 "robdd.m"
            mercury__robdd__succeeded = !(mercury__robdd__succeeded);
#line 986 "robdd.m"
            if (mercury__robdd__succeeded)
#line 984 "robdd.m"
              {
#line 984 "robdd.m"
                MR_Word mercury__robdd__V_35_35;
#line 984 "robdd.m"
                MR_Word mercury__robdd__V_36_36;
#line 984 "robdd.m"
                MR_Word mercury__robdd__V_37_37;
#line 984 "robdd.m"
                MR_Word mercury__robdd__V_38_38;
#line 984 "robdd.m"
                MR_Word mercury__robdd__V_39_39;
#line 984 "robdd.m"
                MR_Word mercury__robdd__V_40_40;
#line 984 "robdd.m"
                MR_Word mercury__robdd__S0_5_84;
#line 984 "robdd.m"
                MR_Word mercury__robdd__V_6_85;
#line 984 "robdd.m"
                MR_Word mercury__robdd__S0_5_91;
#line 984 "robdd.m"
                MR_Word mercury__robdd__V_6_92;

#line 984 "robdd.m"
                {
#line 984 "robdd.m"
                  mercury__robdd__V_35_35 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_44, mercury__robdd__F_6);
                }
#line 984 "robdd.m"
                {
#line 984 "robdd.m"
                  mercury__robdd__V_37_37 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_44, mercury__robdd__F_6);
                }
#line 58 "set_unordlist.opt"
                mercury__robdd__S0_5_84 = (MR_Word) mercury__robdd__Trues_7;
#line 59 "set_unordlist.opt"
                {
#line 59 "set_unordlist.opt"
                  mercury__robdd__V_6_85 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 59 "set_unordlist.opt"
                  MR_hl_field(MR_mktag(1), mercury__robdd__V_6_85, 0) = ((MR_Box) (mercury__robdd__V_37_37));
#line 59 "set_unordlist.opt"
                  MR_hl_field(MR_mktag(1), mercury__robdd__V_6_85, 1) = ((MR_Box) (mercury__robdd__S0_5_84));
#line 59 "set_unordlist.opt"
                }
#line 58 "set_unordlist.opt"
                mercury__robdd__V_36_36 = (MR_Word) mercury__robdd__V_6_85;
#line 984 "robdd.m"
                {
#line 984 "robdd.m"
                  mercury__robdd__print_robdd_2_5_p_0(mercury__robdd__TypeInfo_for_T_44, mercury__robdd__V_35_35, mercury__robdd__V_36_36, mercury__robdd__Falses_8);
                }
#line 985 "robdd.m"
                {
#line 985 "robdd.m"
                  mercury__robdd__V_38_38 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_44, mercury__robdd__F_6);
                }
#line 985 "robdd.m"
                {
#line 985 "robdd.m"
                  mercury__robdd__V_40_40 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_44, mercury__robdd__F_6);
                }
#line 58 "set_unordlist.opt"
                mercury__robdd__S0_5_91 = (MR_Word) mercury__robdd__Falses_8;
#line 59 "set_unordlist.opt"
                {
#line 59 "set_unordlist.opt"
                  mercury__robdd__V_6_92 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 59 "set_unordlist.opt"
                  MR_hl_field(MR_mktag(1), mercury__robdd__V_6_92, 0) = ((MR_Box) (mercury__robdd__V_40_40));
#line 59 "set_unordlist.opt"
                  MR_hl_field(MR_mktag(1), mercury__robdd__V_6_92, 1) = ((MR_Box) (mercury__robdd__S0_5_91));
#line 59 "set_unordlist.opt"
                }
#line 58 "set_unordlist.opt"
                mercury__robdd__V_39_39 = (MR_Word) mercury__robdd__V_6_92;
#line 985 "robdd.m"
                /* direct tailcall eliminated */
#line 985 "robdd.m"
                {
#line 985 "robdd.m"
                  MR_Word mercury__robdd__F__tmp_copy_6 = mercury__robdd__V_38_38;
#line 985 "robdd.m"
                  MR_Word mercury__robdd__Falses__tmp_copy_8 = mercury__robdd__V_39_39;

#line 985 "robdd.m"
                  mercury__robdd__Falses_8 = mercury__robdd__Falses__tmp_copy_8;
#line 985 "robdd.m"
                  mercury__robdd__F_6 = mercury__robdd__F__tmp_copy_6;
#line 985 "robdd.m"
                }
#line 985 "robdd.m"
                continue;
#line 984 "robdd.m"
              }
#line 986 "robdd.m"
            else
#line 988 "robdd.m"
              {
#line 988 "robdd.m"
              }
#line 986 "robdd.m"
          }
#line 983 "robdd.m"
      }
#line 983 "robdd.m"
      break;
#line 983 "robdd.m"
    }
#line 966 "robdd.m"
}

#line 880 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__fa_1_f_0(
#line 880 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_3,
#line 880 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1)
#line 880 "robdd.m"
{
#line 899 "robdd.m"
  {
#line 899 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 899 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;
#line 899 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_4;

#line 902 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__fa_1_f_0

	MR_Word F;
	MR_Word Fa;

	F =  mercury__robdd__HeadVar__1_1 ;
		{
#line 902 "robdd.m"

    Fa = (MR_ROBDD_NODE_TYPE) ((MR_ROBDD_node *) F)->fa;

#line 19931 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__HeadVar__2_2  = Fa;
#line 902 "robdd.m"
}
#line 899 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 899 "robdd.m"
  }
#line 880 "robdd.m"
}

#line 879 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__tr_1_f_0(
#line 879 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_3,
#line 879 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1)
#line 879 "robdd.m"
{
#line 891 "robdd.m"
  {
#line 891 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 891 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;
#line 891 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_4;

#line 894 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__tr_1_f_0

	MR_Word F;
	MR_Word Tr;

	F =  mercury__robdd__HeadVar__1_1 ;
		{
#line 894 "robdd.m"

    Tr = (MR_ROBDD_NODE_TYPE) ((MR_ROBDD_node *) F)->tr;

#line 19976 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__HeadVar__2_2  = Tr;
#line 894 "robdd.m"
}
#line 891 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 891 "robdd.m"
  }
#line 879 "robdd.m"
}

#line 878 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__value_1_f_0(
#line 878 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_3,
#line 878 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1)
#line 878 "robdd.m"
{
#line 883 "robdd.m"
  {
#line 883 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 883 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;
#line 883 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_4;

#line 886 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__value_1_f_0

	MR_Word F;
	MR_Word Value;

	F =  mercury__robdd__HeadVar__1_1 ;
		{
#line 886 "robdd.m"

    Value = (MR_ROBDD_NODE_TYPE) ((MR_ROBDD_node *) F)->value;

#line 20021 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__HeadVar__2_2  = Value;
#line 886 "robdd.m"
}
#line 883 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 883 "robdd.m"
  }
#line 878 "robdd.m"
}

#line 865 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__f_101_108_101_109_32_58_61_3_f_0(
#line 865 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_13,
#line 865 "robdd.m"
  MR_Word mercury__robdd__V_1,
#line 865 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 865 "robdd.m"
  MR_Word mercury__robdd__Vs_3)
#line 865 "robdd.m"
{
#line 867 "robdd.m"
  {
#line 867 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 867 "robdd.m"
    MR_Word mercury__robdd__HeadVar__4_4;

#line 867 "robdd.m"
    if ((mercury__robdd__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 867 "robdd.m"
      mercury__robdd__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 867 "robdd.m"
    else
#line 868 "robdd.m"
      {
#line 868 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_14_14;
#line 868 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_15_15;
#line 868 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_16_16;
#line 868 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_17_17;
#line 868 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_18_18;
#line 868 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_19_19;
#line 868 "robdd.m"
        MR_Word mercury__robdd__M0_8;
#line 868 "robdd.m"
        MR_Word mercury__robdd__V_10_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, (MR_Integer) 0)));
#line 868 "robdd.m"
        MR_Word mercury__robdd__V_11_11;
#line 868 "robdd.m"
        MR_Word mercury__robdd__V_12_12;
#line 117 "map.opt"
        MR_Word mercury__robdd__conv0_V_12_12;

#line 868 "robdd.m"
        mercury__robdd__M0_8 = (MR_Word) mercury__robdd__V_10_10;
#line 20088 "robdd.c"
        mercury__robdd__TypeCtorInfo_14_14 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 20090 "robdd.c"
        {
#line 20092 "robdd.c"
          mercury__robdd__TypeInfo_15_15 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 20094 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_15_15, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_14_14));
#line 20096 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_15_15, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_13));
#line 20098 "robdd.c"
        }
#line 20100 "robdd.c"
        mercury__robdd__TypeCtorInfo_18_18 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_entailment_result_1;
#line 20102 "robdd.c"
        mercury__robdd__TypeCtorInfo_16_16 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 20104 "robdd.c"
        {
#line 20106 "robdd.c"
          mercury__robdd__TypeInfo_17_17 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 20108 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_17_17, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_16_16));
#line 20110 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_17_17, 1) = ((MR_Box) (mercury__robdd__TypeInfo_15_15));
#line 20112 "robdd.c"
        }
#line 20114 "robdd.c"
        {
#line 20116 "robdd.c"
          mercury__robdd__TypeInfo_19_19 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 20118 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_19_19, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_18_18));
#line 20120 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_19_19, 1) = ((MR_Box) (mercury__robdd__TypeInfo_17_17));
#line 20122 "robdd.c"
        }
#line 117 "map.opt"
        {
#line 117 "map.opt"
          mercury__tree234__set_4_p_0(mercury__robdd__TypeInfo_15_15, mercury__robdd__TypeInfo_19_19, ((MR_Box) (mercury__robdd__V_1)), ((MR_Box) (mercury__robdd__Vs_3)), (MR_Word) mercury__robdd__M0_8, &mercury__robdd__conv0_V_12_12);
        }
#line 117 "map.opt"
        mercury__robdd__V_12_12 = (MR_Word) mercury__robdd__conv0_V_12_12;
#line 868 "robdd.m"
        mercury__robdd__V_11_11 = (MR_Word) mercury__robdd__V_12_12;
#line 868 "robdd.m"
        {
#line 868 "robdd.m"
          mercury__robdd__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 868 "robdd.m"
          MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__4_4, 0) = ((MR_Box) (mercury__robdd__V_11_11));
#line 868 "robdd.m"
        }
#line 868 "robdd.m"
      }
#line 867 "robdd.m"
    return mercury__robdd__HeadVar__4_4;
#line 867 "robdd.m"
  }
#line 865 "robdd.m"
}

#line 831 "robdd.m"
MR_Box MR_CALL 
mercury__robdd__intersection_2_f_0(
#line 831 "robdd.m"
  MR_Word mercury__robdd__TypeClassInfo_for_intersectable_4,
#line 831 "robdd.m"
  MR_Box mercury__robdd__HeadVar__1_1,
#line 831 "robdd.m"
  MR_Box mercury__robdd__HeadVar__2_2)
#line 831 "robdd.m"
{
#line 20161 "robdd.c"
  {
#line 20163 "robdd.c"
    MR_bool mercury__robdd__succeeded;
#line 20165 "robdd.c"
    MR_Box mercury__robdd__HeadVar__3_3;
#line 20167 "robdd.c"
    MR_Box MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box, MR_Box) = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_4, (MR_Integer) 0)), (MR_Integer) 5)));

#line 20170 "robdd.c"
    {
#line 20172 "robdd.c"
      mercury__robdd__HeadVar__3_3 = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_intersectable_4), mercury__robdd__HeadVar__1_1, mercury__robdd__HeadVar__2_2);
    }
#line 20175 "robdd.c"
    return mercury__robdd__HeadVar__3_3;
#line 20177 "robdd.c"
  }
#line 831 "robdd.m"
}

#line 820 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__get_2_f_0(
#line 820 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_7,
#line 820 "robdd.m"
  MR_Word mercury__robdd__K_4,
#line 820 "robdd.m"
  MR_Word mercury__robdd__IM_5)
#line 820 "robdd.m"
{
#line 822 "robdd.m"
  {
#line 822 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 822 "robdd.m"
    MR_Word mercury__robdd__HeadVar__3_3;
#line 822 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_9_9;
#line 822 "robdd.m"
    MR_Word mercury__robdd__Vs_6;
#line 823 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_8_8 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 823 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_10_10 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 823 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_11_11;
#line 39 "map.opt"
    MR_Box mercury__robdd__conv0_Vs_6;

#line 20212 "robdd.c"
    {
#line 20214 "robdd.c"
      mercury__robdd__TypeInfo_9_9 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 20216 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_9_9, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_8_8));
#line 20218 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_9_9, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_7));
#line 20220 "robdd.c"
    }
#line 20222 "robdd.c"
    {
#line 20224 "robdd.c"
      mercury__robdd__TypeInfo_11_11 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 20226 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_11_11, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_10_10));
#line 20228 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_11_11, 1) = ((MR_Box) (mercury__robdd__TypeInfo_9_9));
#line 20230 "robdd.c"
    }
#line 39 "map.opt"
    {
#line 39 "map.opt"
      mercury__robdd__succeeded = mercury__tree234__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_115_101_97_114_99_104_95_95_91_75_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(mercury__robdd__TypeInfo_for_T_7, mercury__robdd__TypeInfo_9_9, mercury__robdd__TypeInfo_11_11, (MR_Word) mercury__robdd__IM_5, mercury__robdd__K_4, &mercury__robdd__conv0_Vs_6);
    }
#line 39 "map.opt"
    if (mercury__robdd__succeeded)
#line 39 "map.opt"
      {
#line 39 "map.opt"
        mercury__robdd__Vs_6 = ((MR_Word) mercury__robdd__conv0_Vs_6);
#line 39 "map.opt"
        mercury__robdd__succeeded = MR_TRUE;
#line 39 "map.opt"
      }
#line 822 "robdd.m"
    if (mercury__robdd__succeeded)
#line 822 "robdd.m"
      {
#line 822 "robdd.m"
        MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_14 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 822 "robdd.m"
        MR_Word mercury__robdd__TypeClassInfo_for_enum_15;
#line 822 "robdd.m"
        MR_Word mercury__robdd__Set0_6_36;
#line 822 "robdd.m"
        MR_Integer mercury__robdd__V_9_38;
#line 822 "robdd.m"
        MR_Word mercury__robdd__Set_5_39;
#line 20261 "robdd.c"
        MR_Box MR_CALL (* mercury__robdd__func_1)(MR_Box, MR_Box);
#line 20263 "robdd.c"
        MR_Box mercury__robdd__conv2_V_9_38;

#line 20266 "robdd.c"
        {
#line 20268 "robdd.c"
          mercury__robdd__TypeClassInfo_for_enum_15 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 20270 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_15, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_14));
#line 20272 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_15, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_7));
#line 20274 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_15, 2) = ((MR_Box) (mercury__robdd__TypeInfo_9_9));
#line 20276 "robdd.c"
        }
#line 168 "sparse_bitset.opt"
        mercury__robdd__Set0_6_36 = (MR_Word) mercury__robdd__Vs_6;
#line 20280 "robdd.c"
        mercury__robdd__func_1 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_15, (MR_Integer) 0)), (MR_Integer) 5)));
#line 20282 "robdd.c"
        {
#line 20284 "robdd.c"
          mercury__robdd__conv2_V_9_38 = mercury__robdd__func_1(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_15), ((MR_Box) (mercury__robdd__K_4)));
        }
#line 20287 "robdd.c"
        mercury__robdd__V_9_38 = ((MR_Integer) mercury__robdd__conv2_V_9_38);
#line 170 "sparse_bitset.opt"
        {
#line 170 "sparse_bitset.opt"
          mercury__sparse_bitset__insert_2_3_p_0(mercury__robdd__Set0_6_36, mercury__robdd__V_9_38, &mercury__robdd__Set_5_39);
        }
#line 171 "sparse_bitset.opt"
        mercury__robdd__HeadVar__3_3 = (MR_Word) mercury__robdd__Set_5_39;
#line 822 "robdd.m"
      }
#line 822 "robdd.m"
    else
#line 822 "robdd.m"
      {
#line 822 "robdd.m"
        MR_Word mercury__robdd__V_2_40 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 113 "sparse_bitset.opt"
        mercury__robdd__HeadVar__3_3 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 822 "robdd.m"
      }
#line 822 "robdd.m"
    return mercury__robdd__HeadVar__3_3;
#line 822 "robdd.m"
  }
#line 820 "robdd.m"
}

#line 794 "robdd.m"
void MR_CALL 
mercury__robdd__remove_implications_2_7_p_0(
#line 794 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_59,
#line 794 "robdd.m"
  MR_Word mercury__robdd__ImpRes_8,
#line 794 "robdd.m"
  MR_Word mercury__robdd__True_9,
#line 794 "robdd.m"
  MR_Word mercury__robdd__False_10,
#line 794 "robdd.m"
  MR_Word mercury__robdd__R0_11,
#line 794 "robdd.m"
  MR_Word * mercury__robdd__R_12,
#line 794 "robdd.m"
  MR_Word mercury__robdd__DCG_0_20,
#line 794 "robdd.m"
  MR_Word * mercury__robdd__DCG_7_27)
#line 794 "robdd.m"
{
#line 801 "robdd.m"
  while (MR_TRUE)
#line 801 "robdd.m"
    {
#line 801 "robdd.m"
      /* tailcall optimized into a loop */
#line 801 "robdd.m"
      {
#line 801 "robdd.m"
        MR_bool mercury__robdd__succeeded;

#line 799 "robdd.m"
        {
#line 799 "robdd.m"
          mercury__robdd__succeeded = mercury__robdd__is_terminal_1_p_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__R0_11);
        }
#line 801 "robdd.m"
        if (mercury__robdd__succeeded)
#line 801 "robdd.m"
          {
#line 800 "robdd.m"
            *mercury__robdd__R_12 = mercury__robdd__R0_11;
#line 801 "robdd.m"
            *mercury__robdd__DCG_7_27 = mercury__robdd__DCG_0_20;
#line 801 "robdd.m"
          }
#line 801 "robdd.m"
        else
#line 803 "robdd.m"
          {
#line 801 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_60_60;
#line 801 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_61_61;
#line 801 "robdd.m"
            MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_62;
#line 801 "robdd.m"
            MR_Word mercury__robdd__TypeClassInfo_for_enum_63;
#line 801 "robdd.m"
            MR_Word mercury__robdd__V_28_28;
#line 801 "robdd.m"
            MR_Word mercury__robdd__Set_3_75;
#line 801 "robdd.m"
            MR_Integer mercury__robdd__V_5_76;
#line 20381 "robdd.c"
            MR_Box MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box);
#line 20383 "robdd.c"
            MR_Box mercury__robdd__conv1_V_5_76;

#line 801 "robdd.m"
            {
#line 801 "robdd.m"
              mercury__robdd__V_28_28 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__R0_11);
            }
#line 20391 "robdd.c"
            mercury__robdd__BaseTypeClassInfo_for_enum_62 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 20393 "robdd.c"
            mercury__robdd__TypeCtorInfo_60_60 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 162 "sparse_bitset.opt"
            mercury__robdd__Set_3_75 = (MR_Word) mercury__robdd__True_9;
#line 20397 "robdd.c"
            {
#line 20399 "robdd.c"
              mercury__robdd__TypeInfo_61_61 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 20401 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_61_61, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_60_60));
#line 20403 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_61_61, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_59));
#line 20405 "robdd.c"
            }
#line 20407 "robdd.c"
            {
#line 20409 "robdd.c"
              mercury__robdd__TypeClassInfo_for_enum_63 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 20411 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_63, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_62));
#line 20413 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_63, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_59));
#line 20415 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_63, 2) = ((MR_Box) (mercury__robdd__TypeInfo_61_61));
#line 20417 "robdd.c"
            }
#line 20419 "robdd.c"
            mercury__robdd__func_0 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_63, (MR_Integer) 0)), (MR_Integer) 5)));
#line 20421 "robdd.c"
            {
#line 20423 "robdd.c"
              mercury__robdd__conv1_V_5_76 = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_63), ((MR_Box) (mercury__robdd__V_28_28)));
            }
#line 20426 "robdd.c"
            mercury__robdd__V_5_76 = ((MR_Integer) mercury__robdd__conv1_V_5_76);
#line 164 "sparse_bitset.opt"
            {
#line 164 "sparse_bitset.opt"
              mercury__robdd__succeeded = mercury__sparse_bitset__contains_search_nodes_2_p_0(mercury__robdd__Set_3_75, mercury__robdd__V_5_76);
            }
#line 803 "robdd.m"
            if (mercury__robdd__succeeded)
#line 802 "robdd.m"
              {
#line 802 "robdd.m"
                MR_Word mercury__robdd__V_29_29;

#line 802 "robdd.m"
                {
#line 802 "robdd.m"
                  mercury__robdd__V_29_29 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__R0_11);
                }
#line 802 "robdd.m"
                /* direct tailcall eliminated */
#line 802 "robdd.m"
                {
#line 802 "robdd.m"
                  MR_Word mercury__robdd__R0__tmp_copy_11 = mercury__robdd__V_29_29;

#line 802 "robdd.m"
                  mercury__robdd__R0_11 = mercury__robdd__R0__tmp_copy_11;
#line 802 "robdd.m"
                }
#line 802 "robdd.m"
                continue;
#line 802 "robdd.m"
              }
#line 803 "robdd.m"
            else
#line 805 "robdd.m"
              {
#line 803 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_64_64;
#line 803 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_65_65;
#line 803 "robdd.m"
                MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_66;
#line 803 "robdd.m"
                MR_Word mercury__robdd__TypeClassInfo_for_enum_67;
#line 803 "robdd.m"
                MR_Word mercury__robdd__V_30_30;
#line 803 "robdd.m"
                MR_Word mercury__robdd__Set_3_78;
#line 803 "robdd.m"
                MR_Integer mercury__robdd__V_5_79;
#line 20478 "robdd.c"
                MR_Box MR_CALL (* mercury__robdd__func_2)(MR_Box, MR_Box);
#line 20480 "robdd.c"
                MR_Box mercury__robdd__conv3_V_5_79;

#line 803 "robdd.m"
                {
#line 803 "robdd.m"
                  mercury__robdd__V_30_30 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__R0_11);
                }
#line 20488 "robdd.c"
                mercury__robdd__BaseTypeClassInfo_for_enum_66 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 20490 "robdd.c"
                mercury__robdd__TypeCtorInfo_64_64 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 162 "sparse_bitset.opt"
                mercury__robdd__Set_3_78 = (MR_Word) mercury__robdd__False_10;
#line 20494 "robdd.c"
                {
#line 20496 "robdd.c"
                  mercury__robdd__TypeInfo_65_65 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 20498 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_65_65, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_64_64));
#line 20500 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_65_65, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_59));
#line 20502 "robdd.c"
                }
#line 20504 "robdd.c"
                {
#line 20506 "robdd.c"
                  mercury__robdd__TypeClassInfo_for_enum_67 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 20508 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_67, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_66));
#line 20510 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_67, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_59));
#line 20512 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_67, 2) = ((MR_Box) (mercury__robdd__TypeInfo_65_65));
#line 20514 "robdd.c"
                }
#line 20516 "robdd.c"
                mercury__robdd__func_2 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_67, (MR_Integer) 0)), (MR_Integer) 5)));
#line 20518 "robdd.c"
                {
#line 20520 "robdd.c"
                  mercury__robdd__conv3_V_5_79 = mercury__robdd__func_2(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_67), ((MR_Box) (mercury__robdd__V_30_30)));
                }
#line 20523 "robdd.c"
                mercury__robdd__V_5_79 = ((MR_Integer) mercury__robdd__conv3_V_5_79);
#line 164 "sparse_bitset.opt"
                {
#line 164 "sparse_bitset.opt"
                  mercury__robdd__succeeded = mercury__sparse_bitset__contains_search_nodes_2_p_0(mercury__robdd__Set_3_78, mercury__robdd__V_5_79);
                }
#line 805 "robdd.m"
                if (mercury__robdd__succeeded)
#line 804 "robdd.m"
                  {
#line 804 "robdd.m"
                    MR_Word mercury__robdd__V_31_31;

#line 804 "robdd.m"
                    {
#line 804 "robdd.m"
                      mercury__robdd__V_31_31 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__R0_11);
                    }
#line 804 "robdd.m"
                    /* direct tailcall eliminated */
#line 804 "robdd.m"
                    {
#line 804 "robdd.m"
                      MR_Word mercury__robdd__R0__tmp_copy_11 = mercury__robdd__V_31_31;

#line 804 "robdd.m"
                      mercury__robdd__R0_11 = mercury__robdd__R0__tmp_copy_11;
#line 804 "robdd.m"
                    }
#line 804 "robdd.m"
                    continue;
#line 804 "robdd.m"
                  }
#line 805 "robdd.m"
                else
#line 807 "robdd.m"
                  {
#line 807 "robdd.m"
                    MR_Word mercury__robdd__R1_13;
#line 807 "robdd.m"
                    MR_Word mercury__robdd__DCG_3_23 = mercury__robdd__DCG_0_20;
#line 805 "robdd.m"
                    MR_Word mercury__robdd__TypeCtorInfo_68_68 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 805 "robdd.m"
                    MR_Word mercury__robdd__TypeInfo_69_69;
#line 39 "map.opt"
                    MR_Box mercury__robdd__conv4_R1_13;

#line 20572 "robdd.c"
                    {
#line 20574 "robdd.c"
                      mercury__robdd__TypeInfo_69_69 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 20576 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_69_69, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_68_68));
#line 20578 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_69_69, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_59));
#line 20580 "robdd.c"
                    }
#line 39 "map.opt"
                    {
#line 39 "map.opt"
                      mercury__robdd__succeeded = mercury__tree234__search_3_p_0(mercury__robdd__TypeInfo_69_69, mercury__robdd__TypeInfo_69_69, (MR_Word) mercury__robdd__DCG_3_23, ((MR_Box) (mercury__robdd__R0_11)), &mercury__robdd__conv4_R1_13);
                    }
#line 39 "map.opt"
                    if (mercury__robdd__succeeded)
#line 39 "map.opt"
                      {
#line 39 "map.opt"
                        mercury__robdd__R1_13 = ((MR_Word) mercury__robdd__conv4_R1_13);
#line 39 "map.opt"
                        mercury__robdd__succeeded = MR_TRUE;
#line 39 "map.opt"
                      }
#line 807 "robdd.m"
                    if (mercury__robdd__succeeded)
#line 807 "robdd.m"
                      {
#line 806 "robdd.m"
                        *mercury__robdd__R_12 = mercury__robdd__R1_13;
#line 807 "robdd.m"
                        *mercury__robdd__DCG_7_27 = mercury__robdd__DCG_3_23;
#line 807 "robdd.m"
                      }
#line 807 "robdd.m"
                    else
#line 808 "robdd.m"
                      {
#line 808 "robdd.m"
                        MR_Word mercury__robdd__TypeCtorInfo_70_70 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__TypeInfo_71_71;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__TypeCtorInfo_72_72;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__TypeInfo_73_73;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__TrueT_14;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__FalseT_15;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__RT_16;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__TrueF_17;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__FalseF_18;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__RF_19;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__DCG_5_25;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__DCG_6_26;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_32_32;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_33_33;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_34_34;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_35_35;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_36_36;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_37_37;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_38_38;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_39_39;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_40_40;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_41_41;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_42_42;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_43_43;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_44_44;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_45_45;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_46_46;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__Set1_4_89;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__Set2_5_90;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_6_91;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__Set1_4_92;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__Set2_5_93;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_6_94;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_47_47;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_48_48;
#line 808 "robdd.m"
                        MR_Word mercury__robdd__V_49_49;
#line 809 "robdd.m"
                        MR_Word mercury__robdd__V_50_50;
#line 809 "robdd.m"
                        MR_Word mercury__robdd__V_51_51;
#line 809 "robdd.m"
                        MR_Word mercury__robdd__V_52_52;
#line 812 "robdd.m"
                        MR_Word mercury__robdd__V_53_53;
#line 812 "robdd.m"
                        MR_Word mercury__robdd__V_54_54;
#line 812 "robdd.m"
                        MR_Word mercury__robdd__V_55_55;
#line 812 "robdd.m"
                        MR_Word mercury__robdd__conv5_TrueF_17;
#line 813 "robdd.m"
                        MR_Word mercury__robdd__V_56_56;
#line 813 "robdd.m"
                        MR_Word mercury__robdd__V_57_57;
#line 813 "robdd.m"
                        MR_Word mercury__robdd__V_58_58;
#line 813 "robdd.m"
                        MR_Word mercury__robdd__conv6_FalseF_18;
#line 817 "robdd.m"
                        MR_Word mercury__robdd__conv7_DCG_7_27;

#line 20708 "robdd.c"
                        {
#line 20710 "robdd.c"
                          mercury__robdd__TypeInfo_71_71 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 20712 "robdd.c"
                          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_71_71, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_70_70));
#line 20714 "robdd.c"
                          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_71_71, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_59));
#line 20716 "robdd.c"
                        }
#line 808 "robdd.m"
                        mercury__robdd__V_33_33 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_8, (MR_Integer) 0)));
#line 808 "robdd.m"
                        mercury__robdd__V_47_47 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_8, (MR_Integer) 1)));
#line 808 "robdd.m"
                        mercury__robdd__V_48_48 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_8, (MR_Integer) 2)));
#line 808 "robdd.m"
                        mercury__robdd__V_49_49 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_8, (MR_Integer) 3)));
#line 808 "robdd.m"
                        {
#line 808 "robdd.m"
                          mercury__robdd__V_34_34 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__R0_11);
                        }
#line 808 "robdd.m"
                        {
#line 808 "robdd.m"
                          mercury__robdd__V_32_32 = mercury__robdd__get_2_f_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__V_34_34, mercury__robdd__V_33_33);
                        }
#line 210 "sparse_bitset.opt"
                        mercury__robdd__Set1_4_89 = (MR_Word) mercury__robdd__True_9;
#line 210 "sparse_bitset.opt"
                        mercury__robdd__Set2_5_90 = (MR_Word) mercury__robdd__V_32_32;
#line 211 "sparse_bitset.opt"
                        {
#line 211 "sparse_bitset.opt"
                          mercury__robdd__V_6_91 = mercury__sparse_bitset__union_2_2_f_0(mercury__robdd__Set1_4_89, mercury__robdd__Set2_5_90);
                        }
#line 210 "sparse_bitset.opt"
                        mercury__robdd__TrueT_14 = (MR_Word) mercury__robdd__V_6_91;
#line 809 "robdd.m"
                        mercury__robdd__V_50_50 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_8, (MR_Integer) 0)));
#line 809 "robdd.m"
                        mercury__robdd__V_51_51 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_8, (MR_Integer) 1)));
#line 809 "robdd.m"
                        mercury__robdd__V_36_36 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_8, (MR_Integer) 2)));
#line 809 "robdd.m"
                        mercury__robdd__V_52_52 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_8, (MR_Integer) 3)));
#line 809 "robdd.m"
                        {
#line 809 "robdd.m"
                          mercury__robdd__V_37_37 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__R0_11);
                        }
#line 809 "robdd.m"
                        {
#line 809 "robdd.m"
                          mercury__robdd__V_35_35 = mercury__robdd__get_2_f_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__V_37_37, mercury__robdd__V_36_36);
                        }
#line 210 "sparse_bitset.opt"
                        mercury__robdd__Set1_4_92 = (MR_Word) mercury__robdd__False_10;
#line 210 "sparse_bitset.opt"
                        mercury__robdd__Set2_5_93 = (MR_Word) mercury__robdd__V_35_35;
#line 211 "sparse_bitset.opt"
                        {
#line 211 "sparse_bitset.opt"
                          mercury__robdd__V_6_94 = mercury__sparse_bitset__union_2_2_f_0(mercury__robdd__Set1_4_92, mercury__robdd__Set2_5_93);
                        }
#line 210 "sparse_bitset.opt"
                        mercury__robdd__FalseT_15 = (MR_Word) mercury__robdd__V_6_94;
#line 810 "robdd.m"
                        {
#line 810 "robdd.m"
                          mercury__robdd__V_38_38 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__R0_11);
                        }
#line 810 "robdd.m"
                        {
#line 810 "robdd.m"
                          mercury__robdd__remove_implications_2_7_p_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__ImpRes_8, mercury__robdd__TrueT_14, mercury__robdd__FalseT_15, mercury__robdd__V_38_38, &mercury__robdd__RT_16, mercury__robdd__DCG_0_20, &mercury__robdd__DCG_5_25);
                        }
#line 812 "robdd.m"
                        mercury__robdd__V_53_53 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_8, (MR_Integer) 0)));
#line 812 "robdd.m"
                        mercury__robdd__V_54_54 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_8, (MR_Integer) 1)));
#line 812 "robdd.m"
                        mercury__robdd__V_55_55 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_8, (MR_Integer) 2)));
#line 812 "robdd.m"
                        mercury__robdd__V_40_40 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_8, (MR_Integer) 3)));
#line 812 "robdd.m"
                        {
#line 812 "robdd.m"
                          mercury__robdd__V_41_41 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__R0_11);
                        }
#line 812 "robdd.m"
                        {
#line 812 "robdd.m"
                          mercury__robdd__V_39_39 = mercury__robdd__get_2_f_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__V_41_41, mercury__robdd__V_40_40);
                        }
#line 812 "robdd.m"
                        {
#line 812 "robdd.m"
                          mercury__robdd__conv5_TrueF_17 = mercury__sparse_bitset__union_2_f_0(mercury__robdd__TypeInfo_71_71, (MR_Word) mercury__robdd__True_9, (MR_Word) mercury__robdd__V_39_39);
                        }
#line 812 "robdd.m"
                        mercury__robdd__TrueF_17 = (MR_Word) mercury__robdd__conv5_TrueF_17;
#line 813 "robdd.m"
                        mercury__robdd__V_56_56 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_8, (MR_Integer) 0)));
#line 813 "robdd.m"
                        mercury__robdd__V_43_43 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_8, (MR_Integer) 1)));
#line 813 "robdd.m"
                        mercury__robdd__V_57_57 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_8, (MR_Integer) 2)));
#line 813 "robdd.m"
                        mercury__robdd__V_58_58 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_8, (MR_Integer) 3)));
#line 813 "robdd.m"
                        {
#line 813 "robdd.m"
                          mercury__robdd__V_44_44 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__R0_11);
                        }
#line 813 "robdd.m"
                        {
#line 813 "robdd.m"
                          mercury__robdd__V_42_42 = mercury__robdd__get_2_f_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__V_44_44, mercury__robdd__V_43_43);
                        }
#line 813 "robdd.m"
                        {
#line 813 "robdd.m"
                          mercury__robdd__conv6_FalseF_18 = mercury__sparse_bitset__union_2_f_0(mercury__robdd__TypeInfo_71_71, (MR_Word) mercury__robdd__False_10, (MR_Word) mercury__robdd__V_42_42);
                        }
#line 813 "robdd.m"
                        mercury__robdd__FalseF_18 = (MR_Word) mercury__robdd__conv6_FalseF_18;
#line 814 "robdd.m"
                        {
#line 814 "robdd.m"
                          mercury__robdd__V_45_45 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__R0_11);
                        }
#line 814 "robdd.m"
                        {
#line 814 "robdd.m"
                          mercury__robdd__remove_implications_2_7_p_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__ImpRes_8, mercury__robdd__TrueF_17, mercury__robdd__FalseF_18, mercury__robdd__V_45_45, &mercury__robdd__RF_19, mercury__robdd__DCG_5_25, &mercury__robdd__DCG_6_26);
                        }
#line 816 "robdd.m"
                        {
#line 816 "robdd.m"
                          mercury__robdd__V_46_46 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__R0_11);
                        }
#line 816 "robdd.m"
                        {
#line 816 "robdd.m"
                          *mercury__robdd__R_12 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_59, mercury__robdd__V_46_46, mercury__robdd__RT_16, mercury__robdd__RF_19);
                        }
#line 20856 "robdd.c"
                        mercury__robdd__TypeCtorInfo_72_72 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 20858 "robdd.c"
                        {
#line 20860 "robdd.c"
                          mercury__robdd__TypeInfo_73_73 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 20862 "robdd.c"
                          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_73_73, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_72_72));
#line 20864 "robdd.c"
                          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_73_73, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_59));
#line 20866 "robdd.c"
                        }
#line 817 "robdd.m"
                        {
#line 817 "robdd.m"
                          mercury__robdd__conv7_DCG_7_27 = mercury__map__f_101_108_101_109_32_58_61_3_f_0(mercury__robdd__TypeInfo_73_73, mercury__robdd__TypeInfo_73_73, ((MR_Box) (mercury__robdd__R0_11)), (MR_Word) mercury__robdd__DCG_6_26, ((MR_Box) (*mercury__robdd__R_12)));
                        }
#line 817 "robdd.m"
                        *mercury__robdd__DCG_7_27 = (MR_Word) mercury__robdd__conv7_DCG_7_27;
#line 808 "robdd.m"
                      }
#line 807 "robdd.m"
                  }
#line 805 "robdd.m"
              }
#line 803 "robdd.m"
          }
#line 801 "robdd.m"
      }
#line 801 "robdd.m"
      break;
#line 801 "robdd.m"
    }
#line 794 "robdd.m"
}

#line 776 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__imp_res_to_imp_map_1_f_0(
#line 776 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_18,
#line 776 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1)
#line 776 "robdd.m"
{
#line 778 "robdd.m"
  {
#line 778 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 778 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;

#line 778 "robdd.m"
    if ((mercury__robdd__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 48 "tree234.opt"
      mercury__robdd__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 778 "robdd.m"
    else
#line 779 "robdd.m"
      {
#line 779 "robdd.m"
        MR_Word mercury__robdd__IRMap_3;
#line 779 "robdd.m"
        MR_Word mercury__robdd__V_8_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__1_1, (MR_Integer) 0)));
#line 779 "robdd.m"
        MR_Word mercury__robdd__V_14_14;

#line 779 "robdd.m"
        mercury__robdd__IRMap_3 = (MR_Word) mercury__robdd__V_8_8;
#line 48 "tree234.opt"
        mercury__robdd__V_14_14 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 779 "robdd.m"
        {
#line 779 "robdd.m"
          return mercury__robdd__HeadVar__2_2 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_53_54_95_95_91_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_93_95_48_3_f_in__map_0(mercury__robdd__TypeInfo_for_T_18, mercury__robdd__TypeInfo_for_T_18, mercury__robdd__IRMap_3, mercury__robdd__V_14_14);
        }
#line 779 "robdd.m"
      }
#line 778 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 778 "robdd.m"
  }
#line 776 "robdd.m"
}

#line 766 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__implication_result_to_imp_vars_1_f_0(
#line 766 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_13,
#line 766 "robdd.m"
  MR_Word mercury__robdd__ImpRes_3)
#line 766 "robdd.m"
{
#line 768 "robdd.m"
  {
#line 768 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 768 "robdd.m"
    MR_Word mercury__robdd__ImpVars_4;
#line 768 "robdd.m"
    MR_Word mercury__robdd__I0_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_3, (MR_Integer) 0)));
#line 768 "robdd.m"
    MR_Word mercury__robdd__RI0_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_3, (MR_Integer) 1)));
#line 768 "robdd.m"
    MR_Word mercury__robdd__DI0_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_3, (MR_Integer) 2)));
#line 768 "robdd.m"
    MR_Word mercury__robdd__RDI0_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpRes_3, (MR_Integer) 3)));
#line 768 "robdd.m"
    MR_Word mercury__robdd__I_9;
#line 768 "robdd.m"
    MR_Word mercury__robdd__RI_10;
#line 768 "robdd.m"
    MR_Word mercury__robdd__DI_11;
#line 768 "robdd.m"
    MR_Word mercury__robdd__RDI_12;

#line 770 "robdd.m"
    {
#line 770 "robdd.m"
      mercury__robdd__I_9 = mercury__robdd__imp_res_to_imp_map_1_f_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__I0_5);
    }
#line 771 "robdd.m"
    {
#line 771 "robdd.m"
      mercury__robdd__RI_10 = mercury__robdd__imp_res_to_imp_map_1_f_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__RI0_6);
    }
#line 772 "robdd.m"
    {
#line 772 "robdd.m"
      mercury__robdd__DI_11 = mercury__robdd__imp_res_to_imp_map_1_f_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__DI0_7);
    }
#line 773 "robdd.m"
    {
#line 773 "robdd.m"
      mercury__robdd__RDI_12 = mercury__robdd__imp_res_to_imp_map_1_f_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__RDI0_8);
    }
#line 774 "robdd.m"
    {
#line 774 "robdd.m"
      mercury__robdd__ImpVars_4 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 4 * sizeof(MR_Word)), NULL, NULL);
#line 774 "robdd.m"
      MR_hl_field(MR_mktag(0), mercury__robdd__ImpVars_4, 0) = ((MR_Box) (mercury__robdd__I_9));
#line 774 "robdd.m"
      MR_hl_field(MR_mktag(0), mercury__robdd__ImpVars_4, 1) = ((MR_Box) (mercury__robdd__RI_10));
#line 774 "robdd.m"
      MR_hl_field(MR_mktag(0), mercury__robdd__ImpVars_4, 2) = ((MR_Box) (mercury__robdd__DI_11));
#line 774 "robdd.m"
      MR_hl_field(MR_mktag(0), mercury__robdd__ImpVars_4, 3) = ((MR_Box) (mercury__robdd__RDI_12));
#line 774 "robdd.m"
    }
#line 768 "robdd.m"
    return mercury__robdd__ImpVars_4;
#line 768 "robdd.m"
  }
#line 766 "robdd.m"
}

#line 744 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__merge_imp_res_4_f_0(
#line 744 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_19,
#line 744 "robdd.m"
  MR_Word mercury__robdd__TVars_1,
#line 744 "robdd.m"
  MR_Word mercury__robdd__FVars_2,
#line 744 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3,
#line 744 "robdd.m"
  MR_Word mercury__robdd__HeadVar__4_4)
#line 744 "robdd.m"
{
#line 747 "robdd.m"
  {
#line 747 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 747 "robdd.m"
    MR_Word mercury__robdd__HeadVar__5_5;

#line 747 "robdd.m"
    if ((mercury__robdd__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 747 "robdd.m"
      if ((mercury__robdd__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 747 "robdd.m"
        mercury__robdd__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 747 "robdd.m"
      else
#line 749 "robdd.m"
        mercury__robdd__HeadVar__5_5 = mercury__robdd__HeadVar__4_4;
#line 747 "robdd.m"
    else
#line 747 "robdd.m"
      {
#line 747 "robdd.m"
        MR_Word mercury__robdd__V_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__3_3, (MR_Integer) 0)));

#line 747 "robdd.m"
        if ((mercury__robdd__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 748 "robdd.m"
          mercury__robdd__HeadVar__5_5 = mercury__robdd__HeadVar__3_3;
#line 747 "robdd.m"
        else
#line 750 "robdd.m"
          {
#line 750 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_29_43 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 750 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_30_44;
#line 750 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_31_45;
#line 750 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_32_46;
#line 750 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_33_47;
#line 750 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_34_48;
#line 750 "robdd.m"
            MR_Word mercury__robdd__ImpsB_17 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__4_4, (MR_Integer) 0)));
#line 750 "robdd.m"
            MR_Word mercury__robdd__V_18_18;
#line 750 "robdd.m"
            MR_Word mercury__robdd__ImpsA_23 = (MR_Word) mercury__robdd__V_20_20;
#line 750 "robdd.m"
            MR_Word mercury__robdd__ImpsB_24 = (MR_Word) mercury__robdd__ImpsB_17;
#line 750 "robdd.m"
            MR_Word mercury__robdd__Imps_25;
#line 750 "robdd.m"
            MR_Word mercury__robdd__KeysA_26;
#line 750 "robdd.m"
            MR_Word mercury__robdd__KeysB_27;
#line 750 "robdd.m"
            MR_Word mercury__robdd__Keys_28;
#line 750 "robdd.m"
            MR_Word mercury__robdd__V_40_40;
#line 750 "robdd.m"
            MR_Word mercury__robdd__V_5_79;
#line 750 "robdd.m"
            MR_Word mercury__robdd__V_5_87;
#line 70 "tree234.opt"
            MR_Word mercury__robdd__conv0_KeysA_26;
#line 70 "tree234.opt"
            MR_Word mercury__robdd__conv1_KeysB_27;

#line 21100 "robdd.c"
            {
#line 21102 "robdd.c"
              mercury__robdd__TypeInfo_30_44 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 21104 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_30_44, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_29_43));
#line 21106 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_30_44, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_19));
#line 21108 "robdd.c"
            }
#line 21110 "robdd.c"
            mercury__robdd__TypeCtorInfo_33_47 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_entailment_result_1;
#line 21112 "robdd.c"
            mercury__robdd__TypeCtorInfo_31_45 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 21114 "robdd.c"
            {
#line 21116 "robdd.c"
              mercury__robdd__TypeInfo_32_46 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 21118 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_32_46, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_31_45));
#line 21120 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_32_46, 1) = ((MR_Box) (mercury__robdd__TypeInfo_30_44));
#line 21122 "robdd.c"
            }
#line 21124 "robdd.c"
            {
#line 21126 "robdd.c"
              mercury__robdd__TypeInfo_34_48 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 21128 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_34_48, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_33_47));
#line 21130 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_34_48, 1) = ((MR_Box) (mercury__robdd__TypeInfo_32_46));
#line 21132 "robdd.c"
            }
#line 69 "tree234.opt"
            mercury__robdd__V_5_79 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 70 "tree234.opt"
            {
#line 70 "tree234.opt"
              mercury__tree234__keys_acc_3_p_0(mercury__robdd__TypeInfo_30_44, mercury__robdd__TypeInfo_34_48, (MR_Word) mercury__robdd__ImpsA_23, (MR_Word) mercury__robdd__V_5_79, &mercury__robdd__conv0_KeysA_26);
            }
#line 70 "tree234.opt"
            mercury__robdd__KeysA_26 = (MR_Word) mercury__robdd__conv0_KeysA_26;
#line 69 "tree234.opt"
            mercury__robdd__V_5_87 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 70 "tree234.opt"
            {
#line 70 "tree234.opt"
              mercury__tree234__keys_acc_3_p_0(mercury__robdd__TypeInfo_30_44, mercury__robdd__TypeInfo_34_48, (MR_Word) mercury__robdd__ImpsB_24, (MR_Word) mercury__robdd__V_5_87, &mercury__robdd__conv1_KeysB_27);
            }
#line 70 "tree234.opt"
            mercury__robdd__KeysB_27 = (MR_Word) mercury__robdd__conv1_KeysB_27;
#line 57 "list.opt"
            {
#line 57 "list.opt"
              mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(mercury__robdd__TypeInfo_for_T_19, mercury__robdd__TypeInfo_30_44, mercury__robdd__KeysA_26, mercury__robdd__KeysB_27, &mercury__robdd__Keys_28);
            }
#line 48 "tree234.opt"
            mercury__robdd__V_40_40 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 761 "robdd.m"
            {
#line 761 "robdd.m"
              mercury__robdd__Imps_25 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_53_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_49_51_44_32_49_52_44_32_49_53_93_95_48_3_f_in__list_0(mercury__robdd__TypeInfo_for_T_19, mercury__robdd__TVars_1, mercury__robdd__FVars_2, mercury__robdd__ImpsA_23, mercury__robdd__ImpsB_24, mercury__robdd__Keys_28, mercury__robdd__V_40_40);
            }
#line 757 "robdd.m"
            mercury__robdd__V_18_18 = (MR_Word) mercury__robdd__Imps_25;
#line 750 "robdd.m"
            {
#line 750 "robdd.m"
              mercury__robdd__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 750 "robdd.m"
              MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__5_5, 0) = ((MR_Box) (mercury__robdd__V_18_18));
#line 750 "robdd.m"
            }
#line 750 "robdd.m"
          }
#line 747 "robdd.m"
      }
#line 747 "robdd.m"
    return mercury__robdd__HeadVar__5_5;
#line 747 "robdd.m"
  }
#line 744 "robdd.m"
}

#line 703 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__implications_2_1_f_0(
#line 703 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_38,
#line 703 "robdd.m"
  MR_Word mercury__robdd__R_3)
#line 703 "robdd.m"
{
#line 706 "robdd.m"
  {
#line 706 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 706 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;
#line 706 "robdd.m"
    MR_Word mercury__robdd__Imps_4;
#line 706 "robdd.m"
    MR_Word mercury__robdd__RevImps_5;
#line 706 "robdd.m"
    MR_Word mercury__robdd__DisImps_6;
#line 706 "robdd.m"
    MR_Word mercury__robdd__RevDisImps_7;
#line 707 "robdd.m"
    MR_Word mercury__robdd__V_45_45;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastX_49;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastY_50;

#line 707 "robdd.m"
    {
#line 707 "robdd.m"
      mercury__robdd__V_45_45 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_38);
    }
#line 419 "robdd.m"
    mercury__robdd__CastX_49 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
    mercury__robdd__CastY_50 = (MR_Integer) mercury__robdd__V_45_45;
#line 419 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_49 == mercury__robdd__CastY_50);
#line 419 "robdd.m"
    if (mercury__robdd__succeeded)
#line 419 "robdd.m"
      mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
    else
#line 419 "robdd.m"
      {
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_47_47 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_48_48 = (MR_Integer) mercury__robdd__V_45_45;

#line 21239 "robdd.c"
        mercury__robdd__succeeded = (mercury__robdd__V_47_47 == mercury__robdd__V_48_48);
#line 419 "robdd.m"
      }
#line 712 "robdd.m"
    if (mercury__robdd__succeeded)
#line 708 "robdd.m"
      {
#line 708 "robdd.m"
        MR_Word mercury__robdd__V_24_24 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 708 "robdd.m"
        MR_Word mercury__robdd__V_25_25 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 708 "robdd.m"
        mercury__robdd__Imps_4 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__robdd_scalar_common_5[2]);
#line 709 "robdd.m"
        mercury__robdd__RevImps_5 = mercury__robdd__Imps_4;
#line 710 "robdd.m"
        mercury__robdd__DisImps_6 = mercury__robdd__Imps_4;
#line 711 "robdd.m"
        mercury__robdd__RevDisImps_7 = mercury__robdd__Imps_4;
#line 708 "robdd.m"
      }
#line 712 "robdd.m"
    else
#line 717 "robdd.m"
      {
#line 712 "robdd.m"
        MR_Word mercury__robdd__V_46_46;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastX_55;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastY_56;

#line 712 "robdd.m"
        {
#line 712 "robdd.m"
          mercury__robdd__V_46_46 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_38);
        }
#line 419 "robdd.m"
        mercury__robdd__CastX_55 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
        mercury__robdd__CastY_56 = (MR_Integer) mercury__robdd__V_46_46;
#line 419 "robdd.m"
        mercury__robdd__succeeded = (mercury__robdd__CastX_55 == mercury__robdd__CastY_56);
#line 419 "robdd.m"
        if (mercury__robdd__succeeded)
#line 419 "robdd.m"
          mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
        else
#line 419 "robdd.m"
          {
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_53_53 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_54_54 = (MR_Integer) mercury__robdd__V_46_46;

#line 21297 "robdd.c"
            mercury__robdd__succeeded = (mercury__robdd__V_53_53 == mercury__robdd__V_54_54);
#line 419 "robdd.m"
          }
#line 717 "robdd.m"
        if (mercury__robdd__succeeded)
#line 713 "robdd.m"
          {
#line 713 "robdd.m"
            mercury__robdd__Imps_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 714 "robdd.m"
            mercury__robdd__RevImps_5 = mercury__robdd__Imps_4;
#line 715 "robdd.m"
            mercury__robdd__DisImps_6 = mercury__robdd__Imps_4;
#line 716 "robdd.m"
            mercury__robdd__RevDisImps_7 = mercury__robdd__Imps_4;
#line 713 "robdd.m"
          }
#line 717 "robdd.m"
        else
#line 718 "robdd.m"
          {
#line 718 "robdd.m"
            MR_Word mercury__robdd__TTVars_8;
#line 718 "robdd.m"
            MR_Word mercury__robdd__FFVars_9;
#line 718 "robdd.m"
            MR_Word mercury__robdd__TFVars_10;
#line 718 "robdd.m"
            MR_Word mercury__robdd__FTVars_11;
#line 718 "robdd.m"
            MR_Word mercury__robdd__Imps0_12;
#line 718 "robdd.m"
            MR_Word mercury__robdd__RevImps0_13;
#line 718 "robdd.m"
            MR_Word mercury__robdd__DisImps0_14;
#line 718 "robdd.m"
            MR_Word mercury__robdd__RevDisImps0_15;
#line 718 "robdd.m"
            MR_Word mercury__robdd__Imps1_16;
#line 718 "robdd.m"
            MR_Word mercury__robdd__RevImps1_17;
#line 718 "robdd.m"
            MR_Word mercury__robdd__DisImps1_18;
#line 718 "robdd.m"
            MR_Word mercury__robdd__RevDisImps1_19;
#line 718 "robdd.m"
            MR_Word mercury__robdd__Imps2_20;
#line 718 "robdd.m"
            MR_Word mercury__robdd__RevImps2_21;
#line 718 "robdd.m"
            MR_Word mercury__robdd__DisImps2_22;
#line 718 "robdd.m"
            MR_Word mercury__robdd__RevDisImps2_23;
#line 718 "robdd.m"
            MR_Word mercury__robdd__V_26_26;
#line 718 "robdd.m"
            MR_Word mercury__robdd__V_27_27;
#line 718 "robdd.m"
            MR_Word mercury__robdd__V_28_28;
#line 718 "robdd.m"
            MR_Word mercury__robdd__V_29_29;
#line 718 "robdd.m"
            MR_Word mercury__robdd__V_30_30;
#line 718 "robdd.m"
            MR_Word mercury__robdd__V_31_31;
#line 718 "robdd.m"
            MR_Word mercury__robdd__V_32_32;
#line 718 "robdd.m"
            MR_Word mercury__robdd__V_33_33;
#line 718 "robdd.m"
            MR_Word mercury__robdd__V_34_34;
#line 718 "robdd.m"
            MR_Word mercury__robdd__V_35_35;
#line 718 "robdd.m"
            MR_Word mercury__robdd__V_36_36;
#line 718 "robdd.m"
            MR_Word mercury__robdd__V_37_37;

#line 718 "robdd.m"
            {
#line 718 "robdd.m"
              mercury__robdd__V_26_26 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__R_3);
            }
#line 718 "robdd.m"
            {
#line 718 "robdd.m"
              mercury__robdd__TTVars_8 = mercury__robdd__vars_entailed_1_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__V_26_26);
            }
#line 719 "robdd.m"
            {
#line 719 "robdd.m"
              mercury__robdd__V_27_27 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__R_3);
            }
#line 719 "robdd.m"
            {
#line 719 "robdd.m"
              mercury__robdd__FFVars_9 = mercury__robdd__vars_disentailed_1_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__V_27_27);
            }
#line 720 "robdd.m"
            {
#line 720 "robdd.m"
              mercury__robdd__V_28_28 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__R_3);
            }
#line 720 "robdd.m"
            {
#line 720 "robdd.m"
              mercury__robdd__TFVars_10 = mercury__robdd__vars_disentailed_1_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__V_28_28);
            }
#line 721 "robdd.m"
            {
#line 721 "robdd.m"
              mercury__robdd__V_29_29 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__R_3);
            }
#line 721 "robdd.m"
            {
#line 721 "robdd.m"
              mercury__robdd__FTVars_11 = mercury__robdd__vars_entailed_1_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__V_29_29);
            }
#line 723 "robdd.m"
            {
#line 723 "robdd.m"
              mercury__robdd__V_31_31 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__R_3);
            }
#line 723 "robdd.m"
            {
#line 723 "robdd.m"
              mercury__robdd__V_30_30 = mercury__robdd__implications_2_1_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__V_31_31);
            }
#line 723 "robdd.m"
            mercury__robdd__Imps0_12 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_30_30, (MR_Integer) 0)));
#line 723 "robdd.m"
            mercury__robdd__RevImps0_13 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_30_30, (MR_Integer) 1)));
#line 723 "robdd.m"
            mercury__robdd__DisImps0_14 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_30_30, (MR_Integer) 2)));
#line 723 "robdd.m"
            mercury__robdd__RevDisImps0_15 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_30_30, (MR_Integer) 3)));
#line 725 "robdd.m"
            {
#line 725 "robdd.m"
              mercury__robdd__V_33_33 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__R_3);
            }
#line 725 "robdd.m"
            {
#line 725 "robdd.m"
              mercury__robdd__V_32_32 = mercury__robdd__implications_2_1_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__V_33_33);
            }
#line 725 "robdd.m"
            mercury__robdd__Imps1_16 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_32_32, (MR_Integer) 0)));
#line 725 "robdd.m"
            mercury__robdd__RevImps1_17 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_32_32, (MR_Integer) 1)));
#line 725 "robdd.m"
            mercury__robdd__DisImps1_18 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_32_32, (MR_Integer) 2)));
#line 725 "robdd.m"
            mercury__robdd__RevDisImps1_19 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_32_32, (MR_Integer) 3)));
#line 728 "robdd.m"
            {
#line 728 "robdd.m"
              mercury__robdd__Imps2_20 = mercury__robdd__merge_imp_res_4_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__TTVars_8, mercury__robdd__FTVars_11, mercury__robdd__Imps0_12, mercury__robdd__Imps1_16);
            }
#line 729 "robdd.m"
            {
#line 729 "robdd.m"
              mercury__robdd__RevImps2_21 = mercury__robdd__merge_imp_res_4_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__TFVars_10, mercury__robdd__FFVars_9, mercury__robdd__RevImps0_13, mercury__robdd__RevImps1_17);
            }
#line 730 "robdd.m"
            {
#line 730 "robdd.m"
              mercury__robdd__DisImps2_22 = mercury__robdd__merge_imp_res_4_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__TFVars_10, mercury__robdd__FFVars_9, mercury__robdd__DisImps0_14, mercury__robdd__DisImps1_18);
            }
#line 731 "robdd.m"
            {
#line 731 "robdd.m"
              mercury__robdd__RevDisImps2_23 = mercury__robdd__merge_imp_res_4_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__TTVars_8, mercury__robdd__FTVars_11, mercury__robdd__RevDisImps0_15, mercury__robdd__RevDisImps1_19);
            }
#line 738 "robdd.m"
            {
#line 738 "robdd.m"
              mercury__robdd__V_34_34 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__R_3);
            }
#line 867 "robdd.m"
            if ((mercury__robdd__Imps2_20 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 867 "robdd.m"
              mercury__robdd__Imps_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 867 "robdd.m"
            else
#line 868 "robdd.m"
              {
#line 868 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_14_65;
#line 868 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_15_66;
#line 868 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_16_67;
#line 868 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_17_68;
#line 868 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_18_69;
#line 868 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_19_70;
#line 868 "robdd.m"
                MR_Word mercury__robdd__M0_60;
#line 868 "robdd.m"
                MR_Word mercury__robdd__V_62_62 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__Imps2_20, (MR_Integer) 0)));
#line 868 "robdd.m"
                MR_Word mercury__robdd__V_63_63;
#line 868 "robdd.m"
                MR_Word mercury__robdd__V_64_64;
#line 117 "map.opt"
                MR_Word mercury__robdd__conv0_V_64_64;

#line 868 "robdd.m"
                mercury__robdd__M0_60 = (MR_Word) mercury__robdd__V_62_62;
#line 21510 "robdd.c"
                mercury__robdd__TypeCtorInfo_14_65 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 21512 "robdd.c"
                {
#line 21514 "robdd.c"
                  mercury__robdd__TypeInfo_15_66 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 21516 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_15_66, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_14_65));
#line 21518 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_15_66, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_38));
#line 21520 "robdd.c"
                }
#line 21522 "robdd.c"
                mercury__robdd__TypeCtorInfo_18_69 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_entailment_result_1;
#line 21524 "robdd.c"
                mercury__robdd__TypeCtorInfo_16_67 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 21526 "robdd.c"
                {
#line 21528 "robdd.c"
                  mercury__robdd__TypeInfo_17_68 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 21530 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_17_68, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_16_67));
#line 21532 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_17_68, 1) = ((MR_Box) (mercury__robdd__TypeInfo_15_66));
#line 21534 "robdd.c"
                }
#line 21536 "robdd.c"
                {
#line 21538 "robdd.c"
                  mercury__robdd__TypeInfo_19_70 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 21540 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_19_70, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_18_69));
#line 21542 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_19_70, 1) = ((MR_Box) (mercury__robdd__TypeInfo_17_68));
#line 21544 "robdd.c"
                }
#line 117 "map.opt"
                {
#line 117 "map.opt"
                  mercury__tree234__set_4_p_0(mercury__robdd__TypeInfo_15_66, mercury__robdd__TypeInfo_19_70, ((MR_Box) (mercury__robdd__V_34_34)), ((MR_Box) (mercury__robdd__TTVars_8)), (MR_Word) mercury__robdd__M0_60, &mercury__robdd__conv0_V_64_64);
                }
#line 117 "map.opt"
                mercury__robdd__V_64_64 = (MR_Word) mercury__robdd__conv0_V_64_64;
#line 868 "robdd.m"
                mercury__robdd__V_63_63 = (MR_Word) mercury__robdd__V_64_64;
#line 868 "robdd.m"
                {
#line 868 "robdd.m"
                  mercury__robdd__Imps_4 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 868 "robdd.m"
                  MR_hl_field(MR_mktag(1), mercury__robdd__Imps_4, 0) = ((MR_Box) (mercury__robdd__V_63_63));
#line 868 "robdd.m"
                }
#line 868 "robdd.m"
              }
#line 739 "robdd.m"
            {
#line 739 "robdd.m"
              mercury__robdd__V_35_35 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__R_3);
            }
#line 739 "robdd.m"
            {
#line 739 "robdd.m"
              mercury__robdd__RevImps_5 = mercury__robdd__f_101_108_101_109_32_58_61_3_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__V_35_35, mercury__robdd__RevImps2_21, mercury__robdd__FFVars_9);
            }
#line 740 "robdd.m"
            {
#line 740 "robdd.m"
              mercury__robdd__V_36_36 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__R_3);
            }
#line 740 "robdd.m"
            {
#line 740 "robdd.m"
              mercury__robdd__DisImps_6 = mercury__robdd__f_101_108_101_109_32_58_61_3_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__V_36_36, mercury__robdd__DisImps2_22, mercury__robdd__TFVars_10);
            }
#line 741 "robdd.m"
            {
#line 741 "robdd.m"
              mercury__robdd__V_37_37 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__R_3);
            }
#line 741 "robdd.m"
            {
#line 741 "robdd.m"
              mercury__robdd__RevDisImps_7 = mercury__robdd__f_101_108_101_109_32_58_61_3_f_0(mercury__robdd__TypeInfo_for_T_38, mercury__robdd__V_37_37, mercury__robdd__RevDisImps2_23, mercury__robdd__FTVars_11);
            }
#line 718 "robdd.m"
          }
#line 717 "robdd.m"
      }
#line 706 "robdd.m"
    {
#line 706 "robdd.m"
      mercury__robdd__HeadVar__2_2 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 4 * sizeof(MR_Word)), NULL, NULL);
#line 706 "robdd.m"
      MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, 0) = ((MR_Box) (mercury__robdd__Imps_4));
#line 706 "robdd.m"
      MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, 1) = ((MR_Box) (mercury__robdd__RevImps_5));
#line 706 "robdd.m"
      MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, 2) = ((MR_Box) (mercury__robdd__DisImps_6));
#line 706 "robdd.m"
      MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, 3) = ((MR_Box) (mercury__robdd__RevDisImps_7));
#line 706 "robdd.m"
    }
#line 706 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 706 "robdd.m"
  }
#line 703 "robdd.m"
}

#line 671 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__rev_map_1_f_0(
#line 671 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_40,
#line 671 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1)
#line 671 "robdd.m"
{
#line 674 "robdd.m"
  {
#line 674 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 674 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;

#line 674 "robdd.m"
    if ((mercury__robdd__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 674 "robdd.m"
      mercury__robdd__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 674 "robdd.m"
    else
#line 675 "robdd.m"
      {
#line 675 "robdd.m"
        MR_Word mercury__robdd__EQ0_3;
#line 675 "robdd.m"
        MR_Word mercury__robdd__EQ_4;
#line 675 "robdd.m"
        MR_Word mercury__robdd__V_11_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__1_1, (MR_Integer) 0)));
#line 675 "robdd.m"
        MR_Word mercury__robdd__V_12_12;
#line 675 "robdd.m"
        MR_Word mercury__robdd__V_14_14;
#line 675 "robdd.m"
        MR_Word mercury__robdd__V_15_15;
#line 675 "robdd.m"
        MR_Word mercury__robdd__V_2_59;
#line 219 "map.opt"
        MR_Word mercury__robdd__V_10_10;

#line 675 "robdd.m"
        mercury__robdd__EQ0_3 = (MR_Word) mercury__robdd__V_11_11;
#line 114 "sparse_bitset.opt"
        mercury__robdd__V_2_59 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 113 "sparse_bitset.opt"
        mercury__robdd__V_14_14 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 48 "tree234.opt"
        mercury__robdd__V_15_15 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 219 "map.opt"
        {
#line 219 "map.opt"
          mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_50_95_95_104_111_57_54_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_49_44_32_49_50_44_32_49_51_44_32_49_52_44_32_49_53_93_95_48_6_p_in__tree234_0(mercury__robdd__TypeInfo_for_T_40, mercury__robdd__EQ0_3, mercury__robdd__V_14_14, &mercury__robdd__V_10_10, mercury__robdd__V_15_15, &mercury__robdd__EQ_4);
        }
#line 675 "robdd.m"
        mercury__robdd__V_12_12 = (MR_Word) mercury__robdd__EQ_4;
#line 675 "robdd.m"
        {
#line 675 "robdd.m"
          mercury__robdd__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 675 "robdd.m"
          MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, 0) = ((MR_Box) (mercury__robdd__V_12_12));
#line 675 "robdd.m"
        }
#line 675 "robdd.m"
      }
#line 674 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 674 "robdd.m"
  }
#line 671 "robdd.m"
}

#line 627 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__equivalent_vars_2_1_f_0(
#line 627 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_25,
#line 627 "robdd.m"
  MR_Word mercury__robdd__R_3)
#line 627 "robdd.m"
{
#line 635 "robdd.m"
  {
#line 635 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 635 "robdd.m"
    MR_Word mercury__robdd__EQ_4;
#line 633 "robdd.m"
    MR_Word mercury__robdd__V_47_47;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastX_51;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastY_52;

#line 633 "robdd.m"
    {
#line 633 "robdd.m"
      mercury__robdd__V_47_47 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_25);
    }
#line 419 "robdd.m"
    mercury__robdd__CastX_51 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
    mercury__robdd__CastY_52 = (MR_Integer) mercury__robdd__V_47_47;
#line 419 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_51 == mercury__robdd__CastY_52);
#line 419 "robdd.m"
    if (mercury__robdd__succeeded)
#line 419 "robdd.m"
      mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
    else
#line 419 "robdd.m"
      {
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_49_49 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_50_50 = (MR_Integer) mercury__robdd__V_47_47;

#line 21739 "robdd.c"
        mercury__robdd__succeeded = (mercury__robdd__V_49_49 == mercury__robdd__V_50_50);
#line 419 "robdd.m"
      }
#line 635 "robdd.m"
    if (mercury__robdd__succeeded)
#line 634 "robdd.m"
      {
#line 634 "robdd.m"
        MR_Word mercury__robdd__V_10_10 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 634 "robdd.m"
        MR_Word mercury__robdd__V_11_11 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 634 "robdd.m"
        mercury__robdd__EQ_4 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__robdd_scalar_common_5[1]);
#line 634 "robdd.m"
      }
#line 635 "robdd.m"
    else
#line 637 "robdd.m"
      {
#line 635 "robdd.m"
        MR_Word mercury__robdd__V_48_48;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastX_57;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastY_58;

#line 635 "robdd.m"
        {
#line 635 "robdd.m"
          mercury__robdd__V_48_48 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_25);
        }
#line 419 "robdd.m"
        mercury__robdd__CastX_57 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
        mercury__robdd__CastY_58 = (MR_Integer) mercury__robdd__V_48_48;
#line 419 "robdd.m"
        mercury__robdd__succeeded = (mercury__robdd__CastX_57 == mercury__robdd__CastY_58);
#line 419 "robdd.m"
        if (mercury__robdd__succeeded)
#line 419 "robdd.m"
          mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
        else
#line 419 "robdd.m"
          {
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_55_55 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_56_56 = (MR_Integer) mercury__robdd__V_48_48;

#line 21791 "robdd.c"
            mercury__robdd__succeeded = (mercury__robdd__V_55_55 == mercury__robdd__V_56_56);
#line 419 "robdd.m"
          }
#line 637 "robdd.m"
        if (mercury__robdd__succeeded)
#line 636 "robdd.m"
          mercury__robdd__EQ_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 637 "robdd.m"
        else
#line 639 "robdd.m"
          {
#line 639 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_30_30 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 639 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_31_31;
#line 639 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_32_32 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 639 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_33_33;
#line 639 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_34_34 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_entailment_result_1;
#line 639 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_35_35;
#line 639 "robdd.m"
            MR_Word mercury__robdd__BaseTypeClassInfo_for_intersectable_36;
#line 639 "robdd.m"
            MR_Word mercury__robdd__TypeClassInfo_for_intersectable_37;
#line 639 "robdd.m"
            MR_Word mercury__robdd__BaseTypeClassInfo_for_intersectable_38 = (MR_Word) base_typeclass_info_robdd__intersectable__arity1__robdd__entailment_result__arity1__;
#line 639 "robdd.m"
            MR_Word mercury__robdd__TypeClassInfo_for_intersectable_39;
#line 639 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_40_40;
#line 639 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_41_41;
#line 639 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_42_42;
#line 639 "robdd.m"
            MR_Word mercury__robdd__BaseTypeClassInfo_for_intersectable_43;
#line 639 "robdd.m"
            MR_Word mercury__robdd__TypeClassInfo_for_intersectable_44;
#line 639 "robdd.m"
            MR_Word mercury__robdd__BaseTypeClassInfo_for_intersectable_45;
#line 639 "robdd.m"
            MR_Word mercury__robdd__TypeClassInfo_for_intersectable_46;
#line 639 "robdd.m"
            MR_Word mercury__robdd__EQVars_5;
#line 639 "robdd.m"
            MR_Word mercury__robdd__EQ0_6;
#line 639 "robdd.m"
            MR_Word mercury__robdd__V_12_12;
#line 639 "robdd.m"
            MR_Word mercury__robdd__V_13_13;
#line 639 "robdd.m"
            MR_Word mercury__robdd__V_14_14;
#line 639 "robdd.m"
            MR_Word mercury__robdd__V_15_15;
#line 639 "robdd.m"
            MR_Word mercury__robdd__V_16_16;
#line 639 "robdd.m"
            MR_Word mercury__robdd__V_17_17;
#line 639 "robdd.m"
            MR_Word mercury__robdd__V_18_18;
#line 639 "robdd.m"
            MR_Word mercury__robdd__V_19_19;
#line 21857 "robdd.c"
            MR_Box MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box, MR_Box);
#line 21859 "robdd.c"
            MR_Box mercury__robdd__conv1_EQVars_5;
#line 21861 "robdd.c"
            MR_Box MR_CALL (* mercury__robdd__func_2)(MR_Box, MR_Box, MR_Box);
#line 21863 "robdd.c"
            MR_Box mercury__robdd__conv3_EQ0_6;

#line 21866 "robdd.c"
            {
#line 21868 "robdd.c"
              mercury__robdd__TypeInfo_31_31 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 21870 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_31_31, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_30_30));
#line 21872 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_31_31, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_25));
#line 21874 "robdd.c"
            }
#line 21876 "robdd.c"
            {
#line 21878 "robdd.c"
              mercury__robdd__TypeInfo_33_33 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 21880 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_33_33, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_32_32));
#line 21882 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_33_33, 1) = ((MR_Box) (mercury__robdd__TypeInfo_31_31));
#line 21884 "robdd.c"
            }
#line 21886 "robdd.c"
            {
#line 21888 "robdd.c"
              mercury__robdd__TypeInfo_35_35 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 21890 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_35_35, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_34_34));
#line 21892 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_35_35, 1) = ((MR_Box) (mercury__robdd__TypeInfo_33_33));
#line 21894 "robdd.c"
            }
#line 21896 "robdd.c"
            mercury__robdd__BaseTypeClassInfo_for_intersectable_36 = (MR_Word) base_typeclass_info_robdd__intersectable__arity1__sparse_bitset__sparse_bitset__arity1__;
#line 21898 "robdd.c"
            {
#line 21900 "robdd.c"
              mercury__robdd__TypeClassInfo_for_intersectable_37 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 21902 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_37, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_intersectable_36));
#line 21904 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_37, 1) = ((MR_Box) (mercury__robdd__TypeInfo_31_31));
#line 21906 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_37, 2) = ((MR_Box) (mercury__robdd__TypeInfo_33_33));
#line 21908 "robdd.c"
            }
#line 21910 "robdd.c"
            {
#line 21912 "robdd.c"
              mercury__robdd__TypeClassInfo_for_intersectable_39 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 21914 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_39, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_intersectable_38));
#line 21916 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_39, 1) = ((MR_Box) (mercury__robdd__TypeClassInfo_for_intersectable_37));
#line 21918 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_39, 2) = ((MR_Box) (mercury__robdd__TypeInfo_35_35));
#line 21920 "robdd.c"
            }
#line 638 "robdd.m"
            {
#line 638 "robdd.m"
              mercury__robdd__V_13_13 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_25, mercury__robdd__R_3);
            }
#line 638 "robdd.m"
            {
#line 638 "robdd.m"
              mercury__robdd__V_12_12 = mercury__robdd__vars_entailed_1_f_0(mercury__robdd__TypeInfo_for_T_25, mercury__robdd__V_13_13);
            }
#line 639 "robdd.m"
            {
#line 639 "robdd.m"
              mercury__robdd__V_15_15 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_25, mercury__robdd__R_3);
            }
#line 638 "robdd.m"
            {
#line 638 "robdd.m"
              mercury__robdd__V_14_14 = mercury__robdd__vars_disentailed_1_f_0(mercury__robdd__TypeInfo_for_T_25, mercury__robdd__V_15_15);
            }
#line 21942 "robdd.c"
            mercury__robdd__func_0 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_39, (MR_Integer) 0)), (MR_Integer) 5)));
#line 21944 "robdd.c"
            {
#line 21946 "robdd.c"
              mercury__robdd__conv1_EQVars_5 = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_intersectable_39), ((MR_Box) (mercury__robdd__V_12_12)), ((MR_Box) (mercury__robdd__V_14_14)));
            }
#line 21949 "robdd.c"
            mercury__robdd__EQVars_5 = ((MR_Word) mercury__robdd__conv1_EQVars_5);
#line 21951 "robdd.c"
            mercury__robdd__BaseTypeClassInfo_for_intersectable_45 = (MR_Word) base_typeclass_info_robdd__intersectable__arity1__robdd__entailment_result__arity1__;
#line 21953 "robdd.c"
            mercury__robdd__TypeCtorInfo_40_40 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_leader_to_eqvclass_1;
#line 21955 "robdd.c"
            {
#line 21957 "robdd.c"
              mercury__robdd__TypeInfo_41_41 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 21959 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_41_41, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_40_40));
#line 21961 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_41_41, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_25));
#line 21963 "robdd.c"
            }
#line 21965 "robdd.c"
            {
#line 21967 "robdd.c"
              mercury__robdd__TypeInfo_42_42 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 21969 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_42_42, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_34_34));
#line 21971 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_42_42, 1) = ((MR_Box) (mercury__robdd__TypeInfo_41_41));
#line 21973 "robdd.c"
            }
#line 21975 "robdd.c"
            mercury__robdd__BaseTypeClassInfo_for_intersectable_43 = (MR_Word) base_typeclass_info_robdd__intersectable__arity1__robdd__leader_to_eqvclass__arity1__;
#line 21977 "robdd.c"
            {
#line 21979 "robdd.c"
              mercury__robdd__TypeClassInfo_for_intersectable_44 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 21981 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_44, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_intersectable_43));
#line 21983 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_44, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_25));
#line 21985 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_44, 2) = ((MR_Box) (mercury__robdd__TypeInfo_41_41));
#line 21987 "robdd.c"
            }
#line 21989 "robdd.c"
            {
#line 21991 "robdd.c"
              mercury__robdd__TypeClassInfo_for_intersectable_46 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 21993 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_46, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_intersectable_45));
#line 21995 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_46, 1) = ((MR_Box) (mercury__robdd__TypeClassInfo_for_intersectable_44));
#line 21997 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_46, 2) = ((MR_Box) (mercury__robdd__TypeInfo_42_42));
#line 21999 "robdd.c"
            }
#line 640 "robdd.m"
            {
#line 640 "robdd.m"
              mercury__robdd__V_17_17 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_25, mercury__robdd__R_3);
            }
#line 640 "robdd.m"
            {
#line 640 "robdd.m"
              mercury__robdd__V_16_16 = mercury__robdd__equivalent_vars_2_1_f_0(mercury__robdd__TypeInfo_for_T_25, mercury__robdd__V_17_17);
            }
#line 641 "robdd.m"
            {
#line 641 "robdd.m"
              mercury__robdd__V_19_19 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_25, mercury__robdd__R_3);
            }
#line 640 "robdd.m"
            {
#line 640 "robdd.m"
              mercury__robdd__V_18_18 = mercury__robdd__equivalent_vars_2_1_f_0(mercury__robdd__TypeInfo_for_T_25, mercury__robdd__V_19_19);
            }
#line 22021 "robdd.c"
            mercury__robdd__func_2 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_46, (MR_Integer) 0)), (MR_Integer) 5)));
#line 22023 "robdd.c"
            {
#line 22025 "robdd.c"
              mercury__robdd__conv3_EQ0_6 = mercury__robdd__func_2(((MR_Box) mercury__robdd__TypeClassInfo_for_intersectable_46), ((MR_Box) (mercury__robdd__V_16_16)), ((MR_Box) (mercury__robdd__V_18_18)));
            }
#line 22028 "robdd.c"
            mercury__robdd__EQ0_6 = ((MR_Word) mercury__robdd__conv3_EQ0_6);
#line 648 "robdd.m"
            if ((mercury__robdd__EQVars_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 643 "robdd.m"
              {
#line 644 "robdd.m"
                {
#line 644 "robdd.m"
                  mercury__require__error_1_p_0((MR_String) "equivalent_vars: unexpected result");
                }
#line 643 "robdd.m"
              }
#line 648 "robdd.m"
            else
#line 649 "robdd.m"
              {
#line 649 "robdd.m"
                MR_Word mercury__robdd__Vars_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__EQVars_5, (MR_Integer) 0)));
#line 118 "sparse_bitset.opt"
                MR_Word mercury__robdd__V_60_60 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 118 "sparse_bitset.opt"
                MR_Word mercury__robdd__V_2_63 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 118 "sparse_bitset.opt"
                {
#line 118 "sparse_bitset.opt"
                  mercury__robdd__succeeded = mercury__sparse_bitset____Unify____sparse_bitset_1_0(mercury__robdd__TypeInfo_31_31, (MR_Word) mercury__robdd__Vars_7, (MR_Word) mercury__robdd__V_60_60);
                }
#line 652 "robdd.m"
                if (mercury__robdd__succeeded)
#line 651 "robdd.m"
                  mercury__robdd__EQ_4 = mercury__robdd__EQ0_6;
#line 652 "robdd.m"
                else
#line 660 "robdd.m"
                  if ((mercury__robdd__EQ0_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 654 "robdd.m"
                    {
#line 655 "robdd.m"
                      {
#line 655 "robdd.m"
                        mercury__require__error_1_p_0((MR_String) "equivalent_vars: unexpected result");
                      }
#line 654 "robdd.m"
                    }
#line 660 "robdd.m"
                  else
#line 662 "robdd.m"
                    {
#line 662 "robdd.m"
                      MR_Word mercury__robdd__M0_8;
#line 662 "robdd.m"
                      MR_Word mercury__robdd__M_9;
#line 662 "robdd.m"
                      MR_Word mercury__robdd__V_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__EQ0_6, (MR_Integer) 0)));
#line 662 "robdd.m"
                      MR_Word mercury__robdd__V_21_21;
#line 662 "robdd.m"
                      MR_Word mercury__robdd__V_22_22;
#line 663 "robdd.m"
                      MR_Word mercury__robdd__conv4_M_9;

#line 661 "robdd.m"
                      mercury__robdd__M0_8 = (MR_Word) mercury__robdd__V_20_20;
#line 663 "robdd.m"
                      {
#line 663 "robdd.m"
                        mercury__robdd__V_21_21 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_25, mercury__robdd__R_3);
                      }
#line 663 "robdd.m"
                      {
#line 663 "robdd.m"
                        mercury__map__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_100_101_116_95_105_110_115_101_114_116_95_95_91_75_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_4_p_0(mercury__robdd__TypeInfo_for_T_25, mercury__robdd__TypeInfo_31_31, mercury__robdd__TypeInfo_33_33, mercury__robdd__V_21_21, ((MR_Box) (mercury__robdd__Vars_7)), (MR_Word) mercury__robdd__M0_8, &mercury__robdd__conv4_M_9);
                      }
#line 663 "robdd.m"
                      mercury__robdd__M_9 = (MR_Word) mercury__robdd__conv4_M_9;
#line 665 "robdd.m"
                      mercury__robdd__V_22_22 = (MR_Word) mercury__robdd__M_9;
#line 665 "robdd.m"
                      {
#line 665 "robdd.m"
                        mercury__robdd__EQ_4 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 665 "robdd.m"
                        MR_hl_field(MR_mktag(1), mercury__robdd__EQ_4, 0) = ((MR_Box) (mercury__robdd__V_22_22));
#line 665 "robdd.m"
                      }
#line 662 "robdd.m"
                    }
#line 649 "robdd.m"
              }
#line 639 "robdd.m"
          }
#line 637 "robdd.m"
      }
#line 635 "robdd.m"
    return mercury__robdd__EQ_4;
#line 635 "robdd.m"
  }
#line 627 "robdd.m"
}

#line 514 "robdd.m"
static void MR_CALL 
mercury__robdd__report_zero_constraint_0_p_0(void)
#line 514 "robdd.m"
{
#line 515 "robdd.m"
  {
#line 515 "robdd.m"
    MR_bool mercury__robdd__succeeded;

#line 518 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__report_zero_constraint_0_p_0


		{
#line 518 "robdd.m"

    fprintf(stderr, "Zero constraint!!!\n");

#line 22150 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 518 "robdd.m"
}
#line 515 "robdd.m"
  }
#line 514 "robdd.m"
}

#line 504 "robdd.m"
static MR_Word MR_CALL 
mercury__robdd__glb_2_f_0(
#line 504 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_4,
#line 504 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 504 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 504 "robdd.m"
{
#line 505 "robdd.m"
  {
#line 505 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 505 "robdd.m"
    MR_Word mercury__robdd__HeadVar__3_3;

#line 505 "robdd.m"
    {
#line 505 "robdd.m"
      return mercury__robdd__HeadVar__3_3 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_103_108_98_95_95_91_49_93_95_48_2_f_0(mercury__robdd__HeadVar__1_1, mercury__robdd__HeadVar__2_2);
    }
#line 505 "robdd.m"
    return mercury__robdd__HeadVar__3_3;
#line 505 "robdd.m"
  }
#line 504 "robdd.m"
}

#line 401 "robdd.m"
void MR_CALL 
mercury__robdd__clear_caches_0_p_0(void)
#line 401 "robdd.m"
{
#line 1599 "robdd.m"
  {
#line 1599 "robdd.m"
    MR_bool mercury__robdd__succeeded;

#line 1602 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__clear_caches_0_p_0


		{
#line 1602 "robdd.m"

    MR_ROBDD_init_caches();

#line 22211 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 1602 "robdd.m"
}
#line 1599 "robdd.m"
  }
#line 401 "robdd.m"
}

#line 399 "robdd.m"
void MR_CALL 
mercury__robdd__clear_caches_2_p_0(void)
#line 399 "robdd.m"
{
#line 1595 "robdd.m"
  {
#line 1595 "robdd.m"
    MR_bool mercury__robdd__succeeded;

#line 1596 "robdd.m"
    {
#line 1596 "robdd.m"
      mercury__robdd__clear_caches_0_p_0();
#line 1596 "robdd.m"
      return;
    }
#line 1595 "robdd.m"
  }
#line 399 "robdd.m"
}

#line 388 "robdd.m"
void MR_CALL 
mercury__robdd__minimal_model_4_p_0(
#line 388 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_17,
#line 388 "robdd.m"
  MR_Word mercury__robdd__Vars_5,
#line 388 "robdd.m"
  MR_Word mercury__robdd__R_6,
#line 388 "robdd.m"
  MR_Word * mercury__robdd__TrueVars_7,
#line 388 "robdd.m"
  MR_Word * mercury__robdd__FalseVars_8,
#line 388 "robdd.m"
  MR_Cont mercury__robdd__cont,
#line 388 "robdd.m"
  void * mercury__robdd__cont_env_ptr)
#line 388 "robdd.m"
{
#line 1564 "robdd.m"
  while (MR_TRUE)
#line 1564 "robdd.m"
    {
#line 1564 "robdd.m"
      /* tailcall optimized into a loop */
#line 1564 "robdd.m"
      {
#line 1564 "robdd.m"
        MR_bool mercury__robdd__succeeded;
#line 1564 "robdd.m"
        MR_Word mercury__robdd__V_25_25;
#line 1561 "robdd.m"
        MR_Word mercury__robdd__TypeCtorInfo_18_18 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1561 "robdd.m"
        MR_Word mercury__robdd__TypeInfo_19_19;
#line 1561 "robdd.m"
        MR_Word mercury__robdd__V_2_28 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 22282 "robdd.c"
        {
#line 22284 "robdd.c"
          mercury__robdd__TypeInfo_19_19 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 22286 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_19_19, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_18_18));
#line 22288 "robdd.c"
          MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_19_19, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_17));
#line 22290 "robdd.c"
        }
#line 113 "sparse_bitset.opt"
        mercury__robdd__V_25_25 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 118 "sparse_bitset.opt"
        {
#line 118 "sparse_bitset.opt"
          mercury__robdd__succeeded = mercury__sparse_bitset____Unify____sparse_bitset_1_0(mercury__robdd__TypeInfo_19_19, (MR_Word) mercury__robdd__Vars_5, (MR_Word) mercury__robdd__V_25_25);
        }
#line 1564 "robdd.m"
        if (mercury__robdd__succeeded)
#line 1562 "robdd.m"
          {
#line 113 "sparse_bitset.opt"
            *mercury__robdd__TrueVars_7 = mercury__robdd__V_25_25;
#line 113 "sparse_bitset.opt"
            *mercury__robdd__FalseVars_8 = mercury__robdd__V_25_25;
#line 1562 "robdd.m"
            {
#line 1562 "robdd.m"
              mercury__robdd__cont(mercury__robdd__cont_env_ptr);
#line 1562 "robdd.m"
              return;
            }
#line 1562 "robdd.m"
          }
#line 1564 "robdd.m"
        else
#line 1566 "robdd.m"
          {
#line 1566 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_20_20 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1566 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_21_21;
#line 1566 "robdd.m"
            MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_22 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 1566 "robdd.m"
            MR_Word mercury__robdd__TypeClassInfo_for_enum_23;
#line 1566 "robdd.m"
            MR_Word mercury__robdd__TrueVars0_9;
#line 1566 "robdd.m"
            MR_Word mercury__robdd__FalseVars0_10;
#line 1566 "robdd.m"
            MR_Word mercury__robdd__V_11_11;
#line 1566 "robdd.m"
            MR_Word mercury__robdd__V_12_12;
#line 1566 "robdd.m"
            MR_Word mercury__robdd__V_10_38;
#line 1566 "robdd.m"
            MR_Word mercury__robdd__Set_6_57;
#line 1566 "robdd.m"
            MR_Word mercury__robdd__V_2_76;
#line 268 "sparse_bitset.opt"
            MR_Word mercury__robdd__conv0_V_11_11;

#line 22345 "robdd.c"
            {
#line 22347 "robdd.c"
              mercury__robdd__TypeInfo_21_21 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 22349 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_21_21, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_20_20));
#line 22351 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_21_21, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_17));
#line 22353 "robdd.c"
            }
#line 22355 "robdd.c"
            {
#line 22357 "robdd.c"
              mercury__robdd__TypeClassInfo_for_enum_23 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 22359 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_23, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_22));
#line 22361 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_23, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_17));
#line 22363 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_23, 2) = ((MR_Box) (mercury__robdd__TypeInfo_21_21));
#line 22365 "robdd.c"
            }
#line 146 "sparse_bitset.opt"
            mercury__robdd__V_10_38 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 258 "sparse_bitset.opt"
            mercury__robdd__Set_6_57 = (MR_Word) mercury__robdd__Vars_5;
#line 268 "sparse_bitset.opt"
            {
#line 268 "sparse_bitset.opt"
              mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_49_48_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_57_93_95_48_4_p_in__sparse_bitset_0(mercury__robdd__TypeClassInfo_for_enum_23, mercury__robdd__Set_6_57, (MR_Word) mercury__robdd__V_10_38, &mercury__robdd__conv0_V_11_11);
            }
#line 268 "sparse_bitset.opt"
            mercury__robdd__V_11_11 = (MR_Word) mercury__robdd__conv0_V_11_11;
#line 114 "sparse_bitset.opt"
            mercury__robdd__V_2_76 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 113 "sparse_bitset.opt"
            mercury__robdd__V_12_12 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 1565 "robdd.m"
            {
#line 1565 "robdd.m"
              mercury__robdd__succeeded = mercury__robdd__minimal_model_2_6_p_0(mercury__robdd__TypeInfo_for_T_17, mercury__robdd__V_11_11, mercury__robdd__R_6, mercury__robdd__V_12_12, &mercury__robdd__TrueVars0_9, mercury__robdd__V_12_12, &mercury__robdd__FalseVars0_10);
            }
#line 1566 "robdd.m"
            if (mercury__robdd__succeeded)
#line 1566 "robdd.m"
              {
#line 1568 "robdd.m"
                *mercury__robdd__TrueVars_7 = mercury__robdd__TrueVars0_9;
#line 1569 "robdd.m"
                *mercury__robdd__FalseVars_8 = mercury__robdd__FalseVars0_10;
#line 1568 "robdd.m"
                {
#line 1568 "robdd.m"
                  mercury__robdd__cont(mercury__robdd__cont_env_ptr);
                }
#line 1571 "robdd.m"
                {
#line 1571 "robdd.m"
                  MR_Word mercury__robdd__V_14_14;
#line 1571 "robdd.m"
                  MR_Word mercury__robdd__V_15_15;
#line 1571 "robdd.m"
                  MR_Word mercury__robdd__V_16_16;
#line 1571 "robdd.m"
                  MR_Word mercury__robdd__V_81_81;
#line 1571 "robdd.m"
                  MR_Word mercury__robdd__V_82_82;

#line 1571 "robdd.m"
                  {
#line 1571 "robdd.m"
                    mercury__robdd__V_16_16 = mercury__robdd__conj_vars_1_f_0(mercury__robdd__TypeInfo_for_T_17, mercury__robdd__TrueVars0_9);
                  }
#line 544 "robdd.m"
                  {
#line 544 "robdd.m"
                    mercury__robdd__V_81_81 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_17);
                  }
#line 544 "robdd.m"
                  {
#line 544 "robdd.m"
                    mercury__robdd__V_82_82 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_17);
                  }
#line 544 "robdd.m"
                  {
#line 544 "robdd.m"
                    mercury__robdd__V_15_15 = mercury__robdd__ite_3_f_0(mercury__robdd__TypeInfo_for_T_17, mercury__robdd__V_16_16, mercury__robdd__V_81_81, mercury__robdd__V_82_82);
                  }
#line 1571 "robdd.m"
                  {
#line 1571 "robdd.m"
                    mercury__robdd__V_14_14 = mercury__robdd__f_times_2_f_0(mercury__robdd__TypeInfo_for_T_17, mercury__robdd__R_6, mercury__robdd__V_15_15);
                  }
#line 1571 "robdd.m"
                  /* direct tailcall eliminated */
#line 1571 "robdd.m"
                  {
#line 1571 "robdd.m"
                    MR_Word mercury__robdd__R__tmp_copy_6 = mercury__robdd__V_14_14;

#line 1571 "robdd.m"
                    mercury__robdd__R_6 = mercury__robdd__R__tmp_copy_6;
#line 1571 "robdd.m"
                  }
#line 1571 "robdd.m"
                  continue;
#line 1571 "robdd.m"
                }
#line 1566 "robdd.m"
              }
#line 1566 "robdd.m"
          }
#line 1564 "robdd.m"
      }
#line 1564 "robdd.m"
      break;
#line 1564 "robdd.m"
    }
#line 388 "robdd.m"
}

#line 374 "robdd.m"
void MR_CALL 
mercury__robdd__labelling_4_p_0(
#line 374 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_12,
#line 374 "robdd.m"
  MR_Word mercury__robdd__Vars_5,
#line 374 "robdd.m"
  MR_Word mercury__robdd__R_6,
#line 374 "robdd.m"
  MR_Word * mercury__robdd__TrueVars_7,
#line 374 "robdd.m"
  MR_Word * mercury__robdd__FalseVars_8,
#line 374 "robdd.m"
  MR_Cont mercury__robdd__cont,
#line 374 "robdd.m"
  void * mercury__robdd__cont_env_ptr)
#line 374 "robdd.m"
{
#line 1543 "robdd.m"
  {
#line 1543 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1543 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_13_13 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1543 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_14_14;
#line 1543 "robdd.m"
    MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_15 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 1543 "robdd.m"
    MR_Word mercury__robdd__TypeClassInfo_for_enum_16;
#line 1543 "robdd.m"
    MR_Word mercury__robdd__V_9_9;
#line 1543 "robdd.m"
    MR_Word mercury__robdd__V_10_10;
#line 1543 "robdd.m"
    MR_Word mercury__robdd__V_10_20;
#line 1543 "robdd.m"
    MR_Word mercury__robdd__Set_6_39;
#line 1543 "robdd.m"
    MR_Word mercury__robdd__V_2_58;
#line 268 "sparse_bitset.opt"
    MR_Word mercury__robdd__conv0_V_9_9;

#line 22510 "robdd.c"
    {
#line 22512 "robdd.c"
      mercury__robdd__TypeInfo_14_14 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 22514 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_14_14, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_13_13));
#line 22516 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_14_14, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_12));
#line 22518 "robdd.c"
    }
#line 22520 "robdd.c"
    {
#line 22522 "robdd.c"
      mercury__robdd__TypeClassInfo_for_enum_16 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 22524 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_16, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_15));
#line 22526 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_16, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_12));
#line 22528 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_16, 2) = ((MR_Box) (mercury__robdd__TypeInfo_14_14));
#line 22530 "robdd.c"
    }
#line 146 "sparse_bitset.opt"
    mercury__robdd__V_10_20 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 258 "sparse_bitset.opt"
    mercury__robdd__Set_6_39 = (MR_Word) mercury__robdd__Vars_5;
#line 268 "sparse_bitset.opt"
    {
#line 268 "sparse_bitset.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_49_48_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_57_93_95_48_4_p_in__sparse_bitset_0(mercury__robdd__TypeClassInfo_for_enum_16, mercury__robdd__Set_6_39, (MR_Word) mercury__robdd__V_10_20, &mercury__robdd__conv0_V_9_9);
    }
#line 268 "sparse_bitset.opt"
    mercury__robdd__V_9_9 = (MR_Word) mercury__robdd__conv0_V_9_9;
#line 114 "sparse_bitset.opt"
    mercury__robdd__V_2_58 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 113 "sparse_bitset.opt"
    mercury__robdd__V_10_10 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 1544 "robdd.m"
    {
#line 1544 "robdd.m"
      mercury__robdd__labelling_2_6_p_0(mercury__robdd__TypeInfo_for_T_12, mercury__robdd__V_9_9, mercury__robdd__R_6, mercury__robdd__V_10_10, mercury__robdd__TrueVars_7, mercury__robdd__V_10_10, mercury__robdd__FalseVars_8, mercury__robdd__cont, mercury__robdd__cont_env_ptr);
#line 1544 "robdd.m"
      return;
    }
#line 1543 "robdd.m"
  }
#line 374 "robdd.m"
}

#line 359 "robdd.m"
MR_bool MR_CALL 
mercury__robdd__vars_are_constrained_2_p_0(
#line 359 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_6,
#line 359 "robdd.m"
  MR_Word mercury__robdd__F_3,
#line 359 "robdd.m"
  MR_Word mercury__robdd__Vs_4)
#line 359 "robdd.m"
{
#line 1410 "robdd.m"
  {
#line 1410 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1410 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_7_7 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1410 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_8_8;
#line 1410 "robdd.m"
    MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_9 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 1410 "robdd.m"
    MR_Word mercury__robdd__TypeClassInfo_for_enum_10;
#line 1410 "robdd.m"
    MR_Word mercury__robdd__V_5_5;
#line 1410 "robdd.m"
    MR_Word mercury__robdd__V_10_14;
#line 1410 "robdd.m"
    MR_Word mercury__robdd__Set_6_33;
#line 268 "sparse_bitset.opt"
    MR_Word mercury__robdd__conv0_V_5_5;

#line 22591 "robdd.c"
    {
#line 22593 "robdd.c"
      mercury__robdd__TypeInfo_8_8 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 22595 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_7_7));
#line 22597 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_6));
#line 22599 "robdd.c"
    }
#line 22601 "robdd.c"
    {
#line 22603 "robdd.c"
      mercury__robdd__TypeClassInfo_for_enum_10 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 22605 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_10, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_9));
#line 22607 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_10, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_6));
#line 22609 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_10, 2) = ((MR_Box) (mercury__robdd__TypeInfo_8_8));
#line 22611 "robdd.c"
    }
#line 146 "sparse_bitset.opt"
    mercury__robdd__V_10_14 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 258 "sparse_bitset.opt"
    mercury__robdd__Set_6_33 = (MR_Word) mercury__robdd__Vs_4;
#line 268 "sparse_bitset.opt"
    {
#line 268 "sparse_bitset.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_49_48_55_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_57_93_95_48_4_p_in__sparse_bitset_0(mercury__robdd__TypeClassInfo_for_enum_10, mercury__robdd__Set_6_33, (MR_Word) mercury__robdd__V_10_14, &mercury__robdd__conv0_V_5_5);
    }
#line 268 "sparse_bitset.opt"
    mercury__robdd__V_5_5 = (MR_Word) mercury__robdd__conv0_V_5_5;
#line 1411 "robdd.m"
    {
#line 1411 "robdd.m"
      return mercury__robdd__succeeded = mercury__robdd__vars_are_constrained_2_2_p_0(mercury__robdd__TypeInfo_for_T_6, mercury__robdd__F_3, mercury__robdd__V_5_5);
    }
#line 1410 "robdd.m"
    return mercury__robdd__succeeded;
#line 1410 "robdd.m"
  }
#line 359 "robdd.m"
}

#line 355 "robdd.m"
MR_bool MR_CALL 
mercury__robdd__var_is_constrained_2_p_0(
#line 355 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_9,
#line 355 "robdd.m"
  MR_Word mercury__robdd__F_3,
#line 355 "robdd.m"
  MR_Word mercury__robdd__V_4)
#line 355 "robdd.m"
{
#line 1398 "robdd.m"
  while (MR_TRUE)
#line 1398 "robdd.m"
    {
#line 1398 "robdd.m"
      /* tailcall optimized into a loop */
#line 1398 "robdd.m"
      {
#line 1398 "robdd.m"
        MR_bool mercury__robdd__succeeded;

#line 1396 "robdd.m"
        {
#line 1396 "robdd.m"
          mercury__robdd__succeeded = mercury__robdd__is_terminal_1_p_0(mercury__robdd__TypeInfo_for_T_9, mercury__robdd__F_3);
        }
#line 1398 "robdd.m"
        if (mercury__robdd__succeeded)
#line 1397 "robdd.m"
          mercury__robdd__succeeded = MR_FALSE;
#line 1398 "robdd.m"
        else
#line 1399 "robdd.m"
          {
#line 1399 "robdd.m"
            MR_Word mercury__robdd__R_5;
#line 1399 "robdd.m"
            MR_Word mercury__robdd__V_6_6;
#line 1399 "robdd.m"
            MR_Integer mercury__robdd__V_12_12;
#line 1399 "robdd.m"
            MR_Integer mercury__robdd__V_13_13;

#line 1399 "robdd.m"
            {
#line 1399 "robdd.m"
              mercury__robdd__V_6_6 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_9, mercury__robdd__F_3);
            }
#line 1399 "robdd.m"
            mercury__robdd__V_12_12 = (MR_Integer) mercury__robdd__V_6_6;
#line 1399 "robdd.m"
            mercury__robdd__V_13_13 = (MR_Integer) mercury__robdd__V_4;
#line 66 "private_builtin.opt"
            mercury__robdd__succeeded = (mercury__robdd__V_12_12 < mercury__robdd__V_13_13);
#line 69 "private_builtin.opt"
            if (mercury__robdd__succeeded)
#line 68 "private_builtin.opt"
              mercury__robdd__R_5 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
            else
#line 74 "private_builtin.opt"
              {
#line 71 "private_builtin.opt"
                mercury__robdd__succeeded = (mercury__robdd__V_12_12 == mercury__robdd__V_13_13);
#line 74 "private_builtin.opt"
                if (mercury__robdd__succeeded)
#line 73 "private_builtin.opt"
                  mercury__robdd__R_5 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
                else
#line 75 "private_builtin.opt"
                  mercury__robdd__R_5 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
              }
#line 1405 "robdd.m"
            if ((mercury__robdd__R_5 == (MR_Integer) 1))
#line 1403 "robdd.m"
              {
#line 1402 "robdd.m"
                {
#line 1402 "robdd.m"
                  MR_Word mercury__robdd__V_8_8;

#line 1402 "robdd.m"
                  {
#line 1402 "robdd.m"
                    mercury__robdd__V_8_8 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_9, mercury__robdd__F_3);
                  }
#line 1402 "robdd.m"
                  {
#line 1402 "robdd.m"
                    mercury__robdd__succeeded = mercury__robdd__var_is_constrained_2_p_0(mercury__robdd__TypeInfo_for_T_9, mercury__robdd__V_8_8, mercury__robdd__V_4);
                  }
#line 1402 "robdd.m"
                }
#line 1403 "robdd.m"
                if (!(mercury__robdd__succeeded))
#line 1403 "robdd.m"
                  {
#line 1403 "robdd.m"
                    MR_Word mercury__robdd__V_7_7;

#line 1403 "robdd.m"
                    {
#line 1403 "robdd.m"
                      mercury__robdd__V_7_7 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_9, mercury__robdd__F_3);
                    }
#line 1403 "robdd.m"
                    /* direct tailcall eliminated */
#line 1403 "robdd.m"
                    {
#line 1403 "robdd.m"
                      MR_Word mercury__robdd__F__tmp_copy_3 = mercury__robdd__V_7_7;

#line 1403 "robdd.m"
                      mercury__robdd__F_3 = mercury__robdd__F__tmp_copy_3;
#line 1403 "robdd.m"
                    }
#line 1403 "robdd.m"
                    continue;
#line 1403 "robdd.m"
                  }
#line 1403 "robdd.m"
              }
#line 1405 "robdd.m"
            else
#line 1405 "robdd.m"
              if ((mercury__robdd__R_5 == (MR_Integer) 0))
#line 1406 "robdd.m"
                mercury__robdd__succeeded = MR_TRUE;
#line 1405 "robdd.m"
              else
#line 1405 "robdd.m"
                mercury__robdd__succeeded = MR_FALSE;
#line 1399 "robdd.m"
          }
#line 1398 "robdd.m"
        return mercury__robdd__succeeded;
#line 1398 "robdd.m"
      }
#line 1398 "robdd.m"
      break;
#line 1398 "robdd.m"
    }
#line 355 "robdd.m"
}

#line 351 "robdd.m"
void MR_CALL 
mercury__robdd__size_4_p_0(
#line 351 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_17,
#line 351 "robdd.m"
  MR_Word mercury__robdd__F_5,
#line 351 "robdd.m"
  MR_Integer * mercury__robdd__Nodes_6,
#line 351 "robdd.m"
  MR_Integer * mercury__robdd__Depth_7,
#line 351 "robdd.m"
  MR_Word * mercury__robdd__Vars_8)
#line 351 "robdd.m"
{
#line 1371 "robdd.m"
  {
#line 1371 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1371 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_18_18 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_robdd_1;
#line 1371 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_19_19;
#line 1371 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_20_20;
#line 1371 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_21_21;
#line 1371 "robdd.m"
    MR_Word mercury__robdd__Seen_9;
#line 1371 "robdd.m"
    MR_Word mercury__robdd__V_13_13;
#line 1371 "robdd.m"
    MR_Word mercury__robdd__V_14_14;
#line 1371 "robdd.m"
    MR_Word mercury__robdd__V_16_16;
#line 1371 "robdd.m"
    MR_Word mercury__robdd__V_5_29;
#line 1371 "robdd.m"
    MR_Integer mercury__robdd__V_5_36;
#line 98 "set_bbbtree.opt"
    MR_Word mercury__robdd__conv0_V_16_16;

#line 22826 "robdd.c"
    {
#line 22828 "robdd.c"
      mercury__robdd__TypeInfo_19_19 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 22830 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_19_19, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_18_18));
#line 22832 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_19_19, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_17));
#line 22834 "robdd.c"
    }
#line 33 "set_bbbtree.opt"
    mercury__robdd__V_13_13 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1372 "robdd.m"
    {
#line 1372 "robdd.m"
      mercury__robdd__size_2_8_p_0(mercury__robdd__TypeInfo_for_T_17, mercury__robdd__F_5, (MR_Integer) 0, mercury__robdd__Nodes_6, (MR_Integer) 0, mercury__robdd__Depth_7, (MR_Integer) 0, mercury__robdd__V_13_13, &mercury__robdd__Seen_9);
    }
#line 22843 "robdd.c"
    mercury__robdd__TypeCtorInfo_20_20 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 22845 "robdd.c"
    {
#line 22847 "robdd.c"
      mercury__robdd__TypeInfo_21_21 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 22849 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_21_21, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_20_20));
#line 22851 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_21_21, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_17));
#line 22853 "robdd.c"
    }
#line 97 "set_bbbtree.opt"
    mercury__robdd__V_5_29 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 98 "set_bbbtree.opt"
    {
#line 98 "set_bbbtree.opt"
      mercury__set_bbbtree__to_sorted_list2_3_p_1(mercury__robdd__TypeInfo_19_19, (MR_Word) mercury__robdd__Seen_9, (MR_Word) mercury__robdd__V_5_29, &mercury__robdd__conv0_V_16_16);
    }
#line 98 "set_bbbtree.opt"
    mercury__robdd__V_16_16 = (MR_Word) mercury__robdd__conv0_V_16_16;
#line 1373 "robdd.m"
    {
#line 1373 "robdd.m"
      mercury__robdd__V_14_14 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_109_97_112_95_95_104_111_54_49_95_95_91_49_44_32_50_44_32_52_44_32_53_44_32_54_93_95_48_2_f_in__list_0(mercury__robdd__TypeInfo_for_T_17, mercury__robdd__V_16_16);
    }
#line 78 "list.opt"
    {
#line 78 "list.opt"
      mercury__list__length_2_3_p_0(mercury__robdd__TypeInfo_21_21, (MR_Word) mercury__robdd__V_14_14, (MR_Integer) 0, &mercury__robdd__V_5_36);
    }
#line 110 "list.opt"
    {
#line 110 "list.opt"
      mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_115_111_114_116_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_50_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(mercury__robdd__TypeInfo_for_T_17, mercury__robdd__TypeInfo_21_21, mercury__robdd__V_5_36, mercury__robdd__V_14_14, mercury__robdd__Vars_8);
#line 110 "list.opt"
      return;
    }
#line 1371 "robdd.m"
  }
#line 351 "robdd.m"
}

#line 346 "robdd.m"
void MR_CALL 
mercury__robdd__size_3_p_0(
#line 346 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_8,
#line 346 "robdd.m"
  MR_Word mercury__robdd__F_4,
#line 346 "robdd.m"
  MR_Integer * mercury__robdd__Nodes_5,
#line 346 "robdd.m"
  MR_Integer * mercury__robdd__Depth_6)
#line 346 "robdd.m"
{
#line 1369 "robdd.m"
  {
#line 1369 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1369 "robdd.m"
    MR_Word mercury__robdd__V_7_7;

#line 1369 "robdd.m"
    {
#line 1369 "robdd.m"
      mercury__robdd__size_4_p_0(mercury__robdd__TypeInfo_for_T_8, mercury__robdd__F_4, mercury__robdd__Nodes_5, mercury__robdd__Depth_6, &mercury__robdd__V_7_7);
    }
#line 1369 "robdd.m"
  }
#line 346 "robdd.m"
}

#line 342 "robdd.m"
MR_bool MR_CALL 
mercury__robdd__is_terminal_1_p_0(
#line 342 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_2,
#line 342 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1)
#line 342 "robdd.m"
{
#line 1361 "robdd.m"
  {
#line 1361 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1361 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_3;

#line 1364 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__is_terminal_1_p_0

	MR_Word F;
	MR_bool SUCCESS_INDICATOR;

	F =  mercury__robdd__HeadVar__1_1 ;
		{
#line 1364 "robdd.m"

    SUCCESS_INDICATOR = MR_ROBDD_IS_TERMINAL(F);

#line 22945 "robdd.c"

		;}
#undef MR_PROC_LABEL
	if (SUCCESS_INDICATOR) {
#line 1364 "robdd.m"
	}
mercury__robdd__succeeded  = SUCCESS_INDICATOR;
}
#line 1361 "robdd.m"
    return mercury__robdd__succeeded;
#line 1361 "robdd.m"
  }
#line 342 "robdd.m"
}

#line 338 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__rename_vars_2_f_0(
#line 338 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_13,
#line 338 "robdd.m"
  MR_Word mercury__robdd__Subst_4,
#line 338 "robdd.m"
  MR_Word mercury__robdd__F_5)
#line 338 "robdd.m"
{
#line 1010 "robdd.m"
  {
#line 1010 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1010 "robdd.m"
    MR_Word mercury__robdd__HeadVar__3_3;

#line 1011 "robdd.m"
    {
#line 1011 "robdd.m"
      mercury__robdd__succeeded = mercury__robdd__is_terminal_1_p_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__F_5);
    }
#line 1010 "robdd.m"
    if (mercury__robdd__succeeded)
#line 1010 "robdd.m"
      mercury__robdd__HeadVar__3_3 = mercury__robdd__F_5;
#line 1010 "robdd.m"
    else
#line 1014 "robdd.m"
      {
#line 1014 "robdd.m"
        MR_Word mercury__robdd__V_6_6;
#line 1014 "robdd.m"
        MR_Word mercury__robdd__V_7_7;
#line 1014 "robdd.m"
        MR_Word mercury__robdd__V_8_8;
#line 1014 "robdd.m"
        MR_Word mercury__robdd__V_9_9;
#line 1014 "robdd.m"
        MR_Word mercury__robdd__V_10_10;
#line 1014 "robdd.m"
        MR_Word mercury__robdd__V_11_11;
#line 1014 "robdd.m"
        MR_Word mercury__robdd__V_12_12;
#line 1014 "robdd.m"
        MR_Box MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box);
#line 1014 "robdd.m"
        MR_Box mercury__robdd__conv1_V_7_7;

#line 1014 "robdd.m"
        {
#line 1014 "robdd.m"
          mercury__robdd__V_8_8 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__F_5);
        }
#line 1014 "robdd.m"
        mercury__robdd__func_0 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__robdd__Subst_4, (MR_Integer) 1)));
#line 1014 "robdd.m"
        {
#line 1014 "robdd.m"
          mercury__robdd__conv1_V_7_7 = mercury__robdd__func_0(((MR_Box) mercury__robdd__Subst_4), ((MR_Box) (mercury__robdd__V_8_8)));
        }
#line 1014 "robdd.m"
        mercury__robdd__V_7_7 = ((MR_Word) mercury__robdd__conv1_V_7_7);
#line 1014 "robdd.m"
        {
#line 1014 "robdd.m"
          mercury__robdd__V_6_6 = mercury__robdd__var_1_f_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__V_7_7);
        }
#line 1015 "robdd.m"
        {
#line 1015 "robdd.m"
          mercury__robdd__V_10_10 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__F_5);
        }
#line 1014 "robdd.m"
        {
#line 1014 "robdd.m"
          mercury__robdd__V_9_9 = mercury__robdd__rename_vars_2_f_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__Subst_4, mercury__robdd__V_10_10);
        }
#line 1016 "robdd.m"
        {
#line 1016 "robdd.m"
          mercury__robdd__V_12_12 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__F_5);
        }
#line 1014 "robdd.m"
        {
#line 1014 "robdd.m"
          mercury__robdd__V_11_11 = mercury__robdd__rename_vars_2_f_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__Subst_4, mercury__robdd__V_12_12);
        }
#line 1010 "robdd.m"
        {
#line 1010 "robdd.m"
          return mercury__robdd__HeadVar__3_3 = mercury__robdd__ite_3_f_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__V_6_6, mercury__robdd__V_9_9, mercury__robdd__V_11_11);
        }
#line 1014 "robdd.m"
      }
#line 1010 "robdd.m"
    return mercury__robdd__HeadVar__3_3;
#line 1010 "robdd.m"
  }
#line 338 "robdd.m"
}

#line 330 "robdd.m"
void MR_CALL 
mercury__robdd__robdd_to_dot_4_p_0(
#line 330 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_51,
#line 330 "robdd.m"
  MR_Word mercury__robdd__Robdd_5,
#line 330 "robdd.m"
  MR_Word mercury__robdd__WV_6)
#line 330 "robdd.m"
{
#line 1448 "robdd.m"
  {
#line 1448 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1448 "robdd.m"
    MR_Word mercury__robdd__Ranks0_7;
#line 1448 "robdd.m"
    MR_Word mercury__robdd__Ranks_9;
#line 1448 "robdd.m"
    MR_Word mercury__robdd__V_19_19;
#line 1458 "robdd.m"
    MR_Word mercury__robdd__V_8_8;

#line 521 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__robdd_to_dot_4_p_0

	MR_String Message;

	Message =  (MR_String) "digraph G{\n    center=true;\n    size=\"7,11\";\n    ordering=out;\n    node [shape=record,height=.1];\n    concentrate=true;\n" ;
		{
#line 521 "io.opt"

    mercury_print_string(mercury_current_text_output(), Message);

#line 23100 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 521 "io.opt"
}
#line 48 "tree234.opt"
    mercury__robdd__Ranks0_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 33 "set_bbbtree.opt"
    mercury__robdd__V_19_19 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1458 "robdd.m"
    {
#line 1458 "robdd.m"
      mercury__robdd__robdd_to_dot_2_8_p_0(mercury__robdd__TypeInfo_for_T_51, mercury__robdd__Robdd_5, mercury__robdd__WV_6, mercury__robdd__V_19_19, &mercury__robdd__V_8_8, mercury__robdd__Ranks0_7, &mercury__robdd__Ranks_9);
    }
#line 217 "map.opt"
    {
#line 217 "map.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_57_51_95_95_91_49_44_32_50_44_32_51_44_32_53_44_32_54_44_32_55_93_95_48_4_p_in__tree234_0(mercury__robdd__TypeInfo_for_T_51, mercury__robdd__Ranks_9);
    }
#line 521 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__robdd_to_dot_4_p_0

	MR_String Message;

	Message =  (MR_String) "}\n" ;
		{
#line 521 "io.opt"

    mercury_print_string(mercury_current_text_output(), Message);

#line 23132 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 521 "io.opt"
}
#line 1448 "robdd.m"
  }
#line 330 "robdd.m"
}

#line 322 "robdd.m"
void MR_CALL 
mercury__robdd__robdd_to_dot_5_p_0(
#line 322 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_21,
#line 322 "robdd.m"
  MR_Word mercury__robdd__Robdd_6,
#line 322 "robdd.m"
  MR_Word mercury__robdd__WV_7,
#line 322 "robdd.m"
  MR_String mercury__robdd__Filename_8)
#line 322 "robdd.m"
{
#line 1434 "robdd.m"
  {
#line 1434 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1434 "robdd.m"
    MR_Word mercury__robdd__Result_9;

#line 1435 "robdd.m"
    {
#line 1435 "robdd.m"
      mercury__io__tell_4_p_0(mercury__robdd__Filename_8, &mercury__robdd__Result_9);
    }
#line 1440 "robdd.m"
    if ((mercury__robdd__Result_9 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1437 "robdd.m"
      {
#line 1437 "robdd.m"
        MR_Box mercury__robdd__NewStream_5_59;
#line 1437 "robdd.m"
        MR_Box mercury__robdd__Stream_4_63;

#line 1438 "robdd.m"
        {
#line 1438 "robdd.m"
          mercury__robdd__robdd_to_dot_4_p_0(mercury__robdd__TypeInfo_for_T_21, mercury__robdd__Robdd_6, mercury__robdd__WV_7);
        }
#line 1311 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__robdd_to_dot_5_p_0

	MercuryFilePtr Stream;

		{
#line 1311 "io.opt"

    Stream = &mercury_stdout;

#line 23193 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__NewStream_5_59  = (MR_Box) Stream;
#line 1311 "io.opt"
}
#line 1355 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__robdd_to_dot_5_p_0

	MercuryFilePtr NewStream;
	MercuryFilePtr OutStream;

	NewStream = (MercuryFilePtr) mercury__robdd__NewStream_5_59 ;
		{
#line 1355 "io.opt"

    OutStream = mercury_current_text_output();
    MR_set_thread_local_mutable(MercuryFilePtr, NewStream,
        mercury_current_text_output_index);

#line 23215 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__Stream_4_63  = (MR_Box) OutStream;
#line 1355 "io.opt"
}
#line 642 "io.opt"
        {
#line 642 "io.opt"
          mercury__io__maybe_delete_stream_info_3_p_0(mercury__robdd__Stream_4_63);
        }
#line 1370 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__robdd_to_dot_5_p_0

	MercuryFilePtr Stream;

	Stream = (MercuryFilePtr) mercury__robdd__Stream_4_63 ;
		{
#line 1370 "io.opt"

    mercury_close(Stream);

#line 23239 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 1370 "io.opt"
}
#line 1437 "robdd.m"
      }
#line 1440 "robdd.m"
    else
#line 1441 "robdd.m"
      {
#line 1441 "robdd.m"
        MR_Word mercury__robdd__Err_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__Result_9, (MR_Integer) 0)));
#line 1441 "robdd.m"
        MR_Word mercury__robdd__StdErr_11;
#line 1441 "robdd.m"
        MR_String mercury__robdd__V_20_20;
#line 1441 "robdd.m"
        MR_Box mercury__robdd__Stream_5_32;
#line 1441 "robdd.m"
        MR_Box mercury__robdd__Stream_5_39;
#line 1441 "robdd.m"
        MR_Box mercury__robdd__Stream_5_47;

#line 1317 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__robdd_to_dot_5_p_0

	MercuryFilePtr Stream;

		{
#line 1317 "io.opt"

    Stream = &mercury_stderr;

#line 23275 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__Stream_5_32  = (MR_Box) Stream;
#line 1317 "io.opt"
}
#line 654 "io.opt"
        mercury__robdd__StdErr_11 = (MR_Word) mercury__robdd__Stream_5_32;
#line 1253 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__robdd_to_dot_5_p_0

	MercuryFilePtr Stream;
	MR_Char Character;

	Stream = (MercuryFilePtr) mercury__robdd__Stream_5_32 ;
	Character =  (MR_Char) 10 ;
		{
#line 1253 "io.opt"

    if (Character <= 0x7f) {
        if (MR_PUTCH(*Stream, Character) < 0) {
            mercury_output_error(Stream, errno);
        }
        if (Character == '\n') {
            MR_line_number(*Stream)++;
        }
    } else {
        char    buf[5];
        size_t  len;
        size_t  i;
        len = MR_utf8_encode(buf, Character);
        for (i = 0; i < len; i++) {
            if (MR_PUTCH(*Stream, buf[i]) < 0) {
                mercury_output_error(Stream, errno);
                break;
            }
        }
    }

#line 23316 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 1253 "io.opt"
}
#line 891 "io.opt"
        mercury__robdd__V_20_20 = (MR_String) mercury__robdd__Err_10;
#line 524 "io.opt"
        mercury__robdd__Stream_5_39 = (MR_Box) mercury__robdd__StdErr_11;
#line 1250 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__robdd_to_dot_5_p_0

	MercuryFilePtr Stream;
	MR_String Message;

	Stream = (MercuryFilePtr) mercury__robdd__Stream_5_39 ;
	Message =  mercury__robdd__V_20_20 ;
		{
#line 1250 "io.opt"

    mercury_print_string(Stream, Message);

#line 23340 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 1250 "io.opt"
}
#line 551 "io.opt"
        mercury__robdd__Stream_5_47 = (MR_Box) mercury__robdd__StdErr_11;
#line 1253 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__robdd_to_dot_5_p_0

	MercuryFilePtr Stream;
	MR_Char Character;

	Stream = (MercuryFilePtr) mercury__robdd__Stream_5_47 ;
	Character =  (MR_Char) 10 ;
		{
#line 1253 "io.opt"

    if (Character <= 0x7f) {
        if (MR_PUTCH(*Stream, Character) < 0) {
            mercury_output_error(Stream, errno);
        }
        if (Character == '\n') {
            MR_line_number(*Stream)++;
        }
    } else {
        char    buf[5];
        size_t  len;
        size_t  i;
        len = MR_utf8_encode(buf, Character);
        for (i = 0; i < len; i++) {
            if (MR_PUTCH(*Stream, buf[i]) < 0) {
                mercury_output_error(Stream, errno);
                break;
            }
        }
    }

#line 23380 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 1253 "io.opt"
}
#line 1441 "robdd.m"
      }
#line 1434 "robdd.m"
  }
#line 322 "robdd.m"
}

#line 315 "robdd.m"
void MR_CALL 
mercury__robdd__print_robdd_3_p_0(
#line 315 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_13,
#line 315 "robdd.m"
  MR_Word mercury__robdd__F_4)
#line 315 "robdd.m"
{
#line 958 "robdd.m"
  {
#line 958 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 956 "robdd.m"
    MR_Word mercury__robdd__V_16_16;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastX_20;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastY_21;

#line 956 "robdd.m"
    {
#line 956 "robdd.m"
      mercury__robdd__V_16_16 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_13);
    }
#line 419 "robdd.m"
    mercury__robdd__CastX_20 = (MR_Integer) mercury__robdd__F_4;
#line 419 "robdd.m"
    mercury__robdd__CastY_21 = (MR_Integer) mercury__robdd__V_16_16;
#line 419 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_20 == mercury__robdd__CastY_21);
#line 419 "robdd.m"
    if (mercury__robdd__succeeded)
#line 419 "robdd.m"
      mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
    else
#line 419 "robdd.m"
      {
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_18_18 = (MR_Integer) mercury__robdd__F_4;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_19_19 = (MR_Integer) mercury__robdd__V_16_16;

#line 23437 "robdd.c"
        mercury__robdd__succeeded = (mercury__robdd__V_18_18 == mercury__robdd__V_19_19);
#line 419 "robdd.m"
      }
#line 958 "robdd.m"
    if (mercury__robdd__succeeded)
#line 957 "robdd.m"
      {
#line 521 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__print_robdd_3_p_0

	MR_String Message;

	Message =  (MR_String) "TRUE\n" ;
		{
#line 521 "io.opt"

    mercury_print_string(mercury_current_text_output(), Message);

#line 23457 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 521 "io.opt"
}
#line 957 "robdd.m"
      }
#line 958 "robdd.m"
    else
#line 960 "robdd.m"
      {
#line 958 "robdd.m"
        MR_Word mercury__robdd__V_17_17;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastX_24;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastY_25;

#line 958 "robdd.m"
        {
#line 958 "robdd.m"
          mercury__robdd__V_17_17 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_13);
        }
#line 419 "robdd.m"
        mercury__robdd__CastX_24 = (MR_Integer) mercury__robdd__F_4;
#line 419 "robdd.m"
        mercury__robdd__CastY_25 = (MR_Integer) mercury__robdd__V_17_17;
#line 419 "robdd.m"
        mercury__robdd__succeeded = (mercury__robdd__CastX_24 == mercury__robdd__CastY_25);
#line 419 "robdd.m"
        if (mercury__robdd__succeeded)
#line 419 "robdd.m"
          mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
        else
#line 419 "robdd.m"
          {
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_22_22 = (MR_Integer) mercury__robdd__F_4;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_23_23 = (MR_Integer) mercury__robdd__V_17_17;

#line 23500 "robdd.c"
            mercury__robdd__succeeded = (mercury__robdd__V_22_22 == mercury__robdd__V_23_23);
#line 419 "robdd.m"
          }
#line 960 "robdd.m"
        if (mercury__robdd__succeeded)
#line 959 "robdd.m"
          {
#line 521 "io.opt"
{
#define MR_PROC_LABEL mercury__robdd__print_robdd_3_p_0

	MR_String Message;

	Message =  (MR_String) "FALSE\n" ;
		{
#line 521 "io.opt"

    mercury_print_string(mercury_current_text_output(), Message);

#line 23520 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 521 "io.opt"
}
#line 959 "robdd.m"
          }
#line 960 "robdd.m"
        else
#line 961 "robdd.m"
          {
#line 961 "robdd.m"
            MR_Word mercury__robdd__Falses_6 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 961 "robdd.m"
            MR_Word mercury__robdd__V_2_26 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 963 "robdd.m"
            {
#line 963 "robdd.m"
              mercury__robdd__print_robdd_2_5_p_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__F_4, mercury__robdd__Falses_6, mercury__robdd__Falses_6);
#line 963 "robdd.m"
              return;
            }
#line 961 "robdd.m"
          }
#line 960 "robdd.m"
      }
#line 958 "robdd.m"
  }
#line 315 "robdd.m"
}

#line 307 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__dnf_1_f_0(
#line 307 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_25,
#line 307 "robdd.m"
  MR_Word mercury__robdd__R_3)
#line 307 "robdd.m"
{
#line 910 "robdd.m"
  {
#line 910 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 910 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;
#line 911 "robdd.m"
    MR_Word mercury__robdd__V_30_30;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastX_34;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastY_35;

#line 911 "robdd.m"
    {
#line 911 "robdd.m"
      mercury__robdd__V_30_30 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_25);
    }
#line 419 "robdd.m"
    mercury__robdd__CastX_34 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
    mercury__robdd__CastY_35 = (MR_Integer) mercury__robdd__V_30_30;
#line 419 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_34 == mercury__robdd__CastY_35);
#line 419 "robdd.m"
    if (mercury__robdd__succeeded)
#line 419 "robdd.m"
      mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
    else
#line 419 "robdd.m"
      {
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_32_32 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_33_33 = (MR_Integer) mercury__robdd__V_30_30;

#line 23599 "robdd.c"
        mercury__robdd__succeeded = (mercury__robdd__V_32_32 == mercury__robdd__V_33_33);
#line 419 "robdd.m"
      }
#line 910 "robdd.m"
    if (mercury__robdd__succeeded)
#line 910 "robdd.m"
      mercury__robdd__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 910 "robdd.m"
    else
#line 910 "robdd.m"
      {
#line 913 "robdd.m"
        MR_Word mercury__robdd__V_31_31;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastX_38;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastY_39;

#line 913 "robdd.m"
        {
#line 913 "robdd.m"
          mercury__robdd__V_31_31 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_25);
        }
#line 419 "robdd.m"
        mercury__robdd__CastX_38 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
        mercury__robdd__CastY_39 = (MR_Integer) mercury__robdd__V_31_31;
#line 419 "robdd.m"
        mercury__robdd__succeeded = (mercury__robdd__CastX_38 == mercury__robdd__CastY_39);
#line 419 "robdd.m"
        if (mercury__robdd__succeeded)
#line 419 "robdd.m"
          mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
        else
#line 419 "robdd.m"
          {
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_36_36 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_37_37 = (MR_Integer) mercury__robdd__V_31_31;

#line 23642 "robdd.c"
            mercury__robdd__succeeded = (mercury__robdd__V_36_36 == mercury__robdd__V_37_37);
#line 419 "robdd.m"
          }
#line 910 "robdd.m"
        if (mercury__robdd__succeeded)
#line 914 "robdd.m"
          {
#line 914 "robdd.m"
            MR_Word mercury__robdd__V_5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 914 "robdd.m"
            MR_Word mercury__robdd__V_6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 910 "robdd.m"
            mercury__robdd__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__robdd_scalar_common_1[1]);
#line 914 "robdd.m"
          }
#line 910 "robdd.m"
        else
#line 916 "robdd.m"
          {
#line 916 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_26_26 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_literal_1;
#line 916 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_27_27;
#line 916 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_28_28 = (MR_Word) &mercury__list__list__type_ctor_info_list_1;
#line 916 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_29_29;
#line 916 "robdd.m"
            MR_Word mercury__robdd__V_7_7;
#line 916 "robdd.m"
            MR_Word mercury__robdd__V_13_13;
#line 916 "robdd.m"
            MR_Word mercury__robdd__V_14_14;
#line 916 "robdd.m"
            MR_Word mercury__robdd__V_15_15;
#line 916 "robdd.m"
            MR_Word mercury__robdd__V_21_21;
#line 916 "robdd.m"
            MR_Word mercury__robdd__V_22_22;
#line 46 "list.opt"
            MR_Word mercury__robdd__conv0_HeadVar__2_2;

#line 23686 "robdd.c"
            {
#line 23688 "robdd.c"
              mercury__robdd__TypeInfo_27_27 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 23690 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_27_27, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_26_26));
#line 23692 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_27_27, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_25));
#line 23694 "robdd.c"
            }
#line 23696 "robdd.c"
            {
#line 23698 "robdd.c"
              mercury__robdd__TypeInfo_29_29 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 23700 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_29_29, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_28_28));
#line 23702 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_29_29, 1) = ((MR_Box) (mercury__robdd__TypeInfo_27_27));
#line 23704 "robdd.c"
            }
#line 916 "robdd.m"
            {
#line 916 "robdd.m"
              mercury__robdd__V_14_14 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_25, mercury__robdd__R_3);
            }
#line 916 "robdd.m"
            {
#line 916 "robdd.m"
              mercury__robdd__V_13_13 = mercury__robdd__dnf_1_f_0(mercury__robdd__TypeInfo_for_T_25, mercury__robdd__V_14_14);
            }
#line 916 "robdd.m"
            {
#line 916 "robdd.m"
              mercury__robdd__V_7_7 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_109_97_112_95_95_104_111_54_52_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_55_44_32_56_44_32_57_93_95_48_2_f_in__list_0(mercury__robdd__TypeInfo_for_T_25, mercury__robdd__R_3, mercury__robdd__V_13_13);
            }
#line 917 "robdd.m"
            {
#line 917 "robdd.m"
              mercury__robdd__V_22_22 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_25, mercury__robdd__R_3);
            }
#line 917 "robdd.m"
            {
#line 917 "robdd.m"
              mercury__robdd__V_21_21 = mercury__robdd__dnf_1_f_0(mercury__robdd__TypeInfo_for_T_25, mercury__robdd__V_22_22);
            }
#line 916 "robdd.m"
            {
#line 916 "robdd.m"
              mercury__robdd__V_15_15 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_109_97_112_95_95_104_111_54_51_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_55_44_32_56_44_32_57_93_95_48_2_f_in__list_0(mercury__robdd__TypeInfo_for_T_25, mercury__robdd__R_3, mercury__robdd__V_21_21);
            }
#line 46 "list.opt"
            {
#line 46 "list.opt"
              mercury__list__append_3_p_1(mercury__robdd__TypeInfo_29_29, (MR_Word) mercury__robdd__V_7_7, (MR_Word) mercury__robdd__V_15_15, &mercury__robdd__conv0_HeadVar__2_2);
            }
#line 46 "list.opt"
            mercury__robdd__HeadVar__2_2 = (MR_Word) mercury__robdd__conv0_HeadVar__2_2;
#line 916 "robdd.m"
          }
#line 910 "robdd.m"
      }
#line 910 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 910 "robdd.m"
  }
#line 307 "robdd.m"
}

#line 297 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__remove_implications_2_f_0(
#line 297 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_11,
#line 297 "robdd.m"
  MR_Word mercury__robdd__ImpRes_4,
#line 297 "robdd.m"
  MR_Word mercury__robdd__R0_5)
#line 297 "robdd.m"
{
#line 790 "robdd.m"
  {
#line 790 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 790 "robdd.m"
    MR_Word mercury__robdd__R_6;
#line 790 "robdd.m"
    MR_Word mercury__robdd__V_8_8 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 790 "robdd.m"
    MR_Word mercury__robdd__V_10_10 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 790 "robdd.m"
    MR_Word mercury__robdd__V_2_16 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 791 "robdd.m"
    MR_Word mercury__robdd__V_7_7;

#line 791 "robdd.m"
    {
#line 791 "robdd.m"
      mercury__robdd__remove_implications_2_7_p_0(mercury__robdd__TypeInfo_for_T_11, mercury__robdd__ImpRes_4, mercury__robdd__V_8_8, mercury__robdd__V_8_8, mercury__robdd__R0_5, &mercury__robdd__R_6, mercury__robdd__V_10_10, &mercury__robdd__V_7_7);
    }
#line 790 "robdd.m"
    return mercury__robdd__R_6;
#line 790 "robdd.m"
  }
#line 297 "robdd.m"
}

#line 290 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__add_implications_2_f_0(
#line 290 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_21,
#line 290 "robdd.m"
  MR_Word mercury__robdd__ImpVars_4,
#line 290 "robdd.m"
  MR_Word mercury__robdd__R_5)
#line 290 "robdd.m"
{
#line 1347 "robdd.m"
  {
#line 1347 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1347 "robdd.m"
    MR_Word mercury__robdd__HeadVar__3_3;
#line 1347 "robdd.m"
    MR_Word mercury__robdd__Imps_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpVars_4, (MR_Integer) 0)));
#line 1347 "robdd.m"
    MR_Word mercury__robdd__RevImps_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpVars_4, (MR_Integer) 1)));
#line 1347 "robdd.m"
    MR_Word mercury__robdd__DisImps_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpVars_4, (MR_Integer) 2)));
#line 1347 "robdd.m"
    MR_Word mercury__robdd__RevDisImps_9 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__ImpVars_4, (MR_Integer) 3)));
#line 1347 "robdd.m"
    MR_Word mercury__robdd__V_12_12;
#line 1347 "robdd.m"
    MR_Word mercury__robdd__V_15_15;
#line 1347 "robdd.m"
    MR_Word mercury__robdd__V_18_18;

#line 1353 "robdd.m"
    {
#line 1353 "robdd.m"
      mercury__robdd__V_12_12 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_102_111_108_100_108_95_95_104_111_56_57_95_95_91_50_44_32_51_44_32_52_44_32_54_44_32_55_44_32_49_48_44_32_49_49_44_32_49_50_44_32_49_51_93_95_48_3_f_in__map_0(mercury__robdd__TypeInfo_for_T_21, mercury__robdd__TypeInfo_for_T_21, mercury__robdd__TypeInfo_for_T_21, mercury__robdd__TypeInfo_for_T_21, mercury__robdd__Imps_6, mercury__robdd__R_5);
    }
#line 1347 "robdd.m"
    {
#line 1347 "robdd.m"
      mercury__robdd__V_15_15 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_104_111_54_55_95_95_91_52_44_32_53_93_95_48_4_f_0(mercury__robdd__TypeInfo_for_T_21, mercury__robdd__TypeInfo_for_T_21, mercury__robdd__TypeInfo_for_T_21, mercury__robdd__RevImps_7, mercury__robdd__V_12_12);
    }
#line 1347 "robdd.m"
    {
#line 1347 "robdd.m"
      mercury__robdd__V_18_18 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_104_111_54_54_95_95_91_52_44_32_53_93_95_48_4_f_0(mercury__robdd__TypeInfo_for_T_21, mercury__robdd__TypeInfo_for_T_21, mercury__robdd__TypeInfo_for_T_21, mercury__robdd__DisImps_8, mercury__robdd__V_15_15);
    }
#line 1347 "robdd.m"
    {
#line 1347 "robdd.m"
      return mercury__robdd__HeadVar__3_3 = mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_97_100_100_95_105_109_112_108_105_99_97_116_105_111_110_115_95_50_95_95_104_111_54_53_95_95_91_52_44_32_53_93_95_48_4_f_0(mercury__robdd__TypeInfo_for_T_21, mercury__robdd__TypeInfo_for_T_21, mercury__robdd__TypeInfo_for_T_21, mercury__robdd__RevDisImps_9, mercury__robdd__V_18_18);
    }
#line 1347 "robdd.m"
    return mercury__robdd__HeadVar__3_3;
#line 1347 "robdd.m"
  }
#line 290 "robdd.m"
}

#line 283 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__add_equivalences_2_f_0(
#line 283 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_11,
#line 283 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 283 "robdd.m"
  MR_Word mercury__robdd__R0_5)
#line 283 "robdd.m"
{
#line 1271 "robdd.m"
  {
#line 1271 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1271 "robdd.m"
    MR_Word mercury__robdd__R_6;
#line 1271 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_12_12 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1271 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_13_13;
#line 1271 "robdd.m"
    MR_Word mercury__robdd__LeaderMap_4 = (MR_Word) mercury__robdd__HeadVar__1_1;
#line 1271 "robdd.m"
    MR_Word mercury__robdd__V_8_8;
#line 1271 "robdd.m"
    MR_Word mercury__robdd__V_9_9;
#line 1271 "robdd.m"
    MR_Word mercury__robdd__V_10_10;
#line 1271 "robdd.m"
    MR_Word mercury__robdd__V_5_22;
#line 1271 "robdd.m"
    MR_Word mercury__robdd__V_2_25;
#line 86 "tree234.opt"
    MR_Word mercury__robdd__conv0_V_8_8;
#line 1272 "robdd.m"
    MR_Word mercury__robdd__V_7_7;

#line 23889 "robdd.c"
    {
#line 23891 "robdd.c"
      mercury__robdd__TypeInfo_13_13 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 23893 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_13_13, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_12_12));
#line 23895 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_13_13, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_11));
#line 23897 "robdd.c"
    }
#line 85 "tree234.opt"
    mercury__robdd__V_5_22 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 86 "tree234.opt"
    {
#line 86 "tree234.opt"
      mercury__tree234__tree234_to_assoc_list_acc_3_p_0(mercury__robdd__TypeInfo_13_13, mercury__robdd__TypeInfo_13_13, (MR_Word) mercury__robdd__LeaderMap_4, (MR_Word) mercury__robdd__V_5_22, &mercury__robdd__conv0_V_8_8);
    }
#line 86 "tree234.opt"
    mercury__robdd__V_8_8 = (MR_Word) mercury__robdd__conv0_V_8_8;
#line 114 "sparse_bitset.opt"
    mercury__robdd__V_2_25 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 113 "sparse_bitset.opt"
    mercury__robdd__V_9_9 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 48 "tree234.opt"
    mercury__robdd__V_10_10 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1272 "robdd.m"
    {
#line 1272 "robdd.m"
      mercury__robdd__add_equivalences_2_6_p_0(mercury__robdd__TypeInfo_for_T_11, mercury__robdd__V_8_8, mercury__robdd__V_9_9, mercury__robdd__R0_5, &mercury__robdd__R_6, mercury__robdd__V_10_10, &mercury__robdd__V_7_7);
    }
#line 1271 "robdd.m"
    return mercury__robdd__R_6;
#line 1271 "robdd.m"
  }
#line 283 "robdd.m"
}

#line 276 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__make_equiv_1_f_0(
#line 276 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_6,
#line 276 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1)
#line 276 "robdd.m"
{
#line 1248 "robdd.m"
  {
#line 1248 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1248 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;
#line 1248 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_7_7 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1248 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_8_8;
#line 1248 "robdd.m"
    MR_Word mercury__robdd__LeaderMap_3 = (MR_Word) mercury__robdd__HeadVar__1_1;
#line 1248 "robdd.m"
    MR_Word mercury__robdd__V_4_4;
#line 1248 "robdd.m"
    MR_Word mercury__robdd__V_5_5;
#line 1248 "robdd.m"
    MR_Word mercury__robdd__V_5_15;
#line 1248 "robdd.m"
    MR_Word mercury__robdd__V_2_18;
#line 86 "tree234.opt"
    MR_Word mercury__robdd__conv0_V_4_4;

#line 23958 "robdd.c"
    {
#line 23960 "robdd.c"
      mercury__robdd__TypeInfo_8_8 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 23962 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_7_7));
#line 23964 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_8_8, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_6));
#line 23966 "robdd.c"
    }
#line 85 "tree234.opt"
    mercury__robdd__V_5_15 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 86 "tree234.opt"
    {
#line 86 "tree234.opt"
      mercury__tree234__tree234_to_assoc_list_acc_3_p_0(mercury__robdd__TypeInfo_8_8, mercury__robdd__TypeInfo_8_8, (MR_Word) mercury__robdd__LeaderMap_3, (MR_Word) mercury__robdd__V_5_15, &mercury__robdd__conv0_V_4_4);
    }
#line 86 "tree234.opt"
    mercury__robdd__V_4_4 = (MR_Word) mercury__robdd__conv0_V_4_4;
#line 114 "sparse_bitset.opt"
    mercury__robdd__V_2_18 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 113 "sparse_bitset.opt"
    mercury__robdd__V_5_5 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 1248 "robdd.m"
    {
#line 1248 "robdd.m"
      return mercury__robdd__HeadVar__2_2 = mercury__robdd__make_equiv_2_2_f_0(mercury__robdd__TypeInfo_for_T_6, mercury__robdd__V_4_4, mercury__robdd__V_5_5);
    }
#line 1248 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 1248 "robdd.m"
  }
#line 276 "robdd.m"
}

#line 1237 "robdd.m"
static MR_bool MR_CALL 
mercury__robdd__squeeze_equiv_2_f_0_2(
#line 1237 "robdd.m"
  MR_Box mercury__robdd__closure_arg,
#line 1237 "robdd.m"
  MR_Box mercury__robdd__wrapper_arg_1)
#line 1237 "robdd.m"
{
#line 1237 "robdd.m"
  {
#line 1237 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1237 "robdd.m"
    MR_Box mercury__robdd__closure = mercury__robdd__closure_arg;

#line 1237 "robdd.m"
    {
#line 1237 "robdd.m"
      return mercury__robdd__succeeded = mercury__robdd__IntroducedFrom__pred__squeeze_equiv__1242__1_3_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__closure, (MR_Integer) 3))), ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__closure, (MR_Integer) 4))), ((MR_Word) mercury__robdd__wrapper_arg_1));
    }
#line 1237 "robdd.m"
    return mercury__robdd__succeeded;
#line 1237 "robdd.m"
  }
#line 1237 "robdd.m"
}

#line 1237 "robdd.m"
static MR_bool MR_CALL 
mercury__robdd__squeeze_equiv_2_f_0_1(
#line 1237 "robdd.m"
  MR_Box mercury__robdd__closure_arg,
#line 1237 "robdd.m"
  MR_Box mercury__robdd__wrapper_arg_1)
#line 1237 "robdd.m"
{
#line 1237 "robdd.m"
  {
#line 1237 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1237 "robdd.m"
    MR_Box mercury__robdd__closure = mercury__robdd__closure_arg;

#line 1237 "robdd.m"
    {
#line 1237 "robdd.m"
      return mercury__robdd__succeeded = mercury__robdd__IntroducedFrom__pred__squeeze_equiv__1239__1_3_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__closure, (MR_Integer) 3))), ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__closure, (MR_Integer) 4))), ((MR_Word) mercury__robdd__wrapper_arg_1));
    }
#line 1237 "robdd.m"
    return mercury__robdd__succeeded;
#line 1237 "robdd.m"
  }
#line 1237 "robdd.m"
}

#line 269 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__squeeze_equiv_2_f_0(
#line 269 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_16,
#line 269 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 269 "robdd.m"
  MR_Word mercury__robdd__R0_5)
#line 269 "robdd.m"
{
#line 1235 "robdd.m"
  {
#line 1235 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1235 "robdd.m"
    MR_Word mercury__robdd__HeadVar__3_3;
#line 1235 "robdd.m"
    MR_Word mercury__robdd__LeaderMap_4 = (MR_Word) mercury__robdd__HeadVar__1_1;
#line 1235 "robdd.m"
    MR_Word mercury__robdd__Max_6;
#line 1236 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_17_17 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1236 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_18_18;
#line 47 "map.opt"
    MR_Box mercury__robdd__conv0_Max_6;

#line 24077 "robdd.c"
    {
#line 24079 "robdd.c"
      mercury__robdd__TypeInfo_18_18 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 24081 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_18_18, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_17_17));
#line 24083 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_18_18, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_16));
#line 24085 "robdd.c"
    }
#line 47 "map.opt"
    {
#line 47 "map.opt"
      mercury__robdd__succeeded = mercury__tree234__max_key_1_f_0(mercury__robdd__TypeInfo_18_18, mercury__robdd__TypeInfo_18_18, (MR_Word) mercury__robdd__LeaderMap_4, &mercury__robdd__conv0_Max_6);
    }
#line 47 "map.opt"
    if (mercury__robdd__succeeded)
#line 47 "map.opt"
      {
#line 47 "map.opt"
        mercury__robdd__Max_6 = ((MR_Word) mercury__robdd__conv0_Max_6);
#line 47 "map.opt"
        mercury__robdd__succeeded = MR_TRUE;
#line 47 "map.opt"
      }
#line 1235 "robdd.m"
    if (mercury__robdd__succeeded)
#line 1237 "robdd.m"
      {
#line 1237 "robdd.m"
        MR_Word mercury__robdd__V_9_9;
#line 1237 "robdd.m"
        MR_Word mercury__robdd__V_11_11;
#line 1237 "robdd.m"
        MR_Word mercury__robdd__V_34_34;
#line 1237 "robdd.m"
        MR_Word mercury__robdd__V_35_35;
#line 1187 "robdd.m"
        MR_Word mercury__robdd__V_32_32;
#line 1187 "robdd.m"
        MR_Word mercury__robdd__V_33_33;

#line 1237 "robdd.m"
        {
#line 1237 "robdd.m"
          mercury__robdd__V_9_9 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 5 * sizeof(MR_Word)), NULL, NULL);
#line 1237 "robdd.m"
          MR_hl_field(MR_mktag(0), mercury__robdd__V_9_9, 0) = ((MR_Box) (&mercury__robdd_scalar_common_7[0]));
#line 1237 "robdd.m"
          MR_hl_field(MR_mktag(0), mercury__robdd__V_9_9, 1) = ((MR_Box) (mercury__robdd__squeeze_equiv_2_f_0_1));
#line 1237 "robdd.m"
          MR_hl_field(MR_mktag(0), mercury__robdd__V_9_9, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 2));
#line 1237 "robdd.m"
          MR_hl_field(MR_mktag(0), mercury__robdd__V_9_9, 3) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_16));
#line 1237 "robdd.m"
          MR_hl_field(MR_mktag(0), mercury__robdd__V_9_9, 4) = ((MR_Box) (mercury__robdd__LeaderMap_4));
#line 1237 "robdd.m"
        }
#line 1237 "robdd.m"
        {
#line 1237 "robdd.m"
          mercury__robdd__V_11_11 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 5 * sizeof(MR_Word)), NULL, NULL);
#line 1237 "robdd.m"
          MR_hl_field(MR_mktag(0), mercury__robdd__V_11_11, 0) = ((MR_Box) (&mercury__robdd_scalar_common_7[1]));
#line 1237 "robdd.m"
          MR_hl_field(MR_mktag(0), mercury__robdd__V_11_11, 1) = ((MR_Box) (mercury__robdd__squeeze_equiv_2_f_0_2));
#line 1237 "robdd.m"
          MR_hl_field(MR_mktag(0), mercury__robdd__V_11_11, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 2));
#line 1237 "robdd.m"
          MR_hl_field(MR_mktag(0), mercury__robdd__V_11_11, 3) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_16));
#line 1237 "robdd.m"
          MR_hl_field(MR_mktag(0), mercury__robdd__V_11_11, 4) = ((MR_Box) (mercury__robdd__Max_6));
#line 1237 "robdd.m"
        }
#line 48 "tree234.opt"
        mercury__robdd__V_34_34 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 48 "tree234.opt"
        mercury__robdd__V_35_35 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1187 "robdd.m"
        {
#line 1187 "robdd.m"
          mercury__robdd__filter_2_8_p_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__V_9_9, mercury__robdd__V_11_11, mercury__robdd__R0_5, &mercury__robdd__HeadVar__3_3, mercury__robdd__V_34_34, &mercury__robdd__V_32_32, mercury__robdd__V_35_35, &mercury__robdd__V_33_33);
        }
#line 1237 "robdd.m"
      }
#line 1235 "robdd.m"
    else
#line 1235 "robdd.m"
      mercury__robdd__HeadVar__3_3 = mercury__robdd__R0_5;
#line 1235 "robdd.m"
    return mercury__robdd__HeadVar__3_3;
#line 1235 "robdd.m"
  }
#line 269 "robdd.m"
}

#line 262 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__restrict_true_false_vars_3_f_0(
#line 262 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_11,
#line 262 "robdd.m"
  MR_Word mercury__robdd__TrueVars_5,
#line 262 "robdd.m"
  MR_Word mercury__robdd__FalseVars_6,
#line 262 "robdd.m"
  MR_Word mercury__robdd__R0_7)
#line 262 "robdd.m"
{
#line 1135 "robdd.m"
  {
#line 1135 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1135 "robdd.m"
    MR_Word mercury__robdd__R_8;
#line 1135 "robdd.m"
    MR_Word mercury__robdd__V_10_10 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1141 "robdd.m"
    MR_Word mercury__robdd__V_9_9;

#line 1141 "robdd.m"
    {
#line 1141 "robdd.m"
      mercury__robdd__restrict_true_false_vars_2_6_p_0(mercury__robdd__TypeInfo_for_T_11, mercury__robdd__TrueVars_5, mercury__robdd__FalseVars_6, mercury__robdd__R0_7, &mercury__robdd__R_8, mercury__robdd__V_10_10, &mercury__robdd__V_9_9);
    }
#line 1135 "robdd.m"
    return mercury__robdd__R_8;
#line 1135 "robdd.m"
  }
#line 262 "robdd.m"
}

#line 259 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__restrict_filter_3_f_0(
#line 259 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_13,
#line 259 "robdd.m"
  MR_Word mercury__robdd__P_5,
#line 259 "robdd.m"
  MR_Word mercury__robdd__D_6,
#line 259 "robdd.m"
  MR_Word mercury__robdd__F0_7)
#line 259 "robdd.m"
{
#line 1186 "robdd.m"
  {
#line 1186 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1186 "robdd.m"
    MR_Word mercury__robdd__F_8;
#line 1186 "robdd.m"
    MR_Word mercury__robdd__V_11_11 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1186 "robdd.m"
    MR_Word mercury__robdd__V_12_12 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1187 "robdd.m"
    MR_Word mercury__robdd__V_9_9;
#line 1187 "robdd.m"
    MR_Word mercury__robdd__V_10_10;

#line 1187 "robdd.m"
    {
#line 1187 "robdd.m"
      mercury__robdd__filter_2_8_p_0(mercury__robdd__TypeInfo_for_T_13, mercury__robdd__P_5, mercury__robdd__D_6, mercury__robdd__F0_7, &mercury__robdd__F_8, mercury__robdd__V_11_11, &mercury__robdd__V_9_9, mercury__robdd__V_12_12, &mercury__robdd__V_10_10);
    }
#line 1186 "robdd.m"
    return mercury__robdd__F_8;
#line 1186 "robdd.m"
  }
#line 259 "robdd.m"
}

#line 1184 "robdd.m"
static MR_bool MR_CALL 
mercury__robdd__restrict_filter_2_f_0_1(
#line 1184 "robdd.m"
  MR_Box mercury__robdd__closure_arg,
#line 1184 "robdd.m"
  MR_Box mercury__robdd__wrapper_arg_1)
#line 1184 "robdd.m"
{
#line 1184 "robdd.m"
  {
#line 1184 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1184 "robdd.m"
    MR_Box mercury__robdd__closure = mercury__robdd__closure_arg;

#line 1184 "robdd.m"
    {
#line 1184 "robdd.m"
      return mercury__robdd__succeeded = mercury__robdd__IntroducedFrom__pred__restrict_filter__1184__1_2_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__closure, (MR_Integer) 3))), ((MR_Word) mercury__robdd__wrapper_arg_1));
    }
#line 1184 "robdd.m"
    return mercury__robdd__succeeded;
#line 1184 "robdd.m"
  }
#line 1184 "robdd.m"
}

#line 249 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__restrict_filter_2_f_0(
#line 249 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_11,
#line 249 "robdd.m"
  MR_Word mercury__robdd__P_4,
#line 249 "robdd.m"
  MR_Word mercury__robdd__F0_5)
#line 249 "robdd.m"
{
#line 1183 "robdd.m"
  {
#line 1183 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1183 "robdd.m"
    MR_Word mercury__robdd__HeadVar__3_3;
#line 1183 "robdd.m"
    MR_Word mercury__robdd__V_7_7;
#line 1183 "robdd.m"
    MR_Word mercury__robdd__V_18_18;
#line 1183 "robdd.m"
    MR_Word mercury__robdd__V_19_19;
#line 1187 "robdd.m"
    MR_Word mercury__robdd__V_16_16;
#line 1187 "robdd.m"
    MR_Word mercury__robdd__V_17_17;

#line 1184 "robdd.m"
    {
#line 1184 "robdd.m"
      mercury__robdd__V_7_7 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 4 * sizeof(MR_Word)), NULL, NULL);
#line 1184 "robdd.m"
      MR_hl_field(MR_mktag(0), mercury__robdd__V_7_7, 0) = ((MR_Box) (&mercury__robdd_scalar_common_4[2]));
#line 1184 "robdd.m"
      MR_hl_field(MR_mktag(0), mercury__robdd__V_7_7, 1) = ((MR_Box) (mercury__robdd__restrict_filter_2_f_0_1));
#line 1184 "robdd.m"
      MR_hl_field(MR_mktag(0), mercury__robdd__V_7_7, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 1));
#line 1184 "robdd.m"
      MR_hl_field(MR_mktag(0), mercury__robdd__V_7_7, 3) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_11));
#line 1184 "robdd.m"
    }
#line 48 "tree234.opt"
    mercury__robdd__V_18_18 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 48 "tree234.opt"
    mercury__robdd__V_19_19 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1187 "robdd.m"
    {
#line 1187 "robdd.m"
      mercury__robdd__filter_2_8_p_0(mercury__robdd__TypeInfo_for_T_11, mercury__robdd__P_4, mercury__robdd__V_7_7, mercury__robdd__F0_5, &mercury__robdd__HeadVar__3_3, mercury__robdd__V_18_18, &mercury__robdd__V_16_16, mercury__robdd__V_19_19, &mercury__robdd__V_17_17);
    }
#line 1183 "robdd.m"
    return mercury__robdd__HeadVar__3_3;
#line 1183 "robdd.m"
  }
#line 249 "robdd.m"
}

#line 244 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__restrict_threshold_2_f_0(
#line 244 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_4,
#line 244 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 244 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 244 "robdd.m"
{
#line 1000 "robdd.m"
  {
#line 1000 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1000 "robdd.m"
    MR_Word mercury__robdd__HeadVar__3_3;
#line 1000 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_5;

#line 1003 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__restrict_threshold_2_f_0

	MR_Word V;
	MR_Word F;
	MR_Word R;

	V =  mercury__robdd__HeadVar__1_1 ;
	F =  mercury__robdd__HeadVar__2_2 ;
		{
#line 1003 "robdd.m"

    R = (MR_ROBDD_NODE_TYPE) MR_ROBDD_restrictThresh(V,
        (MR_ROBDD_node *) F);

#line 24371 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__HeadVar__3_3  = R;
#line 1003 "robdd.m"
}
#line 1000 "robdd.m"
    return mercury__robdd__HeadVar__3_3;
#line 1000 "robdd.m"
  }
#line 244 "robdd.m"
}

#line 240 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__restrict_2_f_0(
#line 240 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_4,
#line 240 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 240 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 240 "robdd.m"
{
#line 992 "robdd.m"
  {
#line 992 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 992 "robdd.m"
    MR_Word mercury__robdd__HeadVar__3_3;
#line 992 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_5;

#line 995 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__restrict_2_f_0

	MR_Word V;
	MR_Word F;
	MR_Word R;

	V =  mercury__robdd__HeadVar__1_1 ;
	F =  mercury__robdd__HeadVar__2_2 ;
		{
#line 995 "robdd.m"

    R = (MR_ROBDD_NODE_TYPE) MR_ROBDD_restrict(V, (MR_ROBDD_node *) F);

#line 24420 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__HeadVar__3_3  = R;
#line 995 "robdd.m"
}
#line 992 "robdd.m"
    return mercury__robdd__HeadVar__3_3;
#line 992 "robdd.m"
  }
#line 240 "robdd.m"
}

#line 234 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__extract_implications_1_f_0(
#line 234 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_5,
#line 234 "robdd.m"
  MR_Word mercury__robdd__R_3)
#line 234 "robdd.m"
{
#line 689 "robdd.m"
  {
#line 689 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 689 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;
#line 689 "robdd.m"
    MR_Word mercury__robdd__V_4_4;
#line 689 "robdd.m"
    MR_Word mercury__robdd__I0_8;
#line 689 "robdd.m"
    MR_Word mercury__robdd__RI0_9;
#line 689 "robdd.m"
    MR_Word mercury__robdd__DI0_10;
#line 689 "robdd.m"
    MR_Word mercury__robdd__RDI0_11;
#line 689 "robdd.m"
    MR_Word mercury__robdd__I_12;
#line 689 "robdd.m"
    MR_Word mercury__robdd__RI_13;
#line 689 "robdd.m"
    MR_Word mercury__robdd__DI_14;
#line 689 "robdd.m"
    MR_Word mercury__robdd__RDI_15;

#line 689 "robdd.m"
    {
#line 689 "robdd.m"
      mercury__robdd__V_4_4 = mercury__robdd__implications_2_1_f_0(mercury__robdd__TypeInfo_for_T_5, mercury__robdd__R_3);
    }
#line 769 "robdd.m"
    mercury__robdd__I0_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_4_4, (MR_Integer) 0)));
#line 769 "robdd.m"
    mercury__robdd__RI0_9 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_4_4, (MR_Integer) 1)));
#line 769 "robdd.m"
    mercury__robdd__DI0_10 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_4_4, (MR_Integer) 2)));
#line 769 "robdd.m"
    mercury__robdd__RDI0_11 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__robdd__V_4_4, (MR_Integer) 3)));
#line 770 "robdd.m"
    {
#line 770 "robdd.m"
      mercury__robdd__I_12 = mercury__robdd__imp_res_to_imp_map_1_f_0(mercury__robdd__TypeInfo_for_T_5, mercury__robdd__I0_8);
    }
#line 771 "robdd.m"
    {
#line 771 "robdd.m"
      mercury__robdd__RI_13 = mercury__robdd__imp_res_to_imp_map_1_f_0(mercury__robdd__TypeInfo_for_T_5, mercury__robdd__RI0_9);
    }
#line 772 "robdd.m"
    {
#line 772 "robdd.m"
      mercury__robdd__DI_14 = mercury__robdd__imp_res_to_imp_map_1_f_0(mercury__robdd__TypeInfo_for_T_5, mercury__robdd__DI0_10);
    }
#line 773 "robdd.m"
    {
#line 773 "robdd.m"
      mercury__robdd__RDI_15 = mercury__robdd__imp_res_to_imp_map_1_f_0(mercury__robdd__TypeInfo_for_T_5, mercury__robdd__RDI0_11);
    }
#line 774 "robdd.m"
    {
#line 774 "robdd.m"
      mercury__robdd__HeadVar__2_2 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 4 * sizeof(MR_Word)), NULL, NULL);
#line 774 "robdd.m"
      MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, 0) = ((MR_Box) (mercury__robdd__I_12));
#line 774 "robdd.m"
      MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, 1) = ((MR_Box) (mercury__robdd__RI_13));
#line 774 "robdd.m"
      MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, 2) = ((MR_Box) (mercury__robdd__DI_14));
#line 774 "robdd.m"
      MR_hl_field(MR_mktag(0), mercury__robdd__HeadVar__2_2, 3) = ((MR_Box) (mercury__robdd__RDI_15));
#line 774 "robdd.m"
    }
#line 689 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 689 "robdd.m"
  }
#line 234 "robdd.m"
}

#line 213 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__equivalent_vars_1_f_0(
#line 213 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_5,
#line 213 "robdd.m"
  MR_Word mercury__robdd__R_3)
#line 213 "robdd.m"
{
#line 623 "robdd.m"
  {
#line 623 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 623 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;
#line 623 "robdd.m"
    MR_Word mercury__robdd__V_4_4;

#line 623 "robdd.m"
    {
#line 623 "robdd.m"
      mercury__robdd__V_4_4 = mercury__robdd__equivalent_vars_2_1_f_0(mercury__robdd__TypeInfo_for_T_5, mercury__robdd__R_3);
    }
#line 623 "robdd.m"
    {
#line 623 "robdd.m"
      return mercury__robdd__HeadVar__2_2 = mercury__robdd__rev_map_1_f_0(mercury__robdd__TypeInfo_for_T_5, mercury__robdd__V_4_4);
    }
#line 623 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 623 "robdd.m"
  }
#line 213 "robdd.m"
}

#line 191 "robdd.m"
void MR_CALL 
mercury__robdd__definite_vars_3_p_0(
#line 191 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_21,
#line 191 "robdd.m"
  MR_Word mercury__robdd__R_4,
#line 191 "robdd.m"
  MR_Word * mercury__robdd__T_5,
#line 191 "robdd.m"
  MR_Word * mercury__robdd__F_6)
#line 191 "robdd.m"
{
#line 603 "robdd.m"
  {
#line 603 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 600 "robdd.m"
    MR_Word mercury__robdd__V_32_32;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastX_38;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastY_39;

#line 600 "robdd.m"
    {
#line 600 "robdd.m"
      mercury__robdd__V_32_32 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_21);
    }
#line 419 "robdd.m"
    mercury__robdd__CastX_38 = (MR_Integer) mercury__robdd__R_4;
#line 419 "robdd.m"
    mercury__robdd__CastY_39 = (MR_Integer) mercury__robdd__V_32_32;
#line 419 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_38 == mercury__robdd__CastY_39);
#line 419 "robdd.m"
    if (mercury__robdd__succeeded)
#line 419 "robdd.m"
      mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
    else
#line 419 "robdd.m"
      {
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_36_36 = (MR_Integer) mercury__robdd__R_4;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_37_37 = (MR_Integer) mercury__robdd__V_32_32;

#line 24605 "robdd.c"
        mercury__robdd__succeeded = (mercury__robdd__V_36_36 == mercury__robdd__V_37_37);
#line 419 "robdd.m"
      }
#line 603 "robdd.m"
    if (mercury__robdd__succeeded)
#line 601 "robdd.m"
      {
#line 601 "robdd.m"
        MR_Word mercury__robdd__V_13_13 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 601 "robdd.m"
        MR_Word mercury__robdd__V_2_42 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 601 "robdd.m"
        *mercury__robdd__T_5 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__robdd_scalar_common_5[0]);
#line 602 "robdd.m"
        *mercury__robdd__F_6 = *mercury__robdd__T_5;
#line 601 "robdd.m"
      }
#line 603 "robdd.m"
    else
#line 606 "robdd.m"
      {
#line 603 "robdd.m"
        MR_Word mercury__robdd__V_33_33;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastX_48;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastY_49;

#line 603 "robdd.m"
        {
#line 603 "robdd.m"
          mercury__robdd__V_33_33 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_21);
        }
#line 419 "robdd.m"
        mercury__robdd__CastX_48 = (MR_Integer) mercury__robdd__R_4;
#line 419 "robdd.m"
        mercury__robdd__CastY_49 = (MR_Integer) mercury__robdd__V_33_33;
#line 419 "robdd.m"
        mercury__robdd__succeeded = (mercury__robdd__CastX_48 == mercury__robdd__CastY_49);
#line 419 "robdd.m"
        if (mercury__robdd__succeeded)
#line 419 "robdd.m"
          mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
        else
#line 419 "robdd.m"
          {
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_46_46 = (MR_Integer) mercury__robdd__R_4;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_47_47 = (MR_Integer) mercury__robdd__V_33_33;

#line 24659 "robdd.c"
            mercury__robdd__succeeded = (mercury__robdd__V_46_46 == mercury__robdd__V_47_47);
#line 419 "robdd.m"
          }
#line 606 "robdd.m"
        if (mercury__robdd__succeeded)
#line 604 "robdd.m"
          {
#line 604 "robdd.m"
            *mercury__robdd__T_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 605 "robdd.m"
            *mercury__robdd__F_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 604 "robdd.m"
          }
#line 606 "robdd.m"
        else
#line 607 "robdd.m"
          {
#line 607 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_22_22;
#line 607 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_23_23;
#line 607 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_24_24;
#line 607 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_25_25;
#line 607 "robdd.m"
            MR_Word mercury__robdd__TypeCtorInfo_26_26;
#line 607 "robdd.m"
            MR_Word mercury__robdd__TypeInfo_27_27;
#line 607 "robdd.m"
            MR_Word mercury__robdd__BaseTypeClassInfo_for_intersectable_28;
#line 607 "robdd.m"
            MR_Word mercury__robdd__TypeClassInfo_for_intersectable_29;
#line 607 "robdd.m"
            MR_Word mercury__robdd__BaseTypeClassInfo_for_intersectable_30;
#line 607 "robdd.m"
            MR_Word mercury__robdd__TypeClassInfo_for_intersectable_31;
#line 607 "robdd.m"
            MR_Word mercury__robdd__T_tr_7;
#line 607 "robdd.m"
            MR_Word mercury__robdd__F_tr_8;
#line 607 "robdd.m"
            MR_Word mercury__robdd__T_fa_9;
#line 607 "robdd.m"
            MR_Word mercury__robdd__F_fa_10;
#line 607 "robdd.m"
            MR_Word mercury__robdd__T0_11;
#line 607 "robdd.m"
            MR_Word mercury__robdd__F0_12;
#line 607 "robdd.m"
            MR_Word mercury__robdd__V_15_15;
#line 607 "robdd.m"
            MR_Word mercury__robdd__V_16_16;
#line 24713 "robdd.c"
            MR_Box MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box, MR_Box);
#line 24715 "robdd.c"
            MR_Box mercury__robdd__conv1_T0_11;
#line 24717 "robdd.c"
            MR_Box MR_CALL (* mercury__robdd__func_2)(MR_Box, MR_Box, MR_Box);
#line 24719 "robdd.c"
            MR_Box mercury__robdd__conv3_F0_12;
#line 611 "robdd.m"
            MR_Word mercury__robdd__V_17_17;
#line 611 "robdd.m"
            MR_Word mercury__robdd__V_34_34;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__CastX_52;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__CastY_53;

#line 607 "robdd.m"
            {
#line 607 "robdd.m"
              mercury__robdd__V_15_15 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_21, mercury__robdd__R_4);
            }
#line 607 "robdd.m"
            {
#line 607 "robdd.m"
              mercury__robdd__definite_vars_3_p_0(mercury__robdd__TypeInfo_for_T_21, mercury__robdd__V_15_15, &mercury__robdd__T_tr_7, &mercury__robdd__F_tr_8);
            }
#line 608 "robdd.m"
            {
#line 608 "robdd.m"
              mercury__robdd__V_16_16 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_21, mercury__robdd__R_4);
            }
#line 608 "robdd.m"
            {
#line 608 "robdd.m"
              mercury__robdd__definite_vars_3_p_0(mercury__robdd__TypeInfo_for_T_21, mercury__robdd__V_16_16, &mercury__robdd__T_fa_9, &mercury__robdd__F_fa_10);
            }
#line 24750 "robdd.c"
            mercury__robdd__BaseTypeClassInfo_for_intersectable_30 = (MR_Word) base_typeclass_info_robdd__intersectable__arity1__robdd__entailment_result__arity1__;
#line 24752 "robdd.c"
            mercury__robdd__TypeCtorInfo_26_26 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_entailment_result_1;
#line 24754 "robdd.c"
            mercury__robdd__TypeCtorInfo_24_24 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 24756 "robdd.c"
            mercury__robdd__TypeCtorInfo_22_22 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 24758 "robdd.c"
            {
#line 24760 "robdd.c"
              mercury__robdd__TypeInfo_23_23 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 24762 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_23_23, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_22_22));
#line 24764 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_23_23, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_21));
#line 24766 "robdd.c"
            }
#line 24768 "robdd.c"
            {
#line 24770 "robdd.c"
              mercury__robdd__TypeInfo_25_25 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 24772 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_25_25, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_24_24));
#line 24774 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_25_25, 1) = ((MR_Box) (mercury__robdd__TypeInfo_23_23));
#line 24776 "robdd.c"
            }
#line 24778 "robdd.c"
            {
#line 24780 "robdd.c"
              mercury__robdd__TypeInfo_27_27 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 24782 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_27_27, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_26_26));
#line 24784 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_27_27, 1) = ((MR_Box) (mercury__robdd__TypeInfo_25_25));
#line 24786 "robdd.c"
            }
#line 24788 "robdd.c"
            mercury__robdd__BaseTypeClassInfo_for_intersectable_28 = (MR_Word) base_typeclass_info_robdd__intersectable__arity1__sparse_bitset__sparse_bitset__arity1__;
#line 24790 "robdd.c"
            {
#line 24792 "robdd.c"
              mercury__robdd__TypeClassInfo_for_intersectable_29 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 24794 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_29, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_intersectable_28));
#line 24796 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_29, 1) = ((MR_Box) (mercury__robdd__TypeInfo_23_23));
#line 24798 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_29, 2) = ((MR_Box) (mercury__robdd__TypeInfo_25_25));
#line 24800 "robdd.c"
            }
#line 24802 "robdd.c"
            {
#line 24804 "robdd.c"
              mercury__robdd__TypeClassInfo_for_intersectable_31 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 24806 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_31, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_intersectable_30));
#line 24808 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_31, 1) = ((MR_Box) (mercury__robdd__TypeClassInfo_for_intersectable_29));
#line 24810 "robdd.c"
              MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_31, 2) = ((MR_Box) (mercury__robdd__TypeInfo_27_27));
#line 24812 "robdd.c"
            }
#line 24814 "robdd.c"
            mercury__robdd__func_0 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_31, (MR_Integer) 0)), (MR_Integer) 5)));
#line 24816 "robdd.c"
            {
#line 24818 "robdd.c"
              mercury__robdd__conv1_T0_11 = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_intersectable_31), ((MR_Box) (mercury__robdd__T_tr_7)), ((MR_Box) (mercury__robdd__T_fa_9)));
            }
#line 24821 "robdd.c"
            mercury__robdd__T0_11 = ((MR_Word) mercury__robdd__conv1_T0_11);
#line 24823 "robdd.c"
            mercury__robdd__func_2 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_31, (MR_Integer) 0)), (MR_Integer) 5)));
#line 24825 "robdd.c"
            {
#line 24827 "robdd.c"
              mercury__robdd__conv3_F0_12 = mercury__robdd__func_2(((MR_Box) mercury__robdd__TypeClassInfo_for_intersectable_31), ((MR_Box) (mercury__robdd__F_tr_8)), ((MR_Box) (mercury__robdd__F_fa_10)));
            }
#line 24830 "robdd.c"
            mercury__robdd__F0_12 = ((MR_Word) mercury__robdd__conv3_F0_12);
#line 611 "robdd.m"
            {
#line 611 "robdd.m"
              mercury__robdd__V_17_17 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_21, mercury__robdd__R_4);
            }
#line 611 "robdd.m"
            {
#line 611 "robdd.m"
              mercury__robdd__V_34_34 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_21);
            }
#line 419 "robdd.m"
            mercury__robdd__CastX_52 = (MR_Integer) mercury__robdd__V_17_17;
#line 419 "robdd.m"
            mercury__robdd__CastY_53 = (MR_Integer) mercury__robdd__V_34_34;
#line 419 "robdd.m"
            mercury__robdd__succeeded = (mercury__robdd__CastX_52 == mercury__robdd__CastY_53);
#line 419 "robdd.m"
            if (mercury__robdd__succeeded)
#line 419 "robdd.m"
              mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
            else
#line 419 "robdd.m"
              {
#line 419 "robdd.m"
                MR_Integer mercury__robdd__V_50_50 = (MR_Integer) mercury__robdd__V_17_17;
#line 419 "robdd.m"
                MR_Integer mercury__robdd__V_51_51 = (MR_Integer) mercury__robdd__V_34_34;

#line 24861 "robdd.c"
                mercury__robdd__succeeded = (mercury__robdd__V_50_50 == mercury__robdd__V_51_51);
#line 419 "robdd.m"
              }
#line 614 "robdd.m"
            if (mercury__robdd__succeeded)
#line 612 "robdd.m"
              {
#line 612 "robdd.m"
                MR_Word mercury__robdd__V_18_18;

#line 612 "robdd.m"
                {
#line 612 "robdd.m"
                  mercury__robdd__V_18_18 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_21, mercury__robdd__R_4);
                }
#line 872 "robdd.m"
                if ((mercury__robdd__T0_11 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 872 "robdd.m"
                  *mercury__robdd__T_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 872 "robdd.m"
                else
#line 873 "robdd.m"
                  {
#line 873 "robdd.m"
                    MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_60 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 873 "robdd.m"
                    MR_Word mercury__robdd__TypeClassInfo_for_enum_61;
#line 873 "robdd.m"
                    MR_Word mercury__robdd__Vs_55 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__T0_11, (MR_Integer) 0)));
#line 873 "robdd.m"
                    MR_Word mercury__robdd__V_57_57;
#line 873 "robdd.m"
                    MR_Word mercury__robdd__Set0_6_68;
#line 873 "robdd.m"
                    MR_Integer mercury__robdd__V_9_70;
#line 873 "robdd.m"
                    MR_Word mercury__robdd__Set_5_71;
#line 24899 "robdd.c"
                    MR_Box MR_CALL (* mercury__robdd__func_4)(MR_Box, MR_Box);
#line 24901 "robdd.c"
                    MR_Box mercury__robdd__conv5_V_9_70;

#line 24904 "robdd.c"
                    {
#line 24906 "robdd.c"
                      mercury__robdd__TypeClassInfo_for_enum_61 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 24908 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_61, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_60));
#line 24910 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_61, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_21));
#line 24912 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_61, 2) = ((MR_Box) (mercury__robdd__TypeInfo_23_23));
#line 24914 "robdd.c"
                    }
#line 168 "sparse_bitset.opt"
                    mercury__robdd__Set0_6_68 = (MR_Word) mercury__robdd__Vs_55;
#line 24918 "robdd.c"
                    mercury__robdd__func_4 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_61, (MR_Integer) 0)), (MR_Integer) 5)));
#line 24920 "robdd.c"
                    {
#line 24922 "robdd.c"
                      mercury__robdd__conv5_V_9_70 = mercury__robdd__func_4(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_61), ((MR_Box) (mercury__robdd__V_18_18)));
                    }
#line 24925 "robdd.c"
                    mercury__robdd__V_9_70 = ((MR_Integer) mercury__robdd__conv5_V_9_70);
#line 170 "sparse_bitset.opt"
                    {
#line 170 "sparse_bitset.opt"
                      mercury__sparse_bitset__insert_2_3_p_0(mercury__robdd__Set0_6_68, mercury__robdd__V_9_70, &mercury__robdd__Set_5_71);
                    }
#line 171 "sparse_bitset.opt"
                    mercury__robdd__V_57_57 = (MR_Word) mercury__robdd__Set_5_71;
#line 873 "robdd.m"
                    {
#line 873 "robdd.m"
                      MR_Word base;
#line 873 "robdd.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 873 "robdd.m"
                      *mercury__robdd__T_5 = base;
#line 873 "robdd.m"
                      MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__robdd__V_57_57));
#line 873 "robdd.m"
                    }
#line 873 "robdd.m"
                  }
#line 613 "robdd.m"
                *mercury__robdd__F_6 = mercury__robdd__F0_12;
#line 612 "robdd.m"
              }
#line 614 "robdd.m"
            else
#line 617 "robdd.m"
              {
#line 614 "robdd.m"
                MR_Word mercury__robdd__V_19_19;
#line 614 "robdd.m"
                MR_Word mercury__robdd__V_35_35;
#line 419 "robdd.m"
                MR_Integer mercury__robdd__CastX_74;
#line 419 "robdd.m"
                MR_Integer mercury__robdd__CastY_75;

#line 614 "robdd.m"
                {
#line 614 "robdd.m"
                  mercury__robdd__V_19_19 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_21, mercury__robdd__R_4);
                }
#line 614 "robdd.m"
                {
#line 614 "robdd.m"
                  mercury__robdd__V_35_35 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_21);
                }
#line 419 "robdd.m"
                mercury__robdd__CastX_74 = (MR_Integer) mercury__robdd__V_19_19;
#line 419 "robdd.m"
                mercury__robdd__CastY_75 = (MR_Integer) mercury__robdd__V_35_35;
#line 419 "robdd.m"
                mercury__robdd__succeeded = (mercury__robdd__CastX_74 == mercury__robdd__CastY_75);
#line 419 "robdd.m"
                if (mercury__robdd__succeeded)
#line 419 "robdd.m"
                  mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
                else
#line 419 "robdd.m"
                  {
#line 419 "robdd.m"
                    MR_Integer mercury__robdd__V_72_72 = (MR_Integer) mercury__robdd__V_19_19;
#line 419 "robdd.m"
                    MR_Integer mercury__robdd__V_73_73 = (MR_Integer) mercury__robdd__V_35_35;

#line 24994 "robdd.c"
                    mercury__robdd__succeeded = (mercury__robdd__V_72_72 == mercury__robdd__V_73_73);
#line 419 "robdd.m"
                  }
#line 617 "robdd.m"
                if (mercury__robdd__succeeded)
#line 615 "robdd.m"
                  {
#line 615 "robdd.m"
                    MR_Word mercury__robdd__V_20_20;

#line 615 "robdd.m"
                    *mercury__robdd__T_5 = mercury__robdd__T0_11;
#line 616 "robdd.m"
                    {
#line 616 "robdd.m"
                      mercury__robdd__V_20_20 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_21, mercury__robdd__R_4);
                    }
#line 872 "robdd.m"
                    if ((mercury__robdd__F0_12 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 872 "robdd.m"
                      *mercury__robdd__F_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 872 "robdd.m"
                    else
#line 873 "robdd.m"
                      {
#line 873 "robdd.m"
                        MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_82 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 873 "robdd.m"
                        MR_Word mercury__robdd__TypeClassInfo_for_enum_83;
#line 873 "robdd.m"
                        MR_Word mercury__robdd__Vs_77 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__F0_12, (MR_Integer) 0)));
#line 873 "robdd.m"
                        MR_Word mercury__robdd__V_79_79;
#line 873 "robdd.m"
                        MR_Word mercury__robdd__Set0_6_90;
#line 873 "robdd.m"
                        MR_Integer mercury__robdd__V_9_92;
#line 873 "robdd.m"
                        MR_Word mercury__robdd__Set_5_93;
#line 25034 "robdd.c"
                        MR_Box MR_CALL (* mercury__robdd__func_6)(MR_Box, MR_Box);
#line 25036 "robdd.c"
                        MR_Box mercury__robdd__conv7_V_9_92;

#line 25039 "robdd.c"
                        {
#line 25041 "robdd.c"
                          mercury__robdd__TypeClassInfo_for_enum_83 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 25043 "robdd.c"
                          MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_83, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_82));
#line 25045 "robdd.c"
                          MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_83, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_21));
#line 25047 "robdd.c"
                          MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_83, 2) = ((MR_Box) (mercury__robdd__TypeInfo_23_23));
#line 25049 "robdd.c"
                        }
#line 168 "sparse_bitset.opt"
                        mercury__robdd__Set0_6_90 = (MR_Word) mercury__robdd__Vs_77;
#line 25053 "robdd.c"
                        mercury__robdd__func_6 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_83, (MR_Integer) 0)), (MR_Integer) 5)));
#line 25055 "robdd.c"
                        {
#line 25057 "robdd.c"
                          mercury__robdd__conv7_V_9_92 = mercury__robdd__func_6(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_83), ((MR_Box) (mercury__robdd__V_20_20)));
                        }
#line 25060 "robdd.c"
                        mercury__robdd__V_9_92 = ((MR_Integer) mercury__robdd__conv7_V_9_92);
#line 170 "sparse_bitset.opt"
                        {
#line 170 "sparse_bitset.opt"
                          mercury__sparse_bitset__insert_2_3_p_0(mercury__robdd__Set0_6_90, mercury__robdd__V_9_92, &mercury__robdd__Set_5_93);
                        }
#line 171 "sparse_bitset.opt"
                        mercury__robdd__V_79_79 = (MR_Word) mercury__robdd__Set_5_93;
#line 873 "robdd.m"
                        {
#line 873 "robdd.m"
                          MR_Word base;
#line 873 "robdd.m"
                          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 873 "robdd.m"
                          *mercury__robdd__F_6 = base;
#line 873 "robdd.m"
                          MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__robdd__V_79_79));
#line 873 "robdd.m"
                        }
#line 873 "robdd.m"
                      }
#line 615 "robdd.m"
                  }
#line 617 "robdd.m"
                else
#line 618 "robdd.m"
                  {
#line 618 "robdd.m"
                    *mercury__robdd__T_5 = mercury__robdd__T0_11;
#line 619 "robdd.m"
                    *mercury__robdd__F_6 = mercury__robdd__F0_12;
#line 618 "robdd.m"
                  }
#line 617 "robdd.m"
              }
#line 607 "robdd.m"
          }
#line 606 "robdd.m"
      }
#line 603 "robdd.m"
  }
#line 191 "robdd.m"
}

#line 186 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__vars_disentailed_1_f_0(
#line 186 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_16,
#line 186 "robdd.m"
  MR_Word mercury__robdd__R_3)
#line 186 "robdd.m"
{
#line 582 "robdd.m"
  {
#line 582 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 582 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;
#line 583 "robdd.m"
    MR_Word mercury__robdd__V_37_37;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastX_42;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastY_43;

#line 583 "robdd.m"
    {
#line 583 "robdd.m"
      mercury__robdd__V_37_37 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_16);
    }
#line 419 "robdd.m"
    mercury__robdd__CastX_42 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
    mercury__robdd__CastY_43 = (MR_Integer) mercury__robdd__V_37_37;
#line 419 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_42 == mercury__robdd__CastY_43);
#line 419 "robdd.m"
    if (mercury__robdd__succeeded)
#line 419 "robdd.m"
      mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
    else
#line 419 "robdd.m"
      {
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_40_40 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_41_41 = (MR_Integer) mercury__robdd__V_37_37;

#line 25152 "robdd.c"
        mercury__robdd__succeeded = (mercury__robdd__V_40_40 == mercury__robdd__V_41_41);
#line 419 "robdd.m"
      }
#line 582 "robdd.m"
    if (mercury__robdd__succeeded)
#line 584 "robdd.m"
      {
#line 584 "robdd.m"
        MR_Word mercury__robdd__V_4_4 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 584 "robdd.m"
        MR_Word mercury__robdd__V_2_46 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 582 "robdd.m"
        mercury__robdd__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__robdd_scalar_common_5[0]);
#line 584 "robdd.m"
      }
#line 582 "robdd.m"
    else
#line 582 "robdd.m"
      {
#line 585 "robdd.m"
        MR_Word mercury__robdd__V_38_38;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastX_49;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastY_50;

#line 585 "robdd.m"
        {
#line 585 "robdd.m"
          mercury__robdd__V_38_38 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_16);
        }
#line 419 "robdd.m"
        mercury__robdd__CastX_49 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
        mercury__robdd__CastY_50 = (MR_Integer) mercury__robdd__V_38_38;
#line 419 "robdd.m"
        mercury__robdd__succeeded = (mercury__robdd__CastX_49 == mercury__robdd__CastY_50);
#line 419 "robdd.m"
        if (mercury__robdd__succeeded)
#line 419 "robdd.m"
          mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
        else
#line 419 "robdd.m"
          {
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_47_47 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_48_48 = (MR_Integer) mercury__robdd__V_38_38;

#line 25204 "robdd.c"
            mercury__robdd__succeeded = (mercury__robdd__V_47_47 == mercury__robdd__V_48_48);
#line 419 "robdd.m"
          }
#line 582 "robdd.m"
        if (mercury__robdd__succeeded)
#line 582 "robdd.m"
          mercury__robdd__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 582 "robdd.m"
        else
#line 582 "robdd.m"
          {
#line 588 "robdd.m"
            MR_Word mercury__robdd__V_5_5;
#line 588 "robdd.m"
            MR_Word mercury__robdd__V_39_39;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__CastX_53;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__CastY_54;

#line 588 "robdd.m"
            {
#line 588 "robdd.m"
              mercury__robdd__V_5_5 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__R_3);
            }
#line 588 "robdd.m"
            {
#line 588 "robdd.m"
              mercury__robdd__V_39_39 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_16);
            }
#line 419 "robdd.m"
            mercury__robdd__CastX_53 = (MR_Integer) mercury__robdd__V_5_5;
#line 419 "robdd.m"
            mercury__robdd__CastY_54 = (MR_Integer) mercury__robdd__V_39_39;
#line 419 "robdd.m"
            mercury__robdd__succeeded = (mercury__robdd__CastX_53 == mercury__robdd__CastY_54);
#line 419 "robdd.m"
            if (mercury__robdd__succeeded)
#line 419 "robdd.m"
              mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
            else
#line 419 "robdd.m"
              {
#line 419 "robdd.m"
                MR_Integer mercury__robdd__V_51_51 = (MR_Integer) mercury__robdd__V_5_5;
#line 419 "robdd.m"
                MR_Integer mercury__robdd__V_52_52 = (MR_Integer) mercury__robdd__V_39_39;

#line 25254 "robdd.c"
                mercury__robdd__succeeded = (mercury__robdd__V_51_51 == mercury__robdd__V_52_52);
#line 419 "robdd.m"
              }
#line 582 "robdd.m"
            if (mercury__robdd__succeeded)
#line 590 "robdd.m"
              {
#line 590 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_17_17 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 590 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_18_18;
#line 590 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_19_19 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 590 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_20_20;
#line 590 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_21_21 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_entailment_result_1;
#line 590 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_22_22;
#line 590 "robdd.m"
                MR_Word mercury__robdd__BaseTypeClassInfo_for_intersectable_23;
#line 590 "robdd.m"
                MR_Word mercury__robdd__TypeClassInfo_for_intersectable_24;
#line 590 "robdd.m"
                MR_Word mercury__robdd__BaseTypeClassInfo_for_intersectable_25 = (MR_Word) base_typeclass_info_robdd__intersectable__arity1__robdd__entailment_result__arity1__;
#line 590 "robdd.m"
                MR_Word mercury__robdd__TypeClassInfo_for_intersectable_26;
#line 590 "robdd.m"
                MR_Word mercury__robdd__V_6_6;
#line 590 "robdd.m"
                MR_Word mercury__robdd__V_7_7;
#line 590 "robdd.m"
                MR_Word mercury__robdd__V_8_8;
#line 590 "robdd.m"
                MR_Word mercury__robdd__V_9_9;
#line 590 "robdd.m"
                MR_Word mercury__robdd__V_10_10;
#line 590 "robdd.m"
                MR_Word mercury__robdd__V_11_11;
#line 25294 "robdd.c"
                MR_Box MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box, MR_Box);
#line 25296 "robdd.c"
                MR_Box mercury__robdd__conv1_V_6_6;

#line 25299 "robdd.c"
                {
#line 25301 "robdd.c"
                  mercury__robdd__TypeInfo_18_18 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 25303 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_18_18, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_17_17));
#line 25305 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_18_18, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_16));
#line 25307 "robdd.c"
                }
#line 25309 "robdd.c"
                {
#line 25311 "robdd.c"
                  mercury__robdd__TypeInfo_20_20 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 25313 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_20_20, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_19_19));
#line 25315 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_20_20, 1) = ((MR_Box) (mercury__robdd__TypeInfo_18_18));
#line 25317 "robdd.c"
                }
#line 25319 "robdd.c"
                {
#line 25321 "robdd.c"
                  mercury__robdd__TypeInfo_22_22 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 25323 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_22_22, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_21_21));
#line 25325 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_22_22, 1) = ((MR_Box) (mercury__robdd__TypeInfo_20_20));
#line 25327 "robdd.c"
                }
#line 25329 "robdd.c"
                mercury__robdd__BaseTypeClassInfo_for_intersectable_23 = (MR_Word) base_typeclass_info_robdd__intersectable__arity1__sparse_bitset__sparse_bitset__arity1__;
#line 25331 "robdd.c"
                {
#line 25333 "robdd.c"
                  mercury__robdd__TypeClassInfo_for_intersectable_24 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 25335 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_24, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_intersectable_23));
#line 25337 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_24, 1) = ((MR_Box) (mercury__robdd__TypeInfo_18_18));
#line 25339 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_24, 2) = ((MR_Box) (mercury__robdd__TypeInfo_20_20));
#line 25341 "robdd.c"
                }
#line 25343 "robdd.c"
                {
#line 25345 "robdd.c"
                  mercury__robdd__TypeClassInfo_for_intersectable_26 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 25347 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_26, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_intersectable_25));
#line 25349 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_26, 1) = ((MR_Box) (mercury__robdd__TypeClassInfo_for_intersectable_24));
#line 25351 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_26, 2) = ((MR_Box) (mercury__robdd__TypeInfo_22_22));
#line 25353 "robdd.c"
                }
#line 589 "robdd.m"
                {
#line 589 "robdd.m"
                  mercury__robdd__V_8_8 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__R_3);
                }
#line 589 "robdd.m"
                {
#line 589 "robdd.m"
                  mercury__robdd__V_7_7 = mercury__robdd__vars_disentailed_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__V_8_8);
                }
#line 590 "robdd.m"
                {
#line 590 "robdd.m"
                  mercury__robdd__V_10_10 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__R_3);
                }
#line 589 "robdd.m"
                {
#line 589 "robdd.m"
                  mercury__robdd__V_9_9 = mercury__robdd__vars_disentailed_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__V_10_10);
                }
#line 25375 "robdd.c"
                mercury__robdd__func_0 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_26, (MR_Integer) 0)), (MR_Integer) 5)));
#line 25377 "robdd.c"
                {
#line 25379 "robdd.c"
                  mercury__robdd__conv1_V_6_6 = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_intersectable_26), ((MR_Box) (mercury__robdd__V_7_7)), ((MR_Box) (mercury__robdd__V_9_9)));
                }
#line 25382 "robdd.c"
                mercury__robdd__V_6_6 = ((MR_Word) mercury__robdd__conv1_V_6_6);
#line 590 "robdd.m"
                {
#line 590 "robdd.m"
                  mercury__robdd__V_11_11 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__R_3);
                }
#line 872 "robdd.m"
                if ((mercury__robdd__V_6_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 872 "robdd.m"
                  mercury__robdd__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 872 "robdd.m"
                else
#line 873 "robdd.m"
                  {
#line 873 "robdd.m"
                    MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_61 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 873 "robdd.m"
                    MR_Word mercury__robdd__TypeClassInfo_for_enum_62;
#line 873 "robdd.m"
                    MR_Word mercury__robdd__Vs_56 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__V_6_6, (MR_Integer) 0)));
#line 873 "robdd.m"
                    MR_Word mercury__robdd__V_58_58;
#line 873 "robdd.m"
                    MR_Word mercury__robdd__Set0_6_69;
#line 873 "robdd.m"
                    MR_Integer mercury__robdd__V_9_71;
#line 873 "robdd.m"
                    MR_Word mercury__robdd__Set_5_72;
#line 25411 "robdd.c"
                    MR_Box MR_CALL (* mercury__robdd__func_2)(MR_Box, MR_Box);
#line 25413 "robdd.c"
                    MR_Box mercury__robdd__conv3_V_9_71;

#line 25416 "robdd.c"
                    {
#line 25418 "robdd.c"
                      mercury__robdd__TypeClassInfo_for_enum_62 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 25420 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_62, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_61));
#line 25422 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_62, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_16));
#line 25424 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_62, 2) = ((MR_Box) (mercury__robdd__TypeInfo_18_18));
#line 25426 "robdd.c"
                    }
#line 168 "sparse_bitset.opt"
                    mercury__robdd__Set0_6_69 = (MR_Word) mercury__robdd__Vs_56;
#line 25430 "robdd.c"
                    mercury__robdd__func_2 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_62, (MR_Integer) 0)), (MR_Integer) 5)));
#line 25432 "robdd.c"
                    {
#line 25434 "robdd.c"
                      mercury__robdd__conv3_V_9_71 = mercury__robdd__func_2(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_62), ((MR_Box) (mercury__robdd__V_11_11)));
                    }
#line 25437 "robdd.c"
                    mercury__robdd__V_9_71 = ((MR_Integer) mercury__robdd__conv3_V_9_71);
#line 170 "sparse_bitset.opt"
                    {
#line 170 "sparse_bitset.opt"
                      mercury__sparse_bitset__insert_2_3_p_0(mercury__robdd__Set0_6_69, mercury__robdd__V_9_71, &mercury__robdd__Set_5_72);
                    }
#line 171 "sparse_bitset.opt"
                    mercury__robdd__V_58_58 = (MR_Word) mercury__robdd__Set_5_72;
#line 873 "robdd.m"
                    {
#line 873 "robdd.m"
                      mercury__robdd__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 873 "robdd.m"
                      MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, 0) = ((MR_Box) (mercury__robdd__V_58_58));
#line 873 "robdd.m"
                    }
#line 873 "robdd.m"
                  }
#line 590 "robdd.m"
              }
#line 582 "robdd.m"
            else
#line 592 "robdd.m"
              {
#line 592 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_27_27 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 592 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_28_28;
#line 592 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_29_29 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 592 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_30_30;
#line 592 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_31_31 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_entailment_result_1;
#line 592 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_32_32;
#line 592 "robdd.m"
                MR_Word mercury__robdd__BaseTypeClassInfo_for_intersectable_33;
#line 592 "robdd.m"
                MR_Word mercury__robdd__TypeClassInfo_for_intersectable_34;
#line 592 "robdd.m"
                MR_Word mercury__robdd__BaseTypeClassInfo_for_intersectable_35 = (MR_Word) base_typeclass_info_robdd__intersectable__arity1__robdd__entailment_result__arity1__;
#line 592 "robdd.m"
                MR_Word mercury__robdd__TypeClassInfo_for_intersectable_36;
#line 592 "robdd.m"
                MR_Word mercury__robdd__V_12_12;
#line 592 "robdd.m"
                MR_Word mercury__robdd__V_13_13;
#line 592 "robdd.m"
                MR_Word mercury__robdd__V_14_14;
#line 592 "robdd.m"
                MR_Word mercury__robdd__V_15_15;
#line 25490 "robdd.c"
                MR_Box MR_CALL (* mercury__robdd__func_4)(MR_Box, MR_Box, MR_Box);
#line 25492 "robdd.c"
                MR_Box mercury__robdd__conv5_HeadVar__2_2;

#line 25495 "robdd.c"
                {
#line 25497 "robdd.c"
                  mercury__robdd__TypeInfo_28_28 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 25499 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_28_28, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_27_27));
#line 25501 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_28_28, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_16));
#line 25503 "robdd.c"
                }
#line 25505 "robdd.c"
                {
#line 25507 "robdd.c"
                  mercury__robdd__TypeInfo_30_30 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 25509 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_30_30, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_29_29));
#line 25511 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_30_30, 1) = ((MR_Box) (mercury__robdd__TypeInfo_28_28));
#line 25513 "robdd.c"
                }
#line 25515 "robdd.c"
                {
#line 25517 "robdd.c"
                  mercury__robdd__TypeInfo_32_32 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 25519 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_32_32, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_31_31));
#line 25521 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_32_32, 1) = ((MR_Box) (mercury__robdd__TypeInfo_30_30));
#line 25523 "robdd.c"
                }
#line 25525 "robdd.c"
                mercury__robdd__BaseTypeClassInfo_for_intersectable_33 = (MR_Word) base_typeclass_info_robdd__intersectable__arity1__sparse_bitset__sparse_bitset__arity1__;
#line 25527 "robdd.c"
                {
#line 25529 "robdd.c"
                  mercury__robdd__TypeClassInfo_for_intersectable_34 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 25531 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_34, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_intersectable_33));
#line 25533 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_34, 1) = ((MR_Box) (mercury__robdd__TypeInfo_28_28));
#line 25535 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_34, 2) = ((MR_Box) (mercury__robdd__TypeInfo_30_30));
#line 25537 "robdd.c"
                }
#line 25539 "robdd.c"
                {
#line 25541 "robdd.c"
                  mercury__robdd__TypeClassInfo_for_intersectable_36 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 25543 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_36, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_intersectable_35));
#line 25545 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_36, 1) = ((MR_Box) (mercury__robdd__TypeClassInfo_for_intersectable_34));
#line 25547 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_36, 2) = ((MR_Box) (mercury__robdd__TypeInfo_32_32));
#line 25549 "robdd.c"
                }
#line 592 "robdd.m"
                {
#line 592 "robdd.m"
                  mercury__robdd__V_13_13 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__R_3);
                }
#line 592 "robdd.m"
                {
#line 592 "robdd.m"
                  mercury__robdd__V_12_12 = mercury__robdd__vars_disentailed_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__V_13_13);
                }
#line 593 "robdd.m"
                {
#line 593 "robdd.m"
                  mercury__robdd__V_15_15 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__R_3);
                }
#line 592 "robdd.m"
                {
#line 592 "robdd.m"
                  mercury__robdd__V_14_14 = mercury__robdd__vars_disentailed_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__V_15_15);
                }
#line 25571 "robdd.c"
                mercury__robdd__func_4 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_36, (MR_Integer) 0)), (MR_Integer) 5)));
#line 25573 "robdd.c"
                {
#line 25575 "robdd.c"
                  mercury__robdd__conv5_HeadVar__2_2 = mercury__robdd__func_4(((MR_Box) mercury__robdd__TypeClassInfo_for_intersectable_36), ((MR_Box) (mercury__robdd__V_12_12)), ((MR_Box) (mercury__robdd__V_14_14)));
                }
#line 25578 "robdd.c"
                mercury__robdd__HeadVar__2_2 = ((MR_Word) mercury__robdd__conv5_HeadVar__2_2);
#line 592 "robdd.m"
              }
#line 582 "robdd.m"
          }
#line 582 "robdd.m"
      }
#line 582 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 582 "robdd.m"
  }
#line 186 "robdd.m"
}

#line 182 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__vars_entailed_1_f_0(
#line 182 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_16,
#line 182 "robdd.m"
  MR_Word mercury__robdd__R_3)
#line 182 "robdd.m"
{
#line 566 "robdd.m"
  {
#line 566 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 566 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;
#line 567 "robdd.m"
    MR_Word mercury__robdd__V_37_37;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastX_42;
#line 419 "robdd.m"
    MR_Integer mercury__robdd__CastY_43;

#line 567 "robdd.m"
    {
#line 567 "robdd.m"
      mercury__robdd__V_37_37 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_16);
    }
#line 419 "robdd.m"
    mercury__robdd__CastX_42 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
    mercury__robdd__CastY_43 = (MR_Integer) mercury__robdd__V_37_37;
#line 419 "robdd.m"
    mercury__robdd__succeeded = (mercury__robdd__CastX_42 == mercury__robdd__CastY_43);
#line 419 "robdd.m"
    if (mercury__robdd__succeeded)
#line 419 "robdd.m"
      mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
    else
#line 419 "robdd.m"
      {
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_40_40 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__V_41_41 = (MR_Integer) mercury__robdd__V_37_37;

#line 25639 "robdd.c"
        mercury__robdd__succeeded = (mercury__robdd__V_40_40 == mercury__robdd__V_41_41);
#line 419 "robdd.m"
      }
#line 566 "robdd.m"
    if (mercury__robdd__succeeded)
#line 568 "robdd.m"
      {
#line 568 "robdd.m"
        MR_Word mercury__robdd__V_4_4 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 568 "robdd.m"
        MR_Word mercury__robdd__V_2_46 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 566 "robdd.m"
        mercury__robdd__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__robdd_scalar_common_5[0]);
#line 568 "robdd.m"
      }
#line 566 "robdd.m"
    else
#line 566 "robdd.m"
      {
#line 569 "robdd.m"
        MR_Word mercury__robdd__V_38_38;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastX_49;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastY_50;

#line 569 "robdd.m"
        {
#line 569 "robdd.m"
          mercury__robdd__V_38_38 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_16);
        }
#line 419 "robdd.m"
        mercury__robdd__CastX_49 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
        mercury__robdd__CastY_50 = (MR_Integer) mercury__robdd__V_38_38;
#line 419 "robdd.m"
        mercury__robdd__succeeded = (mercury__robdd__CastX_49 == mercury__robdd__CastY_50);
#line 419 "robdd.m"
        if (mercury__robdd__succeeded)
#line 419 "robdd.m"
          mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
        else
#line 419 "robdd.m"
          {
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_47_47 = (MR_Integer) mercury__robdd__R_3;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_48_48 = (MR_Integer) mercury__robdd__V_38_38;

#line 25691 "robdd.c"
            mercury__robdd__succeeded = (mercury__robdd__V_47_47 == mercury__robdd__V_48_48);
#line 419 "robdd.m"
          }
#line 566 "robdd.m"
        if (mercury__robdd__succeeded)
#line 566 "robdd.m"
          mercury__robdd__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 566 "robdd.m"
        else
#line 566 "robdd.m"
          {
#line 572 "robdd.m"
            MR_Word mercury__robdd__V_5_5;
#line 572 "robdd.m"
            MR_Word mercury__robdd__V_39_39;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__CastX_53;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__CastY_54;

#line 572 "robdd.m"
            {
#line 572 "robdd.m"
              mercury__robdd__V_5_5 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__R_3);
            }
#line 572 "robdd.m"
            {
#line 572 "robdd.m"
              mercury__robdd__V_39_39 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_16);
            }
#line 419 "robdd.m"
            mercury__robdd__CastX_53 = (MR_Integer) mercury__robdd__V_5_5;
#line 419 "robdd.m"
            mercury__robdd__CastY_54 = (MR_Integer) mercury__robdd__V_39_39;
#line 419 "robdd.m"
            mercury__robdd__succeeded = (mercury__robdd__CastX_53 == mercury__robdd__CastY_54);
#line 419 "robdd.m"
            if (mercury__robdd__succeeded)
#line 419 "robdd.m"
              mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
            else
#line 419 "robdd.m"
              {
#line 419 "robdd.m"
                MR_Integer mercury__robdd__V_51_51 = (MR_Integer) mercury__robdd__V_5_5;
#line 419 "robdd.m"
                MR_Integer mercury__robdd__V_52_52 = (MR_Integer) mercury__robdd__V_39_39;

#line 25741 "robdd.c"
                mercury__robdd__succeeded = (mercury__robdd__V_51_51 == mercury__robdd__V_52_52);
#line 419 "robdd.m"
              }
#line 566 "robdd.m"
            if (mercury__robdd__succeeded)
#line 574 "robdd.m"
              {
#line 574 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_17_17 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 574 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_18_18;
#line 574 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_19_19 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 574 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_20_20;
#line 574 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_21_21 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_entailment_result_1;
#line 574 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_22_22;
#line 574 "robdd.m"
                MR_Word mercury__robdd__BaseTypeClassInfo_for_intersectable_23;
#line 574 "robdd.m"
                MR_Word mercury__robdd__TypeClassInfo_for_intersectable_24;
#line 574 "robdd.m"
                MR_Word mercury__robdd__BaseTypeClassInfo_for_intersectable_25 = (MR_Word) base_typeclass_info_robdd__intersectable__arity1__robdd__entailment_result__arity1__;
#line 574 "robdd.m"
                MR_Word mercury__robdd__TypeClassInfo_for_intersectable_26;
#line 574 "robdd.m"
                MR_Word mercury__robdd__V_6_6;
#line 574 "robdd.m"
                MR_Word mercury__robdd__V_7_7;
#line 574 "robdd.m"
                MR_Word mercury__robdd__V_8_8;
#line 574 "robdd.m"
                MR_Word mercury__robdd__V_9_9;
#line 574 "robdd.m"
                MR_Word mercury__robdd__V_10_10;
#line 574 "robdd.m"
                MR_Word mercury__robdd__V_11_11;
#line 25781 "robdd.c"
                MR_Box MR_CALL (* mercury__robdd__func_0)(MR_Box, MR_Box, MR_Box);
#line 25783 "robdd.c"
                MR_Box mercury__robdd__conv1_V_6_6;

#line 25786 "robdd.c"
                {
#line 25788 "robdd.c"
                  mercury__robdd__TypeInfo_18_18 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 25790 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_18_18, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_17_17));
#line 25792 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_18_18, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_16));
#line 25794 "robdd.c"
                }
#line 25796 "robdd.c"
                {
#line 25798 "robdd.c"
                  mercury__robdd__TypeInfo_20_20 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 25800 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_20_20, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_19_19));
#line 25802 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_20_20, 1) = ((MR_Box) (mercury__robdd__TypeInfo_18_18));
#line 25804 "robdd.c"
                }
#line 25806 "robdd.c"
                {
#line 25808 "robdd.c"
                  mercury__robdd__TypeInfo_22_22 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 25810 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_22_22, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_21_21));
#line 25812 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_22_22, 1) = ((MR_Box) (mercury__robdd__TypeInfo_20_20));
#line 25814 "robdd.c"
                }
#line 25816 "robdd.c"
                mercury__robdd__BaseTypeClassInfo_for_intersectable_23 = (MR_Word) base_typeclass_info_robdd__intersectable__arity1__sparse_bitset__sparse_bitset__arity1__;
#line 25818 "robdd.c"
                {
#line 25820 "robdd.c"
                  mercury__robdd__TypeClassInfo_for_intersectable_24 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 25822 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_24, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_intersectable_23));
#line 25824 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_24, 1) = ((MR_Box) (mercury__robdd__TypeInfo_18_18));
#line 25826 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_24, 2) = ((MR_Box) (mercury__robdd__TypeInfo_20_20));
#line 25828 "robdd.c"
                }
#line 25830 "robdd.c"
                {
#line 25832 "robdd.c"
                  mercury__robdd__TypeClassInfo_for_intersectable_26 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 25834 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_26, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_intersectable_25));
#line 25836 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_26, 1) = ((MR_Box) (mercury__robdd__TypeClassInfo_for_intersectable_24));
#line 25838 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_26, 2) = ((MR_Box) (mercury__robdd__TypeInfo_22_22));
#line 25840 "robdd.c"
                }
#line 573 "robdd.m"
                {
#line 573 "robdd.m"
                  mercury__robdd__V_8_8 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__R_3);
                }
#line 573 "robdd.m"
                {
#line 573 "robdd.m"
                  mercury__robdd__V_7_7 = mercury__robdd__vars_entailed_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__V_8_8);
                }
#line 573 "robdd.m"
                {
#line 573 "robdd.m"
                  mercury__robdd__V_10_10 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__R_3);
                }
#line 573 "robdd.m"
                {
#line 573 "robdd.m"
                  mercury__robdd__V_9_9 = mercury__robdd__vars_entailed_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__V_10_10);
                }
#line 25862 "robdd.c"
                mercury__robdd__func_0 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_26, (MR_Integer) 0)), (MR_Integer) 5)));
#line 25864 "robdd.c"
                {
#line 25866 "robdd.c"
                  mercury__robdd__conv1_V_6_6 = mercury__robdd__func_0(((MR_Box) mercury__robdd__TypeClassInfo_for_intersectable_26), ((MR_Box) (mercury__robdd__V_7_7)), ((MR_Box) (mercury__robdd__V_9_9)));
                }
#line 25869 "robdd.c"
                mercury__robdd__V_6_6 = ((MR_Word) mercury__robdd__conv1_V_6_6);
#line 574 "robdd.m"
                {
#line 574 "robdd.m"
                  mercury__robdd__V_11_11 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__R_3);
                }
#line 872 "robdd.m"
                if ((mercury__robdd__V_6_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 872 "robdd.m"
                  mercury__robdd__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 872 "robdd.m"
                else
#line 873 "robdd.m"
                  {
#line 873 "robdd.m"
                    MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_61 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 873 "robdd.m"
                    MR_Word mercury__robdd__TypeClassInfo_for_enum_62;
#line 873 "robdd.m"
                    MR_Word mercury__robdd__Vs_56 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__robdd__V_6_6, (MR_Integer) 0)));
#line 873 "robdd.m"
                    MR_Word mercury__robdd__V_58_58;
#line 873 "robdd.m"
                    MR_Word mercury__robdd__Set0_6_69;
#line 873 "robdd.m"
                    MR_Integer mercury__robdd__V_9_71;
#line 873 "robdd.m"
                    MR_Word mercury__robdd__Set_5_72;
#line 25898 "robdd.c"
                    MR_Box MR_CALL (* mercury__robdd__func_2)(MR_Box, MR_Box);
#line 25900 "robdd.c"
                    MR_Box mercury__robdd__conv3_V_9_71;

#line 25903 "robdd.c"
                    {
#line 25905 "robdd.c"
                      mercury__robdd__TypeClassInfo_for_enum_62 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 25907 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_62, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_61));
#line 25909 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_62, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_16));
#line 25911 "robdd.c"
                      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_62, 2) = ((MR_Box) (mercury__robdd__TypeInfo_18_18));
#line 25913 "robdd.c"
                    }
#line 168 "sparse_bitset.opt"
                    mercury__robdd__Set0_6_69 = (MR_Word) mercury__robdd__Vs_56;
#line 25917 "robdd.c"
                    mercury__robdd__func_2 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_62, (MR_Integer) 0)), (MR_Integer) 5)));
#line 25919 "robdd.c"
                    {
#line 25921 "robdd.c"
                      mercury__robdd__conv3_V_9_71 = mercury__robdd__func_2(((MR_Box) mercury__robdd__TypeClassInfo_for_enum_62), ((MR_Box) (mercury__robdd__V_11_11)));
                    }
#line 25924 "robdd.c"
                    mercury__robdd__V_9_71 = ((MR_Integer) mercury__robdd__conv3_V_9_71);
#line 170 "sparse_bitset.opt"
                    {
#line 170 "sparse_bitset.opt"
                      mercury__sparse_bitset__insert_2_3_p_0(mercury__robdd__Set0_6_69, mercury__robdd__V_9_71, &mercury__robdd__Set_5_72);
                    }
#line 171 "sparse_bitset.opt"
                    mercury__robdd__V_58_58 = (MR_Word) mercury__robdd__Set_5_72;
#line 873 "robdd.m"
                    {
#line 873 "robdd.m"
                      mercury__robdd__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 873 "robdd.m"
                      MR_hl_field(MR_mktag(1), mercury__robdd__HeadVar__2_2, 0) = ((MR_Box) (mercury__robdd__V_58_58));
#line 873 "robdd.m"
                    }
#line 873 "robdd.m"
                  }
#line 574 "robdd.m"
              }
#line 566 "robdd.m"
            else
#line 576 "robdd.m"
              {
#line 576 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_27_27 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 576 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_28_28;
#line 576 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_29_29 = (MR_Word) &mercury__sparse_bitset__sparse_bitset__type_ctor_info_sparse_bitset_1;
#line 576 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_30_30;
#line 576 "robdd.m"
                MR_Word mercury__robdd__TypeCtorInfo_31_31 = (MR_Word) &mercury__robdd__robdd__type_ctor_info_entailment_result_1;
#line 576 "robdd.m"
                MR_Word mercury__robdd__TypeInfo_32_32;
#line 576 "robdd.m"
                MR_Word mercury__robdd__BaseTypeClassInfo_for_intersectable_33;
#line 576 "robdd.m"
                MR_Word mercury__robdd__TypeClassInfo_for_intersectable_34;
#line 576 "robdd.m"
                MR_Word mercury__robdd__BaseTypeClassInfo_for_intersectable_35 = (MR_Word) base_typeclass_info_robdd__intersectable__arity1__robdd__entailment_result__arity1__;
#line 576 "robdd.m"
                MR_Word mercury__robdd__TypeClassInfo_for_intersectable_36;
#line 576 "robdd.m"
                MR_Word mercury__robdd__V_12_12;
#line 576 "robdd.m"
                MR_Word mercury__robdd__V_13_13;
#line 576 "robdd.m"
                MR_Word mercury__robdd__V_14_14;
#line 576 "robdd.m"
                MR_Word mercury__robdd__V_15_15;
#line 25977 "robdd.c"
                MR_Box MR_CALL (* mercury__robdd__func_4)(MR_Box, MR_Box, MR_Box);
#line 25979 "robdd.c"
                MR_Box mercury__robdd__conv5_HeadVar__2_2;

#line 25982 "robdd.c"
                {
#line 25984 "robdd.c"
                  mercury__robdd__TypeInfo_28_28 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 25986 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_28_28, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_27_27));
#line 25988 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_28_28, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_16));
#line 25990 "robdd.c"
                }
#line 25992 "robdd.c"
                {
#line 25994 "robdd.c"
                  mercury__robdd__TypeInfo_30_30 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 25996 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_30_30, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_29_29));
#line 25998 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_30_30, 1) = ((MR_Box) (mercury__robdd__TypeInfo_28_28));
#line 26000 "robdd.c"
                }
#line 26002 "robdd.c"
                {
#line 26004 "robdd.c"
                  mercury__robdd__TypeInfo_32_32 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 26006 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_32_32, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_31_31));
#line 26008 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_32_32, 1) = ((MR_Box) (mercury__robdd__TypeInfo_30_30));
#line 26010 "robdd.c"
                }
#line 26012 "robdd.c"
                mercury__robdd__BaseTypeClassInfo_for_intersectable_33 = (MR_Word) base_typeclass_info_robdd__intersectable__arity1__sparse_bitset__sparse_bitset__arity1__;
#line 26014 "robdd.c"
                {
#line 26016 "robdd.c"
                  mercury__robdd__TypeClassInfo_for_intersectable_34 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 26018 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_34, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_intersectable_33));
#line 26020 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_34, 1) = ((MR_Box) (mercury__robdd__TypeInfo_28_28));
#line 26022 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_34, 2) = ((MR_Box) (mercury__robdd__TypeInfo_30_30));
#line 26024 "robdd.c"
                }
#line 26026 "robdd.c"
                {
#line 26028 "robdd.c"
                  mercury__robdd__TypeClassInfo_for_intersectable_36 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 26030 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_36, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_intersectable_35));
#line 26032 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_36, 1) = ((MR_Box) (mercury__robdd__TypeClassInfo_for_intersectable_34));
#line 26034 "robdd.c"
                  MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_36, 2) = ((MR_Box) (mercury__robdd__TypeInfo_32_32));
#line 26036 "robdd.c"
                }
#line 576 "robdd.m"
                {
#line 576 "robdd.m"
                  mercury__robdd__V_13_13 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__R_3);
                }
#line 576 "robdd.m"
                {
#line 576 "robdd.m"
                  mercury__robdd__V_12_12 = mercury__robdd__vars_entailed_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__V_13_13);
                }
#line 576 "robdd.m"
                {
#line 576 "robdd.m"
                  mercury__robdd__V_15_15 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__R_3);
                }
#line 576 "robdd.m"
                {
#line 576 "robdd.m"
                  mercury__robdd__V_14_14 = mercury__robdd__vars_entailed_1_f_0(mercury__robdd__TypeInfo_for_T_16, mercury__robdd__V_15_15);
                }
#line 26058 "robdd.c"
                mercury__robdd__func_4 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), (MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_intersectable_36, (MR_Integer) 0)), (MR_Integer) 5)));
#line 26060 "robdd.c"
                {
#line 26062 "robdd.c"
                  mercury__robdd__conv5_HeadVar__2_2 = mercury__robdd__func_4(((MR_Box) mercury__robdd__TypeClassInfo_for_intersectable_36), ((MR_Box) (mercury__robdd__V_12_12)), ((MR_Box) (mercury__robdd__V_14_14)));
                }
#line 26065 "robdd.c"
                mercury__robdd__HeadVar__2_2 = ((MR_Word) mercury__robdd__conv5_HeadVar__2_2);
#line 576 "robdd.m"
              }
#line 566 "robdd.m"
          }
#line 566 "robdd.m"
      }
#line 566 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 566 "robdd.m"
  }
#line 182 "robdd.m"
}

#line 172 "robdd.m"
MR_bool MR_CALL 
mercury__robdd__var_entailed_2_p_0(
#line 172 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_3,
#line 172 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 172 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 172 "robdd.m"
{
#line 556 "robdd.m"
  {
#line 556 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 556 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_4;

#line 559 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__var_entailed_2_p_0

	MR_Word F;
	MR_Word V;
	MR_bool SUCCESS_INDICATOR;

	F =  mercury__robdd__HeadVar__1_1 ;
	V =  mercury__robdd__HeadVar__2_2 ;
		{
#line 559 "robdd.m"

    SUCCESS_INDICATOR = MR_ROBDD_var_entailed((MR_ROBDD_node *) F,
        (int) V);

#line 26114 "robdd.c"

		;}
#undef MR_PROC_LABEL
	if (SUCCESS_INDICATOR) {
#line 559 "robdd.m"
	}
mercury__robdd__succeeded  = SUCCESS_INDICATOR;
}
#line 556 "robdd.m"
    return mercury__robdd__succeeded;
#line 556 "robdd.m"
  }
#line 172 "robdd.m"
}

#line 168 "robdd.m"
MR_bool MR_CALL 
mercury__robdd__entails_2_p_0(
#line 168 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_3,
#line 168 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 168 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 168 "robdd.m"
{
#line 547 "robdd.m"
  {
#line 547 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 547 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_4;

#line 550 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__entails_2_p_0

	MR_Word X;
	MR_Word Y;
	MR_bool SUCCESS_INDICATOR;

	X =  mercury__robdd__HeadVar__1_1 ;
	Y =  mercury__robdd__HeadVar__2_2 ;
		{
#line 550 "robdd.m"

    SUCCESS_INDICATOR = (MR_ROBDD_ite_constant((MR_ROBDD_node *) X,
        (MR_ROBDD_node *) Y, MR_ROBDD_one) == MR_ROBDD_one);

#line 26164 "robdd.c"

		;}
#undef MR_PROC_LABEL
	if (SUCCESS_INDICATOR) {
#line 550 "robdd.m"
	}
mercury__robdd__succeeded  = SUCCESS_INDICATOR;
}
#line 547 "robdd.m"
    return mercury__robdd__succeeded;
#line 547 "robdd.m"
  }
#line 168 "robdd.m"
}

#line 158 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__var_restrict_false_2_f_0(
#line 158 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_14,
#line 158 "robdd.m"
  MR_Word mercury__robdd__V_4,
#line 158 "robdd.m"
  MR_Word mercury__robdd__F0_5)
#line 158 "robdd.m"
{
#line 1119 "robdd.m"
  {
#line 1119 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1119 "robdd.m"
    MR_Word mercury__robdd__F_6;

#line 1117 "robdd.m"
    {
#line 1117 "robdd.m"
      mercury__robdd__succeeded = mercury__robdd__is_terminal_1_p_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__F0_5);
    }
#line 1119 "robdd.m"
    if (mercury__robdd__succeeded)
#line 1118 "robdd.m"
      mercury__robdd__F_6 = mercury__robdd__F0_5;
#line 1119 "robdd.m"
    else
#line 1120 "robdd.m"
      {
#line 1120 "robdd.m"
        MR_Word mercury__robdd__R_7;
#line 1120 "robdd.m"
        MR_Word mercury__robdd__V_8_8;
#line 1120 "robdd.m"
        MR_Integer mercury__robdd__V_17_17;
#line 1120 "robdd.m"
        MR_Integer mercury__robdd__V_18_18;

#line 1120 "robdd.m"
        {
#line 1120 "robdd.m"
          mercury__robdd__V_8_8 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__F0_5);
        }
#line 1120 "robdd.m"
        mercury__robdd__V_17_17 = (MR_Integer) mercury__robdd__V_8_8;
#line 1120 "robdd.m"
        mercury__robdd__V_18_18 = (MR_Integer) mercury__robdd__V_4;
#line 66 "private_builtin.opt"
        mercury__robdd__succeeded = (mercury__robdd__V_17_17 < mercury__robdd__V_18_18);
#line 69 "private_builtin.opt"
        if (mercury__robdd__succeeded)
#line 68 "private_builtin.opt"
          mercury__robdd__R_7 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
        else
#line 74 "private_builtin.opt"
          {
#line 71 "private_builtin.opt"
            mercury__robdd__succeeded = (mercury__robdd__V_17_17 == mercury__robdd__V_18_18);
#line 74 "private_builtin.opt"
            if (mercury__robdd__succeeded)
#line 73 "private_builtin.opt"
              mercury__robdd__R_7 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
            else
#line 75 "private_builtin.opt"
              mercury__robdd__R_7 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
          }
#line 1126 "robdd.m"
        if ((mercury__robdd__R_7 == (MR_Integer) 1))
#line 1122 "robdd.m"
          {
#line 1122 "robdd.m"
            MR_Word mercury__robdd__V_9_9;
#line 1122 "robdd.m"
            MR_Word mercury__robdd__V_10_10;
#line 1122 "robdd.m"
            MR_Word mercury__robdd__V_11_11;
#line 1122 "robdd.m"
            MR_Word mercury__robdd__V_12_12;
#line 1122 "robdd.m"
            MR_Word mercury__robdd__V_13_13;

#line 1123 "robdd.m"
            {
#line 1123 "robdd.m"
              mercury__robdd__V_9_9 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__F0_5);
            }
#line 1124 "robdd.m"
            {
#line 1124 "robdd.m"
              mercury__robdd__V_11_11 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__F0_5);
            }
#line 1123 "robdd.m"
            {
#line 1123 "robdd.m"
              mercury__robdd__V_10_10 = mercury__robdd__var_restrict_false_2_f_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__V_4, mercury__robdd__V_11_11);
            }
#line 1125 "robdd.m"
            {
#line 1125 "robdd.m"
              mercury__robdd__V_13_13 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__F0_5);
            }
#line 1123 "robdd.m"
            {
#line 1123 "robdd.m"
              mercury__robdd__V_12_12 = mercury__robdd__var_restrict_false_2_f_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__V_4, mercury__robdd__V_13_13);
            }
#line 1123 "robdd.m"
            {
#line 1123 "robdd.m"
              return mercury__robdd__F_6 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__V_9_9, mercury__robdd__V_10_10, mercury__robdd__V_12_12);
            }
#line 1122 "robdd.m"
          }
#line 1126 "robdd.m"
        else
#line 1126 "robdd.m"
          if ((mercury__robdd__R_7 == (MR_Integer) 0))
#line 1128 "robdd.m"
            {
#line 1128 "robdd.m"
              return mercury__robdd__F_6 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__F0_5);
            }
#line 1126 "robdd.m"
          else
#line 1131 "robdd.m"
            mercury__robdd__F_6 = mercury__robdd__F0_5;
#line 1120 "robdd.m"
      }
#line 1119 "robdd.m"
    return mercury__robdd__F_6;
#line 1119 "robdd.m"
  }
#line 158 "robdd.m"
}

#line 154 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__var_restrict_true_2_f_0(
#line 154 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_14,
#line 154 "robdd.m"
  MR_Word mercury__robdd__V_4,
#line 154 "robdd.m"
  MR_Word mercury__robdd__F0_5)
#line 154 "robdd.m"
{
#line 1098 "robdd.m"
  {
#line 1098 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1098 "robdd.m"
    MR_Word mercury__robdd__F_6;

#line 1096 "robdd.m"
    {
#line 1096 "robdd.m"
      mercury__robdd__succeeded = mercury__robdd__is_terminal_1_p_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__F0_5);
    }
#line 1098 "robdd.m"
    if (mercury__robdd__succeeded)
#line 1097 "robdd.m"
      mercury__robdd__F_6 = mercury__robdd__F0_5;
#line 1098 "robdd.m"
    else
#line 1099 "robdd.m"
      {
#line 1099 "robdd.m"
        MR_Word mercury__robdd__R_7;
#line 1099 "robdd.m"
        MR_Word mercury__robdd__V_8_8;
#line 1099 "robdd.m"
        MR_Integer mercury__robdd__V_17_17;
#line 1099 "robdd.m"
        MR_Integer mercury__robdd__V_18_18;

#line 1099 "robdd.m"
        {
#line 1099 "robdd.m"
          mercury__robdd__V_8_8 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__F0_5);
        }
#line 1099 "robdd.m"
        mercury__robdd__V_17_17 = (MR_Integer) mercury__robdd__V_8_8;
#line 1099 "robdd.m"
        mercury__robdd__V_18_18 = (MR_Integer) mercury__robdd__V_4;
#line 66 "private_builtin.opt"
        mercury__robdd__succeeded = (mercury__robdd__V_17_17 < mercury__robdd__V_18_18);
#line 69 "private_builtin.opt"
        if (mercury__robdd__succeeded)
#line 68 "private_builtin.opt"
          mercury__robdd__R_7 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
        else
#line 74 "private_builtin.opt"
          {
#line 71 "private_builtin.opt"
            mercury__robdd__succeeded = (mercury__robdd__V_17_17 == mercury__robdd__V_18_18);
#line 74 "private_builtin.opt"
            if (mercury__robdd__succeeded)
#line 73 "private_builtin.opt"
              mercury__robdd__R_7 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
            else
#line 75 "private_builtin.opt"
              mercury__robdd__R_7 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
          }
#line 1105 "robdd.m"
        if ((mercury__robdd__R_7 == (MR_Integer) 1))
#line 1101 "robdd.m"
          {
#line 1101 "robdd.m"
            MR_Word mercury__robdd__V_9_9;
#line 1101 "robdd.m"
            MR_Word mercury__robdd__V_10_10;
#line 1101 "robdd.m"
            MR_Word mercury__robdd__V_11_11;
#line 1101 "robdd.m"
            MR_Word mercury__robdd__V_12_12;
#line 1101 "robdd.m"
            MR_Word mercury__robdd__V_13_13;

#line 1102 "robdd.m"
            {
#line 1102 "robdd.m"
              mercury__robdd__V_9_9 = mercury__robdd__value_1_f_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__F0_5);
            }
#line 1103 "robdd.m"
            {
#line 1103 "robdd.m"
              mercury__robdd__V_11_11 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__F0_5);
            }
#line 1102 "robdd.m"
            {
#line 1102 "robdd.m"
              mercury__robdd__V_10_10 = mercury__robdd__var_restrict_true_2_f_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__V_4, mercury__robdd__V_11_11);
            }
#line 1104 "robdd.m"
            {
#line 1104 "robdd.m"
              mercury__robdd__V_13_13 = mercury__robdd__fa_1_f_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__F0_5);
            }
#line 1102 "robdd.m"
            {
#line 1102 "robdd.m"
              mercury__robdd__V_12_12 = mercury__robdd__var_restrict_true_2_f_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__V_4, mercury__robdd__V_13_13);
            }
#line 1102 "robdd.m"
            {
#line 1102 "robdd.m"
              return mercury__robdd__F_6 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__V_9_9, mercury__robdd__V_10_10, mercury__robdd__V_12_12);
            }
#line 1101 "robdd.m"
          }
#line 1105 "robdd.m"
        else
#line 1105 "robdd.m"
          if ((mercury__robdd__R_7 == (MR_Integer) 0))
#line 1107 "robdd.m"
            {
#line 1107 "robdd.m"
              return mercury__robdd__F_6 = mercury__robdd__tr_1_f_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__F0_5);
            }
#line 1105 "robdd.m"
          else
#line 1110 "robdd.m"
            mercury__robdd__F_6 = mercury__robdd__F0_5;
#line 1099 "robdd.m"
      }
#line 1098 "robdd.m"
    return mercury__robdd__F_6;
#line 1098 "robdd.m"
  }
#line 154 "robdd.m"
}

#line 150 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__at_most_one_of_1_f_0(
#line 150 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_6,
#line 150 "robdd.m"
  MR_Word mercury__robdd__Vars_3)
#line 150 "robdd.m"
{
#line 1081 "robdd.m"
  {
#line 1081 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1081 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;
#line 1081 "robdd.m"
    MR_Word mercury__robdd__V_4_4;
#line 1081 "robdd.m"
    MR_Word mercury__robdd__V_5_5;

#line 1081 "robdd.m"
    {
#line 1081 "robdd.m"
      mercury__robdd__V_4_4 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_6);
    }
#line 1081 "robdd.m"
    {
#line 1081 "robdd.m"
      mercury__robdd__V_5_5 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_6);
    }
#line 1081 "robdd.m"
    {
#line 1081 "robdd.m"
      return mercury__robdd__HeadVar__2_2 = mercury__robdd__at_most_one_of_2_3_f_0(mercury__robdd__TypeInfo_for_T_6, mercury__robdd__Vars_3, mercury__robdd__V_4_4, mercury__robdd__V_5_5);
    }
#line 1081 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 1081 "robdd.m"
  }
#line 150 "robdd.m"
}

#line 145 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__disj_vars_1_f_0(
#line 145 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_14,
#line 145 "robdd.m"
  MR_Word mercury__robdd__Vars_3)
#line 145 "robdd.m"
{
#line 1079 "robdd.m"
  {
#line 1079 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1079 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;
#line 1079 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_15_15 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1079 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_16_16;
#line 1079 "robdd.m"
    MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_17 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 1079 "robdd.m"
    MR_Word mercury__robdd__TypeClassInfo_for_enum_18;
#line 1079 "robdd.m"
    MR_Word mercury__robdd__V_11_11;
#line 1079 "robdd.m"
    MR_Word mercury__robdd__Set_6_24;

#line 26530 "robdd.c"
    {
#line 26532 "robdd.c"
      mercury__robdd__TypeInfo_16_16 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 26534 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_16_16, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_15_15));
#line 26536 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_16_16, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_14));
#line 26538 "robdd.c"
    }
#line 26540 "robdd.c"
    {
#line 26542 "robdd.c"
      mercury__robdd__TypeClassInfo_for_enum_18 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 26544 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_18, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_17));
#line 26546 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_18, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_14));
#line 26548 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_18, 2) = ((MR_Box) (mercury__robdd__TypeInfo_16_16));
#line 26550 "robdd.c"
    }
#line 1079 "robdd.m"
    {
#line 1079 "robdd.m"
      mercury__robdd__V_11_11 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_14);
    }
#line 258 "sparse_bitset.opt"
    mercury__robdd__Set_6_24 = (MR_Word) mercury__robdd__Vars_3;
#line 268 "sparse_bitset.opt"
    {
#line 268 "sparse_bitset.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_56_50_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_53_93_95_48_4_p_in__sparse_bitset_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__TypeClassInfo_for_enum_18, mercury__robdd__Set_6_24, mercury__robdd__V_11_11, &mercury__robdd__HeadVar__2_2);
    }
#line 1079 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 1079 "robdd.m"
  }
#line 145 "robdd.m"
}

#line 141 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__conj_not_vars_1_f_0(
#line 141 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_14,
#line 141 "robdd.m"
  MR_Word mercury__robdd__Vars_3)
#line 141 "robdd.m"
{
#line 1077 "robdd.m"
  {
#line 1077 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1077 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;
#line 1077 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_15_15 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1077 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_16_16;
#line 1077 "robdd.m"
    MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_17 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 1077 "robdd.m"
    MR_Word mercury__robdd__TypeClassInfo_for_enum_18;
#line 1077 "robdd.m"
    MR_Word mercury__robdd__V_11_11;
#line 1077 "robdd.m"
    MR_Word mercury__robdd__Set_6_24;

#line 26599 "robdd.c"
    {
#line 26601 "robdd.c"
      mercury__robdd__TypeInfo_16_16 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 26603 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_16_16, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_15_15));
#line 26605 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_16_16, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_14));
#line 26607 "robdd.c"
    }
#line 26609 "robdd.c"
    {
#line 26611 "robdd.c"
      mercury__robdd__TypeClassInfo_for_enum_18 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 26613 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_18, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_17));
#line 26615 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_18, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_14));
#line 26617 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_18, 2) = ((MR_Box) (mercury__robdd__TypeInfo_16_16));
#line 26619 "robdd.c"
    }
#line 1077 "robdd.m"
    {
#line 1077 "robdd.m"
      mercury__robdd__V_11_11 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_14);
    }
#line 258 "sparse_bitset.opt"
    mercury__robdd__Set_6_24 = (MR_Word) mercury__robdd__Vars_3;
#line 268 "sparse_bitset.opt"
    {
#line 268 "sparse_bitset.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_56_49_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_53_93_95_48_4_p_in__sparse_bitset_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__TypeClassInfo_for_enum_18, mercury__robdd__Set_6_24, mercury__robdd__V_11_11, &mercury__robdd__HeadVar__2_2);
    }
#line 1077 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 1077 "robdd.m"
  }
#line 141 "robdd.m"
}

#line 137 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__conj_vars_1_f_0(
#line 137 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_14,
#line 137 "robdd.m"
  MR_Word mercury__robdd__Vars_3)
#line 137 "robdd.m"
{
#line 1075 "robdd.m"
  {
#line 1075 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1075 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;
#line 1075 "robdd.m"
    MR_Word mercury__robdd__TypeCtorInfo_15_15 = (MR_Word) &mercury__term__term__type_ctor_info_var_1;
#line 1075 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_16_16;
#line 1075 "robdd.m"
    MR_Word mercury__robdd__BaseTypeClassInfo_for_enum_17 = (MR_Word) base_typeclass_info_enum__enum__arity1__term__var__arity1__;
#line 1075 "robdd.m"
    MR_Word mercury__robdd__TypeClassInfo_for_enum_18;
#line 1075 "robdd.m"
    MR_Word mercury__robdd__V_11_11;
#line 1075 "robdd.m"
    MR_Word mercury__robdd__Set_6_24;

#line 26668 "robdd.c"
    {
#line 26670 "robdd.c"
      mercury__robdd__TypeInfo_16_16 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 26672 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_16_16, 0) = ((MR_Box) (mercury__robdd__TypeCtorInfo_15_15));
#line 26674 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeInfo_16_16, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_14));
#line 26676 "robdd.c"
    }
#line 26678 "robdd.c"
    {
#line 26680 "robdd.c"
      mercury__robdd__TypeClassInfo_for_enum_18 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 26682 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_18, 0) = ((MR_Box) (mercury__robdd__BaseTypeClassInfo_for_enum_17));
#line 26684 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_18, 1) = ((MR_Box) (mercury__robdd__TypeInfo_for_T_14));
#line 26686 "robdd.c"
      MR_hl_field(MR_mktag(0), mercury__robdd__TypeClassInfo_for_enum_18, 2) = ((MR_Box) (mercury__robdd__TypeInfo_16_16));
#line 26688 "robdd.c"
    }
#line 1075 "robdd.m"
    {
#line 1075 "robdd.m"
      mercury__robdd__V_11_11 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_14);
    }
#line 258 "sparse_bitset.opt"
    mercury__robdd__Set_6_24 = (MR_Word) mercury__robdd__Vars_3;
#line 268 "sparse_bitset.opt"
    {
#line 268 "sparse_bitset.opt"
      mercury__robdd__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_111_95_102_111_108_100_114_95_112_114_101_100_95_95_104_111_56_48_95_95_91_49_44_32_50_44_32_51_44_32_52_44_32_53_44_32_54_44_32_55_44_32_56_44_32_57_44_32_49_48_44_32_49_49_44_32_49_51_44_32_49_53_93_95_48_4_p_in__sparse_bitset_0(mercury__robdd__TypeInfo_for_T_14, mercury__robdd__TypeClassInfo_for_enum_18, mercury__robdd__Set_6_24, mercury__robdd__V_11_11, &mercury__robdd__HeadVar__2_2);
    }
#line 1075 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 1075 "robdd.m"
  }
#line 137 "robdd.m"
}

#line 133 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__imp_vars_2_f_0(
#line 133 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_12,
#line 133 "robdd.m"
  MR_Word mercury__robdd__VarA_4,
#line 133 "robdd.m"
  MR_Word mercury__robdd__VarB_5)
#line 133 "robdd.m"
{
#line 1062 "robdd.m"
  {
#line 1062 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1062 "robdd.m"
    MR_Word mercury__robdd__F_6;
#line 1062 "robdd.m"
    MR_Word mercury__robdd__R_7;
#line 1062 "robdd.m"
    MR_Integer mercury__robdd__V_15_15 = (MR_Integer) mercury__robdd__VarA_4;
#line 1062 "robdd.m"
    MR_Integer mercury__robdd__V_16_16 = (MR_Integer) mercury__robdd__VarB_5;

#line 66 "private_builtin.opt"
    mercury__robdd__succeeded = (mercury__robdd__V_15_15 < mercury__robdd__V_16_16);
#line 69 "private_builtin.opt"
    if (mercury__robdd__succeeded)
#line 68 "private_builtin.opt"
      mercury__robdd__R_7 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
    else
#line 74 "private_builtin.opt"
      {
#line 71 "private_builtin.opt"
        mercury__robdd__succeeded = (mercury__robdd__V_15_15 == mercury__robdd__V_16_16);
#line 74 "private_builtin.opt"
        if (mercury__robdd__succeeded)
#line 73 "private_builtin.opt"
          mercury__robdd__R_7 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
        else
#line 75 "private_builtin.opt"
          mercury__robdd__R_7 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
      }
#line 1067 "robdd.m"
    if ((mercury__robdd__R_7 == (MR_Integer) 1))
#line 1068 "robdd.m"
      {
#line 1068 "robdd.m"
        MR_Word mercury__robdd__V_10_10;
#line 1068 "robdd.m"
        MR_Word mercury__robdd__V_11_11;

#line 1069 "robdd.m"
        {
#line 1069 "robdd.m"
          mercury__robdd__V_10_10 = mercury__robdd__var_1_f_0(mercury__robdd__TypeInfo_for_T_12, mercury__robdd__VarB_5);
        }
#line 1069 "robdd.m"
        {
#line 1069 "robdd.m"
          mercury__robdd__V_11_11 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_12);
        }
#line 1069 "robdd.m"
        {
#line 1069 "robdd.m"
          return mercury__robdd__F_6 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_12, mercury__robdd__VarA_4, mercury__robdd__V_10_10, mercury__robdd__V_11_11);
        }
#line 1068 "robdd.m"
      }
#line 1067 "robdd.m"
    else
#line 1067 "robdd.m"
      if ((mercury__robdd__R_7 == (MR_Integer) 0))
#line 1066 "robdd.m"
        {
#line 1066 "robdd.m"
          return mercury__robdd__F_6 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_12);
        }
#line 1067 "robdd.m"
      else
#line 1071 "robdd.m"
        {
#line 1071 "robdd.m"
          MR_Word mercury__robdd__V_8_8;
#line 1071 "robdd.m"
          MR_Word mercury__robdd__V_9_9;
#line 1071 "robdd.m"
          MR_Word mercury__robdd__V_21_21;
#line 1071 "robdd.m"
          MR_Word mercury__robdd__V_22_22;

#line 1072 "robdd.m"
          {
#line 1072 "robdd.m"
            mercury__robdd__V_8_8 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_12);
          }
#line 1034 "robdd.m"
          {
#line 1034 "robdd.m"
            mercury__robdd__V_21_21 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_12);
          }
#line 1034 "robdd.m"
          {
#line 1034 "robdd.m"
            mercury__robdd__V_22_22 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_12);
          }
#line 1034 "robdd.m"
          {
#line 1034 "robdd.m"
            mercury__robdd__V_9_9 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_12, mercury__robdd__VarA_4, mercury__robdd__V_21_21, mercury__robdd__V_22_22);
          }
#line 1072 "robdd.m"
          {
#line 1072 "robdd.m"
            return mercury__robdd__F_6 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_12, mercury__robdd__VarB_5, mercury__robdd__V_8_8, mercury__robdd__V_9_9);
          }
#line 1071 "robdd.m"
        }
#line 1062 "robdd.m"
    return mercury__robdd__F_6;
#line 1062 "robdd.m"
  }
#line 133 "robdd.m"
}

#line 129 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__neq_vars_2_f_0(
#line 129 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_12,
#line 129 "robdd.m"
  MR_Word mercury__robdd__VarA_4,
#line 129 "robdd.m"
  MR_Word mercury__robdd__VarB_5)
#line 129 "robdd.m"
{
#line 1049 "robdd.m"
  {
#line 1049 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1049 "robdd.m"
    MR_Word mercury__robdd__F_6;
#line 1049 "robdd.m"
    MR_Word mercury__robdd__R_7;
#line 1049 "robdd.m"
    MR_Integer mercury__robdd__V_15_15 = (MR_Integer) mercury__robdd__VarA_4;
#line 1049 "robdd.m"
    MR_Integer mercury__robdd__V_16_16 = (MR_Integer) mercury__robdd__VarB_5;

#line 66 "private_builtin.opt"
    mercury__robdd__succeeded = (mercury__robdd__V_15_15 < mercury__robdd__V_16_16);
#line 69 "private_builtin.opt"
    if (mercury__robdd__succeeded)
#line 68 "private_builtin.opt"
      mercury__robdd__R_7 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
    else
#line 74 "private_builtin.opt"
      {
#line 71 "private_builtin.opt"
        mercury__robdd__succeeded = (mercury__robdd__V_15_15 == mercury__robdd__V_16_16);
#line 74 "private_builtin.opt"
        if (mercury__robdd__succeeded)
#line 73 "private_builtin.opt"
          mercury__robdd__R_7 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
        else
#line 75 "private_builtin.opt"
          mercury__robdd__R_7 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
      }
#line 1054 "robdd.m"
    if ((mercury__robdd__R_7 == (MR_Integer) 1))
#line 1055 "robdd.m"
      {
#line 1055 "robdd.m"
        MR_Word mercury__robdd__V_10_10;
#line 1055 "robdd.m"
        MR_Word mercury__robdd__V_11_11;
#line 1055 "robdd.m"
        MR_Word mercury__robdd__V_21_21;
#line 1055 "robdd.m"
        MR_Word mercury__robdd__V_22_22;

#line 1034 "robdd.m"
        {
#line 1034 "robdd.m"
          mercury__robdd__V_21_21 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_12);
        }
#line 1034 "robdd.m"
        {
#line 1034 "robdd.m"
          mercury__robdd__V_22_22 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_12);
        }
#line 1034 "robdd.m"
        {
#line 1034 "robdd.m"
          mercury__robdd__V_10_10 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_12, mercury__robdd__VarB_5, mercury__robdd__V_21_21, mercury__robdd__V_22_22);
        }
#line 1056 "robdd.m"
        {
#line 1056 "robdd.m"
          mercury__robdd__V_11_11 = mercury__robdd__var_1_f_0(mercury__robdd__TypeInfo_for_T_12, mercury__robdd__VarB_5);
        }
#line 1056 "robdd.m"
        {
#line 1056 "robdd.m"
          return mercury__robdd__F_6 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_12, mercury__robdd__VarA_4, mercury__robdd__V_10_10, mercury__robdd__V_11_11);
        }
#line 1055 "robdd.m"
      }
#line 1054 "robdd.m"
    else
#line 1054 "robdd.m"
      if ((mercury__robdd__R_7 == (MR_Integer) 0))
#line 1053 "robdd.m"
        {
#line 1053 "robdd.m"
          return mercury__robdd__F_6 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_12);
        }
#line 1054 "robdd.m"
      else
#line 1058 "robdd.m"
        {
#line 1058 "robdd.m"
          MR_Word mercury__robdd__V_8_8;
#line 1058 "robdd.m"
          MR_Word mercury__robdd__V_9_9;
#line 1058 "robdd.m"
          MR_Word mercury__robdd__V_24_24;
#line 1058 "robdd.m"
          MR_Word mercury__robdd__V_25_25;

#line 1034 "robdd.m"
          {
#line 1034 "robdd.m"
            mercury__robdd__V_24_24 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_12);
          }
#line 1034 "robdd.m"
          {
#line 1034 "robdd.m"
            mercury__robdd__V_25_25 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_12);
          }
#line 1034 "robdd.m"
          {
#line 1034 "robdd.m"
            mercury__robdd__V_8_8 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_12, mercury__robdd__VarA_4, mercury__robdd__V_24_24, mercury__robdd__V_25_25);
          }
#line 1059 "robdd.m"
          {
#line 1059 "robdd.m"
            mercury__robdd__V_9_9 = mercury__robdd__var_1_f_0(mercury__robdd__TypeInfo_for_T_12, mercury__robdd__VarA_4);
          }
#line 1059 "robdd.m"
          {
#line 1059 "robdd.m"
            return mercury__robdd__F_6 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_12, mercury__robdd__VarB_5, mercury__robdd__V_8_8, mercury__robdd__V_9_9);
          }
#line 1058 "robdd.m"
        }
#line 1049 "robdd.m"
    return mercury__robdd__F_6;
#line 1049 "robdd.m"
  }
#line 129 "robdd.m"
}

#line 125 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__eq_vars_2_f_0(
#line 125 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_12,
#line 125 "robdd.m"
  MR_Word mercury__robdd__VarA_4,
#line 125 "robdd.m"
  MR_Word mercury__robdd__VarB_5)
#line 125 "robdd.m"
{
#line 1036 "robdd.m"
  {
#line 1036 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1036 "robdd.m"
    MR_Word mercury__robdd__F_6;
#line 1036 "robdd.m"
    MR_Word mercury__robdd__R_7;
#line 1036 "robdd.m"
    MR_Integer mercury__robdd__V_15_15 = (MR_Integer) mercury__robdd__VarA_4;
#line 1036 "robdd.m"
    MR_Integer mercury__robdd__V_16_16 = (MR_Integer) mercury__robdd__VarB_5;

#line 66 "private_builtin.opt"
    mercury__robdd__succeeded = (mercury__robdd__V_15_15 < mercury__robdd__V_16_16);
#line 69 "private_builtin.opt"
    if (mercury__robdd__succeeded)
#line 68 "private_builtin.opt"
      mercury__robdd__R_7 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
    else
#line 74 "private_builtin.opt"
      {
#line 71 "private_builtin.opt"
        mercury__robdd__succeeded = (mercury__robdd__V_15_15 == mercury__robdd__V_16_16);
#line 74 "private_builtin.opt"
        if (mercury__robdd__succeeded)
#line 73 "private_builtin.opt"
          mercury__robdd__R_7 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
        else
#line 75 "private_builtin.opt"
          mercury__robdd__R_7 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
      }
#line 1041 "robdd.m"
    if ((mercury__robdd__R_7 == (MR_Integer) 1))
#line 1042 "robdd.m"
      {
#line 1042 "robdd.m"
        MR_Word mercury__robdd__V_10_10;
#line 1042 "robdd.m"
        MR_Word mercury__robdd__V_11_11;
#line 1042 "robdd.m"
        MR_Word mercury__robdd__V_21_21;
#line 1042 "robdd.m"
        MR_Word mercury__robdd__V_22_22;

#line 1043 "robdd.m"
        {
#line 1043 "robdd.m"
          mercury__robdd__V_10_10 = mercury__robdd__var_1_f_0(mercury__robdd__TypeInfo_for_T_12, mercury__robdd__VarB_5);
        }
#line 1034 "robdd.m"
        {
#line 1034 "robdd.m"
          mercury__robdd__V_21_21 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_12);
        }
#line 1034 "robdd.m"
        {
#line 1034 "robdd.m"
          mercury__robdd__V_22_22 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_12);
        }
#line 1034 "robdd.m"
        {
#line 1034 "robdd.m"
          mercury__robdd__V_11_11 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_12, mercury__robdd__VarB_5, mercury__robdd__V_21_21, mercury__robdd__V_22_22);
        }
#line 1043 "robdd.m"
        {
#line 1043 "robdd.m"
          return mercury__robdd__F_6 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_12, mercury__robdd__VarA_4, mercury__robdd__V_10_10, mercury__robdd__V_11_11);
        }
#line 1042 "robdd.m"
      }
#line 1041 "robdd.m"
    else
#line 1041 "robdd.m"
      if ((mercury__robdd__R_7 == (MR_Integer) 0))
#line 1040 "robdd.m"
        {
#line 1040 "robdd.m"
          return mercury__robdd__F_6 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_12);
        }
#line 1041 "robdd.m"
      else
#line 1045 "robdd.m"
        {
#line 1045 "robdd.m"
          MR_Word mercury__robdd__V_8_8;
#line 1045 "robdd.m"
          MR_Word mercury__robdd__V_9_9;
#line 1045 "robdd.m"
          MR_Word mercury__robdd__V_24_24;
#line 1045 "robdd.m"
          MR_Word mercury__robdd__V_25_25;

#line 1046 "robdd.m"
          {
#line 1046 "robdd.m"
            mercury__robdd__V_8_8 = mercury__robdd__var_1_f_0(mercury__robdd__TypeInfo_for_T_12, mercury__robdd__VarA_4);
          }
#line 1034 "robdd.m"
          {
#line 1034 "robdd.m"
            mercury__robdd__V_24_24 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_12);
          }
#line 1034 "robdd.m"
          {
#line 1034 "robdd.m"
            mercury__robdd__V_25_25 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_12);
          }
#line 1034 "robdd.m"
          {
#line 1034 "robdd.m"
            mercury__robdd__V_9_9 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_12, mercury__robdd__VarA_4, mercury__robdd__V_24_24, mercury__robdd__V_25_25);
          }
#line 1046 "robdd.m"
          {
#line 1046 "robdd.m"
            return mercury__robdd__F_6 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_12, mercury__robdd__VarB_5, mercury__robdd__V_8_8, mercury__robdd__V_9_9);
          }
#line 1045 "robdd.m"
        }
#line 1036 "robdd.m"
    return mercury__robdd__F_6;
#line 1036 "robdd.m"
  }
#line 125 "robdd.m"
}

#line 121 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__ite_var_3_f_0(
#line 121 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_5,
#line 121 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 121 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 121 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 121 "robdd.m"
{
#line 484 "robdd.m"
  {
#line 484 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 484 "robdd.m"
    MR_Word mercury__robdd__HeadVar__4_4;
#line 484 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_6;

#line 487 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__ite_var_3_f_0

	MR_Word V;
	MR_Word G;
	MR_Word H;
	MR_Word ITE;

	V =  mercury__robdd__HeadVar__1_1 ;
	G =  mercury__robdd__HeadVar__2_2 ;
	H =  mercury__robdd__HeadVar__3_3 ;
		{
#line 487 "robdd.m"

    ITE = (MR_ROBDD_NODE_TYPE) MR_ROBDD_ite_var(V, (MR_ROBDD_node *) G,
        (MR_ROBDD_node *) H);

#line 27161 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__HeadVar__4_4  = ITE;
#line 487 "robdd.m"
}
#line 484 "robdd.m"
    return mercury__robdd__HeadVar__4_4;
#line 484 "robdd.m"
  }
#line 121 "robdd.m"
}

#line 117 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__not_var_1_f_0(
#line 117 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_6,
#line 117 "robdd.m"
  MR_Word mercury__robdd__V_3)
#line 117 "robdd.m"
{
#line 1034 "robdd.m"
  {
#line 1034 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 1034 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;
#line 1034 "robdd.m"
    MR_Word mercury__robdd__V_4_4;
#line 1034 "robdd.m"
    MR_Word mercury__robdd__V_5_5;

#line 1034 "robdd.m"
    {
#line 1034 "robdd.m"
      mercury__robdd__V_4_4 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_6);
    }
#line 1034 "robdd.m"
    {
#line 1034 "robdd.m"
      mercury__robdd__V_5_5 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_6);
    }
#line 1034 "robdd.m"
    {
#line 1034 "robdd.m"
      return mercury__robdd__HeadVar__2_2 = mercury__robdd__make_node_3_f_0(mercury__robdd__TypeInfo_for_T_6, mercury__robdd__V_3, mercury__robdd__V_4_4, mercury__robdd__V_5_5);
    }
#line 1034 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 1034 "robdd.m"
  }
#line 117 "robdd.m"
}

#line 109 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__var_1_f_0(
#line 109 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_3,
#line 109 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1)
#line 109 "robdd.m"
{
#line 467 "robdd.m"
  {
#line 467 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 467 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;
#line 467 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_4;

#line 470 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__var_1_f_0

	MR_Word V;
	MR_Word F;

	V =  mercury__robdd__HeadVar__1_1 ;
		{
#line 470 "robdd.m"

    F = (MR_ROBDD_NODE_TYPE) MR_ROBDD_variableRep(V);

#line 27248 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__HeadVar__2_2  = F;
#line 470 "robdd.m"
}
#line 467 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 467 "robdd.m"
  }
#line 109 "robdd.m"
}

#line 103 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__f_126_1_f_0(
#line 103 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_6,
#line 103 "robdd.m"
  MR_Word mercury__robdd__F_3)
#line 103 "robdd.m"
{
#line 544 "robdd.m"
  {
#line 544 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 544 "robdd.m"
    MR_Word mercury__robdd__HeadVar__2_2;
#line 544 "robdd.m"
    MR_Word mercury__robdd__V_4_4;
#line 544 "robdd.m"
    MR_Word mercury__robdd__V_5_5;

#line 544 "robdd.m"
    {
#line 544 "robdd.m"
      mercury__robdd__V_4_4 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_6);
    }
#line 544 "robdd.m"
    {
#line 544 "robdd.m"
      mercury__robdd__V_5_5 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_6);
    }
#line 544 "robdd.m"
    {
#line 544 "robdd.m"
      return mercury__robdd__HeadVar__2_2 = mercury__robdd__ite_3_f_0(mercury__robdd__TypeInfo_for_T_6, mercury__robdd__F_3, mercury__robdd__V_4_4, mercury__robdd__V_5_5);
    }
#line 544 "robdd.m"
    return mercury__robdd__HeadVar__2_2;
#line 544 "robdd.m"
  }
#line 103 "robdd.m"
}

#line 99 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__f_61_92_61_2_f_0(
#line 99 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_7,
#line 99 "robdd.m"
  MR_Word mercury__robdd__F_4,
#line 99 "robdd.m"
  MR_Word mercury__robdd__G_5)
#line 99 "robdd.m"
{
#line 542 "robdd.m"
  {
#line 542 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 542 "robdd.m"
    MR_Word mercury__robdd__HeadVar__3_3;
#line 542 "robdd.m"
    MR_Word mercury__robdd__V_6_6;
#line 542 "robdd.m"
    MR_Word mercury__robdd__V_9_9;
#line 542 "robdd.m"
    MR_Word mercury__robdd__V_10_10;

#line 544 "robdd.m"
    {
#line 544 "robdd.m"
      mercury__robdd__V_9_9 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_7);
    }
#line 544 "robdd.m"
    {
#line 544 "robdd.m"
      mercury__robdd__V_10_10 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_7);
    }
#line 544 "robdd.m"
    {
#line 544 "robdd.m"
      mercury__robdd__V_6_6 = mercury__robdd__ite_3_f_0(mercury__robdd__TypeInfo_for_T_7, mercury__robdd__G_5, mercury__robdd__V_9_9, mercury__robdd__V_10_10);
    }
#line 542 "robdd.m"
    {
#line 542 "robdd.m"
      return mercury__robdd__HeadVar__3_3 = mercury__robdd__ite_3_f_0(mercury__robdd__TypeInfo_for_T_7, mercury__robdd__F_4, mercury__robdd__V_6_6, mercury__robdd__G_5);
    }
#line 542 "robdd.m"
    return mercury__robdd__HeadVar__3_3;
#line 542 "robdd.m"
  }
#line 99 "robdd.m"
}

#line 95 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__f_61_58_61_2_f_0(
#line 95 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_7,
#line 95 "robdd.m"
  MR_Word mercury__robdd__F_4,
#line 95 "robdd.m"
  MR_Word mercury__robdd__G_5)
#line 95 "robdd.m"
{
#line 540 "robdd.m"
  {
#line 540 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 540 "robdd.m"
    MR_Word mercury__robdd__HeadVar__3_3;
#line 540 "robdd.m"
    MR_Word mercury__robdd__V_6_6;
#line 540 "robdd.m"
    MR_Word mercury__robdd__V_9_9;
#line 540 "robdd.m"
    MR_Word mercury__robdd__V_10_10;

#line 544 "robdd.m"
    {
#line 544 "robdd.m"
      mercury__robdd__V_9_9 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_7);
    }
#line 544 "robdd.m"
    {
#line 544 "robdd.m"
      mercury__robdd__V_10_10 = mercury__robdd__one_0_f_0(mercury__robdd__TypeInfo_for_T_7);
    }
#line 544 "robdd.m"
    {
#line 544 "robdd.m"
      mercury__robdd__V_6_6 = mercury__robdd__ite_3_f_0(mercury__robdd__TypeInfo_for_T_7, mercury__robdd__G_5, mercury__robdd__V_9_9, mercury__robdd__V_10_10);
    }
#line 540 "robdd.m"
    {
#line 540 "robdd.m"
      return mercury__robdd__HeadVar__3_3 = mercury__robdd__ite_3_f_0(mercury__robdd__TypeInfo_for_T_7, mercury__robdd__F_4, mercury__robdd__G_5, mercury__robdd__V_6_6);
    }
#line 540 "robdd.m"
    return mercury__robdd__HeadVar__3_3;
#line 540 "robdd.m"
  }
#line 95 "robdd.m"
}

#line 91 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__f_less_or_equal_2_f_0(
#line 91 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_4,
#line 91 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 91 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 91 "robdd.m"
{
#line 532 "robdd.m"
  {
#line 532 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 532 "robdd.m"
    MR_Word mercury__robdd__HeadVar__3_3;
#line 532 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_5;

#line 535 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__f_less_or_equal_2_f_0

	MR_Word X;
	MR_Word Y;
	MR_Word F;

	X =  mercury__robdd__HeadVar__1_1 ;
	Y =  mercury__robdd__HeadVar__2_2 ;
		{
#line 535 "robdd.m"

    F = (MR_ROBDD_NODE_TYPE) MR_ROBDD_implies((MR_ROBDD_node *) X,
        (MR_ROBDD_node *) Y);

#line 27442 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__HeadVar__3_3  = F;
#line 535 "robdd.m"
}
#line 532 "robdd.m"
    return mercury__robdd__HeadVar__3_3;
#line 532 "robdd.m"
  }
#line 91 "robdd.m"
}

#line 87 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__f_plus_2_f_0(
#line 87 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_4,
#line 87 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 87 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2)
#line 87 "robdd.m"
{
#line 523 "robdd.m"
  {
#line 523 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 523 "robdd.m"
    MR_Word mercury__robdd__HeadVar__3_3;
#line 523 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_5;

#line 526 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__f_plus_2_f_0

	MR_Word X;
	MR_Word Y;
	MR_Word F;

	X =  mercury__robdd__HeadVar__1_1 ;
	Y =  mercury__robdd__HeadVar__2_2 ;
		{
#line 526 "robdd.m"

    F = (MR_ROBDD_NODE_TYPE) MR_ROBDD_lub((MR_ROBDD_node *) X,
        (MR_ROBDD_node *) Y);

#line 27492 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__HeadVar__3_3  = F;
#line 526 "robdd.m"
}
#line 523 "robdd.m"
    return mercury__robdd__HeadVar__3_3;
#line 523 "robdd.m"
  }
#line 87 "robdd.m"
}

#line 83 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__f_times_2_f_0(
#line 83 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_7,
#line 83 "robdd.m"
  MR_Word mercury__robdd__X_4,
#line 83 "robdd.m"
  MR_Word mercury__robdd__Y_5)
#line 83 "robdd.m"
{
#line 493 "robdd.m"
  {
#line 493 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 493 "robdd.m"
    MR_Word mercury__robdd__R_6;
#line 505 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_18;

#line 508 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__f_times_2_f_0

	MR_Word X;
	MR_Word Y;
	MR_Word F;

	X =  mercury__robdd__X_4 ;
	Y =  mercury__robdd__Y_5 ;
		{
#line 508 "robdd.m"

    F = (MR_ROBDD_NODE_TYPE) MR_ROBDD_glb((MR_ROBDD_node *) X,
        (MR_ROBDD_node *) Y);

#line 27542 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__R_6  = F;
#line 508 "robdd.m"
}
#line 498 "robdd.m"
    {
#line 498 "robdd.m"
      MR_Word mercury__robdd__V_8_8;
#line 419 "robdd.m"
      MR_Integer mercury__robdd__CastX_12;
#line 419 "robdd.m"
      MR_Integer mercury__robdd__CastY_13;

#line 498 "robdd.m"
      {
#line 498 "robdd.m"
        mercury__robdd__V_8_8 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_7);
      }
#line 419 "robdd.m"
      mercury__robdd__CastX_12 = (MR_Integer) mercury__robdd__X_4;
#line 419 "robdd.m"
      mercury__robdd__CastY_13 = (MR_Integer) mercury__robdd__V_8_8;
#line 419 "robdd.m"
      mercury__robdd__succeeded = (mercury__robdd__CastX_12 == mercury__robdd__CastY_13);
#line 419 "robdd.m"
      if (mercury__robdd__succeeded)
#line 419 "robdd.m"
        mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
      else
#line 419 "robdd.m"
        {
#line 419 "robdd.m"
          MR_Integer mercury__robdd__V_10_10 = (MR_Integer) mercury__robdd__X_4;
#line 419 "robdd.m"
          MR_Integer mercury__robdd__V_11_11 = (MR_Integer) mercury__robdd__V_8_8;

#line 27582 "robdd.c"
          mercury__robdd__succeeded = (mercury__robdd__V_10_10 == mercury__robdd__V_11_11);
#line 419 "robdd.m"
        }
#line 498 "robdd.m"
    }
#line 498 "robdd.m"
    if (!(mercury__robdd__succeeded))
#line 498 "robdd.m"
      {
#line 498 "robdd.m"
        MR_Word mercury__robdd__V_9_9;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastX_16;
#line 419 "robdd.m"
        MR_Integer mercury__robdd__CastY_17;

#line 498 "robdd.m"
        {
#line 498 "robdd.m"
          mercury__robdd__V_9_9 = mercury__robdd__zero_0_f_0(mercury__robdd__TypeInfo_for_T_7);
        }
#line 419 "robdd.m"
        mercury__robdd__CastX_16 = (MR_Integer) mercury__robdd__Y_5;
#line 419 "robdd.m"
        mercury__robdd__CastY_17 = (MR_Integer) mercury__robdd__V_9_9;
#line 419 "robdd.m"
        mercury__robdd__succeeded = (mercury__robdd__CastX_16 == mercury__robdd__CastY_17);
#line 419 "robdd.m"
        if (mercury__robdd__succeeded)
#line 419 "robdd.m"
          mercury__robdd__succeeded = MR_TRUE;
#line 419 "robdd.m"
        else
#line 419 "robdd.m"
          {
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_14_14 = (MR_Integer) mercury__robdd__Y_5;
#line 419 "robdd.m"
            MR_Integer mercury__robdd__V_15_15 = (MR_Integer) mercury__robdd__V_9_9;

#line 27623 "robdd.c"
            mercury__robdd__succeeded = (mercury__robdd__V_14_14 == mercury__robdd__V_15_15);
#line 419 "robdd.m"
          }
#line 498 "robdd.m"
      }
#line 500 "robdd.m"
    if (mercury__robdd__succeeded)
#line 515 "robdd.m"
      {
#line 518 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__f_times_2_f_0


		{
#line 518 "robdd.m"

    fprintf(stderr, "Zero constraint!!!\n");

#line 27643 "robdd.c"

		;}
#undef MR_PROC_LABEL
#line 518 "robdd.m"
}
#line 515 "robdd.m"
      }
#line 500 "robdd.m"
    else
#line 501 "robdd.m"
      {
#line 501 "robdd.m"
      }
#line 493 "robdd.m"
    return mercury__robdd__R_6;
#line 493 "robdd.m"
  }
#line 83 "robdd.m"
}

#line 76 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__ite_3_f_0(
#line 76 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_5,
#line 76 "robdd.m"
  MR_Word mercury__robdd__HeadVar__1_1,
#line 76 "robdd.m"
  MR_Word mercury__robdd__HeadVar__2_2,
#line 76 "robdd.m"
  MR_Word mercury__robdd__HeadVar__3_3)
#line 76 "robdd.m"
{
#line 475 "robdd.m"
  {
#line 475 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 475 "robdd.m"
    MR_Word mercury__robdd__HeadVar__4_4;
#line 475 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_6;

#line 478 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__ite_3_f_0

	MR_Word F;
	MR_Word G;
	MR_Word H;
	MR_Word ITE;

	F =  mercury__robdd__HeadVar__1_1 ;
	G =  mercury__robdd__HeadVar__2_2 ;
	H =  mercury__robdd__HeadVar__3_3 ;
		{
#line 478 "robdd.m"

    ITE = (MR_ROBDD_NODE_TYPE) MR_ROBDD_ite((MR_ROBDD_node *) F,
        (MR_ROBDD_node *) G, (MR_ROBDD_node *) H);

#line 27704 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__HeadVar__4_4  = ITE;
#line 478 "robdd.m"
}
#line 475 "robdd.m"
    return mercury__robdd__HeadVar__4_4;
#line 475 "robdd.m"
  }
#line 76 "robdd.m"
}

#line 72 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__zero_0_f_0(
#line 72 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_2)
#line 72 "robdd.m"
{
#line 459 "robdd.m"
  {
#line 459 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 459 "robdd.m"
    MR_Word mercury__robdd__HeadVar__1_1;
#line 459 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_3;

#line 462 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__zero_0_f_0

	MR_Word F;

		{
#line 462 "robdd.m"

    F = (MR_ROBDD_NODE_TYPE) MR_ROBDD_falseVar();

#line 27745 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__HeadVar__1_1  = F;
#line 462 "robdd.m"
}
#line 459 "robdd.m"
    return mercury__robdd__HeadVar__1_1;
#line 459 "robdd.m"
  }
#line 72 "robdd.m"
}

#line 71 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__one_0_f_0(
#line 71 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_2)
#line 71 "robdd.m"
{
#line 451 "robdd.m"
  {
#line 451 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 451 "robdd.m"
    MR_Word mercury__robdd__HeadVar__1_1;
#line 451 "robdd.m"
    MR_Word mercury__robdd__TypeInfo_for_T_3;

#line 454 "robdd.m"
{
#define MR_PROC_LABEL mercury__robdd__one_0_f_0

	MR_Word F;

		{
#line 454 "robdd.m"

    F = (MR_ROBDD_NODE_TYPE) MR_ROBDD_trueVar();

#line 27786 "robdd.c"

		;}
#undef MR_PROC_LABEL
	 mercury__robdd__HeadVar__1_1  = F;
#line 454 "robdd.m"
}
#line 451 "robdd.m"
    return mercury__robdd__HeadVar__1_1;
#line 451 "robdd.m"
  }
#line 71 "robdd.m"
}

#line 67 "robdd.m"
MR_Word MR_CALL 
mercury__robdd__empty_vars_set_0_f_0(
#line 67 "robdd.m"
  MR_Word mercury__robdd__TypeInfo_for_T_2)
#line 67 "robdd.m"
{
#line 426 "robdd.m"
  {
#line 426 "robdd.m"
    MR_bool mercury__robdd__succeeded;
#line 426 "robdd.m"
    MR_Word mercury__robdd__HeadVar__1_1 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 426 "robdd.m"
    MR_Word mercury__robdd__V_2_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 426 "robdd.m"
    return mercury__robdd__HeadVar__1_1;
#line 426 "robdd.m"
  }
#line 67 "robdd.m"
}

void mercury__robdd__init(void)
{
}

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

	MR_register_type_ctor_info(&mercury__robdd__robdd__type_ctor_info_entailment_result_1);
	MR_register_type_ctor_info(&mercury__robdd__robdd__type_ctor_info_equiv_vars_1);
	MR_register_type_ctor_info(&mercury__robdd__robdd__type_ctor_info_equivalent_result_1);
	MR_register_type_ctor_info(&mercury__robdd__robdd__type_ctor_info_imp_map_1);
	MR_register_type_ctor_info(&mercury__robdd__robdd__type_ctor_info_imp_res_1);
	MR_register_type_ctor_info(&mercury__robdd__robdd__type_ctor_info_imp_res_2_1);
	MR_register_type_ctor_info(&mercury__robdd__robdd__type_ctor_info_imp_vars_1);
	MR_register_type_ctor_info(&mercury__robdd__robdd__type_ctor_info_implication_result_1);
	MR_register_type_ctor_info(&mercury__robdd__robdd__type_ctor_info_leader_map_1);
	MR_register_type_ctor_info(&mercury__robdd__robdd__type_ctor_info_leader_to_eqvclass_1);
	MR_register_type_ctor_info(&mercury__robdd__robdd__type_ctor_info_literal_1);
	MR_register_type_ctor_info(&mercury__robdd__robdd__type_ctor_info_robdd_1);
	MR_register_type_ctor_info(&mercury__robdd__robdd__type_ctor_info_robdd_0);
	MR_register_type_ctor_info(&mercury__robdd__robdd__type_ctor_info_robdd_cache_1);
	MR_register_type_ctor_info(&mercury__robdd__robdd__type_ctor_info_var_cache_1);
	MR_register_type_ctor_info(&mercury__robdd__robdd__type_ctor_info_vars_1);
	MR_register_type_ctor_info(&mercury__robdd__robdd__type_ctor_info_vars_entailed_result_1);
	MR_register_type_ctor_info(&mercury__robdd__robdd__type_ctor_info_write_var_1);
}

void mercury__robdd__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 robdd. */
