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


// :- module ll_backend.llds_out.llds_out_data.
// :- implementation.

/*
INIT mercury__ll_backend__llds_out__llds_out_data__init
ENDINIT
*/

#include "ll_backend.llds_out.llds_out_data.mih"


#include "array.mih"
#include "assoc_list.mih"
#include "backend_libs.mih"
#include "bimap.mih"
#include "bitmap.mih"
#include "bool.mih"
#include "builtin.mih"
#include "char.mih"
#include "check_hlds.mih"
#include "construct.mih"
#include "cord.mih"
#include "counter.mih"
#include "deconstruct.mih"
#include "enum.mih"
#include "getopt.mih"
#include "hlds.mih"
#include "int.mih"
#include "io.mih"
#include "libs.mih"
#include "list.mih"
#include "ll_backend.mih"
#include "map.mih"
#include "maybe.mih"
#include "mdbcomp.mih"
#include "one_or_more.mih"
#include "one_or_more_map.mih"
#include "ops.mih"
#include "pair.mih"
#include "parse_tree.mih"
#include "pretty_printer.mih"
#include "private_builtin.mih"
#include "require.mih"
#include "set.mih"
#include "set_ordlist.mih"
#include "set_tree234.mih"
#include "stream.mih"
#include "string.mih"
#include "term.mih"
#include "time.mih"
#include "tree234.mih"
#include "type_desc.mih"
#include "uint.mih"
#include "uint16.mih"
#include "uint8.mih"
#include "unit.mih"
#include "univ.mih"
#include "varset.mih"
#include "backend_libs.builtin_ops.mih"
#include "backend_libs.c_util.mih"
#include "backend_libs.name_mangle.mih"
#include "backend_libs.rtti.mih"
#include "check_hlds.type_util.mih"
#include "hlds.code_model.mih"
#include "hlds.goal_mode.mih"
#include "hlds.hlds_data.mih"
#include "hlds.hlds_goal.mih"
#include "hlds.hlds_llds.mih"
#include "hlds.hlds_module.mih"
#include "hlds.hlds_pred.mih"
#include "hlds.hlds_rtti.mih"
#include "hlds.instmap.mih"
#include "libs.globals.mih"
#include "libs.optimization_options.mih"
#include "libs.options.mih"
#include "libs.trace_params.mih"
#include "ll_backend.layout.mih"
#include "ll_backend.layout_out.mih"
#include "ll_backend.llds.mih"
#include "ll_backend.llds_out.mih"
#include "ll_backend.rtti_out.mih"
#include "mdbcomp.builtin_modules.mih"
#include "mdbcomp.goal_path.mih"
#include "mdbcomp.prim_data.mih"
#include "mdbcomp.program_representation.mih"
#include "mdbcomp.sym_name.mih"
#include "parse_tree.file_names.mih"
#include "parse_tree.prog_data.mih"
#include "parse_tree.prog_data_foreign.mih"
#include "parse_tree.prog_data_pragma.mih"
#include "parse_tree.prog_foreign.mih"
#include "parse_tree.prog_item.mih"
#include "parse_tree.prog_rename.mih"
#include "parse_tree.set_of_var.mih"
#include "string.format.mih"
#include "string.parse_util.mih"
#include "ll_backend.llds_out.llds_out_code_addr.mih"
#include "ll_backend.llds_out.llds_out_util.mih"




static MR_Integer MR_CALL 
ll_backend__llds_out__llds_out_data__IntroducedFrom__func__output_rval_const__1511__1_2_f_0(
  MR_String LambdaHeadVar__1_62,
  MR_Integer LambdaHeadVar__2_63);

static MR_bool MR_CALL 
ll_backend__llds_out__llds_out_data__is_local_stag_test_5_p_0(
  MR_Word Test_6,
  MR_Word * Rval_7,
  MR_Word * Ptag_8,
  MR_Unsigned * Stag_9,
  MR_Word * Negated_10);

static MR_bool MR_CALL 
ll_backend__llds_out__llds_out_data__is_remote_stag_test_4_p_0(
  MR_Word Test_5,
  MR_Word Rval_6,
  MR_Word Ptag_7,
  MR_Unsigned * Stag_8);

static MR_bool MR_CALL 
ll_backend__llds_out__llds_out_data__is_ptag_test_4_p_0(
  MR_Word Test_5,
  MR_Word * Rval_6,
  MR_Word * Ptag_7,
  MR_Word * Negated_8);

static MR_bool MR_CALL 
ll_backend__llds_out__llds_out_data__is_int_cmp_5_p_0(
  MR_Word Test_6,
  MR_Word * Left_7,
  MR_Integer * RightConst_8,
  MR_String * OpStr_9,
  MR_String * NegOpStr_10);

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_record_rvals_decls_format_11_p_0(
  MR_Word Info_1,
  MR_Word Stream_2,
  MR_Word HeadVar__3_3,
  MR_String FirstIndent_4,
  MR_String LaterIndent_5,
  MR_Integer STATE_VARIABLE_N_0_6,
  MR_Integer * STATE_VARIABLE_N_7,
  MR_Word STATE_VARIABLE_DeclSet_0_8,
  MR_Word * STATE_VARIABLE_DeclSet_9);

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_record_rvals_decls_format_count_13_p_0(
  MR_Word Info_1,
  MR_Word Stream_2,
  MR_Word HeadVar__3_3,
  MR_Word * HeadVar__4_4,
  MR_Integer Count_5,
  MR_String FirstIndent_6,
  MR_String LaterIndent_7,
  MR_Integer STATE_VARIABLE_N_0_8,
  MR_Integer * STATE_VARIABLE_N_9,
  MR_Word STATE_VARIABLE_DeclSet_0_10,
  MR_Word * STATE_VARIABLE_DeclSet_11);

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_record_lval_decls_format_11_p_0(
  MR_Word tscc_proc_1_input_1_Info_12,
  MR_Word tscc_proc_1_input_2_Stream_13,
  MR_Word tscc_proc_1_input_3_Lval_14,
  MR_String tscc_proc_1_input_4_FirstIndent_15,
  MR_String tscc_proc_1_input_5_LaterIndent_16,
  MR_Integer tscc_proc_1_input_6_STATE_VARIABLE_N_0_34,
  MR_Integer * tscc_output_ptr_1_STATE_VARIABLE_N_35,
  MR_Word tscc_proc_1_input_7_STATE_VARIABLE_DeclSet_0_36,
  MR_Word * tscc_output_ptr_2_STATE_VARIABLE_DeclSet_37);

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_record_rval_decls_format_11_p_0(
  MR_Word tscc_proc_2_input_1_Info_12,
  MR_Word tscc_proc_2_input_2_Stream_13,
  MR_Word tscc_proc_2_input_3_Rval_14,
  MR_String tscc_proc_2_input_4_FirstIndent_15,
  MR_String tscc_proc_2_input_5_LaterIndent_16,
  MR_Integer tscc_proc_2_input_6_STATE_VARIABLE_N_0_85,
  MR_Integer * tscc_output_ptr_1_STATE_VARIABLE_N_35,
  MR_Word tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87,
  MR_Word * tscc_output_ptr_2_STATE_VARIABLE_DeclSet_37);

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_record_mem_ref_decls_format_11_p_0(
  MR_Word tscc_proc_3_input_1_Info_12,
  MR_Word tscc_proc_3_input_2_Stream_13,
  MR_Word tscc_proc_3_input_3_MemRef_14,
  MR_String tscc_proc_3_input_4_FirstIndent_15,
  MR_String tscc_proc_3_input_5_LaterIndent_16,
  MR_Integer tscc_proc_3_input_6_STATE_VARIABLE_N_0_24,
  MR_Integer * tscc_output_ptr_1_STATE_VARIABLE_N_35,
  MR_Word tscc_proc_3_input_7_STATE_VARIABLE_DeclSet_0_26,
  MR_Word * tscc_output_ptr_2_STATE_VARIABLE_DeclSet_37);

static void MR_CALL 
ll_backend__llds_out__llds_out_data__uint64_literal_name_2_p_0(
  uint64_t UInt64_3,
  MR_String * UInt64Name_4);

static void MR_CALL 
ll_backend__llds_out__llds_out_data__int64_literal_name_2_p_0(
  int64_t Int64_3,
  MR_String * Int64Name_4);

static void MR_CALL 
ll_backend__llds_out__llds_out_data__float_literal_name_2_p_0(
  MR_Float Float_3,
  MR_String * FloatName_4);

static MR_bool MR_CALL 
ll_backend__llds_out__llds_out_data__float_const_binop_expr_name_4_p_0(
  MR_Word Op_5,
  MR_Word Arg1_6,
  MR_Word Arg2_7,
  MR_String * Name_8);

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_uint64_rval_as_word_5_p_0(
  MR_Word Info_6,
  MR_Word Stream_7,
  MR_Word Rval_8);

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_uint64_rval_as_data_ptr_5_p_0(
  MR_Word Info_6,
  MR_Word Stream_7,
  MR_Word Rval_8);

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_int64_rval_6_p_0(
  MR_Word Info_7,
  MR_Word Stream_8,
  MR_Word Rval_9,
  MR_Word IsPtr_10);

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_int64_rval_as_data_ptr_5_p_0(
  MR_Word Info_6,
  MR_Word Stream_7,
  MR_Word Rval_8);

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_float_rval_6_p_0(
  MR_Word Info_7,
  MR_Word Stream_8,
  MR_Word Rval_9,
  MR_Word IsPtr_10);

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_double_stackvar_ptr_6_p_0(
  MR_Word Info_7,
  MR_Word Stream_8,
  MR_Word StackType_9,
  MR_Integer SlotNum_10);

static MR_bool MR_CALL 
ll_backend__llds_out__llds_out_data__float_op_name_2_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2);

static MR_bool MR_CALL 
ll_backend__llds_out__llds_out_data__is_aligned_dword_ptr_3_p_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word * MemRef_6);

static MR_Box MR_CALL 
ll_backend__llds_out__llds_out_data__output_rval_const_5_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2);

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_rval_const_5_p_0(
  MR_Word Info_6,
  MR_Word Const_7,
  MR_Word Stream_8);

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_type_ctor_addr_6_p_0(
  MR_Word Stream_7,
  MR_Word Module0_8,
  MR_String Name_9,
  uint16_t Arity_10);

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_reg_5_p_0(
  MR_Word Stream_6,
  MR_Word RegType_7,
  MR_Integer N_8);


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

static /* final */ const MR_Box ll_backend__llds_out__llds_out_data_scalar_common_3[1][6];

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


/* sealed */ struct ll_backend__llds_out__llds_out_data__vector_common_type_2_0_s {
  const MR_String ll_backend__llds_out__llds_out_data__vector_common_type_2_0__vct_2_f_0;
  const MR_String ll_backend__llds_out__llds_out_data__vector_common_type_2_0__vct_2_f_1;
};

static /* final */ const struct ll_backend__llds_out__llds_out_data__vector_common_type_2_0_s ll_backend__llds_out__llds_out_data_vector_common_2[64];

/* sealed */ struct ll_backend__llds_out__llds_out_data__vector_common_type_5_0_s {
  const MR_Word ll_backend__llds_out__llds_out_data__vector_common_type_5_0__vct_5_f_0;
};

static /* final */ const struct ll_backend__llds_out__llds_out_data__vector_common_type_5_0_s ll_backend__llds_out__llds_out_data_vector_common_5[10];



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

static /* final */ const MR_Box ll_backend__llds_out__llds_out_data_scalar_common_3[1][6] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 3)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0))
  },
};

static /* final */ const MR_Box ll_backend__llds_out__llds_out_data_scalar_common_4[1][3] = {
  /* row 0 */
  {
    ((MR_Box) (&ll_backend__llds_out__llds_out_data_scalar_common_3[0])),
    ((MR_Box) (ll_backend__llds_out__llds_out_data__output_rval_const_5_p_0_1)),
    ((MR_Box) ((MR_Integer) 0))
  },
};


static /* final */ const struct ll_backend__llds_out__llds_out_data__vector_common_type_2_0_s ll_backend__llds_out__llds_out_data_vector_common_2[64] = {
  /* row 0 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 1 */
  {
    (MR_String) "string",
    (MR_String) "MR_STRING_CTOR_ADDR"
  },
  /* row 2 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 3 */
  {
    (MR_String) "uint32",
    (MR_String) "MR_UINT32_CTOR_ADDR"
  },
  /* row 4 */
  {
    (MR_String) "character",
    (MR_String) "MR_CHAR_CTOR_ADDR"
  },
  /* row 5 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 6 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 7 */
  {
    (MR_String) "int16",
    (MR_String) "MR_INT16_CTOR_ADDR"
  },
  /* row 8 */
  {
    (MR_String) "int",
    (MR_String) "MR_INT_CTOR_ADDR"
  },
  /* row 9 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 10 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 11 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 12 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 13 */
  {
    (MR_String) "uint8",
    (MR_String) "MR_UINT8_CTOR_ADDR"
  },
  /* row 14 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 15 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 16 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 17 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 18 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 19 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 20 */
  {
    (MR_String) "uint",
    (MR_String) "MR_UINT_CTOR_ADDR"
  },
  /* row 21 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 22 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 23 */
  {
    (MR_String) "int8",
    (MR_String) "MR_INT8_CTOR_ADDR"
  },
  /* row 24 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 25 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 26 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 27 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 28 */
  {
    (MR_String) "uint64",
    (MR_String) "MR_UINT64_CTOR_ADDR"
  },
  /* row 29 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 30 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 31 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 32 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 33 */
  {
    (MR_String) "uint16",
    (MR_String) "MR_UINT16_CTOR_ADDR"
  },
  /* row 34 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 35 */
  {
    (MR_String) "float",
    (MR_String) "MR_FLOAT_CTOR_ADDR"
  },
  /* row 36 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 37 */
  {
    (MR_String) "int32",
    (MR_String) "MR_INT32_CTOR_ADDR"
  },
  /* row 38 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 39 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 40 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 41 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 42 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 43 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 44 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 45 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 46 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 47 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 48 */
  {
    (MR_String) "int64",
    (MR_String) "MR_INT64_CTOR_ADDR"
  },
  /* row 49 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 50 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 51 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 52 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 53 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 54 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 55 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 56 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 57 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 58 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 59 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 60 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 61 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 62 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
  /* row 63 */
  {
    NULL,
    (MR_String) ((MR_Integer) 0)
  },
};

static /* final */ const struct ll_backend__llds_out__llds_out_data__vector_common_type_5_0_s ll_backend__llds_out__llds_out_data_vector_common_5[10] = {
  /* row 0 */   {     (MR_Integer) 1 },
  /* row 1 */   {     (MR_Integer) 1 },
  /* row 2 */   {     (MR_Integer) 1 },
  /* row 3 */   {     (MR_Integer) 1 },
  /* row 4 */   {     (MR_Integer) 1 },
  /* row 5 */   {     (MR_Integer) 1 },
  /* row 6 */   {     (MR_Integer) 1 },
  /* row 7 */   {     (MR_Integer) 1 },
  /* row 8 */   {     (MR_Integer) 0 },
  /* row 9 */   {     (MR_Integer) 0 },
};


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



static MR_Integer MR_CALL 
ll_backend__llds_out__llds_out_data__IntroducedFrom__func__output_rval_const__1511__1_2_f_0(
  MR_String LambdaHeadVar__1_62,
  MR_Integer LambdaHeadVar__2_63)
{
  {
    MR_Integer LambdaHeadVar__3_64;
    MR_Integer Var_65;
    MR_Integer Var_66;

    Var_66 = mercury__string__count_utf8_code_units_1_f_0(LambdaHeadVar__1_62);
    Var_65 = (MR_Integer) ((MR_Unsigned) LambdaHeadVar__2_63 + (MR_Unsigned) Var_66);
    LambdaHeadVar__3_64 = (MR_Integer) ((MR_Unsigned) Var_65 + (MR_Unsigned) 1);
    return LambdaHeadVar__3_64;
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_record_data_id_decls_7_p_0(
  MR_Word Info_8,
  MR_Word Stream_9,
  MR_Word DataId_10,
  MR_Word STATE_VARIABLE_DeclSet_0_14,
  MR_Word * STATE_VARIABLE_DeclSet_15)
{
  {
    MR_Integer Var_13;

    ll_backend__llds_out__llds_out_data__output_record_data_id_decls_format_11_p_0(Info_8, Stream_9, DataId_10, (MR_String) "", (MR_String) "", (MR_Integer) 0, &Var_13, STATE_VARIABLE_DeclSet_0_14, STATE_VARIABLE_DeclSet_15);
  }
}

MR_Word MR_CALL 
ll_backend__llds_out__llds_out_data__direct_field_int_constant_1_f_0(
  MR_Word LLDSType_3)
{
  {
    MR_Word DirectFieldIntConstant_4;

    switch (MR_tag((MR_Word) LLDSType_3)) {
      default: /*NOTREACHED*/ MR_assert(0);
      case (MR_Integer) 0:
        DirectFieldIntConstant_4 = (MR_Integer) 0;
        break;
      case (MR_Integer) 1:
        DirectFieldIntConstant_4 = (MR_Integer) 1;
        break;
      case (MR_Integer) 2:
        {
          MR_Word IntType_6 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), LLDSType_3, (MR_Integer) 0))) & (MR_Integer) 15);

          DirectFieldIntConstant_4 = ((&ll_backend__llds_out__llds_out_data_vector_common_5[0 + IntType_6]))->ll_backend__llds_out__llds_out_data__vector_common_type_5_0__vct_5_f_0;
        }
        break;
    }
    return DirectFieldIntConstant_4;
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_ptag_4_p_0(
  MR_Word Stream_5,
  MR_Word Ptag_6)
{
  {
    uint8_t PtagUint8_20;

    mercury__io__write_string_4_p_0(Stream_5, (MR_String) "MR_mktag(");
    PtagUint8_20 = (uint8_t) (Ptag_6);
    mercury__io__write_uint8_4_p_0(Stream_5, PtagUint8_20);
    mercury__io__write_string_4_p_0(Stream_5, (MR_String) ")");
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_test_rval_5_p_0(
  MR_Word Info_6,
  MR_Word Test_7,
  MR_Word Stream_8)
{
  {
    MR_bool succeeded;
    MR_Word Left_10;
    MR_Integer RightConst_11;
    MR_String OpStr_12;
    MR_String Var_13;

    succeeded = ll_backend__llds_out__llds_out_data__is_int_cmp_5_p_0(Test_7, &Left_10, &RightConst_11, &OpStr_12, &Var_13);
    if (succeeded)
    {
      mercury__io__write_string_4_p_0(Stream_8, OpStr_12);
      mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
      ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Left_10, Stream_8);
      mercury__io__write_string_4_p_0(Stream_8, (MR_String) ",");
      mercury__io__write_int_4_p_0(Stream_8, RightConst_11);
      mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
    }
    else
    {
      MR_String NegOpStr_16;
      MR_Word Left_155;
      MR_Integer RightConst_156;
      MR_Word InnerTest_14;
      MR_Word Var_33;
      MR_String Var_15;

      succeeded = ((((MR_tag((MR_Word) Test_7)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Test_7, (MR_Integer) 0)))) == (MR_Integer) 3)));
      if (succeeded)
      {
        Var_33 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_7, (MR_Integer) 1))));
        InnerTest_14 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_7, (MR_Integer) 2))));
        succeeded = (Var_33 == (MR_Word) ((MR_Unsigned) 16U));
        if (succeeded)
          succeeded = ll_backend__llds_out__llds_out_data__is_int_cmp_5_p_0(InnerTest_14, &Left_155, &RightConst_156, &Var_15, &NegOpStr_16);
      }
      if (succeeded)
      {
        mercury__io__write_string_4_p_0(Stream_8, NegOpStr_16);
        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
        ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Left_155, Stream_8);
        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ",");
        mercury__io__write_int_4_p_0(Stream_8, RightConst_156);
        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
      }
      else
      {
        MR_Word Rval_17;
        MR_Word Ptag_18;
        MR_Word Negated_19;

        succeeded = ll_backend__llds_out__llds_out_data__is_ptag_test_4_p_0(Test_7, &Rval_17, &Ptag_18, &Negated_19);
        if (succeeded)
        {
          switch (Negated_19) {
            default: /*NOTREACHED*/ MR_assert(0);
            case (MR_Integer) 0:
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_PTAG_TEST(");
              break;
            case (MR_Integer) 1:
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_PTAG_TESTR(");
              break;
          }
          ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Rval_17, Stream_8);
          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ",");
          ll_backend__llds_out__llds_out_data__write_ptag_4_p_0(Stream_8, Ptag_18);
          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
        }
        else
        {
          MR_Word Rval_150;
          MR_Word Ptag_151;
          MR_Word Negated_152;
          MR_Word Var_53;
          MR_Word InnerTest_120;

          succeeded = ((((MR_tag((MR_Word) Test_7)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Test_7, (MR_Integer) 0)))) == (MR_Integer) 3)));
          if (succeeded)
          {
            Var_53 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_7, (MR_Integer) 1))));
            InnerTest_120 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_7, (MR_Integer) 2))));
            succeeded = (Var_53 == (MR_Word) ((MR_Unsigned) 16U));
            if (succeeded)
              succeeded = ll_backend__llds_out__llds_out_data__is_ptag_test_4_p_0(InnerTest_120, &Rval_150, &Ptag_151, &Negated_152);
          }
          if (succeeded)
          {
            switch (Negated_152) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_PTAG_TESTR(");
                break;
              case (MR_Integer) 1:
                mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_PTAG_TEST(");
                break;
            }
            ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Rval_150, Stream_8);
            mercury__io__write_string_4_p_0(Stream_8, (MR_String) ",");
            ll_backend__llds_out__llds_out_data__write_ptag_4_p_0(Stream_8, Ptag_151);
            mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
          }
          else
          {
            MR_Unsigned Stag_21;
            MR_Word Rval_145;
            MR_Word Ptag_146;
            MR_Word Right_20;
            MR_Word Var_64;
            MR_Word Var_65;
            MR_Word Left_121;
            MR_Word Var_157;

            succeeded = ((((MR_tag((MR_Word) Test_7)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Test_7, (MR_Integer) 0)))) == (MR_Integer) 4)));
            if (succeeded)
            {
              Var_64 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_7, (MR_Integer) 1))));
              Left_121 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_7, (MR_Integer) 2))));
              Right_20 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_7, (MR_Integer) 3))));
              succeeded = (Var_64 == (MR_Word) ((MR_Unsigned) 0U));
              if (succeeded)
              {
                Var_65 = (MR_Integer) 0;
                succeeded = ll_backend__llds_out__llds_out_data__is_ptag_test_4_p_0(Left_121, &Rval_145, &Ptag_146, &Var_157);
                if (succeeded)
                {
                  succeeded = (Var_65 == Var_157);
                  if (succeeded)
                    succeeded = ll_backend__llds_out__llds_out_data__is_remote_stag_test_4_p_0(Right_20, Rval_145, Ptag_146, &Stag_21);
                }
              }
            }
            if (succeeded)
            {
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_RTAGS_TEST(");
              ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Rval_145, Stream_8);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ",");
              ll_backend__llds_out__llds_out_data__write_ptag_4_p_0(Stream_8, Ptag_146);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ",");
              mercury__io__write_uint_4_p_0(Stream_8, Stag_21);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
            }
            else
            {
              MR_Word Rval_138;
              MR_Word Ptag_139;
              MR_Unsigned Stag_142;
              MR_Word Var_77;
              MR_Word Var_78;
              MR_Word Var_79;
              MR_Word Left_122;
              MR_Word InnerTest_123;
              MR_Word Right_124;
              MR_Word Var_158;

              succeeded = ((((MR_tag((MR_Word) Test_7)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Test_7, (MR_Integer) 0)))) == (MR_Integer) 3)));
              if (succeeded)
              {
                Var_77 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_7, (MR_Integer) 1))));
                InnerTest_123 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_7, (MR_Integer) 2))));
                succeeded = (Var_77 == (MR_Word) ((MR_Unsigned) 16U));
                if (succeeded)
                {
                  succeeded = ((((MR_tag((MR_Word) InnerTest_123)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), InnerTest_123, (MR_Integer) 0)))) == (MR_Integer) 4)));
                  if (succeeded)
                  {
                    Var_78 = ((MR_Word) ((MR_hl_field(MR_mktag(3), InnerTest_123, (MR_Integer) 1))));
                    Left_122 = ((MR_Word) ((MR_hl_field(MR_mktag(3), InnerTest_123, (MR_Integer) 2))));
                    Right_124 = ((MR_Word) ((MR_hl_field(MR_mktag(3), InnerTest_123, (MR_Integer) 3))));
                    succeeded = (Var_78 == (MR_Word) ((MR_Unsigned) 0U));
                    if (succeeded)
                    {
                      Var_79 = (MR_Integer) 0;
                      succeeded = ll_backend__llds_out__llds_out_data__is_ptag_test_4_p_0(Left_122, &Rval_138, &Ptag_139, &Var_158);
                      if (succeeded)
                      {
                        succeeded = (Var_79 == Var_158);
                        if (succeeded)
                          succeeded = ll_backend__llds_out__llds_out_data__is_remote_stag_test_4_p_0(Right_124, Rval_138, Ptag_139, &Stag_142);
                      }
                    }
                  }
                }
              }
              if (succeeded)
              {
                mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_RTAGS_TESTR(");
                ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Rval_138, Stream_8);
                mercury__io__write_string_4_p_0(Stream_8, (MR_String) ",");
                ll_backend__llds_out__llds_out_data__write_ptag_4_p_0(Stream_8, Ptag_139);
                mercury__io__write_string_4_p_0(Stream_8, (MR_String) ",");
                mercury__io__write_uint_4_p_0(Stream_8, Stag_142);
                mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
              }
              else
              {
                MR_Word Rval_132;
                MR_Word Ptag_133;
                MR_Word Negated_134;
                MR_Unsigned Stag_135;

                succeeded = ll_backend__llds_out__llds_out_data__is_local_stag_test_5_p_0(Test_7, &Rval_132, &Ptag_133, &Stag_135, &Negated_134);
                if (succeeded)
                {
                  switch (Negated_134) {
                    default: /*NOTREACHED*/ MR_assert(0);
                    case (MR_Integer) 0:
                      mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_LTAGS_TEST(");
                      break;
                    case (MR_Integer) 1:
                      mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_LTAGS_TESTR(");
                      break;
                  }
                  ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Rval_132, Stream_8);
                  mercury__io__write_string_4_p_0(Stream_8, (MR_String) ",");
                  ll_backend__llds_out__llds_out_data__write_ptag_4_p_0(Stream_8, Ptag_133);
                  mercury__io__write_string_4_p_0(Stream_8, (MR_String) ",");
                  mercury__io__write_uint_4_p_0(Stream_8, Stag_135);
                  mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                }
                else
                {
                  MR_Word Rval_127;
                  MR_Word Ptag_128;
                  MR_Word Negated_129;
                  MR_Unsigned Stag_130;
                  MR_Word Var_104;
                  MR_Word InnerTest_125;

                  succeeded = ((((MR_tag((MR_Word) Test_7)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Test_7, (MR_Integer) 0)))) == (MR_Integer) 3)));
                  if (succeeded)
                  {
                    Var_104 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_7, (MR_Integer) 1))));
                    InnerTest_125 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_7, (MR_Integer) 2))));
                    succeeded = (Var_104 == (MR_Word) ((MR_Unsigned) 16U));
                    if (succeeded)
                      succeeded = ll_backend__llds_out__llds_out_data__is_local_stag_test_5_p_0(InnerTest_125, &Rval_127, &Ptag_128, &Stag_130, &Negated_129);
                  }
                  if (succeeded)
                  {
                    switch (Negated_129) {
                      default: /*NOTREACHED*/ MR_assert(0);
                      case (MR_Integer) 0:
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_LTAGS_TESTR(");
                        break;
                      case (MR_Integer) 1:
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_LTAGS_TEST(");
                        break;
                    }
                    ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Rval_127, Stream_8);
                    mercury__io__write_string_4_p_0(Stream_8, (MR_String) ",");
                    ll_backend__llds_out__llds_out_data__write_ptag_4_p_0(Stream_8, Ptag_128);
                    mercury__io__write_string_4_p_0(Stream_8, (MR_String) ",");
                    mercury__io__write_uint_4_p_0(Stream_8, Stag_130);
                    mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                  }
                  else
                    ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, Test_7, (MR_Word) ((MR_Unsigned) 0U), Stream_8);
                }
              }
            }
          }
        }
      }
    }
  }
}

static MR_bool MR_CALL 
ll_backend__llds_out__llds_out_data__is_local_stag_test_5_p_0(
  MR_Word Test_6,
  MR_Word * Rval_7,
  MR_Word * Ptag_8,
  MR_Unsigned * Stag_9,
  MR_Word * Negated_10)
{
  {
    MR_bool succeeded = ((((MR_tag((MR_Word) Test_6)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Test_6, (MR_Integer) 0)))) == (MR_Integer) 4)));
    MR_Word Op_11;
    MR_Word Right_12;
    MR_Integer StagInt_13;
    MR_Word Var_16;
    MR_Word Var_17;
    MR_Word Var_18;
    MR_Word Var_19;

    if (succeeded)
    {
      Op_11 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_6, (MR_Integer) 1))));
      *Rval_7 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_6, (MR_Integer) 2))));
      Right_12 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_6, (MR_Integer) 3))));
      succeeded = ((MR_tag((MR_Word) Right_12)) == (MR_Integer) 2);
      if (succeeded)
      {
        *Ptag_8 = ((MR_Word) ((MR_hl_field(MR_mktag(2), Right_12, (MR_Integer) 0))));
        Var_16 = ((MR_Word) ((MR_hl_field(MR_mktag(2), Right_12, (MR_Integer) 1))));
        succeeded = ((((MR_tag((MR_Word) Var_16)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_16, (MR_Integer) 0)))) == (MR_Integer) 3)));
        if (succeeded)
        {
          Var_17 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Var_16, (MR_Integer) 1))));
          Var_18 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Var_16, (MR_Integer) 2))));
          succeeded = (Var_17 == (MR_Word) ((MR_Unsigned) 8U));
          if (succeeded)
          {
            succeeded = ((((MR_tag((MR_Word) Var_18)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_18, (MR_Integer) 0)))) == (MR_Integer) 1)));
            if (succeeded)
            {
              Var_19 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Var_18, (MR_Integer) 1))));
              succeeded = ((MR_tag((MR_Word) Var_19)) == (MR_Integer) 1);
              if (succeeded)
              {
                StagInt_13 = ((MR_Integer) ((MR_hl_field(MR_mktag(1), Var_19, (MR_Integer) 0))));
                succeeded = mercury__uint__from_int_2_p_0(StagInt_13, Stag_9);
                if (succeeded)
                {
                  if (((((MR_tag((MR_Word) Op_11)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Op_11, (MR_Integer) 0)))) == (MR_Integer) 8))))
                  {
                    *Negated_10 = (MR_Integer) 0;
                    succeeded = MR_TRUE;
                  }
                  else
                  if (((((MR_tag((MR_Word) Op_11)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Op_11, (MR_Integer) 0)))) == (MR_Integer) 9))))
                  {
                    *Negated_10 = (MR_Integer) 1;
                    succeeded = MR_TRUE;
                  }
                  else
                    succeeded = MR_FALSE;
                }
              }
            }
          }
        }
      }
    }
    return succeeded;
  }
}

static MR_bool MR_CALL 
ll_backend__llds_out__llds_out_data__is_remote_stag_test_4_p_0(
  MR_Word Test_5,
  MR_Word Rval_6,
  MR_Word Ptag_7,
  MR_Unsigned * Stag_8)
{
  {
    MR_bool succeeded = ((((MR_tag((MR_Word) Test_5)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Test_5, (MR_Integer) 0)))) == (MR_Integer) 4)));
    MR_Word Left_9;
    MR_Word Right_10;
    MR_Word Zero_11;
    MR_Integer StagInt_12;
    MR_Word Var_13;
    MR_Word Var_14;
    MR_Word Var_15;
    MR_Word Var_16;
    MR_Word Var_17;
    MR_Integer Var_18;
    MR_Word Var_19;
    MR_Word Var_20;
    MR_Word Var_21;
    uint8_t Var_24;
    uint8_t Var_25;

    if (succeeded)
    {
      Var_13 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_5, (MR_Integer) 1))));
      Left_9 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_5, (MR_Integer) 2))));
      Right_10 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_5, (MR_Integer) 3))));
      succeeded = ((((MR_tag((MR_Word) Var_13)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_13, (MR_Integer) 0)))) == (MR_Integer) 8)));
      if (succeeded)
      {
        Var_14 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Var_13, (MR_Integer) 1))) & (MR_Integer) 15);
        succeeded = (Var_14 == (MR_Integer) 0);
        if (succeeded)
        {
          succeeded = ((MR_tag((MR_Word) Left_9)) == (MR_Integer) 0);
          if (succeeded)
          {
            Var_15 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Left_9, (MR_Integer) 0))));
            succeeded = ((((MR_tag((MR_Word) Var_15)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_15, (MR_Integer) 0)))) == (MR_Integer) 9)));
            if (succeeded)
            {
              Var_16 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Var_15, (MR_Integer) 1))));
              Var_20 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Var_15, (MR_Integer) 2))));
              Zero_11 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Var_15, (MR_Integer) 3))));
              succeeded = ll_backend__llds____Unify____rval_0_0(Rval_6, Var_20);
              if (succeeded)
              {
                succeeded = (Var_16 != (MR_Word) ((MR_Unsigned) 0U));
                if (succeeded)
                {
                  Var_21 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_16, (MR_Integer) 0))));
                  Var_24 = (uint8_t) (Ptag_7);
                  Var_25 = (uint8_t) (Var_21);
                  succeeded = (Var_24 == Var_25);
                  if (succeeded)
                  {
                    succeeded = ((((MR_tag((MR_Word) Zero_11)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Zero_11, (MR_Integer) 0)))) == (MR_Integer) 1)));
                    if (succeeded)
                    {
                      Var_17 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Zero_11, (MR_Integer) 1))));
                      succeeded = ((MR_tag((MR_Word) Var_17)) == (MR_Integer) 1);
                      if (succeeded)
                      {
                        Var_18 = ((MR_Integer) ((MR_hl_field(MR_mktag(1), Var_17, (MR_Integer) 0))));
                        succeeded = (Var_18 == (MR_Integer) 0);
                        if (succeeded)
                        {
                          succeeded = ((((MR_tag((MR_Word) Right_10)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Right_10, (MR_Integer) 0)))) == (MR_Integer) 1)));
                          if (succeeded)
                          {
                            Var_19 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Right_10, (MR_Integer) 1))));
                            succeeded = ((MR_tag((MR_Word) Var_19)) == (MR_Integer) 1);
                            if (succeeded)
                            {
                              StagInt_12 = ((MR_Integer) ((MR_hl_field(MR_mktag(1), Var_19, (MR_Integer) 0))));
                              succeeded = mercury__uint__from_int_2_p_0(StagInt_12, Stag_8);
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    return succeeded;
  }
}

