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

/*
INIT mercury__version_bitmap__init
ENDINIT
*/

#include "version_bitmap.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 "int.mih"
#include "integer.mih"
#include "io.mih"
#include "lexer.mih"
#include "list.mih"
#include "map.mih"
#include "math.mih"
#include "maybe.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_ordlist.mih"
#include "set_tree234.mih"
#include "solutions.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 86 "version_bitmap.c"
static const MR_FA_TypeInfo_Struct1 mercury__version_bitmap__version_array__ti_version_array_1builtin__type_ctor_info_int_0;

#line 89 "version_bitmap.c"
static MR_bool MR_CALL 
mercury__version_bitmap____Unify____version_bitmap_0_0_10001(
#line 92 "version_bitmap.c"
  MR_Box mercury__version_bitmap__wrapper_arg_1,
#line 94 "version_bitmap.c"
  MR_Box mercury__version_bitmap__wrapper_arg_2);

#line 97 "version_bitmap.c"
static void MR_CALL 
mercury__version_bitmap____Compare____version_bitmap_0_0_10001(
#line 100 "version_bitmap.c"
  MR_Box * mercury__version_bitmap__wrapper_arg_1,
#line 102 "version_bitmap.c"
  MR_Box mercury__version_bitmap__wrapper_arg_2,
#line 104 "version_bitmap.c"
  MR_Box mercury__version_bitmap__wrapper_arg_3);

#line 13 "ops.opt"
static MR_Integer MR_CALL 
mercury__version_bitmap__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 312 "version_bitmap.m"
static MR_Box MR_CALL 
mercury__version_bitmap__zip__ho8_4_f_0(
#line 312 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__I_6,
#line 312 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMa_8,
#line 312 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMb_9);

#line 312 "version_bitmap.m"
static MR_Box MR_CALL 
mercury__version_bitmap__zip__ho7_4_f_0(
#line 312 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__I_6,
#line 312 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMa_8,
#line 312 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMb_9);

#line 312 "version_bitmap.m"
static MR_Box MR_CALL 
mercury__version_bitmap__zip__ho6_4_f_0(
#line 312 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__I_6,
#line 312 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMa_8,
#line 312 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMb_9);

#line 312 "version_bitmap.m"
static MR_Box MR_CALL 
mercury__version_bitmap__zip__ho5_4_f_0(
#line 312 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__I_6,
#line 312 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMa_8,
#line 312 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMb_9);


static /* final */ const MR_Box mercury__version_bitmap_scalar_common_1[1][2];

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

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

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




static /* final */ const MR_Box mercury__version_bitmap_scalar_common_1[1][2] = {
  /* row 0 */
  {
    ((MR_Box) (&mercury__version_array__version_array__type_ctor_info_version_array_1)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0))
  },
};

static /* final */ const MR_Box mercury__version_bitmap_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__version_bitmap_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__version_bitmap_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__version_bitmap_scalar_common_4[2][5] = {
  /* row 0 */
  {
    ((MR_Box) (base_typeclass_info_stream__writer__arity3__io__output_stream__arity0__string__arity0__io__state__arity0__)),
    ((MR_Box) (&mercury__version_bitmap_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__version_bitmap_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))
  },
};



#include "version_array.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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "array.mh"
#include "array.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "dir.mh"
#include "dir.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 "table_builtin.mh"
#include "table_builtin.mh"
#include "time.mh"
#include "time.mh"



#line 529 "version_bitmap.c"
static const MR_FA_TypeInfo_Struct1 mercury__version_bitmap__version_array__ti_version_array_1builtin__type_ctor_info_int_0 = {
  &mercury__version_array__version_array__type_ctor_info_version_array_1,
  {
    (MR_TypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0
  }
};

#line 537 "version_bitmap.c"
const MR_TypeCtorInfo_Struct mercury__version_bitmap__version_bitmap__type_ctor_info_version_bitmap_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_EQUIV_GROUND,
  ((MR_Box) (mercury__version_bitmap____Unify____version_bitmap_0_0_10001)),
  ((MR_Box) (mercury__version_bitmap____Compare____version_bitmap_0_0_10001)),
  (MR_String) "version_bitmap",
  (MR_String) "version_bitmap",
  {
    NULL
  },
  {
    (MR_PseudoTypeInfo) &mercury__version_bitmap__version_array__ti_version_array_1builtin__type_ctor_info_int_0
  },
  (MR_Integer) -1,
  (MR_Integer) 0,
  NULL
};

#line 558 "version_bitmap.c"
static MR_bool MR_CALL 
mercury__version_bitmap____Unify____version_bitmap_0_0_10001(
#line 561 "version_bitmap.c"
  MR_Box mercury__version_bitmap__wrapper_arg_1,
#line 563 "version_bitmap.c"
  MR_Box mercury__version_bitmap__wrapper_arg_2)
#line 565 "version_bitmap.c"
{
#line 567 "version_bitmap.c"
  {
#line 569 "version_bitmap.c"
    MR_bool mercury__version_bitmap__succeeded;

#line 572 "version_bitmap.c"
    {
#line 574 "version_bitmap.c"
      mercury__version_bitmap__succeeded = mercury__version_bitmap____Unify____version_bitmap_0_0(((MR_Box) mercury__version_bitmap__wrapper_arg_1), ((MR_Box) mercury__version_bitmap__wrapper_arg_2));
    }
#line 577 "version_bitmap.c"
    return mercury__version_bitmap__succeeded;
#line 579 "version_bitmap.c"
  }
#line 581 "version_bitmap.c"
}

#line 584 "version_bitmap.c"
static void MR_CALL 
mercury__version_bitmap____Compare____version_bitmap_0_0_10001(
#line 587 "version_bitmap.c"
  MR_Box * mercury__version_bitmap__wrapper_arg_1,
#line 589 "version_bitmap.c"
  MR_Box mercury__version_bitmap__wrapper_arg_2,
#line 591 "version_bitmap.c"
  MR_Box mercury__version_bitmap__wrapper_arg_3)
#line 593 "version_bitmap.c"
{
#line 595 "version_bitmap.c"
  {
#line 597 "version_bitmap.c"
    MR_Word mercury__version_bitmap__conv0_HeadVar__1_1;

#line 600 "version_bitmap.c"
    {
#line 602 "version_bitmap.c"
      mercury__version_bitmap____Compare____version_bitmap_0_0(&mercury__version_bitmap__conv0_HeadVar__1_1, ((MR_Box) mercury__version_bitmap__wrapper_arg_2), ((MR_Box) mercury__version_bitmap__wrapper_arg_3));
    }
#line 605 "version_bitmap.c"
    *mercury__version_bitmap__wrapper_arg_1 = ((MR_Box) (mercury__version_bitmap__conv0_HeadVar__1_1));
#line 607 "version_bitmap.c"
  }
#line 609 "version_bitmap.c"
}

#line 13 "ops.opt"
static MR_Integer MR_CALL 
mercury__version_bitmap__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__version_bitmap__succeeded;

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

#line 312 "version_bitmap.m"
static MR_Box MR_CALL 
mercury__version_bitmap__zip__ho8_4_f_0(
#line 312 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__I_6,
#line 312 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMa_8,
#line 312 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMb_9)
#line 312 "version_bitmap.m"
{
#line 315 "version_bitmap.m"
  while (MR_TRUE)
#line 315 "version_bitmap.m"
    {
#line 315 "version_bitmap.m"
      /* tailcall optimized into a loop */
#line 315 "version_bitmap.m"
      {
#line 315 "version_bitmap.m"
        MR_bool mercury__version_bitmap__succeeded = (mercury__version_bitmap__I_6 > (MR_Integer) 0);
#line 315 "version_bitmap.m"
        MR_Box mercury__version_bitmap__HeadVar__5_5;

#line 315 "version_bitmap.m"
        if (mercury__version_bitmap__succeeded)
#line 317 "version_bitmap.m"
          {
#line 317 "version_bitmap.m"
            MR_Word mercury__version_bitmap__TypeCtorInfo_17_17 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 317 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_11_11 = (mercury__version_bitmap__I_6 - (MR_Integer) 1);
#line 317 "version_bitmap.m"
            MR_Box mercury__version_bitmap__V_13_13;
#line 317 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_14_14;
#line 317 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_15_15;
#line 317 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_16_16;
#line 160 "version_array.opt"
            MR_Box mercury__version_bitmap__conv0_V_15_15;
#line 160 "version_array.opt"
            MR_Box mercury__version_bitmap__conv1_V_16_16;

#line 160 "version_array.opt"
            {
#line 160 "version_array.opt"
              mercury__version_bitmap__conv0_V_15_15 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_17_17, mercury__version_bitmap__BMb_9, mercury__version_bitmap__I_6);
            }
#line 160 "version_array.opt"
            mercury__version_bitmap__V_15_15 = ((MR_Integer) mercury__version_bitmap__conv0_V_15_15);
#line 160 "version_array.opt"
            {
#line 160 "version_array.opt"
              mercury__version_bitmap__conv1_V_16_16 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_17_17, mercury__version_bitmap__BMa_8, mercury__version_bitmap__I_6);
            }
#line 160 "version_array.opt"
            mercury__version_bitmap__V_16_16 = ((MR_Integer) mercury__version_bitmap__conv1_V_16_16);
#line 317 "version_bitmap.m"
            mercury__version_bitmap__V_14_14 = (mercury__version_bitmap__V_15_15 | mercury__version_bitmap__V_16_16);
#line 163 "version_array.opt"
            {
#line 163 "version_array.opt"
              mercury__version_array__set_4_p_0(mercury__version_bitmap__TypeCtorInfo_17_17, mercury__version_bitmap__I_6, ((MR_Box) (mercury__version_bitmap__V_14_14)), mercury__version_bitmap__BMb_9, &mercury__version_bitmap__V_13_13);
            }
#line 315 "version_bitmap.m"
            /* direct tailcall eliminated */
#line 315 "version_bitmap.m"
            {
#line 315 "version_bitmap.m"
              MR_Integer mercury__version_bitmap__I__tmp_copy_6 = mercury__version_bitmap__V_11_11;
#line 315 "version_bitmap.m"
              MR_Box mercury__version_bitmap__BMb__tmp_copy_9 = mercury__version_bitmap__V_13_13;

#line 315 "version_bitmap.m"
              mercury__version_bitmap__BMb_9 = mercury__version_bitmap__BMb__tmp_copy_9;
#line 315 "version_bitmap.m"
              mercury__version_bitmap__I_6 = mercury__version_bitmap__I__tmp_copy_6;
#line 315 "version_bitmap.m"
            }
#line 315 "version_bitmap.m"
            continue;
#line 317 "version_bitmap.m"
          }
#line 315 "version_bitmap.m"
        else
#line 315 "version_bitmap.m"
          mercury__version_bitmap__HeadVar__5_5 = mercury__version_bitmap__BMb_9;
#line 315 "version_bitmap.m"
        return mercury__version_bitmap__HeadVar__5_5;
#line 315 "version_bitmap.m"
      }
#line 315 "version_bitmap.m"
      break;
#line 315 "version_bitmap.m"
    }
#line 312 "version_bitmap.m"
}

#line 312 "version_bitmap.m"
static MR_Box MR_CALL 
mercury__version_bitmap__zip__ho7_4_f_0(
#line 312 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__I_6,
#line 312 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMa_8,
#line 312 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMb_9)
#line 312 "version_bitmap.m"
{
#line 315 "version_bitmap.m"
  while (MR_TRUE)
#line 315 "version_bitmap.m"
    {
#line 315 "version_bitmap.m"
      /* tailcall optimized into a loop */
#line 315 "version_bitmap.m"
      {
#line 315 "version_bitmap.m"
        MR_bool mercury__version_bitmap__succeeded = (mercury__version_bitmap__I_6 > (MR_Integer) 0);
#line 315 "version_bitmap.m"
        MR_Box mercury__version_bitmap__HeadVar__5_5;

#line 315 "version_bitmap.m"
        if (mercury__version_bitmap__succeeded)
#line 317 "version_bitmap.m"
          {
#line 317 "version_bitmap.m"
            MR_Word mercury__version_bitmap__TypeCtorInfo_17_17 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 317 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_11_11 = (mercury__version_bitmap__I_6 - (MR_Integer) 1);
#line 317 "version_bitmap.m"
            MR_Box mercury__version_bitmap__V_13_13;
#line 317 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_14_14;
#line 317 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_15_15;
#line 317 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_16_16;
#line 160 "version_array.opt"
            MR_Box mercury__version_bitmap__conv0_V_15_15;
#line 160 "version_array.opt"
            MR_Box mercury__version_bitmap__conv1_V_16_16;

#line 160 "version_array.opt"
            {
#line 160 "version_array.opt"
              mercury__version_bitmap__conv0_V_15_15 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_17_17, mercury__version_bitmap__BMb_9, mercury__version_bitmap__I_6);
            }
#line 160 "version_array.opt"
            mercury__version_bitmap__V_15_15 = ((MR_Integer) mercury__version_bitmap__conv0_V_15_15);
#line 160 "version_array.opt"
            {
#line 160 "version_array.opt"
              mercury__version_bitmap__conv1_V_16_16 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_17_17, mercury__version_bitmap__BMa_8, mercury__version_bitmap__I_6);
            }
#line 160 "version_array.opt"
            mercury__version_bitmap__V_16_16 = ((MR_Integer) mercury__version_bitmap__conv1_V_16_16);
#line 317 "version_bitmap.m"
            mercury__version_bitmap__V_14_14 = (mercury__version_bitmap__V_15_15 & mercury__version_bitmap__V_16_16);
#line 163 "version_array.opt"
            {
#line 163 "version_array.opt"
              mercury__version_array__set_4_p_0(mercury__version_bitmap__TypeCtorInfo_17_17, mercury__version_bitmap__I_6, ((MR_Box) (mercury__version_bitmap__V_14_14)), mercury__version_bitmap__BMb_9, &mercury__version_bitmap__V_13_13);
            }
#line 315 "version_bitmap.m"
            /* direct tailcall eliminated */
#line 315 "version_bitmap.m"
            {
#line 315 "version_bitmap.m"
              MR_Integer mercury__version_bitmap__I__tmp_copy_6 = mercury__version_bitmap__V_11_11;
#line 315 "version_bitmap.m"
              MR_Box mercury__version_bitmap__BMb__tmp_copy_9 = mercury__version_bitmap__V_13_13;

#line 315 "version_bitmap.m"
              mercury__version_bitmap__BMb_9 = mercury__version_bitmap__BMb__tmp_copy_9;
#line 315 "version_bitmap.m"
              mercury__version_bitmap__I_6 = mercury__version_bitmap__I__tmp_copy_6;
#line 315 "version_bitmap.m"
            }
#line 315 "version_bitmap.m"
            continue;
#line 317 "version_bitmap.m"
          }
#line 315 "version_bitmap.m"
        else
#line 315 "version_bitmap.m"
          mercury__version_bitmap__HeadVar__5_5 = mercury__version_bitmap__BMb_9;
#line 315 "version_bitmap.m"
        return mercury__version_bitmap__HeadVar__5_5;
#line 315 "version_bitmap.m"
      }
#line 315 "version_bitmap.m"
      break;
#line 315 "version_bitmap.m"
    }
#line 312 "version_bitmap.m"
}

#line 312 "version_bitmap.m"
static MR_Box MR_CALL 
mercury__version_bitmap__zip__ho6_4_f_0(
#line 312 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__I_6,
#line 312 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMa_8,
#line 312 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMb_9)
#line 312 "version_bitmap.m"
{
#line 315 "version_bitmap.m"
  while (MR_TRUE)
#line 315 "version_bitmap.m"
    {
#line 315 "version_bitmap.m"
      /* tailcall optimized into a loop */
#line 315 "version_bitmap.m"
      {
#line 315 "version_bitmap.m"
        MR_bool mercury__version_bitmap__succeeded = (mercury__version_bitmap__I_6 > (MR_Integer) 0);
#line 315 "version_bitmap.m"
        MR_Box mercury__version_bitmap__HeadVar__5_5;

#line 315 "version_bitmap.m"
        if (mercury__version_bitmap__succeeded)
#line 317 "version_bitmap.m"
          {
#line 317 "version_bitmap.m"
            MR_Word mercury__version_bitmap__TypeCtorInfo_17_17 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 317 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_11_11 = (mercury__version_bitmap__I_6 - (MR_Integer) 1);
#line 317 "version_bitmap.m"
            MR_Box mercury__version_bitmap__V_13_13;
#line 317 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_14_14;
#line 317 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_15_15;
#line 317 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_16_16;
#line 317 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_37_37;
#line 160 "version_array.opt"
            MR_Box mercury__version_bitmap__conv0_V_15_15;
#line 160 "version_array.opt"
            MR_Box mercury__version_bitmap__conv1_V_16_16;

#line 160 "version_array.opt"
            {
#line 160 "version_array.opt"
              mercury__version_bitmap__conv0_V_15_15 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_17_17, mercury__version_bitmap__BMb_9, mercury__version_bitmap__I_6);
            }
#line 160 "version_array.opt"
            mercury__version_bitmap__V_15_15 = ((MR_Integer) mercury__version_bitmap__conv0_V_15_15);
#line 160 "version_array.opt"
            {
#line 160 "version_array.opt"
              mercury__version_bitmap__conv1_V_16_16 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_17_17, mercury__version_bitmap__BMa_8, mercury__version_bitmap__I_6);
            }
#line 160 "version_array.opt"
            mercury__version_bitmap__V_16_16 = ((MR_Integer) mercury__version_bitmap__conv1_V_16_16);
#line 291 "version_bitmap.m"
            mercury__version_bitmap__V_37_37 = ~(mercury__version_bitmap__V_16_16);
#line 291 "version_bitmap.m"
            mercury__version_bitmap__V_14_14 = (mercury__version_bitmap__V_15_15 & mercury__version_bitmap__V_37_37);
#line 163 "version_array.opt"
            {
#line 163 "version_array.opt"
              mercury__version_array__set_4_p_0(mercury__version_bitmap__TypeCtorInfo_17_17, mercury__version_bitmap__I_6, ((MR_Box) (mercury__version_bitmap__V_14_14)), mercury__version_bitmap__BMb_9, &mercury__version_bitmap__V_13_13);
            }
#line 315 "version_bitmap.m"
            /* direct tailcall eliminated */
#line 315 "version_bitmap.m"
            {
#line 315 "version_bitmap.m"
              MR_Integer mercury__version_bitmap__I__tmp_copy_6 = mercury__version_bitmap__V_11_11;
#line 315 "version_bitmap.m"
              MR_Box mercury__version_bitmap__BMb__tmp_copy_9 = mercury__version_bitmap__V_13_13;

#line 315 "version_bitmap.m"
              mercury__version_bitmap__BMb_9 = mercury__version_bitmap__BMb__tmp_copy_9;
#line 315 "version_bitmap.m"
              mercury__version_bitmap__I_6 = mercury__version_bitmap__I__tmp_copy_6;
#line 315 "version_bitmap.m"
            }
#line 315 "version_bitmap.m"
            continue;
#line 317 "version_bitmap.m"
          }
#line 315 "version_bitmap.m"
        else
#line 315 "version_bitmap.m"
          mercury__version_bitmap__HeadVar__5_5 = mercury__version_bitmap__BMb_9;
#line 315 "version_bitmap.m"
        return mercury__version_bitmap__HeadVar__5_5;
#line 315 "version_bitmap.m"
      }
#line 315 "version_bitmap.m"
      break;
#line 315 "version_bitmap.m"
    }
#line 312 "version_bitmap.m"
}