static MR_bool MR_CALL 
ll_backend__llds_out__llds_out_data__is_ptag_test_4_p_0(
  MR_Word Test_5,
  MR_Word * Rval_6,
  MR_Word * Ptag_7,
  MR_Word * Negated_8)
{
  {
    MR_bool succeeded = ((((MR_tag((MR_Word) Test_5)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Test_5, (MR_Integer) 0)))) == (MR_Integer) 4)));
    MR_Word Op_9;
    MR_Word Left_10;
    MR_Word Right_11;
    MR_Integer PtagInt_12;
    uint8_t PtagUint8_13;
    MR_Word Var_16;
    MR_Word Var_17;

    if (succeeded)
    {
      Op_9 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_5, (MR_Integer) 1))));
      Left_10 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_5, (MR_Integer) 2))));
      Right_11 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_5, (MR_Integer) 3))));
      succeeded = ((((MR_tag((MR_Word) Left_10)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Left_10, (MR_Integer) 0)))) == (MR_Integer) 3)));
      if (succeeded)
      {
        Var_16 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Left_10, (MR_Integer) 1))));
        *Rval_6 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Left_10, (MR_Integer) 2))));
        succeeded = (Var_16 == (MR_Word) ((MR_Unsigned) 0U));
        if (succeeded)
        {
          succeeded = ((((MR_tag((MR_Word) Right_11)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Right_11, (MR_Integer) 0)))) == (MR_Integer) 1)));
          if (succeeded)
          {
            Var_17 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Right_11, (MR_Integer) 1))));
            succeeded = ((MR_tag((MR_Word) Var_17)) == (MR_Integer) 1);
            if (succeeded)
            {
              PtagInt_12 = ((MR_Integer) ((MR_hl_field(MR_mktag(1), Var_17, (MR_Integer) 0))));
              succeeded = mercury__uint8__from_int_2_p_0(PtagInt_12, &PtagUint8_13);
              if (succeeded)
              {
                *Ptag_7 = (MR_Word) (PtagUint8_13);
                if (((((MR_tag((MR_Word) Op_9)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Op_9, (MR_Integer) 0)))) == (MR_Integer) 8))))
                {
                  *Negated_8 = (MR_Integer) 0;
                  succeeded = MR_TRUE;
                }
                else
                if (((((MR_tag((MR_Word) Op_9)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Op_9, (MR_Integer) 0)))) == (MR_Integer) 9))))
                {
                  *Negated_8 = (MR_Integer) 1;
                  succeeded = MR_TRUE;
                }
                else
                  succeeded = MR_FALSE;
              }
            }
          }
        }
      }
    }
    return succeeded;
  }
}

static MR_bool MR_CALL 
ll_backend__llds_out__llds_out_data__is_int_cmp_5_p_0(
  MR_Word Test_6,
  MR_Word * Left_7,
  MR_Integer * RightConst_8,
  MR_String * OpStr_9,
  MR_String * NegOpStr_10)
{
  {
    MR_bool succeeded = ((((MR_tag((MR_Word) Test_6)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Test_6, (MR_Integer) 0)))) == (MR_Integer) 4)));
    MR_Word Op_11;
    MR_Word Right_12;
    MR_Word Var_13;

    if (succeeded)
    {
      Op_11 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_6, (MR_Integer) 1))));
      *Left_7 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_6, (MR_Integer) 2))));
      Right_12 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Test_6, (MR_Integer) 3))));
      succeeded = ((((MR_tag((MR_Word) Right_12)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Right_12, (MR_Integer) 0)))) == (MR_Integer) 1)));
      if (succeeded)
      {
        Var_13 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Right_12, (MR_Integer) 1))));
        succeeded = ((MR_tag((MR_Word) Var_13)) == (MR_Integer) 1);
        if (succeeded)
        {
          *RightConst_8 = ((MR_Integer) ((MR_hl_field(MR_mktag(1), Var_13, (MR_Integer) 0))));
          switch (MR_tag((MR_Word) Op_11)) {
            default:
              succeeded = MR_FALSE;
              break;
            case (MR_Integer) 3:
              switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), Op_11, (MR_Integer) 0))))) {
                default:
                  succeeded = MR_FALSE;
                  break;
                case (MR_Integer) 8:
                  {
                    MR_Word Var_19 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_11, (MR_Integer) 1))) & (MR_Integer) 15);

                    succeeded = (Var_19 == (MR_Integer) 0);
                    if (succeeded)
                    {
                      *OpStr_9 = (MR_String) "MR_INT_EQ";
                      *NegOpStr_10 = (MR_String) "MR_INT_NE";
                      succeeded = MR_TRUE;
                    }
                  }
                  break;
                case (MR_Integer) 9:
                  {
                    MR_Word Var_18 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_11, (MR_Integer) 1))) & (MR_Integer) 15);

                    succeeded = (Var_18 == (MR_Integer) 0);
                    if (succeeded)
                    {
                      *OpStr_9 = (MR_String) "MR_INT_NE";
                      *NegOpStr_10 = (MR_String) "MR_INT_EQ";
                      succeeded = MR_TRUE;
                    }
                  }
                  break;
                case (MR_Integer) 12:
                  {
                    MR_Word Var_17 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_11, (MR_Integer) 1))) & (MR_Integer) 15);

                    succeeded = (Var_17 == (MR_Integer) 0);
                    if (succeeded)
                    {
                      *OpStr_9 = (MR_String) "MR_INT_LT";
                      *NegOpStr_10 = (MR_String) "MR_INT_GE";
                      succeeded = MR_TRUE;
                    }
                  }
                  break;
                case (MR_Integer) 13:
                  {
                    MR_Word Var_16 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_11, (MR_Integer) 1))) & (MR_Integer) 15);

                    succeeded = (Var_16 == (MR_Integer) 0);
                    if (succeeded)
                    {
                      *OpStr_9 = (MR_String) "MR_INT_GT";
                      *NegOpStr_10 = (MR_String) "MR_INT_LT";
                      succeeded = MR_TRUE;
                    }
                  }
                  break;
                case (MR_Integer) 14:
                  {
                    MR_Word Var_15 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_11, (MR_Integer) 1))) & (MR_Integer) 15);

                    succeeded = (Var_15 == (MR_Integer) 0);
                    if (succeeded)
                    {
                      *OpStr_9 = (MR_String) "MR_INT_LE";
                      *NegOpStr_10 = (MR_String) "MR_INT_GT";
                      succeeded = MR_TRUE;
                    }
                  }
                  break;
                case (MR_Integer) 15:
                  {
                    MR_Word Var_14 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_11, (MR_Integer) 1))) & (MR_Integer) 15);

                    succeeded = (Var_14 == (MR_Integer) 0);
                    if (succeeded)
                    {
                      *OpStr_9 = (MR_String) "MR_INT_GE";
                      *NegOpStr_10 = (MR_String) "MR_INT_LT";
                      succeeded = MR_TRUE;
                    }
                  }
                  break;
              }
              break;
          }
        }
      }
    }
    return succeeded;
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_record_rvals_decls_7_p_0(
  MR_Word Info_8,
  MR_Word Stream_9,
  MR_Word Rvals_10,
  MR_Word STATE_VARIABLE_DeclSet_0_14,
  MR_Word * STATE_VARIABLE_DeclSet_15)
{
  {
    MR_Integer Var_13;

    ll_backend__llds_out__llds_out_data__output_record_rvals_decls_format_11_p_0(Info_8, Stream_9, Rvals_10, (MR_String) "", (MR_String) "", (MR_Integer) 0, &Var_13, STATE_VARIABLE_DeclSet_0_14, STATE_VARIABLE_DeclSet_15);
  }
}

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_record_rvals_decls_format_11_p_0(
  MR_Word Info_1,
  MR_Word Stream_2,
  MR_Word HeadVar__3_3,
  MR_String FirstIndent_4,
  MR_String LaterIndent_5,
  MR_Integer STATE_VARIABLE_N_0_6,
  MR_Integer * STATE_VARIABLE_N_7,
  MR_Word STATE_VARIABLE_DeclSet_0_8,
  MR_Word * STATE_VARIABLE_DeclSet_9)
{
  while (MR_TRUE)
  {
    // setup for model_det tailcalls optimized into a loop
    ;
    if ((HeadVar__3_3 == (MR_Word) ((MR_Unsigned) 0U)))
    {
      *STATE_VARIABLE_DeclSet_9 = STATE_VARIABLE_DeclSet_0_8;
      *STATE_VARIABLE_N_7 = STATE_VARIABLE_N_0_6;
    }
    else
    {
      MR_Word LeftOverRvals_35;
      MR_Integer STATE_VARIABLE_N_43_43;
      MR_Word STATE_VARIABLE_DeclSet_44_44;
      MR_Word next_value_of_HeadVar__3_3;
      MR_Integer next_value_of_STATE_VARIABLE_N_0_6;
      MR_Word next_value_of_STATE_VARIABLE_DeclSet_0_8;

      ll_backend__llds_out__llds_out_data__output_record_rvals_decls_format_count_13_p_0(Info_1, Stream_2, HeadVar__3_3, &LeftOverRvals_35, (MR_Integer) 1000, FirstIndent_4, LaterIndent_5, STATE_VARIABLE_N_0_6, &STATE_VARIABLE_N_43_43, STATE_VARIABLE_DeclSet_0_8, &STATE_VARIABLE_DeclSet_44_44);
      // direct tailcall eliminated
      ;
      next_value_of_HeadVar__3_3 = LeftOverRvals_35;
      next_value_of_STATE_VARIABLE_N_0_6 = STATE_VARIABLE_N_43_43;
      next_value_of_STATE_VARIABLE_DeclSet_0_8 = STATE_VARIABLE_DeclSet_44_44;
      HeadVar__3_3 = next_value_of_HeadVar__3_3;
      STATE_VARIABLE_N_0_6 = next_value_of_STATE_VARIABLE_N_0_6;
      STATE_VARIABLE_DeclSet_0_8 = next_value_of_STATE_VARIABLE_DeclSet_0_8;
      continue;
    }
    break;
  }
}

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_record_rvals_decls_format_count_13_p_0(
  MR_Word Info_1,
  MR_Word Stream_2,
  MR_Word HeadVar__3_3,
  MR_Word * HeadVar__4_4,
  MR_Integer Count_5,
  MR_String FirstIndent_6,
  MR_String LaterIndent_7,
  MR_Integer STATE_VARIABLE_N_0_8,
  MR_Integer * STATE_VARIABLE_N_9,
  MR_Word STATE_VARIABLE_DeclSet_0_10,
  MR_Word * STATE_VARIABLE_DeclSet_11)
{
  while (MR_TRUE)
  {
    MR_bool succeeded;

    // setup for model_det tailcalls optimized into a loop
    ;
    if ((HeadVar__3_3 == (MR_Word) ((MR_Unsigned) 0U)))
    {
      *HeadVar__4_4 = (MR_Word) ((MR_Unsigned) 0U);
      *STATE_VARIABLE_DeclSet_11 = STATE_VARIABLE_DeclSet_0_10;
      *STATE_VARIABLE_N_9 = STATE_VARIABLE_N_0_8;
    }
    else
    {
      MR_Word Rval_30 = ((MR_Word) ((MR_hl_field(MR_mktag(1), HeadVar__3_3, (MR_Integer) 0))));
      MR_Word Rvals_31 = ((MR_Word) ((MR_hl_field(MR_mktag(1), HeadVar__3_3, (MR_Integer) 1))));

      succeeded = (Count_5 > (MR_Integer) 0);
      if (succeeded)
      {
        MR_Integer STATE_VARIABLE_N_46_46;
        MR_Word STATE_VARIABLE_DeclSet_47_47;
        MR_Integer Var_49;
        MR_Word next_value_of_HeadVar__3_3;
        MR_Integer next_value_of_Count_5;
        MR_Integer next_value_of_STATE_VARIABLE_N_0_8;
        MR_Word next_value_of_STATE_VARIABLE_DeclSet_0_10;

        ll_backend__llds_out__llds_out_data__output_record_rval_decls_format_11_p_0(Info_1, Stream_2, Rval_30, FirstIndent_6, LaterIndent_7, STATE_VARIABLE_N_0_8, &STATE_VARIABLE_N_46_46, STATE_VARIABLE_DeclSet_0_10, &STATE_VARIABLE_DeclSet_47_47);
        Var_49 = (MR_Integer) ((MR_Unsigned) Count_5 - (MR_Unsigned) 1);
        // direct tailcall eliminated
        ;
        next_value_of_HeadVar__3_3 = Rvals_31;
        next_value_of_Count_5 = Var_49;
        next_value_of_STATE_VARIABLE_N_0_8 = STATE_VARIABLE_N_46_46;
        next_value_of_STATE_VARIABLE_DeclSet_0_10 = STATE_VARIABLE_DeclSet_47_47;
        HeadVar__3_3 = next_value_of_HeadVar__3_3;
        Count_5 = next_value_of_Count_5;
        STATE_VARIABLE_N_0_8 = next_value_of_STATE_VARIABLE_N_0_8;
        STATE_VARIABLE_DeclSet_0_10 = next_value_of_STATE_VARIABLE_DeclSet_0_10;
        continue;
      }
      else
      {
        *HeadVar__4_4 = HeadVar__3_3;
        *STATE_VARIABLE_DeclSet_11 = STATE_VARIABLE_DeclSet_0_10;
        *STATE_VARIABLE_N_9 = STATE_VARIABLE_N_0_8;
      }
    }
    break;
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_record_rval_decls_tab_7_p_0(
  MR_Word Info_8,
  MR_Word Stream_9,
  MR_Word Rval_10,
  MR_Word STATE_VARIABLE_DeclSet_0_14,
  MR_Word * STATE_VARIABLE_DeclSet_15)
{
  {
    MR_Integer Var_13;

    ll_backend__llds_out__llds_out_data__output_record_rval_decls_format_11_p_0(Info_8, Stream_9, Rval_10, (MR_String) "", (MR_String) "\t", (MR_Integer) 0, &Var_13, STATE_VARIABLE_DeclSet_0_14, STATE_VARIABLE_DeclSet_15);
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_record_rval_decls_7_p_0(
  MR_Word Info_8,
  MR_Word Stream_9,
  MR_Word Rval_10,
  MR_Word STATE_VARIABLE_DeclSet_0_14,
  MR_Word * STATE_VARIABLE_DeclSet_15)
{
  {
    MR_Integer Var_13;

    ll_backend__llds_out__llds_out_data__output_record_rval_decls_format_11_p_0(Info_8, Stream_9, Rval_10, (MR_String) "", (MR_String) "", (MR_Integer) 0, &Var_13, STATE_VARIABLE_DeclSet_0_14, STATE_VARIABLE_DeclSet_15);
  }
}

MR_bool MR_CALL 
ll_backend__llds_out__llds_out_data__lval_to_string_1_f_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2)
{
  {
    MR_bool succeeded;

    switch (MR_tag((MR_Word) HeadVar__1_1)) {
      default:
        succeeded = MR_FALSE;
        break;
      case (MR_Integer) 1:
        {
          MR_Word RegType_3 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(1), HeadVar__1_1, (MR_Integer) 0))) & (MR_Integer) 1);
          MR_Integer RegNum_4 = ((MR_Integer) ((MR_hl_field(MR_mktag(1), HeadVar__1_1, (MR_Integer) 1))));

          *HeadVar__2_2 = ll_backend__llds_out__llds_out_data__reg_to_string_2_f_0(RegType_3, RegNum_4);
          succeeded = MR_TRUE;
        }
        break;
      case (MR_Integer) 3:
        switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), HeadVar__1_1, (MR_Integer) 0))))) {
          default:
            succeeded = MR_FALSE;
            break;
          case (MR_Integer) 0:
            {
              MR_Integer N_10 = ((MR_Integer) ((MR_hl_field(MR_mktag(3), HeadVar__1_1, (MR_Integer) 1))));
              MR_String Var_12;
              MR_String Var_13;

              Var_13 = mercury__string__int_to_string_1_f_0(N_10);
              Var_12 = mercury__string__f_43_43_2_f_0(Var_13, (MR_String) ")");
              *HeadVar__2_2 = mercury__string__f_43_43_2_f_0((MR_String) "MR_sv(", Var_12);
              succeeded = MR_TRUE;
            }
            break;
          case (MR_Integer) 1:
            {
              MR_Integer N_15 = ((MR_Integer) ((MR_hl_field(MR_mktag(3), HeadVar__1_1, (MR_Integer) 1))));
              MR_String Var_17;
              MR_String Var_18;

              Var_18 = mercury__string__int_to_string_1_f_0(N_15);
              Var_17 = mercury__string__f_43_43_2_f_0(Var_18, (MR_String) ")");
              *HeadVar__2_2 = mercury__string__f_43_43_2_f_0((MR_String) "MR_parent_sv(", Var_17);
              succeeded = MR_TRUE;
            }
            break;
          case (MR_Integer) 2:
            {
              MR_Integer N_5 = ((MR_Integer) ((MR_hl_field(MR_mktag(3), HeadVar__1_1, (MR_Integer) 1))));
              MR_String Var_7;
              MR_String Var_8;

              Var_8 = mercury__string__int_to_string_1_f_0(N_5);
              Var_7 = mercury__string__f_43_43_2_f_0(Var_8, (MR_String) ")");
              *HeadVar__2_2 = mercury__string__f_43_43_2_f_0((MR_String) "MR_fv(", Var_7);
              succeeded = MR_TRUE;
            }
            break;
          case (MR_Integer) 3:
            {
              MR_Word Type_20 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), HeadVar__1_1, (MR_Integer) 1))) & (MR_Integer) 1);
              MR_Integer N_21 = ((MR_Integer) ((MR_hl_field(MR_mktag(3), HeadVar__1_1, (MR_Integer) 2))));
              MR_String Macro_23;
              MR_Integer Var_31;
              MR_String Var_35;
              MR_String Var_42;
              MR_String Var_44;
              MR_String Var_45;
              MR_String Var_52;
              MR_String Var_54;

              switch (Type_20) {
                default: /*NOTREACHED*/ MR_assert(0);
                case (MR_Integer) 1:
                  Macro_23 = (MR_String) "MR_parent_sv";
                  break;
                case (MR_Integer) 0:
                  Macro_23 = (MR_String) "MR_sv";
                  break;
              }
              Var_31 = (MR_Integer) ((MR_Unsigned) N_21 + (MR_Unsigned) 1);
              mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&ll_backend__llds_out__llds_out_data_scalar_common_1[0]), Var_31, &Var_35);
              Var_42 = mercury__string__f_43_43_2_f_0(Var_35, (MR_String) ")");
              Var_44 = mercury__string__f_43_43_2_f_0((MR_String) ",", Var_42);
              mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&ll_backend__llds_out__llds_out_data_scalar_common_1[0]), N_21, &Var_45);
              Var_52 = mercury__string__f_43_43_2_f_0(Var_45, Var_44);
              Var_54 = mercury__string__f_43_43_2_f_0((MR_String) "(", Var_52);
              *HeadVar__2_2 = mercury__string__f_43_43_2_f_0(Macro_23, Var_54);
              succeeded = MR_TRUE;
            }
            break;
        }
        break;
    }
    return succeeded;
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_lval_as_word_5_p_0(
  MR_Word Info_6,
  MR_Word Stream_7,
  MR_Word Lval_8)
{
  {
    MR_bool succeeded;
    MR_Word ActualType_10;

    ll_backend__llds__lval_type_2_p_0(Lval_8, &ActualType_10);
    if ((ActualType_10 == (MR_Word) ((MR_Unsigned) 0U)))
      succeeded = MR_TRUE;
    else
    if (((MR_tag((MR_Word) ActualType_10)) == (MR_Integer) 2))
    {
      MR_Word Var_30 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), ActualType_10, (MR_Integer) 0))) & (MR_Integer) 15);

      switch (Var_30) {
        default:
          succeeded = MR_FALSE;
          break;
        case (MR_Integer) 0:
          succeeded = MR_TRUE;
          break;
        case (MR_Integer) 1:
          succeeded = MR_TRUE;
          break;
      }
    }
    else
      succeeded = MR_FALSE;
    if (!(succeeded))
      succeeded = ll_backend__llds____Unify____llds_type_0_0(ActualType_10, (MR_Word) ((MR_Unsigned) 20U));
    if (succeeded)
      ll_backend__llds_out__llds_out_data__output_lval_5_p_0(Info_6, Stream_7, Lval_8);
    else
    {
      succeeded = (ActualType_10 == (MR_Word) ((MR_Unsigned) 4U));
      if (succeeded)
        {
          mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_lval_as_word\'/5", (MR_String) "float");
          return;
        }
      else
      {
        mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_LVALUE_CAST(MR_Word,");
        ll_backend__llds_out__llds_out_data__output_lval_5_p_0(Info_6, Stream_7, Lval_8);
        mercury__io__write_string_4_p_0(Stream_7, (MR_String) ")");
      }
    }
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_lval_for_assign_6_p_0(
  MR_Word Info_7,
  MR_Word Stream_8,
  MR_Word Lval_9,
  MR_Word * Type_10)
{
  {
    MR_bool succeeded;

    switch (MR_tag((MR_Word) Lval_9)) {
      default: /*NOTREACHED*/ MR_assert(0);
      case (MR_Integer) 0:
        switch (MR_unmkbody(Lval_9)) {
          default: /*NOTREACHED*/ MR_assert(0);
          case (MR_Integer) 0:
            {
              *Type_10 = (MR_Word) ((MR_Unsigned) 20U);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_succip_word");
            }
            break;
          case (MR_Integer) 1:
            {
              *Type_10 = (MR_Word) ((MR_Unsigned) 20U);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_maxfr_word");
            }
            break;
          case (MR_Integer) 2:
            {
              *Type_10 = (MR_Word) ((MR_Unsigned) 20U);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_curfr_word");
            }
            break;
          case (MR_Integer) 3:
            {
              *Type_10 = (MR_Word) ((MR_Unsigned) 20U);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_hp_word");
            }
            break;
          case (MR_Integer) 4:
            {
              *Type_10 = (MR_Word) ((MR_Unsigned) 20U);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_sp_word");
            }
            break;
          case (MR_Integer) 5:
            {
              *Type_10 = (MR_Word) ((MR_Unsigned) 12U);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_parent_sp");
            }
            break;
        }
        break;
      case (MR_Integer) 1:
        {
          MR_Word RegType_12 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(1), Lval_9, (MR_Integer) 0))) & (MR_Integer) 1);
          MR_Integer Num_13 = ((MR_Integer) ((MR_hl_field(MR_mktag(1), Lval_9, (MR_Integer) 1))));

          switch (RegType_12) {
            default: /*NOTREACHED*/ MR_assert(0);
            case (MR_Integer) 1:
              *Type_10 = (MR_Word) ((MR_Unsigned) 4U);
              break;
            case (MR_Integer) 0:
              *Type_10 = (MR_Word) ((MR_Unsigned) 20U);
              break;
          }
          ll_backend__llds_out__llds_out_data__output_reg_5_p_0(Stream_8, RegType_12, Num_13);
        }
        break;
      case (MR_Integer) 2:
        {
          MR_Word RegType_129 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), Lval_9, (MR_Integer) 0))) & (MR_Integer) 1);
          MR_Integer Num_130 = ((MR_Integer) ((MR_hl_field(MR_mktag(2), Lval_9, (MR_Integer) 1))));

          switch (RegType_129) {
            default: /*NOTREACHED*/ MR_assert(0);
            case (MR_Integer) 1:
              {
                *Type_10 = (MR_Word) ((MR_Unsigned) 4U);
                mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_tempf");
                mercury__io__write_int_4_p_0(Stream_8, Num_130);
              }
              break;
            case (MR_Integer) 0:
              {
                *Type_10 = (MR_Word) ((MR_Unsigned) 20U);
                mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_tempr");
                mercury__io__write_int_4_p_0(Stream_8, Num_130);
              }
              break;
          }
        }
        break;
      case (MR_Integer) 3:
        switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), Lval_9, (MR_Integer) 0))))) {
          default: /*NOTREACHED*/ MR_assert(0);
          case (MR_Integer) 0:
            {
              MR_Integer N_14 = ((MR_Integer) ((MR_hl_field(MR_mktag(3), Lval_9, (MR_Integer) 1))));

              *Type_10 = (MR_Word) ((MR_Unsigned) 20U);
              succeeded = (N_14 < (MR_Integer) 0);
              if (succeeded)
                {
                  mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_lval_for_assign\'/6", (MR_String) "stack var out of range");
                  return;
                }
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_sv(");
              mercury__io__write_int_4_p_0(Stream_8, N_14);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
            }
            break;
          case (MR_Integer) 1:
            {
              MR_Integer N_122 = ((MR_Integer) ((MR_hl_field(MR_mktag(3), Lval_9, (MR_Integer) 1))));

              *Type_10 = (MR_Word) ((MR_Unsigned) 20U);
              succeeded = (N_122 < (MR_Integer) 0);
              if (succeeded)
                {
                  mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_lval_for_assign\'/6", (MR_String) "parent stack var out of range");
                  return;
                }
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_parent_sv(");
              mercury__io__write_int_4_p_0(Stream_8, N_122);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
            }
            break;
          case (MR_Integer) 2:
            {
              MR_Integer N_123 = ((MR_Integer) ((MR_hl_field(MR_mktag(3), Lval_9, (MR_Integer) 1))));

              *Type_10 = (MR_Word) ((MR_Unsigned) 20U);
              succeeded = (N_123 <= (MR_Integer) 0);
              if (succeeded)
                {
                  mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_lval_for_assign\'/6", (MR_String) "frame var out of range");
                  return;
                }
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_fv(");
              mercury__io__write_int_4_p_0(Stream_8, N_123);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
            }
            break;
          case (MR_Integer) 3:
            {
              MR_Word StackType_15 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Lval_9, (MR_Integer) 1))) & (MR_Integer) 1);
              MR_Integer SlotNum_16 = ((MR_Integer) ((MR_hl_field(MR_mktag(3), Lval_9, (MR_Integer) 2))));

              *Type_10 = (MR_Word) ((MR_Unsigned) 4U);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "* (MR_Float *) ");
              ll_backend__llds_out__llds_out_data__output_double_stackvar_ptr_6_p_0(Info_7, Stream_8, StackType_15, SlotNum_16);
            }
            break;
          case (MR_Integer) 4:
            {
              MR_Word Rval_127 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_9, (MR_Integer) 1))));

              *Type_10 = (MR_Word) ((MR_Unsigned) 20U);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_succip_slot_word(");
              ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_7, Rval_127, Stream_8);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
            }
            break;
          case (MR_Integer) 5:
            {
              MR_Word Rval_17 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_9, (MR_Integer) 1))));

              *Type_10 = (MR_Word) ((MR_Unsigned) 20U);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_succfr_slot_word(");
              ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_7, Rval_17, Stream_8);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
            }
            break;
          case (MR_Integer) 6:
            {
              MR_Word Rval_126 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_9, (MR_Integer) 1))));

              *Type_10 = (MR_Word) ((MR_Unsigned) 20U);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_redoip_slot_word(");
              ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_7, Rval_126, Stream_8);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
            }
            break;
          case (MR_Integer) 7:
            {
              MR_Word Rval_125 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_9, (MR_Integer) 1))));

              *Type_10 = (MR_Word) ((MR_Unsigned) 20U);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_redofr_slot_word(");
              ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_7, Rval_125, Stream_8);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
            }
            break;
          case (MR_Integer) 8:
            {
              MR_Word Rval_124 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_9, (MR_Integer) 1))));

              *Type_10 = (MR_Word) ((MR_Unsigned) 20U);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_prevfr_slot_word(");
              ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_7, Rval_124, Stream_8);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
            }
            break;
          case (MR_Integer) 9:
            {
              MR_Word MaybePtag_18 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_9, (MR_Integer) 1))));
              MR_Word FieldNumRval_19 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_9, (MR_Integer) 3))));
              MR_Word Rval_128 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_9, (MR_Integer) 2))));
              MR_Integer FieldNum_21;
              MR_Word Var_49;

              *Type_10 = (MR_Word) ((MR_Unsigned) 20U);
              if ((MaybePtag_18 == (MR_Word) ((MR_Unsigned) 0U)))
                mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_mask_field(");
              else
              {
                MR_Word Ptag_20 = ((MR_Word) ((MR_hl_field(MR_mktag(1), MaybePtag_18, (MR_Integer) 0))));

                mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_tfield(");
                ll_backend__llds_out__llds_out_data__write_ptag_4_p_0(Stream_8, Ptag_20);
                mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
              }
              ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_7, Rval_128, Stream_8);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
              succeeded = ((((MR_tag((MR_Word) FieldNumRval_19)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), FieldNumRval_19, (MR_Integer) 0)))) == (MR_Integer) 1)));
              if (succeeded)
              {
                Var_49 = ((MR_Word) ((MR_hl_field(MR_mktag(3), FieldNumRval_19, (MR_Integer) 1))));
                succeeded = ((MR_tag((MR_Word) Var_49)) == (MR_Integer) 1);
                if (succeeded)
                  FieldNum_21 = ((MR_Integer) ((MR_hl_field(MR_mktag(1), Var_49, (MR_Integer) 0))));
              }
              if (succeeded)
                mercury__io__write_int_4_p_0(Stream_8, FieldNum_21);
              else
                ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_7, FieldNumRval_19, Stream_8);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
            }
            break;
          case (MR_Integer) 10:
            {
              *Type_10 = (MR_Word) ((MR_Unsigned) 20U);
              ll_backend__llds_out__llds_out_data__output_lval_5_p_0(Info_7, Stream_8, Lval_9);
            }
            break;
          case (MR_Integer) 11:
            {
              MR_Word GlobalVar_24 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_9, (MR_Integer) 1))));
              MR_String Var_27;

              *Type_10 = (MR_Word) ((MR_Unsigned) 20U);
              Var_27 = ll_backend__llds_out__llds_out_data__c_global_var_name_1_f_0(GlobalVar_24);
              mercury__io__write_string_4_p_0(Stream_8, Var_27);
            }
            break;
          case (MR_Integer) 12:
            {
              mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_lval_for_assign\'/6", (MR_String) "lvar");
              return;
            }
            break;
        }
        break;
    }
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_record_lval_decls_tab_7_p_0(
  MR_Word Info_8,
  MR_Word Stream_9,
  MR_Word Lval_10,
  MR_Word STATE_VARIABLE_DeclSet_0_14,
  MR_Word * STATE_VARIABLE_DeclSet_15)
{
  {
    MR_Integer Var_13;

    ll_backend__llds_out__llds_out_data__output_record_lval_decls_format_11_p_0(Info_8, Stream_9, Lval_10, (MR_String) "\t", (MR_String) "\t", (MR_Integer) 0, &Var_13, STATE_VARIABLE_DeclSet_0_14, STATE_VARIABLE_DeclSet_15);
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_record_lval_decls_7_p_0(
  MR_Word Info_8,
  MR_Word Stream_9,
  MR_Word Lval_10,
  MR_Word STATE_VARIABLE_DeclSet_0_14,
  MR_Word * STATE_VARIABLE_DeclSet_15)
{
  {
    MR_Integer Var_13;

    ll_backend__llds_out__llds_out_data__output_record_lval_decls_format_11_p_0(Info_8, Stream_9, Lval_10, (MR_String) "", (MR_String) "", (MR_Integer) 0, &Var_13, STATE_VARIABLE_DeclSet_0_14, STATE_VARIABLE_DeclSet_15);
  }
}

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_record_lval_decls_format_11_p_0(
  MR_Word tscc_proc_1_input_1_Info_12,
  MR_Word tscc_proc_1_input_2_Stream_13,
  MR_Word tscc_proc_1_input_3_Lval_14,
  MR_String tscc_proc_1_input_4_FirstIndent_15,
  MR_String tscc_proc_1_input_5_LaterIndent_16,
  MR_Integer tscc_proc_1_input_6_STATE_VARIABLE_N_0_34,
  MR_Integer * tscc_output_ptr_1_STATE_VARIABLE_N_35,
  MR_Word tscc_proc_1_input_7_STATE_VARIABLE_DeclSet_0_36,
  MR_Word * tscc_output_ptr_2_STATE_VARIABLE_DeclSet_37)
{
  {
    MR_Word tscc_proc_2_input_1_Info_12;
    MR_Word tscc_proc_2_input_2_Stream_13;
    MR_Word tscc_proc_2_input_3_Rval_14;
    MR_String tscc_proc_2_input_4_FirstIndent_15;
    MR_String tscc_proc_2_input_5_LaterIndent_16;
    MR_Integer tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
    MR_Word tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
    MR_Word tscc_proc_3_input_1_Info_12;
    MR_Word tscc_proc_3_input_2_Stream_13;
    MR_Word tscc_proc_3_input_3_MemRef_14;
    MR_String tscc_proc_3_input_4_FirstIndent_15;
    MR_String tscc_proc_3_input_5_LaterIndent_16;
    MR_Integer tscc_proc_3_input_6_STATE_VARIABLE_N_0_24;
    MR_Word tscc_proc_3_input_7_STATE_VARIABLE_DeclSet_0_26;
    MR_Integer tscc_output_1_STATE_VARIABLE_N_35;
    MR_Word tscc_output_2_STATE_VARIABLE_DeclSet_37;

    // The code for TSCC PROC 1: pred ll_backend.llds_out.llds_out_data.output_record_lval_decls_format/11-0.
    ;
    // Setup for mutual tailcalls optimized into a loop.
    ;
    // The mutually recursive procedures are:
    ;
    ;
    // proc 1 in TSCC: pred ll_backend.llds_out.llds_out_data.output_record_lval_decls_format/11-0
    ;
    // proc 2 in TSCC: pred ll_backend.llds_out.llds_out_data.output_record_rval_decls_format/11-0
    ;
    // proc 3 in TSCC: pred ll_backend.llds_out.llds_out_data.output_record_mem_ref_decls_format/11-0
    ;
    ;
    goto top_of_proc_1;
  top_of_proc_1:;
    {
      MR_Word Info_12 = tscc_proc_1_input_1_Info_12;
      MR_Word Stream_13 = tscc_proc_1_input_2_Stream_13;
      MR_Word Lval_14 = tscc_proc_1_input_3_Lval_14;
      MR_String FirstIndent_15 = tscc_proc_1_input_4_FirstIndent_15;
      MR_String LaterIndent_16 = tscc_proc_1_input_5_LaterIndent_16;
      MR_Integer STATE_VARIABLE_N_0_34 = tscc_proc_1_input_6_STATE_VARIABLE_N_0_34;
      MR_Integer STATE_VARIABLE_N_35;
      MR_Word STATE_VARIABLE_DeclSet_0_36 = tscc_proc_1_input_7_STATE_VARIABLE_DeclSet_0_36;
      MR_Word STATE_VARIABLE_DeclSet_37;
      MR_bool succeeded;

      switch (MR_tag((MR_Word) Lval_14)) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          switch (MR_unmkbody(Lval_14)) {
            default: /*NOTREACHED*/ MR_assert(0);
            case (MR_Integer) 0:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 1:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 2:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 3:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 4:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 5:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
          }
          break;
        case (MR_Integer) 1:
          {
            STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
            STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
          }
          break;
        case (MR_Integer) 2:
          {
            STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
            STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
          }
          break;
        case (MR_Integer) 3:
          switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 0))))) {
            default: /*NOTREACHED*/ MR_assert(0);
            case (MR_Integer) 0:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 1:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 2:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 3:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 4:
              {
                MR_Word Rval_58 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_58;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_34;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_36;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 5:
              {
                MR_Word Rval_57 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_57;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_34;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_36;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 6:
              {
                MR_Word Rval_56 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_56;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_34;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_36;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 7:
              {
                MR_Word Rval_55 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_55;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_34;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_36;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 8:
              {
                MR_Word Rval_54 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_54;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_34;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_36;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 9:
              {
                MR_Word Rval_21 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 2))));
                MR_Word FieldNum_22 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 3))));
                MR_Integer STATE_VARIABLE_N_47_47;
                MR_Word STATE_VARIABLE_DeclSet_48_48;
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;

                ll_backend__llds_out__llds_out_data__output_record_rval_decls_format_11_p_0(Info_12, Stream_13, Rval_21, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_34, &STATE_VARIABLE_N_47_47, STATE_VARIABLE_DeclSet_0_36, &STATE_VARIABLE_DeclSet_48_48);
                // direct tailcall eliminated
                ;
                next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                next_value_of_tscc_proc_2_input_3_Rval_14 = FieldNum_22;
                next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_47_47;
                next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_48_48;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 10:
              {
                MR_Word Rval_53 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_53;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_34;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_36;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 11:
              {
                MR_Word CGlobalVar_33 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word Var_40;

                {
                  Var_40 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                  MR_hl_field(MR_mktag(3), Var_40, 0) = ((MR_Box) ((MR_Unsigned) 6U));
                  MR_hl_field(MR_mktag(3), Var_40, 1) = ((MR_Box) (CGlobalVar_33));
                }
                succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(Var_40, STATE_VARIABLE_DeclSet_0_36);
                if (!(succeeded))
                  {
                    mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_record_lval_decls_format\'/11", (MR_String) "global_var_ref");
                    return;
                  }
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 12:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
          }
          break;
      }
      tscc_output_1_STATE_VARIABLE_N_35 = STATE_VARIABLE_N_35;
      tscc_output_2_STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_37;
      goto tscc_end;
    }
  top_of_proc_2:;
    {
      MR_Word Info_12 = tscc_proc_2_input_1_Info_12;
      MR_Word Stream_13 = tscc_proc_2_input_2_Stream_13;
      MR_Word Rval_14 = tscc_proc_2_input_3_Rval_14;
      MR_String FirstIndent_15 = tscc_proc_2_input_4_FirstIndent_15;
      MR_String LaterIndent_16 = tscc_proc_2_input_5_LaterIndent_16;
      MR_Integer STATE_VARIABLE_N_0_85 = tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
      MR_Integer STATE_VARIABLE_N_86;
      MR_Word STATE_VARIABLE_DeclSet_0_87 = tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
      MR_Word STATE_VARIABLE_DeclSet_88;
      MR_bool succeeded;

      switch (MR_tag((MR_Word) Rval_14)) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          {
            MR_Word Lval_20 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Rval_14, (MR_Integer) 0))));
            MR_Word next_value_of_tscc_proc_1_input_1_Info_12 = Info_12;
            MR_Word next_value_of_tscc_proc_1_input_2_Stream_13 = Stream_13;
            MR_Word next_value_of_tscc_proc_1_input_3_Lval_14 = Lval_20;
            MR_String next_value_of_tscc_proc_1_input_4_FirstIndent_15 = FirstIndent_15;
            MR_String next_value_of_tscc_proc_1_input_5_LaterIndent_16 = LaterIndent_16;
            MR_Integer next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_N_0_34 = STATE_VARIABLE_N_0_85;
            MR_Word next_value_of_tscc_proc_1_input_7_STATE_VARIABLE_DeclSet_0_36 = STATE_VARIABLE_DeclSet_0_87;

            // direct tailcall eliminated
            ;
            tscc_proc_1_input_1_Info_12 = next_value_of_tscc_proc_1_input_1_Info_12;
            tscc_proc_1_input_2_Stream_13 = next_value_of_tscc_proc_1_input_2_Stream_13;
            tscc_proc_1_input_3_Lval_14 = next_value_of_tscc_proc_1_input_3_Lval_14;
            tscc_proc_1_input_4_FirstIndent_15 = next_value_of_tscc_proc_1_input_4_FirstIndent_15;
            tscc_proc_1_input_5_LaterIndent_16 = next_value_of_tscc_proc_1_input_5_LaterIndent_16;
            tscc_proc_1_input_6_STATE_VARIABLE_N_0_34 = next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_N_0_34;
            tscc_proc_1_input_7_STATE_VARIABLE_DeclSet_0_36 = next_value_of_tscc_proc_1_input_7_STATE_VARIABLE_DeclSet_0_36;
            goto top_of_proc_1;
          }
          break;
        case (MR_Integer) 1:
          {
            mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_record_rval_decls_format\'/11", (MR_String) "var");
            return;
          }
          break;
        case (MR_Integer) 2:
          {
            MR_Word SubRval_991 = ((MR_Word) ((MR_hl_field(MR_mktag(2), Rval_14, (MR_Integer) 1))));
            MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
            MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
            MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = SubRval_991;
            MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
            MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
            MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_85;
            MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_87;

            // direct tailcall eliminated
            ;
            tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
            tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
            tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
            tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
            tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
            tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
            tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
            goto top_of_proc_2;
          }
          break;
        case (MR_Integer) 3:
          switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 0))))) {
            default: /*NOTREACHED*/ MR_assert(0);
            case (MR_Integer) 0:
              {
                STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
              }
              break;
            case (MR_Integer) 1:
              {
                MR_Word Const_23 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 1))));

                switch (MR_tag((MR_Word) Const_23)) {
                  default: /*NOTREACHED*/ MR_assert(0);
                  case (MR_Integer) 0:
                    switch (MR_unmkbody(Const_23)) {
                      default: /*NOTREACHED*/ MR_assert(0);
                      case (MR_Integer) 0:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 1:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                    }
                    break;
                  case (MR_Integer) 1:
                    {
                      STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                      STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                    }
                    break;
                  case (MR_Integer) 2:
                    {
                      STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                      STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                    }
                    break;
                  case (MR_Integer) 3:
                    switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), Const_23, (MR_Integer) 0))))) {
                      default: /*NOTREACHED*/ MR_assert(0);
                      case (MR_Integer) 0:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 1:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 2:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 3:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 4:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 5:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 6:
                        {
                          int64_t Int64Val_33 = MR_unbox_int64((MR_hl_field(MR_mktag(3), Const_23, (MR_Integer) 1)));
                          MR_Word UnboxedInt64s_34 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 5)) & (MR_Integer) 1);
                          MR_Word StaticGroundInt64s_35 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 4)) & (MR_Integer) 1);

                          succeeded = (UnboxedInt64s_34 == (MR_Integer) 0);
                          if (succeeded)
                            succeeded = (StaticGroundInt64s_35 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            MR_Word Int64Label_36;

                            {
                              Int64Label_36 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                              MR_hl_field(MR_mktag(1), Int64Label_36, 0) = MR_box_int64(Int64Val_33);
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(Int64Label_36, STATE_VARIABLE_DeclSet_0_87);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                            }
                            else
                            {
                              MR_String Int64Name_37;
                              MR_String Int64String_38;

                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(Int64Label_36, STATE_VARIABLE_DeclSet_0_87, &STATE_VARIABLE_DeclSet_88);
                              ll_backend__llds_out__llds_out_data__int64_literal_name_2_p_0(Int64Val_33, &Int64Name_37);
                              Int64String_38 = backend_libs__c_util__make_int64_literal_1_f_0(Int64Val_33);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_85);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_0_85 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const int64_t mercury_int64_const_");
                              mercury__io__write_string_4_p_0(Stream_13, Int64Name_37);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              mercury__io__write_string_4_p_0(Stream_13, Int64String_38);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          }
                        }
                        break;
                      case (MR_Integer) 7:
                        {
                          uint64_t UInt64Val_39 = MR_unbox_uint64((MR_hl_field(MR_mktag(3), Const_23, (MR_Integer) 1)));
                          MR_Word UnboxedInt64s_178 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 5)) & (MR_Integer) 1);
                          MR_Word StaticGroundInt64s_179 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 4)) & (MR_Integer) 1);

                          succeeded = (UnboxedInt64s_178 == (MR_Integer) 0);
                          if (succeeded)
                            succeeded = (StaticGroundInt64s_179 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            MR_Word UInt64Label_40;

                            {
                              UInt64Label_40 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                              MR_hl_field(MR_mktag(2), UInt64Label_40, 0) = MR_box_uint64(UInt64Val_39);
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(UInt64Label_40, STATE_VARIABLE_DeclSet_0_87);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                            }
                            else
                            {
                              MR_String UInt64Name_41;
                              MR_String UInt64String_42;

                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(UInt64Label_40, STATE_VARIABLE_DeclSet_0_87, &STATE_VARIABLE_DeclSet_88);
                              ll_backend__llds_out__llds_out_data__uint64_literal_name_2_p_0(UInt64Val_39, &UInt64Name_41);
                              UInt64String_42 = backend_libs__c_util__make_uint64_literal_1_f_0(UInt64Val_39);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_85);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_0_85 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const uint64_t mercury_uint64_const_");
                              mercury__io__write_string_4_p_0(Stream_13, UInt64Name_41);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              mercury__io__write_string_4_p_0(Stream_13, UInt64String_42);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          }
                        }
                        break;
                      case (MR_Integer) 8:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 9:
                        {
                          MR_Float FloatVal_27 = MR_unbox_float((MR_hl_field(MR_mktag(3), Const_23, (MR_Integer) 1)));
                          MR_Word UnboxedFloat_28 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 8)) & (MR_Integer) 1);
                          MR_Word StaticGroundFloats_29 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 6)) & (MR_Integer) 1);

                          succeeded = (UnboxedFloat_28 == (MR_Integer) 0);
                          if (succeeded)
                            succeeded = (StaticGroundFloats_29 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            MR_String FloatName_30;
                            MR_Word FloatLabel_31;

                            ll_backend__llds_out__llds_out_data__float_literal_name_2_p_0(FloatVal_27, &FloatName_30);
                            {
                              FloatLabel_31 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
                              MR_hl_field(MR_mktag(0), FloatLabel_31, 0) = ((MR_Box) (FloatName_30));
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(FloatLabel_31, STATE_VARIABLE_DeclSet_0_87);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                            }
                            else
                            {
                              MR_String FloatString_32;

                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(FloatLabel_31, STATE_VARIABLE_DeclSet_0_87, &STATE_VARIABLE_DeclSet_88);
                              FloatString_32 = backend_libs__c_util__make_float_literal_1_f_0(FloatVal_27);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_85);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_0_85 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const MR_Float mercury_float_const_");
                              mercury__io__write_string_4_p_0(Stream_13, FloatName_30);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              mercury__io__write_string_4_p_0(Stream_13, FloatString_32);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          }
                        }
                        break;
                      case (MR_Integer) 10:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 11:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 12:
                        {
                          MR_Word CodeAddress_24 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Const_23, (MR_Integer) 1))));

                          ll_backend__llds_out__llds_out_code_addr__output_record_code_addr_decls_format_11_p_0(Info_12, Stream_13, CodeAddress_24, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_85, &STATE_VARIABLE_N_86, STATE_VARIABLE_DeclSet_0_87, &STATE_VARIABLE_DeclSet_88);
                        }
                        break;
                      case (MR_Integer) 13:
                        {
                          MR_Word DataId_25 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Const_23, (MR_Integer) 1))));

                          ll_backend__llds_out__llds_out_data__output_record_data_id_decls_format_11_p_0(Info_12, Stream_13, DataId_25, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_85, &STATE_VARIABLE_N_86, STATE_VARIABLE_DeclSet_0_87, &STATE_VARIABLE_DeclSet_88);
                        }
                        break;
                    }
                    break;
                }
              }
              break;
            case (MR_Integer) 2:
              {
                MR_Word SubRval_56 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 2))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = SubRval_56;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_85;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_87;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 3:
              {
                MR_Word SubRval_992 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 2))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = SubRval_992;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_85;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_87;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 4:
              {
                MR_Word Op_59 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 1))));
                MR_Word SubRvalA_60 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 2))));
                MR_Word SubRvalB_61 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 3))));
                MR_Integer STATE_VARIABLE_N_94_94;
                MR_Word STATE_VARIABLE_DeclSet_95_95;
                MR_Integer STATE_VARIABLE_N_97_97;
                MR_Word STATE_VARIABLE_DeclSet_98_98;

                ll_backend__llds_out__llds_out_data__output_record_rval_decls_format_11_p_0(Info_12, Stream_13, SubRvalA_60, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_85, &STATE_VARIABLE_N_94_94, STATE_VARIABLE_DeclSet_0_87, &STATE_VARIABLE_DeclSet_95_95);
                ll_backend__llds_out__llds_out_data__output_record_rval_decls_format_11_p_0(Info_12, Stream_13, SubRvalB_61, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_94_94, &STATE_VARIABLE_N_97_97, STATE_VARIABLE_DeclSet_95_95, &STATE_VARIABLE_DeclSet_98_98);
                switch (MR_tag((MR_Word) Op_59)) {
                  default: /*NOTREACHED*/ MR_assert(0);
                  case (MR_Integer) 0:
                    switch (MR_unmkbody(Op_59)) {
                      default: /*NOTREACHED*/ MR_assert(0);
                      case (MR_Integer) 0:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 1:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 2:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 3:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 4:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 5:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 6:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 7:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 8:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 9:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 10:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 11:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 12:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 13:
                        {
                          MR_Word UnboxFloat_63 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 8)) & (MR_Integer) 1);
                          MR_Word StaticGroundFloats_183 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 6)) & (MR_Integer) 1);
                          MR_String FloatName_181;

                          succeeded = (UnboxFloat_63 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            succeeded = (StaticGroundFloats_183 == (MR_Integer) 0);
                            if (succeeded)
                              succeeded = ll_backend__llds_out__llds_out_data__float_const_binop_expr_name_4_p_0(Op_59, SubRvalA_60, SubRvalB_61, &FloatName_181);
                          }
                          if (succeeded)
                          {
                            MR_Word FloatLabel_180;

                            {
                              FloatLabel_180 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
                              MR_hl_field(MR_mktag(0), FloatLabel_180, 0) = ((MR_Box) (FloatName_181));
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(FloatLabel_180, STATE_VARIABLE_DeclSet_98_98);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                            }
                            else
                            {
                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(FloatLabel_180, STATE_VARIABLE_DeclSet_98_98, &STATE_VARIABLE_DeclSet_88);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_97_97);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_97_97 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const ");
                              ll_backend__llds_out__llds_out_data__output_llds_type_4_p_0(Stream_13, (MR_Word) ((MR_Unsigned) 4U));
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " mercury_float_const_");
                              mercury__io__write_string_4_p_0(Stream_13, FloatName_181);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalA_60, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "+");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalB_61, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          }
                        }
                        break;
                      case (MR_Integer) 14:
                        {
                          MR_Word UnboxFloat_920 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 8)) & (MR_Integer) 1);
                          MR_Word StaticGroundFloats_944 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 6)) & (MR_Integer) 1);
                          MR_String FloatName_918;

                          succeeded = (UnboxFloat_920 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            succeeded = (StaticGroundFloats_944 == (MR_Integer) 0);
                            if (succeeded)
                              succeeded = ll_backend__llds_out__llds_out_data__float_const_binop_expr_name_4_p_0(Op_59, SubRvalA_60, SubRvalB_61, &FloatName_918);
                          }
                          if (succeeded)
                          {
                            MR_Word FloatLabel_895;

                            {
                              FloatLabel_895 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
                              MR_hl_field(MR_mktag(0), FloatLabel_895, 0) = ((MR_Box) (FloatName_918));
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(FloatLabel_895, STATE_VARIABLE_DeclSet_98_98);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                            }
                            else
                            {
                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(FloatLabel_895, STATE_VARIABLE_DeclSet_98_98, &STATE_VARIABLE_DeclSet_88);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_97_97);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_97_97 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const ");
                              ll_backend__llds_out__llds_out_data__output_llds_type_4_p_0(Stream_13, (MR_Word) ((MR_Unsigned) 4U));
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " mercury_float_const_");
                              mercury__io__write_string_4_p_0(Stream_13, FloatName_918);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalA_60, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "-");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalB_61, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          }
                        }
                        break;
                      case (MR_Integer) 15:
                        {
                          MR_Word UnboxFloat_715 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 8)) & (MR_Integer) 1);
                          MR_Word StaticGroundFloats_739 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 6)) & (MR_Integer) 1);
                          MR_String FloatName_713;

                          succeeded = (UnboxFloat_715 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            succeeded = (StaticGroundFloats_739 == (MR_Integer) 0);
                            if (succeeded)
                              succeeded = ll_backend__llds_out__llds_out_data__float_const_binop_expr_name_4_p_0(Op_59, SubRvalA_60, SubRvalB_61, &FloatName_713);
                          }
                          if (succeeded)
                          {
                            MR_Word FloatLabel_690;

                            {
                              FloatLabel_690 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
                              MR_hl_field(MR_mktag(0), FloatLabel_690, 0) = ((MR_Box) (FloatName_713));
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(FloatLabel_690, STATE_VARIABLE_DeclSet_98_98);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                            }
                            else
                            {
                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(FloatLabel_690, STATE_VARIABLE_DeclSet_98_98, &STATE_VARIABLE_DeclSet_88);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_97_97);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_97_97 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const ");
                              ll_backend__llds_out__llds_out_data__output_llds_type_4_p_0(Stream_13, (MR_Word) ((MR_Unsigned) 4U));
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " mercury_float_const_");
                              mercury__io__write_string_4_p_0(Stream_13, FloatName_713);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalA_60, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "*");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalB_61, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          }
                        }
                        break;
                      case (MR_Integer) 16:
                        {
                          MR_Word UnboxFloat_510 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 8)) & (MR_Integer) 1);
                          MR_Word StaticGroundFloats_534 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 6)) & (MR_Integer) 1);
                          MR_String FloatName_508;

                          succeeded = (UnboxFloat_510 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            succeeded = (StaticGroundFloats_534 == (MR_Integer) 0);
                            if (succeeded)
                              succeeded = ll_backend__llds_out__llds_out_data__float_const_binop_expr_name_4_p_0(Op_59, SubRvalA_60, SubRvalB_61, &FloatName_508);
                          }
                          if (succeeded)
                          {
                            MR_Word FloatLabel_485;

                            {
                              FloatLabel_485 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
                              MR_hl_field(MR_mktag(0), FloatLabel_485, 0) = ((MR_Box) (FloatName_508));
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(FloatLabel_485, STATE_VARIABLE_DeclSet_98_98);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                            }
                            else
                            {
                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(FloatLabel_485, STATE_VARIABLE_DeclSet_98_98, &STATE_VARIABLE_DeclSet_88);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_97_97);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_97_97 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const ");
                              ll_backend__llds_out__llds_out_data__output_llds_type_4_p_0(Stream_13, (MR_Word) ((MR_Unsigned) 4U));
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " mercury_float_const_");
                              mercury__io__write_string_4_p_0(Stream_13, FloatName_508);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalA_60, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "/");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalB_61, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          }
                        }
                        break;
                      case (MR_Integer) 17:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 18:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 19:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 20:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 21:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 22:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 23:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 24:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 25:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 26:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 27:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 28:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                    }
                    break;
                  case (MR_Integer) 1:
                    {
                      STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                      STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                    }
                    break;
                  case (MR_Integer) 2:
                    {
                      STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                      STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                    }
                    break;
                  case (MR_Integer) 3:
                    switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), Op_59, (MR_Integer) 0))))) {
                      default: /*NOTREACHED*/ MR_assert(0);
                      case (MR_Integer) 0:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 1:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 2:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 3:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 4:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 5:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 6:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 7:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 8:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 9:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 10:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 11:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 12:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 13:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 14:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 15:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                    }
                    break;
                }
              }
              break;
            case (MR_Integer) 5:
              {
                MR_Word MemRef_84 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_3_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_3_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_3_input_3_MemRef_14 = MemRef_84;
                MR_String next_value_of_tscc_proc_3_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_3_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_3_input_6_STATE_VARIABLE_N_0_24 = STATE_VARIABLE_N_0_85;
                MR_Word next_value_of_tscc_proc_3_input_7_STATE_VARIABLE_DeclSet_0_26 = STATE_VARIABLE_DeclSet_0_87;

                // direct tailcall eliminated
                ;
                tscc_proc_3_input_1_Info_12 = next_value_of_tscc_proc_3_input_1_Info_12;
                tscc_proc_3_input_2_Stream_13 = next_value_of_tscc_proc_3_input_2_Stream_13;
                tscc_proc_3_input_3_MemRef_14 = next_value_of_tscc_proc_3_input_3_MemRef_14;
                tscc_proc_3_input_4_FirstIndent_15 = next_value_of_tscc_proc_3_input_4_FirstIndent_15;
                tscc_proc_3_input_5_LaterIndent_16 = next_value_of_tscc_proc_3_input_5_LaterIndent_16;
                tscc_proc_3_input_6_STATE_VARIABLE_N_0_24 = next_value_of_tscc_proc_3_input_6_STATE_VARIABLE_N_0_24;
                tscc_proc_3_input_7_STATE_VARIABLE_DeclSet_0_26 = next_value_of_tscc_proc_3_input_7_STATE_VARIABLE_DeclSet_0_26;
                goto top_of_proc_3;
              }
              break;
          }
          break;
      }
      tscc_output_1_STATE_VARIABLE_N_35 = STATE_VARIABLE_N_86;
      tscc_output_2_STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_88;
      goto tscc_end;
    }
  top_of_proc_3:;
    {
      MR_Word Info_12 = tscc_proc_3_input_1_Info_12;
      MR_Word Stream_13 = tscc_proc_3_input_2_Stream_13;
      MR_Word MemRef_14 = tscc_proc_3_input_3_MemRef_14;
      MR_String FirstIndent_15 = tscc_proc_3_input_4_FirstIndent_15;
      MR_String LaterIndent_16 = tscc_proc_3_input_5_LaterIndent_16;
      MR_Integer STATE_VARIABLE_N_0_24 = tscc_proc_3_input_6_STATE_VARIABLE_N_0_24;
      MR_Integer STATE_VARIABLE_N_25;
      MR_Word STATE_VARIABLE_DeclSet_0_26 = tscc_proc_3_input_7_STATE_VARIABLE_DeclSet_0_26;
      MR_Word STATE_VARIABLE_DeclSet_27;

      switch (MR_tag((MR_Word) MemRef_14)) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          {
            MR_Word Rval_39 = ((MR_Word) ((MR_hl_field(MR_mktag(0), MemRef_14, (MR_Integer) 0))));
            MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
            MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
            MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_39;
            MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
            MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
            MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_24;
            MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_26;

            // direct tailcall eliminated
            ;
            tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
            tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
            tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
            tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
            tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
            tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
            tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
            goto top_of_proc_2;
          }
          break;
        case (MR_Integer) 1:
          {
            MR_Word Rval_20 = ((MR_Word) ((MR_hl_field(MR_mktag(1), MemRef_14, (MR_Integer) 0))));
            MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
            MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
            MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_20;
            MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
            MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
            MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_24;
            MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_26;

            // direct tailcall eliminated
            ;
            tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
            tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
            tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
            tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
            tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
            tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
            tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
            goto top_of_proc_2;
          }
          break;
        case (MR_Integer) 2:
          {
            MR_Word BaseRval_21 = ((MR_Word) ((MR_hl_field(MR_mktag(2), MemRef_14, (MR_Integer) 0))));
            MR_Word OffsetRval_23 = ((MR_Word) ((MR_hl_field(MR_mktag(2), MemRef_14, (MR_Integer) 2))));
            MR_Integer STATE_VARIABLE_N_30_30;
            MR_Word STATE_VARIABLE_DeclSet_31_31;
            MR_Word next_value_of_tscc_proc_2_input_1_Info_12;
            MR_Word next_value_of_tscc_proc_2_input_2_Stream_13;
            MR_Word next_value_of_tscc_proc_2_input_3_Rval_14;
            MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15;
            MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16;
            MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
            MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;

            ll_backend__llds_out__llds_out_data__output_record_rval_decls_format_11_p_0(Info_12, Stream_13, BaseRval_21, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_24, &STATE_VARIABLE_N_30_30, STATE_VARIABLE_DeclSet_0_26, &STATE_VARIABLE_DeclSet_31_31);
            // direct tailcall eliminated
            ;
            next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
            next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
            next_value_of_tscc_proc_2_input_3_Rval_14 = OffsetRval_23;
            next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
            next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
            next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_30_30;
            next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_31_31;
            tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
            tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
            tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
            tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
            tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
            tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
            tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
            goto top_of_proc_2;
          }
          break;
      }
      tscc_output_1_STATE_VARIABLE_N_35 = STATE_VARIABLE_N_25;
      tscc_output_2_STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_27;
      goto tscc_end;
    }
  tscc_end:;
    *tscc_output_ptr_1_STATE_VARIABLE_N_35 = tscc_output_1_STATE_VARIABLE_N_35;
    *tscc_output_ptr_2_STATE_VARIABLE_DeclSet_37 = tscc_output_2_STATE_VARIABLE_DeclSet_37;
    return;
  }
}

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_record_rval_decls_format_11_p_0(
  MR_Word tscc_proc_2_input_1_Info_12,
  MR_Word tscc_proc_2_input_2_Stream_13,
  MR_Word tscc_proc_2_input_3_Rval_14,
  MR_String tscc_proc_2_input_4_FirstIndent_15,
  MR_String tscc_proc_2_input_5_LaterIndent_16,
  MR_Integer tscc_proc_2_input_6_STATE_VARIABLE_N_0_85,
  MR_Integer * tscc_output_ptr_1_STATE_VARIABLE_N_35,
  MR_Word tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87,
  MR_Word * tscc_output_ptr_2_STATE_VARIABLE_DeclSet_37)
{
  {
    MR_Word tscc_proc_1_input_1_Info_12;
    MR_Word tscc_proc_1_input_2_Stream_13;
    MR_Word tscc_proc_1_input_3_Lval_14;
    MR_String tscc_proc_1_input_4_FirstIndent_15;
    MR_String tscc_proc_1_input_5_LaterIndent_16;
    MR_Integer tscc_proc_1_input_6_STATE_VARIABLE_N_0_34;
    MR_Word tscc_proc_1_input_7_STATE_VARIABLE_DeclSet_0_36;
    MR_Word tscc_proc_3_input_1_Info_12;
    MR_Word tscc_proc_3_input_2_Stream_13;
    MR_Word tscc_proc_3_input_3_MemRef_14;
    MR_String tscc_proc_3_input_4_FirstIndent_15;
    MR_String tscc_proc_3_input_5_LaterIndent_16;
    MR_Integer tscc_proc_3_input_6_STATE_VARIABLE_N_0_24;
    MR_Word tscc_proc_3_input_7_STATE_VARIABLE_DeclSet_0_26;
    MR_Integer tscc_output_1_STATE_VARIABLE_N_35;
    MR_Word tscc_output_2_STATE_VARIABLE_DeclSet_37;

    // The code for TSCC PROC 2: pred ll_backend.llds_out.llds_out_data.output_record_rval_decls_format/11-0.
    ;
    // Setup for mutual tailcalls optimized into a loop.
    ;
    // The mutually recursive procedures are:
    ;
    ;
    // proc 1 in TSCC: pred ll_backend.llds_out.llds_out_data.output_record_lval_decls_format/11-0
    ;
    // proc 2 in TSCC: pred ll_backend.llds_out.llds_out_data.output_record_rval_decls_format/11-0
    ;
    // proc 3 in TSCC: pred ll_backend.llds_out.llds_out_data.output_record_mem_ref_decls_format/11-0
    ;
    ;
    goto top_of_proc_2;
  top_of_proc_1:;
    {
      MR_Word Info_12 = tscc_proc_1_input_1_Info_12;
      MR_Word Stream_13 = tscc_proc_1_input_2_Stream_13;
      MR_Word Lval_14 = tscc_proc_1_input_3_Lval_14;
      MR_String FirstIndent_15 = tscc_proc_1_input_4_FirstIndent_15;
      MR_String LaterIndent_16 = tscc_proc_1_input_5_LaterIndent_16;
      MR_Integer STATE_VARIABLE_N_0_34 = tscc_proc_1_input_6_STATE_VARIABLE_N_0_34;
      MR_Integer STATE_VARIABLE_N_35;
      MR_Word STATE_VARIABLE_DeclSet_0_36 = tscc_proc_1_input_7_STATE_VARIABLE_DeclSet_0_36;
      MR_Word STATE_VARIABLE_DeclSet_37;
      MR_bool succeeded;

      switch (MR_tag((MR_Word) Lval_14)) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          switch (MR_unmkbody(Lval_14)) {
            default: /*NOTREACHED*/ MR_assert(0);
            case (MR_Integer) 0:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 1:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 2:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 3:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 4:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 5:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
          }
          break;
        case (MR_Integer) 1:
          {
            STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
            STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
          }
          break;
        case (MR_Integer) 2:
          {
            STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
            STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
          }
          break;
        case (MR_Integer) 3:
          switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 0))))) {
            default: /*NOTREACHED*/ MR_assert(0);
            case (MR_Integer) 0:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 1:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 2:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 3:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 4:
              {
                MR_Word Rval_58 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_58;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_34;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_36;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 5:
              {
                MR_Word Rval_57 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_57;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_34;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_36;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 6:
              {
                MR_Word Rval_56 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_56;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_34;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_36;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 7:
              {
                MR_Word Rval_55 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_55;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_34;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_36;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 8:
              {
                MR_Word Rval_54 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_54;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_34;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_36;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 9:
              {
                MR_Word Rval_21 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 2))));
                MR_Word FieldNum_22 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 3))));
                MR_Integer STATE_VARIABLE_N_47_47;
                MR_Word STATE_VARIABLE_DeclSet_48_48;
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;

                ll_backend__llds_out__llds_out_data__output_record_rval_decls_format_11_p_0(Info_12, Stream_13, Rval_21, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_34, &STATE_VARIABLE_N_47_47, STATE_VARIABLE_DeclSet_0_36, &STATE_VARIABLE_DeclSet_48_48);
                // direct tailcall eliminated
                ;
                next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                next_value_of_tscc_proc_2_input_3_Rval_14 = FieldNum_22;
                next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_47_47;
                next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_48_48;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 10:
              {
                MR_Word Rval_53 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_53;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_34;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_36;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 11:
              {
                MR_Word CGlobalVar_33 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word Var_40;

                {
                  Var_40 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                  MR_hl_field(MR_mktag(3), Var_40, 0) = ((MR_Box) ((MR_Unsigned) 6U));
                  MR_hl_field(MR_mktag(3), Var_40, 1) = ((MR_Box) (CGlobalVar_33));
                }
                succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(Var_40, STATE_VARIABLE_DeclSet_0_36);
                if (!(succeeded))
                  {
                    mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_record_lval_decls_format\'/11", (MR_String) "global_var_ref");
                    return;
                  }
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 12:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
          }
          break;
      }
      tscc_output_1_STATE_VARIABLE_N_35 = STATE_VARIABLE_N_35;
      tscc_output_2_STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_37;
      goto tscc_end;
    }
  top_of_proc_2:;
    {
      MR_Word Info_12 = tscc_proc_2_input_1_Info_12;
      MR_Word Stream_13 = tscc_proc_2_input_2_Stream_13;
      MR_Word Rval_14 = tscc_proc_2_input_3_Rval_14;
      MR_String FirstIndent_15 = tscc_proc_2_input_4_FirstIndent_15;
      MR_String LaterIndent_16 = tscc_proc_2_input_5_LaterIndent_16;
      MR_Integer STATE_VARIABLE_N_0_85 = tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
      MR_Integer STATE_VARIABLE_N_86;
      MR_Word STATE_VARIABLE_DeclSet_0_87 = tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
      MR_Word STATE_VARIABLE_DeclSet_88;
      MR_bool succeeded;

      switch (MR_tag((MR_Word) Rval_14)) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          {
            MR_Word Lval_20 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Rval_14, (MR_Integer) 0))));
            MR_Word next_value_of_tscc_proc_1_input_1_Info_12 = Info_12;
            MR_Word next_value_of_tscc_proc_1_input_2_Stream_13 = Stream_13;
            MR_Word next_value_of_tscc_proc_1_input_3_Lval_14 = Lval_20;
            MR_String next_value_of_tscc_proc_1_input_4_FirstIndent_15 = FirstIndent_15;
            MR_String next_value_of_tscc_proc_1_input_5_LaterIndent_16 = LaterIndent_16;
            MR_Integer next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_N_0_34 = STATE_VARIABLE_N_0_85;
            MR_Word next_value_of_tscc_proc_1_input_7_STATE_VARIABLE_DeclSet_0_36 = STATE_VARIABLE_DeclSet_0_87;

            // direct tailcall eliminated
            ;
            tscc_proc_1_input_1_Info_12 = next_value_of_tscc_proc_1_input_1_Info_12;
            tscc_proc_1_input_2_Stream_13 = next_value_of_tscc_proc_1_input_2_Stream_13;
            tscc_proc_1_input_3_Lval_14 = next_value_of_tscc_proc_1_input_3_Lval_14;
            tscc_proc_1_input_4_FirstIndent_15 = next_value_of_tscc_proc_1_input_4_FirstIndent_15;
            tscc_proc_1_input_5_LaterIndent_16 = next_value_of_tscc_proc_1_input_5_LaterIndent_16;
            tscc_proc_1_input_6_STATE_VARIABLE_N_0_34 = next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_N_0_34;
            tscc_proc_1_input_7_STATE_VARIABLE_DeclSet_0_36 = next_value_of_tscc_proc_1_input_7_STATE_VARIABLE_DeclSet_0_36;
            goto top_of_proc_1;
          }
          break;
        case (MR_Integer) 1:
          {
            mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_record_rval_decls_format\'/11", (MR_String) "var");
            return;
          }
          break;
        case (MR_Integer) 2:
          {
            MR_Word SubRval_991 = ((MR_Word) ((MR_hl_field(MR_mktag(2), Rval_14, (MR_Integer) 1))));
            MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
            MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
            MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = SubRval_991;
            MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
            MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
            MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_85;
            MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_87;

            // direct tailcall eliminated
            ;
            tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
            tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
            tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
            tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
            tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
            tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
            tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
            goto top_of_proc_2;
          }
          break;
        case (MR_Integer) 3:
          switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 0))))) {
            default: /*NOTREACHED*/ MR_assert(0);
            case (MR_Integer) 0:
              {
                STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
              }
              break;
            case (MR_Integer) 1:
              {
                MR_Word Const_23 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 1))));

                switch (MR_tag((MR_Word) Const_23)) {
                  default: /*NOTREACHED*/ MR_assert(0);
                  case (MR_Integer) 0:
                    switch (MR_unmkbody(Const_23)) {
                      default: /*NOTREACHED*/ MR_assert(0);
                      case (MR_Integer) 0:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 1:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                    }
                    break;
                  case (MR_Integer) 1:
                    {
                      STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                      STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                    }
                    break;
                  case (MR_Integer) 2:
                    {
                      STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                      STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                    }
                    break;
                  case (MR_Integer) 3:
                    switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), Const_23, (MR_Integer) 0))))) {
                      default: /*NOTREACHED*/ MR_assert(0);
                      case (MR_Integer) 0:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 1:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 2:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 3:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 4:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 5:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 6:
                        {
                          int64_t Int64Val_33 = MR_unbox_int64((MR_hl_field(MR_mktag(3), Const_23, (MR_Integer) 1)));
                          MR_Word UnboxedInt64s_34 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 5)) & (MR_Integer) 1);
                          MR_Word StaticGroundInt64s_35 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 4)) & (MR_Integer) 1);

                          succeeded = (UnboxedInt64s_34 == (MR_Integer) 0);
                          if (succeeded)
                            succeeded = (StaticGroundInt64s_35 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            MR_Word Int64Label_36;

                            {
                              Int64Label_36 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                              MR_hl_field(MR_mktag(1), Int64Label_36, 0) = MR_box_int64(Int64Val_33);
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(Int64Label_36, STATE_VARIABLE_DeclSet_0_87);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                            }
                            else
                            {
                              MR_String Int64Name_37;
                              MR_String Int64String_38;

                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(Int64Label_36, STATE_VARIABLE_DeclSet_0_87, &STATE_VARIABLE_DeclSet_88);
                              ll_backend__llds_out__llds_out_data__int64_literal_name_2_p_0(Int64Val_33, &Int64Name_37);
                              Int64String_38 = backend_libs__c_util__make_int64_literal_1_f_0(Int64Val_33);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_85);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_0_85 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const int64_t mercury_int64_const_");
                              mercury__io__write_string_4_p_0(Stream_13, Int64Name_37);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              mercury__io__write_string_4_p_0(Stream_13, Int64String_38);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          }
                        }
                        break;
                      case (MR_Integer) 7:
                        {
                          uint64_t UInt64Val_39 = MR_unbox_uint64((MR_hl_field(MR_mktag(3), Const_23, (MR_Integer) 1)));
                          MR_Word UnboxedInt64s_178 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 5)) & (MR_Integer) 1);
                          MR_Word StaticGroundInt64s_179 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 4)) & (MR_Integer) 1);

                          succeeded = (UnboxedInt64s_178 == (MR_Integer) 0);
                          if (succeeded)
                            succeeded = (StaticGroundInt64s_179 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            MR_Word UInt64Label_40;

                            {
                              UInt64Label_40 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                              MR_hl_field(MR_mktag(2), UInt64Label_40, 0) = MR_box_uint64(UInt64Val_39);
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(UInt64Label_40, STATE_VARIABLE_DeclSet_0_87);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                            }
                            else
                            {
                              MR_String UInt64Name_41;
                              MR_String UInt64String_42;

                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(UInt64Label_40, STATE_VARIABLE_DeclSet_0_87, &STATE_VARIABLE_DeclSet_88);
                              ll_backend__llds_out__llds_out_data__uint64_literal_name_2_p_0(UInt64Val_39, &UInt64Name_41);
                              UInt64String_42 = backend_libs__c_util__make_uint64_literal_1_f_0(UInt64Val_39);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_85);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_0_85 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const uint64_t mercury_uint64_const_");
                              mercury__io__write_string_4_p_0(Stream_13, UInt64Name_41);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              mercury__io__write_string_4_p_0(Stream_13, UInt64String_42);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          }
                        }
                        break;
                      case (MR_Integer) 8:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 9:
                        {
                          MR_Float FloatVal_27 = MR_unbox_float((MR_hl_field(MR_mktag(3), Const_23, (MR_Integer) 1)));
                          MR_Word UnboxedFloat_28 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 8)) & (MR_Integer) 1);
                          MR_Word StaticGroundFloats_29 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 6)) & (MR_Integer) 1);

                          succeeded = (UnboxedFloat_28 == (MR_Integer) 0);
                          if (succeeded)
                            succeeded = (StaticGroundFloats_29 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            MR_String FloatName_30;
                            MR_Word FloatLabel_31;

                            ll_backend__llds_out__llds_out_data__float_literal_name_2_p_0(FloatVal_27, &FloatName_30);
                            {
                              FloatLabel_31 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
                              MR_hl_field(MR_mktag(0), FloatLabel_31, 0) = ((MR_Box) (FloatName_30));
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(FloatLabel_31, STATE_VARIABLE_DeclSet_0_87);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                            }
                            else
                            {
                              MR_String FloatString_32;

                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(FloatLabel_31, STATE_VARIABLE_DeclSet_0_87, &STATE_VARIABLE_DeclSet_88);
                              FloatString_32 = backend_libs__c_util__make_float_literal_1_f_0(FloatVal_27);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_85);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_0_85 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const MR_Float mercury_float_const_");
                              mercury__io__write_string_4_p_0(Stream_13, FloatName_30);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              mercury__io__write_string_4_p_0(Stream_13, FloatString_32);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          }
                        }
                        break;
                      case (MR_Integer) 10:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 11:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 12:
                        {
                          MR_Word CodeAddress_24 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Const_23, (MR_Integer) 1))));

                          ll_backend__llds_out__llds_out_code_addr__output_record_code_addr_decls_format_11_p_0(Info_12, Stream_13, CodeAddress_24, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_85, &STATE_VARIABLE_N_86, STATE_VARIABLE_DeclSet_0_87, &STATE_VARIABLE_DeclSet_88);
                        }
                        break;
                      case (MR_Integer) 13:
                        {
                          MR_Word DataId_25 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Const_23, (MR_Integer) 1))));

                          ll_backend__llds_out__llds_out_data__output_record_data_id_decls_format_11_p_0(Info_12, Stream_13, DataId_25, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_85, &STATE_VARIABLE_N_86, STATE_VARIABLE_DeclSet_0_87, &STATE_VARIABLE_DeclSet_88);
                        }
                        break;
                    }
                    break;
                }
              }
              break;
            case (MR_Integer) 2:
              {
                MR_Word SubRval_56 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 2))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = SubRval_56;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_85;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_87;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 3:
              {
                MR_Word SubRval_992 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 2))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = SubRval_992;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_85;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_87;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 4:
              {
                MR_Word Op_59 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 1))));
                MR_Word SubRvalA_60 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 2))));
                MR_Word SubRvalB_61 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 3))));
                MR_Integer STATE_VARIABLE_N_94_94;
                MR_Word STATE_VARIABLE_DeclSet_95_95;
                MR_Integer STATE_VARIABLE_N_97_97;
                MR_Word STATE_VARIABLE_DeclSet_98_98;

                ll_backend__llds_out__llds_out_data__output_record_rval_decls_format_11_p_0(Info_12, Stream_13, SubRvalA_60, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_85, &STATE_VARIABLE_N_94_94, STATE_VARIABLE_DeclSet_0_87, &STATE_VARIABLE_DeclSet_95_95);
                ll_backend__llds_out__llds_out_data__output_record_rval_decls_format_11_p_0(Info_12, Stream_13, SubRvalB_61, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_94_94, &STATE_VARIABLE_N_97_97, STATE_VARIABLE_DeclSet_95_95, &STATE_VARIABLE_DeclSet_98_98);
                switch (MR_tag((MR_Word) Op_59)) {
                  default: /*NOTREACHED*/ MR_assert(0);
                  case (MR_Integer) 0:
                    switch (MR_unmkbody(Op_59)) {
                      default: /*NOTREACHED*/ MR_assert(0);
                      case (MR_Integer) 0:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 1:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 2:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 3:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 4:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 5:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 6:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 7:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 8:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 9:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 10:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 11:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 12:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 13:
                        {
                          MR_Word UnboxFloat_63 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 8)) & (MR_Integer) 1);
                          MR_Word StaticGroundFloats_183 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 6)) & (MR_Integer) 1);
                          MR_String FloatName_181;

                          succeeded = (UnboxFloat_63 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            succeeded = (StaticGroundFloats_183 == (MR_Integer) 0);
                            if (succeeded)
                              succeeded = ll_backend__llds_out__llds_out_data__float_const_binop_expr_name_4_p_0(Op_59, SubRvalA_60, SubRvalB_61, &FloatName_181);
                          }
                          if (succeeded)
                          {
                            MR_Word FloatLabel_180;

                            {
                              FloatLabel_180 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
                              MR_hl_field(MR_mktag(0), FloatLabel_180, 0) = ((MR_Box) (FloatName_181));
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(FloatLabel_180, STATE_VARIABLE_DeclSet_98_98);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                            }
                            else
                            {
                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(FloatLabel_180, STATE_VARIABLE_DeclSet_98_98, &STATE_VARIABLE_DeclSet_88);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_97_97);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_97_97 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const ");
                              ll_backend__llds_out__llds_out_data__output_llds_type_4_p_0(Stream_13, (MR_Word) ((MR_Unsigned) 4U));
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " mercury_float_const_");
                              mercury__io__write_string_4_p_0(Stream_13, FloatName_181);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalA_60, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "+");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalB_61, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          }
                        }
                        break;
                      case (MR_Integer) 14:
                        {
                          MR_Word UnboxFloat_920 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 8)) & (MR_Integer) 1);
                          MR_Word StaticGroundFloats_944 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 6)) & (MR_Integer) 1);
                          MR_String FloatName_918;

                          succeeded = (UnboxFloat_920 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            succeeded = (StaticGroundFloats_944 == (MR_Integer) 0);
                            if (succeeded)
                              succeeded = ll_backend__llds_out__llds_out_data__float_const_binop_expr_name_4_p_0(Op_59, SubRvalA_60, SubRvalB_61, &FloatName_918);
                          }
                          if (succeeded)
                          {
                            MR_Word FloatLabel_895;

                            {
                              FloatLabel_895 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
                              MR_hl_field(MR_mktag(0), FloatLabel_895, 0) = ((MR_Box) (FloatName_918));
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(FloatLabel_895, STATE_VARIABLE_DeclSet_98_98);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                            }
                            else
                            {
                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(FloatLabel_895, STATE_VARIABLE_DeclSet_98_98, &STATE_VARIABLE_DeclSet_88);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_97_97);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_97_97 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const ");
                              ll_backend__llds_out__llds_out_data__output_llds_type_4_p_0(Stream_13, (MR_Word) ((MR_Unsigned) 4U));
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " mercury_float_const_");
                              mercury__io__write_string_4_p_0(Stream_13, FloatName_918);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalA_60, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "-");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalB_61, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          }
                        }
                        break;
                      case (MR_Integer) 15:
                        {
                          MR_Word UnboxFloat_715 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 8)) & (MR_Integer) 1);
                          MR_Word StaticGroundFloats_739 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 6)) & (MR_Integer) 1);
                          MR_String FloatName_713;

                          succeeded = (UnboxFloat_715 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            succeeded = (StaticGroundFloats_739 == (MR_Integer) 0);
                            if (succeeded)
                              succeeded = ll_backend__llds_out__llds_out_data__float_const_binop_expr_name_4_p_0(Op_59, SubRvalA_60, SubRvalB_61, &FloatName_713);
                          }
                          if (succeeded)
                          {
                            MR_Word FloatLabel_690;

                            {
                              FloatLabel_690 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
                              MR_hl_field(MR_mktag(0), FloatLabel_690, 0) = ((MR_Box) (FloatName_713));
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(FloatLabel_690, STATE_VARIABLE_DeclSet_98_98);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                            }
                            else
                            {
                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(FloatLabel_690, STATE_VARIABLE_DeclSet_98_98, &STATE_VARIABLE_DeclSet_88);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_97_97);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_97_97 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const ");
                              ll_backend__llds_out__llds_out_data__output_llds_type_4_p_0(Stream_13, (MR_Word) ((MR_Unsigned) 4U));
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " mercury_float_const_");
                              mercury__io__write_string_4_p_0(Stream_13, FloatName_713);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalA_60, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "*");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalB_61, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          }
                        }
                        break;
                      case (MR_Integer) 16:
                        {
                          MR_Word UnboxFloat_510 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 8)) & (MR_Integer) 1);
                          MR_Word StaticGroundFloats_534 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 6)) & (MR_Integer) 1);
                          MR_String FloatName_508;

                          succeeded = (UnboxFloat_510 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            succeeded = (StaticGroundFloats_534 == (MR_Integer) 0);
                            if (succeeded)
                              succeeded = ll_backend__llds_out__llds_out_data__float_const_binop_expr_name_4_p_0(Op_59, SubRvalA_60, SubRvalB_61, &FloatName_508);
                          }
                          if (succeeded)
                          {
                            MR_Word FloatLabel_485;

                            {
                              FloatLabel_485 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
                              MR_hl_field(MR_mktag(0), FloatLabel_485, 0) = ((MR_Box) (FloatName_508));
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(FloatLabel_485, STATE_VARIABLE_DeclSet_98_98);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                            }
                            else
                            {
                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(FloatLabel_485, STATE_VARIABLE_DeclSet_98_98, &STATE_VARIABLE_DeclSet_88);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_97_97);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_97_97 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const ");
                              ll_backend__llds_out__llds_out_data__output_llds_type_4_p_0(Stream_13, (MR_Word) ((MR_Unsigned) 4U));
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " mercury_float_const_");
                              mercury__io__write_string_4_p_0(Stream_13, FloatName_508);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalA_60, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "/");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalB_61, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          }
                        }
                        break;
                      case (MR_Integer) 17:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 18:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 19:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 20:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 21:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 22:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 23:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 24:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 25:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 26:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 27:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 28:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                    }
                    break;
                  case (MR_Integer) 1:
                    {
                      STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                      STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                    }
                    break;
                  case (MR_Integer) 2:
                    {
                      STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                      STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                    }
                    break;
                  case (MR_Integer) 3:
                    switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), Op_59, (MR_Integer) 0))))) {
                      default: /*NOTREACHED*/ MR_assert(0);
                      case (MR_Integer) 0:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 1:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 2:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 3:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 4:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 5:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 6:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 7:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 8:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 9:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 10:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 11:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 12:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 13:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 14:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 15:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                    }
                    break;
                }
              }
              break;
            case (MR_Integer) 5:
              {
                MR_Word MemRef_84 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_3_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_3_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_3_input_3_MemRef_14 = MemRef_84;
                MR_String next_value_of_tscc_proc_3_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_3_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_3_input_6_STATE_VARIABLE_N_0_24 = STATE_VARIABLE_N_0_85;
                MR_Word next_value_of_tscc_proc_3_input_7_STATE_VARIABLE_DeclSet_0_26 = STATE_VARIABLE_DeclSet_0_87;

                // direct tailcall eliminated
                ;
                tscc_proc_3_input_1_Info_12 = next_value_of_tscc_proc_3_input_1_Info_12;
                tscc_proc_3_input_2_Stream_13 = next_value_of_tscc_proc_3_input_2_Stream_13;
                tscc_proc_3_input_3_MemRef_14 = next_value_of_tscc_proc_3_input_3_MemRef_14;
                tscc_proc_3_input_4_FirstIndent_15 = next_value_of_tscc_proc_3_input_4_FirstIndent_15;
                tscc_proc_3_input_5_LaterIndent_16 = next_value_of_tscc_proc_3_input_5_LaterIndent_16;
                tscc_proc_3_input_6_STATE_VARIABLE_N_0_24 = next_value_of_tscc_proc_3_input_6_STATE_VARIABLE_N_0_24;
                tscc_proc_3_input_7_STATE_VARIABLE_DeclSet_0_26 = next_value_of_tscc_proc_3_input_7_STATE_VARIABLE_DeclSet_0_26;
                goto top_of_proc_3;
              }
              break;
          }
          break;
      }
      tscc_output_1_STATE_VARIABLE_N_35 = STATE_VARIABLE_N_86;
      tscc_output_2_STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_88;
      goto tscc_end;
    }
  top_of_proc_3:;
    {
      MR_Word Info_12 = tscc_proc_3_input_1_Info_12;
      MR_Word Stream_13 = tscc_proc_3_input_2_Stream_13;
      MR_Word MemRef_14 = tscc_proc_3_input_3_MemRef_14;
      MR_String FirstIndent_15 = tscc_proc_3_input_4_FirstIndent_15;
      MR_String LaterIndent_16 = tscc_proc_3_input_5_LaterIndent_16;
      MR_Integer STATE_VARIABLE_N_0_24 = tscc_proc_3_input_6_STATE_VARIABLE_N_0_24;
      MR_Integer STATE_VARIABLE_N_25;
      MR_Word STATE_VARIABLE_DeclSet_0_26 = tscc_proc_3_input_7_STATE_VARIABLE_DeclSet_0_26;
      MR_Word STATE_VARIABLE_DeclSet_27;

      switch (MR_tag((MR_Word) MemRef_14)) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          {
            MR_Word Rval_39 = ((MR_Word) ((MR_hl_field(MR_mktag(0), MemRef_14, (MR_Integer) 0))));
            MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
            MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
            MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_39;
            MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
            MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
            MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_24;
            MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_26;

            // direct tailcall eliminated
            ;
            tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
            tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
            tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
            tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
            tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
            tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
            tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
            goto top_of_proc_2;
          }
          break;
        case (MR_Integer) 1:
          {
            MR_Word Rval_20 = ((MR_Word) ((MR_hl_field(MR_mktag(1), MemRef_14, (MR_Integer) 0))));
            MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
            MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
            MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_20;
            MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
            MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
            MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_24;
            MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_26;

            // direct tailcall eliminated
            ;
            tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
            tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
            tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
            tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
            tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
            tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
            tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
            goto top_of_proc_2;
          }
          break;
        case (MR_Integer) 2:
          {
            MR_Word BaseRval_21 = ((MR_Word) ((MR_hl_field(MR_mktag(2), MemRef_14, (MR_Integer) 0))));
            MR_Word OffsetRval_23 = ((MR_Word) ((MR_hl_field(MR_mktag(2), MemRef_14, (MR_Integer) 2))));
            MR_Integer STATE_VARIABLE_N_30_30;
            MR_Word STATE_VARIABLE_DeclSet_31_31;
            MR_Word next_value_of_tscc_proc_2_input_1_Info_12;
            MR_Word next_value_of_tscc_proc_2_input_2_Stream_13;
            MR_Word next_value_of_tscc_proc_2_input_3_Rval_14;
            MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15;
            MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16;
            MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
            MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;

            ll_backend__llds_out__llds_out_data__output_record_rval_decls_format_11_p_0(Info_12, Stream_13, BaseRval_21, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_24, &STATE_VARIABLE_N_30_30, STATE_VARIABLE_DeclSet_0_26, &STATE_VARIABLE_DeclSet_31_31);
            // direct tailcall eliminated
            ;
            next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
            next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
            next_value_of_tscc_proc_2_input_3_Rval_14 = OffsetRval_23;
            next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
            next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
            next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_30_30;
            next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_31_31;
            tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
            tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
            tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
            tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
            tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
            tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
            tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
            goto top_of_proc_2;
          }
          break;
      }
      tscc_output_1_STATE_VARIABLE_N_35 = STATE_VARIABLE_N_25;
      tscc_output_2_STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_27;
      goto tscc_end;
    }
  tscc_end:;
    *tscc_output_ptr_1_STATE_VARIABLE_N_35 = tscc_output_1_STATE_VARIABLE_N_35;
    *tscc_output_ptr_2_STATE_VARIABLE_DeclSet_37 = tscc_output_2_STATE_VARIABLE_DeclSet_37;
    return;
  }
}

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_record_mem_ref_decls_format_11_p_0(
  MR_Word tscc_proc_3_input_1_Info_12,
  MR_Word tscc_proc_3_input_2_Stream_13,
  MR_Word tscc_proc_3_input_3_MemRef_14,
  MR_String tscc_proc_3_input_4_FirstIndent_15,
  MR_String tscc_proc_3_input_5_LaterIndent_16,
  MR_Integer tscc_proc_3_input_6_STATE_VARIABLE_N_0_24,
  MR_Integer * tscc_output_ptr_1_STATE_VARIABLE_N_35,
  MR_Word tscc_proc_3_input_7_STATE_VARIABLE_DeclSet_0_26,
  MR_Word * tscc_output_ptr_2_STATE_VARIABLE_DeclSet_37)
{
  {
    MR_Word tscc_proc_1_input_1_Info_12;
    MR_Word tscc_proc_1_input_2_Stream_13;
    MR_Word tscc_proc_1_input_3_Lval_14;
    MR_String tscc_proc_1_input_4_FirstIndent_15;
    MR_String tscc_proc_1_input_5_LaterIndent_16;
    MR_Integer tscc_proc_1_input_6_STATE_VARIABLE_N_0_34;
    MR_Word tscc_proc_1_input_7_STATE_VARIABLE_DeclSet_0_36;
    MR_Word tscc_proc_2_input_1_Info_12;
    MR_Word tscc_proc_2_input_2_Stream_13;
    MR_Word tscc_proc_2_input_3_Rval_14;
    MR_String tscc_proc_2_input_4_FirstIndent_15;
    MR_String tscc_proc_2_input_5_LaterIndent_16;
    MR_Integer tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
    MR_Word tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
    MR_Integer tscc_output_1_STATE_VARIABLE_N_35;
    MR_Word tscc_output_2_STATE_VARIABLE_DeclSet_37;

    // The code for TSCC PROC 3: pred ll_backend.llds_out.llds_out_data.output_record_mem_ref_decls_format/11-0.
    ;
    // Setup for mutual tailcalls optimized into a loop.
    ;
    // The mutually recursive procedures are:
    ;
    ;
    // proc 1 in TSCC: pred ll_backend.llds_out.llds_out_data.output_record_lval_decls_format/11-0
    ;
    // proc 2 in TSCC: pred ll_backend.llds_out.llds_out_data.output_record_rval_decls_format/11-0
    ;
    // proc 3 in TSCC: pred ll_backend.llds_out.llds_out_data.output_record_mem_ref_decls_format/11-0
    ;
    ;
    goto top_of_proc_3;
  top_of_proc_1:;
    {
      MR_Word Info_12 = tscc_proc_1_input_1_Info_12;
      MR_Word Stream_13 = tscc_proc_1_input_2_Stream_13;
      MR_Word Lval_14 = tscc_proc_1_input_3_Lval_14;
      MR_String FirstIndent_15 = tscc_proc_1_input_4_FirstIndent_15;
      MR_String LaterIndent_16 = tscc_proc_1_input_5_LaterIndent_16;
      MR_Integer STATE_VARIABLE_N_0_34 = tscc_proc_1_input_6_STATE_VARIABLE_N_0_34;
      MR_Integer STATE_VARIABLE_N_35;
      MR_Word STATE_VARIABLE_DeclSet_0_36 = tscc_proc_1_input_7_STATE_VARIABLE_DeclSet_0_36;
      MR_Word STATE_VARIABLE_DeclSet_37;
      MR_bool succeeded;

      switch (MR_tag((MR_Word) Lval_14)) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          switch (MR_unmkbody(Lval_14)) {
            default: /*NOTREACHED*/ MR_assert(0);
            case (MR_Integer) 0:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 1:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 2:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 3:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 4:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 5:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
          }
          break;
        case (MR_Integer) 1:
          {
            STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
            STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
          }
          break;
        case (MR_Integer) 2:
          {
            STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
            STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
          }
          break;
        case (MR_Integer) 3:
          switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 0))))) {
            default: /*NOTREACHED*/ MR_assert(0);
            case (MR_Integer) 0:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 1:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 2:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 3:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 4:
              {
                MR_Word Rval_58 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_58;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_34;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_36;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 5:
              {
                MR_Word Rval_57 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_57;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_34;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_36;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 6:
              {
                MR_Word Rval_56 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_56;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_34;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_36;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 7:
              {
                MR_Word Rval_55 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_55;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_34;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_36;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 8:
              {
                MR_Word Rval_54 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_54;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_34;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_36;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 9:
              {
                MR_Word Rval_21 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 2))));
                MR_Word FieldNum_22 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 3))));
                MR_Integer STATE_VARIABLE_N_47_47;
                MR_Word STATE_VARIABLE_DeclSet_48_48;
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;

                ll_backend__llds_out__llds_out_data__output_record_rval_decls_format_11_p_0(Info_12, Stream_13, Rval_21, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_34, &STATE_VARIABLE_N_47_47, STATE_VARIABLE_DeclSet_0_36, &STATE_VARIABLE_DeclSet_48_48);
                // direct tailcall eliminated
                ;
                next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                next_value_of_tscc_proc_2_input_3_Rval_14 = FieldNum_22;
                next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_47_47;
                next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_48_48;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 10:
              {
                MR_Word Rval_53 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_53;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_34;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_36;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 11:
              {
                MR_Word CGlobalVar_33 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_14, (MR_Integer) 1))));
                MR_Word Var_40;

                {
                  Var_40 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                  MR_hl_field(MR_mktag(3), Var_40, 0) = ((MR_Box) ((MR_Unsigned) 6U));
                  MR_hl_field(MR_mktag(3), Var_40, 1) = ((MR_Box) (CGlobalVar_33));
                }
                succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(Var_40, STATE_VARIABLE_DeclSet_0_36);
                if (!(succeeded))
                  {
                    mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_record_lval_decls_format\'/11", (MR_String) "global_var_ref");
                    return;
                  }
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
            case (MR_Integer) 12:
              {
                STATE_VARIABLE_N_35 = STATE_VARIABLE_N_0_34;
                STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_0_36;
              }
              break;
          }
          break;
      }
      tscc_output_1_STATE_VARIABLE_N_35 = STATE_VARIABLE_N_35;
      tscc_output_2_STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_37;
      goto tscc_end;
    }
  top_of_proc_2:;
    {
      MR_Word Info_12 = tscc_proc_2_input_1_Info_12;
      MR_Word Stream_13 = tscc_proc_2_input_2_Stream_13;
      MR_Word Rval_14 = tscc_proc_2_input_3_Rval_14;
      MR_String FirstIndent_15 = tscc_proc_2_input_4_FirstIndent_15;
      MR_String LaterIndent_16 = tscc_proc_2_input_5_LaterIndent_16;
      MR_Integer STATE_VARIABLE_N_0_85 = tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
      MR_Integer STATE_VARIABLE_N_86;
      MR_Word STATE_VARIABLE_DeclSet_0_87 = tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
      MR_Word STATE_VARIABLE_DeclSet_88;
      MR_bool succeeded;

      switch (MR_tag((MR_Word) Rval_14)) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          {
            MR_Word Lval_20 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Rval_14, (MR_Integer) 0))));
            MR_Word next_value_of_tscc_proc_1_input_1_Info_12 = Info_12;
            MR_Word next_value_of_tscc_proc_1_input_2_Stream_13 = Stream_13;
            MR_Word next_value_of_tscc_proc_1_input_3_Lval_14 = Lval_20;
            MR_String next_value_of_tscc_proc_1_input_4_FirstIndent_15 = FirstIndent_15;
            MR_String next_value_of_tscc_proc_1_input_5_LaterIndent_16 = LaterIndent_16;
            MR_Integer next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_N_0_34 = STATE_VARIABLE_N_0_85;
            MR_Word next_value_of_tscc_proc_1_input_7_STATE_VARIABLE_DeclSet_0_36 = STATE_VARIABLE_DeclSet_0_87;

            // direct tailcall eliminated
            ;
            tscc_proc_1_input_1_Info_12 = next_value_of_tscc_proc_1_input_1_Info_12;
            tscc_proc_1_input_2_Stream_13 = next_value_of_tscc_proc_1_input_2_Stream_13;
            tscc_proc_1_input_3_Lval_14 = next_value_of_tscc_proc_1_input_3_Lval_14;
            tscc_proc_1_input_4_FirstIndent_15 = next_value_of_tscc_proc_1_input_4_FirstIndent_15;
            tscc_proc_1_input_5_LaterIndent_16 = next_value_of_tscc_proc_1_input_5_LaterIndent_16;
            tscc_proc_1_input_6_STATE_VARIABLE_N_0_34 = next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_N_0_34;
            tscc_proc_1_input_7_STATE_VARIABLE_DeclSet_0_36 = next_value_of_tscc_proc_1_input_7_STATE_VARIABLE_DeclSet_0_36;
            goto top_of_proc_1;
          }
          break;
        case (MR_Integer) 1:
          {
            mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_record_rval_decls_format\'/11", (MR_String) "var");
            return;
          }
          break;
        case (MR_Integer) 2:
          {
            MR_Word SubRval_991 = ((MR_Word) ((MR_hl_field(MR_mktag(2), Rval_14, (MR_Integer) 1))));
            MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
            MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
            MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = SubRval_991;
            MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
            MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
            MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_85;
            MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_87;

            // direct tailcall eliminated
            ;
            tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
            tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
            tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
            tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
            tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
            tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
            tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
            goto top_of_proc_2;
          }
          break;
        case (MR_Integer) 3:
          switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 0))))) {
            default: /*NOTREACHED*/ MR_assert(0);
            case (MR_Integer) 0:
              {
                STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
              }
              break;
            case (MR_Integer) 1:
              {
                MR_Word Const_23 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 1))));

                switch (MR_tag((MR_Word) Const_23)) {
                  default: /*NOTREACHED*/ MR_assert(0);
                  case (MR_Integer) 0:
                    switch (MR_unmkbody(Const_23)) {
                      default: /*NOTREACHED*/ MR_assert(0);
                      case (MR_Integer) 0:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 1:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                    }
                    break;
                  case (MR_Integer) 1:
                    {
                      STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                      STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                    }
                    break;
                  case (MR_Integer) 2:
                    {
                      STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                      STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                    }
                    break;
                  case (MR_Integer) 3:
                    switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), Const_23, (MR_Integer) 0))))) {
                      default: /*NOTREACHED*/ MR_assert(0);
                      case (MR_Integer) 0:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 1:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 2:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 3:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 4:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 5:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 6:
                        {
                          int64_t Int64Val_33 = MR_unbox_int64((MR_hl_field(MR_mktag(3), Const_23, (MR_Integer) 1)));
                          MR_Word UnboxedInt64s_34 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 5)) & (MR_Integer) 1);
                          MR_Word StaticGroundInt64s_35 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 4)) & (MR_Integer) 1);

                          succeeded = (UnboxedInt64s_34 == (MR_Integer) 0);
                          if (succeeded)
                            succeeded = (StaticGroundInt64s_35 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            MR_Word Int64Label_36;

                            {
                              Int64Label_36 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                              MR_hl_field(MR_mktag(1), Int64Label_36, 0) = MR_box_int64(Int64Val_33);
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(Int64Label_36, STATE_VARIABLE_DeclSet_0_87);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                            }
                            else
                            {
                              MR_String Int64Name_37;
                              MR_String Int64String_38;

                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(Int64Label_36, STATE_VARIABLE_DeclSet_0_87, &STATE_VARIABLE_DeclSet_88);
                              ll_backend__llds_out__llds_out_data__int64_literal_name_2_p_0(Int64Val_33, &Int64Name_37);
                              Int64String_38 = backend_libs__c_util__make_int64_literal_1_f_0(Int64Val_33);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_85);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_0_85 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const int64_t mercury_int64_const_");
                              mercury__io__write_string_4_p_0(Stream_13, Int64Name_37);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              mercury__io__write_string_4_p_0(Stream_13, Int64String_38);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          }
                        }
                        break;
                      case (MR_Integer) 7:
                        {
                          uint64_t UInt64Val_39 = MR_unbox_uint64((MR_hl_field(MR_mktag(3), Const_23, (MR_Integer) 1)));
                          MR_Word UnboxedInt64s_178 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 5)) & (MR_Integer) 1);
                          MR_Word StaticGroundInt64s_179 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 4)) & (MR_Integer) 1);

                          succeeded = (UnboxedInt64s_178 == (MR_Integer) 0);
                          if (succeeded)
                            succeeded = (StaticGroundInt64s_179 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            MR_Word UInt64Label_40;

                            {
                              UInt64Label_40 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                              MR_hl_field(MR_mktag(2), UInt64Label_40, 0) = MR_box_uint64(UInt64Val_39);
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(UInt64Label_40, STATE_VARIABLE_DeclSet_0_87);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                            }
                            else
                            {
                              MR_String UInt64Name_41;
                              MR_String UInt64String_42;

                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(UInt64Label_40, STATE_VARIABLE_DeclSet_0_87, &STATE_VARIABLE_DeclSet_88);
                              ll_backend__llds_out__llds_out_data__uint64_literal_name_2_p_0(UInt64Val_39, &UInt64Name_41);
                              UInt64String_42 = backend_libs__c_util__make_uint64_literal_1_f_0(UInt64Val_39);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_85);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_0_85 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const uint64_t mercury_uint64_const_");
                              mercury__io__write_string_4_p_0(Stream_13, UInt64Name_41);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              mercury__io__write_string_4_p_0(Stream_13, UInt64String_42);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          }
                        }
                        break;
                      case (MR_Integer) 8:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 9:
                        {
                          MR_Float FloatVal_27 = MR_unbox_float((MR_hl_field(MR_mktag(3), Const_23, (MR_Integer) 1)));
                          MR_Word UnboxedFloat_28 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 8)) & (MR_Integer) 1);
                          MR_Word StaticGroundFloats_29 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 6)) & (MR_Integer) 1);

                          succeeded = (UnboxedFloat_28 == (MR_Integer) 0);
                          if (succeeded)
                            succeeded = (StaticGroundFloats_29 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            MR_String FloatName_30;
                            MR_Word FloatLabel_31;

                            ll_backend__llds_out__llds_out_data__float_literal_name_2_p_0(FloatVal_27, &FloatName_30);
                            {
                              FloatLabel_31 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
                              MR_hl_field(MR_mktag(0), FloatLabel_31, 0) = ((MR_Box) (FloatName_30));
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(FloatLabel_31, STATE_VARIABLE_DeclSet_0_87);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                            }
                            else
                            {
                              MR_String FloatString_32;

                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(FloatLabel_31, STATE_VARIABLE_DeclSet_0_87, &STATE_VARIABLE_DeclSet_88);
                              FloatString_32 = backend_libs__c_util__make_float_literal_1_f_0(FloatVal_27);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_85);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_0_85 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const MR_Float mercury_float_const_");
                              mercury__io__write_string_4_p_0(Stream_13, FloatName_30);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              mercury__io__write_string_4_p_0(Stream_13, FloatString_32);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          }
                        }
                        break;
                      case (MR_Integer) 10:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 11:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_0_85;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_0_87;
                        }
                        break;
                      case (MR_Integer) 12:
                        {
                          MR_Word CodeAddress_24 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Const_23, (MR_Integer) 1))));

                          ll_backend__llds_out__llds_out_code_addr__output_record_code_addr_decls_format_11_p_0(Info_12, Stream_13, CodeAddress_24, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_85, &STATE_VARIABLE_N_86, STATE_VARIABLE_DeclSet_0_87, &STATE_VARIABLE_DeclSet_88);
                        }
                        break;
                      case (MR_Integer) 13:
                        {
                          MR_Word DataId_25 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Const_23, (MR_Integer) 1))));

                          ll_backend__llds_out__llds_out_data__output_record_data_id_decls_format_11_p_0(Info_12, Stream_13, DataId_25, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_85, &STATE_VARIABLE_N_86, STATE_VARIABLE_DeclSet_0_87, &STATE_VARIABLE_DeclSet_88);
                        }
                        break;
                    }
                    break;
                }
              }
              break;
            case (MR_Integer) 2:
              {
                MR_Word SubRval_56 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 2))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = SubRval_56;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_85;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_87;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 3:
              {
                MR_Word SubRval_992 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 2))));
                MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = SubRval_992;
                MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_85;
                MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_87;

                // direct tailcall eliminated
                ;
                tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
                tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
                tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
                tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
                tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
                tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
                tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
                goto top_of_proc_2;
              }
              break;
            case (MR_Integer) 4:
              {
                MR_Word Op_59 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 1))));
                MR_Word SubRvalA_60 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 2))));
                MR_Word SubRvalB_61 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 3))));
                MR_Integer STATE_VARIABLE_N_94_94;
                MR_Word STATE_VARIABLE_DeclSet_95_95;
                MR_Integer STATE_VARIABLE_N_97_97;
                MR_Word STATE_VARIABLE_DeclSet_98_98;

                ll_backend__llds_out__llds_out_data__output_record_rval_decls_format_11_p_0(Info_12, Stream_13, SubRvalA_60, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_85, &STATE_VARIABLE_N_94_94, STATE_VARIABLE_DeclSet_0_87, &STATE_VARIABLE_DeclSet_95_95);
                ll_backend__llds_out__llds_out_data__output_record_rval_decls_format_11_p_0(Info_12, Stream_13, SubRvalB_61, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_94_94, &STATE_VARIABLE_N_97_97, STATE_VARIABLE_DeclSet_95_95, &STATE_VARIABLE_DeclSet_98_98);
                switch (MR_tag((MR_Word) Op_59)) {
                  default: /*NOTREACHED*/ MR_assert(0);
                  case (MR_Integer) 0:
                    switch (MR_unmkbody(Op_59)) {
                      default: /*NOTREACHED*/ MR_assert(0);
                      case (MR_Integer) 0:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 1:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 2:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 3:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 4:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 5:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 6:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 7:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 8:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 9:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 10:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 11:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 12:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 13:
                        {
                          MR_Word UnboxFloat_63 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 8)) & (MR_Integer) 1);
                          MR_Word StaticGroundFloats_183 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 6)) & (MR_Integer) 1);
                          MR_String FloatName_181;

                          succeeded = (UnboxFloat_63 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            succeeded = (StaticGroundFloats_183 == (MR_Integer) 0);
                            if (succeeded)
                              succeeded = ll_backend__llds_out__llds_out_data__float_const_binop_expr_name_4_p_0(Op_59, SubRvalA_60, SubRvalB_61, &FloatName_181);
                          }
                          if (succeeded)
                          {
                            MR_Word FloatLabel_180;

                            {
                              FloatLabel_180 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
                              MR_hl_field(MR_mktag(0), FloatLabel_180, 0) = ((MR_Box) (FloatName_181));
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(FloatLabel_180, STATE_VARIABLE_DeclSet_98_98);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                            }
                            else
                            {
                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(FloatLabel_180, STATE_VARIABLE_DeclSet_98_98, &STATE_VARIABLE_DeclSet_88);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_97_97);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_97_97 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const ");
                              ll_backend__llds_out__llds_out_data__output_llds_type_4_p_0(Stream_13, (MR_Word) ((MR_Unsigned) 4U));
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " mercury_float_const_");
                              mercury__io__write_string_4_p_0(Stream_13, FloatName_181);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalA_60, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "+");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalB_61, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          }
                        }
                        break;
                      case (MR_Integer) 14:
                        {
                          MR_Word UnboxFloat_920 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 8)) & (MR_Integer) 1);
                          MR_Word StaticGroundFloats_944 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 6)) & (MR_Integer) 1);
                          MR_String FloatName_918;

                          succeeded = (UnboxFloat_920 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            succeeded = (StaticGroundFloats_944 == (MR_Integer) 0);
                            if (succeeded)
                              succeeded = ll_backend__llds_out__llds_out_data__float_const_binop_expr_name_4_p_0(Op_59, SubRvalA_60, SubRvalB_61, &FloatName_918);
                          }
                          if (succeeded)
                          {
                            MR_Word FloatLabel_895;

                            {
                              FloatLabel_895 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
                              MR_hl_field(MR_mktag(0), FloatLabel_895, 0) = ((MR_Box) (FloatName_918));
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(FloatLabel_895, STATE_VARIABLE_DeclSet_98_98);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                            }
                            else
                            {
                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(FloatLabel_895, STATE_VARIABLE_DeclSet_98_98, &STATE_VARIABLE_DeclSet_88);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_97_97);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_97_97 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const ");
                              ll_backend__llds_out__llds_out_data__output_llds_type_4_p_0(Stream_13, (MR_Word) ((MR_Unsigned) 4U));
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " mercury_float_const_");
                              mercury__io__write_string_4_p_0(Stream_13, FloatName_918);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalA_60, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "-");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalB_61, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          }
                        }
                        break;
                      case (MR_Integer) 15:
                        {
                          MR_Word UnboxFloat_715 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 8)) & (MR_Integer) 1);
                          MR_Word StaticGroundFloats_739 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 6)) & (MR_Integer) 1);
                          MR_String FloatName_713;

                          succeeded = (UnboxFloat_715 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            succeeded = (StaticGroundFloats_739 == (MR_Integer) 0);
                            if (succeeded)
                              succeeded = ll_backend__llds_out__llds_out_data__float_const_binop_expr_name_4_p_0(Op_59, SubRvalA_60, SubRvalB_61, &FloatName_713);
                          }
                          if (succeeded)
                          {
                            MR_Word FloatLabel_690;

                            {
                              FloatLabel_690 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
                              MR_hl_field(MR_mktag(0), FloatLabel_690, 0) = ((MR_Box) (FloatName_713));
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(FloatLabel_690, STATE_VARIABLE_DeclSet_98_98);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                            }
                            else
                            {
                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(FloatLabel_690, STATE_VARIABLE_DeclSet_98_98, &STATE_VARIABLE_DeclSet_88);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_97_97);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_97_97 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const ");
                              ll_backend__llds_out__llds_out_data__output_llds_type_4_p_0(Stream_13, (MR_Word) ((MR_Unsigned) 4U));
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " mercury_float_const_");
                              mercury__io__write_string_4_p_0(Stream_13, FloatName_713);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalA_60, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "*");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalB_61, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          }
                        }
                        break;
                      case (MR_Integer) 16:
                        {
                          MR_Word UnboxFloat_510 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 8)) & (MR_Integer) 1);
                          MR_Word StaticGroundFloats_534 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_12, (MR_Integer) 7))) >> 6)) & (MR_Integer) 1);
                          MR_String FloatName_508;

                          succeeded = (UnboxFloat_510 == (MR_Integer) 0);
                          if (succeeded)
                          {
                            succeeded = (StaticGroundFloats_534 == (MR_Integer) 0);
                            if (succeeded)
                              succeeded = ll_backend__llds_out__llds_out_data__float_const_binop_expr_name_4_p_0(Op_59, SubRvalA_60, SubRvalB_61, &FloatName_508);
                          }
                          if (succeeded)
                          {
                            MR_Word FloatLabel_485;

                            {
                              FloatLabel_485 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
                              MR_hl_field(MR_mktag(0), FloatLabel_485, 0) = ((MR_Box) (FloatName_508));
                            }
                            succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(FloatLabel_485, STATE_VARIABLE_DeclSet_98_98);
                            if (succeeded)
                            {
                              STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                              STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                            }
                            else
                            {
                              ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(FloatLabel_485, STATE_VARIABLE_DeclSet_98_98, &STATE_VARIABLE_DeclSet_88);
                              ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_97_97);
                              STATE_VARIABLE_N_86 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_97_97 + (MR_Unsigned) 1);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "static const ");
                              ll_backend__llds_out__llds_out_data__output_llds_type_4_p_0(Stream_13, (MR_Word) ((MR_Unsigned) 4U));
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " mercury_float_const_");
                              mercury__io__write_string_4_p_0(Stream_13, FloatName_508);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " = ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalA_60, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) "/");
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) " ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_12, SubRvalB_61, (MR_Word) ((MR_Unsigned) 4U), Stream_13);
                              mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
                            }
                          }
                          else
                          {
                            STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                            STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          }
                        }
                        break;
                      case (MR_Integer) 17:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 18:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 19:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 20:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 21:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 22:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 23:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 24:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 25:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 26:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 27:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 28:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                    }
                    break;
                  case (MR_Integer) 1:
                    {
                      STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                      STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                    }
                    break;
                  case (MR_Integer) 2:
                    {
                      STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                      STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                    }
                    break;
                  case (MR_Integer) 3:
                    switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), Op_59, (MR_Integer) 0))))) {
                      default: /*NOTREACHED*/ MR_assert(0);
                      case (MR_Integer) 0:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 1:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 2:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 3:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 4:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 5:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 6:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 7:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 8:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 9:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 10:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 11:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 12:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 13:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 14:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                      case (MR_Integer) 15:
                        {
                          STATE_VARIABLE_N_86 = STATE_VARIABLE_N_97_97;
                          STATE_VARIABLE_DeclSet_88 = STATE_VARIABLE_DeclSet_98_98;
                        }
                        break;
                    }
                    break;
                }
              }
              break;
            case (MR_Integer) 5:
              {
                MR_Word MemRef_84 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_14, (MR_Integer) 1))));
                MR_Word next_value_of_tscc_proc_3_input_1_Info_12 = Info_12;
                MR_Word next_value_of_tscc_proc_3_input_2_Stream_13 = Stream_13;
                MR_Word next_value_of_tscc_proc_3_input_3_MemRef_14 = MemRef_84;
                MR_String next_value_of_tscc_proc_3_input_4_FirstIndent_15 = FirstIndent_15;
                MR_String next_value_of_tscc_proc_3_input_5_LaterIndent_16 = LaterIndent_16;
                MR_Integer next_value_of_tscc_proc_3_input_6_STATE_VARIABLE_N_0_24 = STATE_VARIABLE_N_0_85;
                MR_Word next_value_of_tscc_proc_3_input_7_STATE_VARIABLE_DeclSet_0_26 = STATE_VARIABLE_DeclSet_0_87;

                // direct tailcall eliminated
                ;
                tscc_proc_3_input_1_Info_12 = next_value_of_tscc_proc_3_input_1_Info_12;
                tscc_proc_3_input_2_Stream_13 = next_value_of_tscc_proc_3_input_2_Stream_13;
                tscc_proc_3_input_3_MemRef_14 = next_value_of_tscc_proc_3_input_3_MemRef_14;
                tscc_proc_3_input_4_FirstIndent_15 = next_value_of_tscc_proc_3_input_4_FirstIndent_15;
                tscc_proc_3_input_5_LaterIndent_16 = next_value_of_tscc_proc_3_input_5_LaterIndent_16;
                tscc_proc_3_input_6_STATE_VARIABLE_N_0_24 = next_value_of_tscc_proc_3_input_6_STATE_VARIABLE_N_0_24;
                tscc_proc_3_input_7_STATE_VARIABLE_DeclSet_0_26 = next_value_of_tscc_proc_3_input_7_STATE_VARIABLE_DeclSet_0_26;
                goto top_of_proc_3;
              }
              break;
          }
          break;
      }
      tscc_output_1_STATE_VARIABLE_N_35 = STATE_VARIABLE_N_86;
      tscc_output_2_STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_88;
      goto tscc_end;
    }
  top_of_proc_3:;
    {
      MR_Word Info_12 = tscc_proc_3_input_1_Info_12;
      MR_Word Stream_13 = tscc_proc_3_input_2_Stream_13;
      MR_Word MemRef_14 = tscc_proc_3_input_3_MemRef_14;
      MR_String FirstIndent_15 = tscc_proc_3_input_4_FirstIndent_15;
      MR_String LaterIndent_16 = tscc_proc_3_input_5_LaterIndent_16;
      MR_Integer STATE_VARIABLE_N_0_24 = tscc_proc_3_input_6_STATE_VARIABLE_N_0_24;
      MR_Integer STATE_VARIABLE_N_25;
      MR_Word STATE_VARIABLE_DeclSet_0_26 = tscc_proc_3_input_7_STATE_VARIABLE_DeclSet_0_26;
      MR_Word STATE_VARIABLE_DeclSet_27;

      switch (MR_tag((MR_Word) MemRef_14)) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          {
            MR_Word Rval_39 = ((MR_Word) ((MR_hl_field(MR_mktag(0), MemRef_14, (MR_Integer) 0))));
            MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
            MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
            MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_39;
            MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
            MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
            MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_24;
            MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_26;

            // direct tailcall eliminated
            ;
            tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
            tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
            tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
            tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
            tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
            tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
            tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
            goto top_of_proc_2;
          }
          break;
        case (MR_Integer) 1:
          {
            MR_Word Rval_20 = ((MR_Word) ((MR_hl_field(MR_mktag(1), MemRef_14, (MR_Integer) 0))));
            MR_Word next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
            MR_Word next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
            MR_Word next_value_of_tscc_proc_2_input_3_Rval_14 = Rval_20;
            MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
            MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
            MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_0_24;
            MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_0_26;

            // direct tailcall eliminated
            ;
            tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
            tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
            tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
            tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
            tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
            tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
            tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
            goto top_of_proc_2;
          }
          break;
        case (MR_Integer) 2:
          {
            MR_Word BaseRval_21 = ((MR_Word) ((MR_hl_field(MR_mktag(2), MemRef_14, (MR_Integer) 0))));
            MR_Word OffsetRval_23 = ((MR_Word) ((MR_hl_field(MR_mktag(2), MemRef_14, (MR_Integer) 2))));
            MR_Integer STATE_VARIABLE_N_30_30;
            MR_Word STATE_VARIABLE_DeclSet_31_31;
            MR_Word next_value_of_tscc_proc_2_input_1_Info_12;
            MR_Word next_value_of_tscc_proc_2_input_2_Stream_13;
            MR_Word next_value_of_tscc_proc_2_input_3_Rval_14;
            MR_String next_value_of_tscc_proc_2_input_4_FirstIndent_15;
            MR_String next_value_of_tscc_proc_2_input_5_LaterIndent_16;
            MR_Integer next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
            MR_Word next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;

            ll_backend__llds_out__llds_out_data__output_record_rval_decls_format_11_p_0(Info_12, Stream_13, BaseRval_21, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_24, &STATE_VARIABLE_N_30_30, STATE_VARIABLE_DeclSet_0_26, &STATE_VARIABLE_DeclSet_31_31);
            // direct tailcall eliminated
            ;
            next_value_of_tscc_proc_2_input_1_Info_12 = Info_12;
            next_value_of_tscc_proc_2_input_2_Stream_13 = Stream_13;
            next_value_of_tscc_proc_2_input_3_Rval_14 = OffsetRval_23;
            next_value_of_tscc_proc_2_input_4_FirstIndent_15 = FirstIndent_15;
            next_value_of_tscc_proc_2_input_5_LaterIndent_16 = LaterIndent_16;
            next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = STATE_VARIABLE_N_30_30;
            next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = STATE_VARIABLE_DeclSet_31_31;
            tscc_proc_2_input_1_Info_12 = next_value_of_tscc_proc_2_input_1_Info_12;
            tscc_proc_2_input_2_Stream_13 = next_value_of_tscc_proc_2_input_2_Stream_13;
            tscc_proc_2_input_3_Rval_14 = next_value_of_tscc_proc_2_input_3_Rval_14;
            tscc_proc_2_input_4_FirstIndent_15 = next_value_of_tscc_proc_2_input_4_FirstIndent_15;
            tscc_proc_2_input_5_LaterIndent_16 = next_value_of_tscc_proc_2_input_5_LaterIndent_16;
            tscc_proc_2_input_6_STATE_VARIABLE_N_0_85 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_N_0_85;
            tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87 = next_value_of_tscc_proc_2_input_7_STATE_VARIABLE_DeclSet_0_87;
            goto top_of_proc_2;
          }
          break;
      }
      tscc_output_1_STATE_VARIABLE_N_35 = STATE_VARIABLE_N_25;
      tscc_output_2_STATE_VARIABLE_DeclSet_37 = STATE_VARIABLE_DeclSet_27;
      goto tscc_end;
    }
  tscc_end:;
    *tscc_output_ptr_1_STATE_VARIABLE_N_35 = tscc_output_1_STATE_VARIABLE_N_35;
    *tscc_output_ptr_2_STATE_VARIABLE_DeclSet_37 = tscc_output_2_STATE_VARIABLE_DeclSet_37;
    return;
  }
}