#line 312 "version_bitmap.m"
static MR_Box MR_CALL 
mercury__version_bitmap__zip__ho5_4_f_0(
#line 312 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__I_6,
#line 312 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMa_8,
#line 312 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMb_9)
#line 312 "version_bitmap.m"
{
#line 315 "version_bitmap.m"
  while (MR_TRUE)
#line 315 "version_bitmap.m"
    {
#line 315 "version_bitmap.m"
      /* tailcall optimized into a loop */
#line 315 "version_bitmap.m"
      {
#line 315 "version_bitmap.m"
        MR_bool mercury__version_bitmap__succeeded = (mercury__version_bitmap__I_6 > (MR_Integer) 0);
#line 315 "version_bitmap.m"
        MR_Box mercury__version_bitmap__HeadVar__5_5;

#line 315 "version_bitmap.m"
        if (mercury__version_bitmap__succeeded)
#line 317 "version_bitmap.m"
          {
#line 317 "version_bitmap.m"
            MR_Word mercury__version_bitmap__TypeCtorInfo_17_17 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 317 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_11_11 = (mercury__version_bitmap__I_6 - (MR_Integer) 1);
#line 317 "version_bitmap.m"
            MR_Box mercury__version_bitmap__V_13_13;
#line 317 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_14_14;
#line 317 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_15_15;
#line 317 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_16_16;
#line 160 "version_array.opt"
            MR_Box mercury__version_bitmap__conv0_V_15_15;
#line 160 "version_array.opt"
            MR_Box mercury__version_bitmap__conv1_V_16_16;

#line 160 "version_array.opt"
            {
#line 160 "version_array.opt"
              mercury__version_bitmap__conv0_V_15_15 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_17_17, mercury__version_bitmap__BMb_9, mercury__version_bitmap__I_6);
            }
#line 160 "version_array.opt"
            mercury__version_bitmap__V_15_15 = ((MR_Integer) mercury__version_bitmap__conv0_V_15_15);
#line 160 "version_array.opt"
            {
#line 160 "version_array.opt"
              mercury__version_bitmap__conv1_V_16_16 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_17_17, mercury__version_bitmap__BMa_8, mercury__version_bitmap__I_6);
            }
#line 160 "version_array.opt"
            mercury__version_bitmap__V_16_16 = ((MR_Integer) mercury__version_bitmap__conv1_V_16_16);
#line 317 "version_bitmap.m"
            mercury__version_bitmap__V_14_14 = (mercury__version_bitmap__V_15_15 ^ mercury__version_bitmap__V_16_16);
#line 163 "version_array.opt"
            {
#line 163 "version_array.opt"
              mercury__version_array__set_4_p_0(mercury__version_bitmap__TypeCtorInfo_17_17, mercury__version_bitmap__I_6, ((MR_Box) (mercury__version_bitmap__V_14_14)), mercury__version_bitmap__BMb_9, &mercury__version_bitmap__V_13_13);
            }
#line 315 "version_bitmap.m"
            /* direct tailcall eliminated */
#line 315 "version_bitmap.m"
            {
#line 315 "version_bitmap.m"
              MR_Integer mercury__version_bitmap__I__tmp_copy_6 = mercury__version_bitmap__V_11_11;
#line 315 "version_bitmap.m"
              MR_Box mercury__version_bitmap__BMb__tmp_copy_9 = mercury__version_bitmap__V_13_13;

#line 315 "version_bitmap.m"
              mercury__version_bitmap__BMb_9 = mercury__version_bitmap__BMb__tmp_copy_9;
#line 315 "version_bitmap.m"
              mercury__version_bitmap__I_6 = mercury__version_bitmap__I__tmp_copy_6;
#line 315 "version_bitmap.m"
            }
#line 315 "version_bitmap.m"
            continue;
#line 317 "version_bitmap.m"
          }
#line 315 "version_bitmap.m"
        else
#line 315 "version_bitmap.m"
          mercury__version_bitmap__HeadVar__5_5 = mercury__version_bitmap__BMb_9;
#line 315 "version_bitmap.m"
        return mercury__version_bitmap__HeadVar__5_5;
#line 315 "version_bitmap.m"
      }
#line 315 "version_bitmap.m"
      break;
#line 315 "version_bitmap.m"
    }
#line 312 "version_bitmap.m"
}

#line 129 "version_bitmap.m"
void MR_CALL 
mercury__version_bitmap____Compare____version_bitmap_0_0(
#line 129 "version_bitmap.m"
  MR_Word * mercury__version_bitmap__HeadVar__1_1,
#line 129 "version_bitmap.m"
  MR_Box mercury__version_bitmap__HeadVar__2_2,
#line 129 "version_bitmap.m"
  MR_Box mercury__version_bitmap__HeadVar__3_3)
#line 129 "version_bitmap.m"
{
#line 129 "version_bitmap.m"
  {
#line 129 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded;
#line 129 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeInfo_6_6 = (MR_Word) &mercury__version_bitmap_scalar_common_1[0];
#line 129 "version_bitmap.m"
    MR_Box mercury__version_bitmap__Cast_HeadVar1_4 = mercury__version_bitmap__HeadVar__2_2;
#line 129 "version_bitmap.m"
    MR_Box mercury__version_bitmap__Cast_HeadVar2_5 = mercury__version_bitmap__HeadVar__3_3;

#line 129 "version_bitmap.m"
    {
#line 129 "version_bitmap.m"
      mercury__builtin__compare_3_p_0(mercury__version_bitmap__TypeInfo_6_6, mercury__version_bitmap__HeadVar__1_1, ((MR_Box) (mercury__version_bitmap__Cast_HeadVar1_4)), ((MR_Box) (mercury__version_bitmap__Cast_HeadVar2_5)));
#line 129 "version_bitmap.m"
      return;
    }
#line 129 "version_bitmap.m"
  }
#line 129 "version_bitmap.m"
}

#line 129 "version_bitmap.m"
MR_bool MR_CALL 
mercury__version_bitmap____Unify____version_bitmap_0_0(
#line 129 "version_bitmap.m"
  MR_Box mercury__version_bitmap__HeadVar__1_1,
#line 129 "version_bitmap.m"
  MR_Box mercury__version_bitmap__HeadVar__2_2)
#line 129 "version_bitmap.m"
{
#line 129 "version_bitmap.m"
  {
#line 129 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded;
#line 129 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeCtorInfo_5_5 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 129 "version_bitmap.m"
    MR_Box mercury__version_bitmap__Cast_HeadVar1_3 = mercury__version_bitmap__HeadVar__1_1;
#line 129 "version_bitmap.m"
    MR_Box mercury__version_bitmap__Cast_HeadVar2_4 = mercury__version_bitmap__HeadVar__2_2;

#line 129 "version_bitmap.m"
    {
#line 129 "version_bitmap.m"
      return mercury__version_bitmap__succeeded = mercury__version_array____Unify____version_array_1_0(mercury__version_bitmap__TypeCtorInfo_5_5, mercury__version_bitmap__Cast_HeadVar1_3, mercury__version_bitmap__Cast_HeadVar2_4);
    }
#line 129 "version_bitmap.m"
    return mercury__version_bitmap__succeeded;
#line 129 "version_bitmap.m"
  }
#line 129 "version_bitmap.m"
}