static void MR_CALL 
ll_backend__llds_out__llds_out_data__uint64_literal_name_2_p_0(
  uint64_t UInt64_3,
  MR_String * UInt64Name_4)
{
  *UInt64Name_4 = mercury__string__uint64_to_string_1_f_0(UInt64_3);
}

static void MR_CALL 
ll_backend__llds_out__llds_out_data__int64_literal_name_2_p_0(
  int64_t Int64_3,
  MR_String * Int64Name_4)
{
  {
    MR_String Int64Name0_5;

    Int64Name0_5 = mercury__string__int64_to_string_1_f_0(Int64_3);
    mercury__string__replace_all_4_p_0(Int64Name0_5, (MR_String) "-", (MR_String) "neg", Int64Name_4);
  }
}

static void MR_CALL 
ll_backend__llds_out__llds_out_data__float_literal_name_2_p_0(
  MR_Float Float_3,
  MR_String * FloatName_4)
{
  {
    MR_String FloatName0_5;
    MR_String FloatName1_6;
    MR_String FloatName2_7;

    FloatName0_5 = backend_libs__c_util__make_float_literal_1_f_0(Float_3);
    mercury__string__replace_all_4_p_0(FloatName0_5, (MR_String) ".", (MR_String) "pt", &FloatName1_6);
    mercury__string__replace_all_4_p_0(FloatName1_6, (MR_String) "+", (MR_String) "plus", &FloatName2_7);
    mercury__string__replace_all_4_p_0(FloatName2_7, (MR_String) "-", (MR_String) "neg", FloatName_4);
  }
}