#line 259 "version_bitmap.m"
MR_Box MR_CALL 
mercury__version_bitmap__complement_2_2_f_0(
#line 259 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__WordI_4,
#line 259 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM_5)
#line 259 "version_bitmap.m"
{
#line 261 "version_bitmap.m"
  while (MR_TRUE)
#line 261 "version_bitmap.m"
    {
#line 261 "version_bitmap.m"
      /* tailcall optimized into a loop */
#line 261 "version_bitmap.m"
      {
#line 261 "version_bitmap.m"
        MR_bool mercury__version_bitmap__succeeded = (mercury__version_bitmap__WordI_4 <= (MR_Integer) 0);
#line 261 "version_bitmap.m"
        MR_Box mercury__version_bitmap__HeadVar__3_3;

#line 261 "version_bitmap.m"
        if (mercury__version_bitmap__succeeded)
#line 261 "version_bitmap.m"
          mercury__version_bitmap__HeadVar__3_3 = mercury__version_bitmap__BM_5;
#line 261 "version_bitmap.m"
        else
#line 264 "version_bitmap.m"
          {
#line 264 "version_bitmap.m"
            MR_Word mercury__version_bitmap__TypeCtorInfo_12_12 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 264 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_7_7 = (mercury__version_bitmap__WordI_4 - (MR_Integer) 1);
#line 264 "version_bitmap.m"
            MR_Box mercury__version_bitmap__V_9_9;
#line 264 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_10_10;
#line 264 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_11_11;
#line 160 "version_array.opt"
            MR_Box mercury__version_bitmap__conv0_V_11_11;

#line 160 "version_array.opt"
            {
#line 160 "version_array.opt"
              mercury__version_bitmap__conv0_V_11_11 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_12_12, mercury__version_bitmap__BM_5, mercury__version_bitmap__WordI_4);
            }
#line 160 "version_array.opt"
            mercury__version_bitmap__V_11_11 = ((MR_Integer) mercury__version_bitmap__conv0_V_11_11);
#line 264 "version_bitmap.m"
            mercury__version_bitmap__V_10_10 = ~(mercury__version_bitmap__V_11_11);
#line 163 "version_array.opt"
            {
#line 163 "version_array.opt"
              mercury__version_array__set_4_p_0(mercury__version_bitmap__TypeCtorInfo_12_12, mercury__version_bitmap__WordI_4, ((MR_Box) (mercury__version_bitmap__V_10_10)), mercury__version_bitmap__BM_5, &mercury__version_bitmap__V_9_9);
            }
#line 261 "version_bitmap.m"
            /* direct tailcall eliminated */
#line 261 "version_bitmap.m"
            {
#line 261 "version_bitmap.m"
              MR_Integer mercury__version_bitmap__WordI__tmp_copy_4 = mercury__version_bitmap__V_7_7;
#line 261 "version_bitmap.m"
              MR_Box mercury__version_bitmap__BM__tmp_copy_5 = mercury__version_bitmap__V_9_9;

#line 261 "version_bitmap.m"
              mercury__version_bitmap__BM_5 = mercury__version_bitmap__BM__tmp_copy_5;
#line 261 "version_bitmap.m"
              mercury__version_bitmap__WordI_4 = mercury__version_bitmap__WordI__tmp_copy_4;
#line 261 "version_bitmap.m"
            }
#line 261 "version_bitmap.m"
            continue;
#line 264 "version_bitmap.m"
          }
#line 261 "version_bitmap.m"
        return mercury__version_bitmap__HeadVar__3_3;
#line 261 "version_bitmap.m"
      }
#line 261 "version_bitmap.m"
      break;
#line 261 "version_bitmap.m"
    }
#line 259 "version_bitmap.m"
}

#line 169 "version_bitmap.m"
MR_Box MR_CALL 
mercury__version_bitmap__clear_filler_bits_1_f_0(
#line 169 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM0_3)
#line 169 "version_bitmap.m"
{
#line 171 "version_bitmap.m"
  {
#line 171 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded;
#line 171 "version_bitmap.m"
    MR_Box mercury__version_bitmap__BM_4;
#line 171 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeCtorInfo_5_18 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 171 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__N_5;
#line 160 "version_array.opt"
    MR_Box mercury__version_bitmap__conv0_N_5;

#line 160 "version_array.opt"
    {
#line 160 "version_array.opt"
      mercury__version_bitmap__conv0_N_5 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_18, mercury__version_bitmap__BM0_3, (MR_Integer) 0);
    }
#line 160 "version_array.opt"
    mercury__version_bitmap__N_5 = ((MR_Integer) mercury__version_bitmap__conv0_N_5);
#line 173 "version_bitmap.m"
    mercury__version_bitmap__succeeded = (mercury__version_bitmap__N_5 > (MR_Integer) 0);
#line 177 "version_bitmap.m"
    if (mercury__version_bitmap__succeeded)
#line 174 "version_bitmap.m"
      {
#line 174 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_15_15;
#line 174 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__Last_6;
#line 174 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__Ksam_7;
#line 174 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_9_9 = (mercury__version_bitmap__N_5 - (MR_Integer) 1);
#line 174 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_11_11;
#line 174 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_13_13;
#line 174 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_14_14;
#line 174 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_24_24;
#line 174 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__BitMask_27;
#line 174 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_28_28;
#line 174 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_32_32;
#line 160 "version_array.opt"
        MR_Box mercury__version_bitmap__conv1_V_14_14;

#line 282 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__clear_filler_bits_1_f_0

	MR_Integer Int;
	MR_Integer Div;

	Int =  mercury__version_bitmap__V_9_9 ;
		{
#line 282 "int.opt"

    Div = Int / ML_BITS_PER_INT;

#line 1257 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_24_24  = Div;
#line 282 "int.opt"
}
#line 342 "version_bitmap.m"
        mercury__version_bitmap__Last_6 = ((MR_Integer) 1 + mercury__version_bitmap__V_24_24);
#line 175 "version_bitmap.m"
        mercury__version_bitmap__V_11_11 = (mercury__version_bitmap__N_5 - (MR_Integer) 1);
#line 288 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__clear_filler_bits_1_f_0

	MR_Integer Int;
	MR_Integer Rem;

	Int =  mercury__version_bitmap__V_11_11 ;
		{
#line 288 "int.opt"

    Rem = Int % ML_BITS_PER_INT;

#line 1281 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_32_32  = Rem;
#line 288 "int.opt"
}
#line 357 "version_bitmap.m"
        mercury__version_bitmap__BitMask_27 = ((MR_Integer) 1 << mercury__version_bitmap__V_32_32);
#line 371 "version_bitmap.m"
        mercury__version_bitmap__V_28_28 = (mercury__version_bitmap__BitMask_27 - (MR_Integer) 1);
#line 371 "version_bitmap.m"
        mercury__version_bitmap__Ksam_7 = (mercury__version_bitmap__BitMask_27 | mercury__version_bitmap__V_28_28);
#line 1294 "version_bitmap.c"
        mercury__version_bitmap__TypeCtorInfo_15_15 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 160 "version_array.opt"
        {
#line 160 "version_array.opt"
          mercury__version_bitmap__conv1_V_14_14 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_15_15, mercury__version_bitmap__BM0_3, mercury__version_bitmap__Last_6);
        }
#line 160 "version_array.opt"
        mercury__version_bitmap__V_14_14 = ((MR_Integer) mercury__version_bitmap__conv1_V_14_14);
#line 176 "version_bitmap.m"
        mercury__version_bitmap__V_13_13 = (mercury__version_bitmap__V_14_14 & mercury__version_bitmap__Ksam_7);
#line 163 "version_array.opt"
        {
#line 163 "version_array.opt"
          mercury__version_array__set_4_p_0(mercury__version_bitmap__TypeCtorInfo_15_15, mercury__version_bitmap__Last_6, ((MR_Box) (mercury__version_bitmap__V_13_13)), mercury__version_bitmap__BM0_3, &mercury__version_bitmap__BM_4);
        }
#line 174 "version_bitmap.m"
      }
#line 177 "version_bitmap.m"
    else
#line 178 "version_bitmap.m"
      mercury__version_bitmap__BM_4 = mercury__version_bitmap__BM0_3;
#line 171 "version_bitmap.m"
    return mercury__version_bitmap__BM_4;
#line 171 "version_bitmap.m"
  }
#line 169 "version_bitmap.m"
}

#line 109 "version_bitmap.m"
void MR_CALL 
mercury__version_bitmap__unsafe_rewind_2_p_0(
#line 109 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM_3,
#line 109 "version_bitmap.m"
  MR_Box * mercury__version_bitmap__HeadVar__2_2)
#line 109 "version_bitmap.m"
{
#line 214 "version_array.opt"
  {
#line 214 "version_array.opt"
    MR_bool mercury__version_bitmap__succeeded;
#line 214 "version_array.opt"
    MR_Word mercury__version_bitmap__TypeCtorInfo_4_6;

#line 214 "version_array.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__unsafe_rewind_2_p_0

	struct ML_va * VA0;
	struct ML_va * VA;

	MR_MAYBE_UNBOX_FOREIGN_TYPE(struct ML_va *, mercury__version_bitmap__BM_3 , VA0);
		{
#line 214 "version_array.opt"

    VA = ML_va_rewind_dolock(VA0);

#line 1352 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	MR_MAYBE_BOX_FOREIGN_TYPE(struct ML_va *, VA, *mercury__version_bitmap__HeadVar__2_2 );
#line 214 "version_array.opt"
}
#line 214 "version_array.opt"
  }
#line 109 "version_bitmap.m"
}