static MR_bool MR_CALL 
ll_backend__llds_out__llds_out_data__float_const_binop_expr_name_4_p_0(
  MR_Word Op_5,
  MR_Word Arg1_6,
  MR_Word Arg2_7,
  MR_String * Name_8)
{
  {
    MR_bool succeeded;
    MR_String OpName_9;
    MR_String Arg1Name_10;
    MR_String Arg2Name_11;
    MR_String Var_12;
    MR_String Var_13;
    MR_String Var_14;
    MR_String Var_15;
    MR_String Var_16;
    MR_Float Float_19;
    MR_Word Var_23;
    MR_Float Float_49;
    MR_Word Var_53;

    switch (MR_tag((MR_Word) Op_5)) {
      default:
        succeeded = MR_FALSE;
        break;
      case (MR_Integer) 0:
        switch (MR_unmkbody(Op_5)) {
          default:
            succeeded = MR_FALSE;
            break;
          case (MR_Integer) 13:
            {
              OpName_9 = (MR_String) "fadd";
              succeeded = MR_TRUE;
            }
            break;
          case (MR_Integer) 14:
            {
              OpName_9 = (MR_String) "fsub";
              succeeded = MR_TRUE;
            }
            break;
          case (MR_Integer) 15:
            {
              OpName_9 = (MR_String) "fmul";
              succeeded = MR_TRUE;
            }
            break;
          case (MR_Integer) 16:
            {
              OpName_9 = (MR_String) "fdiv";
              succeeded = MR_TRUE;
            }
            break;
        }
        break;
    }
    if (succeeded)
    {
      succeeded = ((((MR_tag((MR_Word) Arg1_6)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Arg1_6, (MR_Integer) 0)))) == (MR_Integer) 1)));
      if (succeeded)
      {
        Var_23 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Arg1_6, (MR_Integer) 1))));
        succeeded = ((((MR_tag((MR_Word) Var_23)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_23, (MR_Integer) 0)))) == (MR_Integer) 9)));
        if (succeeded)
          Float_19 = MR_unbox_float((MR_hl_field(MR_mktag(3), Var_23, (MR_Integer) 1)));
      }
      if (succeeded)
      {
        MR_String FloatName0_26;
        MR_String FloatName1_27;
        MR_String FloatName2_28;

        FloatName0_26 = backend_libs__c_util__make_float_literal_1_f_0(Float_19);
        mercury__string__replace_all_4_p_0(FloatName0_26, (MR_String) ".", (MR_String) "pt", &FloatName1_27);
        mercury__string__replace_all_4_p_0(FloatName1_27, (MR_String) "+", (MR_String) "plus", &FloatName2_28);
        mercury__string__replace_all_4_p_0(FloatName2_28, (MR_String) "-", (MR_String) "neg", &Arg1Name_10);
        succeeded = MR_TRUE;
      }
      else
      {
        MR_Word Op_20;
        MR_Word Arg1_21;
        MR_Word Arg2_22;
        MR_String OpName_39;
        MR_String Arg1Name_40;
        MR_String Arg2Name_41;
        MR_String Var_42;
        MR_String Var_43;
        MR_String Var_44;
        MR_String Var_45;
        MR_String Var_46;

        succeeded = ((((MR_tag((MR_Word) Arg1_6)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Arg1_6, (MR_Integer) 0)))) == (MR_Integer) 4)));
        if (succeeded)
        {
          Op_20 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Arg1_6, (MR_Integer) 1))));
          Arg1_21 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Arg1_6, (MR_Integer) 2))));
          Arg2_22 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Arg1_6, (MR_Integer) 3))));
          succeeded = ll_backend__llds_out__llds_out_data__float_op_name_2_p_0(Op_20, &OpName_39);
          if (succeeded)
          {
            succeeded = ll_backend__llds_out__llds_out_data__float_const_expr_name_2_p_0(Arg1_21, &Arg1Name_40);
            if (succeeded)
            {
              succeeded = ll_backend__llds_out__llds_out_data__float_const_expr_name_2_p_0(Arg2_22, &Arg2Name_41);
              if (succeeded)
              {
                Var_43 = (MR_String) "_";
                Var_46 = (MR_String) "_";
                Var_45 = mercury__string__f_43_43_2_f_0(Var_46, Arg2Name_41);
                Var_44 = mercury__string__f_43_43_2_f_0(Arg1Name_40, Var_45);
                Var_42 = mercury__string__f_43_43_2_f_0(Var_43, Var_44);
                Arg1Name_10 = mercury__string__f_43_43_2_f_0(OpName_39, Var_42);
                succeeded = MR_TRUE;
              }
            }
          }
        }
      }
      if (succeeded)
      {
        succeeded = ((((MR_tag((MR_Word) Arg2_7)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Arg2_7, (MR_Integer) 0)))) == (MR_Integer) 1)));
        if (succeeded)
        {
          Var_53 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Arg2_7, (MR_Integer) 1))));
          succeeded = ((((MR_tag((MR_Word) Var_53)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_53, (MR_Integer) 0)))) == (MR_Integer) 9)));
          if (succeeded)
            Float_49 = MR_unbox_float((MR_hl_field(MR_mktag(3), Var_53, (MR_Integer) 1)));
        }
        if (succeeded)
        {
          MR_String FloatName0_56;
          MR_String FloatName1_57;
          MR_String FloatName2_58;

          FloatName0_56 = backend_libs__c_util__make_float_literal_1_f_0(Float_49);
          mercury__string__replace_all_4_p_0(FloatName0_56, (MR_String) ".", (MR_String) "pt", &FloatName1_57);
          mercury__string__replace_all_4_p_0(FloatName1_57, (MR_String) "+", (MR_String) "plus", &FloatName2_58);
          mercury__string__replace_all_4_p_0(FloatName2_58, (MR_String) "-", (MR_String) "neg", &Arg2Name_11);
          succeeded = MR_TRUE;
        }
        else
        {
          MR_Word Op_50;
          MR_Word Arg1_51;
          MR_Word Arg2_52;
          MR_String OpName_69;
          MR_String Arg1Name_70;
          MR_String Arg2Name_71;
          MR_String Var_72;
          MR_String Var_73;
          MR_String Var_74;
          MR_String Var_75;
          MR_String Var_76;

          succeeded = ((((MR_tag((MR_Word) Arg2_7)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Arg2_7, (MR_Integer) 0)))) == (MR_Integer) 4)));
          if (succeeded)
          {
            Op_50 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Arg2_7, (MR_Integer) 1))));
            Arg1_51 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Arg2_7, (MR_Integer) 2))));
            Arg2_52 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Arg2_7, (MR_Integer) 3))));
            succeeded = ll_backend__llds_out__llds_out_data__float_op_name_2_p_0(Op_50, &OpName_69);
            if (succeeded)
            {
              succeeded = ll_backend__llds_out__llds_out_data__float_const_expr_name_2_p_0(Arg1_51, &Arg1Name_70);
              if (succeeded)
              {
                succeeded = ll_backend__llds_out__llds_out_data__float_const_expr_name_2_p_0(Arg2_52, &Arg2Name_71);
                if (succeeded)
                {
                  Var_73 = (MR_String) "_";
                  Var_76 = (MR_String) "_";
                  Var_75 = mercury__string__f_43_43_2_f_0(Var_76, Arg2Name_71);
                  Var_74 = mercury__string__f_43_43_2_f_0(Arg1Name_70, Var_75);
                  Var_72 = mercury__string__f_43_43_2_f_0(Var_73, Var_74);
                  Arg2Name_11 = mercury__string__f_43_43_2_f_0(OpName_69, Var_72);
                  succeeded = MR_TRUE;
                }
              }
            }
          }
        }
        if (succeeded)
        {
          Var_13 = (MR_String) "_";
          Var_16 = (MR_String) "_";
          Var_15 = mercury__string__f_43_43_2_f_0(Var_16, Arg2Name_11);
          Var_14 = mercury__string__f_43_43_2_f_0(Arg1Name_10, Var_15);
          Var_12 = mercury__string__f_43_43_2_f_0(Var_13, Var_14);
          *Name_8 = mercury__string__f_43_43_2_f_0(OpName_9, Var_12);
          succeeded = MR_TRUE;
        }
      }
    }
    return succeeded;
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_record_data_id_decls_format_11_p_0(
  MR_Word Info_12,
  MR_Word Stream_13,
  MR_Word DataId_14,
  MR_String FirstIndent_15,
  MR_String LaterIndent_16,
  MR_Integer STATE_VARIABLE_N_0_31,
  MR_Integer * STATE_VARIABLE_N_32,
  MR_Word STATE_VARIABLE_DeclSet_0_33,
  MR_Word * STATE_VARIABLE_DeclSet_34)
{
  {
    MR_bool succeeded;

    switch (MR_tag((MR_Word) DataId_14)) {
      default: /*NOTREACHED*/ MR_assert(0);
      case (MR_Integer) 0:
        {
          MR_Word RttiId_28 = ((MR_Word) ((MR_hl_field(MR_mktag(0), DataId_14, (MR_Integer) 0))));
          MR_Word DeclId_29;

          {
            DeclId_29 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
            MR_hl_field(MR_mktag(3), DeclId_29, 0) = ((MR_Box) ((MR_Unsigned) 2U));
            MR_hl_field(MR_mktag(3), DeclId_29, 1) = ((MR_Box) (RttiId_28));
          }
          succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(DeclId_29, STATE_VARIABLE_DeclSet_0_33);
          if (succeeded)
          {
            *STATE_VARIABLE_DeclSet_34 = STATE_VARIABLE_DeclSet_0_33;
            *STATE_VARIABLE_N_32 = STATE_VARIABLE_N_0_31;
          }
          else
          {
            ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(DeclId_29, STATE_VARIABLE_DeclSet_0_33, STATE_VARIABLE_DeclSet_34);
            ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_31);
            *STATE_VARIABLE_N_32 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_0_31 + (MR_Unsigned) 1);
            ll_backend__rtti_out__output_rtti_id_storage_type_name_no_decl_6_p_0(Info_12, Stream_13, RttiId_28, (MR_Integer) 0);
            mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
          }
        }
        break;
      case (MR_Integer) 1:
        {
          *STATE_VARIABLE_N_32 = STATE_VARIABLE_N_0_31;
          *STATE_VARIABLE_DeclSet_34 = STATE_VARIABLE_DeclSet_0_33;
        }
        break;
      case (MR_Integer) 2:
        {
          *STATE_VARIABLE_N_32 = STATE_VARIABLE_N_0_31;
          *STATE_VARIABLE_DeclSet_34 = STATE_VARIABLE_DeclSet_0_33;
        }
        break;
      case (MR_Integer) 3:
        switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), DataId_14, (MR_Integer) 0))))) {
          default: /*NOTREACHED*/ MR_assert(0);
          case (MR_Integer) 0:
            {
              *STATE_VARIABLE_N_32 = STATE_VARIABLE_N_0_31;
              *STATE_VARIABLE_DeclSet_34 = STATE_VARIABLE_DeclSet_0_33;
            }
            break;
          case (MR_Integer) 1:
            {
              MR_Word LayoutName_30 = ((MR_Word) ((MR_hl_field(MR_mktag(3), DataId_14, (MR_Integer) 1))));
              MR_Word DeclId_53;

              {
                DeclId_53 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                MR_hl_field(MR_mktag(3), DeclId_53, 0) = ((MR_Box) ((MR_Unsigned) 3U));
                MR_hl_field(MR_mktag(3), DeclId_53, 1) = ((MR_Box) (LayoutName_30));
              }
              succeeded = ll_backend__llds_out__llds_out_util__decl_set_is_member_2_p_0(DeclId_53, STATE_VARIABLE_DeclSet_0_33);
              if (succeeded)
              {
                *STATE_VARIABLE_DeclSet_34 = STATE_VARIABLE_DeclSet_0_33;
                *STATE_VARIABLE_N_32 = STATE_VARIABLE_N_0_31;
              }
              else
              {
                ll_backend__llds_out__llds_out_util__decl_set_insert_3_p_0(DeclId_53, STATE_VARIABLE_DeclSet_0_33, STATE_VARIABLE_DeclSet_34);
                ll_backend__llds_out__llds_out_util__output_indent_6_p_0(Stream_13, FirstIndent_15, LaterIndent_16, STATE_VARIABLE_N_0_31);
                *STATE_VARIABLE_N_32 = (MR_Integer) ((MR_Unsigned) STATE_VARIABLE_N_0_31 + (MR_Unsigned) 1);
                ll_backend__layout_out__output_layout_name_storage_type_name_5_p_0(Stream_13, LayoutName_30, (MR_Integer) 0);
                mercury__io__write_string_4_p_0(Stream_13, (MR_String) ";\n");
              }
            }
            break;
          case (MR_Integer) 2:
            {
              *STATE_VARIABLE_N_32 = STATE_VARIABLE_N_0_31;
              *STATE_VARIABLE_DeclSet_34 = STATE_VARIABLE_DeclSet_0_33;
            }
            break;
        }
        break;
    }
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(
  MR_Word Info_7,
  MR_Word Rval_8,
  MR_Word DesiredType_9,
  MR_Word Stream_10)
{
  {
    MR_bool succeeded;
    MR_Word ActualType_12;

    ll_backend__llds__rval_type_2_p_0(Rval_8, &ActualType_12);
    switch (MR_tag((MR_Word) DesiredType_9)) {
      default:
        succeeded = MR_FALSE;
        break;
      case (MR_Integer) 0:
        switch (MR_unmkbody(DesiredType_9)) {
          default:
            succeeded = MR_FALSE;
            break;
          case (MR_Integer) 0:
            if ((ActualType_12 == (MR_Word) ((MR_Unsigned) 20U)))
              succeeded = MR_TRUE;
            else
            if (((MR_tag((MR_Word) ActualType_12)) == (MR_Integer) 2))
            {
              MR_Word Var_66 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), ActualType_12, (MR_Integer) 0))) & (MR_Integer) 15);

              switch (Var_66) {
                default:
                  succeeded = MR_FALSE;
                  break;
                case (MR_Integer) 0:
                  succeeded = MR_TRUE;
                  break;
                case (MR_Integer) 1:
                  succeeded = MR_TRUE;
                  break;
              }
            }
            else
              succeeded = MR_FALSE;
            break;
          case (MR_Integer) 5:
            if ((ActualType_12 == (MR_Word) ((MR_Unsigned) 0U)))
              succeeded = MR_TRUE;
            else
            if (((MR_tag((MR_Word) ActualType_12)) == (MR_Integer) 2))
            {
              MR_Word Var_67 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), ActualType_12, (MR_Integer) 0))) & (MR_Integer) 15);

              switch (Var_67) {
                default:
                  succeeded = MR_FALSE;
                  break;
                case (MR_Integer) 0:
                  succeeded = MR_TRUE;
                  break;
                case (MR_Integer) 1:
                  succeeded = MR_TRUE;
                  break;
              }
            }
            else
              succeeded = MR_FALSE;
            break;
        }
        break;
      case (MR_Integer) 2:
        {
          MR_Word Var_65;

          succeeded = (ActualType_12 == (MR_Word) ((MR_Unsigned) 0U));
          if (succeeded)
          {
            Var_65 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), DesiredType_9, (MR_Integer) 0))) & (MR_Integer) 15);
            succeeded = (Var_65 == (MR_Integer) 0);
          }
        }
        break;
    }
    if (!(succeeded))
      succeeded = ll_backend__llds____Unify____llds_type_0_0(ActualType_12, DesiredType_9);
    if (succeeded)
      ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_7, Rval_8, Stream_10);
    else
    {
      succeeded = (DesiredType_9 == (MR_Word) ((MR_Unsigned) 4U));
      if (succeeded)
      {
        mercury__io__write_string_4_p_0(Stream_10, (MR_String) "MR_word_to_float(");
        ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_7, Rval_8, Stream_10);
        mercury__io__write_string_4_p_0(Stream_10, (MR_String) ")");
      }
      else
      {
        succeeded = (ActualType_12 == (MR_Word) ((MR_Unsigned) 4U));
        if (succeeded)
        {
          succeeded = (DesiredType_9 == (MR_Word) ((MR_Unsigned) 20U));
          if (succeeded)
            ll_backend__llds_out__llds_out_data__output_float_rval_6_p_0(Info_7, Stream_10, Rval_8, (MR_Integer) 0);
          else
          {
            succeeded = (DesiredType_9 == (MR_Word) ((MR_Unsigned) 12U));
            if (succeeded)
              ll_backend__llds_out__llds_out_data__output_float_rval_6_p_0(Info_7, Stream_10, Rval_8, (MR_Integer) 1);
            else
              {
                mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_rval_as_type\'/6", (MR_String) "type error");
                return;
              }
          }
        }
        else
        {
          MR_Word Var_27;

          succeeded = ((MR_tag((MR_Word) DesiredType_9)) == (MR_Integer) 2);
          if (succeeded)
          {
            Var_27 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), DesiredType_9, (MR_Integer) 0))) & (MR_Integer) 15);
            succeeded = (Var_27 == (MR_Integer) 8);
          }
          if (succeeded)
          {
            mercury__io__write_string_4_p_0(Stream_10, (MR_String) "MR_word_to_int64(");
            ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_7, Rval_8, Stream_10);
            mercury__io__write_string_4_p_0(Stream_10, (MR_String) ")");
          }
          else
          {
            MR_Word Var_33;

            succeeded = ((MR_tag((MR_Word) ActualType_12)) == (MR_Integer) 2);
            if (succeeded)
            {
              Var_33 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), ActualType_12, (MR_Integer) 0))) & (MR_Integer) 15);
              succeeded = (Var_33 == (MR_Integer) 8);
            }
            if (succeeded)
            {
              succeeded = (DesiredType_9 == (MR_Word) ((MR_Unsigned) 20U));
              if (succeeded)
                ll_backend__llds_out__llds_out_data__output_int64_rval_6_p_0(Info_7, Stream_10, Rval_8, (MR_Integer) 0);
              else
              {
                succeeded = (DesiredType_9 == (MR_Word) ((MR_Unsigned) 12U));
                if (succeeded)
                  ll_backend__llds_out__llds_out_data__output_int64_rval_as_data_ptr_5_p_0(Info_7, Stream_10, Rval_8);
                else
                  {
                    mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_rval_as_type\'/6", (MR_String) "type error");
                    return;
                  }
              }
            }
            else
            {
              MR_Word Var_39;

              succeeded = ((MR_tag((MR_Word) DesiredType_9)) == (MR_Integer) 2);
              if (succeeded)
              {
                Var_39 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), DesiredType_9, (MR_Integer) 0))) & (MR_Integer) 15);
                succeeded = (Var_39 == (MR_Integer) 9);
              }
              if (succeeded)
              {
                mercury__io__write_string_4_p_0(Stream_10, (MR_String) "MR_word_to_uint64(");
                ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_7, Rval_8, Stream_10);
                mercury__io__write_string_4_p_0(Stream_10, (MR_String) ")");
              }
              else
              {
                MR_Word Var_45;

                succeeded = ((MR_tag((MR_Word) ActualType_12)) == (MR_Integer) 2);
                if (succeeded)
                {
                  Var_45 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), ActualType_12, (MR_Integer) 0))) & (MR_Integer) 15);
                  succeeded = (Var_45 == (MR_Integer) 9);
                }
                if (succeeded)
                {
                  succeeded = (DesiredType_9 == (MR_Word) ((MR_Unsigned) 20U));
                  if (succeeded)
                    ll_backend__llds_out__llds_out_data__output_uint64_rval_as_word_5_p_0(Info_7, Stream_10, Rval_8);
                  else
                  {
                    succeeded = (DesiredType_9 == (MR_Word) ((MR_Unsigned) 12U));
                    if (succeeded)
                      ll_backend__llds_out__llds_out_data__output_uint64_rval_as_data_ptr_5_p_0(Info_7, Stream_10, Rval_8);
                    else
                      {
                        mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_rval_as_type\'/6", (MR_String) "type error");
                        return;
                      }
                  }
                }
                else
                {
                  MR_Integer N_13;
                  MR_Word Var_51;

                  succeeded = ((((MR_tag((MR_Word) Rval_8)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Rval_8, (MR_Integer) 0)))) == (MR_Integer) 1)));
                  if (succeeded)
                  {
                    Var_51 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_8, (MR_Integer) 1))));
                    succeeded = ((MR_tag((MR_Word) Var_51)) == (MR_Integer) 1);
                    if (succeeded)
                    {
                      N_13 = ((MR_Integer) ((MR_hl_field(MR_mktag(1), Var_51, (MR_Integer) 0))));
                      if (((MR_tag((MR_Word) DesiredType_9)) == (MR_Integer) 2))
                      {
                        MR_Word IntType_96 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), DesiredType_9, (MR_Integer) 0))) & (MR_Integer) 15);

                        switch (IntType_96) {
                          default:
                            succeeded = MR_FALSE;
                            break;
                          case (MR_Integer) 0:
                          case (MR_Integer) 4:
                          case (MR_Integer) 6:
                          case (MR_Integer) 2:
                          case (MR_Integer) 1:
                          case (MR_Integer) 5:
                          case (MR_Integer) 7:
                          case (MR_Integer) 3:
                            succeeded = MR_TRUE;
                            break;
                        }
                      }
                      else
                      if (((MR_tag((MR_Word) DesiredType_9)) == (MR_Integer) 1))
                        succeeded = MR_TRUE;
                      else
                        succeeded = MR_FALSE;
                    }
                  }
                  if (succeeded)
                    mercury__io__write_int_4_p_0(Stream_10, N_13);
                  else
                  {
                    mercury__io__write_string_4_p_0(Stream_10, (MR_String) "(");
                    ll_backend__llds_out__llds_out_data__output_llds_type_cast_4_p_0(Stream_10, DesiredType_9);
                    ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_7, Rval_8, Stream_10);
                    mercury__io__write_string_4_p_0(Stream_10, (MR_String) ")");
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_rval_5_p_0(
  MR_Word Info_6,
  MR_Word Rval_7,
  MR_Word Stream_8)
{
  {
    MR_bool succeeded;

    switch (MR_tag((MR_Word) Rval_7)) {
      default: /*NOTREACHED*/ MR_assert(0);
      case (MR_Integer) 0:
        {
          MR_Word Lval_38 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Rval_7, (MR_Integer) 0))));
          MR_Word MaybePtag_39;
          MR_Word FieldNumRval_40;
          MR_Word Var_430;

          succeeded = ((((MR_tag((MR_Word) Lval_38)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Lval_38, (MR_Integer) 0)))) == (MR_Integer) 9)));
          if (succeeded)
          {
            MaybePtag_39 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_38, (MR_Integer) 1))));
            Var_430 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_38, (MR_Integer) 2))));
            FieldNumRval_40 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_38, (MR_Integer) 3))));
            succeeded = ll_backend__llds____Unify____rval_0_0(Rval_7, Var_430);
          }
          if (succeeded)
          {
            MR_Integer FieldNum_41;
            MR_Word Var_95;

            if ((MaybePtag_39 == (MR_Word) ((MR_Unsigned) 0U)))
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_const_mask_field(");
            else
            {
              MR_Word Ptag_403 = ((MR_Word) ((MR_hl_field(MR_mktag(1), MaybePtag_39, (MR_Integer) 0))));

              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_ctfield(");
              ll_backend__llds_out__llds_out_data__write_ptag_4_p_0(Stream_8, Ptag_403);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
            }
            ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Rval_7, Stream_8);
            mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
            succeeded = ((((MR_tag((MR_Word) FieldNumRval_40)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), FieldNumRval_40, (MR_Integer) 0)))) == (MR_Integer) 1)));
            if (succeeded)
            {
              Var_95 = ((MR_Word) ((MR_hl_field(MR_mktag(3), FieldNumRval_40, (MR_Integer) 1))));
              succeeded = ((MR_tag((MR_Word) Var_95)) == (MR_Integer) 1);
              if (succeeded)
                FieldNum_41 = ((MR_Integer) ((MR_hl_field(MR_mktag(1), Var_95, (MR_Integer) 0))));
            }
            if (succeeded)
              mercury__io__write_int_4_p_0(Stream_8, FieldNum_41);
            else
              ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, FieldNumRval_40, Stream_8);
            mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
          }
          else
            ll_backend__llds_out__llds_out_data__output_lval_5_p_0(Info_6, Stream_8, Lval_38);
        }
        break;
      case (MR_Integer) 1:
        {
          mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_rval\'/5", (MR_String) "cannot output a var(_) expression in code");
          return;
        }
        break;
      case (MR_Integer) 2:
        {
          MR_Word Ptag_33 = ((MR_Word) ((MR_hl_field(MR_mktag(2), Rval_7, (MR_Integer) 0))));
          MR_Word SubRval_401 = ((MR_Word) ((MR_hl_field(MR_mktag(2), Rval_7, (MR_Integer) 1))));
          MR_Integer TypeNum_35;
          MR_Integer CellNum_36;
          MR_Word DataId_34;
          MR_Word Var_106;
          MR_Word Var_107;
          MR_Word Var_108;

          succeeded = ((((MR_tag((MR_Word) SubRval_401)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), SubRval_401, (MR_Integer) 0)))) == (MR_Integer) 1)));
          if (succeeded)
          {
            Var_106 = ((MR_Word) ((MR_hl_field(MR_mktag(3), SubRval_401, (MR_Integer) 1))));
            succeeded = ((((MR_tag((MR_Word) Var_106)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_106, (MR_Integer) 0)))) == (MR_Integer) 13)));
            if (succeeded)
            {
              DataId_34 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Var_106, (MR_Integer) 1))));
              Var_107 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Var_106, (MR_Integer) 2))));
              succeeded = (Var_107 == (MR_Word) ((MR_Unsigned) 0U));
              if (succeeded)
              {
                succeeded = ((MR_tag((MR_Word) DataId_34)) == (MR_Integer) 2);
                if (succeeded)
                {
                  Var_108 = ((MR_Word) ((MR_hl_field(MR_mktag(2), DataId_34, (MR_Integer) 0))));
                  CellNum_36 = ((MR_Integer) ((MR_hl_field(MR_mktag(2), DataId_34, (MR_Integer) 1))));
                  TypeNum_35 = (MR_Integer) (Var_108);
                  succeeded = MR_TRUE;
                }
              }
            }
          }
          if (succeeded)
          {
            mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_TAG_COMMON(");
            ll_backend__llds_out__llds_out_data__write_ptag_4_p_0(Stream_8, Ptag_33);
            mercury__io__write_string_4_p_0(Stream_8, (MR_String) ",");
            mercury__io__write_int_4_p_0(Stream_8, TypeNum_35);
            mercury__io__write_string_4_p_0(Stream_8, (MR_String) ",");
            mercury__io__write_int_4_p_0(Stream_8, CellNum_36);
            mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
          }
          else
          {
            MR_Integer Body_37;
            MR_Word Var_120;
            MR_Word Var_121;
            MR_Word Var_122;

            succeeded = ((((MR_tag((MR_Word) SubRval_401)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), SubRval_401, (MR_Integer) 0)))) == (MR_Integer) 3)));
            if (succeeded)
            {
              Var_120 = ((MR_Word) ((MR_hl_field(MR_mktag(3), SubRval_401, (MR_Integer) 1))));
              Var_121 = ((MR_Word) ((MR_hl_field(MR_mktag(3), SubRval_401, (MR_Integer) 2))));
              succeeded = (Var_120 == (MR_Word) ((MR_Unsigned) 8U));
              if (succeeded)
              {
                succeeded = ((((MR_tag((MR_Word) Var_121)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_121, (MR_Integer) 0)))) == (MR_Integer) 1)));
                if (succeeded)
                {
                  Var_122 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Var_121, (MR_Integer) 1))));
                  succeeded = ((MR_tag((MR_Word) Var_122)) == (MR_Integer) 1);
                  if (succeeded)
                    Body_37 = ((MR_Integer) ((MR_hl_field(MR_mktag(1), Var_122, (MR_Integer) 0))));
                }
              }
            }
            if (succeeded)
            {
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_tbmkword(");
              ll_backend__llds_out__llds_out_data__write_ptag_4_p_0(Stream_8, Ptag_33);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
              mercury__io__write_int_4_p_0(Stream_8, Body_37);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
            }
            else
            {
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_tmkword(");
              ll_backend__llds_out__llds_out_data__write_ptag_4_p_0(Stream_8, Ptag_33);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRval_401, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
            }
          }
        }
        break;
      case (MR_Integer) 3:
        switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), Rval_7, (MR_Integer) 0))))) {
          default: /*NOTREACHED*/ MR_assert(0);
          case (MR_Integer) 0:
            {
              MR_Word Ptag_402 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_7, (MR_Integer) 1))));

              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_tmkword(");
              ll_backend__llds_out__llds_out_data__write_ptag_4_p_0(Stream_8, Ptag_402);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", 0)");
            }
            break;
          case (MR_Integer) 1:
            {
              MR_Word Const_10 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_7, (MR_Integer) 1))));

              ll_backend__llds_out__llds_out_data__output_rval_const_5_p_0(Info_6, Const_10, Stream_8);
            }
            break;
          case (MR_Integer) 2:
            {
              MR_Word Type_11 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_7, (MR_Integer) 1))));
              MR_Word SubRval_12 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_7, (MR_Integer) 2))));

              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "((");
              ll_backend__llds_out__llds_out_data__output_llds_type_4_p_0(Stream_8, Type_11);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
              ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, SubRval_12, Stream_8);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
            }
            break;
          case (MR_Integer) 3:
            {
              MR_Word UnaryOp_13 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_7, (MR_Integer) 1))));
              MR_String OpString_14;
              MR_Word ArgType_15;
              MR_Word SubRval_392 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_7, (MR_Integer) 2))));

              backend_libs__c_util__unary_prefix_op_2_p_0(UnaryOp_13, &OpString_14);
              ll_backend__llds__unop_arg_type_2_p_0(UnaryOp_13, &ArgType_15);
              mercury__io__write_string_4_p_0(Stream_8, OpString_14);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRval_392, ArgType_15, Stream_8);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
            }
            break;
          case (MR_Integer) 4:
            {
              MR_Word Op_16 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_7, (MR_Integer) 1))));
              MR_Word SubRvalA_17 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_7, (MR_Integer) 2))));
              MR_Word SubRvalB_18 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_7, (MR_Integer) 3))));

              switch (MR_tag((MR_Word) Op_16)) {
                default: /*NOTREACHED*/ MR_assert(0);
                case (MR_Integer) 0:
                  switch (MR_unmkbody(Op_16)) {
                    default: /*NOTREACHED*/ MR_assert(0);
                    case (MR_Integer) 0:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) (MR_mkword(MR_mktag(2), &ll_backend__llds_out__llds_out_data_scalar_common_1[1])), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "&&");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) (MR_mkword(MR_mktag(2), &ll_backend__llds_out__llds_out_data_scalar_common_1[1])), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 1:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) (MR_mkword(MR_mktag(2), &ll_backend__llds_out__llds_out_data_scalar_common_1[1])), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "||");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) (MR_mkword(MR_mktag(2), &ll_backend__llds_out__llds_out_data_scalar_common_1[1])), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 2:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_body(");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) (MR_mkword(MR_mktag(2), &ll_backend__llds_out__llds_out_data_scalar_common_1[1])), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) (MR_mkword(MR_mktag(2), &ll_backend__llds_out__llds_out_data_scalar_common_1[1])), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 3:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_nth_code_unit(");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) (MR_mkword(MR_mktag(2), &ll_backend__llds_out__llds_out_data_scalar_common_1[1])), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 4:
                      {
                        MR_Word Var_319;
                        MR_Word Var_328;

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(strcmp(");
                        succeeded = ((((MR_tag((MR_Word) SubRvalA_17)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), SubRvalA_17, (MR_Integer) 0)))) == (MR_Integer) 1)));
                        if (succeeded)
                        {
                          Var_319 = ((MR_Word) ((MR_hl_field(MR_mktag(3), SubRvalA_17, (MR_Integer) 1))));
                          succeeded = ((((MR_tag((MR_Word) Var_319)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_319, (MR_Integer) 0)))) == (MR_Integer) 10)));
                          if (succeeded)
                          {
                          }
                        }
                        if (succeeded)
                          ll_backend__llds_out__llds_out_data__output_rval_const_5_p_0(Info_6, Var_319, Stream_8);
                        else
                        {
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(char *) ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
                        }
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
                        succeeded = ((((MR_tag((MR_Word) SubRvalB_18)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), SubRvalB_18, (MR_Integer) 0)))) == (MR_Integer) 1)));
                        if (succeeded)
                        {
                          Var_328 = ((MR_Word) ((MR_hl_field(MR_mktag(3), SubRvalB_18, (MR_Integer) 1))));
                          succeeded = ((((MR_tag((MR_Word) Var_328)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_328, (MR_Integer) 0)))) == (MR_Integer) 10)));
                          if (succeeded)
                          {
                          }
                        }
                        if (succeeded)
                          ll_backend__llds_out__llds_out_data__output_rval_const_5_p_0(Info_6, Var_328, Stream_8);
                        else
                        {
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(char *) ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
                        }
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "==");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "0)");
                      }
                      break;
                    case (MR_Integer) 5:
                      {
                        MR_Word Var_2093;
                        MR_Word Var_2104;

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(strcmp(");
                        succeeded = ((((MR_tag((MR_Word) SubRvalA_17)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), SubRvalA_17, (MR_Integer) 0)))) == (MR_Integer) 1)));
                        if (succeeded)
                        {
                          Var_2093 = ((MR_Word) ((MR_hl_field(MR_mktag(3), SubRvalA_17, (MR_Integer) 1))));
                          succeeded = ((((MR_tag((MR_Word) Var_2093)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_2093, (MR_Integer) 0)))) == (MR_Integer) 10)));
                          if (succeeded)
                          {
                          }
                        }
                        if (succeeded)
                          ll_backend__llds_out__llds_out_data__output_rval_const_5_p_0(Info_6, Var_2093, Stream_8);
                        else
                        {
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(char *) ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
                        }
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
                        succeeded = ((((MR_tag((MR_Word) SubRvalB_18)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), SubRvalB_18, (MR_Integer) 0)))) == (MR_Integer) 1)));
                        if (succeeded)
                        {
                          Var_2104 = ((MR_Word) ((MR_hl_field(MR_mktag(3), SubRvalB_18, (MR_Integer) 1))));
                          succeeded = ((((MR_tag((MR_Word) Var_2104)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_2104, (MR_Integer) 0)))) == (MR_Integer) 10)));
                          if (succeeded)
                          {
                          }
                        }
                        if (succeeded)
                          ll_backend__llds_out__llds_out_data__output_rval_const_5_p_0(Info_6, Var_2104, Stream_8);
                        else
                        {
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(char *) ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
                        }
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "!=");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "0)");
                      }
                      break;
                    case (MR_Integer) 6:
                      {
                        MR_Word Var_2044;
                        MR_Word Var_2055;

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(strcmp(");
                        succeeded = ((((MR_tag((MR_Word) SubRvalA_17)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), SubRvalA_17, (MR_Integer) 0)))) == (MR_Integer) 1)));
                        if (succeeded)
                        {
                          Var_2044 = ((MR_Word) ((MR_hl_field(MR_mktag(3), SubRvalA_17, (MR_Integer) 1))));
                          succeeded = ((((MR_tag((MR_Word) Var_2044)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_2044, (MR_Integer) 0)))) == (MR_Integer) 10)));
                          if (succeeded)
                          {
                          }
                        }
                        if (succeeded)
                          ll_backend__llds_out__llds_out_data__output_rval_const_5_p_0(Info_6, Var_2044, Stream_8);
                        else
                        {
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(char *) ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
                        }
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
                        succeeded = ((((MR_tag((MR_Word) SubRvalB_18)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), SubRvalB_18, (MR_Integer) 0)))) == (MR_Integer) 1)));
                        if (succeeded)
                        {
                          Var_2055 = ((MR_Word) ((MR_hl_field(MR_mktag(3), SubRvalB_18, (MR_Integer) 1))));
                          succeeded = ((((MR_tag((MR_Word) Var_2055)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_2055, (MR_Integer) 0)))) == (MR_Integer) 10)));
                          if (succeeded)
                          {
                          }
                        }
                        if (succeeded)
                          ll_backend__llds_out__llds_out_data__output_rval_const_5_p_0(Info_6, Var_2055, Stream_8);
                        else
                        {
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(char *) ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
                        }
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "<");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "0)");
                      }
                      break;
                    case (MR_Integer) 7:
                      {
                        MR_Word Var_1946;
                        MR_Word Var_1957;

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(strcmp(");
                        succeeded = ((((MR_tag((MR_Word) SubRvalA_17)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), SubRvalA_17, (MR_Integer) 0)))) == (MR_Integer) 1)));
                        if (succeeded)
                        {
                          Var_1946 = ((MR_Word) ((MR_hl_field(MR_mktag(3), SubRvalA_17, (MR_Integer) 1))));
                          succeeded = ((((MR_tag((MR_Word) Var_1946)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_1946, (MR_Integer) 0)))) == (MR_Integer) 10)));
                          if (succeeded)
                          {
                          }
                        }
                        if (succeeded)
                          ll_backend__llds_out__llds_out_data__output_rval_const_5_p_0(Info_6, Var_1946, Stream_8);
                        else
                        {
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(char *) ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
                        }
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
                        succeeded = ((((MR_tag((MR_Word) SubRvalB_18)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), SubRvalB_18, (MR_Integer) 0)))) == (MR_Integer) 1)));
                        if (succeeded)
                        {
                          Var_1957 = ((MR_Word) ((MR_hl_field(MR_mktag(3), SubRvalB_18, (MR_Integer) 1))));
                          succeeded = ((((MR_tag((MR_Word) Var_1957)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_1957, (MR_Integer) 0)))) == (MR_Integer) 10)));
                          if (succeeded)
                          {
                          }
                        }
                        if (succeeded)
                          ll_backend__llds_out__llds_out_data__output_rval_const_5_p_0(Info_6, Var_1957, Stream_8);
                        else
                        {
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(char *) ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
                        }
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ">");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "0)");
                      }
                      break;
                    case (MR_Integer) 8:
                      {
                        MR_Word Var_1995;
                        MR_Word Var_2006;

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(strcmp(");
                        succeeded = ((((MR_tag((MR_Word) SubRvalA_17)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), SubRvalA_17, (MR_Integer) 0)))) == (MR_Integer) 1)));
                        if (succeeded)
                        {
                          Var_1995 = ((MR_Word) ((MR_hl_field(MR_mktag(3), SubRvalA_17, (MR_Integer) 1))));
                          succeeded = ((((MR_tag((MR_Word) Var_1995)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_1995, (MR_Integer) 0)))) == (MR_Integer) 10)));
                          if (succeeded)
                          {
                          }
                        }
                        if (succeeded)
                          ll_backend__llds_out__llds_out_data__output_rval_const_5_p_0(Info_6, Var_1995, Stream_8);
                        else
                        {
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(char *) ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
                        }
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
                        succeeded = ((((MR_tag((MR_Word) SubRvalB_18)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), SubRvalB_18, (MR_Integer) 0)))) == (MR_Integer) 1)));
                        if (succeeded)
                        {
                          Var_2006 = ((MR_Word) ((MR_hl_field(MR_mktag(3), SubRvalB_18, (MR_Integer) 1))));
                          succeeded = ((((MR_tag((MR_Word) Var_2006)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_2006, (MR_Integer) 0)))) == (MR_Integer) 10)));
                          if (succeeded)
                          {
                          }
                        }
                        if (succeeded)
                          ll_backend__llds_out__llds_out_data__output_rval_const_5_p_0(Info_6, Var_2006, Stream_8);
                        else
                        {
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(char *) ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
                        }
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "<=");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "0)");
                      }
                      break;
                    case (MR_Integer) 9:
                      {
                        MR_Word Var_1897;
                        MR_Word Var_1908;

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(strcmp(");
                        succeeded = ((((MR_tag((MR_Word) SubRvalA_17)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), SubRvalA_17, (MR_Integer) 0)))) == (MR_Integer) 1)));
                        if (succeeded)
                        {
                          Var_1897 = ((MR_Word) ((MR_hl_field(MR_mktag(3), SubRvalA_17, (MR_Integer) 1))));
                          succeeded = ((((MR_tag((MR_Word) Var_1897)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_1897, (MR_Integer) 0)))) == (MR_Integer) 10)));
                          if (succeeded)
                          {
                          }
                        }
                        if (succeeded)
                          ll_backend__llds_out__llds_out_data__output_rval_const_5_p_0(Info_6, Var_1897, Stream_8);
                        else
                        {
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(char *) ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
                        }
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
                        succeeded = ((((MR_tag((MR_Word) SubRvalB_18)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), SubRvalB_18, (MR_Integer) 0)))) == (MR_Integer) 1)));
                        if (succeeded)
                        {
                          Var_1908 = ((MR_Word) ((MR_hl_field(MR_mktag(3), SubRvalB_18, (MR_Integer) 1))));
                          succeeded = ((((MR_tag((MR_Word) Var_1908)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_1908, (MR_Integer) 0)))) == (MR_Integer) 10)));
                          if (succeeded)
                          {
                          }
                        }
                        if (succeeded)
                          ll_backend__llds_out__llds_out_data__output_rval_const_5_p_0(Info_6, Var_1908, Stream_8);
                        else
                        {
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(char *) ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
                        }
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ">=");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "0)");
                      }
                      break;
                    case (MR_Integer) 10:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_strcmp(");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 11:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) (MR_mkword(MR_mktag(2), &ll_backend__llds_out__llds_out_data_scalar_common_1[2])), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " < ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) (MR_mkword(MR_mktag(2), &ll_backend__llds_out__llds_out_data_scalar_common_1[2])), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 12:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) (MR_mkword(MR_mktag(2), &ll_backend__llds_out__llds_out_data_scalar_common_1[2])), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " <= ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) (MR_mkword(MR_mktag(2), &ll_backend__llds_out__llds_out_data_scalar_common_1[2])), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 13:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "+");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 14:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "-");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 15:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "*");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 16:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "/");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 17:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "==");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 18:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "!=");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 19:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "<");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 20:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ">");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 21:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "<=");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 22:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ">=");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) ((MR_Unsigned) 4U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 23:
                      {
                        MR_Word MemRef_32;

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_float_from_dword");
                        succeeded = ll_backend__llds_out__llds_out_data__is_aligned_dword_ptr_3_p_0(SubRvalA_17, SubRvalB_18, &MemRef_32);
                        if (succeeded)
                        {
                          MR_Word Var_143;

                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "_ptr(MR_dword_ptr(");
                          {
                            Var_143 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                            MR_hl_field(MR_mktag(3), Var_143, 0) = ((MR_Box) ((MR_Unsigned) 5U));
                            MR_hl_field(MR_mktag(3), Var_143, 1) = ((MR_Box) (MemRef_32));
                          }
                          ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Var_143, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "))");
                        }
                        else
                        {
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, SubRvalA_17, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
                          ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, SubRvalB_18, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                      }
                      break;
                    case (MR_Integer) 24:
                      {
                        MR_Word MemRef_812;

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_int64_from_dword");
                        succeeded = ll_backend__llds_out__llds_out_data__is_aligned_dword_ptr_3_p_0(SubRvalA_17, SubRvalB_18, &MemRef_812);
                        if (succeeded)
                        {
                          MR_Word Var_802;

                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "_ptr(MR_dword_ptr(");
                          {
                            Var_802 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                            MR_hl_field(MR_mktag(3), Var_802, 0) = ((MR_Box) ((MR_Unsigned) 5U));
                            MR_hl_field(MR_mktag(3), Var_802, 1) = ((MR_Box) (MemRef_812));
                          }
                          ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Var_802, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "))");
                        }
                        else
                        {
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, SubRvalA_17, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
                          ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, SubRvalB_18, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                      }
                      break;
                    case (MR_Integer) 25:
                      {
                        MR_Word MemRef_2154;

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_uint64_from_dword");
                        succeeded = ll_backend__llds_out__llds_out_data__is_aligned_dword_ptr_3_p_0(SubRvalA_17, SubRvalB_18, &MemRef_2154);
                        if (succeeded)
                        {
                          MR_Word Var_2144;

                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "_ptr(MR_dword_ptr(");
                          {
                            Var_2144 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                            MR_hl_field(MR_mktag(3), Var_2144, 0) = ((MR_Box) ((MR_Unsigned) 5U));
                            MR_hl_field(MR_mktag(3), Var_2144, 1) = ((MR_Box) (MemRef_2154));
                          }
                          ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Var_2144, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "))");
                        }
                        else
                        {
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, SubRvalA_17, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
                          ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, SubRvalB_18, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                      }
                      break;
                    case (MR_Integer) 26:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(((MR_Word) ");
                        ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, SubRvalA_17, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") == ((MR_Word) ");
                        ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, SubRvalB_18, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "))");
                      }
                      break;
                    case (MR_Integer) 27:
                    case (MR_Integer) 28:
                      {
                        mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_rval\'/5", (MR_String) "compound_compare_binop");
                        return;
                      }
                      break;
                  }
                  break;
                case (MR_Integer) 1:
                  {
                    MR_Word IntType_23 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(1), Op_16, (MR_Integer) 0))) & (MR_Integer) 15);

                    switch (IntType_23) {
                      default: /*NOTREACHED*/ MR_assert(0);
                      case (MR_Integer) 0:
                        {
                          MR_Word Var_267;

                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_Integer");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ((");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_Unsigned");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          {
                            Var_267 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                            MR_hl_field(MR_mktag(2), Var_267, 0) = (MR_Box) ((MR_Unsigned) (IntType_23));
                          }
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_267, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "+");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " (");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_Unsigned");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_267, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                        break;
                      case (MR_Integer) 4:
                        {
                          MR_Word Var_849;

                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "int16_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ((");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint16_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          {
                            Var_849 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                            MR_hl_field(MR_mktag(2), Var_849, 0) = (MR_Box) ((MR_Unsigned) (IntType_23));
                          }
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_849, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "+");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " (");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint16_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_849, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                        break;
                      case (MR_Integer) 6:
                        {
                          MR_Word Var_870;

                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "int32_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ((");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint32_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          {
                            Var_870 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                            MR_hl_field(MR_mktag(2), Var_870, 0) = (MR_Box) ((MR_Unsigned) (IntType_23));
                          }
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_870, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "+");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " (");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint32_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_870, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                        break;
                      case (MR_Integer) 8:
                        {
                          MR_Word Var_891;

                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "int64_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ((");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint64_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          {
                            Var_891 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                            MR_hl_field(MR_mktag(2), Var_891, 0) = (MR_Box) ((MR_Unsigned) (IntType_23));
                          }
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_891, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "+");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " (");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint64_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_891, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                        break;
                      case (MR_Integer) 2:
                        {
                          MR_Word Var_912;

                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "int8_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ((");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint8_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          {
                            Var_912 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                            MR_hl_field(MR_mktag(2), Var_912, 0) = (MR_Box) ((MR_Unsigned) (IntType_23));
                          }
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_912, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "+");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " (");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint8_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_912, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                        break;
                      case (MR_Integer) 1:
                      case (MR_Integer) 5:
                      case (MR_Integer) 7:
                      case (MR_Integer) 9:
                      case (MR_Integer) 3:
                        {
                          MR_Word Var_249;

                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          {
                            Var_249 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                            MR_hl_field(MR_mktag(2), Var_249, 0) = (MR_Box) ((MR_Unsigned) (IntType_23));
                          }
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_249, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "+");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_249, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                        break;
                    }
                  }
                  break;
                case (MR_Integer) 2:
                  {
                    MR_Word IntType_1763 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), Op_16, (MR_Integer) 0))) & (MR_Integer) 15);

                    switch (IntType_1763) {
                      default: /*NOTREACHED*/ MR_assert(0);
                      case (MR_Integer) 0:
                        {
                          MR_Word Var_1622;

                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_Integer");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ((");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_Unsigned");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          {
                            Var_1622 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                            MR_hl_field(MR_mktag(2), Var_1622, 0) = (MR_Box) ((MR_Unsigned) (IntType_1763));
                          }
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_1622, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "-");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " (");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_Unsigned");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_1622, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                        break;
                      case (MR_Integer) 4:
                        {
                          MR_Word Var_1643;

                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "int16_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ((");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint16_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          {
                            Var_1643 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                            MR_hl_field(MR_mktag(2), Var_1643, 0) = (MR_Box) ((MR_Unsigned) (IntType_1763));
                          }
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_1643, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "-");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " (");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint16_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_1643, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                        break;
                      case (MR_Integer) 6:
                        {
                          MR_Word Var_1664;

                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "int32_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ((");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint32_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          {
                            Var_1664 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                            MR_hl_field(MR_mktag(2), Var_1664, 0) = (MR_Box) ((MR_Unsigned) (IntType_1763));
                          }
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_1664, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "-");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " (");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint32_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_1664, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                        break;
                      case (MR_Integer) 8:
                        {
                          MR_Word Var_1685;

                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "int64_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ((");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint64_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          {
                            Var_1685 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                            MR_hl_field(MR_mktag(2), Var_1685, 0) = (MR_Box) ((MR_Unsigned) (IntType_1763));
                          }
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_1685, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "-");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " (");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint64_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_1685, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                        break;
                      case (MR_Integer) 2:
                        {
                          MR_Word Var_1706;

                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "int8_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ((");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint8_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          {
                            Var_1706 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                            MR_hl_field(MR_mktag(2), Var_1706, 0) = (MR_Box) ((MR_Unsigned) (IntType_1763));
                          }
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_1706, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "-");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " (");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint8_t");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_1706, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                        break;
                      case (MR_Integer) 1:
                      case (MR_Integer) 5:
                      case (MR_Integer) 7:
                      case (MR_Integer) 9:
                      case (MR_Integer) 3:
                        {
                          MR_Word Var_1720;

                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          {
                            Var_1720 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                            MR_hl_field(MR_mktag(2), Var_1720, 0) = (MR_Box) ((MR_Unsigned) (IntType_1763));
                          }
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_1720, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "-");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_1720, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                        break;
                    }
                  }
                  break;
                case (MR_Integer) 3:
                  switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), Op_16, (MR_Integer) 0))))) {
                    default: /*NOTREACHED*/ MR_assert(0);
                    case (MR_Integer) 0:
                      {
                        MR_Word IntType_1578 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_16, (MR_Integer) 1))) & (MR_Integer) 15);

                        switch (IntType_1578) {
                          default: /*NOTREACHED*/ MR_assert(0);
                          case (MR_Integer) 0:
                            {
                              MR_Word Var_1437;

                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_Integer");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ((");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_Unsigned");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                              {
                                Var_1437 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                                MR_hl_field(MR_mktag(2), Var_1437, 0) = (MR_Box) ((MR_Unsigned) (IntType_1578));
                              }
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_1437, Stream_8);
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "*");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) " (");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_Unsigned");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_1437, Stream_8);
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                            }
                            break;
                          case (MR_Integer) 4:
                            {
                              MR_Word Var_1458;

                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "int16_t");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ((");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint16_t");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                              {
                                Var_1458 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                                MR_hl_field(MR_mktag(2), Var_1458, 0) = (MR_Box) ((MR_Unsigned) (IntType_1578));
                              }
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_1458, Stream_8);
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "*");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) " (");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint16_t");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_1458, Stream_8);
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                            }
                            break;
                          case (MR_Integer) 6:
                            {
                              MR_Word Var_1479;

                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "int32_t");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ((");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint32_t");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                              {
                                Var_1479 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                                MR_hl_field(MR_mktag(2), Var_1479, 0) = (MR_Box) ((MR_Unsigned) (IntType_1578));
                              }
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_1479, Stream_8);
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "*");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) " (");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint32_t");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_1479, Stream_8);
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                            }
                            break;
                          case (MR_Integer) 8:
                            {
                              MR_Word Var_1500;

                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "int64_t");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ((");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint64_t");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                              {
                                Var_1500 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                                MR_hl_field(MR_mktag(2), Var_1500, 0) = (MR_Box) ((MR_Unsigned) (IntType_1578));
                              }
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_1500, Stream_8);
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "*");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) " (");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint64_t");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_1500, Stream_8);
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                            }
                            break;
                          case (MR_Integer) 2:
                            {
                              MR_Word Var_1521;

                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "int8_t");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ((");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint8_t");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                              {
                                Var_1521 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                                MR_hl_field(MR_mktag(2), Var_1521, 0) = (MR_Box) ((MR_Unsigned) (IntType_1578));
                              }
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_1521, Stream_8);
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "*");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) " (");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "uint8_t");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_1521, Stream_8);
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                            }
                            break;
                          case (MR_Integer) 1:
                          case (MR_Integer) 5:
                          case (MR_Integer) 7:
                          case (MR_Integer) 9:
                          case (MR_Integer) 3:
                            {
                              MR_Word Var_1535;

                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                              {
                                Var_1535 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                                MR_hl_field(MR_mktag(2), Var_1535, 0) = (MR_Box) ((MR_Unsigned) (IntType_1578));
                              }
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_1535, Stream_8);
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "*");
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                              ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_1535, Stream_8);
                              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                            }
                            break;
                        }
                      }
                      break;
                    case (MR_Integer) 1:
                      {
                        MR_Word Var_944;
                        MR_Word IntType_1007 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_16, (MR_Integer) 1))) & (MR_Integer) 15);

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        {
                          Var_944 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(MR_mktag(2), Var_944, 0) = (MR_Box) ((MR_Unsigned) (IntType_1007));
                        }
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_944, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "/");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_944, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 2:
                      {
                        MR_Word Var_1364;
                        MR_Word IntType_1427 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_16, (MR_Integer) 1))) & (MR_Integer) 15);

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        {
                          Var_1364 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(MR_mktag(2), Var_1364, 0) = (MR_Box) ((MR_Unsigned) (IntType_1427));
                        }
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_1364, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "%");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_1364, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 3:
                      {
                        MR_Word ShiftType_30 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_16, (MR_Integer) 1))) & (MR_Integer) 1);
                        MR_Word Var_192;
                        MR_Word IntType_399 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_16, (MR_Integer) 1))) >> 1)) & (MR_Integer) 15);

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        {
                          Var_192 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(MR_mktag(2), Var_192, 0) = (MR_Box) ((MR_Unsigned) (IntType_399));
                        }
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_192, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "<<");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        switch (ShiftType_30) {
                          default: /*NOTREACHED*/ MR_assert(0);
                          case (MR_Integer) 0:
                            {
                            }
                            break;
                          case (MR_Integer) 1:
                            mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(int) ");
                            break;
                        }
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) (MR_mkword(MR_mktag(2), &ll_backend__llds_out__llds_out_data_scalar_common_1[1])), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 4:
                      {
                        MR_Word ShiftType_2184 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_16, (MR_Integer) 1))) & (MR_Integer) 1);
                        MR_Word Var_2187;
                        MR_Word IntType_2201 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_16, (MR_Integer) 1))) >> 1)) & (MR_Integer) 15);

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        {
                          Var_2187 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(MR_mktag(2), Var_2187, 0) = (MR_Box) ((MR_Unsigned) (IntType_2201));
                        }
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_2187, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ">>");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        switch (ShiftType_2184) {
                          default: /*NOTREACHED*/ MR_assert(0);
                          case (MR_Integer) 0:
                            {
                            }
                            break;
                          case (MR_Integer) 1:
                            mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(int) ");
                            break;
                        }
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) (MR_mkword(MR_mktag(2), &ll_backend__llds_out__llds_out_data_scalar_common_1[1])), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 5:
                      {
                        MR_Word Var_236;
                        MR_Word IntType_396 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_16, (MR_Integer) 1))) & (MR_Integer) 15);

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        {
                          Var_236 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(MR_mktag(2), Var_236, 0) = (MR_Box) ((MR_Unsigned) (IntType_396));
                        }
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_236, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "&");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_236, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 6:
                      {
                        MR_Word Var_451;
                        MR_Word IntType_514 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_16, (MR_Integer) 1))) & (MR_Integer) 15);

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        {
                          Var_451 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(MR_mktag(2), Var_451, 0) = (MR_Box) ((MR_Unsigned) (IntType_514));
                        }
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_451, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "|");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_451, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 7:
                      {
                        MR_Word Var_535;
                        MR_Word IntType_598 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_16, (MR_Integer) 1))) & (MR_Integer) 15);

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        {
                          Var_535 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(MR_mktag(2), Var_535, 0) = (MR_Box) ((MR_Unsigned) (IntType_598));
                        }
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_535, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "^");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_535, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 8:
                      {
                        MR_Word IntType_682 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_16, (MR_Integer) 1))) & (MR_Integer) 15);
                        MR_Word SubRvalAType_603;
                        MR_Word SubRvalBType_604;

                        switch (IntType_682) {
                          default:
                            succeeded = MR_FALSE;
                            break;
                          case (MR_Integer) 0:
                            succeeded = MR_TRUE;
                            break;
                          case (MR_Integer) 1:
                            succeeded = MR_TRUE;
                            break;
                        }
                        if (succeeded)
                        {
                          ll_backend__llds__rval_type_2_p_0(SubRvalA_17, &SubRvalAType_603);
                          if ((SubRvalAType_603 == (MR_Word) ((MR_Unsigned) 20U)))
                            succeeded = MR_TRUE;
                          else
                          if (((MR_tag((MR_Word) SubRvalAType_603)) == (MR_Integer) 2))
                          {
                            MR_Word Var_599 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), SubRvalAType_603, (MR_Integer) 0))) & (MR_Integer) 15);

                            succeeded = (Var_599 == (MR_Integer) 1);
                          }
                          else
                            succeeded = MR_FALSE;
                          if (succeeded)
                          {
                            ll_backend__llds__rval_type_2_p_0(SubRvalB_18, &SubRvalBType_604);
                            if ((SubRvalBType_604 == (MR_Word) ((MR_Unsigned) 20U)))
                              succeeded = MR_TRUE;
                            else
                            if (((MR_tag((MR_Word) SubRvalBType_604)) == (MR_Integer) 2))
                            {
                              MR_Word Var_601 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), SubRvalBType_604, (MR_Integer) 0))) & (MR_Integer) 15);

                              succeeded = (Var_601 == (MR_Integer) 1);
                            }
                            else
                              succeeded = MR_FALSE;
                          }
                        }
                        if (succeeded)
                        {
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, SubRvalA_17, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "==");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, SubRvalB_18, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                        else
                        {
                          MR_Word Var_619;

                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          {
                            Var_619 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                            MR_hl_field(MR_mktag(2), Var_619, 0) = (MR_Box) ((MR_Unsigned) (IntType_682));
                          }
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_619, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "==");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_619, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                      }
                      break;
                    case (MR_Integer) 9:
                      {
                        MR_Word IntType_1896 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_16, (MR_Integer) 1))) & (MR_Integer) 15);
                        MR_Word SubRvalAType_1817;
                        MR_Word SubRvalBType_1818;

                        switch (IntType_1896) {
                          default:
                            succeeded = MR_FALSE;
                            break;
                          case (MR_Integer) 0:
                            succeeded = MR_TRUE;
                            break;
                          case (MR_Integer) 1:
                            succeeded = MR_TRUE;
                            break;
                        }
                        if (succeeded)
                        {
                          ll_backend__llds__rval_type_2_p_0(SubRvalA_17, &SubRvalAType_1817);
                          if ((SubRvalAType_1817 == (MR_Word) ((MR_Unsigned) 20U)))
                            succeeded = MR_TRUE;
                          else
                          if (((MR_tag((MR_Word) SubRvalAType_1817)) == (MR_Integer) 2))
                          {
                            MR_Word Var_1813 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), SubRvalAType_1817, (MR_Integer) 0))) & (MR_Integer) 15);

                            succeeded = (Var_1813 == (MR_Integer) 1);
                          }
                          else
                            succeeded = MR_FALSE;
                          if (succeeded)
                          {
                            ll_backend__llds__rval_type_2_p_0(SubRvalB_18, &SubRvalBType_1818);
                            if ((SubRvalBType_1818 == (MR_Word) ((MR_Unsigned) 20U)))
                              succeeded = MR_TRUE;
                            else
                            if (((MR_tag((MR_Word) SubRvalBType_1818)) == (MR_Integer) 2))
                            {
                              MR_Word Var_1815 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), SubRvalBType_1818, (MR_Integer) 0))) & (MR_Integer) 15);

                              succeeded = (Var_1815 == (MR_Integer) 1);
                            }
                            else
                              succeeded = MR_FALSE;
                          }
                        }
                        if (succeeded)
                        {
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, SubRvalA_17, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "!=");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, SubRvalB_18, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                        else
                        {
                          MR_Word Var_1833;

                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                          {
                            Var_1833 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                            MR_hl_field(MR_mktag(2), Var_1833, 0) = (MR_Box) ((MR_Unsigned) (IntType_1896));
                          }
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_1833, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) "!=");
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                          ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_1833, Stream_8);
                          mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                        }
                      }
                      break;
                    case (MR_Integer) 10:
                      {
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")[");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) (MR_mkword(MR_mktag(2), &ll_backend__llds_out__llds_out_data_scalar_common_1[1])), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "]");
                      }
                      break;
                    case (MR_Integer) 11:
                      {
                        MR_Integer N_31 = ((MR_Integer) ((MR_hl_field(MR_mktag(3), Op_16, (MR_Integer) 1))));

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_offset_streq(");
                        mercury__io__write_int_4_p_0(Stream_8, N_31);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, (MR_Word) ((MR_Unsigned) 12U), Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 12:
                      {
                        MR_Word Var_1280;
                        MR_Word IntType_1343 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_16, (MR_Integer) 1))) & (MR_Integer) 15);

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        {
                          Var_1280 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(MR_mktag(2), Var_1280, 0) = (MR_Box) ((MR_Unsigned) (IntType_1343));
                        }
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_1280, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "<");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_1280, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 13:
                      {
                        MR_Word Var_1112;
                        MR_Word IntType_1175 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_16, (MR_Integer) 1))) & (MR_Integer) 15);

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        {
                          Var_1112 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(MR_mktag(2), Var_1112, 0) = (MR_Box) ((MR_Unsigned) (IntType_1175));
                        }
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_1112, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ">");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_1112, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 14:
                      {
                        MR_Word Var_1196;
                        MR_Word IntType_1259 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_16, (MR_Integer) 1))) & (MR_Integer) 15);

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        {
                          Var_1196 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(MR_mktag(2), Var_1196, 0) = (MR_Box) ((MR_Unsigned) (IntType_1259));
                        }
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_1196, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "<=");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_1196, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                    case (MR_Integer) 15:
                      {
                        MR_Word Var_1028;
                        MR_Word IntType_1091 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Op_16, (MR_Integer) 1))) & (MR_Integer) 15);

                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
                        {
                          Var_1028 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                          MR_hl_field(MR_mktag(2), Var_1028, 0) = (MR_Box) ((MR_Unsigned) (IntType_1091));
                        }
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalA_17, Var_1028, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ">=");
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) " ");
                        ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRvalB_18, Var_1028, Stream_8);
                        mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                      }
                      break;
                  }
                  break;
              }
            }
            break;
          case (MR_Integer) 5:
            {
              MR_Word MemRef_425 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_7, (MR_Integer) 1))));

              switch (MR_tag((MR_Word) MemRef_425)) {
                default: /*NOTREACHED*/ MR_assert(0);
                case (MR_Integer) 0:
                  {
                    MR_Word SubRval_408 = ((MR_Word) ((MR_hl_field(MR_mktag(0), MemRef_425, (MR_Integer) 0))));
                    MR_Integer SlotNum_43;
                    MR_Word Var_75;

                    mercury__io__write_string_4_p_0(Stream_8, (MR_String) "&MR_sv(");
                    succeeded = ((((MR_tag((MR_Word) SubRval_408)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), SubRval_408, (MR_Integer) 0)))) == (MR_Integer) 1)));
                    if (succeeded)
                    {
                      Var_75 = ((MR_Word) ((MR_hl_field(MR_mktag(3), SubRval_408, (MR_Integer) 1))));
                      succeeded = ((MR_tag((MR_Word) Var_75)) == (MR_Integer) 1);
                      if (succeeded)
                        SlotNum_43 = ((MR_Integer) ((MR_hl_field(MR_mktag(1), Var_75, (MR_Integer) 0))));
                    }
                    if (succeeded)
                      mercury__io__write_int_4_p_0(Stream_8, SlotNum_43);
                    else
                      ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRval_408, (MR_Word) (MR_mkword(MR_mktag(2), &ll_backend__llds_out__llds_out_data_scalar_common_1[1])), Stream_8);
                    mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                  }
                  break;
                case (MR_Integer) 1:
                  {
                    MR_Word SubRval_410 = ((MR_Word) ((MR_hl_field(MR_mktag(1), MemRef_425, (MR_Integer) 0))));
                    MR_Integer SlotNum_409;
                    MR_Word Var_66;

                    mercury__io__write_string_4_p_0(Stream_8, (MR_String) "&MR_fv(");
                    succeeded = ((((MR_tag((MR_Word) SubRval_410)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), SubRval_410, (MR_Integer) 0)))) == (MR_Integer) 1)));
                    if (succeeded)
                    {
                      Var_66 = ((MR_Word) ((MR_hl_field(MR_mktag(3), SubRval_410, (MR_Integer) 1))));
                      succeeded = ((MR_tag((MR_Word) Var_66)) == (MR_Integer) 1);
                      if (succeeded)
                        SlotNum_409 = ((MR_Integer) ((MR_hl_field(MR_mktag(1), Var_66, (MR_Integer) 0))));
                    }
                    if (succeeded)
                      mercury__io__write_int_4_p_0(Stream_8, SlotNum_409);
                    else
                      ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, SubRval_410, (MR_Word) (MR_mkword(MR_mktag(2), &ll_backend__llds_out__llds_out_data_scalar_common_1[1])), Stream_8);
                    mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                  }
                  break;
                case (MR_Integer) 2:
                  {
                    MR_Word BaseRval_44 = ((MR_Word) ((MR_hl_field(MR_mktag(2), MemRef_425, (MR_Integer) 0))));
                    MR_Word MaybePtag_416 = ((MR_Word) ((MR_hl_field(MR_mktag(2), MemRef_425, (MR_Integer) 1))));
                    MR_Word FieldNumRval_417 = ((MR_Word) ((MR_hl_field(MR_mktag(2), MemRef_425, (MR_Integer) 2))));
                    MR_Integer FieldNum_414;
                    MR_Word Var_57;

                    if ((MaybePtag_416 == (MR_Word) ((MR_Unsigned) 0U)))
                      mercury__io__write_string_4_p_0(Stream_8, (MR_String) "&MR_mask_field(");
                    else
                    {
                      MR_Word Ptag_412 = ((MR_Word) ((MR_hl_field(MR_mktag(1), MaybePtag_416, (MR_Integer) 0))));

                      mercury__io__write_string_4_p_0(Stream_8, (MR_String) "&MR_tfield(");
                      ll_backend__llds_out__llds_out_data__write_ptag_4_p_0(Stream_8, Ptag_412);
                      mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
                    }
                    ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, BaseRval_44, Stream_8);
                    mercury__io__write_string_4_p_0(Stream_8, (MR_String) ", ");
                    succeeded = ((((MR_tag((MR_Word) FieldNumRval_417)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), FieldNumRval_417, (MR_Integer) 0)))) == (MR_Integer) 1)));
                    if (succeeded)
                    {
                      Var_57 = ((MR_Word) ((MR_hl_field(MR_mktag(3), FieldNumRval_417, (MR_Integer) 1))));
                      succeeded = ((MR_tag((MR_Word) Var_57)) == (MR_Integer) 1);
                      if (succeeded)
                        FieldNum_414 = ((MR_Integer) ((MR_hl_field(MR_mktag(1), Var_57, (MR_Integer) 0))));
                    }
                    if (succeeded)
                      mercury__io__write_int_4_p_0(Stream_8, FieldNum_414);
                    else
                      ll_backend__llds_out__llds_out_data__output_rval_as_type_6_p_0(Info_6, FieldNumRval_417, (MR_Word) (MR_mkword(MR_mktag(2), &ll_backend__llds_out__llds_out_data_scalar_common_1[1])), Stream_8);
                    mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                  }
                  break;
              }
            }
            break;
        }
        break;
    }
  }
}

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_uint64_rval_as_word_5_p_0(
  MR_Word Info_6,
  MR_Word Stream_7,
  MR_Word Rval_8)
{
  {
    MR_bool succeeded;
    MR_Word UnboxInt64s_21 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_6, (MR_Integer) 7))) >> 5)) & (MR_Integer) 1);
    MR_Word StaticGroundInt64s_22 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_6, (MR_Integer) 7))) >> 4)) & (MR_Integer) 1);
    MR_String UInt64Name_23;

    succeeded = (UnboxInt64s_21 == (MR_Integer) 0);
    if (succeeded)
    {
      succeeded = (StaticGroundInt64s_22 == (MR_Integer) 0);
      if (succeeded)
        succeeded = ll_backend__llds_out__llds_out_data__uint64_const_expr_name_2_p_0(Rval_8, &UInt64Name_23);
    }
    if (succeeded)
    {
      ll_backend__llds_out__llds_out_data__output_llds_type_cast_4_p_0(Stream_7, (MR_Word) ((MR_Unsigned) 20U));
      mercury__io__write_string_4_p_0(Stream_7, (MR_String) "&mercury_uint64_const_");
      mercury__io__write_string_4_p_0(Stream_7, UInt64Name_23);
    }
    else
    {
      mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_uint64_to_word(");
      ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Rval_8, Stream_7);
      mercury__io__write_string_4_p_0(Stream_7, (MR_String) ")");
    }
  }
}

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_uint64_rval_as_data_ptr_5_p_0(
  MR_Word Info_6,
  MR_Word Stream_7,
  MR_Word Rval_8)
{
  {
    MR_bool succeeded;
    MR_Word UnboxInt64s_21 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_6, (MR_Integer) 7))) >> 5)) & (MR_Integer) 1);
    MR_Word StaticGroundInt64s_22 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_6, (MR_Integer) 7))) >> 4)) & (MR_Integer) 1);
    MR_String UInt64Name_23;

    succeeded = (UnboxInt64s_21 == (MR_Integer) 0);
    if (succeeded)
    {
      succeeded = (StaticGroundInt64s_22 == (MR_Integer) 0);
      if (succeeded)
        succeeded = ll_backend__llds_out__llds_out_data__uint64_const_expr_name_2_p_0(Rval_8, &UInt64Name_23);
    }
    if (succeeded)
    {
      ll_backend__llds_out__llds_out_data__output_llds_type_cast_4_p_0(Stream_7, (MR_Word) ((MR_Unsigned) 12U));
      mercury__io__write_string_4_p_0(Stream_7, (MR_String) "&mercury_uint64_const_");
      mercury__io__write_string_4_p_0(Stream_7, UInt64Name_23);
    }
    else
    {
      ll_backend__llds_out__llds_out_data__output_llds_type_cast_4_p_0(Stream_7, (MR_Word) ((MR_Unsigned) 12U));
      mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_uint64_to_word(");
      ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Rval_8, Stream_7);
      mercury__io__write_string_4_p_0(Stream_7, (MR_String) ")");
    }
  }
}

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_int64_rval_6_p_0(
  MR_Word Info_7,
  MR_Word Stream_8,
  MR_Word Rval_9,
  MR_Word IsPtr_10)
{
  {
    MR_bool succeeded;
    MR_Word UnboxInt64s_12 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_7, (MR_Integer) 7))) >> 5)) & (MR_Integer) 1);
    MR_Word StaticGroundInt64s_13 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_7, (MR_Integer) 7))) >> 4)) & (MR_Integer) 1);
    MR_String Int64Name_14;
    int64_t Int64_77;
    MR_Word Var_78;
    MR_String Int64Name0_81;
    MR_String Var_82;
    MR_String Var_83;

    succeeded = (UnboxInt64s_12 == (MR_Integer) 0);
    if (succeeded)
    {
      succeeded = (StaticGroundInt64s_13 == (MR_Integer) 0);
      if (succeeded)
      {
        succeeded = ((((MR_tag((MR_Word) Rval_9)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Rval_9, (MR_Integer) 0)))) == (MR_Integer) 1)));
        if (succeeded)
        {
          Var_78 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Rval_9, (MR_Integer) 1))));
          succeeded = ((((MR_tag((MR_Word) Var_78)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_78, (MR_Integer) 0)))) == (MR_Integer) 6)));
          if (succeeded)
          {
            Int64_77 = MR_unbox_int64((MR_hl_field(MR_mktag(3), Var_78, (MR_Integer) 1)));
            Int64Name0_81 = mercury__string__int64_to_string_1_f_0(Int64_77);
            Var_82 = (MR_String) "-";
            Var_83 = (MR_String) "neg";
            mercury__string__replace_all_4_p_0(Int64Name0_81, Var_82, Var_83, &Int64Name_14);
            succeeded = MR_TRUE;
          }
        }
      }
    }
    if (succeeded)
    {
      MR_Word Cast_15;

      switch (IsPtr_10) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          Cast_15 = (MR_Word) ((MR_Unsigned) 20U);
          break;
        case (MR_Integer) 1:
          Cast_15 = (MR_Word) ((MR_Unsigned) 12U);
          break;
      }
      mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
      ll_backend__llds_out__llds_out_data__output_llds_type_4_p_0(Stream_8, Cast_15);
      mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
      mercury__io__write_string_4_p_0(Stream_8, (MR_String) "&mercury_int64_const_");
      mercury__io__write_string_4_p_0(Stream_8, Int64Name_14);
    }
    else
    {
      switch (IsPtr_10) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          {
          }
          break;
        case (MR_Integer) 1:
          ll_backend__llds_out__llds_out_data__output_llds_type_cast_4_p_0(Stream_8, (MR_Word) ((MR_Unsigned) 12U));
          break;
      }
      mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_int64_to_word(");
      ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_7, Rval_9, Stream_8);
      mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
    }
  }
}

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_int64_rval_as_data_ptr_5_p_0(
  MR_Word Info_6,
  MR_Word Stream_7,
  MR_Word Rval_8)
{
  {
    MR_bool succeeded;
    MR_Word UnboxInt64s_21 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_6, (MR_Integer) 7))) >> 5)) & (MR_Integer) 1);
    MR_Word StaticGroundInt64s_22 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_6, (MR_Integer) 7))) >> 4)) & (MR_Integer) 1);
    MR_String Int64Name_23;

    succeeded = (UnboxInt64s_21 == (MR_Integer) 0);
    if (succeeded)
    {
      succeeded = (StaticGroundInt64s_22 == (MR_Integer) 0);
      if (succeeded)
        succeeded = ll_backend__llds_out__llds_out_data__int64_const_expr_name_2_p_0(Rval_8, &Int64Name_23);
    }
    if (succeeded)
    {
      ll_backend__llds_out__llds_out_data__output_llds_type_cast_4_p_0(Stream_7, (MR_Word) ((MR_Unsigned) 12U));
      mercury__io__write_string_4_p_0(Stream_7, (MR_String) "&mercury_int64_const_");
      mercury__io__write_string_4_p_0(Stream_7, Int64Name_23);
    }
    else
    {
      ll_backend__llds_out__llds_out_data__output_llds_type_cast_4_p_0(Stream_7, (MR_Word) ((MR_Unsigned) 12U));
      mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_int64_to_word(");
      ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Rval_8, Stream_7);
      mercury__io__write_string_4_p_0(Stream_7, (MR_String) ")");
    }
  }
}

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_float_rval_6_p_0(
  MR_Word Info_7,
  MR_Word Stream_8,
  MR_Word Rval_9,
  MR_Word IsPtr_10)
{
  {
    MR_bool succeeded;
    MR_Word UnboxFloat_12 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_7, (MR_Integer) 7))) >> 8)) & (MR_Integer) 1);
    MR_Word StaticGroundFloats_13 = ((((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Info_7, (MR_Integer) 7))) >> 6)) & (MR_Integer) 1);
    MR_String FloatName_14;

    succeeded = (UnboxFloat_12 == (MR_Integer) 0);
    if (succeeded)
    {
      succeeded = (StaticGroundFloats_13 == (MR_Integer) 0);
      if (succeeded)
        succeeded = ll_backend__llds_out__llds_out_data__float_const_expr_name_2_p_0(Rval_9, &FloatName_14);
    }
    if (succeeded)
    {
      MR_Word Cast_15;

      switch (IsPtr_10) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          Cast_15 = (MR_Word) ((MR_Unsigned) 20U);
          break;
        case (MR_Integer) 1:
          Cast_15 = (MR_Word) ((MR_Unsigned) 12U);
          break;
      }
      mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
      ll_backend__llds_out__llds_out_data__output_llds_type_4_p_0(Stream_8, Cast_15);
      mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
      mercury__io__write_string_4_p_0(Stream_8, (MR_String) "&mercury_float_const_");
      mercury__io__write_string_4_p_0(Stream_8, FloatName_14);
    }
    else
    {
      switch (IsPtr_10) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          {
          }
          break;
        case (MR_Integer) 1:
          {
            mercury__io__write_string_4_p_0(Stream_8, (MR_String) "(");
            ll_backend__llds_out__llds_out_data__output_llds_type_4_p_0(Stream_8, (MR_Word) ((MR_Unsigned) 12U));
            mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") ");
          }
          break;
      }
      mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_float_to_word(");
      ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_7, Rval_9, Stream_8);
      mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
    }
  }
}

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_double_stackvar_ptr_6_p_0(
  MR_Word Info_7,
  MR_Word Stream_8,
  MR_Word StackType_9,
  MR_Integer SlotNum_10)
{
  {
    MR_Word Lval_12;

    switch (StackType_9) {
      default: /*NOTREACHED*/ MR_assert(0);
      case (MR_Integer) 1:
        {
          MR_Integer Var_15 = (MR_Integer) ((MR_Unsigned) SlotNum_10 + (MR_Unsigned) 1);

          {
            Lval_12 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
            MR_hl_field(MR_mktag(3), Lval_12, 0) = ((MR_Box) ((MR_Unsigned) 1U));
            MR_hl_field(MR_mktag(3), Lval_12, 1) = ((MR_Box) (Var_15));
          }
        }
        break;
      case (MR_Integer) 0:
        {
          MR_Integer Var_17 = (MR_Integer) ((MR_Unsigned) SlotNum_10 + (MR_Unsigned) 1);

          {
            Lval_12 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
            MR_hl_field(MR_mktag(3), Lval_12, 0) = ((MR_Box) ((MR_Unsigned) 0U));
            MR_hl_field(MR_mktag(3), Lval_12, 1) = ((MR_Box) (Var_17));
          }
        }
        break;
    }
    mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_dword_ptr(&(");
    ll_backend__llds_out__llds_out_data__output_lval_5_p_0(Info_7, Stream_8, Lval_12);
    mercury__io__write_string_4_p_0(Stream_8, (MR_String) "))");
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_lval_5_p_0(
  MR_Word Info_6,
  MR_Word Stream_7,
  MR_Word Lval_8)
{
  {
    MR_bool succeeded;

    switch (MR_tag((MR_Word) Lval_8)) {
      default: /*NOTREACHED*/ MR_assert(0);
      case (MR_Integer) 0:
        switch (MR_unmkbody(Lval_8)) {
          default: /*NOTREACHED*/ MR_assert(0);
          case (MR_Integer) 0:
            mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_succip");
            break;
          case (MR_Integer) 1:
            mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_maxfr");
            break;
          case (MR_Integer) 2:
            mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_curfr");
            break;
          case (MR_Integer) 3:
            mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_hp");
            break;
          case (MR_Integer) 4:
            mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_sp");
            break;
          case (MR_Integer) 5:
            mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_parent_sp");
            break;
        }
        break;
      case (MR_Integer) 1:
        {
          MR_Word Type_10 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(1), Lval_8, (MR_Integer) 0))) & (MR_Integer) 1);
          MR_Integer Num_11 = ((MR_Integer) ((MR_hl_field(MR_mktag(1), Lval_8, (MR_Integer) 1))));

          ll_backend__llds_out__llds_out_data__output_reg_5_p_0(Stream_7, Type_10, Num_11);
        }
        break;
      case (MR_Integer) 2:
        {
          MR_Word Type_132 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), Lval_8, (MR_Integer) 0))) & (MR_Integer) 1);
          MR_Integer Num_133 = ((MR_Integer) ((MR_hl_field(MR_mktag(2), Lval_8, (MR_Integer) 1))));

          switch (Type_132) {
            default: /*NOTREACHED*/ MR_assert(0);
            case (MR_Integer) 1:
              {
                mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_tempf");
                mercury__io__write_int_4_p_0(Stream_7, Num_133);
              }
              break;
            case (MR_Integer) 0:
              {
                mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_tempr");
                mercury__io__write_int_4_p_0(Stream_7, Num_133);
              }
              break;
          }
        }
        break;
      case (MR_Integer) 3:
        switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), Lval_8, (MR_Integer) 0))))) {
          default: /*NOTREACHED*/ MR_assert(0);
          case (MR_Integer) 0:
            {
              MR_Integer N_12 = ((MR_Integer) ((MR_hl_field(MR_mktag(3), Lval_8, (MR_Integer) 1))));

              succeeded = (N_12 <= (MR_Integer) 0);
              if (succeeded)
                {
                  mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_lval\'/5", (MR_String) "stack var out of range");
                  return;
                }
              mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_sv(");
              mercury__io__write_int_4_p_0(Stream_7, N_12);
              mercury__io__write_string_4_p_0(Stream_7, (MR_String) ")");
            }
            break;
          case (MR_Integer) 1:
            {
              MR_Integer N_125 = ((MR_Integer) ((MR_hl_field(MR_mktag(3), Lval_8, (MR_Integer) 1))));

              succeeded = (N_125 <= (MR_Integer) 0);
              if (succeeded)
                {
                  mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_lval\'/5", (MR_String) "parent stack var out of range");
                  return;
                }
              mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_parent_sv(");
              mercury__io__write_int_4_p_0(Stream_7, N_125);
              mercury__io__write_string_4_p_0(Stream_7, (MR_String) ")");
            }
            break;
          case (MR_Integer) 2:
            {
              MR_Integer N_126 = ((MR_Integer) ((MR_hl_field(MR_mktag(3), Lval_8, (MR_Integer) 1))));

              succeeded = (N_126 <= (MR_Integer) 0);
              if (succeeded)
                {
                  mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_lval\'/5", (MR_String) "frame var out of range");
                  return;
                }
              mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_fv(");
              mercury__io__write_int_4_p_0(Stream_7, N_126);
              mercury__io__write_string_4_p_0(Stream_7, (MR_String) ")");
            }
            break;
          case (MR_Integer) 3:
            {
              MR_Word StackType_13 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(3), Lval_8, (MR_Integer) 1))) & (MR_Integer) 1);
              MR_Integer SlotNum_14 = ((MR_Integer) ((MR_hl_field(MR_mktag(3), Lval_8, (MR_Integer) 2))));

              mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_float_from_dword_ptr(");
              ll_backend__llds_out__llds_out_data__output_double_stackvar_ptr_6_p_0(Info_6, Stream_7, StackType_13, SlotNum_14);
              mercury__io__write_string_4_p_0(Stream_7, (MR_String) ")");
            }
            break;
          case (MR_Integer) 4:
            {
              MR_Word Rval_130 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_8, (MR_Integer) 1))));

              mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_succip_slot(");
              ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Rval_130, Stream_7);
              mercury__io__write_string_4_p_0(Stream_7, (MR_String) ")");
            }
            break;
          case (MR_Integer) 5:
            {
              MR_Word Rval_15 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_8, (MR_Integer) 1))));

              mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_succfr_slot(");
              ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Rval_15, Stream_7);
              mercury__io__write_string_4_p_0(Stream_7, (MR_String) ")");
            }
            break;
          case (MR_Integer) 6:
            {
              MR_Word Rval_129 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_8, (MR_Integer) 1))));

              mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_redoip_slot(");
              ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Rval_129, Stream_7);
              mercury__io__write_string_4_p_0(Stream_7, (MR_String) ")");
            }
            break;
          case (MR_Integer) 7:
            {
              MR_Word Rval_128 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_8, (MR_Integer) 1))));

              mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_redofr_slot(");
              ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Rval_128, Stream_7);
              mercury__io__write_string_4_p_0(Stream_7, (MR_String) ")");
            }
            break;
          case (MR_Integer) 8:
            {
              MR_Word Rval_127 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_8, (MR_Integer) 1))));

              mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_prevfr_slot(");
              ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Rval_127, Stream_7);
              mercury__io__write_string_4_p_0(Stream_7, (MR_String) ")");
            }
            break;
          case (MR_Integer) 9:
            {
              MR_Word MaybePtag_16 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_8, (MR_Integer) 1))));
              MR_Word FieldNumRval_17 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_8, (MR_Integer) 3))));
              MR_Word Rval_131 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_8, (MR_Integer) 2))));
              MR_Integer FieldNum_19;
              MR_Word Var_50;

              if ((MaybePtag_16 == (MR_Word) ((MR_Unsigned) 0U)))
                mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_mask_field(");
              else
              {
                MR_Word Ptag_18 = ((MR_Word) ((MR_hl_field(MR_mktag(1), MaybePtag_16, (MR_Integer) 0))));

                mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_tfield(");
                ll_backend__llds_out__llds_out_data__write_ptag_4_p_0(Stream_7, Ptag_18);
                mercury__io__write_string_4_p_0(Stream_7, (MR_String) ", ");
              }
              ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Rval_131, Stream_7);
              mercury__io__write_string_4_p_0(Stream_7, (MR_String) ", ");
              succeeded = ((((MR_tag((MR_Word) FieldNumRval_17)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), FieldNumRval_17, (MR_Integer) 0)))) == (MR_Integer) 1)));
              if (succeeded)
              {
                Var_50 = ((MR_Word) ((MR_hl_field(MR_mktag(3), FieldNumRval_17, (MR_Integer) 1))));
                succeeded = ((MR_tag((MR_Word) Var_50)) == (MR_Integer) 1);
                if (succeeded)
                  FieldNum_19 = ((MR_Integer) ((MR_hl_field(MR_mktag(1), Var_50, (MR_Integer) 0))));
              }
              if (succeeded)
                mercury__io__write_int_4_p_0(Stream_7, FieldNum_19);
              else
                ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, FieldNumRval_17, Stream_7);
              mercury__io__write_string_4_p_0(Stream_7, (MR_String) ")");
            }
            break;
          case (MR_Integer) 10:
            {
              MR_Word Rval_134 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_8, (MR_Integer) 1))));

              mercury__io__write_string_4_p_0(Stream_7, (MR_String) "* (MR_Word *) (");
              ll_backend__llds_out__llds_out_data__output_rval_5_p_0(Info_6, Rval_134, Stream_7);
              mercury__io__write_string_4_p_0(Stream_7, (MR_String) ")");
            }
            break;
          case (MR_Integer) 11:
            {
              MR_Word GlobalVar_21 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Lval_8, (MR_Integer) 1))));
              MR_String Var_24;

              Var_24 = ll_backend__llds_out__llds_out_data__c_global_var_name_1_f_0(GlobalVar_21);
              mercury__io__write_string_4_p_0(Stream_7, Var_24);
            }
            break;
          case (MR_Integer) 12:
            {
              mercury__require__unexpected_3_p_0((MR_String) "llds_out_data.m", (MR_String) "predicate \140ll_backend.llds_out.llds_out_data.output_lval\'/5", (MR_String) "lvar");
              return;
            }
            break;
        }
        break;
    }
  }
}

MR_bool MR_CALL 
ll_backend__llds_out__llds_out_data__uint64_const_expr_name_2_p_0(
  MR_Word Expr_3,
  MR_String * Name_4)
{
  {
    MR_bool succeeded = ((((MR_tag((MR_Word) Expr_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Expr_3, (MR_Integer) 0)))) == (MR_Integer) 1)));
    uint64_t UInt64_5;
    MR_Word Var_6;

    if (succeeded)
    {
      Var_6 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Expr_3, (MR_Integer) 1))));
      succeeded = ((((MR_tag((MR_Word) Var_6)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_6, (MR_Integer) 0)))) == (MR_Integer) 7)));
      if (succeeded)
      {
        UInt64_5 = MR_unbox_uint64((MR_hl_field(MR_mktag(3), Var_6, (MR_Integer) 1)));
        *Name_4 = mercury__string__uint64_to_string_1_f_0(UInt64_5);
        succeeded = MR_TRUE;
      }
    }
    return succeeded;
  }
}

MR_bool MR_CALL 
ll_backend__llds_out__llds_out_data__int64_const_expr_name_2_p_0(
  MR_Word Expr_3,
  MR_String * Name_4)
{
  {
    MR_bool succeeded = ((((MR_tag((MR_Word) Expr_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Expr_3, (MR_Integer) 0)))) == (MR_Integer) 1)));
    int64_t Int64_5;
    MR_Word Var_6;
    MR_String Int64Name0_9;
    MR_String Var_10;
    MR_String Var_11;

    if (succeeded)
    {
      Var_6 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Expr_3, (MR_Integer) 1))));
      succeeded = ((((MR_tag((MR_Word) Var_6)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_6, (MR_Integer) 0)))) == (MR_Integer) 6)));
      if (succeeded)
      {
        Int64_5 = MR_unbox_int64((MR_hl_field(MR_mktag(3), Var_6, (MR_Integer) 1)));
        Int64Name0_9 = mercury__string__int64_to_string_1_f_0(Int64_5);
        Var_10 = (MR_String) "-";
        Var_11 = (MR_String) "neg";
        mercury__string__replace_all_4_p_0(Int64Name0_9, Var_10, Var_11, Name_4);
        succeeded = MR_TRUE;
      }
    }
    return succeeded;
  }
}