#line 105 "version_bitmap.m"
MR_Box MR_CALL 
mercury__version_bitmap__unsafe_rewind_1_f_0(
#line 105 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM_3)
#line 105 "version_bitmap.m"
{
#line 214 "version_array.opt"
  {
#line 214 "version_array.opt"
    MR_bool mercury__version_bitmap__succeeded;
#line 214 "version_array.opt"
    MR_Box mercury__version_bitmap__HeadVar__2_2;
#line 214 "version_array.opt"
    MR_Word mercury__version_bitmap__TypeCtorInfo_4_5;

#line 214 "version_array.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__unsafe_rewind_1_f_0

	struct ML_va * VA0;
	struct ML_va * VA;

	MR_MAYBE_UNBOX_FOREIGN_TYPE(struct ML_va *, mercury__version_bitmap__BM_3 , VA0);
		{
#line 214 "version_array.opt"

    VA = ML_va_rewind_dolock(VA0);

#line 1393 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	MR_MAYBE_BOX_FOREIGN_TYPE(struct ML_va *, VA, mercury__version_bitmap__HeadVar__2_2 );
#line 214 "version_array.opt"
}
#line 214 "version_array.opt"
    return mercury__version_bitmap__HeadVar__2_2;
#line 214 "version_array.opt"
  }
#line 105 "version_bitmap.m"
}

#line 96 "version_bitmap.m"
void MR_CALL 
mercury__version_bitmap__resize_4_p_0(
#line 96 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__N_5,
#line 96 "version_bitmap.m"
  MR_Word mercury__version_bitmap__B_6,
#line 96 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM_7,
#line 96 "version_bitmap.m"
  MR_Box * mercury__version_bitmap__HeadVar__4_4)
#line 96 "version_bitmap.m"
{
#line 165 "version_bitmap.m"
  {
#line 165 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded;

#line 165 "version_bitmap.m"
    {
#line 165 "version_bitmap.m"
      *mercury__version_bitmap__HeadVar__4_4 = mercury__version_bitmap__resize_3_f_0(mercury__version_bitmap__BM_7, mercury__version_bitmap__N_5, mercury__version_bitmap__B_6);
    }
#line 165 "version_bitmap.m"
  }
#line 96 "version_bitmap.m"
}

#line 92 "version_bitmap.m"
MR_Box MR_CALL 
mercury__version_bitmap__resize_3_f_0(
#line 92 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM0_5,
#line 92 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__N_6,
#line 92 "version_bitmap.m"
  MR_Word mercury__version_bitmap__B_7)
#line 92 "version_bitmap.m"
{
#line 147 "version_bitmap.m"
  {
#line 147 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded = (mercury__version_bitmap__N_6 <= (MR_Integer) 0);
#line 147 "version_bitmap.m"
    MR_Box mercury__version_bitmap__BM_8;

#line 147 "version_bitmap.m"
    if (mercury__version_bitmap__succeeded)
#line 146 "version_bitmap.m"
      {
#line 146 "version_bitmap.m"
        return mercury__version_bitmap__BM_8 = mercury__version_bitmap__init_2_f_0(mercury__version_bitmap__N_6, mercury__version_bitmap__B_7);
      }
#line 147 "version_bitmap.m"
    else
#line 148 "version_bitmap.m"
      {
#line 148 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_29_29;
#line 148 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_5_40;
#line 148 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__X_9;
#line 148 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__NumInts_10;
#line 148 "version_bitmap.m"
        MR_Box mercury__version_bitmap__BM1_11;
#line 148 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__M_12;
#line 148 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__Offset_13;
#line 148 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__Mask_14;
#line 148 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__Bits_15;
#line 148 "version_bitmap.m"
        MR_Box mercury__version_bitmap__BM2_16;
#line 148 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_18_18;
#line 148 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_19_19;
#line 148 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_21_21;
#line 148 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_23_23;
#line 148 "version_bitmap.m"
        MR_Box mercury__version_bitmap__V_24_24;
#line 148 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_25_25;
#line 148 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_27_27;
#line 148 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_28_28;
#line 148 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_33_33;
#line 148 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_49_49;
#line 148 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__BitMask_52;
#line 148 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_53_53;
#line 148 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_57_57;
#line 174 "version_array.opt"
        MR_Word mercury__version_bitmap__TypeCtorInfo_29_69;
#line 160 "version_array.opt"
        MR_Box mercury__version_bitmap__conv0_V_18_18;
#line 160 "version_array.opt"
        MR_Box mercury__version_bitmap__conv1_V_28_28;

#line 185 "version_bitmap.m"
        if ((mercury__version_bitmap__B_7 == (MR_Integer) 0))
#line 185 "version_bitmap.m"
          mercury__version_bitmap__X_9 = (MR_Integer) 0;
#line 185 "version_bitmap.m"
        else
#line 186 "version_bitmap.m"
          mercury__version_bitmap__X_9 = (MR_Integer) -1;
#line 330 "version_bitmap.m"
        mercury__version_bitmap__succeeded = (mercury__version_bitmap__N_6 > (MR_Integer) 0);
#line 330 "version_bitmap.m"
        if (mercury__version_bitmap__succeeded)
#line 342 "version_bitmap.m"
          {
#line 342 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_37_37;

#line 282 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__resize_3_f_0

	MR_Integer Int;
	MR_Integer Div;

	Int =  mercury__version_bitmap__N_6 ;
		{
#line 282 "int.opt"

    Div = Int / ML_BITS_PER_INT;

#line 1547 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_37_37  = Div;
#line 282 "int.opt"
}
#line 342 "version_bitmap.m"
            mercury__version_bitmap__V_33_33 = ((MR_Integer) 1 + mercury__version_bitmap__V_37_37);
#line 342 "version_bitmap.m"
          }
#line 330 "version_bitmap.m"
        else
#line 330 "version_bitmap.m"
          mercury__version_bitmap__V_33_33 = (MR_Integer) 0;
#line 330 "version_bitmap.m"
        mercury__version_bitmap__NumInts_10 = ((MR_Integer) 1 + mercury__version_bitmap__V_33_33);
#line 1564 "version_bitmap.c"
        mercury__version_bitmap__TypeCtorInfo_29_29 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 174 "version_array.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__resize_3_f_0

	struct ML_va * VA0;
	MR_Integer N;
	MR_Word X;
	struct ML_va * VA;

	MR_MAYBE_UNBOX_FOREIGN_TYPE(struct ML_va *, mercury__version_bitmap__BM0_5 , VA0);
	N =  mercury__version_bitmap__NumInts_10 ;
	X = (MR_Word) ((MR_Box) (mercury__version_bitmap__X_9)) ;
		{
#line 174 "version_array.opt"

    VA = ML_va_resize_dolock(VA0, N, X, MR_ALLOC_ID);

#line 1583 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	MR_MAYBE_BOX_FOREIGN_TYPE(struct ML_va *, VA, mercury__version_bitmap__BM1_11 );
#line 174 "version_array.opt"
}
#line 1590 "version_bitmap.c"
        mercury__version_bitmap__TypeCtorInfo_5_40 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 160 "version_array.opt"
        {
#line 160 "version_array.opt"
          mercury__version_bitmap__conv0_V_18_18 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_40, mercury__version_bitmap__BM0_5, (MR_Integer) 0);
        }
#line 160 "version_array.opt"
        mercury__version_bitmap__V_18_18 = ((MR_Integer) mercury__version_bitmap__conv0_V_18_18);
#line 85 "int.opt"
        mercury__version_bitmap__succeeded = (mercury__version_bitmap__V_18_18 < mercury__version_bitmap__N_6);
#line 88 "int.opt"
        if (mercury__version_bitmap__succeeded)
#line 87 "int.opt"
          mercury__version_bitmap__M_12 = mercury__version_bitmap__V_18_18;
#line 88 "int.opt"
        else
#line 89 "int.opt"
          mercury__version_bitmap__M_12 = mercury__version_bitmap__N_6;
#line 156 "version_bitmap.m"
        mercury__version_bitmap__V_19_19 = (mercury__version_bitmap__M_12 - (MR_Integer) 1);
#line 282 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__resize_3_f_0

	MR_Integer Int;
	MR_Integer Div;

	Int =  mercury__version_bitmap__V_19_19 ;
		{
#line 282 "int.opt"

    Div = Int / ML_BITS_PER_INT;

#line 1624 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_49_49  = Div;
#line 282 "int.opt"
}
#line 342 "version_bitmap.m"
        mercury__version_bitmap__Offset_13 = ((MR_Integer) 1 + mercury__version_bitmap__V_49_49);
#line 157 "version_bitmap.m"
        mercury__version_bitmap__V_21_21 = (mercury__version_bitmap__M_12 - (MR_Integer) 1);
#line 288 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__resize_3_f_0

	MR_Integer Int;
	MR_Integer Rem;

	Int =  mercury__version_bitmap__V_21_21 ;
		{
#line 288 "int.opt"

    Rem = Int % ML_BITS_PER_INT;

#line 1648 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_57_57  = Rem;
#line 288 "int.opt"
}
#line 357 "version_bitmap.m"
        mercury__version_bitmap__BitMask_52 = ((MR_Integer) 1 << mercury__version_bitmap__V_57_57);
#line 371 "version_bitmap.m"
        mercury__version_bitmap__V_53_53 = (mercury__version_bitmap__BitMask_52 - (MR_Integer) 1);
#line 371 "version_bitmap.m"
        mercury__version_bitmap__Mask_14 = (mercury__version_bitmap__BitMask_52 | mercury__version_bitmap__V_53_53);
#line 158 "version_bitmap.m"
        mercury__version_bitmap__V_23_23 = ~(mercury__version_bitmap__Mask_14);
#line 158 "version_bitmap.m"
        mercury__version_bitmap__Bits_15 = (mercury__version_bitmap__V_23_23 & mercury__version_bitmap__X_9);
#line 163 "version_array.opt"
        {
#line 163 "version_array.opt"
          mercury__version_array__set_4_p_0(mercury__version_bitmap__TypeCtorInfo_29_29, (MR_Integer) 0, ((MR_Box) (mercury__version_bitmap__N_6)), mercury__version_bitmap__BM1_11, &mercury__version_bitmap__V_24_24);
        }
#line 160 "version_array.opt"
        {
#line 160 "version_array.opt"
          mercury__version_bitmap__conv1_V_28_28 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_29_29, mercury__version_bitmap__BM1_11, mercury__version_bitmap__Offset_13);
        }
#line 160 "version_array.opt"
        mercury__version_bitmap__V_28_28 = ((MR_Integer) mercury__version_bitmap__conv1_V_28_28);
#line 161 "version_bitmap.m"
        mercury__version_bitmap__V_27_27 = (mercury__version_bitmap__V_28_28 & mercury__version_bitmap__Mask_14);
#line 159 "version_bitmap.m"
        mercury__version_bitmap__V_25_25 = (mercury__version_bitmap__V_27_27 | mercury__version_bitmap__Bits_15);
#line 163 "version_array.opt"
        {
#line 163 "version_array.opt"
          mercury__version_array__set_4_p_0(mercury__version_bitmap__TypeCtorInfo_29_29, mercury__version_bitmap__Offset_13, ((MR_Box) (mercury__version_bitmap__V_25_25)), mercury__version_bitmap__V_24_24, &mercury__version_bitmap__BM2_16);
        }
#line 162 "version_bitmap.m"
        {
#line 162 "version_bitmap.m"
          return mercury__version_bitmap__BM_8 = mercury__version_bitmap__clear_filler_bits_1_f_0(mercury__version_bitmap__BM2_16);
        }
#line 148 "version_bitmap.m"
      }
#line 147 "version_bitmap.m"
    return mercury__version_bitmap__BM_8;
#line 147 "version_bitmap.m"
  }
#line 92 "version_bitmap.m"
}

#line 84 "version_bitmap.m"
MR_Box MR_CALL 
mercury__version_bitmap__xor_2_f_0(
#line 84 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMa_4,
#line 84 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMb_5)
#line 84 "version_bitmap.m"
{
#line 299 "version_bitmap.m"
  {
#line 299 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded;
#line 299 "version_bitmap.m"
    MR_Box mercury__version_bitmap__HeadVar__3_3;
#line 300 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeCtorInfo_5_26 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 300 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeCtorInfo_5_32;
#line 300 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_8_8;
#line 300 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_23_23;
#line 160 "version_array.opt"
    MR_Box mercury__version_bitmap__conv0_V_8_8;
#line 160 "version_array.opt"
    MR_Box mercury__version_bitmap__conv1_V_23_23;

#line 160 "version_array.opt"
    {
#line 160 "version_array.opt"
      mercury__version_bitmap__conv0_V_8_8 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_26, mercury__version_bitmap__BMa_4, (MR_Integer) 0);
    }
#line 160 "version_array.opt"
    mercury__version_bitmap__V_8_8 = ((MR_Integer) mercury__version_bitmap__conv0_V_8_8);
#line 1735 "version_bitmap.c"
    mercury__version_bitmap__TypeCtorInfo_5_32 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 160 "version_array.opt"
    {
#line 160 "version_array.opt"
      mercury__version_bitmap__conv1_V_23_23 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_32, mercury__version_bitmap__BMb_5, (MR_Integer) 0);
    }
#line 160 "version_array.opt"
    mercury__version_bitmap__V_23_23 = ((MR_Integer) mercury__version_bitmap__conv1_V_23_23);
#line 300 "version_bitmap.m"
    mercury__version_bitmap__succeeded = (mercury__version_bitmap__V_8_8 == mercury__version_bitmap__V_23_23);
#line 299 "version_bitmap.m"
    if (mercury__version_bitmap__succeeded)
#line 301 "version_bitmap.m"
      {
#line 301 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_5_38 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 301 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_9_9;
#line 301 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_10_10;
#line 301 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_11_11;
#line 301 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_44_44;
#line 160 "version_array.opt"
        MR_Box mercury__version_bitmap__conv2_V_11_11;

#line 160 "version_array.opt"
        {
#line 160 "version_array.opt"
          mercury__version_bitmap__conv2_V_11_11 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_38, mercury__version_bitmap__BMb_5, (MR_Integer) 0);
        }
#line 160 "version_array.opt"
        mercury__version_bitmap__V_11_11 = ((MR_Integer) mercury__version_bitmap__conv2_V_11_11);
#line 301 "version_bitmap.m"
        mercury__version_bitmap__V_10_10 = (mercury__version_bitmap__V_11_11 - (MR_Integer) 1);
#line 282 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__xor_2_f_0

	MR_Integer Int;
	MR_Integer Div;

	Int =  mercury__version_bitmap__V_10_10 ;
		{
#line 282 "int.opt"

    Div = Int / ML_BITS_PER_INT;

#line 1785 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_44_44  = Div;
#line 282 "int.opt"
}
#line 342 "version_bitmap.m"
        mercury__version_bitmap__V_9_9 = ((MR_Integer) 1 + mercury__version_bitmap__V_44_44);
#line 299 "version_bitmap.m"
        {
#line 299 "version_bitmap.m"
          return mercury__version_bitmap__HeadVar__3_3 = mercury__version_bitmap__zip__ho5_4_f_0(mercury__version_bitmap__V_9_9, mercury__version_bitmap__BMa_4, mercury__version_bitmap__BMb_5);
        }
#line 301 "version_bitmap.m"
      }
#line 299 "version_bitmap.m"
    else
#line 303 "version_bitmap.m"
      {
#line 303 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_21_21 = (MR_Word) &mercury__exception__exception__type_ctor_info_software_error_0;
#line 303 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeInfo_22_22 = (MR_Word) &mercury__version_bitmap_scalar_common_1[0];
#line 303 "version_bitmap.m"
        MR_Word mercury__version_bitmap__V_17_17 = (MR_Word) ((MR_Box) ((MR_String) "version_bitmap.xor: version_bitmaps not the same size"));
#line 299 "version_bitmap.m"
        MR_Box mercury__version_bitmap__conv3_HeadVar__3_3;

#line 299 "version_bitmap.m"
        {
#line 299 "version_bitmap.m"
          mercury__version_bitmap__conv3_HeadVar__3_3 = mercury__exception__throw_1_f_0(mercury__version_bitmap__TypeCtorInfo_21_21, mercury__version_bitmap__TypeInfo_22_22, ((MR_Box) (mercury__version_bitmap__V_17_17)));
        }
#line 299 "version_bitmap.m"
        mercury__version_bitmap__HeadVar__3_3 = ((MR_Box) mercury__version_bitmap__conv3_HeadVar__3_3);
#line 303 "version_bitmap.m"
      }
#line 299 "version_bitmap.m"
    return mercury__version_bitmap__HeadVar__3_3;
#line 299 "version_bitmap.m"
  }
#line 84 "version_bitmap.m"
}

#line 82 "version_bitmap.m"
MR_Box MR_CALL 
mercury__version_bitmap__difference_2_f_0(
#line 82 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMa_4,
#line 82 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMb_5)
#line 82 "version_bitmap.m"
{
#line 289 "version_bitmap.m"
  {
#line 289 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded;
#line 289 "version_bitmap.m"
    MR_Box mercury__version_bitmap__HeadVar__3_3;
#line 290 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeCtorInfo_5_27 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 290 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeCtorInfo_5_33;
#line 290 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_8_8;
#line 290 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_24_24;
#line 160 "version_array.opt"
    MR_Box mercury__version_bitmap__conv0_V_8_8;
#line 160 "version_array.opt"
    MR_Box mercury__version_bitmap__conv1_V_24_24;

#line 160 "version_array.opt"
    {
#line 160 "version_array.opt"
      mercury__version_bitmap__conv0_V_8_8 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_27, mercury__version_bitmap__BMa_4, (MR_Integer) 0);
    }
#line 160 "version_array.opt"
    mercury__version_bitmap__V_8_8 = ((MR_Integer) mercury__version_bitmap__conv0_V_8_8);
#line 1865 "version_bitmap.c"
    mercury__version_bitmap__TypeCtorInfo_5_33 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 160 "version_array.opt"
    {
#line 160 "version_array.opt"
      mercury__version_bitmap__conv1_V_24_24 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_33, mercury__version_bitmap__BMb_5, (MR_Integer) 0);
    }
#line 160 "version_array.opt"
    mercury__version_bitmap__V_24_24 = ((MR_Integer) mercury__version_bitmap__conv1_V_24_24);
#line 290 "version_bitmap.m"
    mercury__version_bitmap__succeeded = (mercury__version_bitmap__V_8_8 == mercury__version_bitmap__V_24_24);
#line 289 "version_bitmap.m"
    if (mercury__version_bitmap__succeeded)
#line 291 "version_bitmap.m"
      {
#line 291 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_5_39 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 291 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_9_9;
#line 291 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_10_10;
#line 291 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_11_11;
#line 291 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_45_45;
#line 160 "version_array.opt"
        MR_Box mercury__version_bitmap__conv2_V_11_11;

#line 160 "version_array.opt"
        {
#line 160 "version_array.opt"
          mercury__version_bitmap__conv2_V_11_11 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_39, mercury__version_bitmap__BMb_5, (MR_Integer) 0);
        }
#line 160 "version_array.opt"
        mercury__version_bitmap__V_11_11 = ((MR_Integer) mercury__version_bitmap__conv2_V_11_11);
#line 291 "version_bitmap.m"
        mercury__version_bitmap__V_10_10 = (mercury__version_bitmap__V_11_11 - (MR_Integer) 1);
#line 282 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__difference_2_f_0

	MR_Integer Int;
	MR_Integer Div;

	Int =  mercury__version_bitmap__V_10_10 ;
		{
#line 282 "int.opt"

    Div = Int / ML_BITS_PER_INT;

#line 1915 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_45_45  = Div;
#line 282 "int.opt"
}
#line 342 "version_bitmap.m"
        mercury__version_bitmap__V_9_9 = ((MR_Integer) 1 + mercury__version_bitmap__V_45_45);
#line 289 "version_bitmap.m"
        {
#line 289 "version_bitmap.m"
          return mercury__version_bitmap__HeadVar__3_3 = mercury__version_bitmap__zip__ho6_4_f_0(mercury__version_bitmap__V_9_9, mercury__version_bitmap__BMa_4, mercury__version_bitmap__BMb_5);
        }
#line 291 "version_bitmap.m"
      }