MR_bool MR_CALL 
ll_backend__llds_out__llds_out_data__float_const_expr_name_2_p_0(
  MR_Word Expr_3,
  MR_String * Name_4)
{
  {
    MR_bool succeeded = ((((MR_tag((MR_Word) Expr_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Expr_3, (MR_Integer) 0)))) == (MR_Integer) 1)));
    MR_Float Float_5;
    MR_Word Var_9;

    if (succeeded)
    {
      Var_9 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Expr_3, (MR_Integer) 1))));
      succeeded = ((((MR_tag((MR_Word) Var_9)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Var_9, (MR_Integer) 0)))) == (MR_Integer) 9)));
      if (succeeded)
        Float_5 = MR_unbox_float((MR_hl_field(MR_mktag(3), Var_9, (MR_Integer) 1)));
    }
    if (succeeded)
    {
      MR_String FloatName0_12;
      MR_String FloatName1_13;
      MR_String FloatName2_14;

      FloatName0_12 = backend_libs__c_util__make_float_literal_1_f_0(Float_5);
      mercury__string__replace_all_4_p_0(FloatName0_12, (MR_String) ".", (MR_String) "pt", &FloatName1_13);
      mercury__string__replace_all_4_p_0(FloatName1_13, (MR_String) "+", (MR_String) "plus", &FloatName2_14);
      mercury__string__replace_all_4_p_0(FloatName2_14, (MR_String) "-", (MR_String) "neg", Name_4);
      succeeded = MR_TRUE;
    }
    else
    {
      MR_Word Op_6;
      MR_Word Arg1_7;
      MR_Word Arg2_8;
      MR_String OpName_25;
      MR_String Arg1Name_26;
      MR_String Arg2Name_27;
      MR_String Var_28;
      MR_String Var_29;
      MR_String Var_30;
      MR_String Var_31;
      MR_String Var_32;

      succeeded = ((((MR_tag((MR_Word) Expr_3)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), Expr_3, (MR_Integer) 0)))) == (MR_Integer) 4)));
      if (succeeded)
      {
        Op_6 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Expr_3, (MR_Integer) 1))));
        Arg1_7 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Expr_3, (MR_Integer) 2))));
        Arg2_8 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Expr_3, (MR_Integer) 3))));
        succeeded = ll_backend__llds_out__llds_out_data__float_op_name_2_p_0(Op_6, &OpName_25);
        if (succeeded)
        {
          succeeded = ll_backend__llds_out__llds_out_data__float_const_expr_name_2_p_0(Arg1_7, &Arg1Name_26);
          if (succeeded)
          {
            succeeded = ll_backend__llds_out__llds_out_data__float_const_expr_name_2_p_0(Arg2_8, &Arg2Name_27);
            if (succeeded)
            {
              Var_29 = (MR_String) "_";
              Var_32 = (MR_String) "_";
              Var_31 = mercury__string__f_43_43_2_f_0(Var_32, Arg2Name_27);
              Var_30 = mercury__string__f_43_43_2_f_0(Arg1Name_26, Var_31);
              Var_28 = mercury__string__f_43_43_2_f_0(Var_29, Var_30);
              *Name_4 = mercury__string__f_43_43_2_f_0(OpName_25, Var_28);
              succeeded = MR_TRUE;
            }
          }
        }
      }
    }
    return succeeded;
  }
}