#line 289 "version_bitmap.m"
    else
#line 293 "version_bitmap.m"
      {
#line 293 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_22_22 = (MR_Word) &mercury__exception__exception__type_ctor_info_software_error_0;
#line 293 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeInfo_23_23 = (MR_Word) &mercury__version_bitmap_scalar_common_1[0];
#line 293 "version_bitmap.m"
        MR_Word mercury__version_bitmap__V_18_18 = (MR_Word) ((MR_Box) ((MR_String) "version_bitmap.difference: version_bitmaps not the same size"));
#line 289 "version_bitmap.m"
        MR_Box mercury__version_bitmap__conv3_HeadVar__3_3;

#line 289 "version_bitmap.m"
        {
#line 289 "version_bitmap.m"
          mercury__version_bitmap__conv3_HeadVar__3_3 = mercury__exception__throw_1_f_0(mercury__version_bitmap__TypeCtorInfo_22_22, mercury__version_bitmap__TypeInfo_23_23, ((MR_Box) (mercury__version_bitmap__V_18_18)));
        }
#line 289 "version_bitmap.m"
        mercury__version_bitmap__HeadVar__3_3 = ((MR_Box) mercury__version_bitmap__conv3_HeadVar__3_3);
#line 293 "version_bitmap.m"
      }
#line 289 "version_bitmap.m"
    return mercury__version_bitmap__HeadVar__3_3;
#line 289 "version_bitmap.m"
  }
#line 82 "version_bitmap.m"
}

#line 80 "version_bitmap.m"
MR_Box MR_CALL 
mercury__version_bitmap__intersect_2_f_0(
#line 80 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMa_4,
#line 80 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMb_5)
#line 80 "version_bitmap.m"
{
#line 279 "version_bitmap.m"
  {
#line 279 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded;
#line 279 "version_bitmap.m"
    MR_Box mercury__version_bitmap__HeadVar__3_3;
#line 280 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeCtorInfo_5_22 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 280 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeCtorInfo_5_28;
#line 280 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_6_6;
#line 280 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_19_19;
#line 160 "version_array.opt"
    MR_Box mercury__version_bitmap__conv0_V_6_6;
#line 160 "version_array.opt"
    MR_Box mercury__version_bitmap__conv1_V_19_19;

#line 160 "version_array.opt"
    {
#line 160 "version_array.opt"
      mercury__version_bitmap__conv0_V_6_6 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_22, mercury__version_bitmap__BMa_4, (MR_Integer) 0);
    }
#line 160 "version_array.opt"
    mercury__version_bitmap__V_6_6 = ((MR_Integer) mercury__version_bitmap__conv0_V_6_6);
#line 1995 "version_bitmap.c"
    mercury__version_bitmap__TypeCtorInfo_5_28 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 160 "version_array.opt"
    {
#line 160 "version_array.opt"
      mercury__version_bitmap__conv1_V_19_19 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_28, mercury__version_bitmap__BMb_5, (MR_Integer) 0);
    }
#line 160 "version_array.opt"
    mercury__version_bitmap__V_19_19 = ((MR_Integer) mercury__version_bitmap__conv1_V_19_19);
#line 280 "version_bitmap.m"
    mercury__version_bitmap__succeeded = (mercury__version_bitmap__V_6_6 == mercury__version_bitmap__V_19_19);
#line 279 "version_bitmap.m"
    if (mercury__version_bitmap__succeeded)
#line 281 "version_bitmap.m"
      {
#line 281 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_5_34 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 281 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_7_7;
#line 281 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_8_8;
#line 281 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_9_9;
#line 281 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_40_40;
#line 160 "version_array.opt"
        MR_Box mercury__version_bitmap__conv2_V_9_9;

#line 160 "version_array.opt"
        {
#line 160 "version_array.opt"
          mercury__version_bitmap__conv2_V_9_9 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_34, mercury__version_bitmap__BMb_5, (MR_Integer) 0);
        }
#line 160 "version_array.opt"
        mercury__version_bitmap__V_9_9 = ((MR_Integer) mercury__version_bitmap__conv2_V_9_9);
#line 281 "version_bitmap.m"
        mercury__version_bitmap__V_8_8 = (mercury__version_bitmap__V_9_9 - (MR_Integer) 1);
#line 282 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__intersect_2_f_0

	MR_Integer Int;
	MR_Integer Div;

	Int =  mercury__version_bitmap__V_8_8 ;
		{
#line 282 "int.opt"

    Div = Int / ML_BITS_PER_INT;

#line 2045 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_40_40  = Div;
#line 282 "int.opt"
}
#line 342 "version_bitmap.m"
        mercury__version_bitmap__V_7_7 = ((MR_Integer) 1 + mercury__version_bitmap__V_40_40);
#line 279 "version_bitmap.m"
        {
#line 279 "version_bitmap.m"
          return mercury__version_bitmap__HeadVar__3_3 = mercury__version_bitmap__zip__ho7_4_f_0(mercury__version_bitmap__V_7_7, mercury__version_bitmap__BMa_4, mercury__version_bitmap__BMb_5);
        }
#line 281 "version_bitmap.m"
      }
#line 279 "version_bitmap.m"
    else
#line 283 "version_bitmap.m"
      {
#line 283 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_17_17 = (MR_Word) &mercury__exception__exception__type_ctor_info_software_error_0;
#line 283 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeInfo_18_18 = (MR_Word) &mercury__version_bitmap_scalar_common_1[0];
#line 283 "version_bitmap.m"
        MR_Word mercury__version_bitmap__V_12_12 = (MR_Word) ((MR_Box) ((MR_String) "version_bitmap.intersect: version_bitmaps not the same size"));
#line 279 "version_bitmap.m"
        MR_Box mercury__version_bitmap__conv3_HeadVar__3_3;

#line 279 "version_bitmap.m"
        {
#line 279 "version_bitmap.m"
          mercury__version_bitmap__conv3_HeadVar__3_3 = mercury__exception__throw_1_f_0(mercury__version_bitmap__TypeCtorInfo_17_17, mercury__version_bitmap__TypeInfo_18_18, ((MR_Box) (mercury__version_bitmap__V_12_12)));
        }
#line 279 "version_bitmap.m"
        mercury__version_bitmap__HeadVar__3_3 = ((MR_Box) mercury__version_bitmap__conv3_HeadVar__3_3);
#line 283 "version_bitmap.m"
      }
#line 279 "version_bitmap.m"
    return mercury__version_bitmap__HeadVar__3_3;
#line 279 "version_bitmap.m"
  }
#line 80 "version_bitmap.m"
}

#line 78 "version_bitmap.m"
MR_Box MR_CALL 
mercury__version_bitmap__union_2_f_0(
#line 78 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMa_4,
#line 78 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BMb_5)
#line 78 "version_bitmap.m"
{
#line 269 "version_bitmap.m"
  {
#line 269 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded;
#line 269 "version_bitmap.m"
    MR_Box mercury__version_bitmap__HeadVar__3_3;
#line 270 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeCtorInfo_5_22 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 270 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeCtorInfo_5_28;
#line 270 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_6_6;
#line 270 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_19_19;
#line 160 "version_array.opt"
    MR_Box mercury__version_bitmap__conv0_V_6_6;
#line 160 "version_array.opt"
    MR_Box mercury__version_bitmap__conv1_V_19_19;

#line 160 "version_array.opt"
    {
#line 160 "version_array.opt"
      mercury__version_bitmap__conv0_V_6_6 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_22, mercury__version_bitmap__BMa_4, (MR_Integer) 0);
    }
#line 160 "version_array.opt"
    mercury__version_bitmap__V_6_6 = ((MR_Integer) mercury__version_bitmap__conv0_V_6_6);
#line 2125 "version_bitmap.c"
    mercury__version_bitmap__TypeCtorInfo_5_28 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 160 "version_array.opt"
    {
#line 160 "version_array.opt"
      mercury__version_bitmap__conv1_V_19_19 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_28, mercury__version_bitmap__BMb_5, (MR_Integer) 0);
    }
#line 160 "version_array.opt"
    mercury__version_bitmap__V_19_19 = ((MR_Integer) mercury__version_bitmap__conv1_V_19_19);
#line 270 "version_bitmap.m"
    mercury__version_bitmap__succeeded = (mercury__version_bitmap__V_6_6 == mercury__version_bitmap__V_19_19);
#line 269 "version_bitmap.m"
    if (mercury__version_bitmap__succeeded)
#line 271 "version_bitmap.m"
      {
#line 271 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_5_34 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 271 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_7_7;
#line 271 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_8_8;
#line 271 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_9_9;
#line 271 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_40_40;
#line 160 "version_array.opt"
        MR_Box mercury__version_bitmap__conv2_V_9_9;

#line 160 "version_array.opt"
        {
#line 160 "version_array.opt"
          mercury__version_bitmap__conv2_V_9_9 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_34, mercury__version_bitmap__BMb_5, (MR_Integer) 0);
        }
#line 160 "version_array.opt"
        mercury__version_bitmap__V_9_9 = ((MR_Integer) mercury__version_bitmap__conv2_V_9_9);
#line 271 "version_bitmap.m"
        mercury__version_bitmap__V_8_8 = (mercury__version_bitmap__V_9_9 - (MR_Integer) 1);
#line 282 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__union_2_f_0

	MR_Integer Int;
	MR_Integer Div;

	Int =  mercury__version_bitmap__V_8_8 ;
		{
#line 282 "int.opt"

    Div = Int / ML_BITS_PER_INT;

#line 2175 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_40_40  = Div;
#line 282 "int.opt"
}
#line 342 "version_bitmap.m"
        mercury__version_bitmap__V_7_7 = ((MR_Integer) 1 + mercury__version_bitmap__V_40_40);
#line 269 "version_bitmap.m"
        {
#line 269 "version_bitmap.m"
          return mercury__version_bitmap__HeadVar__3_3 = mercury__version_bitmap__zip__ho8_4_f_0(mercury__version_bitmap__V_7_7, mercury__version_bitmap__BMa_4, mercury__version_bitmap__BMb_5);
        }
#line 271 "version_bitmap.m"
      }
#line 269 "version_bitmap.m"
    else
#line 273 "version_bitmap.m"
      {
#line 273 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_17_17 = (MR_Word) &mercury__exception__exception__type_ctor_info_software_error_0;
#line 273 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeInfo_18_18 = (MR_Word) &mercury__version_bitmap_scalar_common_1[0];
#line 273 "version_bitmap.m"
        MR_Word mercury__version_bitmap__V_12_12 = (MR_Word) ((MR_Box) ((MR_String) "version_bitmap.union: version_bitmaps not the same size"));
#line 269 "version_bitmap.m"
        MR_Box mercury__version_bitmap__conv3_HeadVar__3_3;

#line 269 "version_bitmap.m"
        {
#line 269 "version_bitmap.m"
          mercury__version_bitmap__conv3_HeadVar__3_3 = mercury__exception__throw_1_f_0(mercury__version_bitmap__TypeCtorInfo_17_17, mercury__version_bitmap__TypeInfo_18_18, ((MR_Box) (mercury__version_bitmap__V_12_12)));
        }
#line 269 "version_bitmap.m"
        mercury__version_bitmap__HeadVar__3_3 = ((MR_Box) mercury__version_bitmap__conv3_HeadVar__3_3);
#line 273 "version_bitmap.m"
      }
#line 269 "version_bitmap.m"
    return mercury__version_bitmap__HeadVar__3_3;
#line 269 "version_bitmap.m"
  }
#line 78 "version_bitmap.m"
}

#line 76 "version_bitmap.m"
MR_Box MR_CALL 
mercury__version_bitmap__complement_1_f_0(
#line 76 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM_3)
#line 76 "version_bitmap.m"
{
#line 256 "version_bitmap.m"
  {
#line 256 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded;
#line 256 "version_bitmap.m"
    MR_Box mercury__version_bitmap__HeadVar__2_2;
#line 256 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeCtorInfo_9_9 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 256 "version_bitmap.m"
    MR_Box mercury__version_bitmap__V_4_4;
#line 256 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_5_5;
#line 256 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_6_6;
#line 160 "version_array.opt"
    MR_Box mercury__version_bitmap__conv0_V_6_6;

#line 160 "version_array.opt"
    {
#line 160 "version_array.opt"
      mercury__version_bitmap__conv0_V_6_6 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_9_9, mercury__version_bitmap__BM_3, (MR_Integer) 0);
    }
#line 160 "version_array.opt"
    mercury__version_bitmap__V_6_6 = ((MR_Integer) mercury__version_bitmap__conv0_V_6_6);
#line 257 "version_bitmap.m"
    mercury__version_bitmap__V_5_5 = (mercury__version_bitmap__V_6_6 - (MR_Integer) 1);
#line 257 "version_bitmap.m"
    {
#line 257 "version_bitmap.m"
      mercury__version_bitmap__V_4_4 = mercury__version_bitmap__complement_2_2_f_0(mercury__version_bitmap__V_5_5, mercury__version_bitmap__BM_3);
    }
#line 256 "version_bitmap.m"
    {
#line 256 "version_bitmap.m"
      return mercury__version_bitmap__HeadVar__2_2 = mercury__version_bitmap__clear_filler_bits_1_f_0(mercury__version_bitmap__V_4_4);
    }
#line 256 "version_bitmap.m"
    return mercury__version_bitmap__HeadVar__2_2;
#line 256 "version_bitmap.m"
  }
#line 76 "version_bitmap.m"
}

#line 72 "version_bitmap.m"
MR_Box MR_CALL 
mercury__version_bitmap__copy_1_f_0(
#line 72 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM_3)
#line 72 "version_bitmap.m"
{
#line 252 "version_bitmap.m"
  {
#line 252 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded;
#line 252 "version_bitmap.m"
    MR_Box mercury__version_bitmap__HeadVar__2_2;
#line 252 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeCtorInfo_4_4 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;

#line 252 "version_bitmap.m"
    {
#line 252 "version_bitmap.m"
      return mercury__version_bitmap__HeadVar__2_2 = mercury__version_array__copy_1_f_0(mercury__version_bitmap__TypeCtorInfo_4_4, mercury__version_bitmap__BM_3);
    }
#line 252 "version_bitmap.m"
    return mercury__version_bitmap__HeadVar__2_2;
#line 252 "version_bitmap.m"
  }
#line 72 "version_bitmap.m"
}

#line 68 "version_bitmap.m"
MR_Box MR_CALL 
mercury__version_bitmap__f_98_105_116_32_58_61_3_f_0(
#line 68 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__I_1,
#line 68 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM_2,
#line 68 "version_bitmap.m"
  MR_Word mercury__version_bitmap__HeadVar__3_3)
#line 68 "version_bitmap.m"
{
#line 202 "version_bitmap.m"
  {
#line 202 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded;
#line 202 "version_bitmap.m"
    MR_Box mercury__version_bitmap__HeadVar__4_4;

#line 202 "version_bitmap.m"
    if ((mercury__version_bitmap__HeadVar__3_3 == (MR_Integer) 0))
#line 203 "version_bitmap.m"
      {
#line 203 "version_bitmap.m"
        return mercury__version_bitmap__HeadVar__4_4 = mercury__version_bitmap__clear_2_f_0(mercury__version_bitmap__BM_2, mercury__version_bitmap__I_1);
      }
#line 202 "version_bitmap.m"
    else
#line 202 "version_bitmap.m"
      {
#line 202 "version_bitmap.m"
        return mercury__version_bitmap__HeadVar__4_4 = mercury__version_bitmap__set_2_f_0(mercury__version_bitmap__BM_2, mercury__version_bitmap__I_1);
      }
#line 202 "version_bitmap.m"
    return mercury__version_bitmap__HeadVar__4_4;
#line 202 "version_bitmap.m"
  }
#line 68 "version_bitmap.m"
}

#line 64 "version_bitmap.m"
MR_Word MR_CALL 
mercury__version_bitmap__bit_2_f_0(
#line 64 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__I_5,
#line 64 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM_4)
#line 64 "version_bitmap.m"
{
#line 200 "version_bitmap.m"
  {
#line 200 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded;
#line 200 "version_bitmap.m"
    MR_Word mercury__version_bitmap__HeadVar__3_3;

#line 200 "version_bitmap.m"
    {
#line 200 "version_bitmap.m"
      mercury__version_bitmap__succeeded = mercury__version_bitmap__is_set_2_p_0(mercury__version_bitmap__BM_4, mercury__version_bitmap__I_5);
    }
#line 200 "version_bitmap.m"
    if (mercury__version_bitmap__succeeded)
#line 200 "version_bitmap.m"
      mercury__version_bitmap__HeadVar__3_3 = (MR_Integer) 1;
#line 200 "version_bitmap.m"
    else
#line 200 "version_bitmap.m"
      mercury__version_bitmap__HeadVar__3_3 = (MR_Integer) 0;
#line 200 "version_bitmap.m"
    return mercury__version_bitmap__HeadVar__3_3;
#line 200 "version_bitmap.m"
  }
#line 64 "version_bitmap.m"
}

#line 60 "version_bitmap.m"
MR_bool MR_CALL 
mercury__version_bitmap__is_clear_2_p_0(
#line 60 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM_3,
#line 60 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__I_4)
#line 60 "version_bitmap.m"
{
#line 247 "version_bitmap.m"
  {
#line 247 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded = ((MR_Integer) 0 <= mercury__version_bitmap__I_4);
#line 196 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeCtorInfo_5_19;
#line 196 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_16_16;
#line 196 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_18_18;
#line 160 "version_array.opt"
    MR_Box mercury__version_bitmap__conv0_V_16_16;

#line 196 "version_bitmap.m"
    if (mercury__version_bitmap__succeeded)
#line 196 "version_bitmap.m"
      {
#line 190 "version_bitmap.m"
        mercury__version_bitmap__V_18_18 = (MR_Integer) 0;
#line 2401 "version_bitmap.c"
        mercury__version_bitmap__TypeCtorInfo_5_19 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 160 "version_array.opt"
        {
#line 160 "version_array.opt"
          mercury__version_bitmap__conv0_V_16_16 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_19, mercury__version_bitmap__BM_3, mercury__version_bitmap__V_18_18);
        }
#line 160 "version_array.opt"
        mercury__version_bitmap__V_16_16 = ((MR_Integer) mercury__version_bitmap__conv0_V_16_16);
#line 196 "version_bitmap.m"
        mercury__version_bitmap__succeeded = (mercury__version_bitmap__I_4 < mercury__version_bitmap__V_16_16);
#line 196 "version_bitmap.m"
      }
#line 247 "version_bitmap.m"
    if (mercury__version_bitmap__succeeded)
#line 246 "version_bitmap.m"
      {
#line 246 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_11_11;
#line 246 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_5_5;
#line 246 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_6_6;
#line 246 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_7_7;
#line 246 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_8_8;
#line 246 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_25_25;
#line 246 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_31_31;
#line 160 "version_array.opt"
        MR_Box mercury__version_bitmap__conv1_V_6_6;

#line 282 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__is_clear_2_p_0

	MR_Integer Int;
	MR_Integer Div;

	Int =  mercury__version_bitmap__I_4 ;
		{
#line 282 "int.opt"

    Div = Int / ML_BITS_PER_INT;

#line 2448 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_25_25  = Div;
#line 282 "int.opt"
}
#line 342 "version_bitmap.m"
        mercury__version_bitmap__V_7_7 = ((MR_Integer) 1 + mercury__version_bitmap__V_25_25);
#line 2457 "version_bitmap.c"
        mercury__version_bitmap__TypeCtorInfo_11_11 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 160 "version_array.opt"
        {
#line 160 "version_array.opt"
          mercury__version_bitmap__conv1_V_6_6 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_11_11, mercury__version_bitmap__BM_3, mercury__version_bitmap__V_7_7);
        }
#line 160 "version_array.opt"
        mercury__version_bitmap__V_6_6 = ((MR_Integer) mercury__version_bitmap__conv1_V_6_6);
#line 288 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__is_clear_2_p_0

	MR_Integer Int;
	MR_Integer Rem;

	Int =  mercury__version_bitmap__I_4 ;
		{
#line 288 "int.opt"

    Rem = Int % ML_BITS_PER_INT;

#line 2479 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_31_31  = Rem;
#line 288 "int.opt"
}
#line 357 "version_bitmap.m"
        mercury__version_bitmap__V_8_8 = ((MR_Integer) 1 << mercury__version_bitmap__V_31_31);
#line 246 "version_bitmap.m"
        mercury__version_bitmap__V_5_5 = (mercury__version_bitmap__V_6_6 & mercury__version_bitmap__V_8_8);
#line 246 "version_bitmap.m"
        mercury__version_bitmap__succeeded = (mercury__version_bitmap__V_5_5 == (MR_Integer) 0);
#line 246 "version_bitmap.m"
      }
#line 247 "version_bitmap.m"
    else
#line 247 "version_bitmap.m"
      {
#line 247 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_12_12 = (MR_Word) &mercury__exception__exception__type_ctor_info_software_error_0;
#line 247 "version_bitmap.m"
        MR_Word mercury__version_bitmap__V_9_9 = (MR_Word) ((MR_Box) ((MR_String) "version_bitmap.is_clear: out of range"));

#line 247 "version_bitmap.m"
        {
#line 247 "version_bitmap.m"
          mercury__exception__throw_1_p_0(mercury__version_bitmap__TypeCtorInfo_12_12, ((MR_Box) (mercury__version_bitmap__V_9_9)));
        }
#line 247 "version_bitmap.m"
        mercury__version_bitmap__succeeded = MR_TRUE;
#line 247 "version_bitmap.m"
      }
#line 247 "version_bitmap.m"
    return mercury__version_bitmap__succeeded;
#line 247 "version_bitmap.m"
  }
#line 60 "version_bitmap.m"
}

#line 59 "version_bitmap.m"
MR_bool MR_CALL 
mercury__version_bitmap__is_set_2_p_0(
#line 59 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM_3,
#line 59 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__I_4)
#line 59 "version_bitmap.m"
{
#line 241 "version_bitmap.m"
  {
#line 241 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded = ((MR_Integer) 0 <= mercury__version_bitmap__I_4);
#line 196 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeCtorInfo_5_19;
#line 196 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_16_16;
#line 196 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_18_18;
#line 160 "version_array.opt"
    MR_Box mercury__version_bitmap__conv0_V_16_16;

#line 196 "version_bitmap.m"
    if (mercury__version_bitmap__succeeded)
#line 196 "version_bitmap.m"
      {
#line 190 "version_bitmap.m"
        mercury__version_bitmap__V_18_18 = (MR_Integer) 0;
#line 2547 "version_bitmap.c"
        mercury__version_bitmap__TypeCtorInfo_5_19 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 160 "version_array.opt"
        {
#line 160 "version_array.opt"
          mercury__version_bitmap__conv0_V_16_16 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_19, mercury__version_bitmap__BM_3, mercury__version_bitmap__V_18_18);
        }
#line 160 "version_array.opt"
        mercury__version_bitmap__V_16_16 = ((MR_Integer) mercury__version_bitmap__conv0_V_16_16);
#line 196 "version_bitmap.m"
        mercury__version_bitmap__succeeded = (mercury__version_bitmap__I_4 < mercury__version_bitmap__V_16_16);
#line 196 "version_bitmap.m"
      }
#line 241 "version_bitmap.m"
    if (mercury__version_bitmap__succeeded)
#line 240 "version_bitmap.m"
      {
#line 240 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_11_11;
#line 240 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_5_5;
#line 240 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_6_6;
#line 240 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_7_7;
#line 240 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_8_8;
#line 240 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_25_25;
#line 240 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_31_31;
#line 160 "version_array.opt"
        MR_Box mercury__version_bitmap__conv1_V_6_6;

#line 282 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__is_set_2_p_0

	MR_Integer Int;
	MR_Integer Div;

	Int =  mercury__version_bitmap__I_4 ;
		{
#line 282 "int.opt"

    Div = Int / ML_BITS_PER_INT;

#line 2594 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_25_25  = Div;
#line 282 "int.opt"
}
#line 342 "version_bitmap.m"
        mercury__version_bitmap__V_7_7 = ((MR_Integer) 1 + mercury__version_bitmap__V_25_25);
#line 2603 "version_bitmap.c"
        mercury__version_bitmap__TypeCtorInfo_11_11 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 160 "version_array.opt"
        {
#line 160 "version_array.opt"
          mercury__version_bitmap__conv1_V_6_6 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_11_11, mercury__version_bitmap__BM_3, mercury__version_bitmap__V_7_7);
        }
#line 160 "version_array.opt"
        mercury__version_bitmap__V_6_6 = ((MR_Integer) mercury__version_bitmap__conv1_V_6_6);
#line 288 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__is_set_2_p_0

	MR_Integer Int;
	MR_Integer Rem;

	Int =  mercury__version_bitmap__I_4 ;
		{
#line 288 "int.opt"

    Rem = Int % ML_BITS_PER_INT;

#line 2625 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_31_31  = Rem;
#line 288 "int.opt"
}
#line 357 "version_bitmap.m"
        mercury__version_bitmap__V_8_8 = ((MR_Integer) 1 << mercury__version_bitmap__V_31_31);
#line 240 "version_bitmap.m"
        mercury__version_bitmap__V_5_5 = (mercury__version_bitmap__V_6_6 & mercury__version_bitmap__V_8_8);
#line 240 "version_bitmap.m"
        mercury__version_bitmap__succeeded = (mercury__version_bitmap__V_5_5 == (MR_Integer) 0);
#line 240 "version_bitmap.m"
        mercury__version_bitmap__succeeded = !(mercury__version_bitmap__succeeded);
#line 240 "version_bitmap.m"
      }
#line 241 "version_bitmap.m"
    else
#line 241 "version_bitmap.m"
      {
#line 241 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_12_12 = (MR_Word) &mercury__exception__exception__type_ctor_info_software_error_0;
#line 241 "version_bitmap.m"
        MR_Word mercury__version_bitmap__V_9_9 = (MR_Word) ((MR_Box) ((MR_String) "version_bitmap.is_set: out of range"));

#line 241 "version_bitmap.m"
        {
#line 241 "version_bitmap.m"
          mercury__exception__throw_1_p_0(mercury__version_bitmap__TypeCtorInfo_12_12, ((MR_Box) (mercury__version_bitmap__V_9_9)));
        }
#line 241 "version_bitmap.m"
        mercury__version_bitmap__succeeded = MR_TRUE;
#line 241 "version_bitmap.m"
      }
#line 241 "version_bitmap.m"
    return mercury__version_bitmap__succeeded;
#line 241 "version_bitmap.m"
  }
#line 59 "version_bitmap.m"
}