static MR_bool MR_CALL 
ll_backend__llds_out__llds_out_data__float_op_name_2_p_0(
  MR_Word HeadVar__1_1,
  MR_String * HeadVar__2_2)
{
  {
    MR_bool succeeded;

    switch (MR_tag((MR_Word) HeadVar__1_1)) {
      default:
        succeeded = MR_FALSE;
        break;
      case (MR_Integer) 0:
        switch (MR_unmkbody(HeadVar__1_1)) {
          default:
            succeeded = MR_FALSE;
            break;
          case (MR_Integer) 13:
            {
              *HeadVar__2_2 = (MR_String) "fadd";
              succeeded = MR_TRUE;
            }
            break;
          case (MR_Integer) 14:
            {
              *HeadVar__2_2 = (MR_String) "fsub";
              succeeded = MR_TRUE;
            }
            break;
          case (MR_Integer) 15:
            {
              *HeadVar__2_2 = (MR_String) "fmul";
              succeeded = MR_TRUE;
            }
            break;
          case (MR_Integer) 16:
            {
              *HeadVar__2_2 = (MR_String) "fdiv";
              succeeded = MR_TRUE;
            }
            break;
        }
        break;
    }
    return succeeded;
  }
}

static MR_bool MR_CALL 
ll_backend__llds_out__llds_out_data__is_aligned_dword_ptr_3_p_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word * MemRef_6)
{
  {
    MR_bool succeeded = ((MR_tag((MR_Word) HeadVar__1_1)) == (MR_Integer) 0);
    MR_Word LvalA_4;
    MR_Word LvalB_5;
    MR_Integer N_7;
    MR_Integer Var_11;
    MR_Integer Var_12;
    MR_Word Var_13;
    MR_Word Var_14;
    MR_Integer Var_15;
    MR_Integer Var_16;

    if (succeeded)
    {
      LvalA_4 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 0))));
      succeeded = ((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 0);
      if (succeeded)
      {
        LvalB_5 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));
        succeeded = ((((MR_tag((MR_Word) LvalA_4)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), LvalA_4, (MR_Integer) 0)))) == (MR_Integer) 0)));
        if (succeeded)
        {
          N_7 = ((MR_Integer) ((MR_hl_field(MR_mktag(3), LvalA_4, (MR_Integer) 1))));
          succeeded = ((((MR_tag((MR_Word) LvalB_5)) == (MR_Integer) 3)) && ((((MR_Integer) ((MR_hl_field(MR_mktag(3), LvalB_5, (MR_Integer) 0)))) == (MR_Integer) 0)));
          if (succeeded)
          {
            Var_11 = ((MR_Integer) ((MR_hl_field(MR_mktag(3), LvalB_5, (MR_Integer) 1))));
            Var_12 = (MR_Integer) ((MR_Unsigned) Var_11 - (MR_Unsigned) N_7);
            succeeded = (Var_12 == (MR_Integer) 1);
            if (succeeded)
            {
              Var_16 = (MR_Integer) 1;
              Var_15 = (MR_Integer) ((MR_Unsigned) N_7 + (MR_Unsigned) Var_16);
              {
                Var_14 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                MR_hl_field(MR_mktag(1), Var_14, 0) = ((MR_Box) (Var_15));
              }
              {
                Var_13 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                MR_hl_field(MR_mktag(3), Var_13, 0) = ((MR_Box) ((MR_Unsigned) 1U));
                MR_hl_field(MR_mktag(3), Var_13, 1) = ((MR_Box) (Var_14));
              }
              {
                MR_Word base;
                base = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
                *MemRef_6 = base;
                MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (Var_13));
              }
              succeeded = MR_TRUE;
            }
          }
        }
      }
    }
    return succeeded;
  }
}

static MR_Box MR_CALL 
ll_backend__llds_out__llds_out_data__output_rval_const_5_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  {
    MR_Box wrapper_arg_3;
    MR_Box closure = closure_arg;
    MR_Integer conv0_LambdaHeadVar__3_64;

    conv0_LambdaHeadVar__3_64 = ll_backend__llds_out__llds_out_data__IntroducedFrom__func__output_rval_const__1511__1_2_f_0(((MR_String) (wrapper_arg_1)), ((MR_Integer) (wrapper_arg_2)));
    wrapper_arg_3 = ((MR_Box) (conv0_LambdaHeadVar__3_64));
    return wrapper_arg_3;
  }
}

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_rval_const_5_p_0(
  MR_Word Info_6,
  MR_Word Const_7,
  MR_Word Stream_8)
{
  {
    MR_bool succeeded;

    switch (MR_tag((MR_Word) Const_7)) {
      default: /*NOTREACHED*/ MR_assert(0);
      case (MR_Integer) 0:
        switch (MR_unmkbody(Const_7)) {
          default: /*NOTREACHED*/ MR_assert(0);
          case (MR_Integer) 0:
            mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_TRUE");
            break;
          case (MR_Integer) 1:
            mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_FALSE");
            break;
        }
        break;
      case (MR_Integer) 1:
        {
          MR_Integer N_10 = ((MR_Integer) ((MR_hl_field(MR_mktag(1), Const_7, (MR_Integer) 0))));

          backend_libs__c_util__output_int_expr_4_p_0(Stream_8, N_10);
        }
        break;
      case (MR_Integer) 2:
        {
          MR_Unsigned N_104 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), Const_7, (MR_Integer) 0))));

          backend_libs__c_util__output_uint_expr_4_p_0(Stream_8, N_104);
        }
        break;
      case (MR_Integer) 3:
        switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), Const_7, (MR_Integer) 0))))) {
          default: /*NOTREACHED*/ MR_assert(0);
          case (MR_Integer) 0:
            {
              int8_t N_105 = ((int8_t) (MR_Word) (MR_hl_field(MR_mktag(3), Const_7, (MR_Integer) 1)));

              backend_libs__c_util__output_int8_expr_4_p_0(Stream_8, N_105);
            }
            break;
          case (MR_Integer) 1:
            {
              uint8_t N_106 = ((uint8_t) (MR_Word) (MR_hl_field(MR_mktag(3), Const_7, (MR_Integer) 1)));

              backend_libs__c_util__output_uint8_expr_4_p_0(Stream_8, N_106);
            }
            break;
          case (MR_Integer) 2:
            {
              int16_t N_107 = ((int16_t) (MR_Word) (MR_hl_field(MR_mktag(3), Const_7, (MR_Integer) 1)));

              backend_libs__c_util__output_int16_expr_4_p_0(Stream_8, N_107);
            }
            break;
          case (MR_Integer) 3:
            {
              uint16_t N_108 = ((uint16_t) (MR_Word) (MR_hl_field(MR_mktag(3), Const_7, (MR_Integer) 1)));

              backend_libs__c_util__output_uint16_expr_4_p_0(Stream_8, N_108);
            }
            break;
          case (MR_Integer) 4:
            {
              int32_t N_109 = ((int32_t) (MR_Word) (MR_hl_field(MR_mktag(3), Const_7, (MR_Integer) 1)));

              backend_libs__c_util__output_int32_expr_4_p_0(Stream_8, N_109);
            }
            break;
          case (MR_Integer) 5:
            {
              uint32_t N_110 = ((uint32_t) (MR_Word) (MR_hl_field(MR_mktag(3), Const_7, (MR_Integer) 1)));

              backend_libs__c_util__output_uint32_expr_4_p_0(Stream_8, N_110);
            }
            break;
          case (MR_Integer) 6:
            {
              int64_t N_111 = MR_unbox_int64((MR_hl_field(MR_mktag(3), Const_7, (MR_Integer) 1)));

              backend_libs__c_util__output_int64_expr_4_p_0(Stream_8, N_111);
            }
            break;
          case (MR_Integer) 7:
            {
              uint64_t N_112 = MR_unbox_uint64((MR_hl_field(MR_mktag(3), Const_7, (MR_Integer) 1)));

              backend_libs__c_util__output_uint64_expr_4_p_0(Stream_8, N_112);
            }
            break;
          case (MR_Integer) 8:
            {
              MR_String Value_11 = ((MR_String) ((MR_hl_field(MR_mktag(3), Const_7, (MR_Integer) 1))));
              MR_Word Type_12 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Const_7, (MR_Integer) 2))));

              mercury__io__write_char_4_p_0(Stream_8, (MR_Char) 40);
              ll_backend__llds_out__llds_out_data__output_llds_type_cast_4_p_0(Stream_8, Type_12);
              mercury__io__write_string_4_p_0(Stream_8, Value_11);
              mercury__io__write_char_4_p_0(Stream_8, (MR_Char) 41);
            }
            break;
          case (MR_Integer) 9:
            {
              MR_Float FloatVal_13 = MR_unbox_float((MR_hl_field(MR_mktag(3), Const_7, (MR_Integer) 1)));

              ll_backend__llds_out__llds_out_data__output_llds_type_cast_4_p_0(Stream_8, (MR_Word) ((MR_Unsigned) 4U));
              backend_libs__c_util__output_float_literal_4_p_0(Stream_8, FloatVal_13);
            }
            break;
          case (MR_Integer) 10:
            {
              MR_String String_14 = ((MR_String) ((MR_hl_field(MR_mktag(3), Const_7, (MR_Integer) 1))));
              MR_Integer Var_77;

              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_string_const(\"");
              backend_libs__c_util__output_quoted_string_4_p_0(Stream_8, String_14);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "\", ");
              Var_77 = mercury__string__count_utf8_code_units_1_f_0(String_14);
              mercury__io__write_int_4_p_0(Stream_8, Var_77);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
            }
            break;
          case (MR_Integer) 11:
            {
              MR_Word Strings_15 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Const_7, (MR_Integer) 1))));
              MR_Integer Length_19;
              MR_Box conv1_Length_19;

              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_string_const(\"");
              backend_libs__c_util__output_quoted_multi_string_4_p_0(Stream_8, Strings_15);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) "\", ");
              conv1_Length_19 = mercury__list__foldl_3_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&mercury__builtin__builtin__type_ctor_info_int_0), (MR_Word) (&ll_backend__llds_out__llds_out_data_scalar_common_4[0]), Strings_15, ((MR_Box) ((MR_Integer) 0)));
              Length_19 = ((MR_Integer) (conv1_Length_19));
              mercury__io__write_int_4_p_0(Stream_8, Length_19);
              mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
            }
            break;
          case (MR_Integer) 12:
            {
              MR_Word CodeAddress_20 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Const_7, (MR_Integer) 1))));

              ll_backend__llds_out__llds_out_code_addr__output_code_addr_4_p_0(Stream_8, CodeAddress_20);
            }
            break;
          case (MR_Integer) 13:
            {
              MR_Word DataId_21 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Const_7, (MR_Integer) 1))));
              MR_Word MaybeOffset_22 = ((MR_Word) ((MR_hl_field(MR_mktag(3), Const_7, (MR_Integer) 2))));

              if ((MaybeOffset_22 == (MR_Word) ((MR_Unsigned) 0U)))
              {
                MR_Integer TypeNum_23;
                MR_Integer CellNum_24;
                MR_Word Var_43;

                succeeded = ((MR_tag((MR_Word) DataId_21)) == (MR_Integer) 2);
                if (succeeded)
                {
                  Var_43 = ((MR_Word) ((MR_hl_field(MR_mktag(2), DataId_21, (MR_Integer) 0))));
                  CellNum_24 = ((MR_Integer) ((MR_hl_field(MR_mktag(2), DataId_21, (MR_Integer) 1))));
                  TypeNum_23 = (MR_Integer) (Var_43);
                  succeeded = MR_TRUE;
                }
                if (succeeded)
                {
                  mercury__io__write_string_4_p_0(Stream_8, (MR_String) "MR_COMMON(");
                  mercury__io__write_int_4_p_0(Stream_8, TypeNum_23);
                  mercury__io__write_string_4_p_0(Stream_8, (MR_String) ",");
                  mercury__io__write_int_4_p_0(Stream_8, CellNum_24);
                  mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
                }
                else
                {
                  MR_Word Module_27;
                  MR_String Name_28;
                  uint16_t Arity_29;
                  MR_Word RttiId_25;
                  MR_Word Ctor_26;

                  succeeded = ((MR_tag((MR_Word) DataId_21)) == (MR_Integer) 0);
                  if (succeeded)
                  {
                    RttiId_25 = ((MR_Word) ((MR_hl_field(MR_mktag(0), DataId_21, (MR_Integer) 0))));
                    succeeded = backend_libs__rtti__rtti_id_emits_type_ctor_info_2_p_0(RttiId_25, &Ctor_26);
                    if (succeeded)
                    {
                      Module_27 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Ctor_26, (MR_Integer) 0))));
                      Name_28 = ((MR_String) ((MR_hl_field(MR_mktag(0), Ctor_26, (MR_Integer) 1))));
                      Arity_29 = ((uint16_t) (MR_Word) (MR_hl_field(MR_mktag(0), Ctor_26, (MR_Integer) 2)));
                      succeeded = backend_libs__name_mangle__sym_name_doesnt_need_mangling_1_p_0(Module_27);
                      if (succeeded)
                        succeeded = backend_libs__name_mangle__name_doesnt_need_mangling_1_p_0(Name_28);
                    }
                  }
                  if (succeeded)
                    ll_backend__llds_out__llds_out_data__output_type_ctor_addr_6_p_0(Stream_8, Module_27, Name_28, Arity_29);
                  else
                  {
                    ll_backend__llds_out__llds_out_data__output_llds_type_cast_4_p_0(Stream_8, (MR_Word) ((MR_Unsigned) 12U));
                    ll_backend__llds_out__llds_out_data__output_data_id_addr_5_p_0(Info_6, Stream_8, DataId_21);
                  }
                }
              }
              else
              {
                MR_Integer Offset_30 = ((MR_Integer) ((MR_hl_field(MR_mktag(1), MaybeOffset_22, (MR_Integer) 0))));

                mercury__io__write_string_4_p_0(Stream_8, (MR_String) "((");
                ll_backend__llds_out__llds_out_data__output_llds_type_cast_4_p_0(Stream_8, (MR_Word) ((MR_Unsigned) 12U));
                ll_backend__llds_out__llds_out_data__output_data_id_addr_5_p_0(Info_6, Stream_8, DataId_21);
                mercury__io__write_string_4_p_0(Stream_8, (MR_String) ") + ");
                mercury__io__write_int_4_p_0(Stream_8, Offset_30);
                mercury__io__write_string_4_p_0(Stream_8, (MR_String) ")");
              }
            }
            break;
        }
        break;
    }
  }
}

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_type_ctor_addr_6_p_0(
  MR_Word Stream_7,
  MR_Word Module0_8,
  MR_String Name_9,
  uint16_t Arity_10)
{
  {
    MR_bool succeeded = ((MR_tag((MR_Word) Module0_8)) == (MR_Integer) 0);
    MR_Word Module_12;
    MR_String ModuleStr_13;
    MR_String Var_17;

    if (succeeded)
    {
      Var_17 = ((MR_String) ((MR_hl_field(MR_mktag(0), Module0_8, (MR_Integer) 0))));
      succeeded = (strcmp(Var_17, (MR_String) "") == 0);
    }
    if (succeeded)
      Module_12 = mdbcomp__builtin_modules__mercury_public_builtin_module_0_f_0();
    else
      Module_12 = Module0_8;
    ModuleStr_13 = parse_tree__prog_foreign__sym_name_mangle_1_f_0(Module_12);
    succeeded = (Arity_10 == UINT16_C(0));
    if (succeeded)
    {
      MR_String Macro_14;
      MR_Integer slot_0;
      MR_String str_1;

      succeeded = (strcmp(ModuleStr_13, (MR_String) "builtin") == 0);
      if (succeeded)
      {
        // hashed string simple lookup switch
        ;
        // compute the hash value of the input string
        ;
        slot_0 = ((MR_hash_string6(Name_9)) & (MR_Integer) 63);
        // no collisions; no hash chain loop
        ;
        // lookup the string for this hash slot
        ;
        str_1 = ((&ll_backend__llds_out__llds_out_data_vector_common_2[0 + slot_0]))->ll_backend__llds_out__llds_out_data__vector_common_type_2_0__vct_2_f_0;
        // did we find a match?
        ;
        if ((((str_1 != NULL)) && ((strcmp(str_1, Name_9) == 0))))
        {
          // we found a match; look up the results
          ;
          Macro_14 = ((&ll_backend__llds_out__llds_out_data_vector_common_2[0 + slot_0]))->ll_backend__llds_out__llds_out_data__vector_common_type_2_0__vct_2_f_1;
          succeeded = MR_TRUE;
          // jump out of search loop
          ;
          goto label_0;
        }
        succeeded = MR_FALSE;
      label_0:;
      }
      if (succeeded)
        mercury__io__write_string_4_p_0(Stream_7, Macro_14);
      else
      {
        succeeded = (strcmp(ModuleStr_13, (MR_String) "io") == 0);
        if (succeeded)
          succeeded = (strcmp(Name_9, (MR_String) "state") == 0);
        if (succeeded)
          mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_IO_CTOR_ADDR");
        else
        {
          succeeded = (strcmp(ModuleStr_13, (MR_String) "bool") == 0);
          if (succeeded)
            succeeded = (strcmp(Name_9, (MR_String) "bool") == 0);
          if (succeeded)
            mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_BOOL_CTOR_ADDR");
          else
          {
            mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_CTOR0_ADDR(");
            mercury__io__write_string_4_p_0(Stream_7, ModuleStr_13);
            mercury__io__write_string_4_p_0(Stream_7, (MR_String) ", ");
            mercury__io__write_string_4_p_0(Stream_7, Name_9);
            mercury__io__write_string_4_p_0(Stream_7, (MR_String) ")");
          }
        }
      }
    }
    else
    {
      succeeded = (Arity_10 == UINT16_C(1));
      if (succeeded)
      {
        succeeded = (strcmp(Name_9, (MR_String) "list") == 0);
        if (succeeded)
          succeeded = (strcmp(ModuleStr_13, (MR_String) "list") == 0);
        if (succeeded)
          mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_LIST_CTOR_ADDR");
        else
        {
          succeeded = (strcmp(Name_9, (MR_String) "private_builtin") == 0);
          if (succeeded)
            succeeded = (strcmp(ModuleStr_13, (MR_String) "type_info") == 0);
          if (succeeded)
            mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_TYPE_INFO_CTOR_ADDR");
          else
          {
            mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_CTOR1_ADDR(");
            mercury__io__write_string_4_p_0(Stream_7, ModuleStr_13);
            mercury__io__write_string_4_p_0(Stream_7, (MR_String) ", ");
            mercury__io__write_string_4_p_0(Stream_7, Name_9);
            mercury__io__write_string_4_p_0(Stream_7, (MR_String) ")");
          }
        }
      }
      else
      {
        MR_Integer Var_49;
        MR_String Var_74;

        Var_49 = mercury__uint16__to_int_1_f_0(Arity_10);
        mercury__io__write_string_4_p_0(Stream_7, (MR_String) "MR_CTOR_ADDR(");
        mercury__io__write_string_4_p_0(Stream_7, ModuleStr_13);
        mercury__io__write_string_4_p_0(Stream_7, (MR_String) ", ");
        mercury__io__write_string_4_p_0(Stream_7, Name_9);
        mercury__io__write_string_4_p_0(Stream_7, (MR_String) ", ");
        mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&ll_backend__llds_out__llds_out_data_scalar_common_1[0]), Var_49, &Var_74);
        mercury__io__write_string_4_p_0(Stream_7, Var_74);
        mercury__io__write_string_4_p_0(Stream_7, (MR_String) ")");
      }
    }
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_data_id_addr_5_p_0(
  MR_Word Info_6,
  MR_Word Stream_7,
  MR_Word DataId_8)
{
  {
    mercury__io__write_string_4_p_0(Stream_7, (MR_String) "&");
    ll_backend__llds_out__llds_out_data__output_data_id_5_p_0(Info_6, Stream_7, DataId_8);
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_data_id_5_p_0(
  MR_Word Info_6,
  MR_Word Stream_7,
  MR_Word DataId_8)
{
  switch (MR_tag((MR_Word) DataId_8)) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 0:
      {
        MR_Word RttiId_10 = ((MR_Word) ((MR_hl_field(MR_mktag(0), DataId_8, (MR_Integer) 0))));

        ll_backend__rtti_out__output_rtti_id_4_p_0(Stream_7, RttiId_10);
      }
      break;
    case (MR_Integer) 1:
      {
        MR_Word ProcLabel_11 = ((MR_Word) ((MR_hl_field(MR_mktag(1), DataId_8, (MR_Integer) 0))));
        MR_Word TablingId_12 = ((MR_Word) ((MR_hl_field(MR_mktag(1), DataId_8, (MR_Integer) 1))));
        MR_String Var_33;

        Var_33 = ll_backend__rtti_out__tabling_struct_data_addr_string_2_f_0(ProcLabel_11, TablingId_12);
        mercury__io__write_string_4_p_0(Stream_7, Var_33);
      }
      break;
    case (MR_Integer) 2:
      {
        MR_Word TypeNum_13 = ((MR_Word) ((MR_hl_field(MR_mktag(2), DataId_8, (MR_Integer) 0))));
        MR_Integer CellNum_14 = ((MR_Integer) ((MR_hl_field(MR_mktag(2), DataId_8, (MR_Integer) 1))));
        MR_String Var_89;

        ll_backend__llds_out__llds_out_data__output_common_scalar_cell_array_name_4_p_0(Stream_7, TypeNum_13);
        mercury__io__write_string_4_p_0(Stream_7, (MR_String) "[");
        mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&ll_backend__llds_out__llds_out_data_scalar_common_1[0]), CellNum_14, &Var_89);
        mercury__io__write_string_4_p_0(Stream_7, Var_89);
        mercury__io__write_string_4_p_0(Stream_7, (MR_String) "]");
      }
      break;
    case (MR_Integer) 3:
      switch (((MR_Integer) ((MR_hl_field(MR_mktag(3), DataId_8, (MR_Integer) 0))))) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          {
            MR_Word TypeNum_36 = ((MR_Word) ((MR_hl_field(MR_mktag(3), DataId_8, (MR_Integer) 1))));
            MR_Integer CellNum_37 = ((MR_Integer) ((MR_hl_field(MR_mktag(3), DataId_8, (MR_Integer) 2))));

            ll_backend__llds_out__llds_out_data__output_common_vector_cell_array_name_5_p_0(Stream_7, TypeNum_36, CellNum_37);
          }
          break;
        case (MR_Integer) 1:
          {
            MR_Word LayoutName_15 = ((MR_Word) ((MR_hl_field(MR_mktag(3), DataId_8, (MR_Integer) 1))));

            ll_backend__layout_out__output_layout_name_4_p_0(Stream_7, LayoutName_15);
          }
          break;
        case (MR_Integer) 2:
          {
            MR_Word PredProcId_17 = ((MR_Word) ((MR_hl_field(MR_mktag(3), DataId_8, (MR_Integer) 2))));
            MR_Word TableIoEntryMap_18 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Info_6, (MR_Integer) 5))));
            MR_Word LayoutSlotName_19;
            MR_String MangledModuleName_20;
            MR_Box conv0_LayoutSlotName_19;

            mercury__map__lookup_3_p_0((MR_Word) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_proc_id_0), (MR_Word) (&ll_backend__layout__ll_backend__layout__type_ctor_info_layout_slot_name_0), TableIoEntryMap_18, ((MR_Box) (PredProcId_17)), &conv0_LayoutSlotName_19);
            LayoutSlotName_19 = ((MR_Word) (conv0_LayoutSlotName_19));
            MangledModuleName_20 = ((MR_String) ((MR_hl_field(MR_mktag(0), Info_6, (MR_Integer) 1))));
            ll_backend__layout_out__output_layout_slot_id_6_p_0(Stream_7, (MR_Integer) 1, MangledModuleName_20, LayoutSlotName_19);
          }
          break;
      }
      break;
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_common_vector_cell_array_name_5_p_0(
  MR_Word Stream_6,
  MR_Word HeadVar__2_2,
  MR_Integer CellNum_8)
{
  {
    MR_Integer TypeNum_7 = (MR_Integer) (HeadVar__2_2);
    MR_String Var_16;
    MR_String Var_24;
    MR_String Var_33;

    Var_16 = backend_libs__name_mangle__mercury_vector_common_array_prefix_0_f_0();
    mercury__io__write_string_4_p_0(Stream_6, Var_16);
    mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&ll_backend__llds_out__llds_out_data_scalar_common_1[0]), TypeNum_7, &Var_24);
    mercury__io__write_string_4_p_0(Stream_6, Var_24);
    mercury__io__write_string_4_p_0(Stream_6, (MR_String) "_");
    mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&ll_backend__llds_out__llds_out_data_scalar_common_1[0]), CellNum_8, &Var_33);
    mercury__io__write_string_4_p_0(Stream_6, Var_33);
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_common_scalar_cell_array_name_4_p_0(
  MR_Word Stream_5,
  MR_Word HeadVar__2_2)
{
  {
    MR_Integer TypeNum_6 = (MR_Integer) (HeadVar__2_2);
    MR_String Var_14;
    MR_String Var_19;

    Var_14 = backend_libs__name_mangle__mercury_scalar_common_array_prefix_0_f_0();
    mercury__io__write_string_4_p_0(Stream_5, Var_14);
    mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&ll_backend__llds_out__llds_out_data_scalar_common_1[0]), TypeNum_6, &Var_19);
    mercury__io__write_string_4_p_0(Stream_5, Var_19);
  }
}

static void MR_CALL 
ll_backend__llds_out__llds_out_data__output_reg_5_p_0(
  MR_Word Stream_6,
  MR_Word RegType_7,
  MR_Integer N_8)
{
  {
    MR_String Var_12;

    Var_12 = ll_backend__llds_out__llds_out_data__reg_to_string_2_f_0(RegType_7, N_8);
    mercury__io__write_string_4_p_0(Stream_6, Var_12);
  }
}

MR_String MR_CALL 
ll_backend__llds_out__llds_out_data__reg_to_string_2_f_0(
  MR_Word HeadVar__1_1,
  MR_Integer N_2)
{
  {
    MR_bool succeeded;
    MR_String HeadVar__3_3;

    switch (HeadVar__1_1) {
      default: /*NOTREACHED*/ MR_assert(0);
      case (MR_Integer) 1:
        {
          succeeded = (N_2 <= (MR_Integer) 1024);
          if (succeeded)
          {
            MR_String Var_19;
            MR_String Var_20;

            Var_20 = mercury__string__int_to_string_1_f_0(N_2);
            Var_19 = mercury__string__f_43_43_2_f_0(Var_20, (MR_String) ")");
            HeadVar__3_3 = mercury__string__f_43_43_2_f_0((MR_String) "MR_f(", Var_19);
          }
          else
          {
            MR_Box conv0_HeadVar__3_3;

            conv0_HeadVar__3_3 = mercury__require__unexpected_3_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_String) "llds_out_data.m", (MR_String) "function \140ll_backend.llds_out.llds_out_data.reg_to_string\'/2", (MR_String) "register number too large");
            HeadVar__3_3 = ((MR_String) (conv0_HeadVar__3_3));
          }
        }
        break;
      case (MR_Integer) 0:
        {
          succeeded = (N_2 <= (MR_Integer) 32);
          if (succeeded)
          {
            MR_String Var_7;

            Var_7 = mercury__string__int_to_string_1_f_0(N_2);
            HeadVar__3_3 = mercury__string__f_43_43_2_f_0((MR_String) "MR_r", Var_7);
          }
          else
          {
            succeeded = (N_2 <= (MR_Integer) 1024);
            if (succeeded)
            {
              MR_String Var_10;
              MR_String Var_11;

              Var_11 = mercury__string__int_to_string_1_f_0(N_2);
              Var_10 = mercury__string__f_43_43_2_f_0(Var_11, (MR_String) ")");
              HeadVar__3_3 = mercury__string__f_43_43_2_f_0((MR_String) "MR_r(", Var_10);
            }
            else
            {
              MR_Box conv1_HeadVar__3_3;

              conv1_HeadVar__3_3 = mercury__require__unexpected_3_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_String) "llds_out_data.m", (MR_String) "function \140ll_backend.llds_out.llds_out_data.reg_to_string\'/2", (MR_String) "register number too large");
              HeadVar__3_3 = ((MR_String) (conv1_HeadVar__3_3));
            }
          }
        }
        break;
    }
    return HeadVar__3_3;
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__write_ptag_4_p_0(
  MR_Word Stream_5,
  MR_Word Ptag_6)
{
  {
    uint8_t PtagUint8_8 = (uint8_t) (Ptag_6);

    mercury__io__write_uint8_4_p_0(Stream_5, PtagUint8_8);
  }
}

MR_String MR_CALL 
ll_backend__llds_out__llds_out_data__c_global_var_name_1_f_0(
  MR_Word HeadVar__1_1)
{
  {
    MR_String HeadVar__2_2;
    MR_String EnvVarName_3 = (MR_String) (HeadVar__1_1);

    HeadVar__2_2 = mercury__string__f_43_43_2_f_0((MR_String) "mercury_envvar_", EnvVarName_3);
    return HeadVar__2_2;
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_llds_type_cast_4_p_0(
  MR_Word Stream_5,
  MR_Word LLDSType_6)
{
  {
    mercury__io__write_string_4_p_0(Stream_5, (MR_String) "(");
    ll_backend__llds_out__llds_out_data__output_llds_type_4_p_0(Stream_5, LLDSType_6);
    mercury__io__write_string_4_p_0(Stream_5, (MR_String) ") ");
  }
}

void MR_CALL 
ll_backend__llds_out__llds_out_data__output_llds_type_4_p_0(
  MR_Word Stream_1,
  MR_Word HeadVar__2_2)
{
  switch (MR_tag((MR_Word) HeadVar__2_2)) {
    default: /*NOTREACHED*/ MR_assert(0);
    case (MR_Integer) 0:
      switch (MR_unmkbody(HeadVar__2_2)) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          mercury__io__write_string_4_p_0(Stream_1, (MR_String) "MR_Integer");
          break;
        case (MR_Integer) 1:
          mercury__io__write_string_4_p_0(Stream_1, (MR_String) "MR_Float");
          break;
        case (MR_Integer) 2:
          mercury__io__write_string_4_p_0(Stream_1, (MR_String) "MR_String");
          break;
        case (MR_Integer) 3:
          mercury__io__write_string_4_p_0(Stream_1, (MR_String) "MR_Word *");
          break;
        case (MR_Integer) 4:
          mercury__io__write_string_4_p_0(Stream_1, (MR_String) "MR_Code *");
          break;
        case (MR_Integer) 5:
          mercury__io__write_string_4_p_0(Stream_1, (MR_String) "MR_Word");
          break;
      }
      break;
    case (MR_Integer) 1:
      {
        MR_Word Var_154 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(1), HeadVar__2_2, (MR_Integer) 0))) & (MR_Integer) 7);

        switch (Var_154) {
          default: /*NOTREACHED*/ MR_assert(0);
          case (MR_Integer) 2:
            mercury__io__write_string_4_p_0(Stream_1, (MR_String) "MR_int_least16_t");
            break;
          case (MR_Integer) 4:
            mercury__io__write_string_4_p_0(Stream_1, (MR_String) "MR_int_least32_t");
            break;
          case (MR_Integer) 0:
            mercury__io__write_string_4_p_0(Stream_1, (MR_String) "MR_int_least8_t");
            break;
          case (MR_Integer) 3:
            mercury__io__write_string_4_p_0(Stream_1, (MR_String) "MR_uint_least16_t");
            break;
          case (MR_Integer) 5:
            mercury__io__write_string_4_p_0(Stream_1, (MR_String) "MR_uint_least32_t");
            break;
          case (MR_Integer) 1:
            mercury__io__write_string_4_p_0(Stream_1, (MR_String) "MR_uint_least8_t");
            break;
        }
      }
      break;
    case (MR_Integer) 2:
      {
        MR_Word Var_153 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(2), HeadVar__2_2, (MR_Integer) 0))) & (MR_Integer) 15);

        switch (Var_153) {
          default: /*NOTREACHED*/ MR_assert(0);
          case (MR_Integer) 0:
            mercury__io__write_string_4_p_0(Stream_1, (MR_String) "MR_Integer");
            break;
          case (MR_Integer) 4:
            mercury__io__write_string_4_p_0(Stream_1, (MR_String) "int16_t");
            break;
          case (MR_Integer) 6:
            mercury__io__write_string_4_p_0(Stream_1, (MR_String) "int32_t");
            break;
          case (MR_Integer) 8:
            mercury__io__write_string_4_p_0(Stream_1, (MR_String) "int64_t");
            break;
          case (MR_Integer) 2:
            mercury__io__write_string_4_p_0(Stream_1, (MR_String) "int8_t");
            break;
          case (MR_Integer) 1:
            mercury__io__write_string_4_p_0(Stream_1, (MR_String) "MR_Unsigned");
            break;
          case (MR_Integer) 5:
            mercury__io__write_string_4_p_0(Stream_1, (MR_String) "uint16_t");
            break;
          case (MR_Integer) 7:
            mercury__io__write_string_4_p_0(Stream_1, (MR_String) "uint32_t");
            break;
          case (MR_Integer) 9:
            mercury__io__write_string_4_p_0(Stream_1, (MR_String) "uint64_t");
            break;
          case (MR_Integer) 3:
            mercury__io__write_string_4_p_0(Stream_1, (MR_String) "uint8_t");
            break;
        }
      }
      break;
  }
}

void mercury__ll_backend__llds_out__llds_out_data__init(void)
{
}

void mercury__ll_backend__llds_out__llds_out_data__init_type_tables(void)
{
}

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

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

// :- end_module ll_backend.llds_out.llds_out_data.