#line 54 "version_bitmap.m"
void MR_CALL 
mercury__version_bitmap__flip_3_p_0(
#line 54 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__I_4,
#line 54 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM_5,
#line 54 "version_bitmap.m"
  MR_Box * mercury__version_bitmap__HeadVar__3_3)
#line 54 "version_bitmap.m"
{
#line 234 "version_bitmap.m"
  {
#line 234 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded;

#line 234 "version_bitmap.m"
    {
#line 234 "version_bitmap.m"
      *mercury__version_bitmap__HeadVar__3_3 = mercury__version_bitmap__flip_2_f_0(mercury__version_bitmap__BM_5, mercury__version_bitmap__I_4);
    }
#line 234 "version_bitmap.m"
  }
#line 54 "version_bitmap.m"
}

#line 53 "version_bitmap.m"
MR_Box MR_CALL 
mercury__version_bitmap__flip_2_f_0(
#line 53 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM_4,
#line 53 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__I_5)
#line 53 "version_bitmap.m"
{
#line 221 "version_bitmap.m"
  {
#line 221 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded = ((MR_Integer) 0 <= mercury__version_bitmap__I_5);
#line 221 "version_bitmap.m"
    MR_Box mercury__version_bitmap__HeadVar__3_3;
#line 196 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeCtorInfo_5_22;
#line 196 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_19_19;
#line 196 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_21_21;
#line 160 "version_array.opt"
    MR_Box mercury__version_bitmap__conv0_V_19_19;

#line 196 "version_bitmap.m"
    if (mercury__version_bitmap__succeeded)
#line 196 "version_bitmap.m"
      {
#line 190 "version_bitmap.m"
        mercury__version_bitmap__V_21_21 = (MR_Integer) 0;
#line 2723 "version_bitmap.c"
        mercury__version_bitmap__TypeCtorInfo_5_22 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 160 "version_array.opt"
        {
#line 160 "version_array.opt"
          mercury__version_bitmap__conv0_V_19_19 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_22, mercury__version_bitmap__BM_4, mercury__version_bitmap__V_21_21);
        }
#line 160 "version_array.opt"
        mercury__version_bitmap__V_19_19 = ((MR_Integer) mercury__version_bitmap__conv0_V_19_19);
#line 196 "version_bitmap.m"
        mercury__version_bitmap__succeeded = (mercury__version_bitmap__I_5 < mercury__version_bitmap__V_19_19);
#line 196 "version_bitmap.m"
      }
#line 221 "version_bitmap.m"
    if (mercury__version_bitmap__succeeded)
#line 221 "version_bitmap.m"
      {
#line 221 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_13_13;
#line 221 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_6_6;
#line 221 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_7_7;
#line 221 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_8_8;
#line 221 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_9_9;
#line 221 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_10_10;
#line 221 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_28_28;
#line 221 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_34_34;
#line 221 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_37_37;
#line 160 "version_array.opt"
        MR_Box mercury__version_bitmap__conv1_V_8_8;

#line 282 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__flip_2_f_0

	MR_Integer Int;
	MR_Integer Div;

	Int =  mercury__version_bitmap__I_5 ;
		{
#line 282 "int.opt"

    Div = Int / ML_BITS_PER_INT;

#line 2774 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_28_28  = Div;
#line 282 "int.opt"
}
#line 342 "version_bitmap.m"
        mercury__version_bitmap__V_9_9 = ((MR_Integer) 1 + mercury__version_bitmap__V_28_28);
#line 2783 "version_bitmap.c"
        mercury__version_bitmap__TypeCtorInfo_13_13 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 160 "version_array.opt"
        {
#line 160 "version_array.opt"
          mercury__version_bitmap__conv1_V_8_8 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_13_13, mercury__version_bitmap__BM_4, mercury__version_bitmap__V_9_9);
        }
#line 160 "version_array.opt"
        mercury__version_bitmap__V_8_8 = ((MR_Integer) mercury__version_bitmap__conv1_V_8_8);
#line 288 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__flip_2_f_0

	MR_Integer Int;
	MR_Integer Rem;

	Int =  mercury__version_bitmap__I_5 ;
		{
#line 288 "int.opt"

    Rem = Int % ML_BITS_PER_INT;

#line 2805 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_34_34  = Rem;
#line 288 "int.opt"
}
#line 357 "version_bitmap.m"
        mercury__version_bitmap__V_10_10 = ((MR_Integer) 1 << mercury__version_bitmap__V_34_34);
#line 221 "version_bitmap.m"
        mercury__version_bitmap__V_6_6 = (mercury__version_bitmap__V_8_8 ^ mercury__version_bitmap__V_10_10);
#line 282 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__flip_2_f_0

	MR_Integer Int;
	MR_Integer Div;

	Int =  mercury__version_bitmap__I_5 ;
		{
#line 282 "int.opt"

    Div = Int / ML_BITS_PER_INT;

#line 2829 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_37_37  = Div;
#line 282 "int.opt"
}
#line 342 "version_bitmap.m"
        mercury__version_bitmap__V_7_7 = ((MR_Integer) 1 + mercury__version_bitmap__V_37_37);
#line 163 "version_array.opt"
        {
#line 163 "version_array.opt"
          mercury__version_array__set_4_p_0(mercury__version_bitmap__TypeCtorInfo_13_13, mercury__version_bitmap__V_7_7, ((MR_Box) (mercury__version_bitmap__V_6_6)), mercury__version_bitmap__BM_4, &mercury__version_bitmap__HeadVar__3_3);
        }
#line 221 "version_bitmap.m"
      }
#line 221 "version_bitmap.m"
    else
#line 225 "version_bitmap.m"
      {
#line 225 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_14_14 = (MR_Word) &mercury__exception__exception__type_ctor_info_software_error_0;
#line 225 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeInfo_15_15 = (MR_Word) &mercury__version_bitmap_scalar_common_1[0];
#line 225 "version_bitmap.m"
        MR_Word mercury__version_bitmap__V_11_11 = (MR_Word) ((MR_Box) ((MR_String) "version_bitmap.flip: out of range"));
#line 221 "version_bitmap.m"
        MR_Box mercury__version_bitmap__conv2_HeadVar__3_3;

#line 221 "version_bitmap.m"
        {
#line 221 "version_bitmap.m"
          mercury__version_bitmap__conv2_HeadVar__3_3 = mercury__exception__throw_1_f_0(mercury__version_bitmap__TypeCtorInfo_14_14, mercury__version_bitmap__TypeInfo_15_15, ((MR_Box) (mercury__version_bitmap__V_11_11)));
        }
#line 221 "version_bitmap.m"
        mercury__version_bitmap__HeadVar__3_3 = ((MR_Box) mercury__version_bitmap__conv2_HeadVar__3_3);
#line 225 "version_bitmap.m"
      }
#line 221 "version_bitmap.m"
    return mercury__version_bitmap__HeadVar__3_3;
#line 221 "version_bitmap.m"
  }
#line 53 "version_bitmap.m"
}

#line 51 "version_bitmap.m"
void MR_CALL 
mercury__version_bitmap__clear_3_p_0(
#line 51 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__I_4,
#line 51 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM_5,
#line 51 "version_bitmap.m"
  MR_Box * mercury__version_bitmap__HeadVar__3_3)
#line 51 "version_bitmap.m"
{
#line 232 "version_bitmap.m"
  {
#line 232 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded;

#line 232 "version_bitmap.m"
    {
#line 232 "version_bitmap.m"
      *mercury__version_bitmap__HeadVar__3_3 = mercury__version_bitmap__clear_2_f_0(mercury__version_bitmap__BM_5, mercury__version_bitmap__I_4);
    }
#line 232 "version_bitmap.m"
  }
#line 51 "version_bitmap.m"
}

#line 50 "version_bitmap.m"
MR_Box MR_CALL 
mercury__version_bitmap__clear_2_f_0(
#line 50 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM_4,
#line 50 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__I_5)
#line 50 "version_bitmap.m"
{
#line 214 "version_bitmap.m"
  {
#line 214 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded = ((MR_Integer) 0 <= mercury__version_bitmap__I_5);
#line 214 "version_bitmap.m"
    MR_Box mercury__version_bitmap__HeadVar__3_3;
#line 196 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeCtorInfo_5_23;
#line 196 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_20_20;
#line 196 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_22_22;
#line 160 "version_array.opt"
    MR_Box mercury__version_bitmap__conv0_V_20_20;

#line 196 "version_bitmap.m"
    if (mercury__version_bitmap__succeeded)
#line 196 "version_bitmap.m"
      {
#line 190 "version_bitmap.m"
        mercury__version_bitmap__V_22_22 = (MR_Integer) 0;
#line 2930 "version_bitmap.c"
        mercury__version_bitmap__TypeCtorInfo_5_23 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 160 "version_array.opt"
        {
#line 160 "version_array.opt"
          mercury__version_bitmap__conv0_V_20_20 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_23, mercury__version_bitmap__BM_4, mercury__version_bitmap__V_22_22);
        }
#line 160 "version_array.opt"
        mercury__version_bitmap__V_20_20 = ((MR_Integer) mercury__version_bitmap__conv0_V_20_20);
#line 196 "version_bitmap.m"
        mercury__version_bitmap__succeeded = (mercury__version_bitmap__I_5 < mercury__version_bitmap__V_20_20);
#line 196 "version_bitmap.m"
      }
#line 214 "version_bitmap.m"
    if (mercury__version_bitmap__succeeded)
#line 214 "version_bitmap.m"
      {
#line 214 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_14_14;
#line 214 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_6_6;
#line 214 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_7_7;
#line 214 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_8_8;
#line 214 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_9_9;
#line 214 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_10_10;
#line 214 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_11_11;
#line 214 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_29_29;
#line 214 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_35_35;
#line 214 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_38_38;
#line 160 "version_array.opt"
        MR_Box mercury__version_bitmap__conv1_V_8_8;

#line 282 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__clear_2_f_0

	MR_Integer Int;
	MR_Integer Div;

	Int =  mercury__version_bitmap__I_5 ;
		{
#line 282 "int.opt"

    Div = Int / ML_BITS_PER_INT;

#line 2983 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_29_29  = Div;
#line 282 "int.opt"
}
#line 342 "version_bitmap.m"
        mercury__version_bitmap__V_9_9 = ((MR_Integer) 1 + mercury__version_bitmap__V_29_29);
#line 2992 "version_bitmap.c"
        mercury__version_bitmap__TypeCtorInfo_14_14 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 160 "version_array.opt"
        {
#line 160 "version_array.opt"
          mercury__version_bitmap__conv1_V_8_8 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_14_14, mercury__version_bitmap__BM_4, mercury__version_bitmap__V_9_9);
        }
#line 160 "version_array.opt"
        mercury__version_bitmap__V_8_8 = ((MR_Integer) mercury__version_bitmap__conv1_V_8_8);
#line 288 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__clear_2_f_0

	MR_Integer Int;
	MR_Integer Rem;

	Int =  mercury__version_bitmap__I_5 ;
		{
#line 288 "int.opt"

    Rem = Int % ML_BITS_PER_INT;

#line 3014 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_35_35  = Rem;
#line 288 "int.opt"
}
#line 357 "version_bitmap.m"
        mercury__version_bitmap__V_11_11 = ((MR_Integer) 1 << mercury__version_bitmap__V_35_35);
#line 217 "version_bitmap.m"
        mercury__version_bitmap__V_10_10 = ~(mercury__version_bitmap__V_11_11);
#line 214 "version_bitmap.m"
        mercury__version_bitmap__V_6_6 = (mercury__version_bitmap__V_8_8 & mercury__version_bitmap__V_10_10);
#line 282 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__clear_2_f_0

	MR_Integer Int;
	MR_Integer Div;

	Int =  mercury__version_bitmap__I_5 ;
		{
#line 282 "int.opt"

    Div = Int / ML_BITS_PER_INT;

#line 3040 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_38_38  = Div;
#line 282 "int.opt"
}
#line 342 "version_bitmap.m"
        mercury__version_bitmap__V_7_7 = ((MR_Integer) 1 + mercury__version_bitmap__V_38_38);
#line 163 "version_array.opt"
        {
#line 163 "version_array.opt"
          mercury__version_array__set_4_p_0(mercury__version_bitmap__TypeCtorInfo_14_14, mercury__version_bitmap__V_7_7, ((MR_Box) (mercury__version_bitmap__V_6_6)), mercury__version_bitmap__BM_4, &mercury__version_bitmap__HeadVar__3_3);
        }
#line 214 "version_bitmap.m"
      }
#line 214 "version_bitmap.m"
    else
#line 218 "version_bitmap.m"
      {
#line 218 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_15_15 = (MR_Word) &mercury__exception__exception__type_ctor_info_software_error_0;
#line 218 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeInfo_16_16 = (MR_Word) &mercury__version_bitmap_scalar_common_1[0];
#line 218 "version_bitmap.m"
        MR_Word mercury__version_bitmap__V_12_12 = (MR_Word) ((MR_Box) ((MR_String) "version_bitmap.clear: out of range"));
#line 214 "version_bitmap.m"
        MR_Box mercury__version_bitmap__conv2_HeadVar__3_3;

#line 214 "version_bitmap.m"
        {
#line 214 "version_bitmap.m"
          mercury__version_bitmap__conv2_HeadVar__3_3 = mercury__exception__throw_1_f_0(mercury__version_bitmap__TypeCtorInfo_15_15, mercury__version_bitmap__TypeInfo_16_16, ((MR_Box) (mercury__version_bitmap__V_12_12)));
        }
#line 214 "version_bitmap.m"
        mercury__version_bitmap__HeadVar__3_3 = ((MR_Box) mercury__version_bitmap__conv2_HeadVar__3_3);
#line 218 "version_bitmap.m"
      }
#line 214 "version_bitmap.m"
    return mercury__version_bitmap__HeadVar__3_3;
#line 214 "version_bitmap.m"
  }
#line 50 "version_bitmap.m"
}

#line 48 "version_bitmap.m"
void MR_CALL 
mercury__version_bitmap__set_3_p_0(
#line 48 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__I_4,
#line 48 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM_5,
#line 48 "version_bitmap.m"
  MR_Box * mercury__version_bitmap__HeadVar__3_3)
#line 48 "version_bitmap.m"
{
#line 230 "version_bitmap.m"
  {
#line 230 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded;

#line 230 "version_bitmap.m"
    {
#line 230 "version_bitmap.m"
      *mercury__version_bitmap__HeadVar__3_3 = mercury__version_bitmap__set_2_f_0(mercury__version_bitmap__BM_5, mercury__version_bitmap__I_4);
    }
#line 230 "version_bitmap.m"
  }
#line 48 "version_bitmap.m"
}

#line 47 "version_bitmap.m"
MR_Box MR_CALL 
mercury__version_bitmap__set_2_f_0(
#line 47 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM_4,
#line 47 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__I_5)
#line 47 "version_bitmap.m"
{
#line 207 "version_bitmap.m"
  {
#line 207 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded = ((MR_Integer) 0 <= mercury__version_bitmap__I_5);
#line 207 "version_bitmap.m"
    MR_Box mercury__version_bitmap__HeadVar__3_3;
#line 196 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeCtorInfo_5_22;
#line 196 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_19_19;
#line 196 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__V_21_21;
#line 160 "version_array.opt"
    MR_Box mercury__version_bitmap__conv0_V_19_19;

#line 196 "version_bitmap.m"
    if (mercury__version_bitmap__succeeded)
#line 196 "version_bitmap.m"
      {
#line 190 "version_bitmap.m"
        mercury__version_bitmap__V_21_21 = (MR_Integer) 0;
#line 3141 "version_bitmap.c"
        mercury__version_bitmap__TypeCtorInfo_5_22 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 160 "version_array.opt"
        {
#line 160 "version_array.opt"
          mercury__version_bitmap__conv0_V_19_19 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_22, mercury__version_bitmap__BM_4, mercury__version_bitmap__V_21_21);
        }
#line 160 "version_array.opt"
        mercury__version_bitmap__V_19_19 = ((MR_Integer) mercury__version_bitmap__conv0_V_19_19);
#line 196 "version_bitmap.m"
        mercury__version_bitmap__succeeded = (mercury__version_bitmap__I_5 < mercury__version_bitmap__V_19_19);
#line 196 "version_bitmap.m"
      }
#line 207 "version_bitmap.m"
    if (mercury__version_bitmap__succeeded)
#line 207 "version_bitmap.m"
      {
#line 207 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_13_13;
#line 207 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_6_6;
#line 207 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_7_7;
#line 207 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_8_8;
#line 207 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_9_9;
#line 207 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_10_10;
#line 207 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_28_28;
#line 207 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_34_34;
#line 207 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_37_37;
#line 160 "version_array.opt"
        MR_Box mercury__version_bitmap__conv1_V_8_8;

#line 282 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__set_2_f_0

	MR_Integer Int;
	MR_Integer Div;

	Int =  mercury__version_bitmap__I_5 ;
		{
#line 282 "int.opt"

    Div = Int / ML_BITS_PER_INT;

#line 3192 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_28_28  = Div;
#line 282 "int.opt"
}
#line 342 "version_bitmap.m"
        mercury__version_bitmap__V_9_9 = ((MR_Integer) 1 + mercury__version_bitmap__V_28_28);
#line 3201 "version_bitmap.c"
        mercury__version_bitmap__TypeCtorInfo_13_13 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 160 "version_array.opt"
        {
#line 160 "version_array.opt"
          mercury__version_bitmap__conv1_V_8_8 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_13_13, mercury__version_bitmap__BM_4, mercury__version_bitmap__V_9_9);
        }
#line 160 "version_array.opt"
        mercury__version_bitmap__V_8_8 = ((MR_Integer) mercury__version_bitmap__conv1_V_8_8);
#line 288 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__set_2_f_0

	MR_Integer Int;
	MR_Integer Rem;

	Int =  mercury__version_bitmap__I_5 ;
		{
#line 288 "int.opt"

    Rem = Int % ML_BITS_PER_INT;

#line 3223 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_34_34  = Rem;
#line 288 "int.opt"
}
#line 357 "version_bitmap.m"
        mercury__version_bitmap__V_10_10 = ((MR_Integer) 1 << mercury__version_bitmap__V_34_34);
#line 207 "version_bitmap.m"
        mercury__version_bitmap__V_6_6 = (mercury__version_bitmap__V_8_8 | mercury__version_bitmap__V_10_10);
#line 282 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__set_2_f_0

	MR_Integer Int;
	MR_Integer Div;

	Int =  mercury__version_bitmap__I_5 ;
		{
#line 282 "int.opt"

    Div = Int / ML_BITS_PER_INT;

#line 3247 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_37_37  = Div;
#line 282 "int.opt"
}
#line 342 "version_bitmap.m"
        mercury__version_bitmap__V_7_7 = ((MR_Integer) 1 + mercury__version_bitmap__V_37_37);
#line 163 "version_array.opt"
        {
#line 163 "version_array.opt"
          mercury__version_array__set_4_p_0(mercury__version_bitmap__TypeCtorInfo_13_13, mercury__version_bitmap__V_7_7, ((MR_Box) (mercury__version_bitmap__V_6_6)), mercury__version_bitmap__BM_4, &mercury__version_bitmap__HeadVar__3_3);
        }
#line 207 "version_bitmap.m"
      }
#line 207 "version_bitmap.m"
    else
#line 211 "version_bitmap.m"
      {
#line 211 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_14_14 = (MR_Word) &mercury__exception__exception__type_ctor_info_software_error_0;
#line 211 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeInfo_15_15 = (MR_Word) &mercury__version_bitmap_scalar_common_1[0];
#line 211 "version_bitmap.m"
        MR_Word mercury__version_bitmap__V_11_11 = (MR_Word) ((MR_Box) ((MR_String) "version_bitmap.set: out of range"));
#line 207 "version_bitmap.m"
        MR_Box mercury__version_bitmap__conv2_HeadVar__3_3;

#line 207 "version_bitmap.m"
        {
#line 207 "version_bitmap.m"
          mercury__version_bitmap__conv2_HeadVar__3_3 = mercury__exception__throw_1_f_0(mercury__version_bitmap__TypeCtorInfo_14_14, mercury__version_bitmap__TypeInfo_15_15, ((MR_Box) (mercury__version_bitmap__V_11_11)));
        }
#line 207 "version_bitmap.m"
        mercury__version_bitmap__HeadVar__3_3 = ((MR_Box) mercury__version_bitmap__conv2_HeadVar__3_3);
#line 211 "version_bitmap.m"
      }
#line 207 "version_bitmap.m"
    return mercury__version_bitmap__HeadVar__3_3;
#line 207 "version_bitmap.m"
  }
#line 47 "version_bitmap.m"
}

#line 41 "version_bitmap.m"
MR_Integer MR_CALL 
mercury__version_bitmap__num_bits_1_f_0(
#line 41 "version_bitmap.m"
  MR_Box mercury__version_bitmap__BM_3)
#line 41 "version_bitmap.m"
{
#line 190 "version_bitmap.m"
  {
#line 190 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded;
#line 190 "version_bitmap.m"
    MR_Integer mercury__version_bitmap__HeadVar__2_2;
#line 190 "version_bitmap.m"
    MR_Word mercury__version_bitmap__TypeCtorInfo_5_5 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 160 "version_array.opt"
    MR_Box mercury__version_bitmap__conv0_HeadVar__2_2;

#line 160 "version_array.opt"
    {
#line 160 "version_array.opt"
      mercury__version_bitmap__conv0_HeadVar__2_2 = mercury__version_array__lookup_2_f_0(mercury__version_bitmap__TypeCtorInfo_5_5, mercury__version_bitmap__BM_3, (MR_Integer) 0);
    }
#line 160 "version_array.opt"
    mercury__version_bitmap__HeadVar__2_2 = ((MR_Integer) mercury__version_bitmap__conv0_HeadVar__2_2);
#line 190 "version_bitmap.m"
    return mercury__version_bitmap__HeadVar__2_2;
#line 190 "version_bitmap.m"
  }
#line 41 "version_bitmap.m"
}

#line 37 "version_bitmap.m"
MR_Box MR_CALL 
mercury__version_bitmap__init_2_f_0(
#line 37 "version_bitmap.m"
  MR_Integer mercury__version_bitmap__N_4,
#line 37 "version_bitmap.m"
  MR_Word mercury__version_bitmap__B_5)
#line 37 "version_bitmap.m"
{
#line 136 "version_bitmap.m"
  {
#line 136 "version_bitmap.m"
    MR_bool mercury__version_bitmap__succeeded = (mercury__version_bitmap__N_4 < (MR_Integer) 0);
#line 136 "version_bitmap.m"
    MR_Box mercury__version_bitmap__BM_6;

#line 136 "version_bitmap.m"
    if (mercury__version_bitmap__succeeded)
#line 135 "version_bitmap.m"
      {
#line 135 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_15_15 = (MR_Word) &mercury__exception__exception__type_ctor_info_software_error_0;
#line 135 "version_bitmap.m"
        MR_Word mercury__version_bitmap__V_10_10 = (MR_Word) ((MR_Box) ((MR_String) "version_bitmap.init: negative size"));

#line 135 "version_bitmap.m"
        {
#line 135 "version_bitmap.m"
          mercury__exception__throw_1_p_0(mercury__version_bitmap__TypeCtorInfo_15_15, ((MR_Box) (mercury__version_bitmap__V_10_10)));
        }
#line 135 "version_bitmap.m"
      }
#line 136 "version_bitmap.m"
    else
#line 137 "version_bitmap.m"
      {
#line 137 "version_bitmap.m"
        MR_Word mercury__version_bitmap__TypeCtorInfo_16_16;
#line 137 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__X_7;
#line 137 "version_bitmap.m"
        MR_Box mercury__version_bitmap__BM0_8;
#line 137 "version_bitmap.m"
        MR_Box mercury__version_bitmap__V_12_12;
#line 137 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_14_14;
#line 137 "version_bitmap.m"
        MR_Integer mercury__version_bitmap__V_20_20;

#line 185 "version_bitmap.m"
        if ((mercury__version_bitmap__B_5 == (MR_Integer) 0))
#line 185 "version_bitmap.m"
          mercury__version_bitmap__X_7 = (MR_Integer) 0;
#line 185 "version_bitmap.m"
        else
#line 186 "version_bitmap.m"
          mercury__version_bitmap__X_7 = (MR_Integer) -1;
#line 3381 "version_bitmap.c"
        mercury__version_bitmap__TypeCtorInfo_16_16 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 330 "version_bitmap.m"
        mercury__version_bitmap__succeeded = (mercury__version_bitmap__N_4 > (MR_Integer) 0);
#line 330 "version_bitmap.m"
        if (mercury__version_bitmap__succeeded)
#line 342 "version_bitmap.m"
          {
#line 342 "version_bitmap.m"
            MR_Integer mercury__version_bitmap__V_24_24;

#line 282 "int.opt"
{
#define MR_PROC_LABEL mercury__version_bitmap__init_2_f_0

	MR_Integer Int;
	MR_Integer Div;

	Int =  mercury__version_bitmap__N_4 ;
		{
#line 282 "int.opt"

    Div = Int / ML_BITS_PER_INT;

#line 3405 "version_bitmap.c"

		;}
#undef MR_PROC_LABEL
	 mercury__version_bitmap__V_24_24  = Div;
#line 282 "int.opt"
}
#line 342 "version_bitmap.m"
            mercury__version_bitmap__V_20_20 = ((MR_Integer) 1 + mercury__version_bitmap__V_24_24);
#line 342 "version_bitmap.m"
          }
#line 330 "version_bitmap.m"
        else
#line 330 "version_bitmap.m"
          mercury__version_bitmap__V_20_20 = (MR_Integer) 0;
#line 330 "version_bitmap.m"
        mercury__version_bitmap__V_14_14 = ((MR_Integer) 1 + mercury__version_bitmap__V_20_20);
#line 138 "version_bitmap.m"
        {
#line 138 "version_bitmap.m"
          mercury__version_bitmap__V_12_12 = mercury__version_array__init_2_f_0(mercury__version_bitmap__TypeCtorInfo_16_16, mercury__version_bitmap__V_14_14, ((MR_Box) (mercury__version_bitmap__X_7)));
        }
#line 163 "version_array.opt"
        {
#line 163 "version_array.opt"
          mercury__version_array__set_4_p_0(mercury__version_bitmap__TypeCtorInfo_16_16, (MR_Integer) 0, ((MR_Box) (mercury__version_bitmap__N_4)), mercury__version_bitmap__V_12_12, &mercury__version_bitmap__BM0_8);
        }
#line 139 "version_bitmap.m"
        {
#line 139 "version_bitmap.m"
          return mercury__version_bitmap__BM_6 = mercury__version_bitmap__clear_filler_bits_1_f_0(mercury__version_bitmap__BM0_8);
        }
#line 137 "version_bitmap.m"
      }
#line 136 "version_bitmap.m"
    return mercury__version_bitmap__BM_6;
#line 136 "version_bitmap.m"
  }
#line 37 "version_bitmap.m"
}

void mercury__version_bitmap__init(void)
{
}

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

	MR_register_type_ctor_info(&mercury__version_bitmap__version_bitmap__type_ctor_info_version_bitmap_0);
}

void mercury__version_bitmap__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 version_bitmap. */
