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


/* :- module list. */
/* :- implementation. */

/*
INIT mercury__list__init
ENDINIT
*/

#include "list.mih"
#include "list.mh"


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



#line 1458 "list.m"
struct mercury__list__map4_foldl_8_p_7_env_0_s {
#line 1458 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_7_env_0__TypeInfo_for_L_29;
#line 1458 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_7_env_0__TypeInfo_for_M_30;
#line 1458 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_7_env_0__TypeInfo_for_N_31;
#line 1458 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_7_env_0__TypeInfo_for_O_32;
#line 1458 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_7_env_0__TypeInfo_for_P_33;
#line 1458 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_7_env_0__TypeInfo_for_A_34;
#line 1458 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_7_env_0__P_1;
#line 1458 "list.m"
  MR_Word * mercury__list__map4_foldl_8_p_7_env_0__HeadVar__3_3;
#line 1458 "list.m"
  MR_Word * mercury__list__map4_foldl_8_p_7_env_0__HeadVar__4_4;
#line 1458 "list.m"
  MR_Word * mercury__list__map4_foldl_8_p_7_env_0__HeadVar__5_5;
#line 1458 "list.m"
  MR_Word * mercury__list__map4_foldl_8_p_7_env_0__HeadVar__6_6;
#line 1458 "list.m"
  MR_Box * mercury__list__map4_foldl_8_p_7_env_0__STATE_VARIABLE_A_8;
#line 1458 "list.m"
  MR_Cont mercury__list__map4_foldl_8_p_7_env_0__cont;
#line 1458 "list.m"
  void * mercury__list__map4_foldl_8_p_7_env_0__cont_env_ptr;
#line 2822 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_7_env_0__T0_15;
#line 2822 "list.m"
  MR_Box mercury__list__map4_foldl_8_p_7_env_0__H1_16;
#line 2822 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_7_env_0__T1_17;
#line 2822 "list.m"
  MR_Box mercury__list__map4_foldl_8_p_7_env_0__H2_18;
#line 2822 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_7_env_0__T2_19;
#line 2822 "list.m"
  MR_Box mercury__list__map4_foldl_8_p_7_env_0__H3_20;
#line 2822 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_7_env_0__T3_21;
#line 2822 "list.m"
  MR_Box mercury__list__map4_foldl_8_p_7_env_0__H4_22;
#line 2822 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_7_env_0__T4_23;
#line 2822 "list.m"
  MR_Box mercury__list__map4_foldl_8_p_7_env_0__STATE_VARIABLE_A_27_27;
#line 1458 "list.m"
};

#line 1456 "list.m"
struct mercury__list__map4_foldl_8_p_6_env_0_s {
#line 1456 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_6_env_0__TypeInfo_for_L_29;
#line 1456 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_6_env_0__TypeInfo_for_M_30;
#line 1456 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_6_env_0__TypeInfo_for_N_31;
#line 1456 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_6_env_0__TypeInfo_for_O_32;
#line 1456 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_6_env_0__TypeInfo_for_P_33;
#line 1456 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_6_env_0__TypeInfo_for_A_34;
#line 1456 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_6_env_0__P_1;
#line 1456 "list.m"
  MR_Word * mercury__list__map4_foldl_8_p_6_env_0__HeadVar__3_3;
#line 1456 "list.m"
  MR_Word * mercury__list__map4_foldl_8_p_6_env_0__HeadVar__4_4;
#line 1456 "list.m"
  MR_Word * mercury__list__map4_foldl_8_p_6_env_0__HeadVar__5_5;
#line 1456 "list.m"
  MR_Word * mercury__list__map4_foldl_8_p_6_env_0__HeadVar__6_6;
#line 1456 "list.m"
  MR_Box * mercury__list__map4_foldl_8_p_6_env_0__STATE_VARIABLE_A_8;
#line 1456 "list.m"
  MR_Cont mercury__list__map4_foldl_8_p_6_env_0__cont;
#line 1456 "list.m"
  void * mercury__list__map4_foldl_8_p_6_env_0__cont_env_ptr;
#line 2822 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_6_env_0__T0_15;
#line 2822 "list.m"
  MR_Box mercury__list__map4_foldl_8_p_6_env_0__H1_16;
#line 2822 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_6_env_0__T1_17;
#line 2822 "list.m"
  MR_Box mercury__list__map4_foldl_8_p_6_env_0__H2_18;
#line 2822 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_6_env_0__T2_19;
#line 2822 "list.m"
  MR_Box mercury__list__map4_foldl_8_p_6_env_0__H3_20;
#line 2822 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_6_env_0__T3_21;
#line 2822 "list.m"
  MR_Box mercury__list__map4_foldl_8_p_6_env_0__H4_22;
#line 2822 "list.m"
  MR_Word mercury__list__map4_foldl_8_p_6_env_0__T4_23;
#line 2822 "list.m"
  MR_Box mercury__list__map4_foldl_8_p_6_env_0__STATE_VARIABLE_A_27_27;
#line 1456 "list.m"
};

#line 1437 "list.m"
struct mercury__list__map3_foldl2_9_p_5_env_0_s {
#line 1437 "list.m"
  MR_Word mercury__list__map3_foldl2_9_p_5_env_0__TypeInfo_for_L_36;
#line 1437 "list.m"
  MR_Word mercury__list__map3_foldl2_9_p_5_env_0__TypeInfo_for_M_37;
#line 1437 "list.m"
  MR_Word mercury__list__map3_foldl2_9_p_5_env_0__TypeInfo_for_N_38;
#line 1437 "list.m"
  MR_Word mercury__list__map3_foldl2_9_p_5_env_0__TypeInfo_for_O_39;
#line 1437 "list.m"
  MR_Word mercury__list__map3_foldl2_9_p_5_env_0__TypeInfo_for_A_40;
#line 1437 "list.m"
  MR_Word mercury__list__map3_foldl2_9_p_5_env_0__TypeInfo_for_B_41;
#line 1437 "list.m"
  MR_Word mercury__list__map3_foldl2_9_p_5_env_0__P_1;
#line 1437 "list.m"
  MR_Word * mercury__list__map3_foldl2_9_p_5_env_0__HeadVar__3_3;
#line 1437 "list.m"
  MR_Word * mercury__list__map3_foldl2_9_p_5_env_0__HeadVar__4_4;
#line 1437 "list.m"
  MR_Word * mercury__list__map3_foldl2_9_p_5_env_0__HeadVar__5_5;
#line 1437 "list.m"
  MR_Box * mercury__list__map3_foldl2_9_p_5_env_0__STATE_VARIABLE_A_7;
#line 1437 "list.m"
  MR_Box * mercury__list__map3_foldl2_9_p_5_env_0__STATE_VARIABLE_B_9;
#line 1437 "list.m"
  MR_Cont mercury__list__map3_foldl2_9_p_5_env_0__cont;
#line 1437 "list.m"
  void * mercury__list__map3_foldl2_9_p_5_env_0__cont_env_ptr;
#line 2817 "list.m"
  MR_Word mercury__list__map3_foldl2_9_p_5_env_0__T0_19;
#line 2817 "list.m"
  MR_Box mercury__list__map3_foldl2_9_p_5_env_0__H1_20;
#line 2817 "list.m"
  MR_Word mercury__list__map3_foldl2_9_p_5_env_0__T1_21;
#line 2817 "list.m"
  MR_Box mercury__list__map3_foldl2_9_p_5_env_0__H2_22;
#line 2817 "list.m"
  MR_Word mercury__list__map3_foldl2_9_p_5_env_0__T2_23;
#line 2817 "list.m"
  MR_Box mercury__list__map3_foldl2_9_p_5_env_0__H3_24;
#line 2817 "list.m"
  MR_Word mercury__list__map3_foldl2_9_p_5_env_0__T3_25;
#line 2817 "list.m"
  MR_Box mercury__list__map3_foldl2_9_p_5_env_0__STATE_VARIABLE_A_32_32;
#line 2817 "list.m"
  MR_Box mercury__list__map3_foldl2_9_p_5_env_0__STATE_VARIABLE_B_33_33;
#line 1437 "list.m"
};

#line 1415 "list.m"
struct mercury__list__map3_foldl_7_p_7_env_0_s {
#line 1415 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_7_env_0__TypeInfo_for_L_26;
#line 1415 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_7_env_0__TypeInfo_for_M_27;
#line 1415 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_7_env_0__TypeInfo_for_N_28;
#line 1415 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_7_env_0__TypeInfo_for_O_29;
#line 1415 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_7_env_0__TypeInfo_for_A_30;
#line 1415 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_7_env_0__P_1;
#line 1415 "list.m"
  MR_Word * mercury__list__map3_foldl_7_p_7_env_0__HeadVar__3_3;
#line 1415 "list.m"
  MR_Word * mercury__list__map3_foldl_7_p_7_env_0__HeadVar__4_4;
#line 1415 "list.m"
  MR_Word * mercury__list__map3_foldl_7_p_7_env_0__HeadVar__5_5;
#line 1415 "list.m"
  MR_Box * mercury__list__map3_foldl_7_p_7_env_0__STATE_VARIABLE_A_7;
#line 1415 "list.m"
  MR_Cont mercury__list__map3_foldl_7_p_7_env_0__cont;
#line 1415 "list.m"
  void * mercury__list__map3_foldl_7_p_7_env_0__cont_env_ptr;
#line 2812 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_7_env_0__T0_14;
#line 2812 "list.m"
  MR_Box mercury__list__map3_foldl_7_p_7_env_0__H1_15;
#line 2812 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_7_env_0__T1_16;
#line 2812 "list.m"
  MR_Box mercury__list__map3_foldl_7_p_7_env_0__H2_17;
#line 2812 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_7_env_0__T2_18;
#line 2812 "list.m"
  MR_Box mercury__list__map3_foldl_7_p_7_env_0__H3_19;
#line 2812 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_7_env_0__T3_20;
#line 2812 "list.m"
  MR_Box mercury__list__map3_foldl_7_p_7_env_0__STATE_VARIABLE_A_24_24;
#line 1415 "list.m"
};

#line 1413 "list.m"
struct mercury__list__map3_foldl_7_p_6_env_0_s {
#line 1413 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_6_env_0__TypeInfo_for_L_26;
#line 1413 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_6_env_0__TypeInfo_for_M_27;
#line 1413 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_6_env_0__TypeInfo_for_N_28;
#line 1413 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_6_env_0__TypeInfo_for_O_29;
#line 1413 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_6_env_0__TypeInfo_for_A_30;
#line 1413 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_6_env_0__P_1;
#line 1413 "list.m"
  MR_Word * mercury__list__map3_foldl_7_p_6_env_0__HeadVar__3_3;
#line 1413 "list.m"
  MR_Word * mercury__list__map3_foldl_7_p_6_env_0__HeadVar__4_4;
#line 1413 "list.m"
  MR_Word * mercury__list__map3_foldl_7_p_6_env_0__HeadVar__5_5;
#line 1413 "list.m"
  MR_Box * mercury__list__map3_foldl_7_p_6_env_0__STATE_VARIABLE_A_7;
#line 1413 "list.m"
  MR_Cont mercury__list__map3_foldl_7_p_6_env_0__cont;
#line 1413 "list.m"
  void * mercury__list__map3_foldl_7_p_6_env_0__cont_env_ptr;
#line 2812 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_6_env_0__T0_14;
#line 2812 "list.m"
  MR_Box mercury__list__map3_foldl_7_p_6_env_0__H1_15;
#line 2812 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_6_env_0__T1_16;
#line 2812 "list.m"
  MR_Box mercury__list__map3_foldl_7_p_6_env_0__H2_17;
#line 2812 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_6_env_0__T2_18;
#line 2812 "list.m"
  MR_Box mercury__list__map3_foldl_7_p_6_env_0__H3_19;
#line 2812 "list.m"
  MR_Word mercury__list__map3_foldl_7_p_6_env_0__T3_20;
#line 2812 "list.m"
  MR_Box mercury__list__map3_foldl_7_p_6_env_0__STATE_VARIABLE_A_24_24;
#line 1413 "list.m"
};

#line 1393 "list.m"
struct mercury__list__map2_foldl4_12_p_5_env_0_s {
#line 1393 "list.m"
  MR_Word mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_L_53;
#line 1393 "list.m"
  MR_Word mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_M_54;
#line 1393 "list.m"
  MR_Word mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_N_55;
#line 1393 "list.m"
  MR_Word mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_A_56;
#line 1393 "list.m"
  MR_Word mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_B_57;
#line 1393 "list.m"
  MR_Word mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_C_58;
#line 1393 "list.m"
  MR_Word mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_D_59;
#line 1393 "list.m"
  MR_Word mercury__list__map2_foldl4_12_p_5_env_0__P_1;
#line 1393 "list.m"
  MR_Word * mercury__list__map2_foldl4_12_p_5_env_0__HeadVar__3_3;
#line 1393 "list.m"
  MR_Word * mercury__list__map2_foldl4_12_p_5_env_0__HeadVar__4_4;
#line 1393 "list.m"
  MR_Box * mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_A_6;
#line 1393 "list.m"
  MR_Box * mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_B_8;
#line 1393 "list.m"
  MR_Box * mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_C_10;
#line 1393 "list.m"
  MR_Box * mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_D_12;
#line 1393 "list.m"
  MR_Cont mercury__list__map2_foldl4_12_p_5_env_0__cont;
#line 1393 "list.m"
  void * mercury__list__map2_foldl4_12_p_5_env_0__cont_env_ptr;
#line 2807 "list.m"
  MR_Word mercury__list__map2_foldl4_12_p_5_env_0__T0_28;
#line 2807 "list.m"
  MR_Box mercury__list__map2_foldl4_12_p_5_env_0__H1_29;
#line 2807 "list.m"
  MR_Word mercury__list__map2_foldl4_12_p_5_env_0__T1_30;
#line 2807 "list.m"
  MR_Box mercury__list__map2_foldl4_12_p_5_env_0__H2_31;
#line 2807 "list.m"
  MR_Word mercury__list__map2_foldl4_12_p_5_env_0__T2_32;
#line 2807 "list.m"
  MR_Box mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_A_45_45;
#line 2807 "list.m"
  MR_Box mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_B_46_46;
#line 2807 "list.m"
  MR_Box mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_C_47_47;
#line 2807 "list.m"
  MR_Box mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_D_48_48;
#line 1393 "list.m"
};

#line 1369 "list.m"
struct mercury__list__map2_foldl3_10_p_5_env_0_s {
#line 1369 "list.m"
  MR_Word mercury__list__map2_foldl3_10_p_5_env_0__TypeInfo_for_L_43;
#line 1369 "list.m"
  MR_Word mercury__list__map2_foldl3_10_p_5_env_0__TypeInfo_for_M_44;
#line 1369 "list.m"
  MR_Word mercury__list__map2_foldl3_10_p_5_env_0__TypeInfo_for_N_45;
#line 1369 "list.m"
  MR_Word mercury__list__map2_foldl3_10_p_5_env_0__TypeInfo_for_A_46;
#line 1369 "list.m"
  MR_Word mercury__list__map2_foldl3_10_p_5_env_0__TypeInfo_for_B_47;
#line 1369 "list.m"
  MR_Word mercury__list__map2_foldl3_10_p_5_env_0__TypeInfo_for_C_48;
#line 1369 "list.m"
  MR_Word mercury__list__map2_foldl3_10_p_5_env_0__P_1;
#line 1369 "list.m"
  MR_Word * mercury__list__map2_foldl3_10_p_5_env_0__HeadVar__3_3;
#line 1369 "list.m"
  MR_Word * mercury__list__map2_foldl3_10_p_5_env_0__HeadVar__4_4;
#line 1369 "list.m"
  MR_Box * mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_A_6;
#line 1369 "list.m"
  MR_Box * mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_B_8;
#line 1369 "list.m"
  MR_Box * mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_C_10;
#line 1369 "list.m"
  MR_Cont mercury__list__map2_foldl3_10_p_5_env_0__cont;
#line 1369 "list.m"
  void * mercury__list__map2_foldl3_10_p_5_env_0__cont_env_ptr;
#line 2802 "list.m"
  MR_Word mercury__list__map2_foldl3_10_p_5_env_0__T0_23;
#line 2802 "list.m"
  MR_Box mercury__list__map2_foldl3_10_p_5_env_0__H1_24;
#line 2802 "list.m"
  MR_Word mercury__list__map2_foldl3_10_p_5_env_0__T1_25;
#line 2802 "list.m"
  MR_Box mercury__list__map2_foldl3_10_p_5_env_0__H2_26;
#line 2802 "list.m"
  MR_Word mercury__list__map2_foldl3_10_p_5_env_0__T2_27;
#line 2802 "list.m"
  MR_Box mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_A_37_37;
#line 2802 "list.m"
  MR_Box mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_B_38_38;
#line 2802 "list.m"
  MR_Box mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_C_39_39;
#line 1369 "list.m"
};

#line 1346 "list.m"
struct mercury__list__map2_foldl2_8_p_5_env_0_s {
#line 1346 "list.m"
  MR_Word mercury__list__map2_foldl2_8_p_5_env_0__TypeInfo_for_L_33;
#line 1346 "list.m"
  MR_Word mercury__list__map2_foldl2_8_p_5_env_0__TypeInfo_for_M_34;
#line 1346 "list.m"
  MR_Word mercury__list__map2_foldl2_8_p_5_env_0__TypeInfo_for_N_35;
#line 1346 "list.m"
  MR_Word mercury__list__map2_foldl2_8_p_5_env_0__TypeInfo_for_A_36;
#line 1346 "list.m"
  MR_Word mercury__list__map2_foldl2_8_p_5_env_0__TypeInfo_for_B_37;
#line 1346 "list.m"
  MR_Word mercury__list__map2_foldl2_8_p_5_env_0__P_1;
#line 1346 "list.m"
  MR_Word * mercury__list__map2_foldl2_8_p_5_env_0__HeadVar__3_3;
#line 1346 "list.m"
  MR_Word * mercury__list__map2_foldl2_8_p_5_env_0__HeadVar__4_4;
#line 1346 "list.m"
  MR_Box * mercury__list__map2_foldl2_8_p_5_env_0__STATE_VARIABLE_A_6;
#line 1346 "list.m"
  MR_Box * mercury__list__map2_foldl2_8_p_5_env_0__STATE_VARIABLE_B_8;
#line 1346 "list.m"
  MR_Cont mercury__list__map2_foldl2_8_p_5_env_0__cont;
#line 1346 "list.m"
  void * mercury__list__map2_foldl2_8_p_5_env_0__cont_env_ptr;
#line 2797 "list.m"
  MR_Word mercury__list__map2_foldl2_8_p_5_env_0__T0_18;
#line 2797 "list.m"
  MR_Box mercury__list__map2_foldl2_8_p_5_env_0__H1_19;
#line 2797 "list.m"
  MR_Word mercury__list__map2_foldl2_8_p_5_env_0__T1_20;
#line 2797 "list.m"
  MR_Box mercury__list__map2_foldl2_8_p_5_env_0__H2_21;
#line 2797 "list.m"
  MR_Word mercury__list__map2_foldl2_8_p_5_env_0__T2_22;
#line 2797 "list.m"
  MR_Box mercury__list__map2_foldl2_8_p_5_env_0__STATE_VARIABLE_A_29_29;
#line 2797 "list.m"
  MR_Box mercury__list__map2_foldl2_8_p_5_env_0__STATE_VARIABLE_B_30_30;
#line 1346 "list.m"
};

#line 1324 "list.m"
struct mercury__list__map2_foldl_6_p_7_env_0_s {
#line 1324 "list.m"
  MR_Word mercury__list__map2_foldl_6_p_7_env_0__TypeInfo_for_L_23;
#line 1324 "list.m"
  MR_Word mercury__list__map2_foldl_6_p_7_env_0__TypeInfo_for_M_24;
#line 1324 "list.m"
  MR_Word mercury__list__map2_foldl_6_p_7_env_0__TypeInfo_for_N_25;
#line 1324 "list.m"
  MR_Word mercury__list__map2_foldl_6_p_7_env_0__TypeInfo_for_A_26;
#line 1324 "list.m"
  MR_Word mercury__list__map2_foldl_6_p_7_env_0__P_1;
#line 1324 "list.m"
  MR_Word * mercury__list__map2_foldl_6_p_7_env_0__HeadVar__3_3;
#line 1324 "list.m"
  MR_Word * mercury__list__map2_foldl_6_p_7_env_0__HeadVar__4_4;
#line 1324 "list.m"
  MR_Box * mercury__list__map2_foldl_6_p_7_env_0__STATE_VARIABLE_A_6;
#line 1324 "list.m"
  MR_Cont mercury__list__map2_foldl_6_p_7_env_0__cont;
#line 1324 "list.m"
  void * mercury__list__map2_foldl_6_p_7_env_0__cont_env_ptr;
#line 2792 "list.m"
  MR_Word mercury__list__map2_foldl_6_p_7_env_0__T0_13;
#line 2792 "list.m"
  MR_Box mercury__list__map2_foldl_6_p_7_env_0__H1_14;
#line 2792 "list.m"
  MR_Word mercury__list__map2_foldl_6_p_7_env_0__T1_15;
#line 2792 "list.m"
  MR_Box mercury__list__map2_foldl_6_p_7_env_0__H2_16;
#line 2792 "list.m"
  MR_Word mercury__list__map2_foldl_6_p_7_env_0__T2_17;
#line 2792 "list.m"
  MR_Box mercury__list__map2_foldl_6_p_7_env_0__STATE_VARIABLE_A_21_21;
#line 1324 "list.m"
};

#line 1322 "list.m"
struct mercury__list__map2_foldl_6_p_6_env_0_s {
#line 1322 "list.m"
  MR_Word mercury__list__map2_foldl_6_p_6_env_0__TypeInfo_for_L_23;
#line 1322 "list.m"
  MR_Word mercury__list__map2_foldl_6_p_6_env_0__TypeInfo_for_M_24;
#line 1322 "list.m"
  MR_Word mercury__list__map2_foldl_6_p_6_env_0__TypeInfo_for_N_25;
#line 1322 "list.m"
  MR_Word mercury__list__map2_foldl_6_p_6_env_0__TypeInfo_for_A_26;
#line 1322 "list.m"
  MR_Word mercury__list__map2_foldl_6_p_6_env_0__P_1;
#line 1322 "list.m"
  MR_Word * mercury__list__map2_foldl_6_p_6_env_0__HeadVar__3_3;
#line 1322 "list.m"
  MR_Word * mercury__list__map2_foldl_6_p_6_env_0__HeadVar__4_4;
#line 1322 "list.m"
  MR_Box * mercury__list__map2_foldl_6_p_6_env_0__STATE_VARIABLE_A_6;
#line 1322 "list.m"
  MR_Cont mercury__list__map2_foldl_6_p_6_env_0__cont;
#line 1322 "list.m"
  void * mercury__list__map2_foldl_6_p_6_env_0__cont_env_ptr;
#line 2792 "list.m"
  MR_Word mercury__list__map2_foldl_6_p_6_env_0__T0_13;
#line 2792 "list.m"
  MR_Box mercury__list__map2_foldl_6_p_6_env_0__H1_14;
#line 2792 "list.m"
  MR_Word mercury__list__map2_foldl_6_p_6_env_0__T1_15;
#line 2792 "list.m"
  MR_Box mercury__list__map2_foldl_6_p_6_env_0__H2_16;
#line 2792 "list.m"
  MR_Word mercury__list__map2_foldl_6_p_6_env_0__T2_17;
#line 2792 "list.m"
  MR_Box mercury__list__map2_foldl_6_p_6_env_0__STATE_VARIABLE_A_21_21;
#line 1322 "list.m"
};

#line 1301 "list.m"
struct mercury__list__map_foldl6_15_p_5_env_0_s {
#line 1301 "list.m"
  MR_Word mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_L_70;
#line 1301 "list.m"
  MR_Word mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_M_71;
#line 1301 "list.m"
  MR_Word mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_A_72;
#line 1301 "list.m"
  MR_Word mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_B_73;
#line 1301 "list.m"
  MR_Word mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_C_74;
#line 1301 "list.m"
  MR_Word mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_D_75;
#line 1301 "list.m"
  MR_Word mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_E_76;
#line 1301 "list.m"
  MR_Word mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_F_77;
#line 1301 "list.m"
  MR_Word mercury__list__map_foldl6_15_p_5_env_0__P_1;
#line 1301 "list.m"
  MR_Word * mercury__list__map_foldl6_15_p_5_env_0__HeadVar__3_3;
#line 1301 "list.m"
  MR_Box * mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_A_5;
#line 1301 "list.m"
  MR_Box * mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_B_7;
#line 1301 "list.m"
  MR_Box * mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_C_9;
#line 1301 "list.m"
  MR_Box * mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_D_11;
#line 1301 "list.m"
  MR_Box * mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_E_13;
#line 1301 "list.m"
  MR_Box * mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_F_15;
#line 1301 "list.m"
  MR_Cont mercury__list__map_foldl6_15_p_5_env_0__cont;
#line 1301 "list.m"
  void * mercury__list__map_foldl6_15_p_5_env_0__cont_env_ptr;
#line 2787 "list.m"
  MR_Word mercury__list__map_foldl6_15_p_5_env_0__T0_37;
#line 2787 "list.m"
  MR_Box mercury__list__map_foldl6_15_p_5_env_0__H_38;
#line 2787 "list.m"
  MR_Word mercury__list__map_foldl6_15_p_5_env_0__T_39;
#line 2787 "list.m"
  MR_Box mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_A_58_58;
#line 2787 "list.m"
  MR_Box mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_B_59_59;
#line 2787 "list.m"
  MR_Box mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_C_60_60;
#line 2787 "list.m"
  MR_Box mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_D_61_61;
#line 2787 "list.m"
  MR_Box mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_E_62_62;
#line 2787 "list.m"
  MR_Box mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_F_63_63;
#line 1301 "list.m"
};

#line 1275 "list.m"
struct mercury__list__map_foldl5_13_p_5_env_0_s {
#line 1275 "list.m"
  MR_Word mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_L_60;
#line 1275 "list.m"
  MR_Word mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_M_61;
#line 1275 "list.m"
  MR_Word mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_A_62;
#line 1275 "list.m"
  MR_Word mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_B_63;
#line 1275 "list.m"
  MR_Word mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_C_64;
#line 1275 "list.m"
  MR_Word mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_D_65;
#line 1275 "list.m"
  MR_Word mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_E_66;
#line 1275 "list.m"
  MR_Word mercury__list__map_foldl5_13_p_5_env_0__P_1;
#line 1275 "list.m"
  MR_Word * mercury__list__map_foldl5_13_p_5_env_0__HeadVar__3_3;
#line 1275 "list.m"
  MR_Box * mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_A_5;
#line 1275 "list.m"
  MR_Box * mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_B_7;
#line 1275 "list.m"
  MR_Box * mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_C_9;
#line 1275 "list.m"
  MR_Box * mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_D_11;
#line 1275 "list.m"
  MR_Box * mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_E_13;
#line 1275 "list.m"
  MR_Cont mercury__list__map_foldl5_13_p_5_env_0__cont;
#line 1275 "list.m"
  void * mercury__list__map_foldl5_13_p_5_env_0__cont_env_ptr;
#line 2782 "list.m"
  MR_Word mercury__list__map_foldl5_13_p_5_env_0__T0_32;
#line 2782 "list.m"
  MR_Box mercury__list__map_foldl5_13_p_5_env_0__H_33;
#line 2782 "list.m"
  MR_Word mercury__list__map_foldl5_13_p_5_env_0__T_34;
#line 2782 "list.m"
  MR_Box mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_A_50_50;
#line 2782 "list.m"
  MR_Box mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_B_51_51;
#line 2782 "list.m"
  MR_Box mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_C_52_52;
#line 2782 "list.m"
  MR_Box mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_D_53_53;
#line 2782 "list.m"
  MR_Box mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_E_54_54;
#line 1275 "list.m"
};

#line 1252 "list.m"
struct mercury__list__map_foldl4_11_p_5_env_0_s {
#line 1252 "list.m"
  MR_Word mercury__list__map_foldl4_11_p_5_env_0__TypeInfo_for_L_50;
#line 1252 "list.m"
  MR_Word mercury__list__map_foldl4_11_p_5_env_0__TypeInfo_for_M_51;
#line 1252 "list.m"
  MR_Word mercury__list__map_foldl4_11_p_5_env_0__TypeInfo_for_A_52;
#line 1252 "list.m"
  MR_Word mercury__list__map_foldl4_11_p_5_env_0__TypeInfo_for_B_53;
#line 1252 "list.m"
  MR_Word mercury__list__map_foldl4_11_p_5_env_0__TypeInfo_for_C_54;
#line 1252 "list.m"
  MR_Word mercury__list__map_foldl4_11_p_5_env_0__TypeInfo_for_D_55;
#line 1252 "list.m"
  MR_Word mercury__list__map_foldl4_11_p_5_env_0__P_1;
#line 1252 "list.m"
  MR_Word * mercury__list__map_foldl4_11_p_5_env_0__HeadVar__3_3;
#line 1252 "list.m"
  MR_Box * mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_A_5;
#line 1252 "list.m"
  MR_Box * mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_B_7;
#line 1252 "list.m"
  MR_Box * mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_C_9;
#line 1252 "list.m"
  MR_Box * mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_D_11;
#line 1252 "list.m"
  MR_Cont mercury__list__map_foldl4_11_p_5_env_0__cont;
#line 1252 "list.m"
  void * mercury__list__map_foldl4_11_p_5_env_0__cont_env_ptr;
#line 2777 "list.m"
  MR_Word mercury__list__map_foldl4_11_p_5_env_0__T0_27;
#line 2777 "list.m"
  MR_Box mercury__list__map_foldl4_11_p_5_env_0__H_28;
#line 2777 "list.m"
  MR_Word mercury__list__map_foldl4_11_p_5_env_0__T_29;
#line 2777 "list.m"
  MR_Box mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_A_42_42;
#line 2777 "list.m"
  MR_Box mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_B_43_43;
#line 2777 "list.m"
  MR_Box mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_C_44_44;
#line 2777 "list.m"
  MR_Box mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_D_45_45;
#line 1252 "list.m"
};

#line 1230 "list.m"
struct mercury__list__map_foldl3_9_p_5_env_0_s {
#line 1230 "list.m"
  MR_Word mercury__list__map_foldl3_9_p_5_env_0__TypeInfo_for_L_40;
#line 1230 "list.m"
  MR_Word mercury__list__map_foldl3_9_p_5_env_0__TypeInfo_for_M_41;
#line 1230 "list.m"
  MR_Word mercury__list__map_foldl3_9_p_5_env_0__TypeInfo_for_A_42;
#line 1230 "list.m"
  MR_Word mercury__list__map_foldl3_9_p_5_env_0__TypeInfo_for_B_43;
#line 1230 "list.m"
  MR_Word mercury__list__map_foldl3_9_p_5_env_0__TypeInfo_for_C_44;
#line 1230 "list.m"
  MR_Word mercury__list__map_foldl3_9_p_5_env_0__P_1;
#line 1230 "list.m"
  MR_Word * mercury__list__map_foldl3_9_p_5_env_0__HeadVar__3_3;
#line 1230 "list.m"
  MR_Box * mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_A_5;
#line 1230 "list.m"
  MR_Box * mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_B_7;
#line 1230 "list.m"
  MR_Box * mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_C_9;
#line 1230 "list.m"
  MR_Cont mercury__list__map_foldl3_9_p_5_env_0__cont;
#line 1230 "list.m"
  void * mercury__list__map_foldl3_9_p_5_env_0__cont_env_ptr;
#line 2772 "list.m"
  MR_Word mercury__list__map_foldl3_9_p_5_env_0__T0_22;
#line 2772 "list.m"
  MR_Box mercury__list__map_foldl3_9_p_5_env_0__H_23;
#line 2772 "list.m"
  MR_Word mercury__list__map_foldl3_9_p_5_env_0__T_24;
#line 2772 "list.m"
  MR_Box mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_A_34_34;
#line 2772 "list.m"
  MR_Box mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_B_35_35;
#line 2772 "list.m"
  MR_Box mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_C_36_36;
#line 1230 "list.m"
};

#line 1213 "list.m"
struct mercury__list__map_foldl2_7_p_10_env_0_s {
#line 1213 "list.m"
  MR_Word mercury__list__map_foldl2_7_p_10_env_0__TypeInfo_for_L_30;
#line 1213 "list.m"
  MR_Word mercury__list__map_foldl2_7_p_10_env_0__TypeInfo_for_M_31;
#line 1213 "list.m"
  MR_Word mercury__list__map_foldl2_7_p_10_env_0__TypeInfo_for_A_32;
#line 1213 "list.m"
  MR_Word mercury__list__map_foldl2_7_p_10_env_0__TypeInfo_for_B_33;
#line 1213 "list.m"
  MR_Word mercury__list__map_foldl2_7_p_10_env_0__P_1;
#line 1213 "list.m"
  MR_Word * mercury__list__map_foldl2_7_p_10_env_0__HeadVar__3_3;
#line 1213 "list.m"
  MR_Box * mercury__list__map_foldl2_7_p_10_env_0__STATE_VARIABLE_A_5;
#line 1213 "list.m"
  MR_Box * mercury__list__map_foldl2_7_p_10_env_0__STATE_VARIABLE_B_7;
#line 1213 "list.m"
  MR_Cont mercury__list__map_foldl2_7_p_10_env_0__cont;
#line 1213 "list.m"
  void * mercury__list__map_foldl2_7_p_10_env_0__cont_env_ptr;
#line 2767 "list.m"
  MR_Word mercury__list__map_foldl2_7_p_10_env_0__T0_17;
#line 2767 "list.m"
  MR_Box mercury__list__map_foldl2_7_p_10_env_0__H_18;
#line 2767 "list.m"
  MR_Word mercury__list__map_foldl2_7_p_10_env_0__T_19;
#line 2767 "list.m"
  MR_Box mercury__list__map_foldl2_7_p_10_env_0__STATE_VARIABLE_A_26_26;
#line 2767 "list.m"
  MR_Box mercury__list__map_foldl2_7_p_10_env_0__STATE_VARIABLE_B_27_27;
#line 1213 "list.m"
};

#line 1181 "list.m"
struct mercury__list__map_foldl_5_p_8_env_0_s {
#line 1181 "list.m"
  MR_Word mercury__list__map_foldl_5_p_8_env_0__TypeInfo_for_L_20;
#line 1181 "list.m"
  MR_Word mercury__list__map_foldl_5_p_8_env_0__TypeInfo_for_M_21;
#line 1181 "list.m"
  MR_Word mercury__list__map_foldl_5_p_8_env_0__TypeInfo_for_A_22;
#line 1181 "list.m"
  MR_Word mercury__list__map_foldl_5_p_8_env_0__P_1;
#line 1181 "list.m"
  MR_Word * mercury__list__map_foldl_5_p_8_env_0__HeadVar__3_3;
#line 1181 "list.m"
  MR_Box * mercury__list__map_foldl_5_p_8_env_0__STATE_VARIABLE_A_5;
#line 1181 "list.m"
  MR_Cont mercury__list__map_foldl_5_p_8_env_0__cont;
#line 1181 "list.m"
  void * mercury__list__map_foldl_5_p_8_env_0__cont_env_ptr;
#line 2762 "list.m"
  MR_Word mercury__list__map_foldl_5_p_8_env_0__T0_12;
#line 2762 "list.m"
  MR_Box mercury__list__map_foldl_5_p_8_env_0__H_13;
#line 2762 "list.m"
  MR_Word mercury__list__map_foldl_5_p_8_env_0__T_14;
#line 2762 "list.m"
  MR_Box mercury__list__map_foldl_5_p_8_env_0__STATE_VARIABLE_A_18_18;
#line 1181 "list.m"
};

#line 1179 "list.m"
struct mercury__list__map_foldl_5_p_7_env_0_s {
#line 1179 "list.m"
  MR_Word mercury__list__map_foldl_5_p_7_env_0__TypeInfo_for_L_20;
#line 1179 "list.m"
  MR_Word mercury__list__map_foldl_5_p_7_env_0__TypeInfo_for_M_21;
#line 1179 "list.m"
  MR_Word mercury__list__map_foldl_5_p_7_env_0__TypeInfo_for_A_22;
#line 1179 "list.m"
  MR_Word mercury__list__map_foldl_5_p_7_env_0__P_1;
#line 1179 "list.m"
  MR_Word * mercury__list__map_foldl_5_p_7_env_0__HeadVar__3_3;
#line 1179 "list.m"
  MR_Box * mercury__list__map_foldl_5_p_7_env_0__STATE_VARIABLE_A_5;
#line 1179 "list.m"
  MR_Cont mercury__list__map_foldl_5_p_7_env_0__cont;
#line 1179 "list.m"
  void * mercury__list__map_foldl_5_p_7_env_0__cont_env_ptr;
#line 2762 "list.m"
  MR_Word mercury__list__map_foldl_5_p_7_env_0__T0_12;
#line 2762 "list.m"
  MR_Box mercury__list__map_foldl_5_p_7_env_0__H_13;
#line 2762 "list.m"
  MR_Word mercury__list__map_foldl_5_p_7_env_0__T_14;
#line 2762 "list.m"
  MR_Box mercury__list__map_foldl_5_p_7_env_0__STATE_VARIABLE_A_18_18;
#line 1179 "list.m"
};

#line 1038 "list.m"
struct mercury__list__foldl2_corresponding_7_p_7_env_0_s {
#line 1038 "list.m"
  MR_Word mercury__list__foldl2_corresponding_7_p_7_env_0__TypeInfo_for_A_50;
#line 1038 "list.m"
  MR_Word mercury__list__foldl2_corresponding_7_p_7_env_0__TypeInfo_for_B_51;
#line 1038 "list.m"
  MR_Word mercury__list__foldl2_corresponding_7_p_7_env_0__TypeInfo_for_C_52;
#line 1038 "list.m"
  MR_Word mercury__list__foldl2_corresponding_7_p_7_env_0__TypeInfo_for_D_53;
#line 1038 "list.m"
  MR_Word mercury__list__foldl2_corresponding_7_p_7_env_0__P_1;
#line 1038 "list.m"
  MR_Box * mercury__list__foldl2_corresponding_7_p_7_env_0__STATE_VARIABLE_Acc1_5;
#line 1038 "list.m"
  MR_Box * mercury__list__foldl2_corresponding_7_p_7_env_0__STATE_VARIABLE_Acc2_7;
#line 1038 "list.m"
  MR_Cont mercury__list__foldl2_corresponding_7_p_7_env_0__cont;
#line 1038 "list.m"
  void * mercury__list__foldl2_corresponding_7_p_7_env_0__cont_env_ptr;
#line 2672 "list.m"
  MR_Word mercury__list__foldl2_corresponding_7_p_7_env_0__V_54_54;
#line 2677 "list.m"
  MR_Word mercury__list__foldl2_corresponding_7_p_7_env_0__Bs_39;
#line 2677 "list.m"
  MR_Box mercury__list__foldl2_corresponding_7_p_7_env_0__STATE_VARIABLE_Acc1_46_46;
#line 2677 "list.m"
  MR_Box mercury__list__foldl2_corresponding_7_p_7_env_0__STATE_VARIABLE_Acc2_47_47;
#line 1038 "list.m"
};

#line 1036 "list.m"
struct mercury__list__foldl2_corresponding_7_p_6_env_0_s {
#line 1036 "list.m"
  MR_Word mercury__list__foldl2_corresponding_7_p_6_env_0__TypeInfo_for_A_50;
#line 1036 "list.m"
  MR_Word mercury__list__foldl2_corresponding_7_p_6_env_0__TypeInfo_for_B_51;
#line 1036 "list.m"
  MR_Word mercury__list__foldl2_corresponding_7_p_6_env_0__TypeInfo_for_C_52;
#line 1036 "list.m"
  MR_Word mercury__list__foldl2_corresponding_7_p_6_env_0__TypeInfo_for_D_53;
#line 1036 "list.m"
  MR_Word mercury__list__foldl2_corresponding_7_p_6_env_0__P_1;
#line 1036 "list.m"
  MR_Box * mercury__list__foldl2_corresponding_7_p_6_env_0__STATE_VARIABLE_Acc1_5;
#line 1036 "list.m"
  MR_Box * mercury__list__foldl2_corresponding_7_p_6_env_0__STATE_VARIABLE_Acc2_7;
#line 1036 "list.m"
  MR_Cont mercury__list__foldl2_corresponding_7_p_6_env_0__cont;
#line 1036 "list.m"
  void * mercury__list__foldl2_corresponding_7_p_6_env_0__cont_env_ptr;
#line 2672 "list.m"
  MR_Word mercury__list__foldl2_corresponding_7_p_6_env_0__V_54_54;
#line 2677 "list.m"
  MR_Word mercury__list__foldl2_corresponding_7_p_6_env_0__Bs_39;
#line 2677 "list.m"
  MR_Box mercury__list__foldl2_corresponding_7_p_6_env_0__STATE_VARIABLE_Acc1_46_46;
#line 2677 "list.m"
  MR_Box mercury__list__foldl2_corresponding_7_p_6_env_0__STATE_VARIABLE_Acc2_47_47;
#line 1036 "list.m"
};

#line 1009 "list.m"
struct mercury__list__foldl_corresponding_5_p_7_env_0_s {
#line 1009 "list.m"
  MR_Word mercury__list__foldl_corresponding_5_p_7_env_0__TypeInfo_for_A_36;
#line 1009 "list.m"
  MR_Word mercury__list__foldl_corresponding_5_p_7_env_0__TypeInfo_for_B_37;
#line 1009 "list.m"
  MR_Word mercury__list__foldl_corresponding_5_p_7_env_0__TypeInfo_for_C_38;
#line 1009 "list.m"
  MR_Word mercury__list__foldl_corresponding_5_p_7_env_0__P_1;
#line 1009 "list.m"
  MR_Box * mercury__list__foldl_corresponding_5_p_7_env_0__STATE_VARIABLE_Acc_5;
#line 1009 "list.m"
  MR_Cont mercury__list__foldl_corresponding_5_p_7_env_0__cont;
#line 1009 "list.m"
  void * mercury__list__foldl_corresponding_5_p_7_env_0__cont_env_ptr;
#line 2654 "list.m"
  MR_Word mercury__list__foldl_corresponding_5_p_7_env_0__V_39_39;
#line 2659 "list.m"
  MR_Word mercury__list__foldl_corresponding_5_p_7_env_0__Bs_30;
#line 2659 "list.m"
  MR_Box mercury__list__foldl_corresponding_5_p_7_env_0__STATE_VARIABLE_Acc_34_34;
#line 1009 "list.m"
};

#line 1007 "list.m"
struct mercury__list__foldl_corresponding_5_p_6_env_0_s {
#line 1007 "list.m"
  MR_Word mercury__list__foldl_corresponding_5_p_6_env_0__TypeInfo_for_A_36;
#line 1007 "list.m"
  MR_Word mercury__list__foldl_corresponding_5_p_6_env_0__TypeInfo_for_B_37;
#line 1007 "list.m"
  MR_Word mercury__list__foldl_corresponding_5_p_6_env_0__TypeInfo_for_C_38;
#line 1007 "list.m"
  MR_Word mercury__list__foldl_corresponding_5_p_6_env_0__P_1;
#line 1007 "list.m"
  MR_Box * mercury__list__foldl_corresponding_5_p_6_env_0__STATE_VARIABLE_Acc_5;
#line 1007 "list.m"
  MR_Cont mercury__list__foldl_corresponding_5_p_6_env_0__cont;
#line 1007 "list.m"
  void * mercury__list__foldl_corresponding_5_p_6_env_0__cont_env_ptr;
#line 2654 "list.m"
  MR_Word mercury__list__foldl_corresponding_5_p_6_env_0__V_39_39;
#line 2659 "list.m"
  MR_Word mercury__list__foldl_corresponding_5_p_6_env_0__Bs_30;
#line 2659 "list.m"
  MR_Box mercury__list__foldl_corresponding_5_p_6_env_0__STATE_VARIABLE_Acc_34_34;
#line 1007 "list.m"
};

#line 986 "list.m"
struct mercury__list__foldr3_8_p_7_env_0_s {
#line 986 "list.m"
  MR_Word mercury__list__foldr3_8_p_7_env_0__P_1;
#line 986 "list.m"
  MR_Box * mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_A_4;
#line 986 "list.m"
  MR_Box * mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_B_6;
#line 986 "list.m"
  MR_Box * mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_C_8;
#line 986 "list.m"
  MR_Cont mercury__list__foldr3_8_p_7_env_0__cont;
#line 986 "list.m"
  void * mercury__list__foldr3_8_p_7_env_0__cont_env_ptr;
#line 2855 "list.m"
  MR_Box mercury__list__foldr3_8_p_7_env_0__H_20;
#line 2855 "list.m"
  MR_Box mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_A_31_31;
#line 2855 "list.m"
  MR_Box mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_B_32_32;
#line 2855 "list.m"
  MR_Box mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_C_33_33;
#line 986 "list.m"
};

#line 984 "list.m"
struct mercury__list__foldr3_8_p_6_env_0_s {
#line 984 "list.m"
  MR_Word mercury__list__foldr3_8_p_6_env_0__P_1;
#line 984 "list.m"
  MR_Box * mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_A_4;
#line 984 "list.m"
  MR_Box * mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_B_6;
#line 984 "list.m"
  MR_Box * mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_C_8;
#line 984 "list.m"
  MR_Cont mercury__list__foldr3_8_p_6_env_0__cont;
#line 984 "list.m"
  void * mercury__list__foldr3_8_p_6_env_0__cont_env_ptr;
#line 2855 "list.m"
  MR_Box mercury__list__foldr3_8_p_6_env_0__H_20;
#line 2855 "list.m"
  MR_Box mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_A_31_31;
#line 2855 "list.m"
  MR_Box mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_B_32_32;
#line 2855 "list.m"
  MR_Box mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_C_33_33;
#line 984 "list.m"
};

#line 963 "list.m"
struct mercury__list__foldr2_6_p_7_env_0_s {
#line 963 "list.m"
  MR_Word mercury__list__foldr2_6_p_7_env_0__P_1;
#line 963 "list.m"
  MR_Box * mercury__list__foldr2_6_p_7_env_0__STATE_VARIABLE_A_4;
#line 963 "list.m"
  MR_Box * mercury__list__foldr2_6_p_7_env_0__STATE_VARIABLE_B_6;
#line 963 "list.m"
  MR_Cont mercury__list__foldr2_6_p_7_env_0__cont;
#line 963 "list.m"
  void * mercury__list__foldr2_6_p_7_env_0__cont_env_ptr;
#line 2850 "list.m"
  MR_Box mercury__list__foldr2_6_p_7_env_0__H_15;
#line 2850 "list.m"
  MR_Box mercury__list__foldr2_6_p_7_env_0__STATE_VARIABLE_A_23_23;
#line 2850 "list.m"
  MR_Box mercury__list__foldr2_6_p_7_env_0__STATE_VARIABLE_B_24_24;
#line 963 "list.m"
};

#line 961 "list.m"
struct mercury__list__foldr2_6_p_6_env_0_s {
#line 961 "list.m"
  MR_Word mercury__list__foldr2_6_p_6_env_0__P_1;
#line 961 "list.m"
  MR_Box * mercury__list__foldr2_6_p_6_env_0__STATE_VARIABLE_A_4;
#line 961 "list.m"
  MR_Box * mercury__list__foldr2_6_p_6_env_0__STATE_VARIABLE_B_6;
#line 961 "list.m"
  MR_Cont mercury__list__foldr2_6_p_6_env_0__cont;
#line 961 "list.m"
  void * mercury__list__foldr2_6_p_6_env_0__cont_env_ptr;
#line 2850 "list.m"
  MR_Box mercury__list__foldr2_6_p_6_env_0__H_15;
#line 2850 "list.m"
  MR_Box mercury__list__foldr2_6_p_6_env_0__STATE_VARIABLE_A_23_23;
#line 2850 "list.m"
  MR_Box mercury__list__foldr2_6_p_6_env_0__STATE_VARIABLE_B_24_24;
#line 961 "list.m"
};

#line 937 "list.m"
struct mercury__list__foldr_4_p_8_env_0_s {
#line 937 "list.m"
  MR_Word mercury__list__foldr_4_p_8_env_0__P_1;
#line 937 "list.m"
  MR_Box * mercury__list__foldr_4_p_8_env_0__STATE_VARIABLE_A_4;
#line 937 "list.m"
  MR_Cont mercury__list__foldr_4_p_8_env_0__cont;
#line 937 "list.m"
  void * mercury__list__foldr_4_p_8_env_0__cont_env_ptr;
#line 2845 "list.m"
  MR_Box mercury__list__foldr_4_p_8_env_0__H_10;
#line 2845 "list.m"
  MR_Box mercury__list__foldr_4_p_8_env_0__STATE_VARIABLE_A_15_15;
#line 937 "list.m"
};

#line 936 "list.m"
struct mercury__list__foldr_4_p_7_env_0_s {
#line 936 "list.m"
  MR_Word mercury__list__foldr_4_p_7_env_0__P_1;
#line 936 "list.m"
  MR_Box * mercury__list__foldr_4_p_7_env_0__STATE_VARIABLE_A_4;
#line 936 "list.m"
  MR_Cont mercury__list__foldr_4_p_7_env_0__cont;
#line 936 "list.m"
  void * mercury__list__foldr_4_p_7_env_0__cont_env_ptr;
#line 2845 "list.m"
  MR_Box mercury__list__foldr_4_p_7_env_0__H_10;
#line 2845 "list.m"
  MR_Box mercury__list__foldr_4_p_7_env_0__STATE_VARIABLE_A_15_15;
#line 936 "list.m"
};

#line 935 "list.m"
struct mercury__list__foldr_4_p_6_env_0_s {
#line 935 "list.m"
  MR_Word mercury__list__foldr_4_p_6_env_0__P_1;
#line 935 "list.m"
  MR_Box * mercury__list__foldr_4_p_6_env_0__STATE_VARIABLE_A_4;
#line 935 "list.m"
  MR_Cont mercury__list__foldr_4_p_6_env_0__cont;
#line 935 "list.m"
  void * mercury__list__foldr_4_p_6_env_0__cont_env_ptr;
#line 2845 "list.m"
  MR_Box mercury__list__foldr_4_p_6_env_0__H_10;
#line 2845 "list.m"
  MR_Box mercury__list__foldr_4_p_6_env_0__STATE_VARIABLE_A_15_15;
#line 935 "list.m"
};

#line 919 "list.m"
struct mercury__list__foldl6_14_p_8_env_0_s {
#line 919 "list.m"
  MR_Word mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_L_67;
#line 919 "list.m"
  MR_Word mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_A_68;
#line 919 "list.m"
  MR_Word mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_B_69;
#line 919 "list.m"
  MR_Word mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_C_70;
#line 919 "list.m"
  MR_Word mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_D_71;
#line 919 "list.m"
  MR_Word mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_E_72;
#line 919 "list.m"
  MR_Word mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_F_73;
#line 919 "list.m"
  MR_Word mercury__list__foldl6_14_p_8_env_0__P_1;
#line 919 "list.m"
  MR_Box * mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_A_4;
#line 919 "list.m"
  MR_Box * mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_B_6;
#line 919 "list.m"
  MR_Box * mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_C_8;
#line 919 "list.m"
  MR_Box * mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_D_10;
#line 919 "list.m"
  MR_Box * mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_E_12;
#line 919 "list.m"
  MR_Box * mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_F_14;
#line 919 "list.m"
  MR_Cont mercury__list__foldl6_14_p_8_env_0__cont;
#line 919 "list.m"
  void * mercury__list__foldl6_14_p_8_env_0__cont_env_ptr;
#line 2650 "list.m"
  MR_Word mercury__list__foldl6_14_p_8_env_0__T_36;
#line 2650 "list.m"
  MR_Box mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_A_55_55;
#line 2650 "list.m"
  MR_Box mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_B_56_56;
#line 2650 "list.m"
  MR_Box mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_C_57_57;
#line 2650 "list.m"
  MR_Box mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_D_58_58;
#line 2650 "list.m"
  MR_Box mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_E_59_59;
#line 2650 "list.m"
  MR_Box mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_F_60_60;
#line 919 "list.m"
};

#line 878 "list.m"
struct mercury__list__foldl5_12_p_7_env_0_s {
#line 878 "list.m"
  MR_Word mercury__list__foldl5_12_p_7_env_0__TypeInfo_for_L_57;
#line 878 "list.m"
  MR_Word mercury__list__foldl5_12_p_7_env_0__TypeInfo_for_A_58;
#line 878 "list.m"
  MR_Word mercury__list__foldl5_12_p_7_env_0__TypeInfo_for_B_59;
#line 878 "list.m"
  MR_Word mercury__list__foldl5_12_p_7_env_0__TypeInfo_for_C_60;
#line 878 "list.m"
  MR_Word mercury__list__foldl5_12_p_7_env_0__TypeInfo_for_D_61;
#line 878 "list.m"
  MR_Word mercury__list__foldl5_12_p_7_env_0__TypeInfo_for_E_62;
#line 878 "list.m"
  MR_Word mercury__list__foldl5_12_p_7_env_0__P_1;
#line 878 "list.m"
  MR_Box * mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_A_4;
#line 878 "list.m"
  MR_Box * mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_B_6;
#line 878 "list.m"
  MR_Box * mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_C_8;
#line 878 "list.m"
  MR_Box * mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_D_10;
#line 878 "list.m"
  MR_Box * mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_E_12;
#line 878 "list.m"
  MR_Cont mercury__list__foldl5_12_p_7_env_0__cont;
#line 878 "list.m"
  void * mercury__list__foldl5_12_p_7_env_0__cont_env_ptr;
#line 2645 "list.m"
  MR_Word mercury__list__foldl5_12_p_7_env_0__T_31;
#line 2645 "list.m"
  MR_Box mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_A_47_47;
#line 2645 "list.m"
  MR_Box mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_B_48_48;
#line 2645 "list.m"
  MR_Box mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_C_49_49;
#line 2645 "list.m"
  MR_Box mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_D_50_50;
#line 2645 "list.m"
  MR_Box mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_E_51_51;
#line 878 "list.m"
};

#line 875 "list.m"
struct mercury__list__foldl5_12_p_6_env_0_s {
#line 875 "list.m"
  MR_Word mercury__list__foldl5_12_p_6_env_0__TypeInfo_for_L_57;
#line 875 "list.m"
  MR_Word mercury__list__foldl5_12_p_6_env_0__TypeInfo_for_A_58;
#line 875 "list.m"
  MR_Word mercury__list__foldl5_12_p_6_env_0__TypeInfo_for_B_59;
#line 875 "list.m"
  MR_Word mercury__list__foldl5_12_p_6_env_0__TypeInfo_for_C_60;
#line 875 "list.m"
  MR_Word mercury__list__foldl5_12_p_6_env_0__TypeInfo_for_D_61;
#line 875 "list.m"
  MR_Word mercury__list__foldl5_12_p_6_env_0__TypeInfo_for_E_62;
#line 875 "list.m"
  MR_Word mercury__list__foldl5_12_p_6_env_0__P_1;
#line 875 "list.m"
  MR_Box * mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_A_4;
#line 875 "list.m"
  MR_Box * mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_B_6;
#line 875 "list.m"
  MR_Box * mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_C_8;
#line 875 "list.m"
  MR_Box * mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_D_10;
#line 875 "list.m"
  MR_Box * mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_E_12;
#line 875 "list.m"
  MR_Cont mercury__list__foldl5_12_p_6_env_0__cont;
#line 875 "list.m"
  void * mercury__list__foldl5_12_p_6_env_0__cont_env_ptr;
#line 2645 "list.m"
  MR_Word mercury__list__foldl5_12_p_6_env_0__T_31;
#line 2645 "list.m"
  MR_Box mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_A_47_47;
#line 2645 "list.m"
  MR_Box mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_B_48_48;
#line 2645 "list.m"
  MR_Box mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_C_49_49;
#line 2645 "list.m"
  MR_Box mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_D_50_50;
#line 2645 "list.m"
  MR_Box mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_E_51_51;
#line 875 "list.m"
};

#line 847 "list.m"
struct mercury__list__foldl4_10_p_9_env_0_s {
#line 847 "list.m"
  MR_Word mercury__list__foldl4_10_p_9_env_0__TypeInfo_for_L_47;
#line 847 "list.m"
  MR_Word mercury__list__foldl4_10_p_9_env_0__TypeInfo_for_A_48;
#line 847 "list.m"
  MR_Word mercury__list__foldl4_10_p_9_env_0__TypeInfo_for_B_49;
#line 847 "list.m"
  MR_Word mercury__list__foldl4_10_p_9_env_0__TypeInfo_for_C_50;
#line 847 "list.m"
  MR_Word mercury__list__foldl4_10_p_9_env_0__TypeInfo_for_D_51;
#line 847 "list.m"
  MR_Word mercury__list__foldl4_10_p_9_env_0__P_1;
#line 847 "list.m"
  MR_Box * mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_A_4;
#line 847 "list.m"
  MR_Box * mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_B_6;
#line 847 "list.m"
  MR_Box * mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_C_8;
#line 847 "list.m"
  MR_Box * mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_D_10;
#line 847 "list.m"
  MR_Cont mercury__list__foldl4_10_p_9_env_0__cont;
#line 847 "list.m"
  void * mercury__list__foldl4_10_p_9_env_0__cont_env_ptr;
#line 2640 "list.m"
  MR_Word mercury__list__foldl4_10_p_9_env_0__T_26;
#line 2640 "list.m"
  MR_Box mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_A_39_39;
#line 2640 "list.m"
  MR_Box mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_B_40_40;
#line 2640 "list.m"
  MR_Box mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_C_41_41;
#line 2640 "list.m"
  MR_Box mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_D_42_42;
#line 847 "list.m"
};

#line 845 "list.m"
struct mercury__list__foldl4_10_p_8_env_0_s {
#line 845 "list.m"
  MR_Word mercury__list__foldl4_10_p_8_env_0__TypeInfo_for_L_47;
#line 845 "list.m"
  MR_Word mercury__list__foldl4_10_p_8_env_0__TypeInfo_for_A_48;
#line 845 "list.m"
  MR_Word mercury__list__foldl4_10_p_8_env_0__TypeInfo_for_B_49;
#line 845 "list.m"
  MR_Word mercury__list__foldl4_10_p_8_env_0__TypeInfo_for_C_50;
#line 845 "list.m"
  MR_Word mercury__list__foldl4_10_p_8_env_0__TypeInfo_for_D_51;
#line 845 "list.m"
  MR_Word mercury__list__foldl4_10_p_8_env_0__P_1;
#line 845 "list.m"
  MR_Box * mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_A_4;
#line 845 "list.m"
  MR_Box * mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_B_6;
#line 845 "list.m"
  MR_Box * mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_C_8;
#line 845 "list.m"
  MR_Box * mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_D_10;
#line 845 "list.m"
  MR_Cont mercury__list__foldl4_10_p_8_env_0__cont;
#line 845 "list.m"
  void * mercury__list__foldl4_10_p_8_env_0__cont_env_ptr;
#line 2640 "list.m"
  MR_Word mercury__list__foldl4_10_p_8_env_0__T_26;
#line 2640 "list.m"
  MR_Box mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_A_39_39;
#line 2640 "list.m"
  MR_Box mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_B_40_40;
#line 2640 "list.m"
  MR_Box mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_C_41_41;
#line 2640 "list.m"
  MR_Box mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_D_42_42;
#line 845 "list.m"
};

#line 815 "list.m"
struct mercury__list__foldl3_8_p_7_env_0_s {
#line 815 "list.m"
  MR_Word mercury__list__foldl3_8_p_7_env_0__TypeInfo_for_L_37;
#line 815 "list.m"
  MR_Word mercury__list__foldl3_8_p_7_env_0__TypeInfo_for_A_38;
#line 815 "list.m"
  MR_Word mercury__list__foldl3_8_p_7_env_0__TypeInfo_for_B_39;
#line 815 "list.m"
  MR_Word mercury__list__foldl3_8_p_7_env_0__TypeInfo_for_C_40;
#line 815 "list.m"
  MR_Word mercury__list__foldl3_8_p_7_env_0__P_1;
#line 815 "list.m"
  MR_Box * mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_A_4;
#line 815 "list.m"
  MR_Box * mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_B_6;
#line 815 "list.m"
  MR_Box * mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_C_8;
#line 815 "list.m"
  MR_Cont mercury__list__foldl3_8_p_7_env_0__cont;
#line 815 "list.m"
  void * mercury__list__foldl3_8_p_7_env_0__cont_env_ptr;
#line 2635 "list.m"
  MR_Word mercury__list__foldl3_8_p_7_env_0__T_21;
#line 2635 "list.m"
  MR_Box mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_A_31_31;
#line 2635 "list.m"
  MR_Box mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_B_32_32;
#line 2635 "list.m"
  MR_Box mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_C_33_33;
#line 815 "list.m"
};

#line 813 "list.m"
struct mercury__list__foldl3_8_p_6_env_0_s {
#line 813 "list.m"
  MR_Word mercury__list__foldl3_8_p_6_env_0__TypeInfo_for_L_37;
#line 813 "list.m"
  MR_Word mercury__list__foldl3_8_p_6_env_0__TypeInfo_for_A_38;
#line 813 "list.m"
  MR_Word mercury__list__foldl3_8_p_6_env_0__TypeInfo_for_B_39;
#line 813 "list.m"
  MR_Word mercury__list__foldl3_8_p_6_env_0__TypeInfo_for_C_40;
#line 813 "list.m"
  MR_Word mercury__list__foldl3_8_p_6_env_0__P_1;
#line 813 "list.m"
  MR_Box * mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_A_4;
#line 813 "list.m"
  MR_Box * mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_B_6;
#line 813 "list.m"
  MR_Box * mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_C_8;
#line 813 "list.m"
  MR_Cont mercury__list__foldl3_8_p_6_env_0__cont;
#line 813 "list.m"
  void * mercury__list__foldl3_8_p_6_env_0__cont_env_ptr;
#line 2635 "list.m"
  MR_Word mercury__list__foldl3_8_p_6_env_0__T_21;
#line 2635 "list.m"
  MR_Box mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_A_31_31;
#line 2635 "list.m"
  MR_Box mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_B_32_32;
#line 2635 "list.m"
  MR_Box mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_C_33_33;
#line 813 "list.m"
};

#line 783 "list.m"
struct mercury__list__foldl2_6_p_8_env_0_s {
#line 783 "list.m"
  MR_Word mercury__list__foldl2_6_p_8_env_0__TypeInfo_for_L_27;
#line 783 "list.m"
  MR_Word mercury__list__foldl2_6_p_8_env_0__TypeInfo_for_A_28;
#line 783 "list.m"
  MR_Word mercury__list__foldl2_6_p_8_env_0__TypeInfo_for_Z_29;
#line 783 "list.m"
  MR_Word mercury__list__foldl2_6_p_8_env_0__P_1;
#line 783 "list.m"
  MR_Box * mercury__list__foldl2_6_p_8_env_0__STATE_VARIABLE_A_4;
#line 783 "list.m"
  MR_Box * mercury__list__foldl2_6_p_8_env_0__STATE_VARIABLE_B_6;
#line 783 "list.m"
  MR_Cont mercury__list__foldl2_6_p_8_env_0__cont;
#line 783 "list.m"
  void * mercury__list__foldl2_6_p_8_env_0__cont_env_ptr;
#line 2630 "list.m"
  MR_Word mercury__list__foldl2_6_p_8_env_0__T_16;
#line 2630 "list.m"
  MR_Box mercury__list__foldl2_6_p_8_env_0__STATE_VARIABLE_A_23_23;
#line 2630 "list.m"
  MR_Box mercury__list__foldl2_6_p_8_env_0__STATE_VARIABLE_B_24_24;
#line 783 "list.m"
};

#line 781 "list.m"
struct mercury__list__foldl2_6_p_7_env_0_s {
#line 781 "list.m"
  MR_Word mercury__list__foldl2_6_p_7_env_0__TypeInfo_for_L_27;
#line 781 "list.m"
  MR_Word mercury__list__foldl2_6_p_7_env_0__TypeInfo_for_A_28;
#line 781 "list.m"
  MR_Word mercury__list__foldl2_6_p_7_env_0__TypeInfo_for_Z_29;
#line 781 "list.m"
  MR_Word mercury__list__foldl2_6_p_7_env_0__P_1;
#line 781 "list.m"
  MR_Box * mercury__list__foldl2_6_p_7_env_0__STATE_VARIABLE_A_4;
#line 781 "list.m"
  MR_Box * mercury__list__foldl2_6_p_7_env_0__STATE_VARIABLE_B_6;
#line 781 "list.m"
  MR_Cont mercury__list__foldl2_6_p_7_env_0__cont;
#line 781 "list.m"
  void * mercury__list__foldl2_6_p_7_env_0__cont_env_ptr;
#line 2630 "list.m"
  MR_Word mercury__list__foldl2_6_p_7_env_0__T_16;
#line 2630 "list.m"
  MR_Box mercury__list__foldl2_6_p_7_env_0__STATE_VARIABLE_A_23_23;
#line 2630 "list.m"
  MR_Box mercury__list__foldl2_6_p_7_env_0__STATE_VARIABLE_B_24_24;
#line 781 "list.m"
};

#line 755 "list.m"
struct mercury__list__foldl_4_p_8_env_0_s {
#line 755 "list.m"
  MR_Word mercury__list__foldl_4_p_8_env_0__TypeInfo_for_L_17;
#line 755 "list.m"
  MR_Word mercury__list__foldl_4_p_8_env_0__TypeInfo_for_A_18;
#line 755 "list.m"
  MR_Word mercury__list__foldl_4_p_8_env_0__P_1;
#line 755 "list.m"
  MR_Box * mercury__list__foldl_4_p_8_env_0__STATE_VARIABLE_A_4;
#line 755 "list.m"
  MR_Cont mercury__list__foldl_4_p_8_env_0__cont;
#line 755 "list.m"
  void * mercury__list__foldl_4_p_8_env_0__cont_env_ptr;
#line 2625 "list.m"
  MR_Word mercury__list__foldl_4_p_8_env_0__T_11;
#line 2625 "list.m"
  MR_Box mercury__list__foldl_4_p_8_env_0__STATE_VARIABLE_A_15_15;
#line 755 "list.m"
};

#line 754 "list.m"
struct mercury__list__foldl_4_p_7_env_0_s {
#line 754 "list.m"
  MR_Word mercury__list__foldl_4_p_7_env_0__TypeInfo_for_L_17;
#line 754 "list.m"
  MR_Word mercury__list__foldl_4_p_7_env_0__TypeInfo_for_A_18;
#line 754 "list.m"
  MR_Word mercury__list__foldl_4_p_7_env_0__P_1;
#line 754 "list.m"
  MR_Box * mercury__list__foldl_4_p_7_env_0__STATE_VARIABLE_A_4;
#line 754 "list.m"
  MR_Cont mercury__list__foldl_4_p_7_env_0__cont;
#line 754 "list.m"
  void * mercury__list__foldl_4_p_7_env_0__cont_env_ptr;
#line 2625 "list.m"
  MR_Word mercury__list__foldl_4_p_7_env_0__T_11;
#line 2625 "list.m"
  MR_Box mercury__list__foldl_4_p_7_env_0__STATE_VARIABLE_A_15_15;
#line 754 "list.m"
};

#line 753 "list.m"
struct mercury__list__foldl_4_p_6_env_0_s {
#line 753 "list.m"
  MR_Word mercury__list__foldl_4_p_6_env_0__TypeInfo_for_L_17;
#line 753 "list.m"
  MR_Word mercury__list__foldl_4_p_6_env_0__TypeInfo_for_A_18;
#line 753 "list.m"
  MR_Word mercury__list__foldl_4_p_6_env_0__P_1;
#line 753 "list.m"
  MR_Box * mercury__list__foldl_4_p_6_env_0__STATE_VARIABLE_A_4;
#line 753 "list.m"
  MR_Cont mercury__list__foldl_4_p_6_env_0__cont;
#line 753 "list.m"
  void * mercury__list__foldl_4_p_6_env_0__cont_env_ptr;
#line 2625 "list.m"
  MR_Word mercury__list__foldl_4_p_6_env_0__T_11;
#line 2625 "list.m"
  MR_Box mercury__list__foldl_4_p_6_env_0__STATE_VARIABLE_A_15_15;
#line 753 "list.m"
};

#line 609 "list.m"
struct mercury__list__map8_10_p_4_env_0_s {
#line 609 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__TypeInfo_for_A_31;
#line 609 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__TypeInfo_for_B_32;
#line 609 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__TypeInfo_for_C_33;
#line 609 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__TypeInfo_for_D_34;
#line 609 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__TypeInfo_for_E_35;
#line 609 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__TypeInfo_for_F_36;
#line 609 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__TypeInfo_for_G_37;
#line 609 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__TypeInfo_for_H_38;
#line 609 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__TypeInfo_for_I_39;
#line 609 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__P_1;
#line 609 "list.m"
  MR_Word * mercury__list__map8_10_p_4_env_0__HeadVar__3_3;
#line 609 "list.m"
  MR_Word * mercury__list__map8_10_p_4_env_0__HeadVar__4_4;
#line 609 "list.m"
  MR_Word * mercury__list__map8_10_p_4_env_0__HeadVar__5_5;
#line 609 "list.m"
  MR_Word * mercury__list__map8_10_p_4_env_0__HeadVar__6_6;
#line 609 "list.m"
  MR_Word * mercury__list__map8_10_p_4_env_0__HeadVar__7_7;
#line 609 "list.m"
  MR_Word * mercury__list__map8_10_p_4_env_0__HeadVar__8_8;
#line 609 "list.m"
  MR_Word * mercury__list__map8_10_p_4_env_0__HeadVar__9_9;
#line 609 "list.m"
  MR_Word * mercury__list__map8_10_p_4_env_0__HeadVar__10_10;
#line 609 "list.m"
  MR_Cont mercury__list__map8_10_p_4_env_0__cont;
#line 609 "list.m"
  void * mercury__list__map8_10_p_4_env_0__cont_env_ptr;
#line 2503 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__T0_14;
#line 2503 "list.m"
  MR_Box mercury__list__map8_10_p_4_env_0__H1_15;
#line 2503 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__T1_16;
#line 2503 "list.m"
  MR_Box mercury__list__map8_10_p_4_env_0__H2_17;
#line 2503 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__T2_18;
#line 2503 "list.m"
  MR_Box mercury__list__map8_10_p_4_env_0__H3_19;
#line 2503 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__T3_20;
#line 2503 "list.m"
  MR_Box mercury__list__map8_10_p_4_env_0__H4_21;
#line 2503 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__T4_22;
#line 2503 "list.m"
  MR_Box mercury__list__map8_10_p_4_env_0__H5_23;
#line 2503 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__T5_24;
#line 2503 "list.m"
  MR_Box mercury__list__map8_10_p_4_env_0__H6_25;
#line 2503 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__T6_26;
#line 2503 "list.m"
  MR_Box mercury__list__map8_10_p_4_env_0__H7_27;
#line 2503 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__T7_28;
#line 2503 "list.m"
  MR_Box mercury__list__map8_10_p_4_env_0__H8_29;
#line 2503 "list.m"
  MR_Word mercury__list__map8_10_p_4_env_0__T8_30;
#line 609 "list.m"
};

#line 607 "list.m"
struct mercury__list__map8_10_p_3_env_0_s {
#line 607 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__TypeInfo_for_A_31;
#line 607 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__TypeInfo_for_B_32;
#line 607 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__TypeInfo_for_C_33;
#line 607 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__TypeInfo_for_D_34;
#line 607 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__TypeInfo_for_E_35;
#line 607 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__TypeInfo_for_F_36;
#line 607 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__TypeInfo_for_G_37;
#line 607 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__TypeInfo_for_H_38;
#line 607 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__TypeInfo_for_I_39;
#line 607 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__P_1;
#line 607 "list.m"
  MR_Word * mercury__list__map8_10_p_3_env_0__HeadVar__3_3;
#line 607 "list.m"
  MR_Word * mercury__list__map8_10_p_3_env_0__HeadVar__4_4;
#line 607 "list.m"
  MR_Word * mercury__list__map8_10_p_3_env_0__HeadVar__5_5;
#line 607 "list.m"
  MR_Word * mercury__list__map8_10_p_3_env_0__HeadVar__6_6;
#line 607 "list.m"
  MR_Word * mercury__list__map8_10_p_3_env_0__HeadVar__7_7;
#line 607 "list.m"
  MR_Word * mercury__list__map8_10_p_3_env_0__HeadVar__8_8;
#line 607 "list.m"
  MR_Word * mercury__list__map8_10_p_3_env_0__HeadVar__9_9;
#line 607 "list.m"
  MR_Word * mercury__list__map8_10_p_3_env_0__HeadVar__10_10;
#line 607 "list.m"
  MR_Cont mercury__list__map8_10_p_3_env_0__cont;
#line 607 "list.m"
  void * mercury__list__map8_10_p_3_env_0__cont_env_ptr;
#line 2503 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__T0_14;
#line 2503 "list.m"
  MR_Box mercury__list__map8_10_p_3_env_0__H1_15;
#line 2503 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__T1_16;
#line 2503 "list.m"
  MR_Box mercury__list__map8_10_p_3_env_0__H2_17;
#line 2503 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__T2_18;
#line 2503 "list.m"
  MR_Box mercury__list__map8_10_p_3_env_0__H3_19;
#line 2503 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__T3_20;
#line 2503 "list.m"
  MR_Box mercury__list__map8_10_p_3_env_0__H4_21;
#line 2503 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__T4_22;
#line 2503 "list.m"
  MR_Box mercury__list__map8_10_p_3_env_0__H5_23;
#line 2503 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__T5_24;
#line 2503 "list.m"
  MR_Box mercury__list__map8_10_p_3_env_0__H6_25;
#line 2503 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__T6_26;
#line 2503 "list.m"
  MR_Box mercury__list__map8_10_p_3_env_0__H7_27;
#line 2503 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__T7_28;
#line 2503 "list.m"
  MR_Box mercury__list__map8_10_p_3_env_0__H8_29;
#line 2503 "list.m"
  MR_Word mercury__list__map8_10_p_3_env_0__T8_30;
#line 607 "list.m"
};

#line 590 "list.m"
struct mercury__list__map7_9_p_4_env_0_s {
#line 590 "list.m"
  MR_Word mercury__list__map7_9_p_4_env_0__TypeInfo_for_A_28;
#line 590 "list.m"
  MR_Word mercury__list__map7_9_p_4_env_0__TypeInfo_for_B_29;
#line 590 "list.m"
  MR_Word mercury__list__map7_9_p_4_env_0__TypeInfo_for_C_30;
#line 590 "list.m"
  MR_Word mercury__list__map7_9_p_4_env_0__TypeInfo_for_D_31;
#line 590 "list.m"
  MR_Word mercury__list__map7_9_p_4_env_0__TypeInfo_for_E_32;
#line 590 "list.m"
  MR_Word mercury__list__map7_9_p_4_env_0__TypeInfo_for_F_33;
#line 590 "list.m"
  MR_Word mercury__list__map7_9_p_4_env_0__TypeInfo_for_G_34;
#line 590 "list.m"
  MR_Word mercury__list__map7_9_p_4_env_0__TypeInfo_for_H_35;
#line 590 "list.m"
  MR_Word mercury__list__map7_9_p_4_env_0__P_1;
#line 590 "list.m"
  MR_Word * mercury__list__map7_9_p_4_env_0__HeadVar__3_3;
#line 590 "list.m"
  MR_Word * mercury__list__map7_9_p_4_env_0__HeadVar__4_4;
#line 590 "list.m"
  MR_Word * mercury__list__map7_9_p_4_env_0__HeadVar__5_5;
#line 590 "list.m"
  MR_Word * mercury__list__map7_9_p_4_env_0__HeadVar__6_6;
#line 590 "list.m"
  MR_Word * mercury__list__map7_9_p_4_env_0__HeadVar__7_7;
#line 590 "list.m"
  MR_Word * mercury__list__map7_9_p_4_env_0__HeadVar__8_8;
#line 590 "list.m"
  MR_Word * mercury__list__map7_9_p_4_env_0__HeadVar__9_9;
#line 590 "list.m"
  MR_Cont mercury__list__map7_9_p_4_env_0__cont;
#line 590 "list.m"
  void * mercury__list__map7_9_p_4_env_0__cont_env_ptr;
#line 2497 "list.m"
  MR_Word mercury__list__map7_9_p_4_env_0__T0_13;
#line 2497 "list.m"
  MR_Box mercury__list__map7_9_p_4_env_0__H1_14;
#line 2497 "list.m"
  MR_Word mercury__list__map7_9_p_4_env_0__T1_15;
#line 2497 "list.m"
  MR_Box mercury__list__map7_9_p_4_env_0__H2_16;
#line 2497 "list.m"
  MR_Word mercury__list__map7_9_p_4_env_0__T2_17;
#line 2497 "list.m"
  MR_Box mercury__list__map7_9_p_4_env_0__H3_18;
#line 2497 "list.m"
  MR_Word mercury__list__map7_9_p_4_env_0__T3_19;
#line 2497 "list.m"
  MR_Box mercury__list__map7_9_p_4_env_0__H4_20;
#line 2497 "list.m"
  MR_Word mercury__list__map7_9_p_4_env_0__T4_21;
#line 2497 "list.m"
  MR_Box mercury__list__map7_9_p_4_env_0__H5_22;
#line 2497 "list.m"
  MR_Word mercury__list__map7_9_p_4_env_0__T5_23;
#line 2497 "list.m"
  MR_Box mercury__list__map7_9_p_4_env_0__H6_24;
#line 2497 "list.m"
  MR_Word mercury__list__map7_9_p_4_env_0__T6_25;
#line 2497 "list.m"
  MR_Box mercury__list__map7_9_p_4_env_0__H7_26;
#line 2497 "list.m"
  MR_Word mercury__list__map7_9_p_4_env_0__T7_27;
#line 590 "list.m"
};

#line 588 "list.m"
struct mercury__list__map7_9_p_3_env_0_s {
#line 588 "list.m"
  MR_Word mercury__list__map7_9_p_3_env_0__TypeInfo_for_A_28;
#line 588 "list.m"
  MR_Word mercury__list__map7_9_p_3_env_0__TypeInfo_for_B_29;
#line 588 "list.m"
  MR_Word mercury__list__map7_9_p_3_env_0__TypeInfo_for_C_30;
#line 588 "list.m"
  MR_Word mercury__list__map7_9_p_3_env_0__TypeInfo_for_D_31;
#line 588 "list.m"
  MR_Word mercury__list__map7_9_p_3_env_0__TypeInfo_for_E_32;
#line 588 "list.m"
  MR_Word mercury__list__map7_9_p_3_env_0__TypeInfo_for_F_33;
#line 588 "list.m"
  MR_Word mercury__list__map7_9_p_3_env_0__TypeInfo_for_G_34;
#line 588 "list.m"
  MR_Word mercury__list__map7_9_p_3_env_0__TypeInfo_for_H_35;
#line 588 "list.m"
  MR_Word mercury__list__map7_9_p_3_env_0__P_1;
#line 588 "list.m"
  MR_Word * mercury__list__map7_9_p_3_env_0__HeadVar__3_3;
#line 588 "list.m"
  MR_Word * mercury__list__map7_9_p_3_env_0__HeadVar__4_4;
#line 588 "list.m"
  MR_Word * mercury__list__map7_9_p_3_env_0__HeadVar__5_5;
#line 588 "list.m"
  MR_Word * mercury__list__map7_9_p_3_env_0__HeadVar__6_6;
#line 588 "list.m"
  MR_Word * mercury__list__map7_9_p_3_env_0__HeadVar__7_7;
#line 588 "list.m"
  MR_Word * mercury__list__map7_9_p_3_env_0__HeadVar__8_8;
#line 588 "list.m"
  MR_Word * mercury__list__map7_9_p_3_env_0__HeadVar__9_9;
#line 588 "list.m"
  MR_Cont mercury__list__map7_9_p_3_env_0__cont;
#line 588 "list.m"
  void * mercury__list__map7_9_p_3_env_0__cont_env_ptr;
#line 2497 "list.m"
  MR_Word mercury__list__map7_9_p_3_env_0__T0_13;
#line 2497 "list.m"
  MR_Box mercury__list__map7_9_p_3_env_0__H1_14;
#line 2497 "list.m"
  MR_Word mercury__list__map7_9_p_3_env_0__T1_15;
#line 2497 "list.m"
  MR_Box mercury__list__map7_9_p_3_env_0__H2_16;
#line 2497 "list.m"
  MR_Word mercury__list__map7_9_p_3_env_0__T2_17;
#line 2497 "list.m"
  MR_Box mercury__list__map7_9_p_3_env_0__H3_18;
#line 2497 "list.m"
  MR_Word mercury__list__map7_9_p_3_env_0__T3_19;
#line 2497 "list.m"
  MR_Box mercury__list__map7_9_p_3_env_0__H4_20;
#line 2497 "list.m"
  MR_Word mercury__list__map7_9_p_3_env_0__T4_21;
#line 2497 "list.m"
  MR_Box mercury__list__map7_9_p_3_env_0__H5_22;
#line 2497 "list.m"
  MR_Word mercury__list__map7_9_p_3_env_0__T5_23;
#line 2497 "list.m"
  MR_Box mercury__list__map7_9_p_3_env_0__H6_24;
#line 2497 "list.m"
  MR_Word mercury__list__map7_9_p_3_env_0__T6_25;
#line 2497 "list.m"
  MR_Box mercury__list__map7_9_p_3_env_0__H7_26;
#line 2497 "list.m"
  MR_Word mercury__list__map7_9_p_3_env_0__T7_27;
#line 588 "list.m"
};

#line 571 "list.m"
struct mercury__list__map6_8_p_4_env_0_s {
#line 571 "list.m"
  MR_Word mercury__list__map6_8_p_4_env_0__TypeInfo_for_A_25;
#line 571 "list.m"
  MR_Word mercury__list__map6_8_p_4_env_0__TypeInfo_for_B_26;
#line 571 "list.m"
  MR_Word mercury__list__map6_8_p_4_env_0__TypeInfo_for_C_27;
#line 571 "list.m"
  MR_Word mercury__list__map6_8_p_4_env_0__TypeInfo_for_D_28;
#line 571 "list.m"
  MR_Word mercury__list__map6_8_p_4_env_0__TypeInfo_for_E_29;
#line 571 "list.m"
  MR_Word mercury__list__map6_8_p_4_env_0__TypeInfo_for_F_30;
#line 571 "list.m"
  MR_Word mercury__list__map6_8_p_4_env_0__TypeInfo_for_G_31;
#line 571 "list.m"
  MR_Word mercury__list__map6_8_p_4_env_0__P_1;
#line 571 "list.m"
  MR_Word * mercury__list__map6_8_p_4_env_0__HeadVar__3_3;
#line 571 "list.m"
  MR_Word * mercury__list__map6_8_p_4_env_0__HeadVar__4_4;
#line 571 "list.m"
  MR_Word * mercury__list__map6_8_p_4_env_0__HeadVar__5_5;
#line 571 "list.m"
  MR_Word * mercury__list__map6_8_p_4_env_0__HeadVar__6_6;
#line 571 "list.m"
  MR_Word * mercury__list__map6_8_p_4_env_0__HeadVar__7_7;
#line 571 "list.m"
  MR_Word * mercury__list__map6_8_p_4_env_0__HeadVar__8_8;
#line 571 "list.m"
  MR_Cont mercury__list__map6_8_p_4_env_0__cont;
#line 571 "list.m"
  void * mercury__list__map6_8_p_4_env_0__cont_env_ptr;
#line 2491 "list.m"
  MR_Word mercury__list__map6_8_p_4_env_0__T0_12;
#line 2491 "list.m"
  MR_Box mercury__list__map6_8_p_4_env_0__H1_13;
#line 2491 "list.m"
  MR_Word mercury__list__map6_8_p_4_env_0__T1_14;
#line 2491 "list.m"
  MR_Box mercury__list__map6_8_p_4_env_0__H2_15;
#line 2491 "list.m"
  MR_Word mercury__list__map6_8_p_4_env_0__T2_16;
#line 2491 "list.m"
  MR_Box mercury__list__map6_8_p_4_env_0__H3_17;
#line 2491 "list.m"
  MR_Word mercury__list__map6_8_p_4_env_0__T3_18;
#line 2491 "list.m"
  MR_Box mercury__list__map6_8_p_4_env_0__H4_19;
#line 2491 "list.m"
  MR_Word mercury__list__map6_8_p_4_env_0__T4_20;
#line 2491 "list.m"
  MR_Box mercury__list__map6_8_p_4_env_0__H5_21;
#line 2491 "list.m"
  MR_Word mercury__list__map6_8_p_4_env_0__T5_22;
#line 2491 "list.m"
  MR_Box mercury__list__map6_8_p_4_env_0__H6_23;
#line 2491 "list.m"
  MR_Word mercury__list__map6_8_p_4_env_0__T6_24;
#line 571 "list.m"
};

#line 569 "list.m"
struct mercury__list__map6_8_p_3_env_0_s {
#line 569 "list.m"
  MR_Word mercury__list__map6_8_p_3_env_0__TypeInfo_for_A_25;
#line 569 "list.m"
  MR_Word mercury__list__map6_8_p_3_env_0__TypeInfo_for_B_26;
#line 569 "list.m"
  MR_Word mercury__list__map6_8_p_3_env_0__TypeInfo_for_C_27;
#line 569 "list.m"
  MR_Word mercury__list__map6_8_p_3_env_0__TypeInfo_for_D_28;
#line 569 "list.m"
  MR_Word mercury__list__map6_8_p_3_env_0__TypeInfo_for_E_29;
#line 569 "list.m"
  MR_Word mercury__list__map6_8_p_3_env_0__TypeInfo_for_F_30;
#line 569 "list.m"
  MR_Word mercury__list__map6_8_p_3_env_0__TypeInfo_for_G_31;
#line 569 "list.m"
  MR_Word mercury__list__map6_8_p_3_env_0__P_1;
#line 569 "list.m"
  MR_Word * mercury__list__map6_8_p_3_env_0__HeadVar__3_3;
#line 569 "list.m"
  MR_Word * mercury__list__map6_8_p_3_env_0__HeadVar__4_4;
#line 569 "list.m"
  MR_Word * mercury__list__map6_8_p_3_env_0__HeadVar__5_5;
#line 569 "list.m"
  MR_Word * mercury__list__map6_8_p_3_env_0__HeadVar__6_6;
#line 569 "list.m"
  MR_Word * mercury__list__map6_8_p_3_env_0__HeadVar__7_7;
#line 569 "list.m"
  MR_Word * mercury__list__map6_8_p_3_env_0__HeadVar__8_8;
#line 569 "list.m"
  MR_Cont mercury__list__map6_8_p_3_env_0__cont;
#line 569 "list.m"
  void * mercury__list__map6_8_p_3_env_0__cont_env_ptr;
#line 2491 "list.m"
  MR_Word mercury__list__map6_8_p_3_env_0__T0_12;
#line 2491 "list.m"
  MR_Box mercury__list__map6_8_p_3_env_0__H1_13;
#line 2491 "list.m"
  MR_Word mercury__list__map6_8_p_3_env_0__T1_14;
#line 2491 "list.m"
  MR_Box mercury__list__map6_8_p_3_env_0__H2_15;
#line 2491 "list.m"
  MR_Word mercury__list__map6_8_p_3_env_0__T2_16;
#line 2491 "list.m"
  MR_Box mercury__list__map6_8_p_3_env_0__H3_17;
#line 2491 "list.m"
  MR_Word mercury__list__map6_8_p_3_env_0__T3_18;
#line 2491 "list.m"
  MR_Box mercury__list__map6_8_p_3_env_0__H4_19;
#line 2491 "list.m"
  MR_Word mercury__list__map6_8_p_3_env_0__T4_20;
#line 2491 "list.m"
  MR_Box mercury__list__map6_8_p_3_env_0__H5_21;
#line 2491 "list.m"
  MR_Word mercury__list__map6_8_p_3_env_0__T5_22;
#line 2491 "list.m"
  MR_Box mercury__list__map6_8_p_3_env_0__H6_23;
#line 2491 "list.m"
  MR_Word mercury__list__map6_8_p_3_env_0__T6_24;
#line 569 "list.m"
};

#line 552 "list.m"
struct mercury__list__map5_7_p_4_env_0_s {
#line 552 "list.m"
  MR_Word mercury__list__map5_7_p_4_env_0__TypeInfo_for_A_22;
#line 552 "list.m"
  MR_Word mercury__list__map5_7_p_4_env_0__TypeInfo_for_B_23;
#line 552 "list.m"
  MR_Word mercury__list__map5_7_p_4_env_0__TypeInfo_for_C_24;
#line 552 "list.m"
  MR_Word mercury__list__map5_7_p_4_env_0__TypeInfo_for_D_25;
#line 552 "list.m"
  MR_Word mercury__list__map5_7_p_4_env_0__TypeInfo_for_E_26;
#line 552 "list.m"
  MR_Word mercury__list__map5_7_p_4_env_0__TypeInfo_for_F_27;
#line 552 "list.m"
  MR_Word mercury__list__map5_7_p_4_env_0__P_1;
#line 552 "list.m"
  MR_Word * mercury__list__map5_7_p_4_env_0__HeadVar__3_3;
#line 552 "list.m"
  MR_Word * mercury__list__map5_7_p_4_env_0__HeadVar__4_4;
#line 552 "list.m"
  MR_Word * mercury__list__map5_7_p_4_env_0__HeadVar__5_5;
#line 552 "list.m"
  MR_Word * mercury__list__map5_7_p_4_env_0__HeadVar__6_6;
#line 552 "list.m"
  MR_Word * mercury__list__map5_7_p_4_env_0__HeadVar__7_7;
#line 552 "list.m"
  MR_Cont mercury__list__map5_7_p_4_env_0__cont;
#line 552 "list.m"
  void * mercury__list__map5_7_p_4_env_0__cont_env_ptr;
#line 2485 "list.m"
  MR_Word mercury__list__map5_7_p_4_env_0__T0_11;
#line 2485 "list.m"
  MR_Box mercury__list__map5_7_p_4_env_0__H1_12;
#line 2485 "list.m"
  MR_Word mercury__list__map5_7_p_4_env_0__T1_13;
#line 2485 "list.m"
  MR_Box mercury__list__map5_7_p_4_env_0__H2_14;
#line 2485 "list.m"
  MR_Word mercury__list__map5_7_p_4_env_0__T2_15;
#line 2485 "list.m"
  MR_Box mercury__list__map5_7_p_4_env_0__H3_16;
#line 2485 "list.m"
  MR_Word mercury__list__map5_7_p_4_env_0__T3_17;
#line 2485 "list.m"
  MR_Box mercury__list__map5_7_p_4_env_0__H4_18;
#line 2485 "list.m"
  MR_Word mercury__list__map5_7_p_4_env_0__T4_19;
#line 2485 "list.m"
  MR_Box mercury__list__map5_7_p_4_env_0__H5_20;
#line 2485 "list.m"
  MR_Word mercury__list__map5_7_p_4_env_0__T5_21;
#line 552 "list.m"
};

#line 550 "list.m"
struct mercury__list__map5_7_p_3_env_0_s {
#line 550 "list.m"
  MR_Word mercury__list__map5_7_p_3_env_0__TypeInfo_for_A_22;
#line 550 "list.m"
  MR_Word mercury__list__map5_7_p_3_env_0__TypeInfo_for_B_23;
#line 550 "list.m"
  MR_Word mercury__list__map5_7_p_3_env_0__TypeInfo_for_C_24;
#line 550 "list.m"
  MR_Word mercury__list__map5_7_p_3_env_0__TypeInfo_for_D_25;
#line 550 "list.m"
  MR_Word mercury__list__map5_7_p_3_env_0__TypeInfo_for_E_26;
#line 550 "list.m"
  MR_Word mercury__list__map5_7_p_3_env_0__TypeInfo_for_F_27;
#line 550 "list.m"
  MR_Word mercury__list__map5_7_p_3_env_0__P_1;
#line 550 "list.m"
  MR_Word * mercury__list__map5_7_p_3_env_0__HeadVar__3_3;
#line 550 "list.m"
  MR_Word * mercury__list__map5_7_p_3_env_0__HeadVar__4_4;
#line 550 "list.m"
  MR_Word * mercury__list__map5_7_p_3_env_0__HeadVar__5_5;
#line 550 "list.m"
  MR_Word * mercury__list__map5_7_p_3_env_0__HeadVar__6_6;
#line 550 "list.m"
  MR_Word * mercury__list__map5_7_p_3_env_0__HeadVar__7_7;
#line 550 "list.m"
  MR_Cont mercury__list__map5_7_p_3_env_0__cont;
#line 550 "list.m"
  void * mercury__list__map5_7_p_3_env_0__cont_env_ptr;
#line 2485 "list.m"
  MR_Word mercury__list__map5_7_p_3_env_0__T0_11;
#line 2485 "list.m"
  MR_Box mercury__list__map5_7_p_3_env_0__H1_12;
#line 2485 "list.m"
  MR_Word mercury__list__map5_7_p_3_env_0__T1_13;
#line 2485 "list.m"
  MR_Box mercury__list__map5_7_p_3_env_0__H2_14;
#line 2485 "list.m"
  MR_Word mercury__list__map5_7_p_3_env_0__T2_15;
#line 2485 "list.m"
  MR_Box mercury__list__map5_7_p_3_env_0__H3_16;
#line 2485 "list.m"
  MR_Word mercury__list__map5_7_p_3_env_0__T3_17;
#line 2485 "list.m"
  MR_Box mercury__list__map5_7_p_3_env_0__H4_18;
#line 2485 "list.m"
  MR_Word mercury__list__map5_7_p_3_env_0__T4_19;
#line 2485 "list.m"
  MR_Box mercury__list__map5_7_p_3_env_0__H5_20;
#line 2485 "list.m"
  MR_Word mercury__list__map5_7_p_3_env_0__T5_21;
#line 550 "list.m"
};

#line 533 "list.m"
struct mercury__list__map4_6_p_4_env_0_s {
#line 533 "list.m"
  MR_Word mercury__list__map4_6_p_4_env_0__TypeInfo_for_A_19;
#line 533 "list.m"
  MR_Word mercury__list__map4_6_p_4_env_0__TypeInfo_for_B_20;
#line 533 "list.m"
  MR_Word mercury__list__map4_6_p_4_env_0__TypeInfo_for_C_21;
#line 533 "list.m"
  MR_Word mercury__list__map4_6_p_4_env_0__TypeInfo_for_D_22;
#line 533 "list.m"
  MR_Word mercury__list__map4_6_p_4_env_0__TypeInfo_for_E_23;
#line 533 "list.m"
  MR_Word mercury__list__map4_6_p_4_env_0__P_1;
#line 533 "list.m"
  MR_Word * mercury__list__map4_6_p_4_env_0__HeadVar__3_3;
#line 533 "list.m"
  MR_Word * mercury__list__map4_6_p_4_env_0__HeadVar__4_4;
#line 533 "list.m"
  MR_Word * mercury__list__map4_6_p_4_env_0__HeadVar__5_5;
#line 533 "list.m"
  MR_Word * mercury__list__map4_6_p_4_env_0__HeadVar__6_6;
#line 533 "list.m"
  MR_Cont mercury__list__map4_6_p_4_env_0__cont;
#line 533 "list.m"
  void * mercury__list__map4_6_p_4_env_0__cont_env_ptr;
#line 2479 "list.m"
  MR_Word mercury__list__map4_6_p_4_env_0__T0_10;
#line 2479 "list.m"
  MR_Box mercury__list__map4_6_p_4_env_0__H1_11;
#line 2479 "list.m"
  MR_Word mercury__list__map4_6_p_4_env_0__T1_12;
#line 2479 "list.m"
  MR_Box mercury__list__map4_6_p_4_env_0__H2_13;
#line 2479 "list.m"
  MR_Word mercury__list__map4_6_p_4_env_0__T2_14;
#line 2479 "list.m"
  MR_Box mercury__list__map4_6_p_4_env_0__H3_15;
#line 2479 "list.m"
  MR_Word mercury__list__map4_6_p_4_env_0__T3_16;
#line 2479 "list.m"
  MR_Box mercury__list__map4_6_p_4_env_0__H4_17;
#line 2479 "list.m"
  MR_Word mercury__list__map4_6_p_4_env_0__T4_18;
#line 533 "list.m"
};

#line 531 "list.m"
struct mercury__list__map4_6_p_3_env_0_s {
#line 531 "list.m"
  MR_Word mercury__list__map4_6_p_3_env_0__TypeInfo_for_A_19;
#line 531 "list.m"
  MR_Word mercury__list__map4_6_p_3_env_0__TypeInfo_for_B_20;
#line 531 "list.m"
  MR_Word mercury__list__map4_6_p_3_env_0__TypeInfo_for_C_21;
#line 531 "list.m"
  MR_Word mercury__list__map4_6_p_3_env_0__TypeInfo_for_D_22;
#line 531 "list.m"
  MR_Word mercury__list__map4_6_p_3_env_0__TypeInfo_for_E_23;
#line 531 "list.m"
  MR_Word mercury__list__map4_6_p_3_env_0__P_1;
#line 531 "list.m"
  MR_Word * mercury__list__map4_6_p_3_env_0__HeadVar__3_3;
#line 531 "list.m"
  MR_Word * mercury__list__map4_6_p_3_env_0__HeadVar__4_4;
#line 531 "list.m"
  MR_Word * mercury__list__map4_6_p_3_env_0__HeadVar__5_5;
#line 531 "list.m"
  MR_Word * mercury__list__map4_6_p_3_env_0__HeadVar__6_6;
#line 531 "list.m"
  MR_Cont mercury__list__map4_6_p_3_env_0__cont;
#line 531 "list.m"
  void * mercury__list__map4_6_p_3_env_0__cont_env_ptr;
#line 2479 "list.m"
  MR_Word mercury__list__map4_6_p_3_env_0__T0_10;
#line 2479 "list.m"
  MR_Box mercury__list__map4_6_p_3_env_0__H1_11;
#line 2479 "list.m"
  MR_Word mercury__list__map4_6_p_3_env_0__T1_12;
#line 2479 "list.m"
  MR_Box mercury__list__map4_6_p_3_env_0__H2_13;
#line 2479 "list.m"
  MR_Word mercury__list__map4_6_p_3_env_0__T2_14;
#line 2479 "list.m"
  MR_Box mercury__list__map4_6_p_3_env_0__H3_15;
#line 2479 "list.m"
  MR_Word mercury__list__map4_6_p_3_env_0__T3_16;
#line 2479 "list.m"
  MR_Box mercury__list__map4_6_p_3_env_0__H4_17;
#line 2479 "list.m"
  MR_Word mercury__list__map4_6_p_3_env_0__T4_18;
#line 531 "list.m"
};

#line 516 "list.m"
struct mercury__list__map3_5_p_4_env_0_s {
#line 516 "list.m"
  MR_Word mercury__list__map3_5_p_4_env_0__TypeInfo_for_A_16;
#line 516 "list.m"
  MR_Word mercury__list__map3_5_p_4_env_0__TypeInfo_for_B_17;
#line 516 "list.m"
  MR_Word mercury__list__map3_5_p_4_env_0__TypeInfo_for_C_18;
#line 516 "list.m"
  MR_Word mercury__list__map3_5_p_4_env_0__TypeInfo_for_D_19;
#line 516 "list.m"
  MR_Word mercury__list__map3_5_p_4_env_0__P_1;
#line 516 "list.m"
  MR_Word * mercury__list__map3_5_p_4_env_0__HeadVar__3_3;
#line 516 "list.m"
  MR_Word * mercury__list__map3_5_p_4_env_0__HeadVar__4_4;
#line 516 "list.m"
  MR_Word * mercury__list__map3_5_p_4_env_0__HeadVar__5_5;
#line 516 "list.m"
  MR_Cont mercury__list__map3_5_p_4_env_0__cont;
#line 516 "list.m"
  void * mercury__list__map3_5_p_4_env_0__cont_env_ptr;
#line 2474 "list.m"
  MR_Word mercury__list__map3_5_p_4_env_0__T0_9;
#line 2474 "list.m"
  MR_Box mercury__list__map3_5_p_4_env_0__H1_10;
#line 2474 "list.m"
  MR_Word mercury__list__map3_5_p_4_env_0__T1_11;
#line 2474 "list.m"
  MR_Box mercury__list__map3_5_p_4_env_0__H2_12;
#line 2474 "list.m"
  MR_Word mercury__list__map3_5_p_4_env_0__T2_13;
#line 2474 "list.m"
  MR_Box mercury__list__map3_5_p_4_env_0__H3_14;
#line 2474 "list.m"
  MR_Word mercury__list__map3_5_p_4_env_0__T3_15;
#line 516 "list.m"
};

#line 514 "list.m"
struct mercury__list__map3_5_p_3_env_0_s {
#line 514 "list.m"
  MR_Word mercury__list__map3_5_p_3_env_0__TypeInfo_for_A_16;
#line 514 "list.m"
  MR_Word mercury__list__map3_5_p_3_env_0__TypeInfo_for_B_17;
#line 514 "list.m"
  MR_Word mercury__list__map3_5_p_3_env_0__TypeInfo_for_C_18;
#line 514 "list.m"
  MR_Word mercury__list__map3_5_p_3_env_0__TypeInfo_for_D_19;
#line 514 "list.m"
  MR_Word mercury__list__map3_5_p_3_env_0__P_1;
#line 514 "list.m"
  MR_Word * mercury__list__map3_5_p_3_env_0__HeadVar__3_3;
#line 514 "list.m"
  MR_Word * mercury__list__map3_5_p_3_env_0__HeadVar__4_4;
#line 514 "list.m"
  MR_Word * mercury__list__map3_5_p_3_env_0__HeadVar__5_5;
#line 514 "list.m"
  MR_Cont mercury__list__map3_5_p_3_env_0__cont;
#line 514 "list.m"
  void * mercury__list__map3_5_p_3_env_0__cont_env_ptr;
#line 2474 "list.m"
  MR_Word mercury__list__map3_5_p_3_env_0__T0_9;
#line 2474 "list.m"
  MR_Box mercury__list__map3_5_p_3_env_0__H1_10;
#line 2474 "list.m"
  MR_Word mercury__list__map3_5_p_3_env_0__T1_11;
#line 2474 "list.m"
  MR_Box mercury__list__map3_5_p_3_env_0__H2_12;
#line 2474 "list.m"
  MR_Word mercury__list__map3_5_p_3_env_0__T2_13;
#line 2474 "list.m"
  MR_Box mercury__list__map3_5_p_3_env_0__H3_14;
#line 2474 "list.m"
  MR_Word mercury__list__map3_5_p_3_env_0__T3_15;
#line 514 "list.m"
};

#line 502 "list.m"
struct mercury__list__map2_4_p_4_env_0_s {
#line 502 "list.m"
  MR_Word mercury__list__map2_4_p_4_env_0__TypeInfo_for_A_13;
#line 502 "list.m"
  MR_Word mercury__list__map2_4_p_4_env_0__TypeInfo_for_B_14;
#line 502 "list.m"
  MR_Word mercury__list__map2_4_p_4_env_0__TypeInfo_for_C_15;
#line 502 "list.m"
  MR_Word mercury__list__map2_4_p_4_env_0__P_1;
#line 502 "list.m"
  MR_Word * mercury__list__map2_4_p_4_env_0__HeadVar__3_3;
#line 502 "list.m"
  MR_Word * mercury__list__map2_4_p_4_env_0__HeadVar__4_4;
#line 502 "list.m"
  MR_Cont mercury__list__map2_4_p_4_env_0__cont;
#line 502 "list.m"
  void * mercury__list__map2_4_p_4_env_0__cont_env_ptr;
#line 2469 "list.m"
  MR_Word mercury__list__map2_4_p_4_env_0__T0_8;
#line 2469 "list.m"
  MR_Box mercury__list__map2_4_p_4_env_0__H1_9;
#line 2469 "list.m"
  MR_Word mercury__list__map2_4_p_4_env_0__T1_10;
#line 2469 "list.m"
  MR_Box mercury__list__map2_4_p_4_env_0__H2_11;
#line 2469 "list.m"
  MR_Word mercury__list__map2_4_p_4_env_0__T2_12;
#line 502 "list.m"
};

#line 501 "list.m"
struct mercury__list__map2_4_p_3_env_0_s {
#line 501 "list.m"
  MR_Word mercury__list__map2_4_p_3_env_0__TypeInfo_for_A_13;
#line 501 "list.m"
  MR_Word mercury__list__map2_4_p_3_env_0__TypeInfo_for_B_14;
#line 501 "list.m"
  MR_Word mercury__list__map2_4_p_3_env_0__TypeInfo_for_C_15;
#line 501 "list.m"
  MR_Word mercury__list__map2_4_p_3_env_0__P_1;
#line 501 "list.m"
  MR_Word * mercury__list__map2_4_p_3_env_0__HeadVar__3_3;
#line 501 "list.m"
  MR_Word * mercury__list__map2_4_p_3_env_0__HeadVar__4_4;
#line 501 "list.m"
  MR_Cont mercury__list__map2_4_p_3_env_0__cont;
#line 501 "list.m"
  void * mercury__list__map2_4_p_3_env_0__cont_env_ptr;
#line 2469 "list.m"
  MR_Word mercury__list__map2_4_p_3_env_0__T0_8;
#line 2469 "list.m"
  MR_Box mercury__list__map2_4_p_3_env_0__H1_9;
#line 2469 "list.m"
  MR_Word mercury__list__map2_4_p_3_env_0__T1_10;
#line 2469 "list.m"
  MR_Box mercury__list__map2_4_p_3_env_0__H2_11;
#line 2469 "list.m"
  MR_Word mercury__list__map2_4_p_3_env_0__T2_12;
#line 501 "list.m"
};

#line 489 "list.m"
struct mercury__list__map_3_p_4_env_0_s {
#line 489 "list.m"
  MR_Word mercury__list__map_3_p_4_env_0__TypeInfo_for_X_10;
#line 489 "list.m"
  MR_Word mercury__list__map_3_p_4_env_0__TypeInfo_for_Y_11;
#line 489 "list.m"
  MR_Word mercury__list__map_3_p_4_env_0__P_1;
#line 489 "list.m"
  MR_Word * mercury__list__map_3_p_4_env_0__HeadVar__3_3;
#line 489 "list.m"
  MR_Cont mercury__list__map_3_p_4_env_0__cont;
#line 489 "list.m"
  void * mercury__list__map_3_p_4_env_0__cont_env_ptr;
#line 2464 "list.m"
  MR_Word mercury__list__map_3_p_4_env_0__T0_7;
#line 2464 "list.m"
  MR_Box mercury__list__map_3_p_4_env_0__H_8;
#line 2464 "list.m"
  MR_Word mercury__list__map_3_p_4_env_0__T_9;
#line 489 "list.m"
};

#line 488 "list.m"
struct mercury__list__map_3_p_3_env_0_s {
#line 488 "list.m"
  MR_Word mercury__list__map_3_p_3_env_0__TypeInfo_for_X_10;
#line 488 "list.m"
  MR_Word mercury__list__map_3_p_3_env_0__TypeInfo_for_Y_11;
#line 488 "list.m"
  MR_Word mercury__list__map_3_p_3_env_0__P_1;
#line 488 "list.m"
  MR_Word * mercury__list__map_3_p_3_env_0__HeadVar__3_3;
#line 488 "list.m"
  MR_Cont mercury__list__map_3_p_3_env_0__cont;
#line 488 "list.m"
  void * mercury__list__map_3_p_3_env_0__cont_env_ptr;
#line 2464 "list.m"
  MR_Word mercury__list__map_3_p_3_env_0__T0_7;
#line 2464 "list.m"
  MR_Box mercury__list__map_3_p_3_env_0__H_8;
#line 2464 "list.m"
  MR_Word mercury__list__map_3_p_3_env_0__T_9;
#line 488 "list.m"
};

#line 365 "list.m"
struct mercury__list__perm_2_p_0_env_0_s {
#line 365 "list.m"
  MR_Word mercury__list__perm_2_p_0_env_0__TypeInfo_for_T_7;
#line 365 "list.m"
  MR_Word * mercury__list__perm_2_p_0_env_0__HeadVar__2_2;
#line 365 "list.m"
  MR_Cont mercury__list__perm_2_p_0_env_0__cont;
#line 365 "list.m"
  void * mercury__list__perm_2_p_0_env_0__cont_env_ptr;
#line 2365 "list.m"
  MR_Box mercury__list__perm_2_p_0_env_0__X_3;
#line 2365 "list.m"
  MR_Word mercury__list__perm_2_p_0_env_0__Ys0_6;
#line 365 "list.m"
};

#line 305 "list.m"
struct mercury__list__replace_4_p_1_env_0_s {
#line 305 "list.m"
  MR_Word * mercury__list__replace_4_p_1_env_0__HeadVar__4_4;
#line 305 "list.m"
  MR_Cont mercury__list__replace_4_p_1_env_0__cont;
#line 305 "list.m"
  void * mercury__list__replace_4_p_1_env_0__cont_env_ptr;
#line 1956 "list.m"
  MR_Box mercury__list__replace_4_p_1_env_0__V_15_15;
#line 1957 "list.m"
  MR_Word mercury__list__replace_4_p_1_env_0__L_12;
#line 305 "list.m"
};

#line 278 "list.m"
struct mercury__list__delete_3_p_3_env_0_s {
#line 278 "list.m"
  MR_Word * mercury__list__delete_3_p_3_env_0__HeadVar__1_1;
#line 278 "list.m"
  MR_Cont mercury__list__delete_3_p_3_env_0__cont;
#line 278 "list.m"
  void * mercury__list__delete_3_p_3_env_0__cont_env_ptr;
#line 1923 "list.m"
  MR_Box mercury__list__delete_3_p_3_env_0__X_6;
#line 1923 "list.m"
  MR_Word mercury__list__delete_3_p_3_env_0__Xs_7;
#line 278 "list.m"
};

#line 277 "list.m"
struct mercury__list__delete_3_p_2_env_0_s {
#line 277 "list.m"
  MR_Word * mercury__list__delete_3_p_2_env_0__HeadVar__3_3;
#line 277 "list.m"
  MR_Cont mercury__list__delete_3_p_2_env_0__cont;
#line 277 "list.m"
  void * mercury__list__delete_3_p_2_env_0__cont_env_ptr;
#line 1922 "list.m"
  MR_Box mercury__list__delete_3_p_2_env_0__V_12_12;
#line 1923 "list.m"
  MR_Word mercury__list__delete_3_p_2_env_0__L_9;
#line 277 "list.m"
};

#line 276 "list.m"
struct mercury__list__delete_3_p_1_env_0_s {
#line 276 "list.m"
  MR_Word * mercury__list__delete_3_p_1_env_0__HeadVar__3_3;
#line 276 "list.m"
  MR_Cont mercury__list__delete_3_p_1_env_0__cont;
#line 276 "list.m"
  void * mercury__list__delete_3_p_1_env_0__cont_env_ptr;
#line 1922 "list.m"
  MR_Box mercury__list__delete_3_p_1_env_0__V_12_12;
#line 1923 "list.m"
  MR_Word mercury__list__delete_3_p_1_env_0__L_9;
#line 276 "list.m"
};

#line 158 "list.m"
struct mercury__list__member_index0_3_p_2_env_0_s {
#line 158 "list.m"
  MR_Integer * mercury__list__member_index0_3_p_2_env_0__HeadVar__3_3;
#line 158 "list.m"
  MR_Cont mercury__list__member_index0_3_p_2_env_0__cont;
#line 158 "list.m"
  void * mercury__list__member_index0_3_p_2_env_0__cont_env_ptr;
#line 2025 "list.m"
  MR_Integer mercury__list__member_index0_3_p_2_env_0__Index_9;
#line 158 "list.m"
};

#line 157 "list.m"
struct mercury__list__member_index0_3_p_1_env_0_s {
#line 157 "list.m"
  MR_Integer * mercury__list__member_index0_3_p_1_env_0__HeadVar__3_3;
#line 157 "list.m"
  MR_Cont mercury__list__member_index0_3_p_1_env_0__cont;
#line 157 "list.m"
  void * mercury__list__member_index0_3_p_1_env_0__cont_env_ptr;
#line 2025 "list.m"
  MR_Integer mercury__list__member_index0_3_p_1_env_0__Index_9;
#line 157 "list.m"
};

#line 149 "list.m"
struct mercury__list__member_3_p_0_env_0_s {
#line 149 "list.m"
  MR_Box * mercury__list__member_3_p_0_env_0__Element_4;
#line 149 "list.m"
  MR_Word * mercury__list__member_3_p_0_env_0__SubList_6;
#line 149 "list.m"
  MR_Cont mercury__list__member_3_p_0_env_0__cont;
#line 149 "list.m"
  void * mercury__list__member_3_p_0_env_0__cont_env_ptr;
#line 2020 "list.m"
  MR_bool mercury__list__member_3_p_0_env_0__succeeded;
#line 149 "list.m"
};

#line 69 "list.m"
struct mercury__list__append_3_p_4_env_0_s {
#line 69 "list.m"
  MR_Word * mercury__list__append_3_p_4_env_0__HeadVar__1_1;
#line 69 "list.m"
  MR_Cont mercury__list__append_3_p_4_env_0__cont;
#line 69 "list.m"
  void * mercury__list__append_3_p_4_env_0__cont_env_ptr;
#line 1800 "list.m"
  MR_Box mercury__list__append_3_p_4_env_0__X_5;
#line 1800 "list.m"
  MR_Word mercury__list__append_3_p_4_env_0__Xs_6;
#line 69 "list.m"
};


#line 2453 "list.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__list__list__pti_list_1__pseudo_1;

#line 2456 "list.c"
static const MR_DuFunctorDesc mercury__list__list__du_functor_desc_list_1_0;

#line 2459 "list.c"
static const MR_PseudoTypeInfo mercury__list__list__field_types_list_1_1[2];

#line 2462 "list.c"
static const MR_DuFunctorDesc mercury__list__list__du_functor_desc_list_1_1;

#line 2465 "list.c"
static const MR_DuFunctorDescPtr mercury__list__list__du_stag_ordered_list_1_0[1];

#line 2468 "list.c"
static const MR_DuFunctorDescPtr mercury__list__list__du_stag_ordered_list_1_1[1];

#line 2471 "list.c"
static const MR_DuPtagLayout mercury__list__list__du_ptag_ordered_list_1[2];

#line 2474 "list.c"
static const MR_DuFunctorDescPtr mercury__list__list__du_name_ordered_list_1[2];

#line 2477 "list.c"
static const MR_Integer mercury__list__list__functor_number_map_list_1[2];

#line 2480 "list.c"
static MR_bool MR_CALL 
mercury__list____Unify____list_1_0_10001(
#line 2483 "list.c"
  MR_Box mercury__list__wrapper_arg_1,
#line 2485 "list.c"
  MR_Box mercury__list__wrapper_arg_2,
#line 2487 "list.c"
  MR_Box mercury__list__wrapper_arg_3);

#line 2490 "list.c"
static void MR_CALL 
mercury__list____Compare____list_1_0_10001(
#line 2493 "list.c"
  MR_Box mercury__list__wrapper_arg_1,
#line 2495 "list.c"
  MR_Box * mercury__list__wrapper_arg_2,
#line 2497 "list.c"
  MR_Box mercury__list__wrapper_arg_3,
#line 2499 "list.c"
  MR_Box mercury__list__wrapper_arg_4);

#line 1657 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_101_114_103_101_95_95_104_111_49_50_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_0(
#line 1657 "list.m"
  MR_Word mercury__list__V_28_28,
#line 1657 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1657 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1657 "list.m"
  MR_Word * mercury__list__HeadVar__4_4);

#line 3038 "list.m"
static MR_bool MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_111_115_111_114_116_95_95_104_111_49_49_95_95_91_49_44_32_51_44_32_52_93_95_48_5_p_0(
#line 3038 "list.m"
  MR_Word mercury__list__V_32_32,
#line 3038 "list.m"
  MR_Integer mercury__list__N_7,
#line 3038 "list.m"
  MR_Word mercury__list__L0_8,
#line 3038 "list.m"
  MR_Word * mercury__list__L_9,
#line 3038 "list.m"
  MR_Word * mercury__list__Rest_10);

#line 747 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_95_95_91_49_44_32_50_44_32_52_44_32_53_44_32_54_93_95_48_4_p_0(
#line 747 "list.m"
  MR_Word mercury__list__V_21_21,
#line 747 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 747 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 747 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4);

#line 929 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_114_95_95_104_111_57_95_95_91_49_44_32_50_44_32_52_44_32_53_44_32_54_93_95_48_4_p_0(
#line 929 "list.m"
  MR_Word mercury__list__V_21_21,
#line 929 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 929 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 929 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4);

#line 1567 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_105_108_116_101_114_95_109_97_112_95_95_104_111_56_95_95_91_49_44_32_50_44_32_52_44_32_53_44_32_54_93_95_48_3_p_0(
#line 1567 "list.m"
  MR_Word mercury__list__V_15_15,
#line 1567 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1567 "list.m"
  MR_Word * mercury__list__HeadVar__3_3);

#line 1657 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_101_114_103_101_95_95_104_111_54_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_0(
#line 1657 "list.m"
  MR_Word mercury__list__V_28_28,
#line 1657 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1657 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1657 "list.m"
  MR_Word * mercury__list__HeadVar__4_4);

#line 1670 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_101_114_103_101_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_104_111_53_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_0(
#line 1670 "list.m"
  MR_Word mercury__list__V_28_28,
#line 1670 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1670 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1670 "list.m"
  MR_Word * mercury__list__HeadVar__4_4);

#line 13 "ops.opt"
static MR_Integer MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_111_112_115_95_95_111_112_95_116_97_98_108_101_95_95_95_95_111_112_115_95_95_109_101_114_99_117_114_121_95_111_112_95_116_97_98_108_101_95_95_97_114_105_116_121_48_95_95_95_95_95_95_111_112_115_95_95_109_97_120_95_112_114_105_111_114_105_116_121_95_49_95_95_91_49_93_95_48_1_f_in__ops_0(void);

#line 3111 "list.m"
static MR_Word MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_101_109_112_116_121_95_108_105_115_116_95_95_91_49_93_95_48_0_f_0(void);

#line 2445 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_101_116_95_115_112_108_105_116_95_108_97_115_116_95_50_95_95_91_49_93_95_48_4_p_0(
#line 2445 "list.m"
  MR_Box mercury__list__H_5,
#line 2445 "list.m"
  MR_Word mercury__list__T_6,
#line 2445 "list.m"
  MR_Word * mercury__list__AllButLast_7,
#line 2445 "list.m"
  MR_Box * mercury__list__Last_8);

#line 2410 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_101_116_95_108_97_115_116_95_50_95_95_91_49_93_95_48_3_p_0(
#line 2410 "list.m"
  MR_Box mercury__list__H_4,
#line 2410 "list.m"
  MR_Word mercury__list__T_5,
#line 2410 "list.m"
  MR_Box * mercury__list__Last_6);

#line 2231 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_122_105_112_50_95_95_91_49_93_95_48_3_p_0(
#line 2231 "list.m"
  MR_Word mercury__list__As_1,
#line 2231 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 2231 "list.m"
  MR_Word * mercury__list__HeadVar__3_3);

#line 2112 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_114_101_118_101_114_115_101_95_50_95_95_91_49_93_95_48_3_p_0(
#line 2112 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 2112 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 2112 "list.m"
  MR_Word * mercury__list__L_3);

#line 3195 "list.m"
static MR_Box MR_CALL 
mercury__list__list_to_doc_2_1_f_0_1(
#line 3195 "list.m"
  MR_Box mercury__list__closure_arg);

#line 3183 "list.m"
static MR_Word MR_CALL 
mercury__list__list_to_doc_2_1_f_0(
#line 3183 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_26,
#line 3183 "list.m"
  MR_Word mercury__list__HeadVar__1_1);

#line 3111 "list.m"
static MR_Word MR_CALL 
mercury__list__empty_list_0_f_0(
#line 3111 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_2);

#line 2822 "list.m"
static void MR_CALL 
mercury__list__map4_foldl_8_p_7_2(
#line 2822 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2822 "list.m"
static void MR_CALL 
mercury__list__map4_foldl_8_p_7_1(
#line 2822 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2822 "list.m"
static void MR_CALL 
mercury__list__map4_foldl_8_p_6_2(
#line 2822 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2822 "list.m"
static void MR_CALL 
mercury__list__map4_foldl_8_p_6_1(
#line 2822 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2817 "list.m"
static void MR_CALL 
mercury__list__map3_foldl2_9_p_5_2(
#line 2817 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2817 "list.m"
static void MR_CALL 
mercury__list__map3_foldl2_9_p_5_1(
#line 2817 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2812 "list.m"
static void MR_CALL 
mercury__list__map3_foldl_7_p_7_2(
#line 2812 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2812 "list.m"
static void MR_CALL 
mercury__list__map3_foldl_7_p_7_1(
#line 2812 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2812 "list.m"
static void MR_CALL 
mercury__list__map3_foldl_7_p_6_2(
#line 2812 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2812 "list.m"
static void MR_CALL 
mercury__list__map3_foldl_7_p_6_1(
#line 2812 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2807 "list.m"
static void MR_CALL 
mercury__list__map2_foldl4_12_p_5_2(
#line 2807 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2807 "list.m"
static void MR_CALL 
mercury__list__map2_foldl4_12_p_5_1(
#line 2807 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2802 "list.m"
static void MR_CALL 
mercury__list__map2_foldl3_10_p_5_2(
#line 2802 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2802 "list.m"
static void MR_CALL 
mercury__list__map2_foldl3_10_p_5_1(
#line 2802 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2797 "list.m"
static void MR_CALL 
mercury__list__map2_foldl2_8_p_5_2(
#line 2797 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2797 "list.m"
static void MR_CALL 
mercury__list__map2_foldl2_8_p_5_1(
#line 2797 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2792 "list.m"
static void MR_CALL 
mercury__list__map2_foldl_6_p_7_2(
#line 2792 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2792 "list.m"
static void MR_CALL 
mercury__list__map2_foldl_6_p_7_1(
#line 2792 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2792 "list.m"
static void MR_CALL 
mercury__list__map2_foldl_6_p_6_2(
#line 2792 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2792 "list.m"
static void MR_CALL 
mercury__list__map2_foldl_6_p_6_1(
#line 2792 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2787 "list.m"
static void MR_CALL 
mercury__list__map_foldl6_15_p_5_2(
#line 2787 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2787 "list.m"
static void MR_CALL 
mercury__list__map_foldl6_15_p_5_1(
#line 2787 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2782 "list.m"
static void MR_CALL 
mercury__list__map_foldl5_13_p_5_2(
#line 2782 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2782 "list.m"
static void MR_CALL 
mercury__list__map_foldl5_13_p_5_1(
#line 2782 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2777 "list.m"
static void MR_CALL 
mercury__list__map_foldl4_11_p_5_2(
#line 2777 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2777 "list.m"
static void MR_CALL 
mercury__list__map_foldl4_11_p_5_1(
#line 2777 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2772 "list.m"
static void MR_CALL 
mercury__list__map_foldl3_9_p_5_2(
#line 2772 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2772 "list.m"
static void MR_CALL 
mercury__list__map_foldl3_9_p_5_1(
#line 2772 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2767 "list.m"
static void MR_CALL 
mercury__list__map_foldl2_7_p_10_2(
#line 2767 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2767 "list.m"
static void MR_CALL 
mercury__list__map_foldl2_7_p_10_1(
#line 2767 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2762 "list.m"
static void MR_CALL 
mercury__list__map_foldl_5_p_8_2(
#line 2762 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2762 "list.m"
static void MR_CALL 
mercury__list__map_foldl_5_p_8_1(
#line 2762 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2762 "list.m"
static void MR_CALL 
mercury__list__map_foldl_5_p_7_2(
#line 2762 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2762 "list.m"
static void MR_CALL 
mercury__list__map_foldl_5_p_7_1(
#line 2762 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2677 "list.m"
static void MR_CALL 
mercury__list__foldl2_corresponding_7_p_7_1(
#line 2677 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2677 "list.m"
static void MR_CALL 
mercury__list__foldl2_corresponding_7_p_6_1(
#line 2677 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2659 "list.m"
static void MR_CALL 
mercury__list__foldl_corresponding_5_p_7_1(
#line 2659 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2659 "list.m"
static void MR_CALL 
mercury__list__foldl_corresponding_5_p_6_1(
#line 2659 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2855 "list.m"
static void MR_CALL 
mercury__list__foldr3_8_p_7_1(
#line 2855 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2855 "list.m"
static void MR_CALL 
mercury__list__foldr3_8_p_6_1(
#line 2855 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2850 "list.m"
static void MR_CALL 
mercury__list__foldr2_6_p_7_1(
#line 2850 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2850 "list.m"
static void MR_CALL 
mercury__list__foldr2_6_p_6_1(
#line 2850 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2845 "list.m"
static void MR_CALL 
mercury__list__foldr_4_p_8_1(
#line 2845 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2845 "list.m"
static void MR_CALL 
mercury__list__foldr_4_p_7_1(
#line 2845 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2845 "list.m"
static void MR_CALL 
mercury__list__foldr_4_p_6_1(
#line 2845 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2650 "list.m"
static void MR_CALL 
mercury__list__foldl6_14_p_8_1(
#line 2650 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2645 "list.m"
static void MR_CALL 
mercury__list__foldl5_12_p_7_1(
#line 2645 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2645 "list.m"
static void MR_CALL 
mercury__list__foldl5_12_p_6_1(
#line 2645 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2640 "list.m"
static void MR_CALL 
mercury__list__foldl4_10_p_9_1(
#line 2640 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2640 "list.m"
static void MR_CALL 
mercury__list__foldl4_10_p_8_1(
#line 2640 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2635 "list.m"
static void MR_CALL 
mercury__list__foldl3_8_p_7_1(
#line 2635 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2635 "list.m"
static void MR_CALL 
mercury__list__foldl3_8_p_6_1(
#line 2635 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2630 "list.m"
static void MR_CALL 
mercury__list__foldl2_6_p_8_1(
#line 2630 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2630 "list.m"
static void MR_CALL 
mercury__list__foldl2_6_p_7_1(
#line 2630 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2625 "list.m"
static void MR_CALL 
mercury__list__foldl_4_p_8_1(
#line 2625 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2625 "list.m"
static void MR_CALL 
mercury__list__foldl_4_p_7_1(
#line 2625 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2625 "list.m"
static void MR_CALL 
mercury__list__foldl_4_p_6_1(
#line 2625 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2503 "list.m"
static void MR_CALL 
mercury__list__map8_10_p_4_2(
#line 2503 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2503 "list.m"
static void MR_CALL 
mercury__list__map8_10_p_4_1(
#line 2503 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2503 "list.m"
static void MR_CALL 
mercury__list__map8_10_p_3_2(
#line 2503 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2503 "list.m"
static void MR_CALL 
mercury__list__map8_10_p_3_1(
#line 2503 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2497 "list.m"
static void MR_CALL 
mercury__list__map7_9_p_4_2(
#line 2497 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2497 "list.m"
static void MR_CALL 
mercury__list__map7_9_p_4_1(
#line 2497 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2497 "list.m"
static void MR_CALL 
mercury__list__map7_9_p_3_2(
#line 2497 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2497 "list.m"
static void MR_CALL 
mercury__list__map7_9_p_3_1(
#line 2497 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2491 "list.m"
static void MR_CALL 
mercury__list__map6_8_p_4_2(
#line 2491 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2491 "list.m"
static void MR_CALL 
mercury__list__map6_8_p_4_1(
#line 2491 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2491 "list.m"
static void MR_CALL 
mercury__list__map6_8_p_3_2(
#line 2491 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2491 "list.m"
static void MR_CALL 
mercury__list__map6_8_p_3_1(
#line 2491 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2485 "list.m"
static void MR_CALL 
mercury__list__map5_7_p_4_2(
#line 2485 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2485 "list.m"
static void MR_CALL 
mercury__list__map5_7_p_4_1(
#line 2485 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2485 "list.m"
static void MR_CALL 
mercury__list__map5_7_p_3_2(
#line 2485 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2485 "list.m"
static void MR_CALL 
mercury__list__map5_7_p_3_1(
#line 2485 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2479 "list.m"
static void MR_CALL 
mercury__list__map4_6_p_4_2(
#line 2479 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2479 "list.m"
static void MR_CALL 
mercury__list__map4_6_p_4_1(
#line 2479 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2479 "list.m"
static void MR_CALL 
mercury__list__map4_6_p_3_2(
#line 2479 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2479 "list.m"
static void MR_CALL 
mercury__list__map4_6_p_3_1(
#line 2479 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2474 "list.m"
static void MR_CALL 
mercury__list__map3_5_p_4_2(
#line 2474 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2474 "list.m"
static void MR_CALL 
mercury__list__map3_5_p_4_1(
#line 2474 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2474 "list.m"
static void MR_CALL 
mercury__list__map3_5_p_3_2(
#line 2474 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2474 "list.m"
static void MR_CALL 
mercury__list__map3_5_p_3_1(
#line 2474 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2469 "list.m"
static void MR_CALL 
mercury__list__map2_4_p_4_2(
#line 2469 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2469 "list.m"
static void MR_CALL 
mercury__list__map2_4_p_4_1(
#line 2469 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2469 "list.m"
static void MR_CALL 
mercury__list__map2_4_p_3_2(
#line 2469 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2469 "list.m"
static void MR_CALL 
mercury__list__map2_4_p_3_1(
#line 2469 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2464 "list.m"
static void MR_CALL 
mercury__list__map_3_p_4_2(
#line 2464 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2464 "list.m"
static void MR_CALL 
mercury__list__map_3_p_4_1(
#line 2464 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2464 "list.m"
static void MR_CALL 
mercury__list__map_3_p_3_2(
#line 2464 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2464 "list.m"
static void MR_CALL 
mercury__list__map_3_p_3_1(
#line 2464 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2365 "list.m"
static void MR_CALL 
mercury__list__perm_2_p_0_1(
#line 2365 "list.m"
  void * mercury__list__env_ptr_arg);

#line 1957 "list.m"
static void MR_CALL 
mercury__list__replace_4_p_1_1(
#line 1957 "list.m"
  void * mercury__list__env_ptr_arg);

#line 1923 "list.m"
static void MR_CALL 
mercury__list__delete_3_p_3_1(
#line 1923 "list.m"
  void * mercury__list__env_ptr_arg);

#line 1923 "list.m"
static void MR_CALL 
mercury__list__delete_3_p_2_1(
#line 1923 "list.m"
  void * mercury__list__env_ptr_arg);

#line 1923 "list.m"
static void MR_CALL 
mercury__list__delete_3_p_1_1(
#line 1923 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2025 "list.m"
static void MR_CALL 
mercury__list__member_index0_3_p_2_1(
#line 2025 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2025 "list.m"
static void MR_CALL 
mercury__list__member_index0_3_p_1_1(
#line 2025 "list.m"
  void * mercury__list__env_ptr_arg);

#line 2020 "list.m"
static void MR_CALL 
mercury__list__member_3_p_0_1(
#line 2020 "list.m"
  void * mercury__list__env_ptr_arg);

#line 1800 "list.m"
static void MR_CALL 
mercury__list__append_3_p_4_1(
#line 1800 "list.m"
  void * mercury__list__env_ptr_arg);


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

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

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

static /* final */ const MR_Box mercury__list_scalar_common_4[11][2];

static /* final */ const MR_Box mercury__list_scalar_common_5[7][1];

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

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




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

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

static /* final */ const MR_Box mercury__list_scalar_common_3[2][5] = {
  /* row 0 */
  {
    ((MR_Box) (base_typeclass_info_stream__writer__arity3__io__output_stream__arity0__string__arity0__io__state__arity0__)),
    ((MR_Box) (&mercury__list_scalar_common_2[0])),
    ((MR_Box) (&mercury__io__io__type_ctor_info_output_stream_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0))
  },
  /* row 1 */
  {
    ((MR_Box) (base_typeclass_info_stream__writer__arity3__io__output_stream__arity0__character__arity0__io__state__arity0__)),
    ((MR_Box) (&mercury__list_scalar_common_2[0])),
    ((MR_Box) (&mercury__io__io__type_ctor_info_output_stream_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_character_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0))
  },
};

static /* final */ const MR_Box mercury__list_scalar_common_4[11][2] = {
  /* row 0 */
  {
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))
  },
  /* row 1 */
  {
    ((MR_Box) (MR_mkword(MR_mktag(1), &mercury__list_scalar_common_5[0]))),
    ((MR_Box) (MR_mkword(MR_mktag(1), &mercury__list_scalar_common_4[0])))
  },
  /* row 2 */
  {
    ((MR_Box) (MR_mkword(MR_mktag(1), &mercury__list_scalar_common_5[2]))),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))
  },
  /* row 3 */
  {
    ((MR_Box) (MR_Word) ((MR_Integer) 4)),
    ((MR_Box) (MR_mkword(MR_mktag(1), &mercury__list_scalar_common_5[3])))
  },
  /* row 4 */
  {
    ((MR_Box) (MR_Word) ((MR_Integer) 4)),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2))))
  },
  /* row 5 */
  {
    ((MR_Box) (MR_mkword(MR_mktag(3), &mercury__list_scalar_common_4[4]))),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))
  },
  /* row 6 */
  {
    ((MR_Box) (MR_Word) ((MR_Integer) 4)),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))
  },
  /* row 7 */
  {
    ((MR_Box) (MR_Word) ((MR_Integer) 4)),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1))))
  },
  /* row 8 */
  {
    ((MR_Box) (MR_mkword(MR_mktag(3), &mercury__list_scalar_common_4[7]))),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))
  },
  /* row 9 */
  {
    ((MR_Box) (MR_mkword(MR_mktag(2), &mercury__list_scalar_common_5[5]))),
    ((MR_Box) (MR_mkword(MR_mktag(1), &mercury__list_scalar_common_4[8])))
  },
  /* row 10 */
  {
    ((MR_Box) (MR_mkword(MR_mktag(3), &mercury__list_scalar_common_4[6]))),
    ((MR_Box) (MR_mkword(MR_mktag(1), &mercury__list_scalar_common_4[9])))
  },
};

static /* final */ const MR_Box mercury__list_scalar_common_5[7][1] = {
  /* row 0 */
  {
    ((MR_Box) ((MR_String) ", "))
  },
  /* row 1 */
  {
    ((MR_Box) ((MR_String) "["))
  },
  /* row 2 */
  {
    ((MR_Box) ((MR_String) "]"))
  },
  /* row 3 */
  {
    ((MR_Box) ((MR_String) " "))
  },
  /* row 4 */
  {
    ((MR_Box) ((MR_String) ""))
  },
  /* row 5 */
  {
    ((MR_Box) (MR_mkword(MR_mktag(1), &mercury__list_scalar_common_4[1])))
  },
  /* row 6 */
  {
    ((MR_Box) (MR_mkword(MR_mktag(1), &mercury__list_scalar_common_4[10])))
  },
};

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

static /* final */ const MR_Box mercury__list_scalar_common_7[1][6] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (&mercury__list_scalar_common_6[0])),
    ((MR_Box) (MR_Word) ((MR_Integer) 3)),
    ((MR_Box) (&mercury__private_builtin__private_builtin__type_ctor_info_type_info_0)),
    ((MR_Box) (&mercury__list__list__pti_list_1__pseudo_1)),
    ((MR_Box) (&mercury__pretty_printer__pretty_printer__type_ctor_info_doc_0))
  },
};



#include "list.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "array.mh"
#include "array.mh"
#include "builtin.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "array.mh"
#include "array.mh"
#include "array.mh"
#include "array.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "array.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "exception.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "array.mh"
#include "array.mh"
#include "dir.mh"
#include "dir.mh"
#include "table_builtin.mh"
#include "table_builtin.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "benchmarking.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "array.mh"
#include "array.mh"
#include "bitmap.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "time.mh"
#include "time.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "array.mh"
#include "array.mh"
#include "dir.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "array.mh"
#include "array.mh"
#include "float.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "array.mh"
#include "array.mh"
#include "math.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "table_builtin.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "time.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "array.mh"
#include "array.mh"
#include "version_array.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "array.mh"
#include "array.mh"
#include "stm_builtin.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "store.mh"
#include "store.mh"
#include "store.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "char.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "array.mh"
#include "array.mh"
#include "construct.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "array.mh"
#include "array.mh"
#include "type_desc.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "rtti_implementation.mh"
#include "array.mh"
#include "array.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "time.mh"
#include "time.mh"
#include "int.mh"
#include "array.mh"
#include "array.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "pretty_printer.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "array.mh"
#include "array.mh"
#include "version_array.mh"
#include "version_array.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "private_builtin.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "array.mh"
#include "array.mh"
#include "array.mh"
#include "array.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "version_array.mh"
#include "version_array.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "time.mh"
#include "time.mh"
#include "array.mh"
#include "array.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "dir.mh"
#include "dir.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "table_builtin.mh"
#include "table_builtin.mh"
#include "time.mh"
#include "time.mh"
#include "version_array.mh"
#include "version_array.mh"

#line 3117 "list.m"
MR_Word 
ML_cons(
#line 3117 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_6,
#line 3117 "list.m"
  MR_Word mercury__list__H_4,
#line 3117 "list.m"
  MR_Word mercury__list__T_5)
#line 3117 "list.m"
{
#line 3117 "list.m"
	MR_Word ret_value;
	ret_value = (MR_Word)mercury__list__cons_2_f_0((MR_Word) mercury__list__TypeInfo_for_T_6, (MR_Box) mercury__list__H_4, (MR_Word) mercury__list__T_5);
	return ret_value;
}

#line 3112 "list.m"
MR_Word 
ML_empty_list(
#line 3112 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_2)
#line 3112 "list.m"
{
#line 3112 "list.m"
	MR_Word ret_value;
	ret_value = (MR_Word)mercury__list__empty_list_0_f_0((MR_Word) mercury__list__TypeInfo_for_T_2);
	return ret_value;
}


#line 3755 "list.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__list__list__pti_list_1__pseudo_1 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_PseudoTypeInfo) (MR_Integer) 1
  }
};

#line 3763 "list.c"
static const MR_DuFunctorDesc mercury__list__list__du_functor_desc_list_1_0 = {
  (MR_String) "[]",
  (MR_Integer) 0,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_LOCAL,
  (MR_Integer) 0,
  (MR_Integer) 0,
  (MR_Integer) 0,
  NULL,
  NULL,
  NULL,
  NULL
};

#line 3778 "list.c"
static const MR_PseudoTypeInfo mercury__list__list__field_types_list_1_1[2] = {
  (MR_PseudoTypeInfo) (MR_Integer) 1,
  (MR_PseudoTypeInfo) &mercury__list__list__pti_list_1__pseudo_1
};

#line 3784 "list.c"
static const MR_DuFunctorDesc mercury__list__list__du_functor_desc_list_1_1 = {
  (MR_String) "[|]",
  (MR_Integer) 2,
  (MR_Integer) 3,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 1,
  (MR_Integer) -1,
  (MR_Integer) 1,
  mercury__list__list__field_types_list_1_1,
  NULL,
  NULL,
  NULL
};

#line 3799 "list.c"
static const MR_DuFunctorDescPtr mercury__list__list__du_stag_ordered_list_1_0[1] = {
  &mercury__list__list__du_functor_desc_list_1_0
};

#line 3804 "list.c"
static const MR_DuFunctorDescPtr mercury__list__list__du_stag_ordered_list_1_1[1] = {
  &mercury__list__list__du_functor_desc_list_1_1
};

#line 3809 "list.c"
static const MR_DuPtagLayout mercury__list__list__du_ptag_ordered_list_1[2] = {
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_LOCAL,
    mercury__list__list__du_stag_ordered_list_1_0
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__list__list__du_stag_ordered_list_1_1
  }
};

#line 3823 "list.c"
static const MR_DuFunctorDescPtr mercury__list__list__du_name_ordered_list_1[2] = {
  &mercury__list__list__du_functor_desc_list_1_0,
  &mercury__list__list__du_functor_desc_list_1_1
};

#line 3829 "list.c"
static const MR_Integer mercury__list__list__functor_number_map_list_1[2] = {
  (MR_Integer) 0,
  (MR_Integer) 1
};

#line 3835 "list.c"
const MR_TypeCtorInfo_Struct mercury__list__list__type_ctor_info_list_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) 2,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (mercury__list____Unify____list_1_0_10001)),
  ((MR_Box) (mercury__list____Compare____list_1_0_10001)),
  (MR_String) "list",
  (MR_String) "list",
  {
    mercury__list__list__du_name_ordered_list_1
  },
  {
    mercury__list__list__du_ptag_ordered_list_1
  },
  (MR_Integer) 2,
  (MR_Integer) 4,
  mercury__list__list__functor_number_map_list_1
};

#line 3856 "list.c"
static MR_bool MR_CALL 
mercury__list____Unify____list_1_0_10001(
#line 3859 "list.c"
  MR_Box mercury__list__wrapper_arg_1,
#line 3861 "list.c"
  MR_Box mercury__list__wrapper_arg_2,
#line 3863 "list.c"
  MR_Box mercury__list__wrapper_arg_3)
#line 3865 "list.c"
{
#line 3867 "list.c"
  {
#line 3869 "list.c"
    MR_bool mercury__list__succeeded;

#line 3872 "list.c"
    {
#line 3874 "list.c"
      mercury__list__succeeded = mercury__list____Unify____list_1_0(((MR_Word) mercury__list__wrapper_arg_1), ((MR_Word) mercury__list__wrapper_arg_2), ((MR_Word) mercury__list__wrapper_arg_3));
    }
#line 3877 "list.c"
    return mercury__list__succeeded;
#line 3879 "list.c"
  }
#line 3881 "list.c"
}

#line 3884 "list.c"
static void MR_CALL 
mercury__list____Compare____list_1_0_10001(
#line 3887 "list.c"
  MR_Box mercury__list__wrapper_arg_1,
#line 3889 "list.c"
  MR_Box * mercury__list__wrapper_arg_2,
#line 3891 "list.c"
  MR_Box mercury__list__wrapper_arg_3,
#line 3893 "list.c"
  MR_Box mercury__list__wrapper_arg_4)
#line 3895 "list.c"
{
#line 3897 "list.c"
  {
#line 3899 "list.c"
    MR_Word mercury__list__conv0_HeadVar__1_1;

#line 3902 "list.c"
    {
#line 3904 "list.c"
      mercury__list____Compare____list_1_0(((MR_Word) mercury__list__wrapper_arg_1), &mercury__list__conv0_HeadVar__1_1, ((MR_Word) mercury__list__wrapper_arg_3), ((MR_Word) mercury__list__wrapper_arg_4));
    }
#line 3907 "list.c"
    *mercury__list__wrapper_arg_2 = ((MR_Box) (mercury__list__conv0_HeadVar__1_1));
#line 3909 "list.c"
  }
#line 3911 "list.c"
}

#line 1657 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_101_114_103_101_95_95_104_111_49_50_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_0(
#line 1657 "list.m"
  MR_Word mercury__list__V_28_28,
#line 1657 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1657 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1657 "list.m"
  MR_Word * mercury__list__HeadVar__4_4)
#line 1657 "list.m"
{
#line 3070 "list.m"
  {
#line 3070 "list.m"
    MR_bool mercury__list__succeeded;

#line 3070 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3070 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3070 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3070 "list.m"
      else
#line 3071 "list.m"
        *mercury__list__HeadVar__4_4 = mercury__list__HeadVar__3_3;
#line 3070 "list.m"
    else
#line 3070 "list.m"
      {
#line 3070 "list.m"
        MR_Word mercury__list__V_25_25 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 3070 "list.m"
        MR_Box mercury__list__V_26_26 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 3070 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3072 "list.m"
          *mercury__list__HeadVar__4_4 = mercury__list__HeadVar__2_2;
#line 3070 "list.m"
        else
#line 3073 "list.m"
          {
#line 3073 "list.m"
            MR_Box mercury__list__H2_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 3073 "list.m"
            MR_Word mercury__list__T2_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 3074 "list.m"
            MR_Word mercury__list__V_24_24;
#line 3015 "list.m"
            MR_Box MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box) = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__V_28_28, (MR_Integer) 1)));
#line 3015 "list.m"
            MR_Box mercury__list__conv1_V_24_24;

#line 3015 "list.m"
            {
#line 3015 "list.m"
              mercury__list__conv1_V_24_24 = mercury__list__func_0(((MR_Box) mercury__list__V_28_28), mercury__list__V_26_26, mercury__list__H2_15);
            }
#line 3015 "list.m"
            mercury__list__V_24_24 = ((MR_Word) mercury__list__conv1_V_24_24);
#line 3074 "list.m"
            mercury__list__succeeded = ((MR_Integer) 2 == mercury__list__V_24_24);
#line 3077 "list.m"
            if (mercury__list__succeeded)
#line 3075 "list.m"
              {
#line 3075 "list.m"
                MR_Word mercury__list__T_18;

#line 3075 "list.m"
                {
#line 3075 "list.m"
                  mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_101_114_103_101_95_95_104_111_49_50_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_0(mercury__list__V_28_28, mercury__list__HeadVar__2_2, mercury__list__T2_16, &mercury__list__T_18);
                }
#line 3076 "list.m"
                {
#line 3076 "list.m"
                  MR_Word base;
#line 3076 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3076 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 3076 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_15;
#line 3076 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_18));
#line 3076 "list.m"
                }
#line 3075 "list.m"
              }
#line 3077 "list.m"
            else
#line 3078 "list.m"
              {
#line 3078 "list.m"
                MR_Word mercury__list__T_22;

#line 3078 "list.m"
                {
#line 3078 "list.m"
                  mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_101_114_103_101_95_95_104_111_49_50_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_0(mercury__list__V_28_28, mercury__list__V_25_25, mercury__list__HeadVar__3_3, &mercury__list__T_22);
                }
#line 3079 "list.m"
                {
#line 3079 "list.m"
                  MR_Word base;
#line 3079 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3079 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 3079 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__V_26_26;
#line 3079 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_22));
#line 3079 "list.m"
                }
#line 3078 "list.m"
              }
#line 3073 "list.m"
          }
#line 3070 "list.m"
      }
#line 3070 "list.m"
  }
#line 1657 "list.m"
}

#line 3038 "list.m"
static MR_bool MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_111_115_111_114_116_95_95_104_111_49_49_95_95_91_49_44_32_51_44_32_52_93_95_48_5_p_0(
#line 3038 "list.m"
  MR_Word mercury__list__V_32_32,
#line 3038 "list.m"
  MR_Integer mercury__list__N_7,
#line 3038 "list.m"
  MR_Word mercury__list__L0_8,
#line 3038 "list.m"
  MR_Word * mercury__list__L_9,
#line 3038 "list.m"
  MR_Word * mercury__list__Rest_10)
#line 3038 "list.m"
{
#line 3045 "list.m"
  {
#line 3045 "list.m"
    MR_bool mercury__list__succeeded = (mercury__list__N_7 == (MR_Integer) 1);

#line 3045 "list.m"
    if (mercury__list__succeeded)
#line 3043 "list.m"
      {
#line 3043 "list.m"
        MR_Box mercury__list__X_11;
#line 3043 "list.m"
        MR_Word mercury__list__V_19_19;

#line 3043 "list.m"
        mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__L0_8)) == (MR_mktag((MR_Integer) 1)));
#line 3043 "list.m"
        if (mercury__list__succeeded)
#line 3043 "list.m"
          {
#line 3043 "list.m"
            mercury__list__X_11 = (MR_hl_field(MR_mktag(1), mercury__list__L0_8, (MR_Integer) 0));
#line 3043 "list.m"
            *mercury__list__Rest_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__L0_8, (MR_Integer) 1)));
#line 3044 "list.m"
            mercury__list__V_19_19 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3044 "list.m"
            {
#line 3044 "list.m"
              MR_Word base;
#line 3044 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3044 "list.m"
              *mercury__list__L_9 = base;
#line 3044 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__X_11;
#line 3044 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__V_19_19));
#line 3044 "list.m"
            }
#line 3044 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 3043 "list.m"
          }
#line 3043 "list.m"
      }
#line 3045 "list.m"
    else
#line 3058 "list.m"
      {
#line 3045 "list.m"
        mercury__list__succeeded = (mercury__list__N_7 == (MR_Integer) 2);
#line 3058 "list.m"
        if (mercury__list__succeeded)
#line 3046 "list.m"
          {
#line 3046 "list.m"
            MR_Box mercury__list__Y_12;
#line 3046 "list.m"
            MR_Word mercury__list__C_13;
#line 3046 "list.m"
            MR_Word mercury__list__V_20_20;
#line 3046 "list.m"
            MR_Box mercury__list__X_28;
#line 3015 "list.m"
            MR_Box MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box);
#line 3015 "list.m"
            MR_Box mercury__list__conv1_C_13;

#line 3046 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__L0_8)) == (MR_mktag((MR_Integer) 1)));
#line 3046 "list.m"
            if (mercury__list__succeeded)
#line 3046 "list.m"
              {
#line 3046 "list.m"
                mercury__list__X_28 = (MR_hl_field(MR_mktag(1), mercury__list__L0_8, (MR_Integer) 0));
#line 3046 "list.m"
                mercury__list__V_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__L0_8, (MR_Integer) 1)));
#line 3046 "list.m"
                mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__V_20_20)) == (MR_mktag((MR_Integer) 1)));
#line 3046 "list.m"
                if (mercury__list__succeeded)
#line 3046 "list.m"
                  {
#line 3046 "list.m"
                    mercury__list__Y_12 = (MR_hl_field(MR_mktag(1), mercury__list__V_20_20, (MR_Integer) 0));
#line 3046 "list.m"
                    *mercury__list__Rest_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__V_20_20, (MR_Integer) 1)));
#line 3015 "list.m"
                    mercury__list__func_0 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__V_32_32, (MR_Integer) 1)));
#line 3015 "list.m"
                    {
#line 3015 "list.m"
                      mercury__list__conv1_C_13 = mercury__list__func_0(((MR_Box) mercury__list__V_32_32), mercury__list__X_28, mercury__list__Y_12);
                    }
#line 3015 "list.m"
                    mercury__list__C_13 = ((MR_Word) mercury__list__conv1_C_13);
#line 3051 "list.m"
                    if ((mercury__list__C_13 == (MR_Integer) 1))
#line 3049 "list.m"
                      {
#line 3049 "list.m"
                        MR_Word mercury__list__V_25_25;
#line 3049 "list.m"
                        MR_Word mercury__list__V_26_26 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 3050 "list.m"
                        {
#line 3050 "list.m"
                          mercury__list__V_25_25 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3050 "list.m"
                          MR_hl_field(MR_mktag(1), mercury__list__V_25_25, 0) = mercury__list__Y_12;
#line 3050 "list.m"
                          MR_hl_field(MR_mktag(1), mercury__list__V_25_25, 1) = ((MR_Box) (mercury__list__V_26_26));
#line 3050 "list.m"
                        }
#line 3050 "list.m"
                        {
#line 3050 "list.m"
                          MR_Word base;
#line 3050 "list.m"
                          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3050 "list.m"
                          *mercury__list__L_9 = base;
#line 3050 "list.m"
                          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__X_28;
#line 3050 "list.m"
                          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__V_25_25));
#line 3050 "list.m"
                        }
#line 3049 "list.m"
                      }
#line 3051 "list.m"
                    else
#line 3051 "list.m"
                      if ((mercury__list__C_13 == (MR_Integer) 0))
#line 3052 "list.m"
                        {
#line 3052 "list.m"
                          MR_Word mercury__list__V_23_23;
#line 3052 "list.m"
                          MR_Word mercury__list__V_24_24 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 3053 "list.m"
                          {
#line 3053 "list.m"
                            mercury__list__V_23_23 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3053 "list.m"
                            MR_hl_field(MR_mktag(1), mercury__list__V_23_23, 0) = mercury__list__Y_12;
#line 3053 "list.m"
                            MR_hl_field(MR_mktag(1), mercury__list__V_23_23, 1) = ((MR_Box) (mercury__list__V_24_24));
#line 3053 "list.m"
                          }
#line 3053 "list.m"
                          {
#line 3053 "list.m"
                            MR_Word base;
#line 3053 "list.m"
                            base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3053 "list.m"
                            *mercury__list__L_9 = base;
#line 3053 "list.m"
                            MR_hl_field(MR_mktag(1), base, 0) = mercury__list__X_28;
#line 3053 "list.m"
                            MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__V_23_23));
#line 3053 "list.m"
                          }
#line 3052 "list.m"
                        }
#line 3051 "list.m"
                      else
#line 3055 "list.m"
                        {
#line 3055 "list.m"
                          MR_Word mercury__list__V_21_21;
#line 3055 "list.m"
                          MR_Word mercury__list__V_22_22 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 3056 "list.m"
                          {
#line 3056 "list.m"
                            mercury__list__V_21_21 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3056 "list.m"
                            MR_hl_field(MR_mktag(1), mercury__list__V_21_21, 0) = mercury__list__X_28;
#line 3056 "list.m"
                            MR_hl_field(MR_mktag(1), mercury__list__V_21_21, 1) = ((MR_Box) (mercury__list__V_22_22));
#line 3056 "list.m"
                          }
#line 3056 "list.m"
                          {
#line 3056 "list.m"
                            MR_Word base;
#line 3056 "list.m"
                            base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3056 "list.m"
                            *mercury__list__L_9 = base;
#line 3056 "list.m"
                            MR_hl_field(MR_mktag(1), base, 0) = mercury__list__Y_12;
#line 3056 "list.m"
                            MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__V_21_21));
#line 3056 "list.m"
                          }
#line 3055 "list.m"
                        }
#line 3051 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 3046 "list.m"
                  }
#line 3046 "list.m"
              }
#line 3046 "list.m"
          }
#line 3058 "list.m"
        else
#line 3059 "list.m"
          {
#line 3059 "list.m"
            MR_Integer mercury__list__N1_14 = (mercury__list__N_7 / (MR_Integer) 2);
#line 3059 "list.m"
            MR_Word mercury__list__L1_15;
#line 3059 "list.m"
            MR_Word mercury__list__Middle_16;
#line 3059 "list.m"
            MR_Integer mercury__list__N2_17;
#line 3059 "list.m"
            MR_Word mercury__list__L2_18;

#line 3060 "list.m"
            {
#line 3060 "list.m"
              mercury__list__succeeded = mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_111_115_111_114_116_95_95_104_111_49_49_95_95_91_49_44_32_51_44_32_52_93_95_48_5_p_0(mercury__list__V_32_32, mercury__list__N1_14, mercury__list__L0_8, &mercury__list__L1_15, &mercury__list__Middle_16);
            }
#line 3059 "list.m"
            if (mercury__list__succeeded)
#line 3059 "list.m"
              {
#line 3061 "list.m"
                mercury__list__N2_17 = (mercury__list__N_7 - mercury__list__N1_14);
#line 3062 "list.m"
                {
#line 3062 "list.m"
                  mercury__list__succeeded = mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_111_115_111_114_116_95_95_104_111_49_49_95_95_91_49_44_32_51_44_32_52_93_95_48_5_p_0(mercury__list__V_32_32, mercury__list__N2_17, mercury__list__Middle_16, &mercury__list__L2_18, mercury__list__Rest_10);
                }
#line 3059 "list.m"
                if (mercury__list__succeeded)
#line 3059 "list.m"
                  {
#line 3063 "list.m"
                    {
#line 3063 "list.m"
                      mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_101_114_103_101_95_95_104_111_49_50_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_0(mercury__list__V_32_32, mercury__list__L1_15, mercury__list__L2_18, mercury__list__L_9);
                    }
#line 3063 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 3059 "list.m"
                  }
#line 3059 "list.m"
              }
#line 3059 "list.m"
          }
#line 3058 "list.m"
      }
#line 3045 "list.m"
    return mercury__list__succeeded;
#line 3045 "list.m"
  }
#line 3038 "list.m"
}

#line 747 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_95_95_91_49_44_32_50_44_32_52_44_32_53_44_32_54_93_95_48_4_p_0(
#line 747 "list.m"
  MR_Word mercury__list__V_21_21,
#line 747 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 747 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 747 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4)
#line 747 "list.m"
{
#line 2624 "list.m"
  while (MR_TRUE)
#line 2624 "list.m"
    {
#line 2624 "list.m"
      /* tailcall optimized into a loop */
#line 2624 "list.m"
      {
#line 2624 "list.m"
        MR_bool mercury__list__succeeded;

#line 2624 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2624 "list.m"
          *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2624 "list.m"
        else
#line 2625 "list.m"
          {
#line 2625 "list.m"
            MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2625 "list.m"
            MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2625 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_15_15;
#line 2621 "list.m"
            MR_Box MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box) = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__V_21_21, (MR_Integer) 1)));

#line 2621 "list.m"
            {
#line 2621 "list.m"
              mercury__list__STATE_VARIABLE_A_15_15 = mercury__list__func_0(((MR_Box) mercury__list__V_21_21), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_0_3);
            }
#line 2627 "list.m"
            /* direct tailcall eliminated */
#line 2627 "list.m"
            {
#line 2627 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_11;
#line 2627 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_15_15;

#line 2627 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2627 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2627 "list.m"
            }
#line 2627 "list.m"
            continue;
#line 2625 "list.m"
          }
#line 2624 "list.m"
      }
#line 2624 "list.m"
      break;
#line 2624 "list.m"
    }
#line 747 "list.m"
}

#line 929 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_114_95_95_104_111_57_95_95_91_49_44_32_50_44_32_52_44_32_53_44_32_54_93_95_48_4_p_0(
#line 929 "list.m"
  MR_Word mercury__list__V_21_21,
#line 929 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 929 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 929 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4)
#line 929 "list.m"
{
#line 2844 "list.m"
  {
#line 2844 "list.m"
    MR_bool mercury__list__succeeded;

#line 2844 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2844 "list.m"
      *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2844 "list.m"
    else
#line 2845 "list.m"
      {
#line 2845 "list.m"
        MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2845 "list.m"
        MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2845 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_15_15;
#line 2841 "list.m"
        MR_Box MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box);

#line 2846 "list.m"
        {
#line 2846 "list.m"
          mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_114_95_95_104_111_57_95_95_91_49_44_32_50_44_32_52_44_32_53_44_32_54_93_95_48_4_p_0(mercury__list__V_21_21, mercury__list__T_11, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_15_15);
        }
#line 2841 "list.m"
        mercury__list__func_0 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__V_21_21, (MR_Integer) 1)));
#line 2841 "list.m"
        {
#line 2841 "list.m"
          *mercury__list__STATE_VARIABLE_A_4 = mercury__list__func_0(((MR_Box) mercury__list__V_21_21), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_15_15);
        }
#line 2845 "list.m"
      }
#line 2844 "list.m"
  }
#line 929 "list.m"
}

#line 1567 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_105_108_116_101_114_95_109_97_112_95_95_104_111_56_95_95_91_49_44_32_50_44_32_52_44_32_53_44_32_54_93_95_48_3_p_0(
#line 1567 "list.m"
  MR_Word mercury__list__V_15_15,
#line 1567 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1567 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 1567 "list.m"
{
#line 2932 "list.m"
  while (MR_TRUE)
#line 2932 "list.m"
    {
#line 2932 "list.m"
      /* tailcall optimized into a loop */
#line 2932 "list.m"
      {
#line 2932 "list.m"
        MR_bool mercury__list__succeeded;

#line 2932 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2932 "list.m"
          *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2932 "list.m"
        else
#line 2933 "list.m"
          {
#line 2933 "list.m"
            MR_Box mercury__list__H0_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2933 "list.m"
            MR_Word mercury__list__T0_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2937 "list.m"
            MR_Box mercury__list__H_9;
#line 2929 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__V_15_15, (MR_Integer) 1)));

#line 2929 "list.m"
            {
#line 2929 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__V_15_15), mercury__list__H0_6, &mercury__list__H_9);
            }
#line 2937 "list.m"
            if (mercury__list__succeeded)
#line 2935 "list.m"
              {
#line 2935 "list.m"
                MR_Word mercury__list__TrueTail_10;

#line 2935 "list.m"
                {
#line 2935 "list.m"
                  mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_105_108_116_101_114_95_109_97_112_95_95_104_111_56_95_95_91_49_44_32_50_44_32_52_44_32_53_44_32_54_93_95_48_3_p_0(mercury__list__V_15_15, mercury__list__T0_7, &mercury__list__TrueTail_10);
                }
#line 2936 "list.m"
                {
#line 2936 "list.m"
                  MR_Word base;
#line 2936 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2936 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2936 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_9;
#line 2936 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__TrueTail_10));
#line 2936 "list.m"
                }
#line 2935 "list.m"
              }
#line 2937 "list.m"
            else
#line 2938 "list.m"
              {
#line 2938 "list.m"
                /* direct tailcall eliminated */
#line 2938 "list.m"
                {
#line 2938 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T0_7;

#line 2938 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2938 "list.m"
                }
#line 2938 "list.m"
                continue;
#line 2938 "list.m"
              }
#line 2933 "list.m"
          }
#line 2932 "list.m"
      }
#line 2932 "list.m"
      break;
#line 2932 "list.m"
    }
#line 1567 "list.m"
}

#line 1657 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_101_114_103_101_95_95_104_111_54_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_0(
#line 1657 "list.m"
  MR_Word mercury__list__V_28_28,
#line 1657 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1657 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1657 "list.m"
  MR_Word * mercury__list__HeadVar__4_4)
#line 1657 "list.m"
{
#line 3070 "list.m"
  {
#line 3070 "list.m"
    MR_bool mercury__list__succeeded;

#line 3070 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3070 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3070 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3070 "list.m"
      else
#line 3071 "list.m"
        *mercury__list__HeadVar__4_4 = mercury__list__HeadVar__3_3;
#line 3070 "list.m"
    else
#line 3070 "list.m"
      {
#line 3070 "list.m"
        MR_Word mercury__list__V_25_25 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 3070 "list.m"
        MR_Box mercury__list__V_26_26 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 3070 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3072 "list.m"
          *mercury__list__HeadVar__4_4 = mercury__list__HeadVar__2_2;
#line 3070 "list.m"
        else
#line 3073 "list.m"
          {
#line 3073 "list.m"
            MR_Box mercury__list__H2_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 3073 "list.m"
            MR_Word mercury__list__T2_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 3074 "list.m"
            MR_Word mercury__list__V_24_24;
#line 3067 "list.m"
            MR_Box MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box) = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__V_28_28, (MR_Integer) 1)));
#line 3067 "list.m"
            MR_Box mercury__list__conv1_V_24_24;

#line 3067 "list.m"
            {
#line 3067 "list.m"
              mercury__list__conv1_V_24_24 = mercury__list__func_0(((MR_Box) mercury__list__V_28_28), mercury__list__V_26_26, mercury__list__H2_15);
            }
#line 3067 "list.m"
            mercury__list__V_24_24 = ((MR_Word) mercury__list__conv1_V_24_24);
#line 3074 "list.m"
            mercury__list__succeeded = ((MR_Integer) 2 == mercury__list__V_24_24);
#line 3077 "list.m"
            if (mercury__list__succeeded)
#line 3075 "list.m"
              {
#line 3075 "list.m"
                MR_Word mercury__list__T_18;

#line 3075 "list.m"
                {
#line 3075 "list.m"
                  mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_101_114_103_101_95_95_104_111_54_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_0(mercury__list__V_28_28, mercury__list__HeadVar__2_2, mercury__list__T2_16, &mercury__list__T_18);
                }
#line 3076 "list.m"
                {
#line 3076 "list.m"
                  MR_Word base;
#line 3076 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3076 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 3076 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_15;
#line 3076 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_18));
#line 3076 "list.m"
                }
#line 3075 "list.m"
              }
#line 3077 "list.m"
            else
#line 3078 "list.m"
              {
#line 3078 "list.m"
                MR_Word mercury__list__T_22;

#line 3078 "list.m"
                {
#line 3078 "list.m"
                  mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_101_114_103_101_95_95_104_111_54_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_0(mercury__list__V_28_28, mercury__list__V_25_25, mercury__list__HeadVar__3_3, &mercury__list__T_22);
                }
#line 3079 "list.m"
                {
#line 3079 "list.m"
                  MR_Word base;
#line 3079 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3079 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 3079 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__V_26_26;
#line 3079 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_22));
#line 3079 "list.m"
                }
#line 3078 "list.m"
              }
#line 3073 "list.m"
          }
#line 3070 "list.m"
      }
#line 3070 "list.m"
  }
#line 1657 "list.m"
}

#line 1670 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_101_114_103_101_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_104_111_53_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_0(
#line 1670 "list.m"
  MR_Word mercury__list__V_28_28,
#line 1670 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1670 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1670 "list.m"
  MR_Word * mercury__list__HeadVar__4_4)
#line 1670 "list.m"
{
#line 3086 "list.m"
  {
#line 3086 "list.m"
    MR_bool mercury__list__succeeded;

#line 3086 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3086 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3086 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3086 "list.m"
      else
#line 3087 "list.m"
        *mercury__list__HeadVar__4_4 = mercury__list__HeadVar__3_3;
#line 3086 "list.m"
    else
#line 3086 "list.m"
      {
#line 3086 "list.m"
        MR_Word mercury__list__V_25_25 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 3086 "list.m"
        MR_Box mercury__list__V_26_26 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 3086 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3088 "list.m"
          *mercury__list__HeadVar__4_4 = mercury__list__HeadVar__2_2;
#line 3086 "list.m"
        else
#line 3089 "list.m"
          {
#line 3089 "list.m"
            MR_Box mercury__list__H2_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 3089 "list.m"
            MR_Word mercury__list__T2_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 3089 "list.m"
            MR_Word mercury__list__C_18;
#line 3083 "list.m"
            MR_Box MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box) = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__V_28_28, (MR_Integer) 1)));
#line 3083 "list.m"
            MR_Box mercury__list__conv1_C_18;

#line 3083 "list.m"
            {
#line 3083 "list.m"
              mercury__list__conv1_C_18 = mercury__list__func_0(((MR_Box) mercury__list__V_28_28), mercury__list__V_26_26, mercury__list__H2_15);
            }
#line 3083 "list.m"
            mercury__list__C_18 = ((MR_Word) mercury__list__conv1_C_18);
#line 3095 "list.m"
            if ((mercury__list__C_18 == (MR_Integer) 1))
#line 3092 "list.m"
              {
#line 3092 "list.m"
                MR_Word mercury__list__T_19;

#line 3093 "list.m"
                {
#line 3093 "list.m"
                  mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_101_114_103_101_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_104_111_53_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_0(mercury__list__V_28_28, mercury__list__V_25_25, mercury__list__HeadVar__3_3, &mercury__list__T_19);
                }
#line 3094 "list.m"
                {
#line 3094 "list.m"
                  MR_Word base;
#line 3094 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3094 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 3094 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__V_26_26;
#line 3094 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_19));
#line 3094 "list.m"
                }
#line 3092 "list.m"
              }
#line 3095 "list.m"
            else
#line 3095 "list.m"
              if ((mercury__list__C_18 == (MR_Integer) 0))
#line 3096 "list.m"
                {
#line 3096 "list.m"
                  MR_Word mercury__list__T_22;

#line 3097 "list.m"
                  {
#line 3097 "list.m"
                    mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_101_114_103_101_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_104_111_53_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_0(mercury__list__V_28_28, mercury__list__V_25_25, mercury__list__T2_16, &mercury__list__T_22);
                  }
#line 3098 "list.m"
                  {
#line 3098 "list.m"
                    MR_Word base;
#line 3098 "list.m"
                    base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3098 "list.m"
                    *mercury__list__HeadVar__4_4 = base;
#line 3098 "list.m"
                    MR_hl_field(MR_mktag(1), base, 0) = mercury__list__V_26_26;
#line 3098 "list.m"
                    MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_22));
#line 3098 "list.m"
                  }
#line 3096 "list.m"
                }
#line 3095 "list.m"
              else
#line 3100 "list.m"
                {
#line 3100 "list.m"
                  MR_Word mercury__list__T_23;

#line 3101 "list.m"
                  {
#line 3101 "list.m"
                    mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_101_114_103_101_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_104_111_53_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_0(mercury__list__V_28_28, mercury__list__HeadVar__2_2, mercury__list__T2_16, &mercury__list__T_23);
                  }
#line 3102 "list.m"
                  {
#line 3102 "list.m"
                    MR_Word base;
#line 3102 "list.m"
                    base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3102 "list.m"
                    *mercury__list__HeadVar__4_4 = base;
#line 3102 "list.m"
                    MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_15;
#line 3102 "list.m"
                    MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_23));
#line 3102 "list.m"
                  }
#line 3100 "list.m"
                }
#line 3089 "list.m"
          }
#line 3086 "list.m"
      }
#line 3086 "list.m"
  }
#line 1670 "list.m"
}

#line 106 "list.m"
void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_3_p_0(
#line 106 "list.m"
  MR_Word mercury__list__V_23_23,
#line 106 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 106 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 106 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 106 "list.m"
{
#line 2036 "list.m"
  {
#line 2036 "list.m"
    MR_bool mercury__list__succeeded;

#line 2036 "list.m"
    if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2036 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2036 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2036 "list.m"
      else
#line 2038 "list.m"
        *mercury__list__HeadVar__3_3 = mercury__list__HeadVar__2_2;
#line 2036 "list.m"
    else
#line 2036 "list.m"
      {
#line 2036 "list.m"
        MR_Word mercury__list__V_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 2036 "list.m"
        MR_Word mercury__list__V_21_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0)));

#line 2036 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2037 "list.m"
          *mercury__list__HeadVar__3_3 = mercury__list__HeadVar__1_1;
#line 2036 "list.m"
        else
#line 2039 "list.m"
          {
#line 2039 "list.m"
            MR_Word mercury__list__B_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0)));
#line 2039 "list.m"
            MR_Word mercury__list__Bs_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2040 "list.m"
            MR_Word mercury__list__V_19_19;
#line 2040 "list.m"
            MR_Integer mercury__list__V_24_24 = (MR_Integer) mercury__list__V_21_21;
#line 2040 "list.m"
            MR_Integer mercury__list__V_25_25 = (MR_Integer) mercury__list__B_10;

#line 66 "private_builtin.opt"
            mercury__list__succeeded = (mercury__list__V_24_24 < mercury__list__V_25_25);
#line 69 "private_builtin.opt"
            if (mercury__list__succeeded)
#line 68 "private_builtin.opt"
              mercury__list__V_19_19 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
            else
#line 74 "private_builtin.opt"
              {
#line 71 "private_builtin.opt"
                mercury__list__succeeded = (mercury__list__V_24_24 == mercury__list__V_25_25);
#line 74 "private_builtin.opt"
                if (mercury__list__succeeded)
#line 73 "private_builtin.opt"
                  mercury__list__V_19_19 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
                else
#line 75 "private_builtin.opt"
                  mercury__list__V_19_19 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
              }
#line 2040 "list.m"
            mercury__list__succeeded = ((MR_Integer) 2 == mercury__list__V_19_19);
#line 2043 "list.m"
            if (mercury__list__succeeded)
#line 2041 "list.m"
              {
#line 2041 "list.m"
                MR_Word mercury__list__Cs0_13;

#line 2041 "list.m"
                {
#line 2041 "list.m"
                  mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_3_p_0(mercury__list__V_23_23, mercury__list__HeadVar__1_1, mercury__list__Bs_11, &mercury__list__Cs0_13);
                }
#line 2042 "list.m"
                {
#line 2042 "list.m"
                  MR_Word base;
#line 2042 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2042 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2042 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__list__B_10));
#line 2042 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs0_13));
#line 2042 "list.m"
                }
#line 2041 "list.m"
              }
#line 2043 "list.m"
            else
#line 2045 "list.m"
              {
#line 2045 "list.m"
                MR_Word mercury__list__Cs0_17;

#line 2045 "list.m"
                {
#line 2045 "list.m"
                  mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_3_p_0(mercury__list__V_23_23, mercury__list__V_20_20, mercury__list__HeadVar__2_2, &mercury__list__Cs0_17);
                }
#line 2046 "list.m"
                {
#line 2046 "list.m"
                  MR_Word base;
#line 2046 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2046 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2046 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__list__V_21_21));
#line 2046 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs0_17));
#line 2046 "list.m"
                }
#line 2045 "list.m"
              }
#line 2039 "list.m"
          }
#line 2036 "list.m"
      }
#line 2036 "list.m"
  }
#line 106 "list.m"
}

#line 115 "list.m"
void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_3_p_0(
#line 115 "list.m"
  MR_Word mercury__list__V_23_23,
#line 115 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 115 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 115 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 115 "list.m"
{
#line 2052 "list.m"
  {
#line 2052 "list.m"
    MR_bool mercury__list__succeeded;

#line 2052 "list.m"
    if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2052 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2052 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2052 "list.m"
      else
#line 2054 "list.m"
        *mercury__list__HeadVar__3_3 = mercury__list__HeadVar__2_2;
#line 2052 "list.m"
    else
#line 2052 "list.m"
      {
#line 2052 "list.m"
        MR_Word mercury__list__V_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 2052 "list.m"
        MR_Word mercury__list__V_21_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0)));

#line 2052 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2053 "list.m"
          *mercury__list__HeadVar__3_3 = mercury__list__HeadVar__1_1;
#line 2052 "list.m"
        else
#line 2055 "list.m"
          {
#line 2055 "list.m"
            MR_Word mercury__list__B_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0)));
#line 2055 "list.m"
            MR_Word mercury__list__Bs_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2055 "list.m"
            MR_Word mercury__list__Res_13;
#line 2055 "list.m"
            MR_Integer mercury__list__V_24_24 = (MR_Integer) mercury__list__V_21_21;
#line 2055 "list.m"
            MR_Integer mercury__list__V_25_25 = (MR_Integer) mercury__list__B_10;

#line 66 "private_builtin.opt"
            mercury__list__succeeded = (mercury__list__V_24_24 < mercury__list__V_25_25);
#line 69 "private_builtin.opt"
            if (mercury__list__succeeded)
#line 68 "private_builtin.opt"
              mercury__list__Res_13 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
            else
#line 74 "private_builtin.opt"
              {
#line 71 "private_builtin.opt"
                mercury__list__succeeded = (mercury__list__V_24_24 == mercury__list__V_25_25);
#line 74 "private_builtin.opt"
                if (mercury__list__succeeded)
#line 73 "private_builtin.opt"
                  mercury__list__Res_13 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
                else
#line 75 "private_builtin.opt"
                  mercury__list__Res_13 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
              }
#line 2061 "list.m"
            if ((mercury__list__Res_13 == (MR_Integer) 1))
#line 2058 "list.m"
              {
#line 2058 "list.m"
                MR_Word mercury__list__Cs0_14;

#line 2059 "list.m"
                {
#line 2059 "list.m"
                  mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_3_p_0(mercury__list__V_23_23, mercury__list__V_20_20, mercury__list__HeadVar__2_2, &mercury__list__Cs0_14);
                }
#line 2060 "list.m"
                {
#line 2060 "list.m"
                  MR_Word base;
#line 2060 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2060 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2060 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__list__V_21_21));
#line 2060 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs0_14));
#line 2060 "list.m"
                }
#line 2058 "list.m"
              }
#line 2061 "list.m"
            else
#line 2061 "list.m"
              if ((mercury__list__Res_13 == (MR_Integer) 0))
#line 2062 "list.m"
                {
#line 2062 "list.m"
                  MR_Word mercury__list__Cs0_17;

#line 2063 "list.m"
                  {
#line 2063 "list.m"
                    mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_3_p_0(mercury__list__V_23_23, mercury__list__V_20_20, mercury__list__Bs_11, &mercury__list__Cs0_17);
                  }
#line 2064 "list.m"
                  {
#line 2064 "list.m"
                    MR_Word base;
#line 2064 "list.m"
                    base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2064 "list.m"
                    *mercury__list__HeadVar__3_3 = base;
#line 2064 "list.m"
                    MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__list__V_21_21));
#line 2064 "list.m"
                    MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs0_17));
#line 2064 "list.m"
                  }
#line 2062 "list.m"
                }
#line 2061 "list.m"
              else
#line 2066 "list.m"
                {
#line 2066 "list.m"
                  MR_Word mercury__list__Cs0_18;

#line 2067 "list.m"
                  {
#line 2067 "list.m"
                    mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_3_p_0(mercury__list__V_23_23, mercury__list__HeadVar__1_1, mercury__list__Bs_11, &mercury__list__Cs0_18);
                  }
#line 2068 "list.m"
                  {
#line 2068 "list.m"
                    MR_Word base;
#line 2068 "list.m"
                    base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2068 "list.m"
                    *mercury__list__HeadVar__3_3 = base;
#line 2068 "list.m"
                    MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__list__B_10));
#line 2068 "list.m"
                    MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs0_18));
#line 2068 "list.m"
                  }
#line 2066 "list.m"
                }
#line 2055 "list.m"
          }
#line 2052 "list.m"
      }
#line 2052 "list.m"
  }
#line 115 "list.m"
}

#line 117 "list.m"
MR_Word MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_109_101_114_103_101_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_2_f_0(
#line 117 "list.m"
  MR_Word mercury__list__V_9_9,
#line 117 "list.m"
  MR_Word mercury__list__Xs_4,
#line 117 "list.m"
  MR_Word mercury__list__Ys_5)
#line 117 "list.m"
{
#line 2050 "list.m"
  {
#line 2050 "list.m"
    MR_bool mercury__list__succeeded;
#line 2050 "list.m"
    MR_Word mercury__list__Zs_6;

#line 2050 "list.m"
    {
#line 2050 "list.m"
      mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_3_p_0(mercury__list__V_9_9, mercury__list__Xs_4, mercury__list__Ys_5, &mercury__list__Zs_6);
    }
#line 2050 "list.m"
    return mercury__list__Zs_6;
#line 2050 "list.m"
  }
#line 117 "list.m"
}

#line 124 "list.m"
void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_114_101_109_111_118_101_95_97_100_106_97_99_101_110_116_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_2_p_0(
#line 124 "list.m"
  MR_Word mercury__list__V_8_8,
#line 124 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 124 "list.m"
  MR_Word * mercury__list__HeadVar__2_2)
#line 124 "list.m"
{
#line 2205 "list.m"
  {
#line 2205 "list.m"
    MR_bool mercury__list__succeeded;

#line 2205 "list.m"
    if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2205 "list.m"
      *mercury__list__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2205 "list.m"
    else
#line 2206 "list.m"
      {
#line 2206 "list.m"
        MR_Word mercury__list__X_3 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0)));
#line 2206 "list.m"
        MR_Word mercury__list__Xs_4 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));

#line 2207 "list.m"
        {
#line 2207 "list.m"
          mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_114_101_109_111_118_101_95_97_100_106_97_99_101_110_116_95_100_117_112_115_95_50_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_3_p_0(mercury__list__V_8_8, mercury__list__Xs_4, mercury__list__X_3, mercury__list__HeadVar__2_2);
#line 2207 "list.m"
          return;
        }
#line 2206 "list.m"
      }
#line 2205 "list.m"
  }
#line 124 "list.m"
}

#line 125 "list.m"
MR_Word MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_114_101_109_111_118_101_95_97_100_106_97_99_101_110_116_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_1_f_0(
#line 125 "list.m"
  MR_Word mercury__list__V_7_7,
#line 125 "list.m"
  MR_Word mercury__list__Xs_3)
#line 125 "list.m"
{
#line 2205 "list.m"
  {
#line 2205 "list.m"
    MR_bool mercury__list__succeeded;
#line 2205 "list.m"
    MR_Word mercury__list__Ys_4;

#line 2205 "list.m"
    if ((mercury__list__Xs_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2205 "list.m"
      mercury__list__Ys_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2205 "list.m"
    else
#line 2206 "list.m"
      {
#line 2206 "list.m"
        MR_Word mercury__list__X_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__Xs_3, (MR_Integer) 0)));
#line 2206 "list.m"
        MR_Word mercury__list__Xs_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__Xs_3, (MR_Integer) 1)));

#line 2207 "list.m"
        {
#line 2207 "list.m"
          mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_114_101_109_111_118_101_95_97_100_106_97_99_101_110_116_95_100_117_112_115_95_50_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_3_p_0(mercury__list__V_7_7, mercury__list__Xs_9, mercury__list__X_8, &mercury__list__Ys_4);
        }
#line 2206 "list.m"
      }
#line 2205 "list.m"
    return mercury__list__Ys_4;
#line 2205 "list.m"
  }
#line 125 "list.m"
}

#line 140 "list.m"
MR_bool MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_109_98_101_114_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_2_p_0(
#line 140 "list.m"
  MR_Word mercury__list__V_13_13,
#line 140 "list.m"
  MR_Word mercury__list__X_1,
#line 140 "list.m"
  MR_Word mercury__list__HeadVar__2_2)
#line 140 "list.m"
{
#line 2016 "list.m"
  while (MR_TRUE)
#line 2016 "list.m"
    {
#line 2016 "list.m"
      /* tailcall optimized into a loop */
#line 2016 "list.m"
      {
#line 2016 "list.m"
        MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 2016 "list.m"
        MR_Word mercury__list__V_10_10;
#line 2016 "list.m"
        MR_Word mercury__list__V_11_11;

#line 2016 "list.m"
        if (mercury__list__succeeded)
#line 2016 "list.m"
          {
#line 2016 "list.m"
            mercury__list__V_11_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0)));
#line 2016 "list.m"
            mercury__list__V_10_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2016 "list.m"
            {
#line 2016 "list.m"
              MR_Integer mercury__list__V_14_14 = (MR_Integer) mercury__list__X_1;
#line 2016 "list.m"
              MR_Integer mercury__list__V_15_15 = (MR_Integer) mercury__list__V_11_11;

#line 2016 "list.m"
              mercury__list__succeeded = (mercury__list__V_14_14 == mercury__list__V_15_15);
#line 2016 "list.m"
            }
#line 2016 "list.m"
            if (!(mercury__list__succeeded))
#line 2018 "list.m"
              {
#line 2018 "list.m"
                /* direct tailcall eliminated */
#line 2018 "list.m"
                {
#line 2018 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_10_10;

#line 2018 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2018 "list.m"
                }
#line 2018 "list.m"
                continue;
#line 2018 "list.m"
              }
#line 2016 "list.m"
          }
#line 2016 "list.m"
        return mercury__list__succeeded;
#line 2016 "list.m"
      }
#line 2016 "list.m"
      break;
#line 2016 "list.m"
    }
#line 140 "list.m"
}

#line 2209 "list.m"
void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_114_101_109_111_118_101_95_97_100_106_97_99_101_110_116_95_100_117_112_115_95_50_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_3_p_0(
#line 2209 "list.m"
  MR_Word mercury__list__V_13_13,
#line 2209 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 2209 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 2209 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 2209 "list.m"
{
#line 2212 "list.m"
  while (MR_TRUE)
#line 2212 "list.m"
    {
#line 2212 "list.m"
      /* tailcall optimized into a loop */
#line 2212 "list.m"
      {
#line 2212 "list.m"
        MR_bool mercury__list__succeeded;

#line 2212 "list.m"
        if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2212 "list.m"
          {
#line 2212 "list.m"
            MR_Word mercury__list__V_5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 2212 "list.m"
            {
#line 2212 "list.m"
              MR_Word base;
#line 2212 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2212 "list.m"
              *mercury__list__HeadVar__3_3 = base;
#line 2212 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__list__HeadVar__2_2));
#line 2212 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__V_5_5));
#line 2212 "list.m"
            }
#line 2212 "list.m"
          }
#line 2212 "list.m"
        else
#line 2213 "list.m"
          {
#line 2213 "list.m"
            MR_Word mercury__list__X1_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0)));
#line 2213 "list.m"
            MR_Word mercury__list__Xs_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 2214 "list.m"
            MR_Integer mercury__list__V_14_14 = (MR_Integer) mercury__list__HeadVar__2_2;
#line 2214 "list.m"
            MR_Integer mercury__list__V_15_15 = (MR_Integer) mercury__list__X1_6;

#line 2214 "list.m"
            mercury__list__succeeded = (mercury__list__V_14_14 == mercury__list__V_15_15);
#line 2216 "list.m"
            if (mercury__list__succeeded)
#line 2215 "list.m"
              {
#line 2215 "list.m"
                /* direct tailcall eliminated */
#line 2215 "list.m"
                {
#line 2215 "list.m"
                  MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__Xs_7;

#line 2215 "list.m"
                  mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 2215 "list.m"
                }
#line 2215 "list.m"
                continue;
#line 2215 "list.m"
              }
#line 2216 "list.m"
            else
#line 2217 "list.m"
              {
#line 2217 "list.m"
                MR_Word mercury__list__L0_10;

#line 2217 "list.m"
                {
#line 2217 "list.m"
                  mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_114_101_109_111_118_101_95_97_100_106_97_99_101_110_116_95_100_117_112_115_95_50_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_3_p_0(mercury__list__V_13_13, mercury__list__Xs_7, mercury__list__X1_6, &mercury__list__L0_10);
                }
#line 2218 "list.m"
                {
#line 2218 "list.m"
                  MR_Word base;
#line 2218 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2218 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2218 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__list__HeadVar__2_2));
#line 2218 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__L0_10));
#line 2218 "list.m"
                }
#line 2217 "list.m"
              }
#line 2213 "list.m"
          }
#line 2212 "list.m"
      }
#line 2212 "list.m"
      break;
#line 2212 "list.m"
    }
#line 2209 "list.m"
}

#line 13 "ops.opt"
static MR_Integer MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_67_108_97_115_115_77_101_116_104_111_100_95_102_111_114_95_111_112_115_95_95_111_112_95_116_97_98_108_101_95_95_95_95_111_112_115_95_95_109_101_114_99_117_114_121_95_111_112_95_116_97_98_108_101_95_95_97_114_105_116_121_48_95_95_95_95_95_95_111_112_115_95_95_109_97_120_95_112_114_105_111_114_105_116_121_95_49_95_95_91_49_93_95_48_1_f_in__ops_0(void)
#line 13 "ops.opt"
{
#line 38 "ops.opt"
  {
#line 38 "ops.opt"
    MR_bool mercury__list__succeeded;

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

#line 3111 "list.m"
static MR_Word MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_101_109_112_116_121_95_108_105_115_116_95_95_91_49_93_95_48_0_f_0(void)
#line 3111 "list.m"
{
#line 3115 "list.m"
  {
#line 3115 "list.m"
    MR_bool mercury__list__succeeded;
#line 3115 "list.m"
    MR_Word mercury__list__HeadVar__1_1 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 3115 "list.m"
    return mercury__list__HeadVar__1_1;
#line 3115 "list.m"
  }
#line 3111 "list.m"
}

#line 2445 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_101_116_95_115_112_108_105_116_95_108_97_115_116_95_50_95_95_91_49_93_95_48_4_p_0(
#line 2445 "list.m"
  MR_Box mercury__list__H_5,
#line 2445 "list.m"
  MR_Word mercury__list__T_6,
#line 2445 "list.m"
  MR_Word * mercury__list__AllButLast_7,
#line 2445 "list.m"
  MR_Box * mercury__list__Last_8)
#line 2445 "list.m"
{
#line 2452 "list.m"
  {
#line 2452 "list.m"
    MR_bool mercury__list__succeeded;

#line 2452 "list.m"
    if ((mercury__list__T_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2449 "list.m"
      {
#line 2450 "list.m"
        *mercury__list__AllButLast_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2451 "list.m"
        *mercury__list__Last_8 = mercury__list__H_5;
#line 2449 "list.m"
      }
#line 2452 "list.m"
    else
#line 2453 "list.m"
      {
#line 2453 "list.m"
        MR_Box mercury__list__TH_9 = (MR_hl_field(MR_mktag(1), mercury__list__T_6, (MR_Integer) 0));
#line 2453 "list.m"
        MR_Word mercury__list__TT_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__T_6, (MR_Integer) 1)));
#line 2453 "list.m"
        MR_Word mercury__list__AllButLastTail_11;

#line 2454 "list.m"
        {
#line 2454 "list.m"
          mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_101_116_95_115_112_108_105_116_95_108_97_115_116_95_50_95_95_91_49_93_95_48_4_p_0(mercury__list__TH_9, mercury__list__TT_10, &mercury__list__AllButLastTail_11, mercury__list__Last_8);
        }
#line 2455 "list.m"
        {
#line 2455 "list.m"
          MR_Word base;
#line 2455 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2455 "list.m"
          *mercury__list__AllButLast_7 = base;
#line 2455 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_5;
#line 2455 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__AllButLastTail_11));
#line 2455 "list.m"
        }
#line 2453 "list.m"
      }
#line 2452 "list.m"
  }
#line 2445 "list.m"
}

#line 2410 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_101_116_95_108_97_115_116_95_50_95_95_91_49_93_95_48_3_p_0(
#line 2410 "list.m"
  MR_Box mercury__list__H_4,
#line 2410 "list.m"
  MR_Word mercury__list__T_5,
#line 2410 "list.m"
  MR_Box * mercury__list__Last_6)
#line 2410 "list.m"
{
#line 2416 "list.m"
  while (MR_TRUE)
#line 2416 "list.m"
    {
#line 2416 "list.m"
      /* tailcall optimized into a loop */
#line 2416 "list.m"
      {
#line 2416 "list.m"
        MR_bool mercury__list__succeeded;

#line 2416 "list.m"
        if ((mercury__list__T_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2415 "list.m"
          *mercury__list__Last_6 = mercury__list__H_4;
#line 2416 "list.m"
        else
#line 2417 "list.m"
          {
#line 2417 "list.m"
            MR_Box mercury__list__TH_7 = (MR_hl_field(MR_mktag(1), mercury__list__T_5, (MR_Integer) 0));
#line 2417 "list.m"
            MR_Word mercury__list__TT_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__T_5, (MR_Integer) 1)));

#line 2418 "list.m"
            /* direct tailcall eliminated */
#line 2418 "list.m"
            {
#line 2418 "list.m"
              MR_Box mercury__list__H__tmp_copy_4 = mercury__list__TH_7;
#line 2418 "list.m"
              MR_Word mercury__list__T__tmp_copy_5 = mercury__list__TT_8;

#line 2418 "list.m"
              mercury__list__T_5 = mercury__list__T__tmp_copy_5;
#line 2418 "list.m"
              mercury__list__H_4 = mercury__list__H__tmp_copy_4;
#line 2418 "list.m"
            }
#line 2418 "list.m"
            continue;
#line 2417 "list.m"
          }
#line 2416 "list.m"
      }
#line 2416 "list.m"
      break;
#line 2416 "list.m"
    }
#line 2410 "list.m"
}

#line 2231 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_122_105_112_50_95_95_91_49_93_95_48_3_p_0(
#line 2231 "list.m"
  MR_Word mercury__list__As_1,
#line 2231 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 2231 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 2231 "list.m"
{
#line 2233 "list.m"
  {
#line 2233 "list.m"
    MR_bool mercury__list__succeeded;

#line 2233 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2233 "list.m"
      *mercury__list__HeadVar__3_3 = mercury__list__As_1;
#line 2233 "list.m"
    else
#line 2234 "list.m"
      {
#line 2234 "list.m"
        MR_Box mercury__list__B_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2234 "list.m"
        MR_Word mercury__list__Bs_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2234 "list.m"
        MR_Word mercury__list__Cs_8;

#line 2226 "list.m"
        if ((mercury__list__As_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2226 "list.m"
          mercury__list__Cs_8 = mercury__list__Bs_7;
#line 2226 "list.m"
        else
#line 2227 "list.m"
          {
#line 2227 "list.m"
            MR_Box mercury__list__A_11 = (MR_hl_field(MR_mktag(1), mercury__list__As_1, (MR_Integer) 0));
#line 2227 "list.m"
            MR_Word mercury__list__As_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__As_1, (MR_Integer) 1)));
#line 2227 "list.m"
            MR_Word mercury__list__Cs_14;

#line 2228 "list.m"
            {
#line 2228 "list.m"
              mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_122_105_112_50_95_95_91_49_93_95_48_3_p_0(mercury__list__As_12, mercury__list__Bs_7, &mercury__list__Cs_14);
            }
#line 2227 "list.m"
            {
#line 2227 "list.m"
              mercury__list__Cs_8 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2227 "list.m"
              MR_hl_field(MR_mktag(1), mercury__list__Cs_8, 0) = mercury__list__A_11;
#line 2227 "list.m"
              MR_hl_field(MR_mktag(1), mercury__list__Cs_8, 1) = ((MR_Box) (mercury__list__Cs_14));
#line 2227 "list.m"
            }
#line 2227 "list.m"
          }
#line 2234 "list.m"
        {
#line 2234 "list.m"
          MR_Word base;
#line 2234 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2234 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2234 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__B_6;
#line 2234 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_8));
#line 2234 "list.m"
        }
#line 2234 "list.m"
      }
#line 2233 "list.m"
  }
#line 2231 "list.m"
}

#line 2112 "list.m"
static void MR_CALL 
mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_114_101_118_101_114_115_101_95_50_95_95_91_49_93_95_48_3_p_0(
#line 2112 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 2112 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 2112 "list.m"
  MR_Word * mercury__list__L_3)
#line 2112 "list.m"
{
#line 2114 "list.m"
  while (MR_TRUE)
#line 2114 "list.m"
    {
#line 2114 "list.m"
      /* tailcall optimized into a loop */
#line 2114 "list.m"
      {
#line 2114 "list.m"
        MR_bool mercury__list__succeeded;

#line 2114 "list.m"
        if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2114 "list.m"
          *mercury__list__L_3 = mercury__list__HeadVar__2_2;
#line 2114 "list.m"
        else
#line 2115 "list.m"
          {
#line 2115 "list.m"
            MR_Box mercury__list__X_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 2115 "list.m"
            MR_Word mercury__list__Xs_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 2115 "list.m"
            MR_Word mercury__list__V_9_9;

#line 2116 "list.m"
            {
#line 2116 "list.m"
              mercury__list__V_9_9 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2116 "list.m"
              MR_hl_field(MR_mktag(1), mercury__list__V_9_9, 0) = mercury__list__X_5;
#line 2116 "list.m"
              MR_hl_field(MR_mktag(1), mercury__list__V_9_9, 1) = ((MR_Box) (mercury__list__HeadVar__2_2));
#line 2116 "list.m"
            }
#line 2116 "list.m"
            /* direct tailcall eliminated */
#line 2116 "list.m"
            {
#line 2116 "list.m"
              MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__Xs_6;
#line 2116 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_9_9;

#line 2116 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2116 "list.m"
              mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 2116 "list.m"
            }
#line 2116 "list.m"
            continue;
#line 2115 "list.m"
          }
#line 2114 "list.m"
      }
#line 2114 "list.m"
      break;
#line 2114 "list.m"
    }
#line 2112 "list.m"
}

#line 106 "list.m"
void MR_CALL 
mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(
#line 106 "list.m"
  MR_Word mercury__list__V_23_23,
#line 106 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_18,
#line 106 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 106 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 106 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 106 "list.m"
{
#line 2036 "list.m"
  {
#line 2036 "list.m"
    MR_bool mercury__list__succeeded;

#line 2036 "list.m"
    {
#line 2036 "list.m"
      mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_3_p_0(mercury__list__V_23_23, mercury__list__HeadVar__1_1, mercury__list__HeadVar__2_2, mercury__list__HeadVar__3_3);
#line 2036 "list.m"
      return;
    }
#line 2036 "list.m"
  }
#line 106 "list.m"
}

#line 115 "list.m"
void MR_CALL 
mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(
#line 115 "list.m"
  MR_Word mercury__list__V_23_23,
#line 115 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_19,
#line 115 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 115 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 115 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 115 "list.m"
{
#line 2052 "list.m"
  {
#line 2052 "list.m"
    MR_bool mercury__list__succeeded;

#line 2052 "list.m"
    {
#line 2052 "list.m"
      mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_3_p_0(mercury__list__V_23_23, mercury__list__HeadVar__1_1, mercury__list__HeadVar__2_2, mercury__list__HeadVar__3_3);
#line 2052 "list.m"
      return;
    }
#line 2052 "list.m"
  }
#line 115 "list.m"
}

#line 117 "list.m"
MR_Word MR_CALL 
mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_109_101_114_103_101_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_2_f_0(
#line 117 "list.m"
  MR_Word mercury__list__V_9_9,
#line 117 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 117 "list.m"
  MR_Word mercury__list__Xs_4,
#line 117 "list.m"
  MR_Word mercury__list__Ys_5)
#line 117 "list.m"
{
#line 2050 "list.m"
  {
#line 2050 "list.m"
    MR_bool mercury__list__succeeded;
#line 2050 "list.m"
    MR_Word mercury__list__Zs_6;

#line 2050 "list.m"
    {
#line 2050 "list.m"
      return mercury__list__Zs_6 = mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_109_101_114_103_101_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_2_f_0(mercury__list__V_9_9, mercury__list__Xs_4, mercury__list__Ys_5);
    }
#line 2050 "list.m"
    return mercury__list__Zs_6;
#line 2050 "list.m"
  }
#line 117 "list.m"
}

#line 124 "list.m"
void MR_CALL 
mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_114_101_109_111_118_101_95_97_100_106_97_99_101_110_116_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_2_p_0(
#line 124 "list.m"
  MR_Word mercury__list__V_8_8,
#line 124 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_6,
#line 124 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 124 "list.m"
  MR_Word * mercury__list__HeadVar__2_2)
#line 124 "list.m"
{
#line 2205 "list.m"
  {
#line 2205 "list.m"
    MR_bool mercury__list__succeeded;

#line 2205 "list.m"
    {
#line 2205 "list.m"
      mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_114_101_109_111_118_101_95_97_100_106_97_99_101_110_116_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_2_p_0(mercury__list__V_8_8, mercury__list__HeadVar__1_1, mercury__list__HeadVar__2_2);
#line 2205 "list.m"
      return;
    }
#line 2205 "list.m"
  }
#line 124 "list.m"
}

#line 125 "list.m"
MR_Word MR_CALL 
mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_114_101_109_111_118_101_95_97_100_106_97_99_101_110_116_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_1_f_0(
#line 125 "list.m"
  MR_Word mercury__list__V_7_7,
#line 125 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_5,
#line 125 "list.m"
  MR_Word mercury__list__Xs_3)
#line 125 "list.m"
{
#line 2203 "list.m"
  {
#line 2203 "list.m"
    MR_bool mercury__list__succeeded;
#line 2203 "list.m"
    MR_Word mercury__list__Ys_4;

#line 2203 "list.m"
    {
#line 2203 "list.m"
      return mercury__list__Ys_4 = mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_114_101_109_111_118_101_95_97_100_106_97_99_101_110_116_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_1_f_0(mercury__list__V_7_7, mercury__list__Xs_3);
    }
#line 2203 "list.m"
    return mercury__list__Ys_4;
#line 2203 "list.m"
  }
#line 125 "list.m"
}

#line 140 "list.m"
MR_bool MR_CALL 
mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_109_98_101_114_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_2_p_0(
#line 140 "list.m"
  MR_Word mercury__list__V_13_13,
#line 140 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_8,
#line 140 "list.m"
  MR_Word mercury__list__X_1,
#line 140 "list.m"
  MR_Word mercury__list__HeadVar__2_2)
#line 140 "list.m"
{
#line 2016 "list.m"
  {
#line 2016 "list.m"
    MR_bool mercury__list__succeeded;

#line 2016 "list.m"
    {
#line 2016 "list.m"
      return mercury__list__succeeded = mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_109_98_101_114_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_2_p_0(mercury__list__V_13_13, mercury__list__X_1, mercury__list__HeadVar__2_2);
    }
#line 2016 "list.m"
    return mercury__list__succeeded;
#line 2016 "list.m"
  }
#line 140 "list.m"
}

#line 340 "list.m"
void MR_CALL 
mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_115_111_114_116_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_2_p_0(
#line 340 "list.m"
  MR_Word mercury__list__V_8_8,
#line 340 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_6,
#line 340 "list.m"
  MR_Word mercury__list__L0_3,
#line 340 "list.m"
  MR_Word * mercury__list__L_4)
#line 340 "list.m"
{
#line 2128 "list.m"
  {
#line 2128 "list.m"
    MR_bool mercury__list__succeeded;
#line 2128 "list.m"
    MR_Integer mercury__list__V_5_5;

#line 2081 "list.m"
    {
#line 2081 "list.m"
      mercury__list__length_2_3_p_0(mercury__list__TypeInfo_for_T_6, (MR_Word) mercury__list__L0_3, (MR_Integer) 0, &mercury__list__V_5_5);
    }
#line 2129 "list.m"
    {
#line 2129 "list.m"
      mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_115_111_114_116_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_50_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(mercury__list__V_8_8, mercury__list__TypeInfo_for_T_6, mercury__list__V_5_5, mercury__list__L0_3, mercury__list__L_4);
#line 2129 "list.m"
      return;
    }
#line 2128 "list.m"
  }
#line 340 "list.m"
}

#line 341 "list.m"
MR_Word MR_CALL 
mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_115_111_114_116_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_1_f_0(
#line 341 "list.m"
  MR_Word mercury__list__V_7_7,
#line 341 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_5,
#line 341 "list.m"
  MR_Word mercury__list__Xs_3)
#line 341 "list.m"
{
#line 2127 "list.m"
  {
#line 2127 "list.m"
    MR_bool mercury__list__succeeded;
#line 2127 "list.m"
    MR_Word mercury__list__Ys_4;
#line 2127 "list.m"
    MR_Integer mercury__list__V_10_10;

#line 2081 "list.m"
    {
#line 2081 "list.m"
      mercury__list__length_2_3_p_0(mercury__list__TypeInfo_for_T_5, (MR_Word) mercury__list__Xs_3, (MR_Integer) 0, &mercury__list__V_10_10);
    }
#line 2129 "list.m"
    {
#line 2129 "list.m"
      mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_115_111_114_116_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_50_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(mercury__list__V_7_7, mercury__list__TypeInfo_for_T_5, mercury__list__V_10_10, mercury__list__Xs_3, &mercury__list__Ys_4);
    }
#line 2127 "list.m"
    return mercury__list__Ys_4;
#line 2127 "list.m"
  }
#line 341 "list.m"
}

#line 347 "list.m"
void MR_CALL 
mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_115_111_114_116_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_2_p_0(
#line 347 "list.m"
  MR_Word mercury__list__V_7_7,
#line 347 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_5,
#line 347 "list.m"
  MR_Word mercury__list__L0_3,
#line 347 "list.m"
  MR_Word * mercury__list__L_4)
#line 347 "list.m"
{
#line 2124 "list.m"
  {
#line 2124 "list.m"
    MR_bool mercury__list__succeeded;
#line 2124 "list.m"
    MR_Integer mercury__list__V_10_10;

#line 2081 "list.m"
    {
#line 2081 "list.m"
      mercury__list__length_2_3_p_0(mercury__list__TypeInfo_for_T_5, (MR_Word) mercury__list__L0_3, (MR_Integer) 0, &mercury__list__V_10_10);
    }
#line 2135 "list.m"
    {
#line 2135 "list.m"
      mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_115_111_114_116_95_50_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(mercury__list__V_7_7, mercury__list__TypeInfo_for_T_5, mercury__list__V_10_10, mercury__list__L0_3, mercury__list__L_4);
#line 2135 "list.m"
      return;
    }
#line 2124 "list.m"
  }
#line 347 "list.m"
}

#line 348 "list.m"
MR_Word MR_CALL 
mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_115_111_114_116_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_1_f_0(
#line 348 "list.m"
  MR_Word mercury__list__V_7_7,
#line 348 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_5,
#line 348 "list.m"
  MR_Word mercury__list__Xs_3)
#line 348 "list.m"
{
#line 2121 "list.m"
  {
#line 2121 "list.m"
    MR_bool mercury__list__succeeded;
#line 2121 "list.m"
    MR_Word mercury__list__Ys_4;
#line 2121 "list.m"
    MR_Integer mercury__list__V_13_13;

#line 2081 "list.m"
    {
#line 2081 "list.m"
      mercury__list__length_2_3_p_0(mercury__list__TypeInfo_for_T_5, (MR_Word) mercury__list__Xs_3, (MR_Integer) 0, &mercury__list__V_13_13);
    }
#line 2135 "list.m"
    {
#line 2135 "list.m"
      mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_115_111_114_116_95_50_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(mercury__list__V_7_7, mercury__list__TypeInfo_for_T_5, mercury__list__V_13_13, mercury__list__Xs_3, &mercury__list__Ys_4);
    }
#line 2121 "list.m"
    return mercury__list__Ys_4;
#line 2121 "list.m"
  }
#line 348 "list.m"
}

#line 2131 "list.m"
void MR_CALL 
mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_115_111_114_116_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_2_p_0(
#line 2131 "list.m"
  MR_Word mercury__list__V_8_8,
#line 2131 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_6,
#line 2131 "list.m"
  MR_Word mercury__list__List_3,
#line 2131 "list.m"
  MR_Word * mercury__list__SortedList_4)
#line 2131 "list.m"
{
#line 2134 "list.m"
  {
#line 2134 "list.m"
    MR_bool mercury__list__succeeded;
#line 2134 "list.m"
    MR_Integer mercury__list__V_5_5;

#line 2081 "list.m"
    {
#line 2081 "list.m"
      mercury__list__length_2_3_p_0(mercury__list__TypeInfo_for_T_6, (MR_Word) mercury__list__List_3, (MR_Integer) 0, &mercury__list__V_5_5);
    }
#line 2135 "list.m"
    {
#line 2135 "list.m"
      mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_115_111_114_116_95_50_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(mercury__list__V_8_8, mercury__list__TypeInfo_for_T_6, mercury__list__V_5_5, mercury__list__List_3, mercury__list__SortedList_4);
#line 2135 "list.m"
      return;
    }
#line 2134 "list.m"
  }
#line 2131 "list.m"
}

#line 2139 "list.m"
void MR_CALL 
mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_115_111_114_116_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_50_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(
#line 2139 "list.m"
  MR_Word mercury__list__V_20_20,
#line 2139 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_18,
#line 2139 "list.m"
  MR_Integer mercury__list__Length_4,
#line 2139 "list.m"
  MR_Word mercury__list__List_5,
#line 2139 "list.m"
  MR_Word * mercury__list__SortedList_6)
#line 2139 "list.m"
{
#line 2156 "list.m"
  {
#line 2156 "list.m"
    MR_bool mercury__list__succeeded = (mercury__list__Length_4 > (MR_Integer) 1);

#line 2156 "list.m"
    if (mercury__list__succeeded)
#line 2146 "list.m"
      {
#line 2146 "list.m"
        MR_Integer mercury__list__HalfLength_7 = (mercury__list__Length_4 / (MR_Integer) 2);
#line 2153 "list.m"
        MR_Word mercury__list__Front_8;
#line 2153 "list.m"
        MR_Word mercury__list__Back_9;
#line 2147 "list.m"
        MR_Word mercury__list__conv1_Front_8;
#line 2147 "list.m"
        MR_Word mercury__list__conv0_Back_9;

#line 2147 "list.m"
        {
#line 2147 "list.m"
          mercury__list__succeeded = mercury__list__split_list_4_p_0(mercury__list__TypeInfo_for_T_18, mercury__list__HalfLength_7, (MR_Word) mercury__list__List_5, &mercury__list__conv1_Front_8, &mercury__list__conv0_Back_9);
        }
#line 2147 "list.m"
        if (mercury__list__succeeded)
#line 2147 "list.m"
          {
#line 2147 "list.m"
            mercury__list__Front_8 = (MR_Word) mercury__list__conv1_Front_8;
#line 2147 "list.m"
            mercury__list__Back_9 = (MR_Word) mercury__list__conv0_Back_9;
#line 2147 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2147 "list.m"
          }
#line 2153 "list.m"
        if (mercury__list__succeeded)
#line 2149 "list.m"
          {
#line 2149 "list.m"
            MR_Word mercury__list__SortedFront_10;
#line 2149 "list.m"
            MR_Word mercury__list__SortedBack_11;
#line 2149 "list.m"
            MR_Integer mercury__list__V_14_14;

#line 2148 "list.m"
            {
#line 2148 "list.m"
              mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_115_111_114_116_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_50_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(mercury__list__V_20_20, mercury__list__TypeInfo_for_T_18, mercury__list__HalfLength_7, mercury__list__Front_8, &mercury__list__SortedFront_10);
            }
#line 2150 "list.m"
            mercury__list__V_14_14 = (mercury__list__Length_4 - mercury__list__HalfLength_7);
#line 2150 "list.m"
            {
#line 2150 "list.m"
              mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_115_111_114_116_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_50_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(mercury__list__V_20_20, mercury__list__TypeInfo_for_T_18, mercury__list__V_14_14, mercury__list__Back_9, &mercury__list__SortedBack_11);
            }
#line 2152 "list.m"
            {
#line 2152 "list.m"
              mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_3_p_0(mercury__list__V_20_20, mercury__list__SortedFront_10, mercury__list__SortedBack_11, mercury__list__SortedList_6);
#line 2152 "list.m"
              return;
            }
#line 2149 "list.m"
          }
#line 2153 "list.m"
        else
#line 2154 "list.m"
          {
#line 2154 "list.m"
            {
#line 2154 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.merge_sort_and_remove_dups_2\'/3", (MR_String) "split failed");
#line 2154 "list.m"
              return;
            }
#line 2154 "list.m"
          }
#line 2146 "list.m"
      }
#line 2156 "list.m"
    else
#line 2157 "list.m"
      *mercury__list__SortedList_6 = mercury__list__List_5;
#line 2156 "list.m"
  }
#line 2139 "list.m"
}

#line 2162 "list.m"
void MR_CALL 
mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_115_111_114_116_95_50_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(
#line 2162 "list.m"
  MR_Word mercury__list__V_20_20,
#line 2162 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_18,
#line 2162 "list.m"
  MR_Integer mercury__list__Length_4,
#line 2162 "list.m"
  MR_Word mercury__list__List_5,
#line 2162 "list.m"
  MR_Word * mercury__list__SortedList_6)
#line 2162 "list.m"
{
#line 2175 "list.m"
  {
#line 2175 "list.m"
    MR_bool mercury__list__succeeded = (mercury__list__Length_4 > (MR_Integer) 1);

#line 2175 "list.m"
    if (mercury__list__succeeded)
#line 2167 "list.m"
      {
#line 2167 "list.m"
        MR_Integer mercury__list__HalfLength_7 = (mercury__list__Length_4 / (MR_Integer) 2);
#line 2172 "list.m"
        MR_Word mercury__list__Front_8;
#line 2172 "list.m"
        MR_Word mercury__list__Back_9;
#line 2168 "list.m"
        MR_Word mercury__list__conv1_Front_8;
#line 2168 "list.m"
        MR_Word mercury__list__conv0_Back_9;

#line 2168 "list.m"
        {
#line 2168 "list.m"
          mercury__list__succeeded = mercury__list__split_list_4_p_0(mercury__list__TypeInfo_for_T_18, mercury__list__HalfLength_7, (MR_Word) mercury__list__List_5, &mercury__list__conv1_Front_8, &mercury__list__conv0_Back_9);
        }
#line 2168 "list.m"
        if (mercury__list__succeeded)
#line 2168 "list.m"
          {
#line 2168 "list.m"
            mercury__list__Front_8 = (MR_Word) mercury__list__conv1_Front_8;
#line 2168 "list.m"
            mercury__list__Back_9 = (MR_Word) mercury__list__conv0_Back_9;
#line 2168 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2168 "list.m"
          }
#line 2172 "list.m"
        if (mercury__list__succeeded)
#line 2169 "list.m"
          {
#line 2169 "list.m"
            MR_Word mercury__list__SortedFront_10;
#line 2169 "list.m"
            MR_Word mercury__list__SortedBack_11;
#line 2169 "list.m"
            MR_Integer mercury__list__V_14_14;

#line 2169 "list.m"
            {
#line 2169 "list.m"
              mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_115_111_114_116_95_50_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(mercury__list__V_20_20, mercury__list__TypeInfo_for_T_18, mercury__list__HalfLength_7, mercury__list__Front_8, &mercury__list__SortedFront_10);
            }
#line 2170 "list.m"
            mercury__list__V_14_14 = (mercury__list__Length_4 - mercury__list__HalfLength_7);
#line 2170 "list.m"
            {
#line 2170 "list.m"
              mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_115_111_114_116_95_50_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(mercury__list__V_20_20, mercury__list__TypeInfo_for_T_18, mercury__list__V_14_14, mercury__list__Back_9, &mercury__list__SortedBack_11);
            }
#line 2171 "list.m"
            {
#line 2171 "list.m"
              mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_95_109_101_114_103_101_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_3_p_0(mercury__list__V_20_20, mercury__list__SortedFront_10, mercury__list__SortedBack_11, mercury__list__SortedList_6);
#line 2171 "list.m"
              return;
            }
#line 2169 "list.m"
          }
#line 2172 "list.m"
        else
#line 2173 "list.m"
          {
#line 2173 "list.m"
            {
#line 2173 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.merge_sort_2\'/3", (MR_String) "split failed");
#line 2173 "list.m"
              return;
            }
#line 2173 "list.m"
          }
#line 2167 "list.m"
      }
#line 2175 "list.m"
    else
#line 2176 "list.m"
      *mercury__list__SortedList_6 = mercury__list__List_5;
#line 2175 "list.m"
  }
#line 2162 "list.m"
}

#line 2209 "list.m"
void MR_CALL 
mercury__list__f_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_114_101_109_111_118_101_95_97_100_106_97_99_101_110_116_95_100_117_112_115_95_50_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_3_p_0(
#line 2209 "list.m"
  MR_Word mercury__list__V_13_13,
#line 2209 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_11,
#line 2209 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 2209 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 2209 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 2209 "list.m"
{
#line 2212 "list.m"
  {
#line 2212 "list.m"
    MR_bool mercury__list__succeeded;

#line 2212 "list.m"
    {
#line 2212 "list.m"
      mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_114_101_109_111_118_101_95_97_100_106_97_99_101_110_116_95_100_117_112_115_95_50_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_95_95_91_50_93_95_48_3_p_0(mercury__list__V_13_13, mercury__list__HeadVar__1_1, mercury__list__HeadVar__2_2, mercury__list__HeadVar__3_3);
#line 2212 "list.m"
      return;
    }
#line 2212 "list.m"
  }
#line 2209 "list.m"
}

#line 31 "list.m"
void MR_CALL 
mercury__list____Compare____list_1_0(
#line 31 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_15,
#line 31 "list.m"
  MR_Word * mercury__list__HeadVar__1_1,
#line 31 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 31 "list.m"
  MR_Word mercury__list__HeadVar__3_3)
#line 31 "list.m"
{
#line 31 "list.m"
  while (MR_TRUE)
#line 31 "list.m"
    {
#line 31 "list.m"
      /* tailcall optimized into a loop */
#line 31 "list.m"
      {
#line 31 "list.m"
        MR_bool mercury__list__succeeded;
#line 31 "list.m"
        MR_Integer mercury__list__CastX_13 = (MR_Integer) mercury__list__HeadVar__2_2;
#line 31 "list.m"
        MR_Integer mercury__list__CastY_14 = (MR_Integer) mercury__list__HeadVar__3_3;

#line 31 "list.m"
        mercury__list__succeeded = (mercury__list__CastX_13 == mercury__list__CastY_14);
#line 31 "list.m"
        if (mercury__list__succeeded)
#line 6452 "list.c"
          *mercury__list__HeadVar__1_1 = (MR_Integer) 0;
#line 31 "list.m"
        else
#line 31 "list.m"
          if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 31 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 31 "list.m"
              *mercury__list__HeadVar__1_1 = (MR_Integer) 0;
#line 31 "list.m"
            else
#line 6464 "list.c"
              *mercury__list__HeadVar__1_1 = (MR_Integer) 1;
#line 31 "list.m"
          else
#line 31 "list.m"
            {
#line 31 "list.m"
              MR_Word mercury__list__V_18_18 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 31 "list.m"
              MR_Box mercury__list__V_19_19 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 31 "list.m"
              if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 6477 "list.c"
                *mercury__list__HeadVar__1_1 = (MR_Integer) 2;
#line 31 "list.m"
              else
#line 31 "list.m"
                {
#line 31 "list.m"
                  MR_Box mercury__list__V_10_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 31 "list.m"
                  MR_Word mercury__list__V_11_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 31 "list.m"
                  MR_Word mercury__list__V_12_12;

#line 31 "list.m"
                  {
#line 31 "list.m"
                    mercury__builtin__compare_3_p_0(mercury__list__TypeInfo_for_T_15, &mercury__list__V_12_12, mercury__list__V_19_19, mercury__list__V_10_10);
                  }
#line 6495 "list.c"
                  mercury__list__succeeded = (mercury__list__V_12_12 == (MR_Integer) 0);
#line 31 "list.m"
                  mercury__list__succeeded = !(mercury__list__succeeded);
#line 31 "list.m"
                  if (mercury__list__succeeded)
#line 31 "list.m"
                    *mercury__list__HeadVar__1_1 = mercury__list__V_12_12;
#line 31 "list.m"
                  else
#line 31 "list.m"
                    {
#line 31 "list.m"
                      /* direct tailcall eliminated */
#line 31 "list.m"
                      {
#line 31 "list.m"
                        MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_18_18;
#line 31 "list.m"
                        MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_11_11;

#line 31 "list.m"
                        mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 31 "list.m"
                        mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 31 "list.m"
                      }
#line 31 "list.m"
                      continue;
#line 31 "list.m"
                    }
#line 31 "list.m"
                }
#line 31 "list.m"
            }
#line 31 "list.m"
      }
#line 31 "list.m"
      break;
#line 31 "list.m"
    }
#line 31 "list.m"
}

#line 31 "list.m"
MR_bool MR_CALL 
mercury__list____Unify____list_1_0(
#line 31 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_11,
#line 31 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 31 "list.m"
  MR_Word mercury__list__HeadVar__2_2)
#line 31 "list.m"
{
#line 31 "list.m"
  while (MR_TRUE)
#line 31 "list.m"
    {
#line 31 "list.m"
      /* tailcall optimized into a loop */
#line 31 "list.m"
      {
#line 31 "list.m"
        MR_bool mercury__list__succeeded;
#line 31 "list.m"
        MR_Integer mercury__list__CastX_9 = (MR_Integer) mercury__list__HeadVar__1_1;
#line 31 "list.m"
        MR_Integer mercury__list__CastY_10 = (MR_Integer) mercury__list__HeadVar__2_2;

#line 31 "list.m"
        mercury__list__succeeded = (mercury__list__CastX_9 == mercury__list__CastY_10);
#line 31 "list.m"
        if (mercury__list__succeeded)
#line 31 "list.m"
          mercury__list__succeeded = MR_TRUE;
#line 31 "list.m"
        else
#line 31 "list.m"
          if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 31 "list.m"
            {
#line 31 "list.m"
              MR_Integer mercury__list__CastX_3 = (MR_Integer) mercury__list__HeadVar__1_1;
#line 31 "list.m"
              MR_Integer mercury__list__CastY_4 = (MR_Integer) mercury__list__HeadVar__2_2;

#line 31 "list.m"
              mercury__list__succeeded = (mercury__list__CastY_4 == mercury__list__CastX_3);
#line 31 "list.m"
            }
#line 31 "list.m"
          else
#line 31 "list.m"
            {
#line 31 "list.m"
              MR_Box mercury__list__V_5_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 31 "list.m"
              MR_Word mercury__list__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 31 "list.m"
              MR_Box mercury__list__V_7_7;
#line 31 "list.m"
              MR_Word mercury__list__V_8_8;

#line 31 "list.m"
              mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 31 "list.m"
              if (mercury__list__succeeded)
#line 31 "list.m"
                {
#line 31 "list.m"
                  mercury__list__V_7_7 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 31 "list.m"
                  mercury__list__V_8_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 6609 "list.c"
                  {
#line 6611 "list.c"
                    mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_11, mercury__list__V_5_5, mercury__list__V_7_7);
                  }
#line 31 "list.m"
                  if (mercury__list__succeeded)
#line 6616 "list.c"
                    {
#line 6618 "list.c"
                      /* direct tailcall eliminated */
#line 6620 "list.c"
                      {
#line 6622 "list.c"
                        MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__V_6_6;
#line 6624 "list.c"
                        MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_8_8;

#line 6627 "list.c"
                        mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 6629 "list.c"
                        mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 6631 "list.c"
                      }
#line 6633 "list.c"
                      continue;
#line 6635 "list.c"
                    }
#line 31 "list.m"
                }
#line 31 "list.m"
            }
#line 31 "list.m"
        return mercury__list__succeeded;
#line 31 "list.m"
      }
#line 31 "list.m"
      break;
#line 31 "list.m"
    }
#line 31 "list.m"
}

#line 3195 "list.m"
static MR_Box MR_CALL 
mercury__list__list_to_doc_2_1_f_0_1(
#line 3195 "list.m"
  MR_Box mercury__list__closure_arg)
#line 3195 "list.m"
{
#line 3195 "list.m"
  {
#line 3195 "list.m"
    MR_Box mercury__list__wrapper_arg_1;
#line 3195 "list.m"
    MR_Box mercury__list__closure = mercury__list__closure_arg;
#line 3195 "list.m"
    MR_Word mercury__list__conv0_HeadVar__2_2;

#line 3195 "list.m"
    {
#line 3195 "list.m"
      mercury__list__conv0_HeadVar__2_2 = mercury__list__list_to_doc_2_1_f_0(((MR_Word) (MR_hl_field(MR_mktag(0), mercury__list__closure, (MR_Integer) 3))), ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__list__closure, (MR_Integer) 4))));
    }
#line 3195 "list.m"
    mercury__list__wrapper_arg_1 = ((MR_Box) (mercury__list__conv0_HeadVar__2_2));
#line 3195 "list.m"
    return mercury__list__wrapper_arg_1;
#line 3195 "list.m"
  }
#line 3195 "list.m"
}

#line 3183 "list.m"
static MR_Word MR_CALL 
mercury__list__list_to_doc_2_1_f_0(
#line 3183 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_26,
#line 3183 "list.m"
  MR_Word mercury__list__HeadVar__1_1)
#line 3183 "list.m"
{
#line 3185 "list.m"
  {
#line 3185 "list.m"
    MR_bool mercury__list__succeeded;
#line 3185 "list.m"
    MR_Word mercury__list__HeadVar__2_2;

#line 3185 "list.m"
    if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3185 "list.m"
      {
#line 3185 "list.m"
        mercury__list__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__list_scalar_common_5[4]);
#line 3185 "list.m"
      }
#line 3185 "list.m"
    else
#line 3186 "list.m"
      {
#line 3186 "list.m"
        MR_Box mercury__list__X_4 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 3186 "list.m"
        MR_Word mercury__list__Xs_5 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));

#line 3190 "list.m"
        if ((mercury__list__Xs_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3188 "list.m"
          {
#line 3188 "list.m"
            MR_Word mercury__list__V_25_25;
#line 3188 "list.m"
            MR_Word mercury__list__V_4_28;

#line 8 "univ.opt"
            {
#line 8 "univ.opt"
              mercury__univ__type_to_univ_2_p_1(mercury__list__TypeInfo_for_T_26, mercury__list__X_4, &mercury__list__V_4_28);
            }
#line 105 "pretty_printer.opt"
            {
#line 105 "pretty_printer.opt"
              mercury__list__V_25_25 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 105 "pretty_printer.opt"
              MR_hl_field(MR_mktag(3), mercury__list__V_25_25, 0) = ((MR_Box) (MR_Word) ((MR_Integer) 0));
#line 105 "pretty_printer.opt"
              MR_hl_field(MR_mktag(3), mercury__list__V_25_25, 1) = ((MR_Box) (mercury__list__V_4_28));
#line 105 "pretty_printer.opt"
            }
#line 3189 "list.m"
            {
#line 3189 "list.m"
              return mercury__list__HeadVar__2_2 = mercury__pretty_printer__format_arg_1_f_0(mercury__list__V_25_25);
            }
#line 3188 "list.m"
          }
#line 3190 "list.m"
        else
#line 3191 "list.m"
          {
#line 3191 "list.m"
            MR_Word mercury__list__V_9_9;
#line 3191 "list.m"
            MR_Word mercury__list__V_10_10;
#line 3191 "list.m"
            MR_Word mercury__list__V_11_11;
#line 3191 "list.m"
            MR_Word mercury__list__V_12_12;
#line 3191 "list.m"
            MR_Word mercury__list__V_13_13;
#line 3191 "list.m"
            MR_Word mercury__list__V_14_14;
#line 3191 "list.m"
            MR_Word mercury__list__V_20_20;
#line 3191 "list.m"
            MR_Word mercury__list__V_21_21;
#line 3191 "list.m"
            MR_Word mercury__list__V_22_22;
#line 3191 "list.m"
            MR_Word mercury__list__V_24_24;
#line 3191 "list.m"
            MR_Word mercury__list__V_4_32;
#line 3191 "list.m"
            MR_Word mercury__list__V_4_36;
#line 3191 "list.m"
            MR_Word mercury__list__V_5_37;
#line 3191 "list.m"
            MR_Word mercury__list__V_7_38;
#line 3191 "list.m"
            MR_Word mercury__list__V_6_39;
#line 3191 "list.m"
            MR_Word mercury__list__V_8_40;
#line 3191 "list.m"
            MR_Word mercury__list__V_9_41;
#line 3191 "list.m"
            MR_Word mercury__list__V_10_42;
#line 3191 "list.m"
            MR_Word mercury__list__V_12_43;
#line 3191 "list.m"
            MR_Word mercury__list__V_11_44;

#line 8 "univ.opt"
            {
#line 8 "univ.opt"
              mercury__univ__type_to_univ_2_p_1(mercury__list__TypeInfo_for_T_26, mercury__list__X_4, &mercury__list__V_4_32);
            }
#line 105 "pretty_printer.opt"
            {
#line 105 "pretty_printer.opt"
              mercury__list__V_11_11 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 105 "pretty_printer.opt"
              MR_hl_field(MR_mktag(3), mercury__list__V_11_11, 0) = ((MR_Box) (MR_Word) ((MR_Integer) 0));
#line 105 "pretty_printer.opt"
              MR_hl_field(MR_mktag(3), mercury__list__V_11_11, 1) = ((MR_Box) (mercury__list__V_4_32));
#line 105 "pretty_printer.opt"
            }
#line 3193 "list.m"
            {
#line 3193 "list.m"
              mercury__list__V_10_10 = mercury__pretty_printer__format_arg_1_f_0(mercury__list__V_11_11);
            }
#line 3194 "list.m"
            mercury__list__V_14_14 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__list_scalar_common_4[1]);
#line 98 "pretty_printer.opt"
            mercury__list__V_6_39 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 97 "pretty_printer.opt"
            mercury__list__V_5_37 = (MR_Word) MR_mkword(MR_mktag(3), &mercury__list_scalar_common_4[6]);
#line 100 "pretty_printer.opt"
            mercury__list__V_8_40 = (MR_Word) MR_mkword(MR_mktag(2), &mercury__list_scalar_common_5[5]);
#line 103 "pretty_printer.opt"
            mercury__list__V_11_44 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1));
#line 102 "pretty_printer.opt"
            mercury__list__V_10_42 = (MR_Word) MR_mkword(MR_mktag(3), &mercury__list_scalar_common_4[7]);
#line 104 "pretty_printer.opt"
            mercury__list__V_12_43 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 101 "pretty_printer.opt"
            mercury__list__V_9_41 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__list_scalar_common_4[8]);
#line 99 "pretty_printer.opt"
            mercury__list__V_7_38 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__list_scalar_common_4[9]);
#line 96 "pretty_printer.opt"
            mercury__list__V_4_36 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__list_scalar_common_4[10]);
#line 95 "pretty_printer.opt"
            mercury__list__V_13_13 = (MR_Word) MR_mkword(MR_mktag(2), &mercury__list_scalar_common_5[6]);
#line 3195 "list.m"
            {
#line 3195 "list.m"
              mercury__list__V_22_22 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 5 * sizeof(MR_Word)), NULL, NULL);
#line 3195 "list.m"
              MR_hl_field(MR_mktag(0), mercury__list__V_22_22, 0) = ((MR_Box) (&mercury__list_scalar_common_7[0]));
#line 3195 "list.m"
              MR_hl_field(MR_mktag(0), mercury__list__V_22_22, 1) = ((MR_Box) (mercury__list__list_to_doc_2_1_f_0_1));
#line 3195 "list.m"
              MR_hl_field(MR_mktag(0), mercury__list__V_22_22, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 2));
#line 3195 "list.m"
              MR_hl_field(MR_mktag(0), mercury__list__V_22_22, 3) = ((MR_Box) (mercury__list__TypeInfo_for_T_26));
#line 3195 "list.m"
              MR_hl_field(MR_mktag(0), mercury__list__V_22_22, 4) = ((MR_Box) (mercury__list__Xs_5));
#line 3195 "list.m"
            }
#line 3196 "list.m"
            {
#line 3196 "list.m"
              mercury__list__V_21_21 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3196 "list.m"
              MR_hl_field(MR_mktag(3), mercury__list__V_21_21, 0) = ((MR_Box) (MR_Word) ((MR_Integer) 3));
#line 3196 "list.m"
              MR_hl_field(MR_mktag(3), mercury__list__V_21_21, 1) = ((MR_Box) (mercury__list__V_22_22));
#line 3196 "list.m"
            }
#line 3196 "list.m"
            mercury__list__V_24_24 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3194 "list.m"
            {
#line 3194 "list.m"
              mercury__list__V_20_20 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3194 "list.m"
              MR_hl_field(MR_mktag(1), mercury__list__V_20_20, 0) = ((MR_Box) (mercury__list__V_21_21));
#line 3194 "list.m"
              MR_hl_field(MR_mktag(1), mercury__list__V_20_20, 1) = ((MR_Box) (mercury__list__V_24_24));
#line 3194 "list.m"
            }
#line 3193 "list.m"
            {
#line 3193 "list.m"
              mercury__list__V_12_12 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3193 "list.m"
              MR_hl_field(MR_mktag(1), mercury__list__V_12_12, 0) = ((MR_Box) (mercury__list__V_13_13));
#line 3193 "list.m"
              MR_hl_field(MR_mktag(1), mercury__list__V_12_12, 1) = ((MR_Box) (mercury__list__V_20_20));
#line 3193 "list.m"
            }
#line 3192 "list.m"
            {
#line 3192 "list.m"
              mercury__list__V_9_9 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3192 "list.m"
              MR_hl_field(MR_mktag(1), mercury__list__V_9_9, 0) = ((MR_Box) (mercury__list__V_10_10));
#line 3192 "list.m"
              MR_hl_field(MR_mktag(1), mercury__list__V_9_9, 1) = ((MR_Box) (mercury__list__V_12_12));
#line 3192 "list.m"
            }
#line 3192 "list.m"
            {
#line 3192 "list.m"
              mercury__list__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 3192 "list.m"
              MR_hl_field(MR_mktag(2), mercury__list__HeadVar__2_2, 0) = ((MR_Box) (mercury__list__V_9_9));
#line 3192 "list.m"
            }
#line 3191 "list.m"
          }
#line 3186 "list.m"
      }
#line 3185 "list.m"
    return mercury__list__HeadVar__2_2;
#line 3185 "list.m"
  }
#line 3183 "list.m"
}

#line 3148 "list.m"
void MR_CALL 
mercury__list__successive_integers_4_p_0(
#line 3148 "list.m"
  MR_Integer mercury__list__Lo_5,
#line 3148 "list.m"
  MR_Integer mercury__list__Hi_6,
#line 3148 "list.m"
  MR_Word mercury__list__STATE_VARIABLE_Ints_0_8,
#line 3148 "list.m"
  MR_Word * mercury__list__STATE_VARIABLE_Ints_9)
#line 3148 "list.m"
{
#line 3155 "list.m"
  while (MR_TRUE)
#line 3155 "list.m"
    {
#line 3155 "list.m"
      /* tailcall optimized into a loop */
#line 3155 "list.m"
      {
#line 3155 "list.m"
        MR_bool mercury__list__succeeded = (mercury__list__Lo_5 <= mercury__list__Hi_6);

#line 3155 "list.m"
        if (mercury__list__succeeded)
#line 3153 "list.m"
          {
#line 3153 "list.m"
            MR_Word mercury__list__STATE_VARIABLE_Ints_10_10;
#line 3153 "list.m"
            MR_Integer mercury__list__V_11_11;

#line 3153 "list.m"
            {
#line 3153 "list.m"
              mercury__list__STATE_VARIABLE_Ints_10_10 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3153 "list.m"
              MR_hl_field(MR_mktag(1), mercury__list__STATE_VARIABLE_Ints_10_10, 0) = ((MR_Box) (mercury__list__Hi_6));
#line 3153 "list.m"
              MR_hl_field(MR_mktag(1), mercury__list__STATE_VARIABLE_Ints_10_10, 1) = ((MR_Box) (mercury__list__STATE_VARIABLE_Ints_0_8));
#line 3153 "list.m"
            }
#line 3154 "list.m"
            mercury__list__V_11_11 = (mercury__list__Hi_6 - (MR_Integer) 1);
#line 3154 "list.m"
            /* direct tailcall eliminated */
#line 3154 "list.m"
            {
#line 3154 "list.m"
              MR_Integer mercury__list__Hi__tmp_copy_6 = mercury__list__V_11_11;
#line 3154 "list.m"
              MR_Word mercury__list__STATE_VARIABLE_Ints_0__tmp_copy_8 = mercury__list__STATE_VARIABLE_Ints_10_10;

#line 3154 "list.m"
              mercury__list__STATE_VARIABLE_Ints_0_8 = mercury__list__STATE_VARIABLE_Ints_0__tmp_copy_8;
#line 3154 "list.m"
              mercury__list__Hi_6 = mercury__list__Hi__tmp_copy_6;
#line 3154 "list.m"
            }
#line 3154 "list.m"
            continue;
#line 3153 "list.m"
          }
#line 3155 "list.m"
        else
#line 3154 "list.m"
          *mercury__list__STATE_VARIABLE_Ints_9 = mercury__list__STATE_VARIABLE_Ints_0_8;
#line 3155 "list.m"
      }
#line 3155 "list.m"
      break;
#line 3155 "list.m"
    }
#line 3148 "list.m"
}

#line 3133 "list.m"
void MR_CALL 
mercury__list__series_2_5_p_0(
#line 3133 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_15,
#line 3133 "list.m"
  MR_Box mercury__list__I_6,
#line 3133 "list.m"
  MR_Word mercury__list__OK_7,
#line 3133 "list.m"
  MR_Word mercury__list__Succ_8,
#line 3133 "list.m"
  MR_Word mercury__list__STATE_VARIABLE_Series_0_10,
#line 3133 "list.m"
  MR_Word * mercury__list__STATE_VARIABLE_Series_11)
#line 3133 "list.m"
{
#line 3140 "list.m"
  while (MR_TRUE)
#line 3140 "list.m"
    {
#line 3140 "list.m"
      /* tailcall optimized into a loop */
#line 3140 "list.m"
      {
#line 3140 "list.m"
        MR_bool mercury__list__succeeded;
#line 3137 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__OK_7, (MR_Integer) 1)));

#line 3137 "list.m"
        {
#line 3137 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__OK_7), mercury__list__I_6);
        }
#line 3140 "list.m"
        if (mercury__list__succeeded)
#line 3138 "list.m"
          {
#line 3138 "list.m"
            MR_Word mercury__list__STATE_VARIABLE_Series_12_12;
#line 3138 "list.m"
            MR_Box mercury__list__V_13_13;
#line 3139 "list.m"
            MR_Box MR_CALL (* mercury__list__func_1)(MR_Box, MR_Box);

#line 3138 "list.m"
            {
#line 3138 "list.m"
              mercury__list__STATE_VARIABLE_Series_12_12 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3138 "list.m"
              MR_hl_field(MR_mktag(1), mercury__list__STATE_VARIABLE_Series_12_12, 0) = mercury__list__I_6;
#line 3138 "list.m"
              MR_hl_field(MR_mktag(1), mercury__list__STATE_VARIABLE_Series_12_12, 1) = ((MR_Box) (mercury__list__STATE_VARIABLE_Series_0_10));
#line 3138 "list.m"
            }
#line 3139 "list.m"
            mercury__list__func_1 = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__Succ_8, (MR_Integer) 1)));
#line 3139 "list.m"
            {
#line 3139 "list.m"
              mercury__list__V_13_13 = mercury__list__func_1(((MR_Box) mercury__list__Succ_8), mercury__list__I_6);
            }
#line 3139 "list.m"
            /* direct tailcall eliminated */
#line 3139 "list.m"
            {
#line 3139 "list.m"
              MR_Box mercury__list__I__tmp_copy_6 = mercury__list__V_13_13;
#line 3139 "list.m"
              MR_Word mercury__list__STATE_VARIABLE_Series_0__tmp_copy_10 = mercury__list__STATE_VARIABLE_Series_12_12;

#line 3139 "list.m"
              mercury__list__STATE_VARIABLE_Series_0_10 = mercury__list__STATE_VARIABLE_Series_0__tmp_copy_10;
#line 3139 "list.m"
              mercury__list__I_6 = mercury__list__I__tmp_copy_6;
#line 3139 "list.m"
            }
#line 3139 "list.m"
            continue;
#line 3138 "list.m"
          }
#line 3140 "list.m"
        else
#line 3139 "list.m"
          *mercury__list__STATE_VARIABLE_Series_11 = mercury__list__STATE_VARIABLE_Series_0_10;
#line 3140 "list.m"
      }
#line 3140 "list.m"
      break;
#line 3140 "list.m"
    }
#line 3133 "list.m"
}

#line 3111 "list.m"
static MR_Word MR_CALL 
mercury__list__empty_list_0_f_0(
#line 3111 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_2)
#line 3111 "list.m"
{
#line 3115 "list.m"
  {
#line 3115 "list.m"
    MR_bool mercury__list__succeeded;
#line 3115 "list.m"
    MR_Word mercury__list__HeadVar__1_1;

#line 3115 "list.m"
    {
#line 3115 "list.m"
      return mercury__list__HeadVar__1_1 = mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_102_117_110_99_95_95_101_109_112_116_121_95_108_105_115_116_95_95_91_49_93_95_48_0_f_0();
    }
#line 3115 "list.m"
    return mercury__list__HeadVar__1_1;
#line 3115 "list.m"
  }
#line 3111 "list.m"
}

#line 3038 "list.m"
MR_bool MR_CALL 
mercury__list__hosort_5_p_0(
#line 3038 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_30,
#line 3038 "list.m"
  MR_Word mercury__list__P_6,
#line 3038 "list.m"
  MR_Integer mercury__list__N_7,
#line 3038 "list.m"
  MR_Word mercury__list__L0_8,
#line 3038 "list.m"
  MR_Word * mercury__list__L_9,
#line 3038 "list.m"
  MR_Word * mercury__list__Rest_10)
#line 3038 "list.m"
{
#line 3045 "list.m"
  {
#line 3045 "list.m"
    MR_bool mercury__list__succeeded = (mercury__list__N_7 == (MR_Integer) 1);

#line 3045 "list.m"
    if (mercury__list__succeeded)
#line 3043 "list.m"
      {
#line 3043 "list.m"
        MR_Box mercury__list__X_11;
#line 3043 "list.m"
        MR_Word mercury__list__V_19_19;

#line 3043 "list.m"
        mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__L0_8)) == (MR_mktag((MR_Integer) 1)));
#line 3043 "list.m"
        if (mercury__list__succeeded)
#line 3043 "list.m"
          {
#line 3043 "list.m"
            mercury__list__X_11 = (MR_hl_field(MR_mktag(1), mercury__list__L0_8, (MR_Integer) 0));
#line 3043 "list.m"
            *mercury__list__Rest_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__L0_8, (MR_Integer) 1)));
#line 3044 "list.m"
            mercury__list__V_19_19 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3044 "list.m"
            {
#line 3044 "list.m"
              MR_Word base;
#line 3044 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3044 "list.m"
              *mercury__list__L_9 = base;
#line 3044 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__X_11;
#line 3044 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__V_19_19));
#line 3044 "list.m"
            }
#line 3044 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 3043 "list.m"
          }
#line 3043 "list.m"
      }
#line 3045 "list.m"
    else
#line 3058 "list.m"
      {
#line 3045 "list.m"
        mercury__list__succeeded = (mercury__list__N_7 == (MR_Integer) 2);
#line 3058 "list.m"
        if (mercury__list__succeeded)
#line 3046 "list.m"
          {
#line 3046 "list.m"
            MR_Box mercury__list__Y_12;
#line 3046 "list.m"
            MR_Word mercury__list__C_13;
#line 3046 "list.m"
            MR_Word mercury__list__V_20_20;
#line 3046 "list.m"
            MR_Box mercury__list__X_28;
#line 3047 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *);
#line 3047 "list.m"
            MR_Box mercury__list__conv1_C_13;

#line 3046 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__L0_8)) == (MR_mktag((MR_Integer) 1)));
#line 3046 "list.m"
            if (mercury__list__succeeded)
#line 3046 "list.m"
              {
#line 3046 "list.m"
                mercury__list__X_28 = (MR_hl_field(MR_mktag(1), mercury__list__L0_8, (MR_Integer) 0));
#line 3046 "list.m"
                mercury__list__V_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__L0_8, (MR_Integer) 1)));
#line 3046 "list.m"
                mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__V_20_20)) == (MR_mktag((MR_Integer) 1)));
#line 3046 "list.m"
                if (mercury__list__succeeded)
#line 3046 "list.m"
                  {
#line 3046 "list.m"
                    mercury__list__Y_12 = (MR_hl_field(MR_mktag(1), mercury__list__V_20_20, (MR_Integer) 0));
#line 3046 "list.m"
                    *mercury__list__Rest_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__V_20_20, (MR_Integer) 1)));
#line 3047 "list.m"
                    mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_6, (MR_Integer) 1)));
#line 3047 "list.m"
                    {
#line 3047 "list.m"
                      mercury__list__func_0(((MR_Box) mercury__list__P_6), mercury__list__X_28, mercury__list__Y_12, &mercury__list__conv1_C_13);
                    }
#line 3047 "list.m"
                    mercury__list__C_13 = ((MR_Word) mercury__list__conv1_C_13);
#line 3051 "list.m"
                    if ((mercury__list__C_13 == (MR_Integer) 1))
#line 3049 "list.m"
                      {
#line 3049 "list.m"
                        MR_Word mercury__list__V_25_25;
#line 3049 "list.m"
                        MR_Word mercury__list__V_26_26 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 3050 "list.m"
                        {
#line 3050 "list.m"
                          mercury__list__V_25_25 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3050 "list.m"
                          MR_hl_field(MR_mktag(1), mercury__list__V_25_25, 0) = mercury__list__Y_12;
#line 3050 "list.m"
                          MR_hl_field(MR_mktag(1), mercury__list__V_25_25, 1) = ((MR_Box) (mercury__list__V_26_26));
#line 3050 "list.m"
                        }
#line 3050 "list.m"
                        {
#line 3050 "list.m"
                          MR_Word base;
#line 3050 "list.m"
                          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3050 "list.m"
                          *mercury__list__L_9 = base;
#line 3050 "list.m"
                          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__X_28;
#line 3050 "list.m"
                          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__V_25_25));
#line 3050 "list.m"
                        }
#line 3049 "list.m"
                      }
#line 3051 "list.m"
                    else
#line 3051 "list.m"
                      if ((mercury__list__C_13 == (MR_Integer) 0))
#line 3052 "list.m"
                        {
#line 3052 "list.m"
                          MR_Word mercury__list__V_23_23;
#line 3052 "list.m"
                          MR_Word mercury__list__V_24_24 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 3053 "list.m"
                          {
#line 3053 "list.m"
                            mercury__list__V_23_23 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3053 "list.m"
                            MR_hl_field(MR_mktag(1), mercury__list__V_23_23, 0) = mercury__list__Y_12;
#line 3053 "list.m"
                            MR_hl_field(MR_mktag(1), mercury__list__V_23_23, 1) = ((MR_Box) (mercury__list__V_24_24));
#line 3053 "list.m"
                          }
#line 3053 "list.m"
                          {
#line 3053 "list.m"
                            MR_Word base;
#line 3053 "list.m"
                            base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3053 "list.m"
                            *mercury__list__L_9 = base;
#line 3053 "list.m"
                            MR_hl_field(MR_mktag(1), base, 0) = mercury__list__X_28;
#line 3053 "list.m"
                            MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__V_23_23));
#line 3053 "list.m"
                          }
#line 3052 "list.m"
                        }
#line 3051 "list.m"
                      else
#line 3055 "list.m"
                        {
#line 3055 "list.m"
                          MR_Word mercury__list__V_21_21;
#line 3055 "list.m"
                          MR_Word mercury__list__V_22_22 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 3056 "list.m"
                          {
#line 3056 "list.m"
                            mercury__list__V_21_21 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3056 "list.m"
                            MR_hl_field(MR_mktag(1), mercury__list__V_21_21, 0) = mercury__list__X_28;
#line 3056 "list.m"
                            MR_hl_field(MR_mktag(1), mercury__list__V_21_21, 1) = ((MR_Box) (mercury__list__V_22_22));
#line 3056 "list.m"
                          }
#line 3056 "list.m"
                          {
#line 3056 "list.m"
                            MR_Word base;
#line 3056 "list.m"
                            base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3056 "list.m"
                            *mercury__list__L_9 = base;
#line 3056 "list.m"
                            MR_hl_field(MR_mktag(1), base, 0) = mercury__list__Y_12;
#line 3056 "list.m"
                            MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__V_21_21));
#line 3056 "list.m"
                          }
#line 3055 "list.m"
                        }
#line 3051 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 3046 "list.m"
                  }
#line 3046 "list.m"
              }
#line 3046 "list.m"
          }
#line 3058 "list.m"
        else
#line 3059 "list.m"
          {
#line 3059 "list.m"
            MR_Integer mercury__list__N1_14 = (mercury__list__N_7 / (MR_Integer) 2);
#line 3059 "list.m"
            MR_Word mercury__list__L1_15;
#line 3059 "list.m"
            MR_Word mercury__list__Middle_16;
#line 3059 "list.m"
            MR_Integer mercury__list__N2_17;
#line 3059 "list.m"
            MR_Word mercury__list__L2_18;

#line 3060 "list.m"
            {
#line 3060 "list.m"
              mercury__list__succeeded = mercury__list__hosort_5_p_0(mercury__list__TypeInfo_for_X_30, mercury__list__P_6, mercury__list__N1_14, mercury__list__L0_8, &mercury__list__L1_15, &mercury__list__Middle_16);
            }
#line 3059 "list.m"
            if (mercury__list__succeeded)
#line 3059 "list.m"
              {
#line 3061 "list.m"
                mercury__list__N2_17 = (mercury__list__N_7 - mercury__list__N1_14);
#line 3062 "list.m"
                {
#line 3062 "list.m"
                  mercury__list__succeeded = mercury__list__hosort_5_p_0(mercury__list__TypeInfo_for_X_30, mercury__list__P_6, mercury__list__N2_17, mercury__list__Middle_16, &mercury__list__L2_18, mercury__list__Rest_10);
                }
#line 3059 "list.m"
                if (mercury__list__succeeded)
#line 3059 "list.m"
                  {
#line 3063 "list.m"
                    {
#line 3063 "list.m"
                      mercury__list__merge_4_p_0(mercury__list__TypeInfo_for_X_30, mercury__list__P_6, mercury__list__L1_15, mercury__list__L2_18, mercury__list__L_9);
                    }
#line 3063 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 3059 "list.m"
                  }
#line 3059 "list.m"
              }
#line 3059 "list.m"
          }
#line 3058 "list.m"
      }
#line 3045 "list.m"
    return mercury__list__succeeded;
#line 3045 "list.m"
  }
#line 3038 "list.m"
}

#line 3002 "list.m"
void MR_CALL 
mercury__list__remove_adjacent_dups_2_4_p_0(
#line 3002 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_15,
#line 3002 "list.m"
  MR_Word mercury__list__P_1,
#line 3002 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 3002 "list.m"
  MR_Box mercury__list__HeadVar__3_3,
#line 3002 "list.m"
  MR_Word * mercury__list__HeadVar__4_4)
#line 3002 "list.m"
{
#line 3005 "list.m"
  while (MR_TRUE)
#line 3005 "list.m"
    {
#line 3005 "list.m"
      /* tailcall optimized into a loop */
#line 3005 "list.m"
      {
#line 3005 "list.m"
        MR_bool mercury__list__succeeded;

#line 3005 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3005 "list.m"
          {
#line 3005 "list.m"
            MR_Word mercury__list__V_7_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 3005 "list.m"
            {
#line 3005 "list.m"
              MR_Word base;
#line 3005 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3005 "list.m"
              *mercury__list__HeadVar__4_4 = base;
#line 3005 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__HeadVar__3_3;
#line 3005 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__V_7_7));
#line 3005 "list.m"
            }
#line 3005 "list.m"
          }
#line 3005 "list.m"
        else
#line 3006 "list.m"
          {
#line 3006 "list.m"
            MR_Box mercury__list__X1_9 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 3006 "list.m"
            MR_Word mercury__list__Xs_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 3007 "list.m"
            MR_Word mercury__list__V_16_16;
#line 3007 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 3007 "list.m"
            MR_Box mercury__list__conv1_V_16_16;

#line 3007 "list.m"
            {
#line 3007 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__HeadVar__3_3, mercury__list__X1_9, &mercury__list__conv1_V_16_16);
            }
#line 3007 "list.m"
            mercury__list__V_16_16 = ((MR_Word) mercury__list__conv1_V_16_16);
#line 3007 "list.m"
            mercury__list__succeeded = ((MR_Integer) 0 == mercury__list__V_16_16);
#line 3009 "list.m"
            if (mercury__list__succeeded)
#line 3008 "list.m"
              {
#line 3008 "list.m"
                /* direct tailcall eliminated */
#line 3008 "list.m"
                {
#line 3008 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__Xs_10;

#line 3008 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 3008 "list.m"
                }
#line 3008 "list.m"
                continue;
#line 3008 "list.m"
              }
#line 3009 "list.m"
            else
#line 3010 "list.m"
              {
#line 3010 "list.m"
                MR_Word mercury__list__L0_13;

#line 3010 "list.m"
                {
#line 3010 "list.m"
                  mercury__list__remove_adjacent_dups_2_4_p_0(mercury__list__TypeInfo_for_T_15, mercury__list__P_1, mercury__list__Xs_10, mercury__list__X1_9, &mercury__list__L0_13);
                }
#line 3011 "list.m"
                {
#line 3011 "list.m"
                  MR_Word base;
#line 3011 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3011 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 3011 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__HeadVar__3_3;
#line 3011 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__L0_13));
#line 3011 "list.m"
                }
#line 3010 "list.m"
              }
#line 3006 "list.m"
          }
#line 3005 "list.m"
      }
#line 3005 "list.m"
      break;
#line 3005 "list.m"
    }
#line 3002 "list.m"
}

#line 2385 "list.m"
MR_bool MR_CALL 
mercury__list__all_same_2_2_p_0(
#line 2385 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_6,
#line 2385 "list.m"
  MR_Box mercury__list__H_1,
#line 2385 "list.m"
  MR_Word mercury__list__HeadVar__2_2)
#line 2385 "list.m"
{
#line 2387 "list.m"
  while (MR_TRUE)
#line 2387 "list.m"
    {
#line 2387 "list.m"
      /* tailcall optimized into a loop */
#line 2387 "list.m"
      {
#line 2387 "list.m"
        MR_bool mercury__list__succeeded;

#line 2387 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2387 "list.m"
          mercury__list__succeeded = MR_TRUE;
#line 2387 "list.m"
        else
#line 2388 "list.m"
          {
#line 2388 "list.m"
            MR_Word mercury__list__T_5 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2388 "list.m"
            MR_Box mercury__list__V_7_7 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2388 "list.m"
            {
#line 2388 "list.m"
              mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_6, mercury__list__H_1, mercury__list__V_7_7);
            }
#line 2388 "list.m"
            if (mercury__list__succeeded)
#line 2389 "list.m"
              {
#line 2389 "list.m"
                /* direct tailcall eliminated */
#line 2389 "list.m"
                {
#line 2389 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_5;

#line 2389 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2389 "list.m"
                }
#line 2389 "list.m"
                continue;
#line 2389 "list.m"
              }
#line 2388 "list.m"
          }
#line 2387 "list.m"
        return mercury__list__succeeded;
#line 2387 "list.m"
      }
#line 2387 "list.m"
      break;
#line 2387 "list.m"
    }
#line 2385 "list.m"
}

#line 2341 "list.m"
void MR_CALL 
mercury__list__chunk_2_5_p_0(
#line 2341 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_29,
#line 2341 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 2341 "list.m"
  MR_Integer mercury__list__HeadVar__2_2,
#line 2341 "list.m"
  MR_Word mercury__list__List0_3,
#line 2341 "list.m"
  MR_Integer mercury__list__HeadVar__4_4,
#line 2341 "list.m"
  MR_Word * mercury__list__Lists_5)
#line 2341 "list.m"
{
#line 2344 "list.m"
  while (MR_TRUE)
#line 2344 "list.m"
    {
#line 2344 "list.m"
      /* tailcall optimized into a loop */
#line 2344 "list.m"
      {
#line 2344 "list.m"
        MR_bool mercury__list__succeeded;

#line 2344 "list.m"
        if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2348 "list.m"
          if ((mercury__list__List0_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2347 "list.m"
            *mercury__list__Lists_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2348 "list.m"
          else
#line 2349 "list.m"
            {
#line 2349 "list.m"
              MR_Word mercury__list__List_12;
#line 2349 "list.m"
              MR_Word mercury__list__V_13_13;
#line 2349 "list.m"
              MR_Word mercury__list__V_32_32 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 2107 "list.m"
              {
#line 2107 "list.m"
                mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_114_101_118_101_114_115_101_95_50_95_95_91_49_93_95_48_3_p_0(mercury__list__List0_3, mercury__list__V_32_32, &mercury__list__List_12);
              }
#line 2351 "list.m"
              mercury__list__V_13_13 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2351 "list.m"
              {
#line 2351 "list.m"
                MR_Word base;
#line 2351 "list.m"
                base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2351 "list.m"
                *mercury__list__Lists_5 = base;
#line 2351 "list.m"
                MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__list__List_12));
#line 2351 "list.m"
                MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__V_13_13));
#line 2351 "list.m"
              }
#line 2349 "list.m"
            }
#line 2344 "list.m"
        else
#line 2353 "list.m"
          {
#line 2353 "list.m"
            MR_Box mercury__list__X_14 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 2353 "list.m"
            MR_Word mercury__list__Xs_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));

#line 2354 "list.m"
            mercury__list__succeeded = (mercury__list__HeadVar__4_4 > (MR_Integer) 1);
#line 2356 "list.m"
            if (mercury__list__succeeded)
#line 2355 "list.m"
              {
#line 2355 "list.m"
                MR_Word mercury__list__V_23_23;
#line 2355 "list.m"
                MR_Integer mercury__list__V_24_24;

#line 2355 "list.m"
                {
#line 2355 "list.m"
                  mercury__list__V_23_23 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2355 "list.m"
                  MR_hl_field(MR_mktag(1), mercury__list__V_23_23, 0) = mercury__list__X_14;
#line 2355 "list.m"
                  MR_hl_field(MR_mktag(1), mercury__list__V_23_23, 1) = ((MR_Box) (mercury__list__List0_3));
#line 2355 "list.m"
                }
#line 2355 "list.m"
                mercury__list__V_24_24 = (mercury__list__HeadVar__4_4 - (MR_Integer) 1);
#line 2355 "list.m"
                /* direct tailcall eliminated */
#line 2355 "list.m"
                {
#line 2355 "list.m"
                  MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__Xs_15;
#line 2355 "list.m"
                  MR_Word mercury__list__List0__tmp_copy_3 = mercury__list__V_23_23;
#line 2355 "list.m"
                  MR_Integer mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__V_24_24;

#line 2355 "list.m"
                  mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2355 "list.m"
                  mercury__list__List0_3 = mercury__list__List0__tmp_copy_3;
#line 2355 "list.m"
                  mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 2355 "list.m"
                }
#line 2355 "list.m"
                continue;
#line 2355 "list.m"
              }
#line 2356 "list.m"
            else
#line 2357 "list.m"
              {
#line 2357 "list.m"
                MR_Word mercury__list__List_20;
#line 2357 "list.m"
                MR_Word mercury__list__Lists1_21;
#line 2357 "list.m"
                MR_Word mercury__list__V_26_26;
#line 2357 "list.m"
                MR_Word mercury__list__V_27_27;
#line 2357 "list.m"
                MR_Word mercury__list__V_38_38;

#line 2357 "list.m"
                {
#line 2357 "list.m"
                  mercury__list__V_26_26 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2357 "list.m"
                  MR_hl_field(MR_mktag(1), mercury__list__V_26_26, 0) = mercury__list__X_14;
#line 2357 "list.m"
                  MR_hl_field(MR_mktag(1), mercury__list__V_26_26, 1) = ((MR_Box) (mercury__list__List0_3));
#line 2357 "list.m"
                }
#line 2107 "list.m"
                mercury__list__V_38_38 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2107 "list.m"
                {
#line 2107 "list.m"
                  mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_114_101_118_101_114_115_101_95_50_95_95_91_49_93_95_48_3_p_0(mercury__list__V_26_26, mercury__list__V_38_38, &mercury__list__List_20);
                }
#line 2358 "list.m"
                mercury__list__V_27_27 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2358 "list.m"
                {
#line 2358 "list.m"
                  mercury__list__chunk_2_5_p_0(mercury__list__TypeInfo_for_T_29, mercury__list__Xs_15, mercury__list__HeadVar__2_2, mercury__list__V_27_27, mercury__list__HeadVar__2_2, &mercury__list__Lists1_21);
                }
#line 2359 "list.m"
                {
#line 2359 "list.m"
                  MR_Word base;
#line 2359 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2359 "list.m"
                  *mercury__list__Lists_5 = base;
#line 2359 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__list__List_20));
#line 2359 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Lists1_21));
#line 2359 "list.m"
                }
#line 2357 "list.m"
              }
#line 2353 "list.m"
          }
#line 2344 "list.m"
      }
#line 2344 "list.m"
      break;
#line 2344 "list.m"
    }
#line 2341 "list.m"
}

#line 2324 "list.m"
MR_Word MR_CALL 
mercury__list__duplicate_2_3_f_0(
#line 2324 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_12,
#line 2324 "list.m"
  MR_Integer mercury__list__N_5,
#line 2324 "list.m"
  MR_Box mercury__list__X_6,
#line 2324 "list.m"
  MR_Word mercury__list__Xs_7)
#line 2324 "list.m"
{
#line 2326 "list.m"
  while (MR_TRUE)
#line 2326 "list.m"
    {
#line 2326 "list.m"
      /* tailcall optimized into a loop */
#line 2326 "list.m"
      {
#line 2326 "list.m"
        MR_bool mercury__list__succeeded = (mercury__list__N_5 > (MR_Integer) 0);
#line 2326 "list.m"
        MR_Word mercury__list__HeadVar__4_4;

#line 2326 "list.m"
        if (mercury__list__succeeded)
#line 2328 "list.m"
          {
#line 2328 "list.m"
            MR_Integer mercury__list__V_9_9 = (mercury__list__N_5 - (MR_Integer) 1);
#line 2328 "list.m"
            MR_Word mercury__list__V_11_11;

#line 2328 "list.m"
            {
#line 2328 "list.m"
              mercury__list__V_11_11 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2328 "list.m"
              MR_hl_field(MR_mktag(1), mercury__list__V_11_11, 0) = mercury__list__X_6;
#line 2328 "list.m"
              MR_hl_field(MR_mktag(1), mercury__list__V_11_11, 1) = ((MR_Box) (mercury__list__Xs_7));
#line 2328 "list.m"
            }
#line 2326 "list.m"
            /* direct tailcall eliminated */
#line 2326 "list.m"
            {
#line 2326 "list.m"
              MR_Integer mercury__list__N__tmp_copy_5 = mercury__list__V_9_9;
#line 2326 "list.m"
              MR_Word mercury__list__Xs__tmp_copy_7 = mercury__list__V_11_11;

#line 2326 "list.m"
              mercury__list__Xs_7 = mercury__list__Xs__tmp_copy_7;
#line 2326 "list.m"
              mercury__list__N_5 = mercury__list__N__tmp_copy_5;
#line 2326 "list.m"
            }
#line 2326 "list.m"
            continue;
#line 2328 "list.m"
          }
#line 2326 "list.m"
        else
#line 2326 "list.m"
          mercury__list__HeadVar__4_4 = mercury__list__Xs_7;
#line 2326 "list.m"
        return mercury__list__HeadVar__4_4;
#line 2326 "list.m"
      }
#line 2326 "list.m"
      break;
#line 2326 "list.m"
    }
#line 2324 "list.m"
}

#line 2209 "list.m"
void MR_CALL 
mercury__list__remove_adjacent_dups_2_3_p_0(
#line 2209 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_11,
#line 2209 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 2209 "list.m"
  MR_Box mercury__list__HeadVar__2_2,
#line 2209 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 2209 "list.m"
{
#line 2212 "list.m"
  while (MR_TRUE)
#line 2212 "list.m"
    {
#line 2212 "list.m"
      /* tailcall optimized into a loop */
#line 2212 "list.m"
      {
#line 2212 "list.m"
        MR_bool mercury__list__succeeded;

#line 2212 "list.m"
        if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2212 "list.m"
          {
#line 2212 "list.m"
            MR_Word mercury__list__V_5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 2212 "list.m"
            {
#line 2212 "list.m"
              MR_Word base;
#line 2212 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2212 "list.m"
              *mercury__list__HeadVar__3_3 = base;
#line 2212 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__HeadVar__2_2;
#line 2212 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__V_5_5));
#line 2212 "list.m"
            }
#line 2212 "list.m"
          }
#line 2212 "list.m"
        else
#line 2213 "list.m"
          {
#line 2213 "list.m"
            MR_Box mercury__list__X1_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 2213 "list.m"
            MR_Word mercury__list__Xs_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));

#line 2214 "list.m"
            {
#line 2214 "list.m"
              mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_11, mercury__list__HeadVar__2_2, mercury__list__X1_6);
            }
#line 2216 "list.m"
            if (mercury__list__succeeded)
#line 2215 "list.m"
              {
#line 2215 "list.m"
                /* direct tailcall eliminated */
#line 2215 "list.m"
                {
#line 2215 "list.m"
                  MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__Xs_7;

#line 2215 "list.m"
                  mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 2215 "list.m"
                }
#line 2215 "list.m"
                continue;
#line 2215 "list.m"
              }
#line 2216 "list.m"
            else
#line 2217 "list.m"
              {
#line 2217 "list.m"
                MR_Word mercury__list__L0_10;

#line 2217 "list.m"
                {
#line 2217 "list.m"
                  mercury__list__remove_adjacent_dups_2_3_p_0(mercury__list__TypeInfo_for_T_11, mercury__list__Xs_7, mercury__list__X1_6, &mercury__list__L0_10);
                }
#line 2218 "list.m"
                {
#line 2218 "list.m"
                  MR_Word base;
#line 2218 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2218 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2218 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__HeadVar__2_2;
#line 2218 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__L0_10));
#line 2218 "list.m"
                }
#line 2217 "list.m"
              }
#line 2213 "list.m"
          }
#line 2212 "list.m"
      }
#line 2212 "list.m"
      break;
#line 2212 "list.m"
    }
#line 2209 "list.m"
}

#line 2187 "list.m"
void MR_CALL 
mercury__list__remove_dups_2_3_p_0(
#line 2187 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_11,
#line 2187 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 2187 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 2187 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 2187 "list.m"
{
#line 2190 "list.m"
  while (MR_TRUE)
#line 2190 "list.m"
    {
#line 2190 "list.m"
      /* tailcall optimized into a loop */
#line 2190 "list.m"
      {
#line 2190 "list.m"
        MR_bool mercury__list__succeeded;

#line 2190 "list.m"
        if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2190 "list.m"
          *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2190 "list.m"
        else
#line 2191 "list.m"
          {
#line 2191 "list.m"
            MR_Box mercury__list__X_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 2191 "list.m"
            MR_Word mercury__list__Xs_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 61 "set_tree234.opt"
            MR_Word mercury__list__V_15_15;

#line 63 "set_tree234.opt"
            {
#line 63 "set_tree234.opt"
              mercury__set_tree234__is_member_3_p_0(mercury__list__TypeInfo_for_T_11, mercury__list__HeadVar__2_2, mercury__list__X_5, &mercury__list__V_15_15);
            }
#line 63 "set_tree234.opt"
            mercury__list__succeeded = ((MR_Integer) 1 == mercury__list__V_15_15);
#line 2194 "list.m"
            if (mercury__list__succeeded)
#line 2193 "list.m"
              {
#line 2193 "list.m"
                /* direct tailcall eliminated */
#line 2193 "list.m"
                {
#line 2193 "list.m"
                  MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__Xs_6;

#line 2193 "list.m"
                  mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 2193 "list.m"
                }
#line 2193 "list.m"
                continue;
#line 2193 "list.m"
              }
#line 2194 "list.m"
            else
#line 2195 "list.m"
              {
#line 2195 "list.m"
                MR_Word mercury__list__SoFar_9;
#line 2195 "list.m"
                MR_Word mercury__list__Ys_10;

#line 2195 "list.m"
                {
#line 2195 "list.m"
                  mercury__set_tree234__insert_3_p_0(mercury__list__TypeInfo_for_T_11, mercury__list__X_5, mercury__list__HeadVar__2_2, &mercury__list__SoFar_9);
                }
#line 2196 "list.m"
                {
#line 2196 "list.m"
                  mercury__list__remove_dups_2_3_p_0(mercury__list__TypeInfo_for_T_11, mercury__list__Xs_6, mercury__list__SoFar_9, &mercury__list__Ys_10);
                }
#line 2197 "list.m"
                {
#line 2197 "list.m"
                  MR_Word base;
#line 2197 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2197 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2197 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__X_5;
#line 2197 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Ys_10));
#line 2197 "list.m"
                }
#line 2195 "list.m"
              }
#line 2191 "list.m"
          }
#line 2190 "list.m"
      }
#line 2190 "list.m"
      break;
#line 2190 "list.m"
    }
#line 2187 "list.m"
}

#line 2162 "list.m"
void MR_CALL 
mercury__list__merge_sort_2_3_p_0(
#line 2162 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_18,
#line 2162 "list.m"
  MR_Integer mercury__list__Length_4,
#line 2162 "list.m"
  MR_Word mercury__list__List_5,
#line 2162 "list.m"
  MR_Word * mercury__list__SortedList_6)
#line 2162 "list.m"
{
#line 2175 "list.m"
  {
#line 2175 "list.m"
    MR_bool mercury__list__succeeded = (mercury__list__Length_4 > (MR_Integer) 1);

#line 2175 "list.m"
    if (mercury__list__succeeded)
#line 2167 "list.m"
      {
#line 2167 "list.m"
        MR_Integer mercury__list__HalfLength_7 = (mercury__list__Length_4 / (MR_Integer) 2);
#line 2172 "list.m"
        MR_Word mercury__list__Front_8;
#line 2172 "list.m"
        MR_Word mercury__list__Back_9;

#line 2168 "list.m"
        {
#line 2168 "list.m"
          mercury__list__succeeded = mercury__list__split_list_4_p_0(mercury__list__TypeInfo_for_T_18, mercury__list__HalfLength_7, mercury__list__List_5, &mercury__list__Front_8, &mercury__list__Back_9);
        }
#line 2172 "list.m"
        if (mercury__list__succeeded)
#line 2169 "list.m"
          {
#line 2169 "list.m"
            MR_Word mercury__list__SortedFront_10;
#line 2169 "list.m"
            MR_Word mercury__list__SortedBack_11;
#line 2169 "list.m"
            MR_Integer mercury__list__V_14_14;

#line 2169 "list.m"
            {
#line 2169 "list.m"
              mercury__list__merge_sort_2_3_p_0(mercury__list__TypeInfo_for_T_18, mercury__list__HalfLength_7, mercury__list__Front_8, &mercury__list__SortedFront_10);
            }
#line 2170 "list.m"
            mercury__list__V_14_14 = (mercury__list__Length_4 - mercury__list__HalfLength_7);
#line 2170 "list.m"
            {
#line 2170 "list.m"
              mercury__list__merge_sort_2_3_p_0(mercury__list__TypeInfo_for_T_18, mercury__list__V_14_14, mercury__list__Back_9, &mercury__list__SortedBack_11);
            }
#line 2171 "list.m"
            {
#line 2171 "list.m"
              mercury__list__merge_3_p_0(mercury__list__TypeInfo_for_T_18, mercury__list__SortedFront_10, mercury__list__SortedBack_11, mercury__list__SortedList_6);
#line 2171 "list.m"
              return;
            }
#line 2169 "list.m"
          }
#line 2172 "list.m"
        else
#line 2173 "list.m"
          {
#line 2173 "list.m"
            {
#line 2173 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.merge_sort_2\'/3", (MR_String) "split failed");
#line 2173 "list.m"
              return;
            }
#line 2173 "list.m"
          }
#line 2167 "list.m"
      }
#line 2175 "list.m"
    else
#line 2176 "list.m"
      *mercury__list__SortedList_6 = mercury__list__List_5;
#line 2175 "list.m"
  }
#line 2162 "list.m"
}

#line 2139 "list.m"
void MR_CALL 
mercury__list__merge_sort_and_remove_dups_2_3_p_0(
#line 2139 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_18,
#line 2139 "list.m"
  MR_Integer mercury__list__Length_4,
#line 2139 "list.m"
  MR_Word mercury__list__List_5,
#line 2139 "list.m"
  MR_Word * mercury__list__SortedList_6)
#line 2139 "list.m"
{
#line 2156 "list.m"
  {
#line 2156 "list.m"
    MR_bool mercury__list__succeeded = (mercury__list__Length_4 > (MR_Integer) 1);

#line 2156 "list.m"
    if (mercury__list__succeeded)
#line 2146 "list.m"
      {
#line 2146 "list.m"
        MR_Integer mercury__list__HalfLength_7 = (mercury__list__Length_4 / (MR_Integer) 2);
#line 2153 "list.m"
        MR_Word mercury__list__Front_8;
#line 2153 "list.m"
        MR_Word mercury__list__Back_9;

#line 2147 "list.m"
        {
#line 2147 "list.m"
          mercury__list__succeeded = mercury__list__split_list_4_p_0(mercury__list__TypeInfo_for_T_18, mercury__list__HalfLength_7, mercury__list__List_5, &mercury__list__Front_8, &mercury__list__Back_9);
        }
#line 2153 "list.m"
        if (mercury__list__succeeded)
#line 2149 "list.m"
          {
#line 2149 "list.m"
            MR_Word mercury__list__SortedFront_10;
#line 2149 "list.m"
            MR_Word mercury__list__SortedBack_11;
#line 2149 "list.m"
            MR_Integer mercury__list__V_14_14;

#line 2148 "list.m"
            {
#line 2148 "list.m"
              mercury__list__merge_sort_and_remove_dups_2_3_p_0(mercury__list__TypeInfo_for_T_18, mercury__list__HalfLength_7, mercury__list__Front_8, &mercury__list__SortedFront_10);
            }
#line 2150 "list.m"
            mercury__list__V_14_14 = (mercury__list__Length_4 - mercury__list__HalfLength_7);
#line 2150 "list.m"
            {
#line 2150 "list.m"
              mercury__list__merge_sort_and_remove_dups_2_3_p_0(mercury__list__TypeInfo_for_T_18, mercury__list__V_14_14, mercury__list__Back_9, &mercury__list__SortedBack_11);
            }
#line 2152 "list.m"
            {
#line 2152 "list.m"
              mercury__list__merge_and_remove_dups_3_p_0(mercury__list__TypeInfo_for_T_18, mercury__list__SortedFront_10, mercury__list__SortedBack_11, mercury__list__SortedList_6);
#line 2152 "list.m"
              return;
            }
#line 2149 "list.m"
          }
#line 2153 "list.m"
        else
#line 2154 "list.m"
          {
#line 2154 "list.m"
            {
#line 2154 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.merge_sort_and_remove_dups_2\'/3", (MR_String) "split failed");
#line 2154 "list.m"
              return;
            }
#line 2154 "list.m"
          }
#line 2146 "list.m"
      }
#line 2156 "list.m"
    else
#line 2157 "list.m"
      *mercury__list__SortedList_6 = mercury__list__List_5;
#line 2156 "list.m"
  }
#line 2139 "list.m"
}

#line 2131 "list.m"
void MR_CALL 
mercury__list__merge_sort_2_p_0(
#line 2131 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_6,
#line 2131 "list.m"
  MR_Word mercury__list__List_3,
#line 2131 "list.m"
  MR_Word * mercury__list__SortedList_4)
#line 2131 "list.m"
{
#line 2134 "list.m"
  {
#line 2134 "list.m"
    MR_bool mercury__list__succeeded;
#line 2134 "list.m"
    MR_Integer mercury__list__V_5_5;

#line 2081 "list.m"
    {
#line 2081 "list.m"
      mercury__list__length_2_3_p_0(mercury__list__TypeInfo_for_T_6, mercury__list__List_3, (MR_Integer) 0, &mercury__list__V_5_5);
    }
#line 2135 "list.m"
    {
#line 2135 "list.m"
      mercury__list__merge_sort_2_3_p_0(mercury__list__TypeInfo_for_T_6, mercury__list__V_5_5, mercury__list__List_3, mercury__list__SortedList_4);
#line 2135 "list.m"
      return;
    }
#line 2134 "list.m"
  }
#line 2131 "list.m"
}

#line 2084 "list.m"
void MR_CALL 
mercury__list__length_2_3_p_0(
#line 2084 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_11,
#line 2084 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 2084 "list.m"
  MR_Integer mercury__list__HeadVar__2_2,
#line 2084 "list.m"
  MR_Integer * mercury__list__N_3)
#line 2084 "list.m"
{
#line 2086 "list.m"
  while (MR_TRUE)
#line 2086 "list.m"
    {
#line 2086 "list.m"
      /* tailcall optimized into a loop */
#line 2086 "list.m"
      {
#line 2086 "list.m"
        MR_bool mercury__list__succeeded;

#line 2086 "list.m"
        if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2086 "list.m"
          *mercury__list__N_3 = mercury__list__HeadVar__2_2;
#line 2086 "list.m"
        else
#line 2087 "list.m"
          {
#line 2087 "list.m"
            MR_Word mercury__list__L1_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 2087 "list.m"
            MR_Integer mercury__list__N1_9 = (mercury__list__HeadVar__2_2 + (MR_Integer) 1);
#line 2087 "list.m"
            MR_Box mercury__list__V_5_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));

#line 2089 "list.m"
            /* direct tailcall eliminated */
#line 2089 "list.m"
            {
#line 2089 "list.m"
              MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__L1_6;
#line 2089 "list.m"
              MR_Integer mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__N1_9;

#line 2089 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2089 "list.m"
              mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 2089 "list.m"
            }
#line 2089 "list.m"
            continue;
#line 2087 "list.m"
          }
#line 2086 "list.m"
      }
#line 2086 "list.m"
      break;
#line 2086 "list.m"
    }
#line 2084 "list.m"
}

#line 2003 "list.m"
MR_bool MR_CALL 
mercury__list__replace_nth_2_4_p_0(
#line 2003 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_13,
#line 2003 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 2003 "list.m"
  MR_Integer mercury__list__P_7,
#line 2003 "list.m"
  MR_Box mercury__list__R_8,
#line 2003 "list.m"
  MR_Word * mercury__list__L_9)
#line 2003 "list.m"
{
#line 2006 "list.m"
  {
#line 2006 "list.m"
    MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1)));
#line 2006 "list.m"
    MR_Box mercury__list__X_5;
#line 2006 "list.m"
    MR_Word mercury__list__Xs_6;

#line 2006 "list.m"
    if (mercury__list__succeeded)
#line 2006 "list.m"
      {
#line 2006 "list.m"
        mercury__list__X_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 2006 "list.m"
        mercury__list__Xs_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 2007 "list.m"
        mercury__list__succeeded = (mercury__list__P_7 == (MR_Integer) 1);
#line 2009 "list.m"
        if (mercury__list__succeeded)
#line 2008 "list.m"
          {
#line 2008 "list.m"
            {
#line 2008 "list.m"
              MR_Word base;
#line 2008 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2008 "list.m"
              *mercury__list__L_9 = base;
#line 2008 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__R_8;
#line 2008 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Xs_6));
#line 2008 "list.m"
            }
#line 2008 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2008 "list.m"
          }
#line 2009 "list.m"
        else
#line 2010 "list.m"
          {
#line 2010 "list.m"
            MR_Word mercury__list__L0_10;
#line 2010 "list.m"
            MR_Integer mercury__list__V_11_11 = (mercury__list__P_7 - (MR_Integer) 1);

#line 1982 "list.m"
            mercury__list__succeeded = (mercury__list__V_11_11 > (MR_Integer) 0);
#line 2010 "list.m"
            if (mercury__list__succeeded)
#line 2010 "list.m"
              {
#line 1983 "list.m"
                {
#line 1983 "list.m"
                  mercury__list__succeeded = mercury__list__replace_nth_2_4_p_0(mercury__list__TypeInfo_for_T_13, mercury__list__Xs_6, mercury__list__V_11_11, mercury__list__R_8, &mercury__list__L0_10);
                }
#line 2010 "list.m"
                if (mercury__list__succeeded)
#line 2010 "list.m"
                  {
#line 2011 "list.m"
                    {
#line 2011 "list.m"
                      MR_Word base;
#line 2011 "list.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2011 "list.m"
                      *mercury__list__L_9 = base;
#line 2011 "list.m"
                      MR_hl_field(MR_mktag(1), base, 0) = mercury__list__X_5;
#line 2011 "list.m"
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__L0_10));
#line 2011 "list.m"
                    }
#line 2011 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2010 "list.m"
                  }
#line 2010 "list.m"
              }
#line 2010 "list.m"
          }
#line 2006 "list.m"
      }
#line 2006 "list.m"
    return mercury__list__succeeded;
#line 2006 "list.m"
  }
#line 2003 "list.m"
}

#line 1898 "list.m"
void MR_CALL 
mercury__list__condense_2_3_p_0(
#line 1898 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_14,
#line 1898 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 1898 "list.m"
  MR_Word mercury__list__STATE_VARIABLE_Ys_0_2,
#line 1898 "list.m"
  MR_Word * mercury__list__STATE_VARIABLE_Ys_3)
#line 1898 "list.m"
{
#line 1900 "list.m"
  while (MR_TRUE)
#line 1900 "list.m"
    {
#line 1900 "list.m"
      /* tailcall optimized into a loop */
#line 1900 "list.m"
      {
#line 1900 "list.m"
        MR_bool mercury__list__succeeded;

#line 1900 "list.m"
        if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1900 "list.m"
          *mercury__list__STATE_VARIABLE_Ys_3 = mercury__list__STATE_VARIABLE_Ys_0_2;
#line 1900 "list.m"
        else
#line 1901 "list.m"
          {
#line 1901 "list.m"
            MR_Word mercury__list__L_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0)));
#line 1901 "list.m"
            MR_Word mercury__list__Ls_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1901 "list.m"
            MR_Word mercury__list__STATE_VARIABLE_Ys_12_12;

#line 1902 "list.m"
            {
#line 1902 "list.m"
              mercury__list__append_3_p_1(mercury__list__TypeInfo_for_T_14, mercury__list__L_7, mercury__list__STATE_VARIABLE_Ys_0_2, &mercury__list__STATE_VARIABLE_Ys_12_12);
            }
#line 1903 "list.m"
            /* direct tailcall eliminated */
#line 1903 "list.m"
            {
#line 1903 "list.m"
              MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__Ls_8;
#line 1903 "list.m"
              MR_Word mercury__list__STATE_VARIABLE_Ys_0__tmp_copy_2 = mercury__list__STATE_VARIABLE_Ys_12_12;

#line 1903 "list.m"
              mercury__list__STATE_VARIABLE_Ys_0_2 = mercury__list__STATE_VARIABLE_Ys_0__tmp_copy_2;
#line 1903 "list.m"
              mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 1903 "list.m"
            }
#line 1903 "list.m"
            continue;
#line 1901 "list.m"
          }
#line 1900 "list.m"
      }
#line 1900 "list.m"
      break;
#line 1900 "list.m"
    }
#line 1898 "list.m"
}

#line 1864 "list.m"
MR_bool MR_CALL 
mercury__list__index0_of_first_occurrence_2_4_p_0(
#line 1864 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_12,
#line 1864 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 1864 "list.m"
  MR_Box mercury__list__Y_7,
#line 1864 "list.m"
  MR_Integer mercury__list__N0_8,
#line 1864 "list.m"
  MR_Integer * mercury__list__N_9)
#line 1864 "list.m"
{
#line 1867 "list.m"
  while (MR_TRUE)
#line 1867 "list.m"
    {
#line 1867 "list.m"
      /* tailcall optimized into a loop */
#line 1867 "list.m"
      {
#line 1867 "list.m"
        MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1)));
#line 1867 "list.m"
        MR_Box mercury__list__X_5;
#line 1867 "list.m"
        MR_Word mercury__list__Xs_6;

#line 1867 "list.m"
        if (mercury__list__succeeded)
#line 1867 "list.m"
          {
#line 1867 "list.m"
            mercury__list__X_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1867 "list.m"
            mercury__list__Xs_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1868 "list.m"
            {
#line 1868 "list.m"
              mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_12, mercury__list__Y_7, mercury__list__X_5);
            }
#line 1869 "list.m"
            if (mercury__list__succeeded)
#line 1868 "list.m"
              {
#line 1868 "list.m"
                *mercury__list__N_9 = mercury__list__N0_8;
#line 1868 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 1868 "list.m"
              }
#line 1869 "list.m"
            else
#line 1869 "list.m"
              {
#line 1869 "list.m"
                MR_Integer mercury__list__V_10_10 = (mercury__list__N0_8 + (MR_Integer) 1);

#line 1869 "list.m"
                /* direct tailcall eliminated */
#line 1869 "list.m"
                {
#line 1869 "list.m"
                  MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__Xs_6;
#line 1869 "list.m"
                  MR_Integer mercury__list__N0__tmp_copy_8 = mercury__list__V_10_10;

#line 1869 "list.m"
                  mercury__list__N0_8 = mercury__list__N0__tmp_copy_8;
#line 1869 "list.m"
                  mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 1869 "list.m"
                }
#line 1869 "list.m"
                continue;
#line 1869 "list.m"
              }
#line 1867 "list.m"
          }
#line 1867 "list.m"
        return mercury__list__succeeded;
#line 1867 "list.m"
      }
#line 1867 "list.m"
      break;
#line 1867 "list.m"
    }
#line 1864 "list.m"
}

#line 1814 "list.m"
MR_bool MR_CALL 
mercury__list__nth_member_search_2_4_p_0(
#line 1814 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_12,
#line 1814 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 1814 "list.m"
  MR_Box mercury__list__Y_7,
#line 1814 "list.m"
  MR_Integer mercury__list__P_8,
#line 1814 "list.m"
  MR_Integer * mercury__list__N_9)
#line 1814 "list.m"
{
#line 1817 "list.m"
  while (MR_TRUE)
#line 1817 "list.m"
    {
#line 1817 "list.m"
      /* tailcall optimized into a loop */
#line 1817 "list.m"
      {
#line 1817 "list.m"
        MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1)));
#line 1817 "list.m"
        MR_Box mercury__list__X_5;
#line 1817 "list.m"
        MR_Word mercury__list__Xs_6;

#line 1817 "list.m"
        if (mercury__list__succeeded)
#line 1817 "list.m"
          {
#line 1817 "list.m"
            mercury__list__X_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1817 "list.m"
            mercury__list__Xs_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1818 "list.m"
            {
#line 1818 "list.m"
              mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_12, mercury__list__X_5, mercury__list__Y_7);
            }
#line 1820 "list.m"
            if (mercury__list__succeeded)
#line 1819 "list.m"
              {
#line 1819 "list.m"
                *mercury__list__N_9 = mercury__list__P_8;
#line 1819 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 1819 "list.m"
              }
#line 1820 "list.m"
            else
#line 1821 "list.m"
              {
#line 1821 "list.m"
                MR_Integer mercury__list__V_10_10 = (mercury__list__P_8 + (MR_Integer) 1);

#line 1821 "list.m"
                /* direct tailcall eliminated */
#line 1821 "list.m"
                {
#line 1821 "list.m"
                  MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__Xs_6;
#line 1821 "list.m"
                  MR_Integer mercury__list__P__tmp_copy_8 = mercury__list__V_10_10;

#line 1821 "list.m"
                  mercury__list__P_8 = mercury__list__P__tmp_copy_8;
#line 1821 "list.m"
                  mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 1821 "list.m"
                }
#line 1821 "list.m"
                continue;
#line 1821 "list.m"
              }
#line 1817 "list.m"
          }
#line 1817 "list.m"
        return mercury__list__succeeded;
#line 1817 "list.m"
      }
#line 1817 "list.m"
      break;
#line 1817 "list.m"
    }
#line 1814 "list.m"
}

#line 1755 "list.m"
MR_Word MR_CALL 
mercury__list__inst_preserving_append_2_f_0(
#line 1755 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 1755 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 1755 "list.m"
  MR_Word mercury__list__L_2)
#line 1755 "list.m"
{
#line 3175 "list.m"
  {
#line 3175 "list.m"
    MR_bool mercury__list__succeeded;
#line 3175 "list.m"
    MR_Word mercury__list__HeadVar__3_3;

#line 3175 "list.m"
    if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3175 "list.m"
      mercury__list__HeadVar__3_3 = mercury__list__L_2;
#line 3175 "list.m"
    else
#line 3176 "list.m"
      {
#line 3176 "list.m"
        MR_Box mercury__list__H_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 3176 "list.m"
        MR_Word mercury__list__T_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 3176 "list.m"
        MR_Word mercury__list__NT_8;

#line 3177 "list.m"
        {
#line 3177 "list.m"
          mercury__list__NT_8 = mercury__list__inst_preserving_append_2_f_0(mercury__list__TypeInfo_for_T_9, mercury__list__T_6, mercury__list__L_2);
        }
#line 3176 "list.m"
        {
#line 3176 "list.m"
          mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3176 "list.m"
          MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, 0) = mercury__list__H_5;
#line 3176 "list.m"
          MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, 1) = ((MR_Box) (mercury__list__NT_8));
#line 3176 "list.m"
        }
#line 3176 "list.m"
      }
#line 3175 "list.m"
    return mercury__list__HeadVar__3_3;
#line 3175 "list.m"
  }
#line 1755 "list.m"
}

#line 1715 "list.m"
MR_Word MR_CALL 
mercury__list__list_to_doc_1_f_0(
#line 1715 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_14,
#line 1715 "list.m"
  MR_Word mercury__list__Xs_3)
#line 1715 "list.m"
{
#line 3181 "list.m"
  {
#line 3181 "list.m"
    MR_bool mercury__list__succeeded;
#line 3181 "list.m"
    MR_Word mercury__list__HeadVar__2_2;
#line 3181 "list.m"
    MR_Word mercury__list__V_5_5;
#line 3181 "list.m"
    MR_Word mercury__list__V_6_6 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__list_scalar_common_5[1]);
#line 3181 "list.m"
    MR_Word mercury__list__V_8_8;
#line 3181 "list.m"
    MR_Word mercury__list__V_9_9;
#line 3181 "list.m"
    MR_Word mercury__list__V_10_10;
#line 3181 "list.m"
    MR_Word mercury__list__V_11_11;
#line 3181 "list.m"
    MR_Word mercury__list__V_13_13;
#line 3181 "list.m"
    MR_Word mercury__list__V_6_17;
#line 3181 "list.m"
    MR_Word mercury__list__V_7_18;
#line 3181 "list.m"
    MR_Word mercury__list__V_9_19;
#line 3181 "list.m"
    MR_Word mercury__list__V_8_20;
#line 3181 "list.m"
    MR_Word mercury__list__V_10_21;
#line 3181 "list.m"
    MR_Word mercury__list__V_11_22;
#line 3181 "list.m"
    MR_Word mercury__list__V_12_23;
#line 3181 "list.m"
    MR_Word mercury__list__V_14_24;
#line 3181 "list.m"
    MR_Word mercury__list__V_13_25;

#line 3181 "list.m"
    {
#line 3181 "list.m"
      mercury__list__V_9_9 = mercury__list__list_to_doc_2_1_f_0(mercury__list__TypeInfo_for_T_14, mercury__list__Xs_3);
    }
#line 3181 "list.m"
    mercury__list__V_11_11 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__list_scalar_common_5[2]);
#line 3181 "list.m"
    mercury__list__V_13_13 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3181 "list.m"
    mercury__list__V_10_10 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__list_scalar_common_4[2]);
#line 3181 "list.m"
    {
#line 3181 "list.m"
      mercury__list__V_8_8 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3181 "list.m"
      MR_hl_field(MR_mktag(1), mercury__list__V_8_8, 0) = ((MR_Box) (mercury__list__V_9_9));
#line 3181 "list.m"
      MR_hl_field(MR_mktag(1), mercury__list__V_8_8, 1) = ((MR_Box) (mercury__list__V_10_10));
#line 3181 "list.m"
    }
#line 3181 "list.m"
    {
#line 3181 "list.m"
      mercury__list__V_5_5 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3181 "list.m"
      MR_hl_field(MR_mktag(1), mercury__list__V_5_5, 0) = ((MR_Box) (mercury__list__V_6_6));
#line 3181 "list.m"
      MR_hl_field(MR_mktag(1), mercury__list__V_5_5, 1) = ((MR_Box) (mercury__list__V_8_8));
#line 3181 "list.m"
    }
#line 85 "pretty_printer.opt"
    mercury__list__V_8_20 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__list_scalar_common_5[3]);
#line 84 "pretty_printer.opt"
    mercury__list__V_7_18 = (MR_Word) MR_mkword(MR_mktag(3), &mercury__list_scalar_common_4[3]);
#line 87 "pretty_printer.opt"
    {
#line 87 "pretty_printer.opt"
      mercury__list__V_10_21 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 87 "pretty_printer.opt"
      MR_hl_field(MR_mktag(2), mercury__list__V_10_21, 0) = ((MR_Box) (mercury__list__V_5_5));
#line 87 "pretty_printer.opt"
    }
#line 90 "pretty_printer.opt"
    mercury__list__V_13_25 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2));
#line 89 "pretty_printer.opt"
    mercury__list__V_12_23 = (MR_Word) MR_mkword(MR_mktag(3), &mercury__list_scalar_common_4[4]);
#line 91 "pretty_printer.opt"
    mercury__list__V_14_24 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 88 "pretty_printer.opt"
    mercury__list__V_11_22 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__list_scalar_common_4[5]);
#line 86 "pretty_printer.opt"
    {
#line 86 "pretty_printer.opt"
      mercury__list__V_9_19 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 86 "pretty_printer.opt"
      MR_hl_field(MR_mktag(1), mercury__list__V_9_19, 0) = ((MR_Box) (mercury__list__V_10_21));
#line 86 "pretty_printer.opt"
      MR_hl_field(MR_mktag(1), mercury__list__V_9_19, 1) = ((MR_Box) (mercury__list__V_11_22));
#line 86 "pretty_printer.opt"
    }
#line 83 "pretty_printer.opt"
    {
#line 83 "pretty_printer.opt"
      mercury__list__V_6_17 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 83 "pretty_printer.opt"
      MR_hl_field(MR_mktag(1), mercury__list__V_6_17, 0) = ((MR_Box) (mercury__list__V_7_18));
#line 83 "pretty_printer.opt"
      MR_hl_field(MR_mktag(1), mercury__list__V_6_17, 1) = ((MR_Box) (mercury__list__V_9_19));
#line 83 "pretty_printer.opt"
    }
#line 82 "pretty_printer.opt"
    {
#line 82 "pretty_printer.opt"
      mercury__list__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 82 "pretty_printer.opt"
      MR_hl_field(MR_mktag(2), mercury__list__HeadVar__2_2, 0) = ((MR_Box) (mercury__list__V_6_17));
#line 82 "pretty_printer.opt"
    }
#line 3181 "list.m"
    return mercury__list__HeadVar__2_2;
#line 3181 "list.m"
  }
#line 1715 "list.m"
}

#line 1709 "list.m"
MR_Word MR_CALL 
mercury__list__det_tail_1_f_0(
#line 1709 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 1709 "list.m"
  MR_Word mercury__list__HeadVar__1_1)
#line 1709 "list.m"
{
#line 3169 "list.m"
  {
#line 3169 "list.m"
    MR_bool mercury__list__succeeded;
#line 3169 "list.m"
    MR_Word mercury__list__Xs_2;

#line 3169 "list.m"
    if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3169 "list.m"
      {
#line 3170 "list.m"
        {
#line 3170 "list.m"
          mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "function \140list.det_tail\'/1", (MR_String) "empty list");
        }
#line 3169 "list.m"
      }
#line 3169 "list.m"
    else
#line 3171 "list.m"
      {
#line 3171 "list.m"
        MR_Box mercury__list__V_7_7 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));

#line 3171 "list.m"
        mercury__list__Xs_2 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 3171 "list.m"
      }
#line 3169 "list.m"
    return mercury__list__Xs_2;
#line 3169 "list.m"
  }
#line 1709 "list.m"
}

#line 1704 "list.m"
MR_Box MR_CALL 
mercury__list__det_head_1_f_0(
#line 1704 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 1704 "list.m"
  MR_Word mercury__list__HeadVar__1_1)
#line 1704 "list.m"
{
#line 3163 "list.m"
  {
#line 3163 "list.m"
    MR_bool mercury__list__succeeded;
#line 3163 "list.m"
    MR_Box mercury__list__X_2;

#line 3163 "list.m"
    if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3163 "list.m"
      {
#line 3164 "list.m"
        {
#line 3164 "list.m"
          mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "function \140list.det_head\'/1", (MR_String) "empty list");
        }
#line 3163 "list.m"
      }
#line 3163 "list.m"
    else
#line 3165 "list.m"
      {
#line 3165 "list.m"
        MR_Word mercury__list__V_8_8;

#line 3165 "list.m"
        mercury__list__X_2 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 3165 "list.m"
        mercury__list__V_8_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 3165 "list.m"
      }
#line 3163 "list.m"
    return mercury__list__X_2;
#line 3163 "list.m"
  }
#line 1704 "list.m"
}

#line 1699 "list.m"
MR_bool MR_CALL 
mercury__list__tail_1_f_0(
#line 1699 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_5,
#line 1699 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 1699 "list.m"
  MR_Word * mercury__list__Xs_4)
#line 1699 "list.m"
{
#line 3167 "list.m"
  {
#line 3167 "list.m"
    MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1)));
#line 3167 "list.m"
    MR_Box mercury__list__V_3_3;

#line 3167 "list.m"
    if (mercury__list__succeeded)
#line 3167 "list.m"
      {
#line 3167 "list.m"
        mercury__list__V_3_3 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 3167 "list.m"
        *mercury__list__Xs_4 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 3167 "list.m"
      }
#line 3167 "list.m"
    return mercury__list__succeeded;
#line 3167 "list.m"
  }
#line 1699 "list.m"
}

#line 1697 "list.m"
MR_bool MR_CALL 
mercury__list__head_1_f_0(
#line 1697 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_5,
#line 1697 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 1697 "list.m"
  MR_Box * mercury__list__X_3)
#line 1697 "list.m"
{
#line 3161 "list.m"
  {
#line 3161 "list.m"
    MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1)));
#line 3161 "list.m"
    MR_Word mercury__list__V_4_4;

#line 3161 "list.m"
    if (mercury__list__succeeded)
#line 3161 "list.m"
      {
#line 3161 "list.m"
        *mercury__list__X_3 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 3161 "list.m"
        mercury__list__V_4_4 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 3161 "list.m"
      }
#line 3161 "list.m"
    return mercury__list__succeeded;
#line 3161 "list.m"
  }
#line 1697 "list.m"
}

#line 1693 "list.m"
MR_Word MR_CALL 
mercury__list__f_46_46_2_f_0(
#line 1693 "list.m"
  MR_Integer mercury__list__Lo_4,
#line 1693 "list.m"
  MR_Integer mercury__list__Hi_5)
#line 1693 "list.m"
{
#line 3146 "list.m"
  {
#line 3146 "list.m"
    MR_bool mercury__list__succeeded;
#line 3146 "list.m"
    MR_Word mercury__list__List_6;
#line 3146 "list.m"
    MR_Word mercury__list__V_7_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 3146 "list.m"
    {
#line 3146 "list.m"
      mercury__list__successive_integers_4_p_0(mercury__list__Lo_4, mercury__list__Hi_5, mercury__list__V_7_7, &mercury__list__List_6);
    }
#line 3146 "list.m"
    return mercury__list__List_6;
#line 3146 "list.m"
  }
#line 1693 "list.m"
}

#line 1685 "list.m"
MR_Word MR_CALL 
mercury__list__series_3_f_0(
#line 1685 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_11,
#line 1685 "list.m"
  MR_Box mercury__list__I_5,
#line 1685 "list.m"
  MR_Word mercury__list__OK_6,
#line 1685 "list.m"
  MR_Word mercury__list__Succ_7)
#line 1685 "list.m"
{
#line 3126 "list.m"
  {
#line 3126 "list.m"
    MR_bool mercury__list__succeeded;
#line 3126 "list.m"
    MR_Word mercury__list__Series_8;
#line 3126 "list.m"
    MR_Word mercury__list__Series0_9;
#line 3126 "list.m"
    MR_Word mercury__list__V_10_10 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3126 "list.m"
    MR_Word mercury__list__V_14_14;

#line 3129 "list.m"
    {
#line 3129 "list.m"
      mercury__list__series_2_5_p_0(mercury__list__TypeInfo_for_T_11, mercury__list__I_5, mercury__list__OK_6, mercury__list__Succ_7, mercury__list__V_10_10, &mercury__list__Series0_9);
    }
#line 2107 "list.m"
    mercury__list__V_14_14 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2107 "list.m"
    {
#line 2107 "list.m"
      mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_114_101_118_101_114_115_101_95_50_95_95_91_49_93_95_48_3_p_0(mercury__list__Series0_9, mercury__list__V_14_14, &mercury__list__Series_8);
    }
#line 3126 "list.m"
    return mercury__list__Series_8;
#line 3126 "list.m"
  }
#line 1685 "list.m"
}

#line 1673 "list.m"
MR_Word MR_CALL 
mercury__list__merge_and_remove_dups_3_f_0(
#line 1673 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_19,
#line 1673 "list.m"
  MR_Word mercury__list__F_5,
#line 1673 "list.m"
  MR_Word mercury__list__Xs_6,
#line 1673 "list.m"
  MR_Word mercury__list__Ys_7)
#line 1673 "list.m"
{
#line 3084 "list.m"
  {
#line 3084 "list.m"
    MR_bool mercury__list__succeeded;
#line 3084 "list.m"
    MR_Word mercury__list__Zs_8;

#line 3084 "list.m"
    {
#line 3084 "list.m"
      mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_101_114_103_101_95_97_110_100_95_114_101_109_111_118_101_95_100_117_112_115_95_95_104_111_53_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_0(mercury__list__F_5, mercury__list__Xs_6, mercury__list__Ys_7, &mercury__list__Zs_8);
    }
#line 3084 "list.m"
    return mercury__list__Zs_8;
#line 3084 "list.m"
  }
#line 1673 "list.m"
}

#line 1670 "list.m"
void MR_CALL 
mercury__list__merge_and_remove_dups_4_p_0(
#line 1670 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_24,
#line 1670 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 1670 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1670 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1670 "list.m"
  MR_Word * mercury__list__HeadVar__4_4)
#line 1670 "list.m"
{
#line 3086 "list.m"
  {
#line 3086 "list.m"
    MR_bool mercury__list__succeeded;

#line 3086 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3086 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3086 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3086 "list.m"
      else
#line 3087 "list.m"
        *mercury__list__HeadVar__4_4 = mercury__list__HeadVar__3_3;
#line 3086 "list.m"
    else
#line 3086 "list.m"
      {
#line 3086 "list.m"
        MR_Word mercury__list__V_25_25 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 3086 "list.m"
        MR_Box mercury__list__V_26_26 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 3086 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3088 "list.m"
          *mercury__list__HeadVar__4_4 = mercury__list__HeadVar__2_2;
#line 3086 "list.m"
        else
#line 3089 "list.m"
          {
#line 3089 "list.m"
            MR_Box mercury__list__H2_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 3089 "list.m"
            MR_Word mercury__list__T2_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 3089 "list.m"
            MR_Word mercury__list__C_18;
#line 3090 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 3090 "list.m"
            MR_Box mercury__list__conv1_C_18;

#line 3090 "list.m"
            {
#line 3090 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__HeadVar__1_1), mercury__list__V_26_26, mercury__list__H2_15, &mercury__list__conv1_C_18);
            }
#line 3090 "list.m"
            mercury__list__C_18 = ((MR_Word) mercury__list__conv1_C_18);
#line 3095 "list.m"
            if ((mercury__list__C_18 == (MR_Integer) 1))
#line 3092 "list.m"
              {
#line 3092 "list.m"
                MR_Word mercury__list__T_19;

#line 3093 "list.m"
                {
#line 3093 "list.m"
                  mercury__list__merge_and_remove_dups_4_p_0(mercury__list__TypeInfo_for_X_24, mercury__list__HeadVar__1_1, mercury__list__V_25_25, mercury__list__HeadVar__3_3, &mercury__list__T_19);
                }
#line 3094 "list.m"
                {
#line 3094 "list.m"
                  MR_Word base;
#line 3094 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3094 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 3094 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__V_26_26;
#line 3094 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_19));
#line 3094 "list.m"
                }
#line 3092 "list.m"
              }
#line 3095 "list.m"
            else
#line 3095 "list.m"
              if ((mercury__list__C_18 == (MR_Integer) 0))
#line 3096 "list.m"
                {
#line 3096 "list.m"
                  MR_Word mercury__list__T_22;

#line 3097 "list.m"
                  {
#line 3097 "list.m"
                    mercury__list__merge_and_remove_dups_4_p_0(mercury__list__TypeInfo_for_X_24, mercury__list__HeadVar__1_1, mercury__list__V_25_25, mercury__list__T2_16, &mercury__list__T_22);
                  }
#line 3098 "list.m"
                  {
#line 3098 "list.m"
                    MR_Word base;
#line 3098 "list.m"
                    base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3098 "list.m"
                    *mercury__list__HeadVar__4_4 = base;
#line 3098 "list.m"
                    MR_hl_field(MR_mktag(1), base, 0) = mercury__list__V_26_26;
#line 3098 "list.m"
                    MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_22));
#line 3098 "list.m"
                  }
#line 3096 "list.m"
                }
#line 3095 "list.m"
              else
#line 3100 "list.m"
                {
#line 3100 "list.m"
                  MR_Word mercury__list__T_23;

#line 3101 "list.m"
                  {
#line 3101 "list.m"
                    mercury__list__merge_and_remove_dups_4_p_0(mercury__list__TypeInfo_for_X_24, mercury__list__HeadVar__1_1, mercury__list__HeadVar__2_2, mercury__list__T2_16, &mercury__list__T_23);
                  }
#line 3102 "list.m"
                  {
#line 3102 "list.m"
                    MR_Word base;
#line 3102 "list.m"
                    base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3102 "list.m"
                    *mercury__list__HeadVar__4_4 = base;
#line 3102 "list.m"
                    MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_15;
#line 3102 "list.m"
                    MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_23));
#line 3102 "list.m"
                  }
#line 3100 "list.m"
                }
#line 3089 "list.m"
          }
#line 3086 "list.m"
      }
#line 3086 "list.m"
  }
#line 1670 "list.m"
}

#line 1660 "list.m"
MR_Word MR_CALL 
mercury__list__merge_3_f_0(
#line 1660 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_19,
#line 1660 "list.m"
  MR_Word mercury__list__F_5,
#line 1660 "list.m"
  MR_Word mercury__list__Xs_6,
#line 1660 "list.m"
  MR_Word mercury__list__Ys_7)
#line 1660 "list.m"
{
#line 3068 "list.m"
  {
#line 3068 "list.m"
    MR_bool mercury__list__succeeded;
#line 3068 "list.m"
    MR_Word mercury__list__Zs_8;

#line 3068 "list.m"
    {
#line 3068 "list.m"
      mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_109_101_114_103_101_95_95_104_111_54_95_95_91_49_44_32_51_44_32_52_93_95_48_4_p_0(mercury__list__F_5, mercury__list__Xs_6, mercury__list__Ys_7, &mercury__list__Zs_8);
    }
#line 3068 "list.m"
    return mercury__list__Zs_8;
#line 3068 "list.m"
  }
#line 1660 "list.m"
}

#line 1657 "list.m"
void MR_CALL 
mercury__list__merge_4_p_0(
#line 1657 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_23,
#line 1657 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 1657 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1657 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1657 "list.m"
  MR_Word * mercury__list__HeadVar__4_4)
#line 1657 "list.m"
{
#line 3070 "list.m"
  {
#line 3070 "list.m"
    MR_bool mercury__list__succeeded;

#line 3070 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3070 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3070 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3070 "list.m"
      else
#line 3071 "list.m"
        *mercury__list__HeadVar__4_4 = mercury__list__HeadVar__3_3;
#line 3070 "list.m"
    else
#line 3070 "list.m"
      {
#line 3070 "list.m"
        MR_Word mercury__list__V_25_25 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 3070 "list.m"
        MR_Box mercury__list__V_26_26 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 3070 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3072 "list.m"
          *mercury__list__HeadVar__4_4 = mercury__list__HeadVar__2_2;
#line 3070 "list.m"
        else
#line 3073 "list.m"
          {
#line 3073 "list.m"
            MR_Box mercury__list__H2_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 3073 "list.m"
            MR_Word mercury__list__T2_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 3074 "list.m"
            MR_Word mercury__list__V_24_24;
#line 3074 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 3074 "list.m"
            MR_Box mercury__list__conv1_V_24_24;

#line 3074 "list.m"
            {
#line 3074 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__HeadVar__1_1), mercury__list__V_26_26, mercury__list__H2_15, &mercury__list__conv1_V_24_24);
            }
#line 3074 "list.m"
            mercury__list__V_24_24 = ((MR_Word) mercury__list__conv1_V_24_24);
#line 3074 "list.m"
            mercury__list__succeeded = ((MR_Integer) 2 == mercury__list__V_24_24);
#line 3077 "list.m"
            if (mercury__list__succeeded)
#line 3075 "list.m"
              {
#line 3075 "list.m"
                MR_Word mercury__list__T_18;

#line 3075 "list.m"
                {
#line 3075 "list.m"
                  mercury__list__merge_4_p_0(mercury__list__TypeInfo_for_X_23, mercury__list__HeadVar__1_1, mercury__list__HeadVar__2_2, mercury__list__T2_16, &mercury__list__T_18);
                }
#line 3076 "list.m"
                {
#line 3076 "list.m"
                  MR_Word base;
#line 3076 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3076 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 3076 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_15;
#line 3076 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_18));
#line 3076 "list.m"
                }
#line 3075 "list.m"
              }
#line 3077 "list.m"
            else
#line 3078 "list.m"
              {
#line 3078 "list.m"
                MR_Word mercury__list__T_22;

#line 3078 "list.m"
                {
#line 3078 "list.m"
                  mercury__list__merge_4_p_0(mercury__list__TypeInfo_for_X_23, mercury__list__HeadVar__1_1, mercury__list__V_25_25, mercury__list__HeadVar__3_3, &mercury__list__T_22);
                }
#line 3079 "list.m"
                {
#line 3079 "list.m"
                  MR_Word base;
#line 3079 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3079 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 3079 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__V_26_26;
#line 3079 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_22));
#line 3079 "list.m"
                }
#line 3078 "list.m"
              }
#line 3073 "list.m"
          }
#line 3070 "list.m"
      }
#line 3070 "list.m"
  }
#line 1657 "list.m"
}

#line 1646 "list.m"
void MR_CALL 
mercury__list__remove_adjacent_dups_3_p_0(
#line 1646 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_9,
#line 1646 "list.m"
  MR_Word mercury__list__P_1,
#line 1646 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1646 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 1646 "list.m"
{
#line 2998 "list.m"
  {
#line 2998 "list.m"
    MR_bool mercury__list__succeeded;

#line 2998 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2998 "list.m"
      *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2998 "list.m"
    else
#line 2999 "list.m"
      {
#line 2999 "list.m"
        MR_Box mercury__list__X_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2999 "list.m"
        MR_Word mercury__list__Xs_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));

#line 3000 "list.m"
        {
#line 3000 "list.m"
          mercury__list__remove_adjacent_dups_2_4_p_0(mercury__list__TypeInfo_for_X_9, mercury__list__P_1, mercury__list__Xs_7, mercury__list__X_6, mercury__list__HeadVar__3_3);
#line 3000 "list.m"
          return;
        }
#line 2999 "list.m"
      }
#line 2998 "list.m"
  }
#line 1646 "list.m"
}

#line 1638 "list.m"
void MR_CALL 
mercury__list__sort_and_remove_dups_3_p_0(
#line 1638 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_8,
#line 1638 "list.m"
  MR_Word mercury__list__P_4,
#line 1638 "list.m"
  MR_Word mercury__list__L0_5,
#line 1638 "list.m"
  MR_Word * mercury__list__L_6)
#line 1638 "list.m"
{
#line 2994 "list.m"
  {
#line 2994 "list.m"
    MR_bool mercury__list__succeeded;
#line 2994 "list.m"
    MR_Word mercury__list__L1_7;

#line 2995 "list.m"
    {
#line 2995 "list.m"
      mercury__list__sort_3_p_0(mercury__list__TypeInfo_for_X_8, mercury__list__P_4, mercury__list__L0_5, &mercury__list__L1_7);
    }
#line 2998 "list.m"
    if ((mercury__list__L1_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2998 "list.m"
      *mercury__list__L_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2998 "list.m"
    else
#line 2999 "list.m"
      {
#line 2999 "list.m"
        MR_Box mercury__list__X_11 = (MR_hl_field(MR_mktag(1), mercury__list__L1_7, (MR_Integer) 0));
#line 2999 "list.m"
        MR_Word mercury__list__Xs_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__L1_7, (MR_Integer) 1)));

#line 3000 "list.m"
        {
#line 3000 "list.m"
          mercury__list__remove_adjacent_dups_2_4_p_0(mercury__list__TypeInfo_for_X_8, mercury__list__P_4, mercury__list__Xs_12, mercury__list__X_11, mercury__list__L_6);
#line 3000 "list.m"
          return;
        }
#line 2999 "list.m"
      }
#line 2994 "list.m"
  }
#line 1638 "list.m"
}

#line 1629 "list.m"
MR_Word MR_CALL 
mercury__list__sort_2_f_0(
#line 1629 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_17,
#line 1629 "list.m"
  MR_Word mercury__list__F_4,
#line 1629 "list.m"
  MR_Word mercury__list__Xs_5)
#line 1629 "list.m"
{
#line 3014 "list.m"
  {
#line 3014 "list.m"
    MR_bool mercury__list__succeeded;
#line 3014 "list.m"
    MR_Word mercury__list__Ys_6;
#line 3014 "list.m"
    MR_Integer mercury__list__N_21;

#line 2081 "list.m"
    {
#line 2081 "list.m"
      mercury__list__length_2_3_p_0(mercury__list__TypeInfo_for_X_17, mercury__list__Xs_5, (MR_Integer) 0, &mercury__list__N_21);
    }
#line 3020 "list.m"
    mercury__list__succeeded = (mercury__list__N_21 == (MR_Integer) 0);
#line 3022 "list.m"
    if (mercury__list__succeeded)
#line 3021 "list.m"
      mercury__list__Ys_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3022 "list.m"
    else
#line 3024 "list.m"
      {
#line 3024 "list.m"
        MR_Word mercury__list__L1_22;
#line 3022 "list.m"
        MR_Word mercury__list__V_23_23 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3022 "list.m"
        MR_Word mercury__list__V_27_27;

#line 3022 "list.m"
        {
#line 3022 "list.m"
          mercury__list__succeeded = mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_111_115_111_114_116_95_95_104_111_49_49_95_95_91_49_44_32_51_44_32_52_93_95_48_5_p_0(mercury__list__F_4, mercury__list__N_21, mercury__list__Xs_5, &mercury__list__L1_22, &mercury__list__V_27_27);
        }
#line 3022 "list.m"
        if (mercury__list__succeeded)
#line 3022 "list.m"
          {
#line 3022 "list.m"
            mercury__list__succeeded = mercury__list____Unify____list_1_0(mercury__list__TypeInfo_for_X_17, mercury__list__V_23_23, mercury__list__V_27_27);
          }
#line 3024 "list.m"
        if (mercury__list__succeeded)
#line 3023 "list.m"
          mercury__list__Ys_6 = mercury__list__L1_22;
#line 3024 "list.m"
        else
#line 3025 "list.m"
          {
#line 3025 "list.m"
            {
#line 3025 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.sort\'/3", (MR_String) "hosort failed");
            }
#line 3025 "list.m"
          }
#line 3024 "list.m"
      }
#line 3014 "list.m"
    return mercury__list__Ys_6;
#line 3014 "list.m"
  }
#line 1629 "list.m"
}

#line 1627 "list.m"
void MR_CALL 
mercury__list__sort_3_p_0(
#line 1627 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_13,
#line 1627 "list.m"
  MR_Word mercury__list__P_4,
#line 1627 "list.m"
  MR_Word mercury__list__L0_5,
#line 1627 "list.m"
  MR_Word * mercury__list__L_6)
#line 1627 "list.m"
{
#line 3018 "list.m"
  {
#line 3018 "list.m"
    MR_bool mercury__list__succeeded;
#line 3018 "list.m"
    MR_Integer mercury__list__N_7;

#line 2081 "list.m"
    {
#line 2081 "list.m"
      mercury__list__length_2_3_p_0(mercury__list__TypeInfo_for_X_13, mercury__list__L0_5, (MR_Integer) 0, &mercury__list__N_7);
    }
#line 3020 "list.m"
    mercury__list__succeeded = (mercury__list__N_7 == (MR_Integer) 0);
#line 3022 "list.m"
    if (mercury__list__succeeded)
#line 3021 "list.m"
      *mercury__list__L_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3022 "list.m"
    else
#line 3024 "list.m"
      {
#line 3024 "list.m"
        MR_Word mercury__list__L1_8;
#line 3022 "list.m"
        MR_Word mercury__list__V_9_9 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3022 "list.m"
        MR_Word mercury__list__V_14_14;

#line 3022 "list.m"
        {
#line 3022 "list.m"
          mercury__list__succeeded = mercury__list__hosort_5_p_0(mercury__list__TypeInfo_for_X_13, mercury__list__P_4, mercury__list__N_7, mercury__list__L0_5, &mercury__list__L1_8, &mercury__list__V_14_14);
        }
#line 3022 "list.m"
        if (mercury__list__succeeded)
#line 3022 "list.m"
          {
#line 3022 "list.m"
            mercury__list__succeeded = mercury__list____Unify____list_1_0(mercury__list__TypeInfo_for_X_13, mercury__list__V_9_9, mercury__list__V_14_14);
          }
#line 3024 "list.m"
        if (mercury__list__succeeded)
#line 3023 "list.m"
          *mercury__list__L_6 = mercury__list__L1_8;
#line 3024 "list.m"
        else
#line 3025 "list.m"
          {
#line 3025 "list.m"
            {
#line 3025 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.sort\'/3", (MR_String) "hosort failed");
#line 3025 "list.m"
              return;
            }
#line 3025 "list.m"
          }
#line 3024 "list.m"
      }
#line 3018 "list.m"
  }
#line 1627 "list.m"
}

#line 1615 "list.m"
void MR_CALL 
mercury__list__takewhile_4_p_0(
#line 1615 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_12,
#line 1615 "list.m"
  MR_Word mercury__list__P_1,
#line 1615 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1615 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1615 "list.m"
  MR_Word * mercury__list__HeadVar__4_4)
#line 1615 "list.m"
{
#line 2984 "list.m"
  {
#line 2984 "list.m"
    MR_bool mercury__list__succeeded;

#line 2984 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2984 "list.m"
      {
#line 2984 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2984 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2984 "list.m"
      }
#line 2984 "list.m"
    else
#line 2985 "list.m"
      {
#line 2985 "list.m"
        MR_Box mercury__list__X_7 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2985 "list.m"
        MR_Word mercury__list__Xs_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2986 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2986 "list.m"
        {
#line 2986 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__X_7);
        }
#line 2989 "list.m"
        if (mercury__list__succeeded)
#line 2987 "list.m"
          {
#line 2987 "list.m"
            MR_Word mercury__list__Ins0_11;

#line 2988 "list.m"
            {
#line 2988 "list.m"
              mercury__list__takewhile_4_p_0(mercury__list__TypeInfo_for_T_12, mercury__list__P_1, mercury__list__Xs_8, &mercury__list__Ins0_11, mercury__list__HeadVar__4_4);
            }
#line 2987 "list.m"
            {
#line 2987 "list.m"
              MR_Word base;
#line 2987 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2987 "list.m"
              *mercury__list__HeadVar__3_3 = base;
#line 2987 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__X_7;
#line 2987 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Ins0_11));
#line 2987 "list.m"
            }
#line 2987 "list.m"
          }
#line 2989 "list.m"
        else
#line 2990 "list.m"
          {
#line 2990 "list.m"
            *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2991 "list.m"
            *mercury__list__HeadVar__4_4 = mercury__list__HeadVar__2_2;
#line 2990 "list.m"
          }
#line 2985 "list.m"
      }
#line 2984 "list.m"
  }
#line 1615 "list.m"
}

#line 1606 "list.m"
MR_bool MR_CALL 
mercury__list__find_index_of_match_4_p_0(
#line 1606 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_12,
#line 1606 "list.m"
  MR_Word mercury__list__Match_5,
#line 1606 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1606 "list.m"
  MR_Integer mercury__list__Index0_8,
#line 1606 "list.m"
  MR_Integer * mercury__list__Index_9)
#line 1606 "list.m"
{
#line 2975 "list.m"
  while (MR_TRUE)
#line 2975 "list.m"
    {
#line 2975 "list.m"
      /* tailcall optimized into a loop */
#line 2975 "list.m"
      {
#line 2975 "list.m"
        MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 2975 "list.m"
        MR_Box mercury__list__X_6;
#line 2975 "list.m"
        MR_Word mercury__list__Xs_7;
#line 2976 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box);

#line 2975 "list.m"
        if (mercury__list__succeeded)
#line 2975 "list.m"
          {
#line 2975 "list.m"
            mercury__list__X_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2975 "list.m"
            mercury__list__Xs_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2976 "list.m"
            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__Match_5, (MR_Integer) 1)));
#line 2976 "list.m"
            {
#line 2976 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__Match_5), mercury__list__X_6);
            }
#line 2978 "list.m"
            if (mercury__list__succeeded)
#line 2977 "list.m"
              {
#line 2977 "list.m"
                *mercury__list__Index_9 = mercury__list__Index0_8;
#line 2977 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2977 "list.m"
              }
#line 2978 "list.m"
            else
#line 2979 "list.m"
              {
#line 2979 "list.m"
                MR_Integer mercury__list__V_10_10 = (mercury__list__Index0_8 + (MR_Integer) 1);

#line 2979 "list.m"
                /* direct tailcall eliminated */
#line 2979 "list.m"
                {
#line 2979 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__Xs_7;
#line 2979 "list.m"
                  MR_Integer mercury__list__Index0__tmp_copy_8 = mercury__list__V_10_10;

#line 2979 "list.m"
                  mercury__list__Index0_8 = mercury__list__Index0__tmp_copy_8;
#line 2979 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2979 "list.m"
                }
#line 2979 "list.m"
                continue;
#line 2979 "list.m"
              }
#line 2975 "list.m"
          }
#line 2975 "list.m"
        return mercury__list__succeeded;
#line 2975 "list.m"
      }
#line 2975 "list.m"
      break;
#line 2975 "list.m"
    }
#line 1606 "list.m"
}

#line 1596 "list.m"
MR_bool MR_CALL 
mercury__list__find_first_map3_5_p_0(
#line 1596 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_15,
#line 1596 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_16,
#line 1596 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_17,
#line 1596 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_18,
#line 1596 "list.m"
  MR_Word mercury__list__P_6,
#line 1596 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1596 "list.m"
  MR_Box * mercury__list__A_9,
#line 1596 "list.m"
  MR_Box * mercury__list__B_10,
#line 1596 "list.m"
  MR_Box * mercury__list__C_11)
#line 1596 "list.m"
{
#line 2966 "list.m"
  while (MR_TRUE)
#line 2966 "list.m"
    {
#line 2966 "list.m"
      /* tailcall optimized into a loop */
#line 2966 "list.m"
      {
#line 2966 "list.m"
        MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 2966 "list.m"
        MR_Box mercury__list__X_7;
#line 2966 "list.m"
        MR_Word mercury__list__Xs_8;
#line 2971 "list.m"
        MR_Box mercury__list__A0_12;
#line 2971 "list.m"
        MR_Box mercury__list__B0_13;
#line 2971 "list.m"
        MR_Box mercury__list__C0_14;
#line 2967 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *);

#line 2966 "list.m"
        if (mercury__list__succeeded)
#line 2966 "list.m"
          {
#line 2966 "list.m"
            mercury__list__X_7 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2966 "list.m"
            mercury__list__Xs_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2967 "list.m"
            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_6, (MR_Integer) 1)));
#line 2967 "list.m"
            {
#line 2967 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_6), mercury__list__X_7, &mercury__list__A0_12, &mercury__list__B0_13, &mercury__list__C0_14);
            }
#line 2971 "list.m"
            if (mercury__list__succeeded)
#line 2968 "list.m"
              {
#line 2968 "list.m"
                *mercury__list__A_9 = mercury__list__A0_12;
#line 2969 "list.m"
                *mercury__list__B_10 = mercury__list__B0_13;
#line 2970 "list.m"
                *mercury__list__C_11 = mercury__list__C0_14;
#line 2968 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2968 "list.m"
              }
#line 2971 "list.m"
            else
#line 2972 "list.m"
              {
#line 2972 "list.m"
                /* direct tailcall eliminated */
#line 2972 "list.m"
                {
#line 2972 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__Xs_8;

#line 2972 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2972 "list.m"
                }
#line 2972 "list.m"
                continue;
#line 2972 "list.m"
              }
#line 2966 "list.m"
          }
#line 2966 "list.m"
        return mercury__list__succeeded;
#line 2966 "list.m"
      }
#line 2966 "list.m"
      break;
#line 2966 "list.m"
    }
#line 1596 "list.m"
}

#line 1591 "list.m"
MR_bool MR_CALL 
mercury__list__find_first_map2_4_p_0(
#line 1591 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_12,
#line 1591 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_13,
#line 1591 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_14,
#line 1591 "list.m"
  MR_Word mercury__list__P_5,
#line 1591 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1591 "list.m"
  MR_Box * mercury__list__A_8,
#line 1591 "list.m"
  MR_Box * mercury__list__B_9)
#line 1591 "list.m"
{
#line 2958 "list.m"
  while (MR_TRUE)
#line 2958 "list.m"
    {
#line 2958 "list.m"
      /* tailcall optimized into a loop */
#line 2958 "list.m"
      {
#line 2958 "list.m"
        MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 2958 "list.m"
        MR_Box mercury__list__X_6;
#line 2958 "list.m"
        MR_Word mercury__list__Xs_7;
#line 2962 "list.m"
        MR_Box mercury__list__A0_10;
#line 2962 "list.m"
        MR_Box mercury__list__B0_11;
#line 2959 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *);

#line 2958 "list.m"
        if (mercury__list__succeeded)
#line 2958 "list.m"
          {
#line 2958 "list.m"
            mercury__list__X_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2958 "list.m"
            mercury__list__Xs_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2959 "list.m"
            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_5, (MR_Integer) 1)));
#line 2959 "list.m"
            {
#line 2959 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_5), mercury__list__X_6, &mercury__list__A0_10, &mercury__list__B0_11);
            }
#line 2962 "list.m"
            if (mercury__list__succeeded)
#line 2960 "list.m"
              {
#line 2960 "list.m"
                *mercury__list__A_8 = mercury__list__A0_10;
#line 2961 "list.m"
                *mercury__list__B_9 = mercury__list__B0_11;
#line 2960 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2960 "list.m"
              }
#line 2962 "list.m"
            else
#line 2963 "list.m"
              {
#line 2963 "list.m"
                /* direct tailcall eliminated */
#line 2963 "list.m"
                {
#line 2963 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__Xs_7;

#line 2963 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2963 "list.m"
                }
#line 2963 "list.m"
                continue;
#line 2963 "list.m"
              }
#line 2958 "list.m"
          }
#line 2958 "list.m"
        return mercury__list__succeeded;
#line 2958 "list.m"
      }
#line 2958 "list.m"
      break;
#line 2958 "list.m"
    }
#line 1591 "list.m"
}

#line 1586 "list.m"
MR_bool MR_CALL 
mercury__list__find_first_map_3_p_0(
#line 1586 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_9,
#line 1586 "list.m"
  MR_Word mercury__list__TypeInfo_for_Y_10,
#line 1586 "list.m"
  MR_Word mercury__list__P_4,
#line 1586 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1586 "list.m"
  MR_Box * mercury__list__A_7)
#line 1586 "list.m"
{
#line 2951 "list.m"
  while (MR_TRUE)
#line 2951 "list.m"
    {
#line 2951 "list.m"
      /* tailcall optimized into a loop */
#line 2951 "list.m"
      {
#line 2951 "list.m"
        MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 2951 "list.m"
        MR_Box mercury__list__X_5;
#line 2951 "list.m"
        MR_Word mercury__list__Xs_6;
#line 2954 "list.m"
        MR_Box mercury__list__A0_8;
#line 2952 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *);

#line 2951 "list.m"
        if (mercury__list__succeeded)
#line 2951 "list.m"
          {
#line 2951 "list.m"
            mercury__list__X_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2951 "list.m"
            mercury__list__Xs_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2952 "list.m"
            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_4, (MR_Integer) 1)));
#line 2952 "list.m"
            {
#line 2952 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_4), mercury__list__X_5, &mercury__list__A0_8);
            }
#line 2954 "list.m"
            if (mercury__list__succeeded)
#line 2953 "list.m"
              {
#line 2953 "list.m"
                *mercury__list__A_7 = mercury__list__A0_8;
#line 2953 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2953 "list.m"
              }
#line 2954 "list.m"
            else
#line 2955 "list.m"
              {
#line 2955 "list.m"
                /* direct tailcall eliminated */
#line 2955 "list.m"
                {
#line 2955 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__Xs_6;

#line 2955 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2955 "list.m"
                }
#line 2955 "list.m"
                continue;
#line 2955 "list.m"
              }
#line 2951 "list.m"
          }
#line 2951 "list.m"
        return mercury__list__succeeded;
#line 2951 "list.m"
      }
#line 2951 "list.m"
      break;
#line 2951 "list.m"
    }
#line 1586 "list.m"
}

#line 1579 "list.m"
void MR_CALL 
mercury__list__filter_map_4_p_0(
#line 1579 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_14,
#line 1579 "list.m"
  MR_Word mercury__list__TypeInfo_for_Y_15,
#line 1579 "list.m"
  MR_Word mercury__list__P_1,
#line 1579 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1579 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1579 "list.m"
  MR_Word * mercury__list__HeadVar__4_4)
#line 1579 "list.m"
{
#line 2941 "list.m"
  {
#line 2941 "list.m"
    MR_bool mercury__list__succeeded;

#line 2941 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2941 "list.m"
      {
#line 2941 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2941 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2941 "list.m"
      }
#line 2941 "list.m"
    else
#line 2942 "list.m"
      {
#line 2942 "list.m"
        MR_Box mercury__list__H0_7 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2942 "list.m"
        MR_Word mercury__list__T0_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2946 "list.m"
        MR_Box mercury__list__H_11;
#line 2943 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2943 "list.m"
        {
#line 2943 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_7, &mercury__list__H_11);
        }
#line 2946 "list.m"
        if (mercury__list__succeeded)
#line 2944 "list.m"
          {
#line 2944 "list.m"
            MR_Word mercury__list__TrueTail_12;

#line 2944 "list.m"
            {
#line 2944 "list.m"
              mercury__list__filter_map_4_p_0(mercury__list__TypeInfo_for_X_14, mercury__list__TypeInfo_for_Y_15, mercury__list__P_1, mercury__list__T0_8, &mercury__list__TrueTail_12, mercury__list__HeadVar__4_4);
            }
#line 2945 "list.m"
            {
#line 2945 "list.m"
              MR_Word base;
#line 2945 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2945 "list.m"
              *mercury__list__HeadVar__3_3 = base;
#line 2945 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_11;
#line 2945 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__TrueTail_12));
#line 2945 "list.m"
            }
#line 2944 "list.m"
          }
#line 2946 "list.m"
        else
#line 2947 "list.m"
          {
#line 2947 "list.m"
            MR_Word mercury__list__FalseTail_13;

#line 2947 "list.m"
            {
#line 2947 "list.m"
              mercury__list__filter_map_4_p_0(mercury__list__TypeInfo_for_X_14, mercury__list__TypeInfo_for_Y_15, mercury__list__P_1, mercury__list__T0_8, mercury__list__HeadVar__3_3, &mercury__list__FalseTail_13);
            }
#line 2948 "list.m"
            {
#line 2948 "list.m"
              MR_Word base;
#line 2948 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2948 "list.m"
              *mercury__list__HeadVar__4_4 = base;
#line 2948 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H0_7;
#line 2948 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__FalseTail_13));
#line 2948 "list.m"
            }
#line 2947 "list.m"
          }
#line 2942 "list.m"
      }
#line 2941 "list.m"
  }
#line 1579 "list.m"
}

#line 1571 "list.m"
MR_Word MR_CALL 
mercury__list__filter_map_2_f_0(
#line 1571 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_14,
#line 1571 "list.m"
  MR_Word mercury__list__TypeInfo_for_Y_15,
#line 1571 "list.m"
  MR_Word mercury__list__F_4,
#line 1571 "list.m"
  MR_Word mercury__list__Xs_5)
#line 1571 "list.m"
{
#line 2930 "list.m"
  {
#line 2930 "list.m"
    MR_bool mercury__list__succeeded;
#line 2930 "list.m"
    MR_Word mercury__list__Ys_6;

#line 2930 "list.m"
    {
#line 2930 "list.m"
      mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_105_108_116_101_114_95_109_97_112_95_95_104_111_56_95_95_91_49_44_32_50_44_32_52_44_32_53_44_32_54_93_95_48_3_p_0(mercury__list__F_4, mercury__list__Xs_5, &mercury__list__Ys_6);
    }
#line 2930 "list.m"
    return mercury__list__Ys_6;
#line 2930 "list.m"
  }
#line 1571 "list.m"
}

#line 1567 "list.m"
void MR_CALL 
mercury__list__filter_map_3_p_0(
#line 1567 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_11,
#line 1567 "list.m"
  MR_Word mercury__list__TypeInfo_for_Y_12,
#line 1567 "list.m"
  MR_Word mercury__list__P_1,
#line 1567 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1567 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 1567 "list.m"
{
#line 2932 "list.m"
  while (MR_TRUE)
#line 2932 "list.m"
    {
#line 2932 "list.m"
      /* tailcall optimized into a loop */
#line 2932 "list.m"
      {
#line 2932 "list.m"
        MR_bool mercury__list__succeeded;

#line 2932 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2932 "list.m"
          *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2932 "list.m"
        else
#line 2933 "list.m"
          {
#line 2933 "list.m"
            MR_Box mercury__list__H0_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2933 "list.m"
            MR_Word mercury__list__T0_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2937 "list.m"
            MR_Box mercury__list__H_9;
#line 2934 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2934 "list.m"
            {
#line 2934 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_6, &mercury__list__H_9);
            }
#line 2937 "list.m"
            if (mercury__list__succeeded)
#line 2935 "list.m"
              {
#line 2935 "list.m"
                MR_Word mercury__list__TrueTail_10;

#line 2935 "list.m"
                {
#line 2935 "list.m"
                  mercury__list__filter_map_3_p_0(mercury__list__TypeInfo_for_X_11, mercury__list__TypeInfo_for_Y_12, mercury__list__P_1, mercury__list__T0_7, &mercury__list__TrueTail_10);
                }
#line 2936 "list.m"
                {
#line 2936 "list.m"
                  MR_Word base;
#line 2936 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2936 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2936 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_9;
#line 2936 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__TrueTail_10));
#line 2936 "list.m"
                }
#line 2935 "list.m"
              }
#line 2937 "list.m"
            else
#line 2938 "list.m"
              {
#line 2938 "list.m"
                /* direct tailcall eliminated */
#line 2938 "list.m"
                {
#line 2938 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T0_7;

#line 2938 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2938 "list.m"
                }
#line 2938 "list.m"
                continue;
#line 2938 "list.m"
              }
#line 2933 "list.m"
          }
#line 2932 "list.m"
      }
#line 2932 "list.m"
      break;
#line 2932 "list.m"
    }
#line 1567 "list.m"
}

#line 1559 "list.m"
void MR_CALL 
mercury__list__filter_4_p_0(
#line 1559 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_13,
#line 1559 "list.m"
  MR_Word mercury__list__P_1,
#line 1559 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1559 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1559 "list.m"
  MR_Word * mercury__list__HeadVar__4_4)
#line 1559 "list.m"
{
#line 2918 "list.m"
  {
#line 2918 "list.m"
    MR_bool mercury__list__succeeded;

#line 2918 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2918 "list.m"
      {
#line 2918 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2918 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2918 "list.m"
      }
#line 2918 "list.m"
    else
#line 2919 "list.m"
      {
#line 2919 "list.m"
        MR_Box mercury__list__H_7 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2919 "list.m"
        MR_Word mercury__list__T_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2920 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2920 "list.m"
        {
#line 2920 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_7);
        }
#line 2923 "list.m"
        if (mercury__list__succeeded)
#line 2921 "list.m"
          {
#line 2921 "list.m"
            MR_Word mercury__list__TrueTail_11;

#line 2921 "list.m"
            {
#line 2921 "list.m"
              mercury__list__filter_4_p_0(mercury__list__TypeInfo_for_X_13, mercury__list__P_1, mercury__list__T_8, &mercury__list__TrueTail_11, mercury__list__HeadVar__4_4);
            }
#line 2922 "list.m"
            {
#line 2922 "list.m"
              MR_Word base;
#line 2922 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2922 "list.m"
              *mercury__list__HeadVar__3_3 = base;
#line 2922 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_7;
#line 2922 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__TrueTail_11));
#line 2922 "list.m"
            }
#line 2921 "list.m"
          }
#line 2923 "list.m"
        else
#line 2924 "list.m"
          {
#line 2924 "list.m"
            MR_Word mercury__list__FalseTail_12;

#line 2924 "list.m"
            {
#line 2924 "list.m"
              mercury__list__filter_4_p_0(mercury__list__TypeInfo_for_X_13, mercury__list__P_1, mercury__list__T_8, mercury__list__HeadVar__3_3, &mercury__list__FalseTail_12);
            }
#line 2925 "list.m"
            {
#line 2925 "list.m"
              MR_Word base;
#line 2925 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2925 "list.m"
              *mercury__list__HeadVar__4_4 = base;
#line 2925 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_7;
#line 2925 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__FalseTail_12));
#line 2925 "list.m"
            }
#line 2924 "list.m"
          }
#line 2919 "list.m"
      }
#line 2918 "list.m"
  }
#line 1559 "list.m"
}

#line 1551 "list.m"
MR_Word MR_CALL 
mercury__list__negated_filter_2_f_0(
#line 1551 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_7,
#line 1551 "list.m"
  MR_Word mercury__list__P_4,
#line 1551 "list.m"
  MR_Word mercury__list__Xs_5)
#line 1551 "list.m"
{
#line 2907 "list.m"
  {
#line 2907 "list.m"
    MR_bool mercury__list__succeeded;
#line 2907 "list.m"
    MR_Word mercury__list__Falses_6;

#line 2907 "list.m"
    {
#line 2907 "list.m"
      mercury__list__negated_filter_3_p_0(mercury__list__TypeInfo_for_X_7, mercury__list__P_4, mercury__list__Xs_5, &mercury__list__Falses_6);
    }
#line 2907 "list.m"
    return mercury__list__Falses_6;
#line 2907 "list.m"
  }
#line 1551 "list.m"
}

#line 1549 "list.m"
void MR_CALL 
mercury__list__negated_filter_3_p_0(
#line 1549 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_10,
#line 1549 "list.m"
  MR_Word mercury__list__P_1,
#line 1549 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1549 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 1549 "list.m"
{
#line 2909 "list.m"
  while (MR_TRUE)
#line 2909 "list.m"
    {
#line 2909 "list.m"
      /* tailcall optimized into a loop */
#line 2909 "list.m"
      {
#line 2909 "list.m"
        MR_bool mercury__list__succeeded;

#line 2909 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2909 "list.m"
          *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2909 "list.m"
        else
#line 2910 "list.m"
          {
#line 2910 "list.m"
            MR_Box mercury__list__H_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2910 "list.m"
            MR_Word mercury__list__T_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2911 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2911 "list.m"
            {
#line 2911 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_6);
            }
#line 2913 "list.m"
            if (mercury__list__succeeded)
#line 2912 "list.m"
              {
#line 2912 "list.m"
                /* direct tailcall eliminated */
#line 2912 "list.m"
                {
#line 2912 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_7;

#line 2912 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2912 "list.m"
                }
#line 2912 "list.m"
                continue;
#line 2912 "list.m"
              }
#line 2913 "list.m"
            else
#line 2914 "list.m"
              {
#line 2914 "list.m"
                MR_Word mercury__list__FalseTail_9;

#line 2914 "list.m"
                {
#line 2914 "list.m"
                  mercury__list__negated_filter_3_p_0(mercury__list__TypeInfo_for_X_10, mercury__list__P_1, mercury__list__T_7, &mercury__list__FalseTail_9);
                }
#line 2915 "list.m"
                {
#line 2915 "list.m"
                  MR_Word base;
#line 2915 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2915 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2915 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_6;
#line 2915 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__FalseTail_9));
#line 2915 "list.m"
                }
#line 2914 "list.m"
              }
#line 2910 "list.m"
          }
#line 2909 "list.m"
      }
#line 2909 "list.m"
      break;
#line 2909 "list.m"
    }
#line 1549 "list.m"
}

#line 1542 "list.m"
MR_Word MR_CALL 
mercury__list__filter_2_f_0(
#line 1542 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_7,
#line 1542 "list.m"
  MR_Word mercury__list__P_4,
#line 1542 "list.m"
  MR_Word mercury__list__Xs_5)
#line 1542 "list.m"
{
#line 2895 "list.m"
  {
#line 2895 "list.m"
    MR_bool mercury__list__succeeded;
#line 2895 "list.m"
    MR_Word mercury__list__Trues_6;

#line 2895 "list.m"
    {
#line 2895 "list.m"
      mercury__list__filter_3_p_0(mercury__list__TypeInfo_for_X_7, mercury__list__P_4, mercury__list__Xs_5, &mercury__list__Trues_6);
    }
#line 2895 "list.m"
    return mercury__list__Trues_6;
#line 2895 "list.m"
  }
#line 1542 "list.m"
}

#line 1540 "list.m"
void MR_CALL 
mercury__list__filter_3_p_0(
#line 1540 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_10,
#line 1540 "list.m"
  MR_Word mercury__list__P_1,
#line 1540 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1540 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 1540 "list.m"
{
#line 2897 "list.m"
  while (MR_TRUE)
#line 2897 "list.m"
    {
#line 2897 "list.m"
      /* tailcall optimized into a loop */
#line 2897 "list.m"
      {
#line 2897 "list.m"
        MR_bool mercury__list__succeeded;

#line 2897 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2897 "list.m"
          *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2897 "list.m"
        else
#line 2898 "list.m"
          {
#line 2898 "list.m"
            MR_Box mercury__list__H_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2898 "list.m"
            MR_Word mercury__list__T_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2899 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2899 "list.m"
            {
#line 2899 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_6);
            }
#line 2902 "list.m"
            if (mercury__list__succeeded)
#line 2900 "list.m"
              {
#line 2900 "list.m"
                MR_Word mercury__list__TrueTail_9;

#line 2900 "list.m"
                {
#line 2900 "list.m"
                  mercury__list__filter_3_p_0(mercury__list__TypeInfo_for_X_10, mercury__list__P_1, mercury__list__T_7, &mercury__list__TrueTail_9);
                }
#line 2901 "list.m"
                {
#line 2901 "list.m"
                  MR_Word base;
#line 2901 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2901 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2901 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_6;
#line 2901 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__TrueTail_9));
#line 2901 "list.m"
                }
#line 2900 "list.m"
              }
#line 2902 "list.m"
            else
#line 2903 "list.m"
              {
#line 2903 "list.m"
                /* direct tailcall eliminated */
#line 2903 "list.m"
                {
#line 2903 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_7;

#line 2903 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2903 "list.m"
                }
#line 2903 "list.m"
                continue;
#line 2903 "list.m"
              }
#line 2898 "list.m"
          }
#line 2897 "list.m"
      }
#line 2897 "list.m"
      break;
#line 2897 "list.m"
    }
#line 1540 "list.m"
}

#line 1533 "list.m"
MR_bool MR_CALL 
mercury__list__find_first_match_3_p_0(
#line 1533 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_8,
#line 1533 "list.m"
  MR_Word mercury__list__P_4,
#line 1533 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1533 "list.m"
  MR_Box * mercury__list__FirstMatch_7)
#line 1533 "list.m"
{
#line 2887 "list.m"
  while (MR_TRUE)
#line 2887 "list.m"
    {
#line 2887 "list.m"
      /* tailcall optimized into a loop */
#line 2887 "list.m"
      {
#line 2887 "list.m"
        MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 2887 "list.m"
        MR_Box mercury__list__H_5;
#line 2887 "list.m"
        MR_Word mercury__list__T_6;
#line 2888 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box);

#line 2887 "list.m"
        if (mercury__list__succeeded)
#line 2887 "list.m"
          {
#line 2887 "list.m"
            mercury__list__H_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2887 "list.m"
            mercury__list__T_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2888 "list.m"
            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__P_4, (MR_Integer) 1)));
#line 2888 "list.m"
            {
#line 2888 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_4), mercury__list__H_5);
            }
#line 2890 "list.m"
            if (mercury__list__succeeded)
#line 2889 "list.m"
              {
#line 2889 "list.m"
                *mercury__list__FirstMatch_7 = mercury__list__H_5;
#line 2889 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2889 "list.m"
              }
#line 2890 "list.m"
            else
#line 2891 "list.m"
              {
#line 2891 "list.m"
                /* direct tailcall eliminated */
#line 2891 "list.m"
                {
#line 2891 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_6;

#line 2891 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2891 "list.m"
                }
#line 2891 "list.m"
                continue;
#line 2891 "list.m"
              }
#line 2887 "list.m"
          }
#line 2887 "list.m"
        return mercury__list__succeeded;
#line 2887 "list.m"
      }
#line 2887 "list.m"
      break;
#line 2887 "list.m"
    }
#line 1533 "list.m"
}

#line 1526 "list.m"
MR_bool MR_CALL 
mercury__list__all_false_corresponding_3_p_0(
#line 1526 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_22,
#line 1526 "list.m"
  MR_Word mercury__list__TypeInfo_for_Y_23,
#line 1526 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 1526 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1526 "list.m"
  MR_Word mercury__list__HeadVar__3_3)
#line 1526 "list.m"
{
#line 2878 "list.m"
  while (MR_TRUE)
#line 2878 "list.m"
    {
#line 2878 "list.m"
      /* tailcall optimized into a loop */
#line 2878 "list.m"
      {
#line 2878 "list.m"
        MR_bool mercury__list__succeeded;

#line 2878 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2878 "list.m"
          {
#line 2878 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2878 "list.m"
              {
#line 2878 "list.m"
              }
#line 2878 "list.m"
            else
#line 2879 "list.m"
              {
#line 2880 "list.m"
                {
#line 2880 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.all_false_corresponding\'/3", (MR_String) "mismatched list lengths");
                }
#line 2879 "list.m"
              }
#line 2878 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2878 "list.m"
          }
#line 2878 "list.m"
        else
#line 2878 "list.m"
          {
#line 2878 "list.m"
            MR_Word mercury__list__V_24_24 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2878 "list.m"
            MR_Box mercury__list__V_25_25 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2878 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2881 "list.m"
              {
#line 2882 "list.m"
                {
#line 2882 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.all_false_corresponding\'/3", (MR_String) "mismatched list lengths");
                }
#line 2881 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2881 "list.m"
              }
#line 2878 "list.m"
            else
#line 2883 "list.m"
              {
#line 2883 "list.m"
                MR_Box mercury__list__Y_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2883 "list.m"
                MR_Word mercury__list__Ys_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2884 "list.m"
                MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__HeadVar__1_1, (MR_Integer) 1)));

#line 2884 "list.m"
                {
#line 2884 "list.m"
                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__HeadVar__1_1), mercury__list__V_25_25, mercury__list__Y_20);
                }
#line 2884 "list.m"
                mercury__list__succeeded = !(mercury__list__succeeded);
#line 2883 "list.m"
                if (mercury__list__succeeded)
#line 2885 "list.m"
                  {
#line 2885 "list.m"
                    /* direct tailcall eliminated */
#line 2885 "list.m"
                    {
#line 2885 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_24_24;
#line 2885 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Ys_21;

#line 2885 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2885 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2885 "list.m"
                    }
#line 2885 "list.m"
                    continue;
#line 2885 "list.m"
                  }
#line 2883 "list.m"
              }
#line 2878 "list.m"
          }
#line 2878 "list.m"
        return mercury__list__succeeded;
#line 2878 "list.m"
      }
#line 2878 "list.m"
      break;
#line 2878 "list.m"
    }
#line 1526 "list.m"
}

#line 1516 "list.m"
MR_bool MR_CALL 
mercury__list__all_false_2_p_0(
#line 1516 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_7,
#line 1516 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 1516 "list.m"
  MR_Word mercury__list__HeadVar__2_2)
#line 1516 "list.m"
{
#line 2873 "list.m"
  while (MR_TRUE)
#line 2873 "list.m"
    {
#line 2873 "list.m"
      /* tailcall optimized into a loop */
#line 2873 "list.m"
      {
#line 2873 "list.m"
        MR_bool mercury__list__succeeded;

#line 2873 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2873 "list.m"
          mercury__list__succeeded = MR_TRUE;
#line 2873 "list.m"
        else
#line 2874 "list.m"
          {
#line 2874 "list.m"
            MR_Box mercury__list__X_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2874 "list.m"
            MR_Word mercury__list__Xs_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2875 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__HeadVar__1_1, (MR_Integer) 1)));

#line 2875 "list.m"
            {
#line 2875 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__HeadVar__1_1), mercury__list__X_5);
            }
#line 2875 "list.m"
            mercury__list__succeeded = !(mercury__list__succeeded);
#line 2874 "list.m"
            if (mercury__list__succeeded)
#line 2876 "list.m"
              {
#line 2876 "list.m"
                /* direct tailcall eliminated */
#line 2876 "list.m"
                {
#line 2876 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__Xs_6;

#line 2876 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2876 "list.m"
                }
#line 2876 "list.m"
                continue;
#line 2876 "list.m"
              }
#line 2874 "list.m"
          }
#line 2873 "list.m"
        return mercury__list__succeeded;
#line 2873 "list.m"
      }
#line 2873 "list.m"
      break;
#line 2873 "list.m"
    }
#line 1516 "list.m"
}

#line 1509 "list.m"
MR_bool MR_CALL 
mercury__list__all_true_corresponding_3_p_0(
#line 1509 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_22,
#line 1509 "list.m"
  MR_Word mercury__list__TypeInfo_for_Y_23,
#line 1509 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 1509 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1509 "list.m"
  MR_Word mercury__list__HeadVar__3_3)
#line 1509 "list.m"
{
#line 2864 "list.m"
  while (MR_TRUE)
#line 2864 "list.m"
    {
#line 2864 "list.m"
      /* tailcall optimized into a loop */
#line 2864 "list.m"
      {
#line 2864 "list.m"
        MR_bool mercury__list__succeeded;

#line 2864 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2864 "list.m"
          {
#line 2864 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2864 "list.m"
              {
#line 2864 "list.m"
              }
#line 2864 "list.m"
            else
#line 2865 "list.m"
              {
#line 2866 "list.m"
                {
#line 2866 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.all_true_corresponding\'/3", (MR_String) "mismatched list lengths");
                }
#line 2865 "list.m"
              }
#line 2864 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2864 "list.m"
          }
#line 2864 "list.m"
        else
#line 2864 "list.m"
          {
#line 2864 "list.m"
            MR_Word mercury__list__V_24_24 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2864 "list.m"
            MR_Box mercury__list__V_25_25 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2864 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2867 "list.m"
              {
#line 2868 "list.m"
                {
#line 2868 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.all_true_corresponding\'/3", (MR_String) "mismatched list lengths");
                }
#line 2867 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2867 "list.m"
              }
#line 2864 "list.m"
            else
#line 2869 "list.m"
              {
#line 2869 "list.m"
                MR_Box mercury__list__Y_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2869 "list.m"
                MR_Word mercury__list__Ys_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2870 "list.m"
                MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__HeadVar__1_1, (MR_Integer) 1)));

#line 2870 "list.m"
                {
#line 2870 "list.m"
                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__HeadVar__1_1), mercury__list__V_25_25, mercury__list__Y_20);
                }
#line 2869 "list.m"
                if (mercury__list__succeeded)
#line 2871 "list.m"
                  {
#line 2871 "list.m"
                    /* direct tailcall eliminated */
#line 2871 "list.m"
                    {
#line 2871 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_24_24;
#line 2871 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Ys_21;

#line 2871 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2871 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2871 "list.m"
                    }
#line 2871 "list.m"
                    continue;
#line 2871 "list.m"
                  }
#line 2869 "list.m"
              }
#line 2864 "list.m"
          }
#line 2864 "list.m"
        return mercury__list__succeeded;
#line 2864 "list.m"
      }
#line 2864 "list.m"
      break;
#line 2864 "list.m"
    }
#line 1509 "list.m"
}

#line 1499 "list.m"
MR_bool MR_CALL 
mercury__list__all_true_2_p_0(
#line 1499 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_7,
#line 1499 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 1499 "list.m"
  MR_Word mercury__list__HeadVar__2_2)
#line 1499 "list.m"
{
#line 2859 "list.m"
  while (MR_TRUE)
#line 2859 "list.m"
    {
#line 2859 "list.m"
      /* tailcall optimized into a loop */
#line 2859 "list.m"
      {
#line 2859 "list.m"
        MR_bool mercury__list__succeeded;

#line 2859 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2859 "list.m"
          mercury__list__succeeded = MR_TRUE;
#line 2859 "list.m"
        else
#line 2860 "list.m"
          {
#line 2860 "list.m"
            MR_Box mercury__list__X_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2860 "list.m"
            MR_Word mercury__list__Xs_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2861 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__HeadVar__1_1, (MR_Integer) 1)));

#line 2861 "list.m"
            {
#line 2861 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__HeadVar__1_1), mercury__list__X_5);
            }
#line 2860 "list.m"
            if (mercury__list__succeeded)
#line 2862 "list.m"
              {
#line 2862 "list.m"
                /* direct tailcall eliminated */
#line 2862 "list.m"
                {
#line 2862 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__Xs_6;

#line 2862 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2862 "list.m"
                }
#line 2862 "list.m"
                continue;
#line 2862 "list.m"
              }
#line 2860 "list.m"
          }
#line 2859 "list.m"
        return mercury__list__succeeded;
#line 2859 "list.m"
      }
#line 2859 "list.m"
      break;
#line 2859 "list.m"
    }
#line 1499 "list.m"
}

#line 1492 "list.m"
void MR_CALL 
mercury__list__filter_map_foldl_5_p_0(
#line 1492 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_22,
#line 1492 "list.m"
  MR_Word mercury__list__TypeInfo_for_Y_23,
#line 1492 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_24,
#line 1492 "list.m"
  MR_Word mercury__list__P_1,
#line 1492 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1492 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1492 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1492 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5)
#line 1492 "list.m"
{
#line 2831 "list.m"
  while (MR_TRUE)
#line 2831 "list.m"
    {
#line 2831 "list.m"
      /* tailcall optimized into a loop */
#line 2831 "list.m"
      {
#line 2831 "list.m"
        MR_bool mercury__list__succeeded;

#line 2831 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2831 "list.m"
          {
#line 2831 "list.m"
            *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2831 "list.m"
            *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2831 "list.m"
          }
#line 2831 "list.m"
        else
#line 2832 "list.m"
          {
#line 2832 "list.m"
            MR_Box mercury__list__X_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2832 "list.m"
            MR_Word mercury__list__Xs_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2836 "list.m"
            MR_Box mercury__list__Y_15;
#line 2836 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_19_19;
#line 2833 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2833 "list.m"
            {
#line 2833 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__X_11, &mercury__list__Y_15, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_19_19);
            }
#line 2836 "list.m"
            if (mercury__list__succeeded)
#line 2834 "list.m"
              {
#line 2834 "list.m"
                MR_Word mercury__list__TrueTail_16;

#line 2834 "list.m"
                {
#line 2834 "list.m"
                  mercury__list__filter_map_foldl_5_p_0(mercury__list__TypeInfo_for_X_22, mercury__list__TypeInfo_for_Y_23, mercury__list__TypeInfo_for_A_24, mercury__list__P_1, mercury__list__Xs_12, &mercury__list__TrueTail_16, mercury__list__STATE_VARIABLE_A_19_19, mercury__list__STATE_VARIABLE_A_5);
                }
#line 2835 "list.m"
                {
#line 2835 "list.m"
                  MR_Word base;
#line 2835 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2835 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2835 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__Y_15;
#line 2835 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__TrueTail_16));
#line 2835 "list.m"
                }
#line 2834 "list.m"
              }
#line 2836 "list.m"
            else
#line 2837 "list.m"
              {
#line 2837 "list.m"
                /* direct tailcall eliminated */
#line 2837 "list.m"
                {
#line 2837 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__Xs_12;

#line 2837 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2837 "list.m"
                }
#line 2837 "list.m"
                continue;
#line 2837 "list.m"
              }
#line 2832 "list.m"
          }
#line 2831 "list.m"
      }
#line 2831 "list.m"
      break;
#line 2831 "list.m"
    }
#line 1492 "list.m"
}

#line 1484 "list.m"
MR_bool MR_CALL 
mercury__list__map_foldr_5_p_6(
#line 1484 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1484 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1484 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1484 "list.m"
  MR_Word mercury__list__P_1,
#line 1484 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1484 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1484 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1484 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5)
#line 1484 "list.m"
{
#line 2826 "list.m"
  {
#line 2826 "list.m"
    MR_bool mercury__list__succeeded;

#line 2826 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2826 "list.m"
      {
#line 2826 "list.m"
        mercury__list__succeeded = (mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2826 "list.m"
        if (mercury__list__succeeded)
#line 2826 "list.m"
          {
#line 2826 "list.m"
            *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2826 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2826 "list.m"
          }
#line 2826 "list.m"
      }
#line 2826 "list.m"
    else
#line 2827 "list.m"
      {
#line 2827 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2827 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2827 "list.m"
        MR_Box mercury__list__H_13;
#line 2827 "list.m"
        MR_Word mercury__list__T_14;
#line 2827 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_18_18;
#line 2829 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *);

#line 2827 "list.m"
        mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1)));
#line 2827 "list.m"
        if (mercury__list__succeeded)
#line 2827 "list.m"
          {
#line 2827 "list.m"
            mercury__list__H_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2827 "list.m"
            mercury__list__T_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2828 "list.m"
            {
#line 2828 "list.m"
              mercury__list__succeeded = mercury__list__map_foldr_5_p_6(mercury__list__TypeInfo_for_L_20, mercury__list__TypeInfo_for_M_21, mercury__list__TypeInfo_for_A_22, mercury__list__P_1, mercury__list__T0_12, mercury__list__T_14, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_18_18);
            }
#line 2827 "list.m"
            if (mercury__list__succeeded)
#line 2827 "list.m"
              {
#line 2829 "list.m"
                mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2829 "list.m"
                {
#line 2829 "list.m"
                  return mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, mercury__list__H_13, mercury__list__STATE_VARIABLE_A_18_18, mercury__list__STATE_VARIABLE_A_5);
                }
#line 2827 "list.m"
              }
#line 2827 "list.m"
          }
#line 2827 "list.m"
      }
#line 2826 "list.m"
    return mercury__list__succeeded;
#line 2826 "list.m"
  }
#line 1484 "list.m"
}

#line 1482 "list.m"
MR_bool MR_CALL 
mercury__list__map_foldr_5_p_5(
#line 1482 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1482 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1482 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1482 "list.m"
  MR_Word mercury__list__P_1,
#line 1482 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1482 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1482 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1482 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5)
#line 1482 "list.m"
{
#line 2826 "list.m"
  {
#line 2826 "list.m"
    MR_bool mercury__list__succeeded;

#line 2826 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2826 "list.m"
      {
#line 2826 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2826 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2826 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2826 "list.m"
      }
#line 2826 "list.m"
    else
#line 2827 "list.m"
      {
#line 2827 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2827 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2827 "list.m"
        MR_Box mercury__list__H_13;
#line 2827 "list.m"
        MR_Word mercury__list__T_14;
#line 2827 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_18_18;
#line 2829 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2828 "list.m"
        {
#line 2828 "list.m"
          mercury__list__succeeded = mercury__list__map_foldr_5_p_5(mercury__list__TypeInfo_for_L_20, mercury__list__TypeInfo_for_M_21, mercury__list__TypeInfo_for_A_22, mercury__list__P_1, mercury__list__T0_12, &mercury__list__T_14, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_18_18);
        }
#line 2827 "list.m"
        if (mercury__list__succeeded)
#line 2827 "list.m"
          {
#line 2829 "list.m"
            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2829 "list.m"
            {
#line 2829 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, &mercury__list__H_13, mercury__list__STATE_VARIABLE_A_18_18, mercury__list__STATE_VARIABLE_A_5);
            }
#line 2827 "list.m"
            if (mercury__list__succeeded)
#line 2827 "list.m"
              {
#line 2827 "list.m"
                {
#line 2827 "list.m"
                  MR_Word base;
#line 2827 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2827 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2827 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_13;
#line 2827 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_14));
#line 2827 "list.m"
                }
#line 2827 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2827 "list.m"
              }
#line 2827 "list.m"
          }
#line 2827 "list.m"
      }
#line 2826 "list.m"
    return mercury__list__succeeded;
#line 2826 "list.m"
  }
#line 1482 "list.m"
}

#line 1480 "list.m"
MR_bool MR_CALL 
mercury__list__map_foldr_5_p_4(
#line 1480 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1480 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1480 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1480 "list.m"
  MR_Word mercury__list__P_1,
#line 1480 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1480 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1480 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1480 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5)
#line 1480 "list.m"
{
#line 2826 "list.m"
  {
#line 2826 "list.m"
    MR_bool mercury__list__succeeded;

#line 2826 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2826 "list.m"
      {
#line 2826 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2826 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2826 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2826 "list.m"
      }
#line 2826 "list.m"
    else
#line 2827 "list.m"
      {
#line 2827 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2827 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2827 "list.m"
        MR_Box mercury__list__H_13;
#line 2827 "list.m"
        MR_Word mercury__list__T_14;
#line 2827 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_18_18;
#line 2829 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2828 "list.m"
        {
#line 2828 "list.m"
          mercury__list__succeeded = mercury__list__map_foldr_5_p_4(mercury__list__TypeInfo_for_L_20, mercury__list__TypeInfo_for_M_21, mercury__list__TypeInfo_for_A_22, mercury__list__P_1, mercury__list__T0_12, &mercury__list__T_14, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_18_18);
        }
#line 2827 "list.m"
        if (mercury__list__succeeded)
#line 2827 "list.m"
          {
#line 2829 "list.m"
            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2829 "list.m"
            {
#line 2829 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, &mercury__list__H_13, mercury__list__STATE_VARIABLE_A_18_18, mercury__list__STATE_VARIABLE_A_5);
            }
#line 2827 "list.m"
            if (mercury__list__succeeded)
#line 2827 "list.m"
              {
#line 2827 "list.m"
                {
#line 2827 "list.m"
                  MR_Word base;
#line 2827 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2827 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2827 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_13;
#line 2827 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_14));
#line 2827 "list.m"
                }
#line 2827 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2827 "list.m"
              }
#line 2827 "list.m"
          }
#line 2827 "list.m"
      }
#line 2826 "list.m"
    return mercury__list__succeeded;
#line 2826 "list.m"
  }
#line 1480 "list.m"
}

#line 1478 "list.m"
MR_bool MR_CALL 
mercury__list__map_foldr_5_p_3(
#line 1478 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1478 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1478 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1478 "list.m"
  MR_Word mercury__list__P_1,
#line 1478 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1478 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1478 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1478 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5)
#line 1478 "list.m"
{
#line 2826 "list.m"
  {
#line 2826 "list.m"
    MR_bool mercury__list__succeeded;

#line 2826 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2826 "list.m"
      {
#line 2826 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2826 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2826 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2826 "list.m"
      }
#line 2826 "list.m"
    else
#line 2827 "list.m"
      {
#line 2827 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2827 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2827 "list.m"
        MR_Box mercury__list__H_13;
#line 2827 "list.m"
        MR_Word mercury__list__T_14;
#line 2827 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_18_18;
#line 2829 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2828 "list.m"
        {
#line 2828 "list.m"
          mercury__list__succeeded = mercury__list__map_foldr_5_p_3(mercury__list__TypeInfo_for_L_20, mercury__list__TypeInfo_for_M_21, mercury__list__TypeInfo_for_A_22, mercury__list__P_1, mercury__list__T0_12, &mercury__list__T_14, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_18_18);
        }
#line 2827 "list.m"
        if (mercury__list__succeeded)
#line 2827 "list.m"
          {
#line 2829 "list.m"
            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2829 "list.m"
            {
#line 2829 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, &mercury__list__H_13, mercury__list__STATE_VARIABLE_A_18_18, mercury__list__STATE_VARIABLE_A_5);
            }
#line 2827 "list.m"
            if (mercury__list__succeeded)
#line 2827 "list.m"
              {
#line 2827 "list.m"
                {
#line 2827 "list.m"
                  MR_Word base;
#line 2827 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2827 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2827 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_13;
#line 2827 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_14));
#line 2827 "list.m"
                }
#line 2827 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2827 "list.m"
              }
#line 2827 "list.m"
          }
#line 2827 "list.m"
      }
#line 2826 "list.m"
    return mercury__list__succeeded;
#line 2826 "list.m"
  }
#line 1478 "list.m"
}

#line 1476 "list.m"
void MR_CALL 
mercury__list__map_foldr_5_p_2(
#line 1476 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1476 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1476 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1476 "list.m"
  MR_Word mercury__list__P_1,
#line 1476 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1476 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1476 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1476 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5)
#line 1476 "list.m"
{
#line 2826 "list.m"
  {
#line 2826 "list.m"
    MR_bool mercury__list__succeeded;

#line 2826 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2826 "list.m"
      {
#line 2826 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2826 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2826 "list.m"
      }
#line 2826 "list.m"
    else
#line 2827 "list.m"
      {
#line 2827 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2827 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2827 "list.m"
        MR_Box mercury__list__H_13;
#line 2827 "list.m"
        MR_Word mercury__list__T_14;
#line 2827 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_18_18;
#line 2829 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2828 "list.m"
        {
#line 2828 "list.m"
          mercury__list__map_foldr_5_p_2(mercury__list__TypeInfo_for_L_20, mercury__list__TypeInfo_for_M_21, mercury__list__TypeInfo_for_A_22, mercury__list__P_1, mercury__list__T0_12, &mercury__list__T_14, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_18_18);
        }
#line 2829 "list.m"
        mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2829 "list.m"
        {
#line 2829 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, &mercury__list__H_13, mercury__list__STATE_VARIABLE_A_18_18, mercury__list__STATE_VARIABLE_A_5);
        }
#line 2827 "list.m"
        {
#line 2827 "list.m"
          MR_Word base;
#line 2827 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2827 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2827 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_13;
#line 2827 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_14));
#line 2827 "list.m"
        }
#line 2827 "list.m"
      }
#line 2826 "list.m"
  }
#line 1476 "list.m"
}

#line 1474 "list.m"
void MR_CALL 
mercury__list__map_foldr_5_p_1(
#line 1474 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1474 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1474 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1474 "list.m"
  MR_Word mercury__list__P_1,
#line 1474 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1474 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1474 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1474 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5)
#line 1474 "list.m"
{
#line 2826 "list.m"
  {
#line 2826 "list.m"
    MR_bool mercury__list__succeeded;

#line 2826 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2826 "list.m"
      {
#line 2826 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2826 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2826 "list.m"
      }
#line 2826 "list.m"
    else
#line 2827 "list.m"
      {
#line 2827 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2827 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2827 "list.m"
        MR_Box mercury__list__H_13;
#line 2827 "list.m"
        MR_Word mercury__list__T_14;
#line 2827 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_18_18;
#line 2829 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2828 "list.m"
        {
#line 2828 "list.m"
          mercury__list__map_foldr_5_p_1(mercury__list__TypeInfo_for_L_20, mercury__list__TypeInfo_for_M_21, mercury__list__TypeInfo_for_A_22, mercury__list__P_1, mercury__list__T0_12, &mercury__list__T_14, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_18_18);
        }
#line 2829 "list.m"
        mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2829 "list.m"
        {
#line 2829 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, &mercury__list__H_13, mercury__list__STATE_VARIABLE_A_18_18, mercury__list__STATE_VARIABLE_A_5);
        }
#line 2827 "list.m"
        {
#line 2827 "list.m"
          MR_Word base;
#line 2827 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2827 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2827 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_13;
#line 2827 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_14));
#line 2827 "list.m"
        }
#line 2827 "list.m"
      }
#line 2826 "list.m"
  }
#line 1474 "list.m"
}

#line 1472 "list.m"
void MR_CALL 
mercury__list__map_foldr_5_p_0(
#line 1472 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1472 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1472 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1472 "list.m"
  MR_Word mercury__list__P_1,
#line 1472 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1472 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1472 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1472 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5)
#line 1472 "list.m"
{
#line 2826 "list.m"
  {
#line 2826 "list.m"
    MR_bool mercury__list__succeeded;

#line 2826 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2826 "list.m"
      {
#line 2826 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2826 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2826 "list.m"
      }
#line 2826 "list.m"
    else
#line 2827 "list.m"
      {
#line 2827 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2827 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2827 "list.m"
        MR_Box mercury__list__H_13;
#line 2827 "list.m"
        MR_Word mercury__list__T_14;
#line 2827 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_18_18;
#line 2829 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2828 "list.m"
        {
#line 2828 "list.m"
          mercury__list__map_foldr_5_p_0(mercury__list__TypeInfo_for_L_20, mercury__list__TypeInfo_for_M_21, mercury__list__TypeInfo_for_A_22, mercury__list__P_1, mercury__list__T0_12, &mercury__list__T_14, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_18_18);
        }
#line 2829 "list.m"
        mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2829 "list.m"
        {
#line 2829 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, &mercury__list__H_13, mercury__list__STATE_VARIABLE_A_18_18, mercury__list__STATE_VARIABLE_A_5);
        }
#line 2827 "list.m"
        {
#line 2827 "list.m"
          MR_Word base;
#line 2827 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2827 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2827 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_13;
#line 2827 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_14));
#line 2827 "list.m"
        }
#line 2827 "list.m"
      }
#line 2826 "list.m"
  }
#line 1472 "list.m"
}

#line 1462 "list.m"
void MR_CALL 
mercury__list__map4_foldl_8_p_9(
#line 1462 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_29,
#line 1462 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_30,
#line 1462 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_31,
#line 1462 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_32,
#line 1462 "list.m"
  MR_Word mercury__list__TypeInfo_for_P_33,
#line 1462 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_34,
#line 1462 "list.m"
  MR_Word mercury__list__P_1,
#line 1462 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1462 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1462 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1462 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1462 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 1462 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_7,
#line 1462 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_8)
#line 1462 "list.m"
{
#line 2821 "list.m"
  {
#line 2821 "list.m"
    MR_bool mercury__list__succeeded;

#line 2821 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2821 "list.m"
      {
#line 2821 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__STATE_VARIABLE_A_8 = mercury__list__STATE_VARIABLE_A_0_7;
#line 2821 "list.m"
      }
#line 2821 "list.m"
    else
#line 2822 "list.m"
      {
#line 2822 "list.m"
        MR_Box mercury__list__H0_14 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2822 "list.m"
        MR_Word mercury__list__T0_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2822 "list.m"
        MR_Box mercury__list__H1_16;
#line 2822 "list.m"
        MR_Word mercury__list__T1_17;
#line 2822 "list.m"
        MR_Box mercury__list__H2_18;
#line 2822 "list.m"
        MR_Word mercury__list__T2_19;
#line 2822 "list.m"
        MR_Box mercury__list__H3_20;
#line 2822 "list.m"
        MR_Word mercury__list__T3_21;
#line 2822 "list.m"
        MR_Box mercury__list__H4_22;
#line 2822 "list.m"
        MR_Word mercury__list__T4_23;
#line 2822 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_27_27;
#line 2823 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2823 "list.m"
        {
#line 2823 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_14, &mercury__list__H1_16, &mercury__list__H2_18, &mercury__list__H3_20, &mercury__list__H4_22, mercury__list__STATE_VARIABLE_A_0_7, &mercury__list__STATE_VARIABLE_A_27_27);
        }
#line 2824 "list.m"
        {
#line 2824 "list.m"
          mercury__list__map4_foldl_8_p_9(mercury__list__TypeInfo_for_L_29, mercury__list__TypeInfo_for_M_30, mercury__list__TypeInfo_for_N_31, mercury__list__TypeInfo_for_O_32, mercury__list__TypeInfo_for_P_33, mercury__list__TypeInfo_for_A_34, mercury__list__P_1, mercury__list__T0_15, &mercury__list__T1_17, &mercury__list__T2_19, &mercury__list__T3_21, &mercury__list__T4_23, mercury__list__STATE_VARIABLE_A_27_27, mercury__list__STATE_VARIABLE_A_8);
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_16;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_17));
#line 2822 "list.m"
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_18;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_19));
#line 2822 "list.m"
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_20;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_21));
#line 2822 "list.m"
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__6_6 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_22;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_23));
#line 2822 "list.m"
        }
#line 2822 "list.m"
      }
#line 2821 "list.m"
  }
#line 1462 "list.m"
}

#line 1460 "list.m"
void MR_CALL 
mercury__list__map4_foldl_8_p_8(
#line 1460 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_29,
#line 1460 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_30,
#line 1460 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_31,
#line 1460 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_32,
#line 1460 "list.m"
  MR_Word mercury__list__TypeInfo_for_P_33,
#line 1460 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_34,
#line 1460 "list.m"
  MR_Word mercury__list__P_1,
#line 1460 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1460 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1460 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1460 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1460 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 1460 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_7,
#line 1460 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_8)
#line 1460 "list.m"
{
#line 2821 "list.m"
  {
#line 2821 "list.m"
    MR_bool mercury__list__succeeded;

#line 2821 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2821 "list.m"
      {
#line 2821 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__STATE_VARIABLE_A_8 = mercury__list__STATE_VARIABLE_A_0_7;
#line 2821 "list.m"
      }
#line 2821 "list.m"
    else
#line 2822 "list.m"
      {
#line 2822 "list.m"
        MR_Box mercury__list__H0_14 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2822 "list.m"
        MR_Word mercury__list__T0_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2822 "list.m"
        MR_Box mercury__list__H1_16;
#line 2822 "list.m"
        MR_Word mercury__list__T1_17;
#line 2822 "list.m"
        MR_Box mercury__list__H2_18;
#line 2822 "list.m"
        MR_Word mercury__list__T2_19;
#line 2822 "list.m"
        MR_Box mercury__list__H3_20;
#line 2822 "list.m"
        MR_Word mercury__list__T3_21;
#line 2822 "list.m"
        MR_Box mercury__list__H4_22;
#line 2822 "list.m"
        MR_Word mercury__list__T4_23;
#line 2822 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_27_27;
#line 2823 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2823 "list.m"
        {
#line 2823 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_14, &mercury__list__H1_16, &mercury__list__H2_18, &mercury__list__H3_20, &mercury__list__H4_22, mercury__list__STATE_VARIABLE_A_0_7, &mercury__list__STATE_VARIABLE_A_27_27);
        }
#line 2824 "list.m"
        {
#line 2824 "list.m"
          mercury__list__map4_foldl_8_p_8(mercury__list__TypeInfo_for_L_29, mercury__list__TypeInfo_for_M_30, mercury__list__TypeInfo_for_N_31, mercury__list__TypeInfo_for_O_32, mercury__list__TypeInfo_for_P_33, mercury__list__TypeInfo_for_A_34, mercury__list__P_1, mercury__list__T0_15, &mercury__list__T1_17, &mercury__list__T2_19, &mercury__list__T3_21, &mercury__list__T4_23, mercury__list__STATE_VARIABLE_A_27_27, mercury__list__STATE_VARIABLE_A_8);
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_16;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_17));
#line 2822 "list.m"
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_18;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_19));
#line 2822 "list.m"
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_20;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_21));
#line 2822 "list.m"
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__6_6 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_22;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_23));
#line 2822 "list.m"
        }
#line 2822 "list.m"
      }
#line 2821 "list.m"
  }
#line 1460 "list.m"
}

#line 2822 "list.m"
static void MR_CALL 
mercury__list__map4_foldl_8_p_7_2(
#line 2822 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2822 "list.m"
{
#line 2822 "list.m"
  {
#line 2822 "list.m"
    struct mercury__list__map4_foldl_8_p_7_env_0_s * mercury__list__env_ptr = (struct mercury__list__map4_foldl_8_p_7_env_0_s *) mercury__list__env_ptr_arg;

#line 2822 "list.m"
    {
#line 2822 "list.m"
      MR_Word base;
#line 2822 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__HeadVar__3_3) = base;
#line 2822 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__H1_16;
#line 2822 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__T1_17));
#line 2822 "list.m"
    }
#line 2822 "list.m"
    {
#line 2822 "list.m"
      MR_Word base;
#line 2822 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__HeadVar__4_4) = base;
#line 2822 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__H2_18;
#line 2822 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__T2_19));
#line 2822 "list.m"
    }
#line 2822 "list.m"
    {
#line 2822 "list.m"
      MR_Word base;
#line 2822 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__HeadVar__5_5) = base;
#line 2822 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__H3_20;
#line 2822 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__T3_21));
#line 2822 "list.m"
    }
#line 2822 "list.m"
    {
#line 2822 "list.m"
      MR_Word base;
#line 2822 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__HeadVar__6_6) = base;
#line 2822 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__H4_22;
#line 2822 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__T4_23));
#line 2822 "list.m"
    }
#line 2822 "list.m"
    {
#line 2822 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__cont)((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__cont_env_ptr);
#line 2822 "list.m"
      return;
    }
#line 2822 "list.m"
  }
#line 2822 "list.m"
}

#line 2822 "list.m"
static void MR_CALL 
mercury__list__map4_foldl_8_p_7_1(
#line 2822 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2822 "list.m"
{
#line 2822 "list.m"
  {
#line 2822 "list.m"
    struct mercury__list__map4_foldl_8_p_7_env_0_s * mercury__list__env_ptr = (struct mercury__list__map4_foldl_8_p_7_env_0_s *) mercury__list__env_ptr_arg;

#line 2824 "list.m"
    {
#line 2824 "list.m"
      mercury__list__map4_foldl_8_p_7((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__TypeInfo_for_L_29, (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__TypeInfo_for_M_30, (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__TypeInfo_for_N_31, (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__TypeInfo_for_O_32, (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__TypeInfo_for_P_33, (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__TypeInfo_for_A_34, (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__T0_15, &(mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__T1_17, &(mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__T2_19, &(mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__T3_21, &(mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__T4_23, (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__STATE_VARIABLE_A_27_27, (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_7_env_0__STATE_VARIABLE_A_8, mercury__list__map4_foldl_8_p_7_2, mercury__list__env_ptr);
    }
#line 2822 "list.m"
  }
#line 2822 "list.m"
}

#line 1458 "list.m"
void MR_CALL 
mercury__list__map4_foldl_8_p_7(
#line 1458 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_29,
#line 1458 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_30,
#line 1458 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_31,
#line 1458 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_32,
#line 1458 "list.m"
  MR_Word mercury__list__TypeInfo_for_P_33,
#line 1458 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_34,
#line 1458 "list.m"
  MR_Word mercury__list__P_1,
#line 1458 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1458 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1458 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1458 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1458 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 1458 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_7,
#line 1458 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_8,
#line 1458 "list.m"
  MR_Cont mercury__list__cont,
#line 1458 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1458 "list.m"
{
#line 1458 "list.m"
  {
#line 1458 "list.m"
    struct mercury__list__map4_foldl_8_p_7_env_0_s mercury__list__env;

#line 1458 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__TypeInfo_for_L_29 = mercury__list__TypeInfo_for_L_29;
#line 1458 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__TypeInfo_for_M_30 = mercury__list__TypeInfo_for_M_30;
#line 1458 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__TypeInfo_for_N_31 = mercury__list__TypeInfo_for_N_31;
#line 1458 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__TypeInfo_for_O_32 = mercury__list__TypeInfo_for_O_32;
#line 1458 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__TypeInfo_for_P_33 = mercury__list__TypeInfo_for_P_33;
#line 1458 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__TypeInfo_for_A_34 = mercury__list__TypeInfo_for_A_34;
#line 1458 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__P_1 = mercury__list__P_1;
#line 1458 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 1458 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 1458 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__HeadVar__5_5 = mercury__list__HeadVar__5_5;
#line 1458 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__HeadVar__6_6 = mercury__list__HeadVar__6_6;
#line 1458 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__STATE_VARIABLE_A_8 = mercury__list__STATE_VARIABLE_A_8;
#line 1458 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__cont = mercury__list__cont;
#line 1458 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2821 "list.m"
    {
#line 2821 "list.m"
      MR_bool mercury__list__succeeded;

#line 2821 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2821 "list.m"
        {
#line 2821 "list.m"
          *((mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
          *((mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
          *((mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__HeadVar__5_5) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
          *((mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__HeadVar__6_6) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
          *((mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__STATE_VARIABLE_A_8) = mercury__list__STATE_VARIABLE_A_0_7;
#line 2821 "list.m"
          {
#line 2821 "list.m"
            ((mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__cont)((mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__cont_env_ptr);
#line 2821 "list.m"
            return;
          }
#line 2821 "list.m"
        }
#line 2821 "list.m"
      else
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Box mercury__list__H0_14 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2823 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2822 "list.m"
          (mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__T0_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2823 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__P_1, (MR_Integer) 1)));
#line 2823 "list.m"
          {
#line 2823 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__P_1), mercury__list__H0_14, &(mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__H1_16, &(mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__H2_18, &(mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__H3_20, &(mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__H4_22, mercury__list__STATE_VARIABLE_A_0_7, &(mercury__list__env).mercury__list__map4_foldl_8_p_7_env_0__STATE_VARIABLE_A_27_27, mercury__list__map4_foldl_8_p_7_1, &mercury__list__env);
          }
#line 2822 "list.m"
        }
#line 2821 "list.m"
    }
#line 1458 "list.m"
  }
#line 1458 "list.m"
}

#line 2822 "list.m"
static void MR_CALL 
mercury__list__map4_foldl_8_p_6_2(
#line 2822 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2822 "list.m"
{
#line 2822 "list.m"
  {
#line 2822 "list.m"
    struct mercury__list__map4_foldl_8_p_6_env_0_s * mercury__list__env_ptr = (struct mercury__list__map4_foldl_8_p_6_env_0_s *) mercury__list__env_ptr_arg;

#line 2822 "list.m"
    {
#line 2822 "list.m"
      MR_Word base;
#line 2822 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__HeadVar__3_3) = base;
#line 2822 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__H1_16;
#line 2822 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__T1_17));
#line 2822 "list.m"
    }
#line 2822 "list.m"
    {
#line 2822 "list.m"
      MR_Word base;
#line 2822 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__HeadVar__4_4) = base;
#line 2822 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__H2_18;
#line 2822 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__T2_19));
#line 2822 "list.m"
    }
#line 2822 "list.m"
    {
#line 2822 "list.m"
      MR_Word base;
#line 2822 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__HeadVar__5_5) = base;
#line 2822 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__H3_20;
#line 2822 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__T3_21));
#line 2822 "list.m"
    }
#line 2822 "list.m"
    {
#line 2822 "list.m"
      MR_Word base;
#line 2822 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__HeadVar__6_6) = base;
#line 2822 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__H4_22;
#line 2822 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__T4_23));
#line 2822 "list.m"
    }
#line 2822 "list.m"
    {
#line 2822 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__cont)((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__cont_env_ptr);
#line 2822 "list.m"
      return;
    }
#line 2822 "list.m"
  }
#line 2822 "list.m"
}

#line 2822 "list.m"
static void MR_CALL 
mercury__list__map4_foldl_8_p_6_1(
#line 2822 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2822 "list.m"
{
#line 2822 "list.m"
  {
#line 2822 "list.m"
    struct mercury__list__map4_foldl_8_p_6_env_0_s * mercury__list__env_ptr = (struct mercury__list__map4_foldl_8_p_6_env_0_s *) mercury__list__env_ptr_arg;

#line 2824 "list.m"
    {
#line 2824 "list.m"
      mercury__list__map4_foldl_8_p_6((mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__TypeInfo_for_L_29, (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__TypeInfo_for_M_30, (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__TypeInfo_for_N_31, (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__TypeInfo_for_O_32, (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__TypeInfo_for_P_33, (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__TypeInfo_for_A_34, (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__T0_15, &(mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__T1_17, &(mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__T2_19, &(mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__T3_21, &(mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__T4_23, (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__STATE_VARIABLE_A_27_27, (mercury__list__env_ptr)->mercury__list__map4_foldl_8_p_6_env_0__STATE_VARIABLE_A_8, mercury__list__map4_foldl_8_p_6_2, mercury__list__env_ptr);
    }
#line 2822 "list.m"
  }
#line 2822 "list.m"
}

#line 1456 "list.m"
void MR_CALL 
mercury__list__map4_foldl_8_p_6(
#line 1456 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_29,
#line 1456 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_30,
#line 1456 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_31,
#line 1456 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_32,
#line 1456 "list.m"
  MR_Word mercury__list__TypeInfo_for_P_33,
#line 1456 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_34,
#line 1456 "list.m"
  MR_Word mercury__list__P_1,
#line 1456 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1456 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1456 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1456 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1456 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 1456 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_7,
#line 1456 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_8,
#line 1456 "list.m"
  MR_Cont mercury__list__cont,
#line 1456 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1456 "list.m"
{
#line 1456 "list.m"
  {
#line 1456 "list.m"
    struct mercury__list__map4_foldl_8_p_6_env_0_s mercury__list__env;

#line 1456 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__TypeInfo_for_L_29 = mercury__list__TypeInfo_for_L_29;
#line 1456 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__TypeInfo_for_M_30 = mercury__list__TypeInfo_for_M_30;
#line 1456 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__TypeInfo_for_N_31 = mercury__list__TypeInfo_for_N_31;
#line 1456 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__TypeInfo_for_O_32 = mercury__list__TypeInfo_for_O_32;
#line 1456 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__TypeInfo_for_P_33 = mercury__list__TypeInfo_for_P_33;
#line 1456 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__TypeInfo_for_A_34 = mercury__list__TypeInfo_for_A_34;
#line 1456 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__P_1 = mercury__list__P_1;
#line 1456 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 1456 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 1456 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__HeadVar__5_5 = mercury__list__HeadVar__5_5;
#line 1456 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__HeadVar__6_6 = mercury__list__HeadVar__6_6;
#line 1456 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__STATE_VARIABLE_A_8 = mercury__list__STATE_VARIABLE_A_8;
#line 1456 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__cont = mercury__list__cont;
#line 1456 "list.m"
    (mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2821 "list.m"
    {
#line 2821 "list.m"
      MR_bool mercury__list__succeeded;

#line 2821 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2821 "list.m"
        {
#line 2821 "list.m"
          *((mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
          *((mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
          *((mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__HeadVar__5_5) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
          *((mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__HeadVar__6_6) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
          *((mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__STATE_VARIABLE_A_8) = mercury__list__STATE_VARIABLE_A_0_7;
#line 2821 "list.m"
          {
#line 2821 "list.m"
            ((mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__cont)((mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__cont_env_ptr);
#line 2821 "list.m"
            return;
          }
#line 2821 "list.m"
        }
#line 2821 "list.m"
      else
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Box mercury__list__H0_14 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2823 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2822 "list.m"
          (mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__T0_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2823 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__P_1, (MR_Integer) 1)));
#line 2823 "list.m"
          {
#line 2823 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__P_1), mercury__list__H0_14, &(mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__H1_16, &(mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__H2_18, &(mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__H3_20, &(mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__H4_22, mercury__list__STATE_VARIABLE_A_0_7, &(mercury__list__env).mercury__list__map4_foldl_8_p_6_env_0__STATE_VARIABLE_A_27_27, mercury__list__map4_foldl_8_p_6_1, &mercury__list__env);
          }
#line 2822 "list.m"
        }
#line 2821 "list.m"
    }
#line 1456 "list.m"
  }
#line 1456 "list.m"
}

#line 1454 "list.m"
MR_bool MR_CALL 
mercury__list__map4_foldl_8_p_5(
#line 1454 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_29,
#line 1454 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_30,
#line 1454 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_31,
#line 1454 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_32,
#line 1454 "list.m"
  MR_Word mercury__list__TypeInfo_for_P_33,
#line 1454 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_34,
#line 1454 "list.m"
  MR_Word mercury__list__P_1,
#line 1454 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1454 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1454 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1454 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1454 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 1454 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_7,
#line 1454 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_8)
#line 1454 "list.m"
{
#line 2821 "list.m"
  {
#line 2821 "list.m"
    MR_bool mercury__list__succeeded;

#line 2821 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2821 "list.m"
      {
#line 2821 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__STATE_VARIABLE_A_8 = mercury__list__STATE_VARIABLE_A_0_7;
#line 2821 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2821 "list.m"
      }
#line 2821 "list.m"
    else
#line 2822 "list.m"
      {
#line 2822 "list.m"
        MR_Box mercury__list__H0_14 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2822 "list.m"
        MR_Word mercury__list__T0_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2822 "list.m"
        MR_Box mercury__list__H1_16;
#line 2822 "list.m"
        MR_Word mercury__list__T1_17;
#line 2822 "list.m"
        MR_Box mercury__list__H2_18;
#line 2822 "list.m"
        MR_Word mercury__list__T2_19;
#line 2822 "list.m"
        MR_Box mercury__list__H3_20;
#line 2822 "list.m"
        MR_Word mercury__list__T3_21;
#line 2822 "list.m"
        MR_Box mercury__list__H4_22;
#line 2822 "list.m"
        MR_Word mercury__list__T4_23;
#line 2822 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_27_27;
#line 2823 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2823 "list.m"
        {
#line 2823 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_14, &mercury__list__H1_16, &mercury__list__H2_18, &mercury__list__H3_20, &mercury__list__H4_22, mercury__list__STATE_VARIABLE_A_0_7, &mercury__list__STATE_VARIABLE_A_27_27);
        }
#line 2822 "list.m"
        if (mercury__list__succeeded)
#line 2822 "list.m"
          {
#line 2824 "list.m"
            {
#line 2824 "list.m"
              mercury__list__succeeded = mercury__list__map4_foldl_8_p_5(mercury__list__TypeInfo_for_L_29, mercury__list__TypeInfo_for_M_30, mercury__list__TypeInfo_for_N_31, mercury__list__TypeInfo_for_O_32, mercury__list__TypeInfo_for_P_33, mercury__list__TypeInfo_for_A_34, mercury__list__P_1, mercury__list__T0_15, &mercury__list__T1_17, &mercury__list__T2_19, &mercury__list__T3_21, &mercury__list__T4_23, mercury__list__STATE_VARIABLE_A_27_27, mercury__list__STATE_VARIABLE_A_8);
            }
#line 2822 "list.m"
            if (mercury__list__succeeded)
#line 2822 "list.m"
              {
#line 2822 "list.m"
                {
#line 2822 "list.m"
                  MR_Word base;
#line 2822 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_16;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_17));
#line 2822 "list.m"
                }
#line 2822 "list.m"
                {
#line 2822 "list.m"
                  MR_Word base;
#line 2822 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_18;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_19));
#line 2822 "list.m"
                }
#line 2822 "list.m"
                {
#line 2822 "list.m"
                  MR_Word base;
#line 2822 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
                  *mercury__list__HeadVar__5_5 = base;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_20;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_21));
#line 2822 "list.m"
                }
#line 2822 "list.m"
                {
#line 2822 "list.m"
                  MR_Word base;
#line 2822 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
                  *mercury__list__HeadVar__6_6 = base;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_22;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_23));
#line 2822 "list.m"
                }
#line 2822 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2822 "list.m"
              }
#line 2822 "list.m"
          }
#line 2822 "list.m"
      }
#line 2821 "list.m"
    return mercury__list__succeeded;
#line 2821 "list.m"
  }
#line 1454 "list.m"
}

#line 1452 "list.m"
MR_bool MR_CALL 
mercury__list__map4_foldl_8_p_4(
#line 1452 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_29,
#line 1452 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_30,
#line 1452 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_31,
#line 1452 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_32,
#line 1452 "list.m"
  MR_Word mercury__list__TypeInfo_for_P_33,
#line 1452 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_34,
#line 1452 "list.m"
  MR_Word mercury__list__P_1,
#line 1452 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1452 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1452 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1452 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1452 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 1452 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_7,
#line 1452 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_8)
#line 1452 "list.m"
{
#line 2821 "list.m"
  {
#line 2821 "list.m"
    MR_bool mercury__list__succeeded;

#line 2821 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2821 "list.m"
      {
#line 2821 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__STATE_VARIABLE_A_8 = mercury__list__STATE_VARIABLE_A_0_7;
#line 2821 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2821 "list.m"
      }
#line 2821 "list.m"
    else
#line 2822 "list.m"
      {
#line 2822 "list.m"
        MR_Box mercury__list__H0_14 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2822 "list.m"
        MR_Word mercury__list__T0_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2822 "list.m"
        MR_Box mercury__list__H1_16;
#line 2822 "list.m"
        MR_Word mercury__list__T1_17;
#line 2822 "list.m"
        MR_Box mercury__list__H2_18;
#line 2822 "list.m"
        MR_Word mercury__list__T2_19;
#line 2822 "list.m"
        MR_Box mercury__list__H3_20;
#line 2822 "list.m"
        MR_Word mercury__list__T3_21;
#line 2822 "list.m"
        MR_Box mercury__list__H4_22;
#line 2822 "list.m"
        MR_Word mercury__list__T4_23;
#line 2822 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_27_27;
#line 2823 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2823 "list.m"
        {
#line 2823 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_14, &mercury__list__H1_16, &mercury__list__H2_18, &mercury__list__H3_20, &mercury__list__H4_22, mercury__list__STATE_VARIABLE_A_0_7, &mercury__list__STATE_VARIABLE_A_27_27);
        }
#line 2822 "list.m"
        if (mercury__list__succeeded)
#line 2822 "list.m"
          {
#line 2824 "list.m"
            {
#line 2824 "list.m"
              mercury__list__succeeded = mercury__list__map4_foldl_8_p_4(mercury__list__TypeInfo_for_L_29, mercury__list__TypeInfo_for_M_30, mercury__list__TypeInfo_for_N_31, mercury__list__TypeInfo_for_O_32, mercury__list__TypeInfo_for_P_33, mercury__list__TypeInfo_for_A_34, mercury__list__P_1, mercury__list__T0_15, &mercury__list__T1_17, &mercury__list__T2_19, &mercury__list__T3_21, &mercury__list__T4_23, mercury__list__STATE_VARIABLE_A_27_27, mercury__list__STATE_VARIABLE_A_8);
            }
#line 2822 "list.m"
            if (mercury__list__succeeded)
#line 2822 "list.m"
              {
#line 2822 "list.m"
                {
#line 2822 "list.m"
                  MR_Word base;
#line 2822 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_16;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_17));
#line 2822 "list.m"
                }
#line 2822 "list.m"
                {
#line 2822 "list.m"
                  MR_Word base;
#line 2822 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_18;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_19));
#line 2822 "list.m"
                }
#line 2822 "list.m"
                {
#line 2822 "list.m"
                  MR_Word base;
#line 2822 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
                  *mercury__list__HeadVar__5_5 = base;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_20;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_21));
#line 2822 "list.m"
                }
#line 2822 "list.m"
                {
#line 2822 "list.m"
                  MR_Word base;
#line 2822 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
                  *mercury__list__HeadVar__6_6 = base;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_22;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_23));
#line 2822 "list.m"
                }
#line 2822 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2822 "list.m"
              }
#line 2822 "list.m"
          }
#line 2822 "list.m"
      }
#line 2821 "list.m"
    return mercury__list__succeeded;
#line 2821 "list.m"
  }
#line 1452 "list.m"
}

#line 1450 "list.m"
MR_bool MR_CALL 
mercury__list__map4_foldl_8_p_3(
#line 1450 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_29,
#line 1450 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_30,
#line 1450 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_31,
#line 1450 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_32,
#line 1450 "list.m"
  MR_Word mercury__list__TypeInfo_for_P_33,
#line 1450 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_34,
#line 1450 "list.m"
  MR_Word mercury__list__P_1,
#line 1450 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1450 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1450 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1450 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1450 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 1450 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_7,
#line 1450 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_8)
#line 1450 "list.m"
{
#line 2821 "list.m"
  {
#line 2821 "list.m"
    MR_bool mercury__list__succeeded;

#line 2821 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2821 "list.m"
      {
#line 2821 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__STATE_VARIABLE_A_8 = mercury__list__STATE_VARIABLE_A_0_7;
#line 2821 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2821 "list.m"
      }
#line 2821 "list.m"
    else
#line 2822 "list.m"
      {
#line 2822 "list.m"
        MR_Box mercury__list__H0_14 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2822 "list.m"
        MR_Word mercury__list__T0_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2822 "list.m"
        MR_Box mercury__list__H1_16;
#line 2822 "list.m"
        MR_Word mercury__list__T1_17;
#line 2822 "list.m"
        MR_Box mercury__list__H2_18;
#line 2822 "list.m"
        MR_Word mercury__list__T2_19;
#line 2822 "list.m"
        MR_Box mercury__list__H3_20;
#line 2822 "list.m"
        MR_Word mercury__list__T3_21;
#line 2822 "list.m"
        MR_Box mercury__list__H4_22;
#line 2822 "list.m"
        MR_Word mercury__list__T4_23;
#line 2822 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_27_27;
#line 2823 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2823 "list.m"
        {
#line 2823 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_14, &mercury__list__H1_16, &mercury__list__H2_18, &mercury__list__H3_20, &mercury__list__H4_22, mercury__list__STATE_VARIABLE_A_0_7, &mercury__list__STATE_VARIABLE_A_27_27);
        }
#line 2822 "list.m"
        if (mercury__list__succeeded)
#line 2822 "list.m"
          {
#line 2824 "list.m"
            {
#line 2824 "list.m"
              mercury__list__succeeded = mercury__list__map4_foldl_8_p_3(mercury__list__TypeInfo_for_L_29, mercury__list__TypeInfo_for_M_30, mercury__list__TypeInfo_for_N_31, mercury__list__TypeInfo_for_O_32, mercury__list__TypeInfo_for_P_33, mercury__list__TypeInfo_for_A_34, mercury__list__P_1, mercury__list__T0_15, &mercury__list__T1_17, &mercury__list__T2_19, &mercury__list__T3_21, &mercury__list__T4_23, mercury__list__STATE_VARIABLE_A_27_27, mercury__list__STATE_VARIABLE_A_8);
            }
#line 2822 "list.m"
            if (mercury__list__succeeded)
#line 2822 "list.m"
              {
#line 2822 "list.m"
                {
#line 2822 "list.m"
                  MR_Word base;
#line 2822 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_16;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_17));
#line 2822 "list.m"
                }
#line 2822 "list.m"
                {
#line 2822 "list.m"
                  MR_Word base;
#line 2822 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_18;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_19));
#line 2822 "list.m"
                }
#line 2822 "list.m"
                {
#line 2822 "list.m"
                  MR_Word base;
#line 2822 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
                  *mercury__list__HeadVar__5_5 = base;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_20;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_21));
#line 2822 "list.m"
                }
#line 2822 "list.m"
                {
#line 2822 "list.m"
                  MR_Word base;
#line 2822 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
                  *mercury__list__HeadVar__6_6 = base;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_22;
#line 2822 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_23));
#line 2822 "list.m"
                }
#line 2822 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2822 "list.m"
              }
#line 2822 "list.m"
          }
#line 2822 "list.m"
      }
#line 2821 "list.m"
    return mercury__list__succeeded;
#line 2821 "list.m"
  }
#line 1450 "list.m"
}

#line 1448 "list.m"
void MR_CALL 
mercury__list__map4_foldl_8_p_2(
#line 1448 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_29,
#line 1448 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_30,
#line 1448 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_31,
#line 1448 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_32,
#line 1448 "list.m"
  MR_Word mercury__list__TypeInfo_for_P_33,
#line 1448 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_34,
#line 1448 "list.m"
  MR_Word mercury__list__P_1,
#line 1448 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1448 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1448 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1448 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1448 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 1448 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_7,
#line 1448 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_8)
#line 1448 "list.m"
{
#line 2821 "list.m"
  {
#line 2821 "list.m"
    MR_bool mercury__list__succeeded;

#line 2821 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2821 "list.m"
      {
#line 2821 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__STATE_VARIABLE_A_8 = mercury__list__STATE_VARIABLE_A_0_7;
#line 2821 "list.m"
      }
#line 2821 "list.m"
    else
#line 2822 "list.m"
      {
#line 2822 "list.m"
        MR_Box mercury__list__H0_14 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2822 "list.m"
        MR_Word mercury__list__T0_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2822 "list.m"
        MR_Box mercury__list__H1_16;
#line 2822 "list.m"
        MR_Word mercury__list__T1_17;
#line 2822 "list.m"
        MR_Box mercury__list__H2_18;
#line 2822 "list.m"
        MR_Word mercury__list__T2_19;
#line 2822 "list.m"
        MR_Box mercury__list__H3_20;
#line 2822 "list.m"
        MR_Word mercury__list__T3_21;
#line 2822 "list.m"
        MR_Box mercury__list__H4_22;
#line 2822 "list.m"
        MR_Word mercury__list__T4_23;
#line 2822 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_27_27;
#line 2823 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2823 "list.m"
        {
#line 2823 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_14, &mercury__list__H1_16, &mercury__list__H2_18, &mercury__list__H3_20, &mercury__list__H4_22, mercury__list__STATE_VARIABLE_A_0_7, &mercury__list__STATE_VARIABLE_A_27_27);
        }
#line 2824 "list.m"
        {
#line 2824 "list.m"
          mercury__list__map4_foldl_8_p_2(mercury__list__TypeInfo_for_L_29, mercury__list__TypeInfo_for_M_30, mercury__list__TypeInfo_for_N_31, mercury__list__TypeInfo_for_O_32, mercury__list__TypeInfo_for_P_33, mercury__list__TypeInfo_for_A_34, mercury__list__P_1, mercury__list__T0_15, &mercury__list__T1_17, &mercury__list__T2_19, &mercury__list__T3_21, &mercury__list__T4_23, mercury__list__STATE_VARIABLE_A_27_27, mercury__list__STATE_VARIABLE_A_8);
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_16;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_17));
#line 2822 "list.m"
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_18;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_19));
#line 2822 "list.m"
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_20;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_21));
#line 2822 "list.m"
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__6_6 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_22;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_23));
#line 2822 "list.m"
        }
#line 2822 "list.m"
      }
#line 2821 "list.m"
  }
#line 1448 "list.m"
}

#line 1446 "list.m"
void MR_CALL 
mercury__list__map4_foldl_8_p_1(
#line 1446 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_29,
#line 1446 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_30,
#line 1446 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_31,
#line 1446 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_32,
#line 1446 "list.m"
  MR_Word mercury__list__TypeInfo_for_P_33,
#line 1446 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_34,
#line 1446 "list.m"
  MR_Word mercury__list__P_1,
#line 1446 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1446 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1446 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1446 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1446 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 1446 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_7,
#line 1446 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_8)
#line 1446 "list.m"
{
#line 2821 "list.m"
  {
#line 2821 "list.m"
    MR_bool mercury__list__succeeded;

#line 2821 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2821 "list.m"
      {
#line 2821 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__STATE_VARIABLE_A_8 = mercury__list__STATE_VARIABLE_A_0_7;
#line 2821 "list.m"
      }
#line 2821 "list.m"
    else
#line 2822 "list.m"
      {
#line 2822 "list.m"
        MR_Box mercury__list__H0_14 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2822 "list.m"
        MR_Word mercury__list__T0_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2822 "list.m"
        MR_Box mercury__list__H1_16;
#line 2822 "list.m"
        MR_Word mercury__list__T1_17;
#line 2822 "list.m"
        MR_Box mercury__list__H2_18;
#line 2822 "list.m"
        MR_Word mercury__list__T2_19;
#line 2822 "list.m"
        MR_Box mercury__list__H3_20;
#line 2822 "list.m"
        MR_Word mercury__list__T3_21;
#line 2822 "list.m"
        MR_Box mercury__list__H4_22;
#line 2822 "list.m"
        MR_Word mercury__list__T4_23;
#line 2822 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_27_27;
#line 2823 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2823 "list.m"
        {
#line 2823 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_14, &mercury__list__H1_16, &mercury__list__H2_18, &mercury__list__H3_20, &mercury__list__H4_22, mercury__list__STATE_VARIABLE_A_0_7, &mercury__list__STATE_VARIABLE_A_27_27);
        }
#line 2824 "list.m"
        {
#line 2824 "list.m"
          mercury__list__map4_foldl_8_p_1(mercury__list__TypeInfo_for_L_29, mercury__list__TypeInfo_for_M_30, mercury__list__TypeInfo_for_N_31, mercury__list__TypeInfo_for_O_32, mercury__list__TypeInfo_for_P_33, mercury__list__TypeInfo_for_A_34, mercury__list__P_1, mercury__list__T0_15, &mercury__list__T1_17, &mercury__list__T2_19, &mercury__list__T3_21, &mercury__list__T4_23, mercury__list__STATE_VARIABLE_A_27_27, mercury__list__STATE_VARIABLE_A_8);
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_16;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_17));
#line 2822 "list.m"
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_18;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_19));
#line 2822 "list.m"
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_20;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_21));
#line 2822 "list.m"
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__6_6 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_22;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_23));
#line 2822 "list.m"
        }
#line 2822 "list.m"
      }
#line 2821 "list.m"
  }
#line 1446 "list.m"
}

#line 1444 "list.m"
void MR_CALL 
mercury__list__map4_foldl_8_p_0(
#line 1444 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_29,
#line 1444 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_30,
#line 1444 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_31,
#line 1444 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_32,
#line 1444 "list.m"
  MR_Word mercury__list__TypeInfo_for_P_33,
#line 1444 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_34,
#line 1444 "list.m"
  MR_Word mercury__list__P_1,
#line 1444 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1444 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1444 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1444 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1444 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 1444 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_7,
#line 1444 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_8)
#line 1444 "list.m"
{
#line 2821 "list.m"
  {
#line 2821 "list.m"
    MR_bool mercury__list__succeeded;

#line 2821 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2821 "list.m"
      {
#line 2821 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2821 "list.m"
        *mercury__list__STATE_VARIABLE_A_8 = mercury__list__STATE_VARIABLE_A_0_7;
#line 2821 "list.m"
      }
#line 2821 "list.m"
    else
#line 2822 "list.m"
      {
#line 2822 "list.m"
        MR_Box mercury__list__H0_14 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2822 "list.m"
        MR_Word mercury__list__T0_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2822 "list.m"
        MR_Box mercury__list__H1_16;
#line 2822 "list.m"
        MR_Word mercury__list__T1_17;
#line 2822 "list.m"
        MR_Box mercury__list__H2_18;
#line 2822 "list.m"
        MR_Word mercury__list__T2_19;
#line 2822 "list.m"
        MR_Box mercury__list__H3_20;
#line 2822 "list.m"
        MR_Word mercury__list__T3_21;
#line 2822 "list.m"
        MR_Box mercury__list__H4_22;
#line 2822 "list.m"
        MR_Word mercury__list__T4_23;
#line 2822 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_27_27;
#line 2823 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2823 "list.m"
        {
#line 2823 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_14, &mercury__list__H1_16, &mercury__list__H2_18, &mercury__list__H3_20, &mercury__list__H4_22, mercury__list__STATE_VARIABLE_A_0_7, &mercury__list__STATE_VARIABLE_A_27_27);
        }
#line 2824 "list.m"
        {
#line 2824 "list.m"
          mercury__list__map4_foldl_8_p_0(mercury__list__TypeInfo_for_L_29, mercury__list__TypeInfo_for_M_30, mercury__list__TypeInfo_for_N_31, mercury__list__TypeInfo_for_O_32, mercury__list__TypeInfo_for_P_33, mercury__list__TypeInfo_for_A_34, mercury__list__P_1, mercury__list__T0_15, &mercury__list__T1_17, &mercury__list__T2_19, &mercury__list__T3_21, &mercury__list__T4_23, mercury__list__STATE_VARIABLE_A_27_27, mercury__list__STATE_VARIABLE_A_8);
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_16;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_17));
#line 2822 "list.m"
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_18;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_19));
#line 2822 "list.m"
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_20;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_21));
#line 2822 "list.m"
        }
#line 2822 "list.m"
        {
#line 2822 "list.m"
          MR_Word base;
#line 2822 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2822 "list.m"
          *mercury__list__HeadVar__6_6 = base;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_22;
#line 2822 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_23));
#line 2822 "list.m"
        }
#line 2822 "list.m"
      }
#line 2821 "list.m"
  }
#line 1444 "list.m"
}

#line 2817 "list.m"
static void MR_CALL 
mercury__list__map3_foldl2_9_p_5_2(
#line 2817 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2817 "list.m"
{
#line 2817 "list.m"
  {
#line 2817 "list.m"
    struct mercury__list__map3_foldl2_9_p_5_env_0_s * mercury__list__env_ptr = (struct mercury__list__map3_foldl2_9_p_5_env_0_s *) mercury__list__env_ptr_arg;

#line 2817 "list.m"
    {
#line 2817 "list.m"
      MR_Word base;
#line 2817 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2817 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__HeadVar__3_3) = base;
#line 2817 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__H1_20;
#line 2817 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__T1_21));
#line 2817 "list.m"
    }
#line 2817 "list.m"
    {
#line 2817 "list.m"
      MR_Word base;
#line 2817 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2817 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__HeadVar__4_4) = base;
#line 2817 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__H2_22;
#line 2817 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__T2_23));
#line 2817 "list.m"
    }
#line 2817 "list.m"
    {
#line 2817 "list.m"
      MR_Word base;
#line 2817 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2817 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__HeadVar__5_5) = base;
#line 2817 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__H3_24;
#line 2817 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__T3_25));
#line 2817 "list.m"
    }
#line 2817 "list.m"
    {
#line 2817 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__cont)((mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__cont_env_ptr);
#line 2817 "list.m"
      return;
    }
#line 2817 "list.m"
  }
#line 2817 "list.m"
}

#line 2817 "list.m"
static void MR_CALL 
mercury__list__map3_foldl2_9_p_5_1(
#line 2817 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2817 "list.m"
{
#line 2817 "list.m"
  {
#line 2817 "list.m"
    struct mercury__list__map3_foldl2_9_p_5_env_0_s * mercury__list__env_ptr = (struct mercury__list__map3_foldl2_9_p_5_env_0_s *) mercury__list__env_ptr_arg;

#line 2819 "list.m"
    {
#line 2819 "list.m"
      mercury__list__map3_foldl2_9_p_5((mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__TypeInfo_for_L_36, (mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__TypeInfo_for_M_37, (mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__TypeInfo_for_N_38, (mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__TypeInfo_for_O_39, (mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__TypeInfo_for_A_40, (mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__TypeInfo_for_B_41, (mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__T0_19, &(mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__T1_21, &(mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__T2_23, &(mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__T3_25, (mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__STATE_VARIABLE_A_32_32, (mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__STATE_VARIABLE_A_7, (mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__STATE_VARIABLE_B_33_33, (mercury__list__env_ptr)->mercury__list__map3_foldl2_9_p_5_env_0__STATE_VARIABLE_B_9, mercury__list__map3_foldl2_9_p_5_2, mercury__list__env_ptr);
    }
#line 2817 "list.m"
  }
#line 2817 "list.m"
}

#line 1437 "list.m"
void MR_CALL 
mercury__list__map3_foldl2_9_p_5(
#line 1437 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_36,
#line 1437 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_37,
#line 1437 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_38,
#line 1437 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_39,
#line 1437 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_40,
#line 1437 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_41,
#line 1437 "list.m"
  MR_Word mercury__list__P_1,
#line 1437 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1437 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1437 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1437 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1437 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_6,
#line 1437 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_7,
#line 1437 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_8,
#line 1437 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_9,
#line 1437 "list.m"
  MR_Cont mercury__list__cont,
#line 1437 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1437 "list.m"
{
#line 1437 "list.m"
  {
#line 1437 "list.m"
    struct mercury__list__map3_foldl2_9_p_5_env_0_s mercury__list__env;

#line 1437 "list.m"
    (mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__TypeInfo_for_L_36 = mercury__list__TypeInfo_for_L_36;
#line 1437 "list.m"
    (mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__TypeInfo_for_M_37 = mercury__list__TypeInfo_for_M_37;
#line 1437 "list.m"
    (mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__TypeInfo_for_N_38 = mercury__list__TypeInfo_for_N_38;
#line 1437 "list.m"
    (mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__TypeInfo_for_O_39 = mercury__list__TypeInfo_for_O_39;
#line 1437 "list.m"
    (mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__TypeInfo_for_A_40 = mercury__list__TypeInfo_for_A_40;
#line 1437 "list.m"
    (mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__TypeInfo_for_B_41 = mercury__list__TypeInfo_for_B_41;
#line 1437 "list.m"
    (mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__P_1 = mercury__list__P_1;
#line 1437 "list.m"
    (mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 1437 "list.m"
    (mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 1437 "list.m"
    (mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__HeadVar__5_5 = mercury__list__HeadVar__5_5;
#line 1437 "list.m"
    (mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__STATE_VARIABLE_A_7 = mercury__list__STATE_VARIABLE_A_7;
#line 1437 "list.m"
    (mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__STATE_VARIABLE_B_9 = mercury__list__STATE_VARIABLE_B_9;
#line 1437 "list.m"
    (mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__cont = mercury__list__cont;
#line 1437 "list.m"
    (mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2816 "list.m"
    {
#line 2816 "list.m"
      MR_bool mercury__list__succeeded;

#line 2816 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2816 "list.m"
        {
#line 2816 "list.m"
          *((mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2816 "list.m"
          *((mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2816 "list.m"
          *((mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__HeadVar__5_5) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2816 "list.m"
          *((mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__STATE_VARIABLE_B_9) = mercury__list__STATE_VARIABLE_B_0_8;
#line 2816 "list.m"
          *((mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__STATE_VARIABLE_A_7) = mercury__list__STATE_VARIABLE_A_0_6;
#line 2816 "list.m"
          {
#line 2816 "list.m"
            ((mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__cont)((mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__cont_env_ptr);
#line 2816 "list.m"
            return;
          }
#line 2816 "list.m"
        }
#line 2816 "list.m"
      else
#line 2817 "list.m"
        {
#line 2817 "list.m"
          MR_Box mercury__list__H0_18 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2818 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2817 "list.m"
          (mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__T0_19 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2818 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__P_1, (MR_Integer) 1)));
#line 2818 "list.m"
          {
#line 2818 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__P_1), mercury__list__H0_18, &(mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__H1_20, &(mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__H2_22, &(mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__H3_24, mercury__list__STATE_VARIABLE_A_0_6, &(mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__STATE_VARIABLE_A_32_32, mercury__list__STATE_VARIABLE_B_0_8, &(mercury__list__env).mercury__list__map3_foldl2_9_p_5_env_0__STATE_VARIABLE_B_33_33, mercury__list__map3_foldl2_9_p_5_1, &mercury__list__env);
          }
#line 2817 "list.m"
        }
#line 2816 "list.m"
    }
#line 1437 "list.m"
  }
#line 1437 "list.m"
}

#line 1435 "list.m"
MR_bool MR_CALL 
mercury__list__map3_foldl2_9_p_4(
#line 1435 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_36,
#line 1435 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_37,
#line 1435 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_38,
#line 1435 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_39,
#line 1435 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_40,
#line 1435 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_41,
#line 1435 "list.m"
  MR_Word mercury__list__P_1,
#line 1435 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1435 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1435 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1435 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1435 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_6,
#line 1435 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_7,
#line 1435 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_8,
#line 1435 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_9)
#line 1435 "list.m"
{
#line 2816 "list.m"
  {
#line 2816 "list.m"
    MR_bool mercury__list__succeeded;

#line 2816 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2816 "list.m"
      {
#line 2816 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2816 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2816 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2816 "list.m"
        *mercury__list__STATE_VARIABLE_B_9 = mercury__list__STATE_VARIABLE_B_0_8;
#line 2816 "list.m"
        *mercury__list__STATE_VARIABLE_A_7 = mercury__list__STATE_VARIABLE_A_0_6;
#line 2816 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2816 "list.m"
      }
#line 2816 "list.m"
    else
#line 2817 "list.m"
      {
#line 2817 "list.m"
        MR_Box mercury__list__H0_18 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2817 "list.m"
        MR_Word mercury__list__T0_19 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2817 "list.m"
        MR_Box mercury__list__H1_20;
#line 2817 "list.m"
        MR_Word mercury__list__T1_21;
#line 2817 "list.m"
        MR_Box mercury__list__H2_22;
#line 2817 "list.m"
        MR_Word mercury__list__T2_23;
#line 2817 "list.m"
        MR_Box mercury__list__H3_24;
#line 2817 "list.m"
        MR_Word mercury__list__T3_25;
#line 2817 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_32_32;
#line 2817 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_33_33;
#line 2818 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2818 "list.m"
        {
#line 2818 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_18, &mercury__list__H1_20, &mercury__list__H2_22, &mercury__list__H3_24, mercury__list__STATE_VARIABLE_A_0_6, &mercury__list__STATE_VARIABLE_A_32_32, mercury__list__STATE_VARIABLE_B_0_8, &mercury__list__STATE_VARIABLE_B_33_33);
        }
#line 2817 "list.m"
        if (mercury__list__succeeded)
#line 2817 "list.m"
          {
#line 2819 "list.m"
            {
#line 2819 "list.m"
              mercury__list__succeeded = mercury__list__map3_foldl2_9_p_4(mercury__list__TypeInfo_for_L_36, mercury__list__TypeInfo_for_M_37, mercury__list__TypeInfo_for_N_38, mercury__list__TypeInfo_for_O_39, mercury__list__TypeInfo_for_A_40, mercury__list__TypeInfo_for_B_41, mercury__list__P_1, mercury__list__T0_19, &mercury__list__T1_21, &mercury__list__T2_23, &mercury__list__T3_25, mercury__list__STATE_VARIABLE_A_32_32, mercury__list__STATE_VARIABLE_A_7, mercury__list__STATE_VARIABLE_B_33_33, mercury__list__STATE_VARIABLE_B_9);
            }
#line 2817 "list.m"
            if (mercury__list__succeeded)
#line 2817 "list.m"
              {
#line 2817 "list.m"
                {
#line 2817 "list.m"
                  MR_Word base;
#line 2817 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2817 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2817 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_20;
#line 2817 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_21));
#line 2817 "list.m"
                }
#line 2817 "list.m"
                {
#line 2817 "list.m"
                  MR_Word base;
#line 2817 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2817 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2817 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_22;
#line 2817 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_23));
#line 2817 "list.m"
                }
#line 2817 "list.m"
                {
#line 2817 "list.m"
                  MR_Word base;
#line 2817 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2817 "list.m"
                  *mercury__list__HeadVar__5_5 = base;
#line 2817 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_24;
#line 2817 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_25));
#line 2817 "list.m"
                }
#line 2817 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2817 "list.m"
              }
#line 2817 "list.m"
          }
#line 2817 "list.m"
      }
#line 2816 "list.m"
    return mercury__list__succeeded;
#line 2816 "list.m"
  }
#line 1435 "list.m"
}

#line 1433 "list.m"
void MR_CALL 
mercury__list__map3_foldl2_9_p_3(
#line 1433 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_36,
#line 1433 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_37,
#line 1433 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_38,
#line 1433 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_39,
#line 1433 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_40,
#line 1433 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_41,
#line 1433 "list.m"
  MR_Word mercury__list__P_1,
#line 1433 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1433 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1433 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1433 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1433 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_6,
#line 1433 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_7,
#line 1433 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_8,
#line 1433 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_9)
#line 1433 "list.m"
{
#line 2816 "list.m"
  {
#line 2816 "list.m"
    MR_bool mercury__list__succeeded;

#line 2816 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2816 "list.m"
      {
#line 2816 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2816 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2816 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2816 "list.m"
        *mercury__list__STATE_VARIABLE_B_9 = mercury__list__STATE_VARIABLE_B_0_8;
#line 2816 "list.m"
        *mercury__list__STATE_VARIABLE_A_7 = mercury__list__STATE_VARIABLE_A_0_6;
#line 2816 "list.m"
      }
#line 2816 "list.m"
    else
#line 2817 "list.m"
      {
#line 2817 "list.m"
        MR_Box mercury__list__H0_18 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2817 "list.m"
        MR_Word mercury__list__T0_19 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2817 "list.m"
        MR_Box mercury__list__H1_20;
#line 2817 "list.m"
        MR_Word mercury__list__T1_21;
#line 2817 "list.m"
        MR_Box mercury__list__H2_22;
#line 2817 "list.m"
        MR_Word mercury__list__T2_23;
#line 2817 "list.m"
        MR_Box mercury__list__H3_24;
#line 2817 "list.m"
        MR_Word mercury__list__T3_25;
#line 2817 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_32_32;
#line 2817 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_33_33;
#line 2818 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2818 "list.m"
        {
#line 2818 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_18, &mercury__list__H1_20, &mercury__list__H2_22, &mercury__list__H3_24, mercury__list__STATE_VARIABLE_A_0_6, &mercury__list__STATE_VARIABLE_A_32_32, mercury__list__STATE_VARIABLE_B_0_8, &mercury__list__STATE_VARIABLE_B_33_33);
        }
#line 2819 "list.m"
        {
#line 2819 "list.m"
          mercury__list__map3_foldl2_9_p_3(mercury__list__TypeInfo_for_L_36, mercury__list__TypeInfo_for_M_37, mercury__list__TypeInfo_for_N_38, mercury__list__TypeInfo_for_O_39, mercury__list__TypeInfo_for_A_40, mercury__list__TypeInfo_for_B_41, mercury__list__P_1, mercury__list__T0_19, &mercury__list__T1_21, &mercury__list__T2_23, &mercury__list__T3_25, mercury__list__STATE_VARIABLE_A_32_32, mercury__list__STATE_VARIABLE_A_7, mercury__list__STATE_VARIABLE_B_33_33, mercury__list__STATE_VARIABLE_B_9);
        }
#line 2817 "list.m"
        {
#line 2817 "list.m"
          MR_Word base;
#line 2817 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2817 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_20;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_21));
#line 2817 "list.m"
        }
#line 2817 "list.m"
        {
#line 2817 "list.m"
          MR_Word base;
#line 2817 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2817 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_22;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_23));
#line 2817 "list.m"
        }
#line 2817 "list.m"
        {
#line 2817 "list.m"
          MR_Word base;
#line 2817 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2817 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_24;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_25));
#line 2817 "list.m"
        }
#line 2817 "list.m"
      }
#line 2816 "list.m"
  }
#line 1433 "list.m"
}

#line 1431 "list.m"
void MR_CALL 
mercury__list__map3_foldl2_9_p_2(
#line 1431 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_36,
#line 1431 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_37,
#line 1431 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_38,
#line 1431 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_39,
#line 1431 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_40,
#line 1431 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_41,
#line 1431 "list.m"
  MR_Word mercury__list__P_1,
#line 1431 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1431 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1431 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1431 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1431 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_6,
#line 1431 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_7,
#line 1431 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_8,
#line 1431 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_9)
#line 1431 "list.m"
{
#line 2816 "list.m"
  {
#line 2816 "list.m"
    MR_bool mercury__list__succeeded;

#line 2816 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2816 "list.m"
      {
#line 2816 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2816 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2816 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2816 "list.m"
        *mercury__list__STATE_VARIABLE_B_9 = mercury__list__STATE_VARIABLE_B_0_8;
#line 2816 "list.m"
        *mercury__list__STATE_VARIABLE_A_7 = mercury__list__STATE_VARIABLE_A_0_6;
#line 2816 "list.m"
      }
#line 2816 "list.m"
    else
#line 2817 "list.m"
      {
#line 2817 "list.m"
        MR_Box mercury__list__H0_18 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2817 "list.m"
        MR_Word mercury__list__T0_19 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2817 "list.m"
        MR_Box mercury__list__H1_20;
#line 2817 "list.m"
        MR_Word mercury__list__T1_21;
#line 2817 "list.m"
        MR_Box mercury__list__H2_22;
#line 2817 "list.m"
        MR_Word mercury__list__T2_23;
#line 2817 "list.m"
        MR_Box mercury__list__H3_24;
#line 2817 "list.m"
        MR_Word mercury__list__T3_25;
#line 2817 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_32_32;
#line 2817 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_33_33;
#line 2818 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2818 "list.m"
        {
#line 2818 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_18, &mercury__list__H1_20, &mercury__list__H2_22, &mercury__list__H3_24, mercury__list__STATE_VARIABLE_A_0_6, &mercury__list__STATE_VARIABLE_A_32_32, mercury__list__STATE_VARIABLE_B_0_8, &mercury__list__STATE_VARIABLE_B_33_33);
        }
#line 2819 "list.m"
        {
#line 2819 "list.m"
          mercury__list__map3_foldl2_9_p_2(mercury__list__TypeInfo_for_L_36, mercury__list__TypeInfo_for_M_37, mercury__list__TypeInfo_for_N_38, mercury__list__TypeInfo_for_O_39, mercury__list__TypeInfo_for_A_40, mercury__list__TypeInfo_for_B_41, mercury__list__P_1, mercury__list__T0_19, &mercury__list__T1_21, &mercury__list__T2_23, &mercury__list__T3_25, mercury__list__STATE_VARIABLE_A_32_32, mercury__list__STATE_VARIABLE_A_7, mercury__list__STATE_VARIABLE_B_33_33, mercury__list__STATE_VARIABLE_B_9);
        }
#line 2817 "list.m"
        {
#line 2817 "list.m"
          MR_Word base;
#line 2817 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2817 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_20;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_21));
#line 2817 "list.m"
        }
#line 2817 "list.m"
        {
#line 2817 "list.m"
          MR_Word base;
#line 2817 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2817 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_22;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_23));
#line 2817 "list.m"
        }
#line 2817 "list.m"
        {
#line 2817 "list.m"
          MR_Word base;
#line 2817 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2817 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_24;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_25));
#line 2817 "list.m"
        }
#line 2817 "list.m"
      }
#line 2816 "list.m"
  }
#line 1431 "list.m"
}

#line 1429 "list.m"
void MR_CALL 
mercury__list__map3_foldl2_9_p_1(
#line 1429 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_36,
#line 1429 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_37,
#line 1429 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_38,
#line 1429 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_39,
#line 1429 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_40,
#line 1429 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_41,
#line 1429 "list.m"
  MR_Word mercury__list__P_1,
#line 1429 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1429 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1429 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1429 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1429 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_6,
#line 1429 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_7,
#line 1429 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_8,
#line 1429 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_9)
#line 1429 "list.m"
{
#line 2816 "list.m"
  {
#line 2816 "list.m"
    MR_bool mercury__list__succeeded;

#line 2816 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2816 "list.m"
      {
#line 2816 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2816 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2816 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2816 "list.m"
        *mercury__list__STATE_VARIABLE_B_9 = mercury__list__STATE_VARIABLE_B_0_8;
#line 2816 "list.m"
        *mercury__list__STATE_VARIABLE_A_7 = mercury__list__STATE_VARIABLE_A_0_6;
#line 2816 "list.m"
      }
#line 2816 "list.m"
    else
#line 2817 "list.m"
      {
#line 2817 "list.m"
        MR_Box mercury__list__H0_18 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2817 "list.m"
        MR_Word mercury__list__T0_19 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2817 "list.m"
        MR_Box mercury__list__H1_20;
#line 2817 "list.m"
        MR_Word mercury__list__T1_21;
#line 2817 "list.m"
        MR_Box mercury__list__H2_22;
#line 2817 "list.m"
        MR_Word mercury__list__T2_23;
#line 2817 "list.m"
        MR_Box mercury__list__H3_24;
#line 2817 "list.m"
        MR_Word mercury__list__T3_25;
#line 2817 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_32_32;
#line 2817 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_33_33;
#line 2818 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2818 "list.m"
        {
#line 2818 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_18, &mercury__list__H1_20, &mercury__list__H2_22, &mercury__list__H3_24, mercury__list__STATE_VARIABLE_A_0_6, &mercury__list__STATE_VARIABLE_A_32_32, mercury__list__STATE_VARIABLE_B_0_8, &mercury__list__STATE_VARIABLE_B_33_33);
        }
#line 2819 "list.m"
        {
#line 2819 "list.m"
          mercury__list__map3_foldl2_9_p_1(mercury__list__TypeInfo_for_L_36, mercury__list__TypeInfo_for_M_37, mercury__list__TypeInfo_for_N_38, mercury__list__TypeInfo_for_O_39, mercury__list__TypeInfo_for_A_40, mercury__list__TypeInfo_for_B_41, mercury__list__P_1, mercury__list__T0_19, &mercury__list__T1_21, &mercury__list__T2_23, &mercury__list__T3_25, mercury__list__STATE_VARIABLE_A_32_32, mercury__list__STATE_VARIABLE_A_7, mercury__list__STATE_VARIABLE_B_33_33, mercury__list__STATE_VARIABLE_B_9);
        }
#line 2817 "list.m"
        {
#line 2817 "list.m"
          MR_Word base;
#line 2817 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2817 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_20;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_21));
#line 2817 "list.m"
        }
#line 2817 "list.m"
        {
#line 2817 "list.m"
          MR_Word base;
#line 2817 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2817 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_22;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_23));
#line 2817 "list.m"
        }
#line 2817 "list.m"
        {
#line 2817 "list.m"
          MR_Word base;
#line 2817 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2817 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_24;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_25));
#line 2817 "list.m"
        }
#line 2817 "list.m"
      }
#line 2816 "list.m"
  }
#line 1429 "list.m"
}

#line 1427 "list.m"
void MR_CALL 
mercury__list__map3_foldl2_9_p_0(
#line 1427 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_36,
#line 1427 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_37,
#line 1427 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_38,
#line 1427 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_39,
#line 1427 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_40,
#line 1427 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_41,
#line 1427 "list.m"
  MR_Word mercury__list__P_1,
#line 1427 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1427 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1427 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1427 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1427 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_6,
#line 1427 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_7,
#line 1427 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_8,
#line 1427 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_9)
#line 1427 "list.m"
{
#line 2816 "list.m"
  {
#line 2816 "list.m"
    MR_bool mercury__list__succeeded;

#line 2816 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2816 "list.m"
      {
#line 2816 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2816 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2816 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2816 "list.m"
        *mercury__list__STATE_VARIABLE_B_9 = mercury__list__STATE_VARIABLE_B_0_8;
#line 2816 "list.m"
        *mercury__list__STATE_VARIABLE_A_7 = mercury__list__STATE_VARIABLE_A_0_6;
#line 2816 "list.m"
      }
#line 2816 "list.m"
    else
#line 2817 "list.m"
      {
#line 2817 "list.m"
        MR_Box mercury__list__H0_18 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2817 "list.m"
        MR_Word mercury__list__T0_19 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2817 "list.m"
        MR_Box mercury__list__H1_20;
#line 2817 "list.m"
        MR_Word mercury__list__T1_21;
#line 2817 "list.m"
        MR_Box mercury__list__H2_22;
#line 2817 "list.m"
        MR_Word mercury__list__T2_23;
#line 2817 "list.m"
        MR_Box mercury__list__H3_24;
#line 2817 "list.m"
        MR_Word mercury__list__T3_25;
#line 2817 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_32_32;
#line 2817 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_33_33;
#line 2818 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2818 "list.m"
        {
#line 2818 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_18, &mercury__list__H1_20, &mercury__list__H2_22, &mercury__list__H3_24, mercury__list__STATE_VARIABLE_A_0_6, &mercury__list__STATE_VARIABLE_A_32_32, mercury__list__STATE_VARIABLE_B_0_8, &mercury__list__STATE_VARIABLE_B_33_33);
        }
#line 2819 "list.m"
        {
#line 2819 "list.m"
          mercury__list__map3_foldl2_9_p_0(mercury__list__TypeInfo_for_L_36, mercury__list__TypeInfo_for_M_37, mercury__list__TypeInfo_for_N_38, mercury__list__TypeInfo_for_O_39, mercury__list__TypeInfo_for_A_40, mercury__list__TypeInfo_for_B_41, mercury__list__P_1, mercury__list__T0_19, &mercury__list__T1_21, &mercury__list__T2_23, &mercury__list__T3_25, mercury__list__STATE_VARIABLE_A_32_32, mercury__list__STATE_VARIABLE_A_7, mercury__list__STATE_VARIABLE_B_33_33, mercury__list__STATE_VARIABLE_B_9);
        }
#line 2817 "list.m"
        {
#line 2817 "list.m"
          MR_Word base;
#line 2817 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2817 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_20;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_21));
#line 2817 "list.m"
        }
#line 2817 "list.m"
        {
#line 2817 "list.m"
          MR_Word base;
#line 2817 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2817 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_22;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_23));
#line 2817 "list.m"
        }
#line 2817 "list.m"
        {
#line 2817 "list.m"
          MR_Word base;
#line 2817 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2817 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_24;
#line 2817 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_25));
#line 2817 "list.m"
        }
#line 2817 "list.m"
      }
#line 2816 "list.m"
  }
#line 1427 "list.m"
}

#line 1419 "list.m"
void MR_CALL 
mercury__list__map3_foldl_7_p_9(
#line 1419 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_26,
#line 1419 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_27,
#line 1419 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_28,
#line 1419 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_29,
#line 1419 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_30,
#line 1419 "list.m"
  MR_Word mercury__list__P_1,
#line 1419 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1419 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1419 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1419 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1419 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_6,
#line 1419 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_7)
#line 1419 "list.m"
{
#line 2811 "list.m"
  {
#line 2811 "list.m"
    MR_bool mercury__list__succeeded;

#line 2811 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2811 "list.m"
      {
#line 2811 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__STATE_VARIABLE_A_7 = mercury__list__STATE_VARIABLE_A_0_6;
#line 2811 "list.m"
      }
#line 2811 "list.m"
    else
#line 2812 "list.m"
      {
#line 2812 "list.m"
        MR_Box mercury__list__H0_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2812 "list.m"
        MR_Word mercury__list__T0_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2812 "list.m"
        MR_Box mercury__list__H1_15;
#line 2812 "list.m"
        MR_Word mercury__list__T1_16;
#line 2812 "list.m"
        MR_Box mercury__list__H2_17;
#line 2812 "list.m"
        MR_Word mercury__list__T2_18;
#line 2812 "list.m"
        MR_Box mercury__list__H3_19;
#line 2812 "list.m"
        MR_Word mercury__list__T3_20;
#line 2812 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_24_24;
#line 2813 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2813 "list.m"
        {
#line 2813 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_13, &mercury__list__H1_15, &mercury__list__H2_17, &mercury__list__H3_19, mercury__list__STATE_VARIABLE_A_0_6, &mercury__list__STATE_VARIABLE_A_24_24);
        }
#line 2814 "list.m"
        {
#line 2814 "list.m"
          mercury__list__map3_foldl_7_p_9(mercury__list__TypeInfo_for_L_26, mercury__list__TypeInfo_for_M_27, mercury__list__TypeInfo_for_N_28, mercury__list__TypeInfo_for_O_29, mercury__list__TypeInfo_for_A_30, mercury__list__P_1, mercury__list__T0_14, &mercury__list__T1_16, &mercury__list__T2_18, &mercury__list__T3_20, mercury__list__STATE_VARIABLE_A_24_24, mercury__list__STATE_VARIABLE_A_7);
        }
#line 2812 "list.m"
        {
#line 2812 "list.m"
          MR_Word base;
#line 2812 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_15;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_16));
#line 2812 "list.m"
        }
#line 2812 "list.m"
        {
#line 2812 "list.m"
          MR_Word base;
#line 2812 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_17;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_18));
#line 2812 "list.m"
        }
#line 2812 "list.m"
        {
#line 2812 "list.m"
          MR_Word base;
#line 2812 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_19;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_20));
#line 2812 "list.m"
        }
#line 2812 "list.m"
      }
#line 2811 "list.m"
  }
#line 1419 "list.m"
}

#line 1417 "list.m"
void MR_CALL 
mercury__list__map3_foldl_7_p_8(
#line 1417 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_26,
#line 1417 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_27,
#line 1417 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_28,
#line 1417 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_29,
#line 1417 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_30,
#line 1417 "list.m"
  MR_Word mercury__list__P_1,
#line 1417 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1417 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1417 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1417 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1417 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_6,
#line 1417 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_7)
#line 1417 "list.m"
{
#line 2811 "list.m"
  {
#line 2811 "list.m"
    MR_bool mercury__list__succeeded;

#line 2811 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2811 "list.m"
      {
#line 2811 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__STATE_VARIABLE_A_7 = mercury__list__STATE_VARIABLE_A_0_6;
#line 2811 "list.m"
      }
#line 2811 "list.m"
    else
#line 2812 "list.m"
      {
#line 2812 "list.m"
        MR_Box mercury__list__H0_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2812 "list.m"
        MR_Word mercury__list__T0_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2812 "list.m"
        MR_Box mercury__list__H1_15;
#line 2812 "list.m"
        MR_Word mercury__list__T1_16;
#line 2812 "list.m"
        MR_Box mercury__list__H2_17;
#line 2812 "list.m"
        MR_Word mercury__list__T2_18;
#line 2812 "list.m"
        MR_Box mercury__list__H3_19;
#line 2812 "list.m"
        MR_Word mercury__list__T3_20;
#line 2812 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_24_24;
#line 2813 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2813 "list.m"
        {
#line 2813 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_13, &mercury__list__H1_15, &mercury__list__H2_17, &mercury__list__H3_19, mercury__list__STATE_VARIABLE_A_0_6, &mercury__list__STATE_VARIABLE_A_24_24);
        }
#line 2814 "list.m"
        {
#line 2814 "list.m"
          mercury__list__map3_foldl_7_p_8(mercury__list__TypeInfo_for_L_26, mercury__list__TypeInfo_for_M_27, mercury__list__TypeInfo_for_N_28, mercury__list__TypeInfo_for_O_29, mercury__list__TypeInfo_for_A_30, mercury__list__P_1, mercury__list__T0_14, &mercury__list__T1_16, &mercury__list__T2_18, &mercury__list__T3_20, mercury__list__STATE_VARIABLE_A_24_24, mercury__list__STATE_VARIABLE_A_7);
        }
#line 2812 "list.m"
        {
#line 2812 "list.m"
          MR_Word base;
#line 2812 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_15;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_16));
#line 2812 "list.m"
        }
#line 2812 "list.m"
        {
#line 2812 "list.m"
          MR_Word base;
#line 2812 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_17;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_18));
#line 2812 "list.m"
        }
#line 2812 "list.m"
        {
#line 2812 "list.m"
          MR_Word base;
#line 2812 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_19;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_20));
#line 2812 "list.m"
        }
#line 2812 "list.m"
      }
#line 2811 "list.m"
  }
#line 1417 "list.m"
}

#line 2812 "list.m"
static void MR_CALL 
mercury__list__map3_foldl_7_p_7_2(
#line 2812 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2812 "list.m"
{
#line 2812 "list.m"
  {
#line 2812 "list.m"
    struct mercury__list__map3_foldl_7_p_7_env_0_s * mercury__list__env_ptr = (struct mercury__list__map3_foldl_7_p_7_env_0_s *) mercury__list__env_ptr_arg;

#line 2812 "list.m"
    {
#line 2812 "list.m"
      MR_Word base;
#line 2812 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__HeadVar__3_3) = base;
#line 2812 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__H1_15;
#line 2812 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__T1_16));
#line 2812 "list.m"
    }
#line 2812 "list.m"
    {
#line 2812 "list.m"
      MR_Word base;
#line 2812 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__HeadVar__4_4) = base;
#line 2812 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__H2_17;
#line 2812 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__T2_18));
#line 2812 "list.m"
    }
#line 2812 "list.m"
    {
#line 2812 "list.m"
      MR_Word base;
#line 2812 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__HeadVar__5_5) = base;
#line 2812 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__H3_19;
#line 2812 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__T3_20));
#line 2812 "list.m"
    }
#line 2812 "list.m"
    {
#line 2812 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__cont)((mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__cont_env_ptr);
#line 2812 "list.m"
      return;
    }
#line 2812 "list.m"
  }
#line 2812 "list.m"
}

#line 2812 "list.m"
static void MR_CALL 
mercury__list__map3_foldl_7_p_7_1(
#line 2812 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2812 "list.m"
{
#line 2812 "list.m"
  {
#line 2812 "list.m"
    struct mercury__list__map3_foldl_7_p_7_env_0_s * mercury__list__env_ptr = (struct mercury__list__map3_foldl_7_p_7_env_0_s *) mercury__list__env_ptr_arg;

#line 2814 "list.m"
    {
#line 2814 "list.m"
      mercury__list__map3_foldl_7_p_7((mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__TypeInfo_for_L_26, (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__TypeInfo_for_M_27, (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__TypeInfo_for_N_28, (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__TypeInfo_for_O_29, (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__TypeInfo_for_A_30, (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__T0_14, &(mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__T1_16, &(mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__T2_18, &(mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__T3_20, (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__STATE_VARIABLE_A_24_24, (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_7_env_0__STATE_VARIABLE_A_7, mercury__list__map3_foldl_7_p_7_2, mercury__list__env_ptr);
    }
#line 2812 "list.m"
  }
#line 2812 "list.m"
}

#line 1415 "list.m"
void MR_CALL 
mercury__list__map3_foldl_7_p_7(
#line 1415 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_26,
#line 1415 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_27,
#line 1415 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_28,
#line 1415 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_29,
#line 1415 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_30,
#line 1415 "list.m"
  MR_Word mercury__list__P_1,
#line 1415 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1415 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1415 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1415 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1415 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_6,
#line 1415 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_7,
#line 1415 "list.m"
  MR_Cont mercury__list__cont,
#line 1415 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1415 "list.m"
{
#line 1415 "list.m"
  {
#line 1415 "list.m"
    struct mercury__list__map3_foldl_7_p_7_env_0_s mercury__list__env;

#line 1415 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__TypeInfo_for_L_26 = mercury__list__TypeInfo_for_L_26;
#line 1415 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__TypeInfo_for_M_27 = mercury__list__TypeInfo_for_M_27;
#line 1415 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__TypeInfo_for_N_28 = mercury__list__TypeInfo_for_N_28;
#line 1415 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__TypeInfo_for_O_29 = mercury__list__TypeInfo_for_O_29;
#line 1415 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__TypeInfo_for_A_30 = mercury__list__TypeInfo_for_A_30;
#line 1415 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__P_1 = mercury__list__P_1;
#line 1415 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 1415 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 1415 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__HeadVar__5_5 = mercury__list__HeadVar__5_5;
#line 1415 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__STATE_VARIABLE_A_7 = mercury__list__STATE_VARIABLE_A_7;
#line 1415 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__cont = mercury__list__cont;
#line 1415 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2811 "list.m"
    {
#line 2811 "list.m"
      MR_bool mercury__list__succeeded;

#line 2811 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2811 "list.m"
        {
#line 2811 "list.m"
          *((mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
          *((mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
          *((mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__HeadVar__5_5) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
          *((mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__STATE_VARIABLE_A_7) = mercury__list__STATE_VARIABLE_A_0_6;
#line 2811 "list.m"
          {
#line 2811 "list.m"
            ((mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__cont)((mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__cont_env_ptr);
#line 2811 "list.m"
            return;
          }
#line 2811 "list.m"
        }
#line 2811 "list.m"
      else
#line 2812 "list.m"
        {
#line 2812 "list.m"
          MR_Box mercury__list__H0_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2813 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2812 "list.m"
          (mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__T0_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2813 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__P_1, (MR_Integer) 1)));
#line 2813 "list.m"
          {
#line 2813 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__P_1), mercury__list__H0_13, &(mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__H1_15, &(mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__H2_17, &(mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__H3_19, mercury__list__STATE_VARIABLE_A_0_6, &(mercury__list__env).mercury__list__map3_foldl_7_p_7_env_0__STATE_VARIABLE_A_24_24, mercury__list__map3_foldl_7_p_7_1, &mercury__list__env);
          }
#line 2812 "list.m"
        }
#line 2811 "list.m"
    }
#line 1415 "list.m"
  }
#line 1415 "list.m"
}

#line 2812 "list.m"
static void MR_CALL 
mercury__list__map3_foldl_7_p_6_2(
#line 2812 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2812 "list.m"
{
#line 2812 "list.m"
  {
#line 2812 "list.m"
    struct mercury__list__map3_foldl_7_p_6_env_0_s * mercury__list__env_ptr = (struct mercury__list__map3_foldl_7_p_6_env_0_s *) mercury__list__env_ptr_arg;

#line 2812 "list.m"
    {
#line 2812 "list.m"
      MR_Word base;
#line 2812 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__HeadVar__3_3) = base;
#line 2812 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__H1_15;
#line 2812 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__T1_16));
#line 2812 "list.m"
    }
#line 2812 "list.m"
    {
#line 2812 "list.m"
      MR_Word base;
#line 2812 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__HeadVar__4_4) = base;
#line 2812 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__H2_17;
#line 2812 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__T2_18));
#line 2812 "list.m"
    }
#line 2812 "list.m"
    {
#line 2812 "list.m"
      MR_Word base;
#line 2812 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__HeadVar__5_5) = base;
#line 2812 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__H3_19;
#line 2812 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__T3_20));
#line 2812 "list.m"
    }
#line 2812 "list.m"
    {
#line 2812 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__cont)((mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__cont_env_ptr);
#line 2812 "list.m"
      return;
    }
#line 2812 "list.m"
  }
#line 2812 "list.m"
}

#line 2812 "list.m"
static void MR_CALL 
mercury__list__map3_foldl_7_p_6_1(
#line 2812 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2812 "list.m"
{
#line 2812 "list.m"
  {
#line 2812 "list.m"
    struct mercury__list__map3_foldl_7_p_6_env_0_s * mercury__list__env_ptr = (struct mercury__list__map3_foldl_7_p_6_env_0_s *) mercury__list__env_ptr_arg;

#line 2814 "list.m"
    {
#line 2814 "list.m"
      mercury__list__map3_foldl_7_p_6((mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__TypeInfo_for_L_26, (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__TypeInfo_for_M_27, (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__TypeInfo_for_N_28, (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__TypeInfo_for_O_29, (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__TypeInfo_for_A_30, (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__T0_14, &(mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__T1_16, &(mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__T2_18, &(mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__T3_20, (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__STATE_VARIABLE_A_24_24, (mercury__list__env_ptr)->mercury__list__map3_foldl_7_p_6_env_0__STATE_VARIABLE_A_7, mercury__list__map3_foldl_7_p_6_2, mercury__list__env_ptr);
    }
#line 2812 "list.m"
  }
#line 2812 "list.m"
}

#line 1413 "list.m"
void MR_CALL 
mercury__list__map3_foldl_7_p_6(
#line 1413 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_26,
#line 1413 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_27,
#line 1413 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_28,
#line 1413 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_29,
#line 1413 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_30,
#line 1413 "list.m"
  MR_Word mercury__list__P_1,
#line 1413 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1413 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1413 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1413 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1413 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_6,
#line 1413 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_7,
#line 1413 "list.m"
  MR_Cont mercury__list__cont,
#line 1413 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1413 "list.m"
{
#line 1413 "list.m"
  {
#line 1413 "list.m"
    struct mercury__list__map3_foldl_7_p_6_env_0_s mercury__list__env;

#line 1413 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__TypeInfo_for_L_26 = mercury__list__TypeInfo_for_L_26;
#line 1413 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__TypeInfo_for_M_27 = mercury__list__TypeInfo_for_M_27;
#line 1413 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__TypeInfo_for_N_28 = mercury__list__TypeInfo_for_N_28;
#line 1413 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__TypeInfo_for_O_29 = mercury__list__TypeInfo_for_O_29;
#line 1413 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__TypeInfo_for_A_30 = mercury__list__TypeInfo_for_A_30;
#line 1413 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__P_1 = mercury__list__P_1;
#line 1413 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 1413 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 1413 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__HeadVar__5_5 = mercury__list__HeadVar__5_5;
#line 1413 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__STATE_VARIABLE_A_7 = mercury__list__STATE_VARIABLE_A_7;
#line 1413 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__cont = mercury__list__cont;
#line 1413 "list.m"
    (mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2811 "list.m"
    {
#line 2811 "list.m"
      MR_bool mercury__list__succeeded;

#line 2811 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2811 "list.m"
        {
#line 2811 "list.m"
          *((mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
          *((mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
          *((mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__HeadVar__5_5) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
          *((mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__STATE_VARIABLE_A_7) = mercury__list__STATE_VARIABLE_A_0_6;
#line 2811 "list.m"
          {
#line 2811 "list.m"
            ((mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__cont)((mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__cont_env_ptr);
#line 2811 "list.m"
            return;
          }
#line 2811 "list.m"
        }
#line 2811 "list.m"
      else
#line 2812 "list.m"
        {
#line 2812 "list.m"
          MR_Box mercury__list__H0_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2813 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2812 "list.m"
          (mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__T0_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2813 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__P_1, (MR_Integer) 1)));
#line 2813 "list.m"
          {
#line 2813 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__P_1), mercury__list__H0_13, &(mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__H1_15, &(mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__H2_17, &(mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__H3_19, mercury__list__STATE_VARIABLE_A_0_6, &(mercury__list__env).mercury__list__map3_foldl_7_p_6_env_0__STATE_VARIABLE_A_24_24, mercury__list__map3_foldl_7_p_6_1, &mercury__list__env);
          }
#line 2812 "list.m"
        }
#line 2811 "list.m"
    }
#line 1413 "list.m"
  }
#line 1413 "list.m"
}

#line 1411 "list.m"
MR_bool MR_CALL 
mercury__list__map3_foldl_7_p_5(
#line 1411 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_26,
#line 1411 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_27,
#line 1411 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_28,
#line 1411 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_29,
#line 1411 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_30,
#line 1411 "list.m"
  MR_Word mercury__list__P_1,
#line 1411 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1411 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1411 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1411 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1411 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_6,
#line 1411 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_7)
#line 1411 "list.m"
{
#line 2811 "list.m"
  {
#line 2811 "list.m"
    MR_bool mercury__list__succeeded;

#line 2811 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2811 "list.m"
      {
#line 2811 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__STATE_VARIABLE_A_7 = mercury__list__STATE_VARIABLE_A_0_6;
#line 2811 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2811 "list.m"
      }
#line 2811 "list.m"
    else
#line 2812 "list.m"
      {
#line 2812 "list.m"
        MR_Box mercury__list__H0_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2812 "list.m"
        MR_Word mercury__list__T0_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2812 "list.m"
        MR_Box mercury__list__H1_15;
#line 2812 "list.m"
        MR_Word mercury__list__T1_16;
#line 2812 "list.m"
        MR_Box mercury__list__H2_17;
#line 2812 "list.m"
        MR_Word mercury__list__T2_18;
#line 2812 "list.m"
        MR_Box mercury__list__H3_19;
#line 2812 "list.m"
        MR_Word mercury__list__T3_20;
#line 2812 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_24_24;
#line 2813 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2813 "list.m"
        {
#line 2813 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_13, &mercury__list__H1_15, &mercury__list__H2_17, &mercury__list__H3_19, mercury__list__STATE_VARIABLE_A_0_6, &mercury__list__STATE_VARIABLE_A_24_24);
        }
#line 2812 "list.m"
        if (mercury__list__succeeded)
#line 2812 "list.m"
          {
#line 2814 "list.m"
            {
#line 2814 "list.m"
              mercury__list__succeeded = mercury__list__map3_foldl_7_p_5(mercury__list__TypeInfo_for_L_26, mercury__list__TypeInfo_for_M_27, mercury__list__TypeInfo_for_N_28, mercury__list__TypeInfo_for_O_29, mercury__list__TypeInfo_for_A_30, mercury__list__P_1, mercury__list__T0_14, &mercury__list__T1_16, &mercury__list__T2_18, &mercury__list__T3_20, mercury__list__STATE_VARIABLE_A_24_24, mercury__list__STATE_VARIABLE_A_7);
            }
#line 2812 "list.m"
            if (mercury__list__succeeded)
#line 2812 "list.m"
              {
#line 2812 "list.m"
                {
#line 2812 "list.m"
                  MR_Word base;
#line 2812 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2812 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_15;
#line 2812 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_16));
#line 2812 "list.m"
                }
#line 2812 "list.m"
                {
#line 2812 "list.m"
                  MR_Word base;
#line 2812 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2812 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_17;
#line 2812 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_18));
#line 2812 "list.m"
                }
#line 2812 "list.m"
                {
#line 2812 "list.m"
                  MR_Word base;
#line 2812 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
                  *mercury__list__HeadVar__5_5 = base;
#line 2812 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_19;
#line 2812 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_20));
#line 2812 "list.m"
                }
#line 2812 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2812 "list.m"
              }
#line 2812 "list.m"
          }
#line 2812 "list.m"
      }
#line 2811 "list.m"
    return mercury__list__succeeded;
#line 2811 "list.m"
  }
#line 1411 "list.m"
}

#line 1409 "list.m"
MR_bool MR_CALL 
mercury__list__map3_foldl_7_p_4(
#line 1409 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_26,
#line 1409 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_27,
#line 1409 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_28,
#line 1409 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_29,
#line 1409 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_30,
#line 1409 "list.m"
  MR_Word mercury__list__P_1,
#line 1409 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1409 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1409 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1409 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1409 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_6,
#line 1409 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_7)
#line 1409 "list.m"
{
#line 2811 "list.m"
  {
#line 2811 "list.m"
    MR_bool mercury__list__succeeded;

#line 2811 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2811 "list.m"
      {
#line 2811 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__STATE_VARIABLE_A_7 = mercury__list__STATE_VARIABLE_A_0_6;
#line 2811 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2811 "list.m"
      }
#line 2811 "list.m"
    else
#line 2812 "list.m"
      {
#line 2812 "list.m"
        MR_Box mercury__list__H0_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2812 "list.m"
        MR_Word mercury__list__T0_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2812 "list.m"
        MR_Box mercury__list__H1_15;
#line 2812 "list.m"
        MR_Word mercury__list__T1_16;
#line 2812 "list.m"
        MR_Box mercury__list__H2_17;
#line 2812 "list.m"
        MR_Word mercury__list__T2_18;
#line 2812 "list.m"
        MR_Box mercury__list__H3_19;
#line 2812 "list.m"
        MR_Word mercury__list__T3_20;
#line 2812 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_24_24;
#line 2813 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2813 "list.m"
        {
#line 2813 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_13, &mercury__list__H1_15, &mercury__list__H2_17, &mercury__list__H3_19, mercury__list__STATE_VARIABLE_A_0_6, &mercury__list__STATE_VARIABLE_A_24_24);
        }
#line 2812 "list.m"
        if (mercury__list__succeeded)
#line 2812 "list.m"
          {
#line 2814 "list.m"
            {
#line 2814 "list.m"
              mercury__list__succeeded = mercury__list__map3_foldl_7_p_4(mercury__list__TypeInfo_for_L_26, mercury__list__TypeInfo_for_M_27, mercury__list__TypeInfo_for_N_28, mercury__list__TypeInfo_for_O_29, mercury__list__TypeInfo_for_A_30, mercury__list__P_1, mercury__list__T0_14, &mercury__list__T1_16, &mercury__list__T2_18, &mercury__list__T3_20, mercury__list__STATE_VARIABLE_A_24_24, mercury__list__STATE_VARIABLE_A_7);
            }
#line 2812 "list.m"
            if (mercury__list__succeeded)
#line 2812 "list.m"
              {
#line 2812 "list.m"
                {
#line 2812 "list.m"
                  MR_Word base;
#line 2812 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2812 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_15;
#line 2812 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_16));
#line 2812 "list.m"
                }
#line 2812 "list.m"
                {
#line 2812 "list.m"
                  MR_Word base;
#line 2812 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2812 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_17;
#line 2812 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_18));
#line 2812 "list.m"
                }
#line 2812 "list.m"
                {
#line 2812 "list.m"
                  MR_Word base;
#line 2812 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
                  *mercury__list__HeadVar__5_5 = base;
#line 2812 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_19;
#line 2812 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_20));
#line 2812 "list.m"
                }
#line 2812 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2812 "list.m"
              }
#line 2812 "list.m"
          }
#line 2812 "list.m"
      }
#line 2811 "list.m"
    return mercury__list__succeeded;
#line 2811 "list.m"
  }
#line 1409 "list.m"
}

#line 1407 "list.m"
MR_bool MR_CALL 
mercury__list__map3_foldl_7_p_3(
#line 1407 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_26,
#line 1407 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_27,
#line 1407 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_28,
#line 1407 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_29,
#line 1407 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_30,
#line 1407 "list.m"
  MR_Word mercury__list__P_1,
#line 1407 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1407 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1407 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1407 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1407 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_6,
#line 1407 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_7)
#line 1407 "list.m"
{
#line 2811 "list.m"
  {
#line 2811 "list.m"
    MR_bool mercury__list__succeeded;

#line 2811 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2811 "list.m"
      {
#line 2811 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__STATE_VARIABLE_A_7 = mercury__list__STATE_VARIABLE_A_0_6;
#line 2811 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2811 "list.m"
      }
#line 2811 "list.m"
    else
#line 2812 "list.m"
      {
#line 2812 "list.m"
        MR_Box mercury__list__H0_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2812 "list.m"
        MR_Word mercury__list__T0_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2812 "list.m"
        MR_Box mercury__list__H1_15;
#line 2812 "list.m"
        MR_Word mercury__list__T1_16;
#line 2812 "list.m"
        MR_Box mercury__list__H2_17;
#line 2812 "list.m"
        MR_Word mercury__list__T2_18;
#line 2812 "list.m"
        MR_Box mercury__list__H3_19;
#line 2812 "list.m"
        MR_Word mercury__list__T3_20;
#line 2812 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_24_24;
#line 2813 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2813 "list.m"
        {
#line 2813 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_13, &mercury__list__H1_15, &mercury__list__H2_17, &mercury__list__H3_19, mercury__list__STATE_VARIABLE_A_0_6, &mercury__list__STATE_VARIABLE_A_24_24);
        }
#line 2812 "list.m"
        if (mercury__list__succeeded)
#line 2812 "list.m"
          {
#line 2814 "list.m"
            {
#line 2814 "list.m"
              mercury__list__succeeded = mercury__list__map3_foldl_7_p_3(mercury__list__TypeInfo_for_L_26, mercury__list__TypeInfo_for_M_27, mercury__list__TypeInfo_for_N_28, mercury__list__TypeInfo_for_O_29, mercury__list__TypeInfo_for_A_30, mercury__list__P_1, mercury__list__T0_14, &mercury__list__T1_16, &mercury__list__T2_18, &mercury__list__T3_20, mercury__list__STATE_VARIABLE_A_24_24, mercury__list__STATE_VARIABLE_A_7);
            }
#line 2812 "list.m"
            if (mercury__list__succeeded)
#line 2812 "list.m"
              {
#line 2812 "list.m"
                {
#line 2812 "list.m"
                  MR_Word base;
#line 2812 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2812 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_15;
#line 2812 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_16));
#line 2812 "list.m"
                }
#line 2812 "list.m"
                {
#line 2812 "list.m"
                  MR_Word base;
#line 2812 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2812 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_17;
#line 2812 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_18));
#line 2812 "list.m"
                }
#line 2812 "list.m"
                {
#line 2812 "list.m"
                  MR_Word base;
#line 2812 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
                  *mercury__list__HeadVar__5_5 = base;
#line 2812 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_19;
#line 2812 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_20));
#line 2812 "list.m"
                }
#line 2812 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2812 "list.m"
              }
#line 2812 "list.m"
          }
#line 2812 "list.m"
      }
#line 2811 "list.m"
    return mercury__list__succeeded;
#line 2811 "list.m"
  }
#line 1407 "list.m"
}

#line 1405 "list.m"
void MR_CALL 
mercury__list__map3_foldl_7_p_2(
#line 1405 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_26,
#line 1405 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_27,
#line 1405 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_28,
#line 1405 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_29,
#line 1405 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_30,
#line 1405 "list.m"
  MR_Word mercury__list__P_1,
#line 1405 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1405 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1405 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1405 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1405 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_6,
#line 1405 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_7)
#line 1405 "list.m"
{
#line 2811 "list.m"
  {
#line 2811 "list.m"
    MR_bool mercury__list__succeeded;

#line 2811 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2811 "list.m"
      {
#line 2811 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__STATE_VARIABLE_A_7 = mercury__list__STATE_VARIABLE_A_0_6;
#line 2811 "list.m"
      }
#line 2811 "list.m"
    else
#line 2812 "list.m"
      {
#line 2812 "list.m"
        MR_Box mercury__list__H0_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2812 "list.m"
        MR_Word mercury__list__T0_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2812 "list.m"
        MR_Box mercury__list__H1_15;
#line 2812 "list.m"
        MR_Word mercury__list__T1_16;
#line 2812 "list.m"
        MR_Box mercury__list__H2_17;
#line 2812 "list.m"
        MR_Word mercury__list__T2_18;
#line 2812 "list.m"
        MR_Box mercury__list__H3_19;
#line 2812 "list.m"
        MR_Word mercury__list__T3_20;
#line 2812 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_24_24;
#line 2813 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2813 "list.m"
        {
#line 2813 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_13, &mercury__list__H1_15, &mercury__list__H2_17, &mercury__list__H3_19, mercury__list__STATE_VARIABLE_A_0_6, &mercury__list__STATE_VARIABLE_A_24_24);
        }
#line 2814 "list.m"
        {
#line 2814 "list.m"
          mercury__list__map3_foldl_7_p_2(mercury__list__TypeInfo_for_L_26, mercury__list__TypeInfo_for_M_27, mercury__list__TypeInfo_for_N_28, mercury__list__TypeInfo_for_O_29, mercury__list__TypeInfo_for_A_30, mercury__list__P_1, mercury__list__T0_14, &mercury__list__T1_16, &mercury__list__T2_18, &mercury__list__T3_20, mercury__list__STATE_VARIABLE_A_24_24, mercury__list__STATE_VARIABLE_A_7);
        }
#line 2812 "list.m"
        {
#line 2812 "list.m"
          MR_Word base;
#line 2812 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_15;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_16));
#line 2812 "list.m"
        }
#line 2812 "list.m"
        {
#line 2812 "list.m"
          MR_Word base;
#line 2812 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_17;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_18));
#line 2812 "list.m"
        }
#line 2812 "list.m"
        {
#line 2812 "list.m"
          MR_Word base;
#line 2812 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_19;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_20));
#line 2812 "list.m"
        }
#line 2812 "list.m"
      }
#line 2811 "list.m"
  }
#line 1405 "list.m"
}

#line 1403 "list.m"
void MR_CALL 
mercury__list__map3_foldl_7_p_1(
#line 1403 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_26,
#line 1403 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_27,
#line 1403 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_28,
#line 1403 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_29,
#line 1403 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_30,
#line 1403 "list.m"
  MR_Word mercury__list__P_1,
#line 1403 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1403 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1403 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1403 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1403 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_6,
#line 1403 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_7)
#line 1403 "list.m"
{
#line 2811 "list.m"
  {
#line 2811 "list.m"
    MR_bool mercury__list__succeeded;

#line 2811 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2811 "list.m"
      {
#line 2811 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__STATE_VARIABLE_A_7 = mercury__list__STATE_VARIABLE_A_0_6;
#line 2811 "list.m"
      }
#line 2811 "list.m"
    else
#line 2812 "list.m"
      {
#line 2812 "list.m"
        MR_Box mercury__list__H0_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2812 "list.m"
        MR_Word mercury__list__T0_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2812 "list.m"
        MR_Box mercury__list__H1_15;
#line 2812 "list.m"
        MR_Word mercury__list__T1_16;
#line 2812 "list.m"
        MR_Box mercury__list__H2_17;
#line 2812 "list.m"
        MR_Word mercury__list__T2_18;
#line 2812 "list.m"
        MR_Box mercury__list__H3_19;
#line 2812 "list.m"
        MR_Word mercury__list__T3_20;
#line 2812 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_24_24;
#line 2813 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2813 "list.m"
        {
#line 2813 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_13, &mercury__list__H1_15, &mercury__list__H2_17, &mercury__list__H3_19, mercury__list__STATE_VARIABLE_A_0_6, &mercury__list__STATE_VARIABLE_A_24_24);
        }
#line 2814 "list.m"
        {
#line 2814 "list.m"
          mercury__list__map3_foldl_7_p_1(mercury__list__TypeInfo_for_L_26, mercury__list__TypeInfo_for_M_27, mercury__list__TypeInfo_for_N_28, mercury__list__TypeInfo_for_O_29, mercury__list__TypeInfo_for_A_30, mercury__list__P_1, mercury__list__T0_14, &mercury__list__T1_16, &mercury__list__T2_18, &mercury__list__T3_20, mercury__list__STATE_VARIABLE_A_24_24, mercury__list__STATE_VARIABLE_A_7);
        }
#line 2812 "list.m"
        {
#line 2812 "list.m"
          MR_Word base;
#line 2812 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_15;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_16));
#line 2812 "list.m"
        }
#line 2812 "list.m"
        {
#line 2812 "list.m"
          MR_Word base;
#line 2812 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_17;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_18));
#line 2812 "list.m"
        }
#line 2812 "list.m"
        {
#line 2812 "list.m"
          MR_Word base;
#line 2812 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_19;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_20));
#line 2812 "list.m"
        }
#line 2812 "list.m"
      }
#line 2811 "list.m"
  }
#line 1403 "list.m"
}

#line 1401 "list.m"
void MR_CALL 
mercury__list__map3_foldl_7_p_0(
#line 1401 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_26,
#line 1401 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_27,
#line 1401 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_28,
#line 1401 "list.m"
  MR_Word mercury__list__TypeInfo_for_O_29,
#line 1401 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_30,
#line 1401 "list.m"
  MR_Word mercury__list__P_1,
#line 1401 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1401 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1401 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1401 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 1401 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_6,
#line 1401 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_7)
#line 1401 "list.m"
{
#line 2811 "list.m"
  {
#line 2811 "list.m"
    MR_bool mercury__list__succeeded;

#line 2811 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2811 "list.m"
      {
#line 2811 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2811 "list.m"
        *mercury__list__STATE_VARIABLE_A_7 = mercury__list__STATE_VARIABLE_A_0_6;
#line 2811 "list.m"
      }
#line 2811 "list.m"
    else
#line 2812 "list.m"
      {
#line 2812 "list.m"
        MR_Box mercury__list__H0_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2812 "list.m"
        MR_Word mercury__list__T0_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2812 "list.m"
        MR_Box mercury__list__H1_15;
#line 2812 "list.m"
        MR_Word mercury__list__T1_16;
#line 2812 "list.m"
        MR_Box mercury__list__H2_17;
#line 2812 "list.m"
        MR_Word mercury__list__T2_18;
#line 2812 "list.m"
        MR_Box mercury__list__H3_19;
#line 2812 "list.m"
        MR_Word mercury__list__T3_20;
#line 2812 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_24_24;
#line 2813 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2813 "list.m"
        {
#line 2813 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_13, &mercury__list__H1_15, &mercury__list__H2_17, &mercury__list__H3_19, mercury__list__STATE_VARIABLE_A_0_6, &mercury__list__STATE_VARIABLE_A_24_24);
        }
#line 2814 "list.m"
        {
#line 2814 "list.m"
          mercury__list__map3_foldl_7_p_0(mercury__list__TypeInfo_for_L_26, mercury__list__TypeInfo_for_M_27, mercury__list__TypeInfo_for_N_28, mercury__list__TypeInfo_for_O_29, mercury__list__TypeInfo_for_A_30, mercury__list__P_1, mercury__list__T0_14, &mercury__list__T1_16, &mercury__list__T2_18, &mercury__list__T3_20, mercury__list__STATE_VARIABLE_A_24_24, mercury__list__STATE_VARIABLE_A_7);
        }
#line 2812 "list.m"
        {
#line 2812 "list.m"
          MR_Word base;
#line 2812 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_15;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_16));
#line 2812 "list.m"
        }
#line 2812 "list.m"
        {
#line 2812 "list.m"
          MR_Word base;
#line 2812 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_17;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_18));
#line 2812 "list.m"
        }
#line 2812 "list.m"
        {
#line 2812 "list.m"
          MR_Word base;
#line 2812 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2812 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_19;
#line 2812 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_20));
#line 2812 "list.m"
        }
#line 2812 "list.m"
      }
#line 2811 "list.m"
  }
#line 1401 "list.m"
}

#line 2807 "list.m"
static void MR_CALL 
mercury__list__map2_foldl4_12_p_5_2(
#line 2807 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2807 "list.m"
{
#line 2807 "list.m"
  {
#line 2807 "list.m"
    struct mercury__list__map2_foldl4_12_p_5_env_0_s * mercury__list__env_ptr = (struct mercury__list__map2_foldl4_12_p_5_env_0_s *) mercury__list__env_ptr_arg;

#line 2807 "list.m"
    {
#line 2807 "list.m"
      MR_Word base;
#line 2807 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2807 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__HeadVar__3_3) = base;
#line 2807 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__H1_29;
#line 2807 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__T1_30));
#line 2807 "list.m"
    }
#line 2807 "list.m"
    {
#line 2807 "list.m"
      MR_Word base;
#line 2807 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2807 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__HeadVar__4_4) = base;
#line 2807 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__H2_31;
#line 2807 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__T2_32));
#line 2807 "list.m"
    }
#line 2807 "list.m"
    {
#line 2807 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__cont)((mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__cont_env_ptr);
#line 2807 "list.m"
      return;
    }
#line 2807 "list.m"
  }
#line 2807 "list.m"
}

#line 2807 "list.m"
static void MR_CALL 
mercury__list__map2_foldl4_12_p_5_1(
#line 2807 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2807 "list.m"
{
#line 2807 "list.m"
  {
#line 2807 "list.m"
    struct mercury__list__map2_foldl4_12_p_5_env_0_s * mercury__list__env_ptr = (struct mercury__list__map2_foldl4_12_p_5_env_0_s *) mercury__list__env_ptr_arg;

#line 2809 "list.m"
    {
#line 2809 "list.m"
      mercury__list__map2_foldl4_12_p_5((mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_L_53, (mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_M_54, (mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_N_55, (mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_A_56, (mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_B_57, (mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_C_58, (mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_D_59, (mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__T0_28, &(mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__T1_30, &(mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__T2_32, (mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_A_45_45, (mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_A_6, (mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_B_46_46, (mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_B_8, (mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_C_47_47, (mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_C_10, (mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_D_48_48, (mercury__list__env_ptr)->mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_D_12, mercury__list__map2_foldl4_12_p_5_2, mercury__list__env_ptr);
    }
#line 2807 "list.m"
  }
#line 2807 "list.m"
}

#line 1393 "list.m"
void MR_CALL 
mercury__list__map2_foldl4_12_p_5(
#line 1393 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_53,
#line 1393 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_54,
#line 1393 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_55,
#line 1393 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_56,
#line 1393 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_57,
#line 1393 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_58,
#line 1393 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_59,
#line 1393 "list.m"
  MR_Word mercury__list__P_1,
#line 1393 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1393 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1393 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1393 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1393 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1393 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_7,
#line 1393 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_8,
#line 1393 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_9,
#line 1393 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_10,
#line 1393 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_11,
#line 1393 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_12,
#line 1393 "list.m"
  MR_Cont mercury__list__cont,
#line 1393 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1393 "list.m"
{
#line 1393 "list.m"
  {
#line 1393 "list.m"
    struct mercury__list__map2_foldl4_12_p_5_env_0_s mercury__list__env;

#line 1393 "list.m"
    (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_L_53 = mercury__list__TypeInfo_for_L_53;
#line 1393 "list.m"
    (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_M_54 = mercury__list__TypeInfo_for_M_54;
#line 1393 "list.m"
    (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_N_55 = mercury__list__TypeInfo_for_N_55;
#line 1393 "list.m"
    (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_A_56 = mercury__list__TypeInfo_for_A_56;
#line 1393 "list.m"
    (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_B_57 = mercury__list__TypeInfo_for_B_57;
#line 1393 "list.m"
    (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_C_58 = mercury__list__TypeInfo_for_C_58;
#line 1393 "list.m"
    (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__TypeInfo_for_D_59 = mercury__list__TypeInfo_for_D_59;
#line 1393 "list.m"
    (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__P_1 = mercury__list__P_1;
#line 1393 "list.m"
    (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 1393 "list.m"
    (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 1393 "list.m"
    (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_6;
#line 1393 "list.m"
    (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_B_8 = mercury__list__STATE_VARIABLE_B_8;
#line 1393 "list.m"
    (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_C_10 = mercury__list__STATE_VARIABLE_C_10;
#line 1393 "list.m"
    (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_D_12 = mercury__list__STATE_VARIABLE_D_12;
#line 1393 "list.m"
    (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__cont = mercury__list__cont;
#line 1393 "list.m"
    (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2806 "list.m"
    {
#line 2806 "list.m"
      MR_bool mercury__list__succeeded;

#line 2806 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2806 "list.m"
        {
#line 2806 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2806 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2806 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_D_12) = mercury__list__STATE_VARIABLE_D_0_11;
#line 2806 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_C_10) = mercury__list__STATE_VARIABLE_C_0_9;
#line 2806 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_B_8) = mercury__list__STATE_VARIABLE_B_0_7;
#line 2806 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_A_6) = mercury__list__STATE_VARIABLE_A_0_5;
#line 2806 "list.m"
          {
#line 2806 "list.m"
            ((mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__cont)((mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__cont_env_ptr);
#line 2806 "list.m"
            return;
          }
#line 2806 "list.m"
        }
#line 2806 "list.m"
      else
#line 2807 "list.m"
        {
#line 2807 "list.m"
          MR_Box mercury__list__H0_27 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2808 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2807 "list.m"
          (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__T0_28 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2808 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__P_1, (MR_Integer) 1)));
#line 2808 "list.m"
          {
#line 2808 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__P_1), mercury__list__H0_27, &(mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__H1_29, &(mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__H2_31, mercury__list__STATE_VARIABLE_A_0_5, &(mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_A_45_45, mercury__list__STATE_VARIABLE_B_0_7, &(mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_B_46_46, mercury__list__STATE_VARIABLE_C_0_9, &(mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_C_47_47, mercury__list__STATE_VARIABLE_D_0_11, &(mercury__list__env).mercury__list__map2_foldl4_12_p_5_env_0__STATE_VARIABLE_D_48_48, mercury__list__map2_foldl4_12_p_5_1, &mercury__list__env);
          }
#line 2807 "list.m"
        }
#line 2806 "list.m"
    }
#line 1393 "list.m"
  }
#line 1393 "list.m"
}

#line 1390 "list.m"
MR_bool MR_CALL 
mercury__list__map2_foldl4_12_p_4(
#line 1390 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_53,
#line 1390 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_54,
#line 1390 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_55,
#line 1390 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_56,
#line 1390 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_57,
#line 1390 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_58,
#line 1390 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_59,
#line 1390 "list.m"
  MR_Word mercury__list__P_1,
#line 1390 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1390 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1390 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1390 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1390 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1390 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_7,
#line 1390 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_8,
#line 1390 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_9,
#line 1390 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_10,
#line 1390 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_11,
#line 1390 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_12)
#line 1390 "list.m"
{
#line 2806 "list.m"
  {
#line 2806 "list.m"
    MR_bool mercury__list__succeeded;

#line 2806 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2806 "list.m"
      {
#line 2806 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2806 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_D_12 = mercury__list__STATE_VARIABLE_D_0_11;
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_C_10 = mercury__list__STATE_VARIABLE_C_0_9;
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_B_8 = mercury__list__STATE_VARIABLE_B_0_7;
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2806 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2806 "list.m"
      }
#line 2806 "list.m"
    else
#line 2807 "list.m"
      {
#line 2807 "list.m"
        MR_Box mercury__list__H0_27 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2807 "list.m"
        MR_Word mercury__list__T0_28 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2807 "list.m"
        MR_Box mercury__list__H1_29;
#line 2807 "list.m"
        MR_Word mercury__list__T1_30;
#line 2807 "list.m"
        MR_Box mercury__list__H2_31;
#line 2807 "list.m"
        MR_Word mercury__list__T2_32;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_45_45;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_46_46;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_47_47;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_48_48;
#line 2808 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2808 "list.m"
        {
#line 2808 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_27, &mercury__list__H1_29, &mercury__list__H2_31, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_45_45, mercury__list__STATE_VARIABLE_B_0_7, &mercury__list__STATE_VARIABLE_B_46_46, mercury__list__STATE_VARIABLE_C_0_9, &mercury__list__STATE_VARIABLE_C_47_47, mercury__list__STATE_VARIABLE_D_0_11, &mercury__list__STATE_VARIABLE_D_48_48);
        }
#line 2807 "list.m"
        if (mercury__list__succeeded)
#line 2807 "list.m"
          {
#line 2809 "list.m"
            {
#line 2809 "list.m"
              mercury__list__succeeded = mercury__list__map2_foldl4_12_p_4(mercury__list__TypeInfo_for_L_53, mercury__list__TypeInfo_for_M_54, mercury__list__TypeInfo_for_N_55, mercury__list__TypeInfo_for_A_56, mercury__list__TypeInfo_for_B_57, mercury__list__TypeInfo_for_C_58, mercury__list__TypeInfo_for_D_59, mercury__list__P_1, mercury__list__T0_28, &mercury__list__T1_30, &mercury__list__T2_32, mercury__list__STATE_VARIABLE_A_45_45, mercury__list__STATE_VARIABLE_A_6, mercury__list__STATE_VARIABLE_B_46_46, mercury__list__STATE_VARIABLE_B_8, mercury__list__STATE_VARIABLE_C_47_47, mercury__list__STATE_VARIABLE_C_10, mercury__list__STATE_VARIABLE_D_48_48, mercury__list__STATE_VARIABLE_D_12);
            }
#line 2807 "list.m"
            if (mercury__list__succeeded)
#line 2807 "list.m"
              {
#line 2807 "list.m"
                {
#line 2807 "list.m"
                  MR_Word base;
#line 2807 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2807 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2807 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_29;
#line 2807 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_30));
#line 2807 "list.m"
                }
#line 2807 "list.m"
                {
#line 2807 "list.m"
                  MR_Word base;
#line 2807 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2807 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2807 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_31;
#line 2807 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_32));
#line 2807 "list.m"
                }
#line 2807 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2807 "list.m"
              }
#line 2807 "list.m"
          }
#line 2807 "list.m"
      }
#line 2806 "list.m"
    return mercury__list__succeeded;
#line 2806 "list.m"
  }
#line 1390 "list.m"
}

#line 1387 "list.m"
void MR_CALL 
mercury__list__map2_foldl4_12_p_3(
#line 1387 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_53,
#line 1387 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_54,
#line 1387 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_55,
#line 1387 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_56,
#line 1387 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_57,
#line 1387 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_58,
#line 1387 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_59,
#line 1387 "list.m"
  MR_Word mercury__list__P_1,
#line 1387 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1387 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1387 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1387 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1387 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1387 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_7,
#line 1387 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_8,
#line 1387 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_9,
#line 1387 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_10,
#line 1387 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_11,
#line 1387 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_12)
#line 1387 "list.m"
{
#line 2806 "list.m"
  {
#line 2806 "list.m"
    MR_bool mercury__list__succeeded;

#line 2806 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2806 "list.m"
      {
#line 2806 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2806 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_D_12 = mercury__list__STATE_VARIABLE_D_0_11;
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_C_10 = mercury__list__STATE_VARIABLE_C_0_9;
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_B_8 = mercury__list__STATE_VARIABLE_B_0_7;
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2806 "list.m"
      }
#line 2806 "list.m"
    else
#line 2807 "list.m"
      {
#line 2807 "list.m"
        MR_Box mercury__list__H0_27 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2807 "list.m"
        MR_Word mercury__list__T0_28 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2807 "list.m"
        MR_Box mercury__list__H1_29;
#line 2807 "list.m"
        MR_Word mercury__list__T1_30;
#line 2807 "list.m"
        MR_Box mercury__list__H2_31;
#line 2807 "list.m"
        MR_Word mercury__list__T2_32;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_45_45;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_46_46;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_47_47;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_48_48;
#line 2808 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2808 "list.m"
        {
#line 2808 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_27, &mercury__list__H1_29, &mercury__list__H2_31, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_45_45, mercury__list__STATE_VARIABLE_B_0_7, &mercury__list__STATE_VARIABLE_B_46_46, mercury__list__STATE_VARIABLE_C_0_9, &mercury__list__STATE_VARIABLE_C_47_47, mercury__list__STATE_VARIABLE_D_0_11, &mercury__list__STATE_VARIABLE_D_48_48);
        }
#line 2809 "list.m"
        {
#line 2809 "list.m"
          mercury__list__map2_foldl4_12_p_3(mercury__list__TypeInfo_for_L_53, mercury__list__TypeInfo_for_M_54, mercury__list__TypeInfo_for_N_55, mercury__list__TypeInfo_for_A_56, mercury__list__TypeInfo_for_B_57, mercury__list__TypeInfo_for_C_58, mercury__list__TypeInfo_for_D_59, mercury__list__P_1, mercury__list__T0_28, &mercury__list__T1_30, &mercury__list__T2_32, mercury__list__STATE_VARIABLE_A_45_45, mercury__list__STATE_VARIABLE_A_6, mercury__list__STATE_VARIABLE_B_46_46, mercury__list__STATE_VARIABLE_B_8, mercury__list__STATE_VARIABLE_C_47_47, mercury__list__STATE_VARIABLE_C_10, mercury__list__STATE_VARIABLE_D_48_48, mercury__list__STATE_VARIABLE_D_12);
        }
#line 2807 "list.m"
        {
#line 2807 "list.m"
          MR_Word base;
#line 2807 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2807 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2807 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_29;
#line 2807 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_30));
#line 2807 "list.m"
        }
#line 2807 "list.m"
        {
#line 2807 "list.m"
          MR_Word base;
#line 2807 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2807 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2807 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_31;
#line 2807 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_32));
#line 2807 "list.m"
        }
#line 2807 "list.m"
      }
#line 2806 "list.m"
  }
#line 1387 "list.m"
}

#line 1384 "list.m"
void MR_CALL 
mercury__list__map2_foldl4_12_p_2(
#line 1384 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_53,
#line 1384 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_54,
#line 1384 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_55,
#line 1384 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_56,
#line 1384 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_57,
#line 1384 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_58,
#line 1384 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_59,
#line 1384 "list.m"
  MR_Word mercury__list__P_1,
#line 1384 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1384 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1384 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1384 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1384 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1384 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_7,
#line 1384 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_8,
#line 1384 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_9,
#line 1384 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_10,
#line 1384 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_11,
#line 1384 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_12)
#line 1384 "list.m"
{
#line 2806 "list.m"
  {
#line 2806 "list.m"
    MR_bool mercury__list__succeeded;

#line 2806 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2806 "list.m"
      {
#line 2806 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2806 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_D_12 = mercury__list__STATE_VARIABLE_D_0_11;
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_C_10 = mercury__list__STATE_VARIABLE_C_0_9;
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_B_8 = mercury__list__STATE_VARIABLE_B_0_7;
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2806 "list.m"
      }
#line 2806 "list.m"
    else
#line 2807 "list.m"
      {
#line 2807 "list.m"
        MR_Box mercury__list__H0_27 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2807 "list.m"
        MR_Word mercury__list__T0_28 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2807 "list.m"
        MR_Box mercury__list__H1_29;
#line 2807 "list.m"
        MR_Word mercury__list__T1_30;
#line 2807 "list.m"
        MR_Box mercury__list__H2_31;
#line 2807 "list.m"
        MR_Word mercury__list__T2_32;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_45_45;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_46_46;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_47_47;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_48_48;
#line 2808 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2808 "list.m"
        {
#line 2808 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_27, &mercury__list__H1_29, &mercury__list__H2_31, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_45_45, mercury__list__STATE_VARIABLE_B_0_7, &mercury__list__STATE_VARIABLE_B_46_46, mercury__list__STATE_VARIABLE_C_0_9, &mercury__list__STATE_VARIABLE_C_47_47, mercury__list__STATE_VARIABLE_D_0_11, &mercury__list__STATE_VARIABLE_D_48_48);
        }
#line 2809 "list.m"
        {
#line 2809 "list.m"
          mercury__list__map2_foldl4_12_p_2(mercury__list__TypeInfo_for_L_53, mercury__list__TypeInfo_for_M_54, mercury__list__TypeInfo_for_N_55, mercury__list__TypeInfo_for_A_56, mercury__list__TypeInfo_for_B_57, mercury__list__TypeInfo_for_C_58, mercury__list__TypeInfo_for_D_59, mercury__list__P_1, mercury__list__T0_28, &mercury__list__T1_30, &mercury__list__T2_32, mercury__list__STATE_VARIABLE_A_45_45, mercury__list__STATE_VARIABLE_A_6, mercury__list__STATE_VARIABLE_B_46_46, mercury__list__STATE_VARIABLE_B_8, mercury__list__STATE_VARIABLE_C_47_47, mercury__list__STATE_VARIABLE_C_10, mercury__list__STATE_VARIABLE_D_48_48, mercury__list__STATE_VARIABLE_D_12);
        }
#line 2807 "list.m"
        {
#line 2807 "list.m"
          MR_Word base;
#line 2807 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2807 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2807 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_29;
#line 2807 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_30));
#line 2807 "list.m"
        }
#line 2807 "list.m"
        {
#line 2807 "list.m"
          MR_Word base;
#line 2807 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2807 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2807 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_31;
#line 2807 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_32));
#line 2807 "list.m"
        }
#line 2807 "list.m"
      }
#line 2806 "list.m"
  }
#line 1384 "list.m"
}

#line 1381 "list.m"
void MR_CALL 
mercury__list__map2_foldl4_12_p_1(
#line 1381 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_53,
#line 1381 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_54,
#line 1381 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_55,
#line 1381 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_56,
#line 1381 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_57,
#line 1381 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_58,
#line 1381 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_59,
#line 1381 "list.m"
  MR_Word mercury__list__P_1,
#line 1381 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1381 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1381 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1381 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1381 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1381 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_7,
#line 1381 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_8,
#line 1381 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_9,
#line 1381 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_10,
#line 1381 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_11,
#line 1381 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_12)
#line 1381 "list.m"
{
#line 2806 "list.m"
  {
#line 2806 "list.m"
    MR_bool mercury__list__succeeded;

#line 2806 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2806 "list.m"
      {
#line 2806 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2806 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_D_12 = mercury__list__STATE_VARIABLE_D_0_11;
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_C_10 = mercury__list__STATE_VARIABLE_C_0_9;
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_B_8 = mercury__list__STATE_VARIABLE_B_0_7;
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2806 "list.m"
      }
#line 2806 "list.m"
    else
#line 2807 "list.m"
      {
#line 2807 "list.m"
        MR_Box mercury__list__H0_27 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2807 "list.m"
        MR_Word mercury__list__T0_28 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2807 "list.m"
        MR_Box mercury__list__H1_29;
#line 2807 "list.m"
        MR_Word mercury__list__T1_30;
#line 2807 "list.m"
        MR_Box mercury__list__H2_31;
#line 2807 "list.m"
        MR_Word mercury__list__T2_32;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_45_45;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_46_46;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_47_47;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_48_48;
#line 2808 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2808 "list.m"
        {
#line 2808 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_27, &mercury__list__H1_29, &mercury__list__H2_31, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_45_45, mercury__list__STATE_VARIABLE_B_0_7, &mercury__list__STATE_VARIABLE_B_46_46, mercury__list__STATE_VARIABLE_C_0_9, &mercury__list__STATE_VARIABLE_C_47_47, mercury__list__STATE_VARIABLE_D_0_11, &mercury__list__STATE_VARIABLE_D_48_48);
        }
#line 2809 "list.m"
        {
#line 2809 "list.m"
          mercury__list__map2_foldl4_12_p_1(mercury__list__TypeInfo_for_L_53, mercury__list__TypeInfo_for_M_54, mercury__list__TypeInfo_for_N_55, mercury__list__TypeInfo_for_A_56, mercury__list__TypeInfo_for_B_57, mercury__list__TypeInfo_for_C_58, mercury__list__TypeInfo_for_D_59, mercury__list__P_1, mercury__list__T0_28, &mercury__list__T1_30, &mercury__list__T2_32, mercury__list__STATE_VARIABLE_A_45_45, mercury__list__STATE_VARIABLE_A_6, mercury__list__STATE_VARIABLE_B_46_46, mercury__list__STATE_VARIABLE_B_8, mercury__list__STATE_VARIABLE_C_47_47, mercury__list__STATE_VARIABLE_C_10, mercury__list__STATE_VARIABLE_D_48_48, mercury__list__STATE_VARIABLE_D_12);
        }
#line 2807 "list.m"
        {
#line 2807 "list.m"
          MR_Word base;
#line 2807 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2807 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2807 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_29;
#line 2807 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_30));
#line 2807 "list.m"
        }
#line 2807 "list.m"
        {
#line 2807 "list.m"
          MR_Word base;
#line 2807 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2807 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2807 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_31;
#line 2807 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_32));
#line 2807 "list.m"
        }
#line 2807 "list.m"
      }
#line 2806 "list.m"
  }
#line 1381 "list.m"
}

#line 1378 "list.m"
void MR_CALL 
mercury__list__map2_foldl4_12_p_0(
#line 1378 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_53,
#line 1378 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_54,
#line 1378 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_55,
#line 1378 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_56,
#line 1378 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_57,
#line 1378 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_58,
#line 1378 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_59,
#line 1378 "list.m"
  MR_Word mercury__list__P_1,
#line 1378 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1378 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1378 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1378 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1378 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1378 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_7,
#line 1378 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_8,
#line 1378 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_9,
#line 1378 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_10,
#line 1378 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_11,
#line 1378 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_12)
#line 1378 "list.m"
{
#line 2806 "list.m"
  {
#line 2806 "list.m"
    MR_bool mercury__list__succeeded;

#line 2806 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2806 "list.m"
      {
#line 2806 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2806 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_D_12 = mercury__list__STATE_VARIABLE_D_0_11;
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_C_10 = mercury__list__STATE_VARIABLE_C_0_9;
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_B_8 = mercury__list__STATE_VARIABLE_B_0_7;
#line 2806 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2806 "list.m"
      }
#line 2806 "list.m"
    else
#line 2807 "list.m"
      {
#line 2807 "list.m"
        MR_Box mercury__list__H0_27 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2807 "list.m"
        MR_Word mercury__list__T0_28 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2807 "list.m"
        MR_Box mercury__list__H1_29;
#line 2807 "list.m"
        MR_Word mercury__list__T1_30;
#line 2807 "list.m"
        MR_Box mercury__list__H2_31;
#line 2807 "list.m"
        MR_Word mercury__list__T2_32;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_45_45;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_46_46;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_47_47;
#line 2807 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_48_48;
#line 2808 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2808 "list.m"
        {
#line 2808 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_27, &mercury__list__H1_29, &mercury__list__H2_31, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_45_45, mercury__list__STATE_VARIABLE_B_0_7, &mercury__list__STATE_VARIABLE_B_46_46, mercury__list__STATE_VARIABLE_C_0_9, &mercury__list__STATE_VARIABLE_C_47_47, mercury__list__STATE_VARIABLE_D_0_11, &mercury__list__STATE_VARIABLE_D_48_48);
        }
#line 2809 "list.m"
        {
#line 2809 "list.m"
          mercury__list__map2_foldl4_12_p_0(mercury__list__TypeInfo_for_L_53, mercury__list__TypeInfo_for_M_54, mercury__list__TypeInfo_for_N_55, mercury__list__TypeInfo_for_A_56, mercury__list__TypeInfo_for_B_57, mercury__list__TypeInfo_for_C_58, mercury__list__TypeInfo_for_D_59, mercury__list__P_1, mercury__list__T0_28, &mercury__list__T1_30, &mercury__list__T2_32, mercury__list__STATE_VARIABLE_A_45_45, mercury__list__STATE_VARIABLE_A_6, mercury__list__STATE_VARIABLE_B_46_46, mercury__list__STATE_VARIABLE_B_8, mercury__list__STATE_VARIABLE_C_47_47, mercury__list__STATE_VARIABLE_C_10, mercury__list__STATE_VARIABLE_D_48_48, mercury__list__STATE_VARIABLE_D_12);
        }
#line 2807 "list.m"
        {
#line 2807 "list.m"
          MR_Word base;
#line 2807 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2807 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2807 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_29;
#line 2807 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_30));
#line 2807 "list.m"
        }
#line 2807 "list.m"
        {
#line 2807 "list.m"
          MR_Word base;
#line 2807 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2807 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2807 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_31;
#line 2807 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_32));
#line 2807 "list.m"
        }
#line 2807 "list.m"
      }
#line 2806 "list.m"
  }
#line 1378 "list.m"
}

#line 2802 "list.m"
static void MR_CALL 
mercury__list__map2_foldl3_10_p_5_2(
#line 2802 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2802 "list.m"
{
#line 2802 "list.m"
  {
#line 2802 "list.m"
    struct mercury__list__map2_foldl3_10_p_5_env_0_s * mercury__list__env_ptr = (struct mercury__list__map2_foldl3_10_p_5_env_0_s *) mercury__list__env_ptr_arg;

#line 2802 "list.m"
    {
#line 2802 "list.m"
      MR_Word base;
#line 2802 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2802 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__HeadVar__3_3) = base;
#line 2802 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__H1_24;
#line 2802 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__T1_25));
#line 2802 "list.m"
    }
#line 2802 "list.m"
    {
#line 2802 "list.m"
      MR_Word base;
#line 2802 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2802 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__HeadVar__4_4) = base;
#line 2802 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__H2_26;
#line 2802 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__T2_27));
#line 2802 "list.m"
    }
#line 2802 "list.m"
    {
#line 2802 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__cont)((mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__cont_env_ptr);
#line 2802 "list.m"
      return;
    }
#line 2802 "list.m"
  }
#line 2802 "list.m"
}

#line 2802 "list.m"
static void MR_CALL 
mercury__list__map2_foldl3_10_p_5_1(
#line 2802 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2802 "list.m"
{
#line 2802 "list.m"
  {
#line 2802 "list.m"
    struct mercury__list__map2_foldl3_10_p_5_env_0_s * mercury__list__env_ptr = (struct mercury__list__map2_foldl3_10_p_5_env_0_s *) mercury__list__env_ptr_arg;

#line 2804 "list.m"
    {
#line 2804 "list.m"
      mercury__list__map2_foldl3_10_p_5((mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__TypeInfo_for_L_43, (mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__TypeInfo_for_M_44, (mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__TypeInfo_for_N_45, (mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__TypeInfo_for_A_46, (mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__TypeInfo_for_B_47, (mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__TypeInfo_for_C_48, (mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__T0_23, &(mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__T1_25, &(mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__T2_27, (mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_A_37_37, (mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_A_6, (mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_B_38_38, (mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_B_8, (mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_C_39_39, (mercury__list__env_ptr)->mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_C_10, mercury__list__map2_foldl3_10_p_5_2, mercury__list__env_ptr);
    }
#line 2802 "list.m"
  }
#line 2802 "list.m"
}

#line 1369 "list.m"
void MR_CALL 
mercury__list__map2_foldl3_10_p_5(
#line 1369 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_43,
#line 1369 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_44,
#line 1369 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_45,
#line 1369 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_46,
#line 1369 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_47,
#line 1369 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_48,
#line 1369 "list.m"
  MR_Word mercury__list__P_1,
#line 1369 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1369 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1369 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1369 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1369 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1369 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_7,
#line 1369 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_8,
#line 1369 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_9,
#line 1369 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_10,
#line 1369 "list.m"
  MR_Cont mercury__list__cont,
#line 1369 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1369 "list.m"
{
#line 1369 "list.m"
  {
#line 1369 "list.m"
    struct mercury__list__map2_foldl3_10_p_5_env_0_s mercury__list__env;

#line 1369 "list.m"
    (mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__TypeInfo_for_L_43 = mercury__list__TypeInfo_for_L_43;
#line 1369 "list.m"
    (mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__TypeInfo_for_M_44 = mercury__list__TypeInfo_for_M_44;
#line 1369 "list.m"
    (mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__TypeInfo_for_N_45 = mercury__list__TypeInfo_for_N_45;
#line 1369 "list.m"
    (mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__TypeInfo_for_A_46 = mercury__list__TypeInfo_for_A_46;
#line 1369 "list.m"
    (mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__TypeInfo_for_B_47 = mercury__list__TypeInfo_for_B_47;
#line 1369 "list.m"
    (mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__TypeInfo_for_C_48 = mercury__list__TypeInfo_for_C_48;
#line 1369 "list.m"
    (mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__P_1 = mercury__list__P_1;
#line 1369 "list.m"
    (mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 1369 "list.m"
    (mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 1369 "list.m"
    (mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_6;
#line 1369 "list.m"
    (mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_B_8 = mercury__list__STATE_VARIABLE_B_8;
#line 1369 "list.m"
    (mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_C_10 = mercury__list__STATE_VARIABLE_C_10;
#line 1369 "list.m"
    (mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__cont = mercury__list__cont;
#line 1369 "list.m"
    (mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2801 "list.m"
    {
#line 2801 "list.m"
      MR_bool mercury__list__succeeded;

#line 2801 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2801 "list.m"
        {
#line 2801 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2801 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2801 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_C_10) = mercury__list__STATE_VARIABLE_C_0_9;
#line 2801 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_B_8) = mercury__list__STATE_VARIABLE_B_0_7;
#line 2801 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_A_6) = mercury__list__STATE_VARIABLE_A_0_5;
#line 2801 "list.m"
          {
#line 2801 "list.m"
            ((mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__cont)((mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__cont_env_ptr);
#line 2801 "list.m"
            return;
          }
#line 2801 "list.m"
        }
#line 2801 "list.m"
      else
#line 2802 "list.m"
        {
#line 2802 "list.m"
          MR_Box mercury__list__H0_22 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2803 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2802 "list.m"
          (mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__T0_23 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2803 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__P_1, (MR_Integer) 1)));
#line 2803 "list.m"
          {
#line 2803 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__P_1), mercury__list__H0_22, &(mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__H1_24, &(mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__H2_26, mercury__list__STATE_VARIABLE_A_0_5, &(mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_A_37_37, mercury__list__STATE_VARIABLE_B_0_7, &(mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_B_38_38, mercury__list__STATE_VARIABLE_C_0_9, &(mercury__list__env).mercury__list__map2_foldl3_10_p_5_env_0__STATE_VARIABLE_C_39_39, mercury__list__map2_foldl3_10_p_5_1, &mercury__list__env);
          }
#line 2802 "list.m"
        }
#line 2801 "list.m"
    }
#line 1369 "list.m"
  }
#line 1369 "list.m"
}

#line 1366 "list.m"
MR_bool MR_CALL 
mercury__list__map2_foldl3_10_p_4(
#line 1366 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_43,
#line 1366 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_44,
#line 1366 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_45,
#line 1366 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_46,
#line 1366 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_47,
#line 1366 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_48,
#line 1366 "list.m"
  MR_Word mercury__list__P_1,
#line 1366 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1366 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1366 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1366 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1366 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1366 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_7,
#line 1366 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_8,
#line 1366 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_9,
#line 1366 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_10)
#line 1366 "list.m"
{
#line 2801 "list.m"
  {
#line 2801 "list.m"
    MR_bool mercury__list__succeeded;

#line 2801 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2801 "list.m"
      {
#line 2801 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2801 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2801 "list.m"
        *mercury__list__STATE_VARIABLE_C_10 = mercury__list__STATE_VARIABLE_C_0_9;
#line 2801 "list.m"
        *mercury__list__STATE_VARIABLE_B_8 = mercury__list__STATE_VARIABLE_B_0_7;
#line 2801 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2801 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2801 "list.m"
      }
#line 2801 "list.m"
    else
#line 2802 "list.m"
      {
#line 2802 "list.m"
        MR_Box mercury__list__H0_22 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2802 "list.m"
        MR_Word mercury__list__T0_23 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2802 "list.m"
        MR_Box mercury__list__H1_24;
#line 2802 "list.m"
        MR_Word mercury__list__T1_25;
#line 2802 "list.m"
        MR_Box mercury__list__H2_26;
#line 2802 "list.m"
        MR_Word mercury__list__T2_27;
#line 2802 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_37_37;
#line 2802 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_38_38;
#line 2802 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_39_39;
#line 2803 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2803 "list.m"
        {
#line 2803 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_22, &mercury__list__H1_24, &mercury__list__H2_26, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_37_37, mercury__list__STATE_VARIABLE_B_0_7, &mercury__list__STATE_VARIABLE_B_38_38, mercury__list__STATE_VARIABLE_C_0_9, &mercury__list__STATE_VARIABLE_C_39_39);
        }
#line 2802 "list.m"
        if (mercury__list__succeeded)
#line 2802 "list.m"
          {
#line 2804 "list.m"
            {
#line 2804 "list.m"
              mercury__list__succeeded = mercury__list__map2_foldl3_10_p_4(mercury__list__TypeInfo_for_L_43, mercury__list__TypeInfo_for_M_44, mercury__list__TypeInfo_for_N_45, mercury__list__TypeInfo_for_A_46, mercury__list__TypeInfo_for_B_47, mercury__list__TypeInfo_for_C_48, mercury__list__P_1, mercury__list__T0_23, &mercury__list__T1_25, &mercury__list__T2_27, mercury__list__STATE_VARIABLE_A_37_37, mercury__list__STATE_VARIABLE_A_6, mercury__list__STATE_VARIABLE_B_38_38, mercury__list__STATE_VARIABLE_B_8, mercury__list__STATE_VARIABLE_C_39_39, mercury__list__STATE_VARIABLE_C_10);
            }
#line 2802 "list.m"
            if (mercury__list__succeeded)
#line 2802 "list.m"
              {
#line 2802 "list.m"
                {
#line 2802 "list.m"
                  MR_Word base;
#line 2802 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2802 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2802 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_24;
#line 2802 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_25));
#line 2802 "list.m"
                }
#line 2802 "list.m"
                {
#line 2802 "list.m"
                  MR_Word base;
#line 2802 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2802 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2802 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_26;
#line 2802 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_27));
#line 2802 "list.m"
                }
#line 2802 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2802 "list.m"
              }
#line 2802 "list.m"
          }
#line 2802 "list.m"
      }
#line 2801 "list.m"
    return mercury__list__succeeded;
#line 2801 "list.m"
  }
#line 1366 "list.m"
}

#line 1363 "list.m"
void MR_CALL 
mercury__list__map2_foldl3_10_p_3(
#line 1363 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_43,
#line 1363 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_44,
#line 1363 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_45,
#line 1363 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_46,
#line 1363 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_47,
#line 1363 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_48,
#line 1363 "list.m"
  MR_Word mercury__list__P_1,
#line 1363 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1363 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1363 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1363 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1363 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1363 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_7,
#line 1363 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_8,
#line 1363 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_9,
#line 1363 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_10)
#line 1363 "list.m"
{
#line 2801 "list.m"
  {
#line 2801 "list.m"
    MR_bool mercury__list__succeeded;

#line 2801 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2801 "list.m"
      {
#line 2801 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2801 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2801 "list.m"
        *mercury__list__STATE_VARIABLE_C_10 = mercury__list__STATE_VARIABLE_C_0_9;
#line 2801 "list.m"
        *mercury__list__STATE_VARIABLE_B_8 = mercury__list__STATE_VARIABLE_B_0_7;
#line 2801 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2801 "list.m"
      }
#line 2801 "list.m"
    else
#line 2802 "list.m"
      {
#line 2802 "list.m"
        MR_Box mercury__list__H0_22 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2802 "list.m"
        MR_Word mercury__list__T0_23 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2802 "list.m"
        MR_Box mercury__list__H1_24;
#line 2802 "list.m"
        MR_Word mercury__list__T1_25;
#line 2802 "list.m"
        MR_Box mercury__list__H2_26;
#line 2802 "list.m"
        MR_Word mercury__list__T2_27;
#line 2802 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_37_37;
#line 2802 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_38_38;
#line 2802 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_39_39;
#line 2803 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2803 "list.m"
        {
#line 2803 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_22, &mercury__list__H1_24, &mercury__list__H2_26, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_37_37, mercury__list__STATE_VARIABLE_B_0_7, &mercury__list__STATE_VARIABLE_B_38_38, mercury__list__STATE_VARIABLE_C_0_9, &mercury__list__STATE_VARIABLE_C_39_39);
        }
#line 2804 "list.m"
        {
#line 2804 "list.m"
          mercury__list__map2_foldl3_10_p_3(mercury__list__TypeInfo_for_L_43, mercury__list__TypeInfo_for_M_44, mercury__list__TypeInfo_for_N_45, mercury__list__TypeInfo_for_A_46, mercury__list__TypeInfo_for_B_47, mercury__list__TypeInfo_for_C_48, mercury__list__P_1, mercury__list__T0_23, &mercury__list__T1_25, &mercury__list__T2_27, mercury__list__STATE_VARIABLE_A_37_37, mercury__list__STATE_VARIABLE_A_6, mercury__list__STATE_VARIABLE_B_38_38, mercury__list__STATE_VARIABLE_B_8, mercury__list__STATE_VARIABLE_C_39_39, mercury__list__STATE_VARIABLE_C_10);
        }
#line 2802 "list.m"
        {
#line 2802 "list.m"
          MR_Word base;
#line 2802 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2802 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2802 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_24;
#line 2802 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_25));
#line 2802 "list.m"
        }
#line 2802 "list.m"
        {
#line 2802 "list.m"
          MR_Word base;
#line 2802 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2802 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2802 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_26;
#line 2802 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_27));
#line 2802 "list.m"
        }
#line 2802 "list.m"
      }
#line 2801 "list.m"
  }
#line 1363 "list.m"
}

#line 1360 "list.m"
void MR_CALL 
mercury__list__map2_foldl3_10_p_2(
#line 1360 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_43,
#line 1360 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_44,
#line 1360 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_45,
#line 1360 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_46,
#line 1360 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_47,
#line 1360 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_48,
#line 1360 "list.m"
  MR_Word mercury__list__P_1,
#line 1360 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1360 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1360 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1360 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1360 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1360 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_7,
#line 1360 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_8,
#line 1360 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_9,
#line 1360 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_10)
#line 1360 "list.m"
{
#line 2801 "list.m"
  {
#line 2801 "list.m"
    MR_bool mercury__list__succeeded;

#line 2801 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2801 "list.m"
      {
#line 2801 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2801 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2801 "list.m"
        *mercury__list__STATE_VARIABLE_C_10 = mercury__list__STATE_VARIABLE_C_0_9;
#line 2801 "list.m"
        *mercury__list__STATE_VARIABLE_B_8 = mercury__list__STATE_VARIABLE_B_0_7;
#line 2801 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2801 "list.m"
      }
#line 2801 "list.m"
    else
#line 2802 "list.m"
      {
#line 2802 "list.m"
        MR_Box mercury__list__H0_22 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2802 "list.m"
        MR_Word mercury__list__T0_23 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2802 "list.m"
        MR_Box mercury__list__H1_24;
#line 2802 "list.m"
        MR_Word mercury__list__T1_25;
#line 2802 "list.m"
        MR_Box mercury__list__H2_26;
#line 2802 "list.m"
        MR_Word mercury__list__T2_27;
#line 2802 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_37_37;
#line 2802 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_38_38;
#line 2802 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_39_39;
#line 2803 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2803 "list.m"
        {
#line 2803 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_22, &mercury__list__H1_24, &mercury__list__H2_26, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_37_37, mercury__list__STATE_VARIABLE_B_0_7, &mercury__list__STATE_VARIABLE_B_38_38, mercury__list__STATE_VARIABLE_C_0_9, &mercury__list__STATE_VARIABLE_C_39_39);
        }
#line 2804 "list.m"
        {
#line 2804 "list.m"
          mercury__list__map2_foldl3_10_p_2(mercury__list__TypeInfo_for_L_43, mercury__list__TypeInfo_for_M_44, mercury__list__TypeInfo_for_N_45, mercury__list__TypeInfo_for_A_46, mercury__list__TypeInfo_for_B_47, mercury__list__TypeInfo_for_C_48, mercury__list__P_1, mercury__list__T0_23, &mercury__list__T1_25, &mercury__list__T2_27, mercury__list__STATE_VARIABLE_A_37_37, mercury__list__STATE_VARIABLE_A_6, mercury__list__STATE_VARIABLE_B_38_38, mercury__list__STATE_VARIABLE_B_8, mercury__list__STATE_VARIABLE_C_39_39, mercury__list__STATE_VARIABLE_C_10);
        }
#line 2802 "list.m"
        {
#line 2802 "list.m"
          MR_Word base;
#line 2802 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2802 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2802 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_24;
#line 2802 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_25));
#line 2802 "list.m"
        }
#line 2802 "list.m"
        {
#line 2802 "list.m"
          MR_Word base;
#line 2802 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2802 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2802 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_26;
#line 2802 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_27));
#line 2802 "list.m"
        }
#line 2802 "list.m"
      }
#line 2801 "list.m"
  }
#line 1360 "list.m"
}

#line 1357 "list.m"
void MR_CALL 
mercury__list__map2_foldl3_10_p_1(
#line 1357 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_43,
#line 1357 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_44,
#line 1357 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_45,
#line 1357 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_46,
#line 1357 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_47,
#line 1357 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_48,
#line 1357 "list.m"
  MR_Word mercury__list__P_1,
#line 1357 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1357 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1357 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1357 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1357 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1357 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_7,
#line 1357 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_8,
#line 1357 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_9,
#line 1357 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_10)
#line 1357 "list.m"
{
#line 2801 "list.m"
  {
#line 2801 "list.m"
    MR_bool mercury__list__succeeded;

#line 2801 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2801 "list.m"
      {
#line 2801 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2801 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2801 "list.m"
        *mercury__list__STATE_VARIABLE_C_10 = mercury__list__STATE_VARIABLE_C_0_9;
#line 2801 "list.m"
        *mercury__list__STATE_VARIABLE_B_8 = mercury__list__STATE_VARIABLE_B_0_7;
#line 2801 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2801 "list.m"
      }
#line 2801 "list.m"
    else
#line 2802 "list.m"
      {
#line 2802 "list.m"
        MR_Box mercury__list__H0_22 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2802 "list.m"
        MR_Word mercury__list__T0_23 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2802 "list.m"
        MR_Box mercury__list__H1_24;
#line 2802 "list.m"
        MR_Word mercury__list__T1_25;
#line 2802 "list.m"
        MR_Box mercury__list__H2_26;
#line 2802 "list.m"
        MR_Word mercury__list__T2_27;
#line 2802 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_37_37;
#line 2802 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_38_38;
#line 2802 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_39_39;
#line 2803 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2803 "list.m"
        {
#line 2803 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_22, &mercury__list__H1_24, &mercury__list__H2_26, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_37_37, mercury__list__STATE_VARIABLE_B_0_7, &mercury__list__STATE_VARIABLE_B_38_38, mercury__list__STATE_VARIABLE_C_0_9, &mercury__list__STATE_VARIABLE_C_39_39);
        }
#line 2804 "list.m"
        {
#line 2804 "list.m"
          mercury__list__map2_foldl3_10_p_1(mercury__list__TypeInfo_for_L_43, mercury__list__TypeInfo_for_M_44, mercury__list__TypeInfo_for_N_45, mercury__list__TypeInfo_for_A_46, mercury__list__TypeInfo_for_B_47, mercury__list__TypeInfo_for_C_48, mercury__list__P_1, mercury__list__T0_23, &mercury__list__T1_25, &mercury__list__T2_27, mercury__list__STATE_VARIABLE_A_37_37, mercury__list__STATE_VARIABLE_A_6, mercury__list__STATE_VARIABLE_B_38_38, mercury__list__STATE_VARIABLE_B_8, mercury__list__STATE_VARIABLE_C_39_39, mercury__list__STATE_VARIABLE_C_10);
        }
#line 2802 "list.m"
        {
#line 2802 "list.m"
          MR_Word base;
#line 2802 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2802 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2802 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_24;
#line 2802 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_25));
#line 2802 "list.m"
        }
#line 2802 "list.m"
        {
#line 2802 "list.m"
          MR_Word base;
#line 2802 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2802 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2802 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_26;
#line 2802 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_27));
#line 2802 "list.m"
        }
#line 2802 "list.m"
      }
#line 2801 "list.m"
  }
#line 1357 "list.m"
}

#line 1354 "list.m"
void MR_CALL 
mercury__list__map2_foldl3_10_p_0(
#line 1354 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_43,
#line 1354 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_44,
#line 1354 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_45,
#line 1354 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_46,
#line 1354 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_47,
#line 1354 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_48,
#line 1354 "list.m"
  MR_Word mercury__list__P_1,
#line 1354 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1354 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1354 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1354 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1354 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1354 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_7,
#line 1354 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_8,
#line 1354 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_9,
#line 1354 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_10)
#line 1354 "list.m"
{
#line 2801 "list.m"
  {
#line 2801 "list.m"
    MR_bool mercury__list__succeeded;

#line 2801 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2801 "list.m"
      {
#line 2801 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2801 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2801 "list.m"
        *mercury__list__STATE_VARIABLE_C_10 = mercury__list__STATE_VARIABLE_C_0_9;
#line 2801 "list.m"
        *mercury__list__STATE_VARIABLE_B_8 = mercury__list__STATE_VARIABLE_B_0_7;
#line 2801 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2801 "list.m"
      }
#line 2801 "list.m"
    else
#line 2802 "list.m"
      {
#line 2802 "list.m"
        MR_Box mercury__list__H0_22 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2802 "list.m"
        MR_Word mercury__list__T0_23 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2802 "list.m"
        MR_Box mercury__list__H1_24;
#line 2802 "list.m"
        MR_Word mercury__list__T1_25;
#line 2802 "list.m"
        MR_Box mercury__list__H2_26;
#line 2802 "list.m"
        MR_Word mercury__list__T2_27;
#line 2802 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_37_37;
#line 2802 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_38_38;
#line 2802 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_39_39;
#line 2803 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2803 "list.m"
        {
#line 2803 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_22, &mercury__list__H1_24, &mercury__list__H2_26, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_37_37, mercury__list__STATE_VARIABLE_B_0_7, &mercury__list__STATE_VARIABLE_B_38_38, mercury__list__STATE_VARIABLE_C_0_9, &mercury__list__STATE_VARIABLE_C_39_39);
        }
#line 2804 "list.m"
        {
#line 2804 "list.m"
          mercury__list__map2_foldl3_10_p_0(mercury__list__TypeInfo_for_L_43, mercury__list__TypeInfo_for_M_44, mercury__list__TypeInfo_for_N_45, mercury__list__TypeInfo_for_A_46, mercury__list__TypeInfo_for_B_47, mercury__list__TypeInfo_for_C_48, mercury__list__P_1, mercury__list__T0_23, &mercury__list__T1_25, &mercury__list__T2_27, mercury__list__STATE_VARIABLE_A_37_37, mercury__list__STATE_VARIABLE_A_6, mercury__list__STATE_VARIABLE_B_38_38, mercury__list__STATE_VARIABLE_B_8, mercury__list__STATE_VARIABLE_C_39_39, mercury__list__STATE_VARIABLE_C_10);
        }
#line 2802 "list.m"
        {
#line 2802 "list.m"
          MR_Word base;
#line 2802 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2802 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2802 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_24;
#line 2802 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_25));
#line 2802 "list.m"
        }
#line 2802 "list.m"
        {
#line 2802 "list.m"
          MR_Word base;
#line 2802 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2802 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2802 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_26;
#line 2802 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_27));
#line 2802 "list.m"
        }
#line 2802 "list.m"
      }
#line 2801 "list.m"
  }
#line 1354 "list.m"
}

#line 2797 "list.m"
static void MR_CALL 
mercury__list__map2_foldl2_8_p_5_2(
#line 2797 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2797 "list.m"
{
#line 2797 "list.m"
  {
#line 2797 "list.m"
    struct mercury__list__map2_foldl2_8_p_5_env_0_s * mercury__list__env_ptr = (struct mercury__list__map2_foldl2_8_p_5_env_0_s *) mercury__list__env_ptr_arg;

#line 2797 "list.m"
    {
#line 2797 "list.m"
      MR_Word base;
#line 2797 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2797 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__HeadVar__3_3) = base;
#line 2797 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__H1_19;
#line 2797 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__T1_20));
#line 2797 "list.m"
    }
#line 2797 "list.m"
    {
#line 2797 "list.m"
      MR_Word base;
#line 2797 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2797 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__HeadVar__4_4) = base;
#line 2797 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__H2_21;
#line 2797 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__T2_22));
#line 2797 "list.m"
    }
#line 2797 "list.m"
    {
#line 2797 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__cont)((mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__cont_env_ptr);
#line 2797 "list.m"
      return;
    }
#line 2797 "list.m"
  }
#line 2797 "list.m"
}

#line 2797 "list.m"
static void MR_CALL 
mercury__list__map2_foldl2_8_p_5_1(
#line 2797 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2797 "list.m"
{
#line 2797 "list.m"
  {
#line 2797 "list.m"
    struct mercury__list__map2_foldl2_8_p_5_env_0_s * mercury__list__env_ptr = (struct mercury__list__map2_foldl2_8_p_5_env_0_s *) mercury__list__env_ptr_arg;

#line 2799 "list.m"
    {
#line 2799 "list.m"
      mercury__list__map2_foldl2_8_p_5((mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__TypeInfo_for_L_33, (mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__TypeInfo_for_M_34, (mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__TypeInfo_for_N_35, (mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__TypeInfo_for_A_36, (mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__TypeInfo_for_B_37, (mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__T0_18, &(mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__T1_20, &(mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__T2_22, (mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__STATE_VARIABLE_A_29_29, (mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__STATE_VARIABLE_A_6, (mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__STATE_VARIABLE_B_30_30, (mercury__list__env_ptr)->mercury__list__map2_foldl2_8_p_5_env_0__STATE_VARIABLE_B_8, mercury__list__map2_foldl2_8_p_5_2, mercury__list__env_ptr);
    }
#line 2797 "list.m"
  }
#line 2797 "list.m"
}

#line 1346 "list.m"
void MR_CALL 
mercury__list__map2_foldl2_8_p_5(
#line 1346 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_33,
#line 1346 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_34,
#line 1346 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_35,
#line 1346 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_36,
#line 1346 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_37,
#line 1346 "list.m"
  MR_Word mercury__list__P_1,
#line 1346 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1346 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1346 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1346 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1346 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1346 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_7,
#line 1346 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_8,
#line 1346 "list.m"
  MR_Cont mercury__list__cont,
#line 1346 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1346 "list.m"
{
#line 1346 "list.m"
  {
#line 1346 "list.m"
    struct mercury__list__map2_foldl2_8_p_5_env_0_s mercury__list__env;

#line 1346 "list.m"
    (mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__TypeInfo_for_L_33 = mercury__list__TypeInfo_for_L_33;
#line 1346 "list.m"
    (mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__TypeInfo_for_M_34 = mercury__list__TypeInfo_for_M_34;
#line 1346 "list.m"
    (mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__TypeInfo_for_N_35 = mercury__list__TypeInfo_for_N_35;
#line 1346 "list.m"
    (mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__TypeInfo_for_A_36 = mercury__list__TypeInfo_for_A_36;
#line 1346 "list.m"
    (mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__TypeInfo_for_B_37 = mercury__list__TypeInfo_for_B_37;
#line 1346 "list.m"
    (mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__P_1 = mercury__list__P_1;
#line 1346 "list.m"
    (mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 1346 "list.m"
    (mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 1346 "list.m"
    (mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_6;
#line 1346 "list.m"
    (mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__STATE_VARIABLE_B_8 = mercury__list__STATE_VARIABLE_B_8;
#line 1346 "list.m"
    (mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__cont = mercury__list__cont;
#line 1346 "list.m"
    (mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2796 "list.m"
    {
#line 2796 "list.m"
      MR_bool mercury__list__succeeded;

#line 2796 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2796 "list.m"
        {
#line 2796 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2796 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2796 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__STATE_VARIABLE_B_8) = mercury__list__STATE_VARIABLE_B_0_7;
#line 2796 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__STATE_VARIABLE_A_6) = mercury__list__STATE_VARIABLE_A_0_5;
#line 2796 "list.m"
          {
#line 2796 "list.m"
            ((mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__cont)((mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__cont_env_ptr);
#line 2796 "list.m"
            return;
          }
#line 2796 "list.m"
        }
#line 2796 "list.m"
      else
#line 2797 "list.m"
        {
#line 2797 "list.m"
          MR_Box mercury__list__H0_17 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2798 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2797 "list.m"
          (mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__T0_18 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2798 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__P_1, (MR_Integer) 1)));
#line 2798 "list.m"
          {
#line 2798 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__P_1), mercury__list__H0_17, &(mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__H1_19, &(mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__H2_21, mercury__list__STATE_VARIABLE_A_0_5, &(mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__STATE_VARIABLE_A_29_29, mercury__list__STATE_VARIABLE_B_0_7, &(mercury__list__env).mercury__list__map2_foldl2_8_p_5_env_0__STATE_VARIABLE_B_30_30, mercury__list__map2_foldl2_8_p_5_1, &mercury__list__env);
          }
#line 2797 "list.m"
        }
#line 2796 "list.m"
    }
#line 1346 "list.m"
  }
#line 1346 "list.m"
}

#line 1344 "list.m"
MR_bool MR_CALL 
mercury__list__map2_foldl2_8_p_4(
#line 1344 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_33,
#line 1344 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_34,
#line 1344 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_35,
#line 1344 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_36,
#line 1344 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_37,
#line 1344 "list.m"
  MR_Word mercury__list__P_1,
#line 1344 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1344 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1344 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1344 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1344 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1344 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_7,
#line 1344 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_8)
#line 1344 "list.m"
{
#line 2796 "list.m"
  {
#line 2796 "list.m"
    MR_bool mercury__list__succeeded;

#line 2796 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2796 "list.m"
      {
#line 2796 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2796 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2796 "list.m"
        *mercury__list__STATE_VARIABLE_B_8 = mercury__list__STATE_VARIABLE_B_0_7;
#line 2796 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2796 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2796 "list.m"
      }
#line 2796 "list.m"
    else
#line 2797 "list.m"
      {
#line 2797 "list.m"
        MR_Box mercury__list__H0_17 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2797 "list.m"
        MR_Word mercury__list__T0_18 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2797 "list.m"
        MR_Box mercury__list__H1_19;
#line 2797 "list.m"
        MR_Word mercury__list__T1_20;
#line 2797 "list.m"
        MR_Box mercury__list__H2_21;
#line 2797 "list.m"
        MR_Word mercury__list__T2_22;
#line 2797 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_29_29;
#line 2797 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_30_30;
#line 2798 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2798 "list.m"
        {
#line 2798 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_17, &mercury__list__H1_19, &mercury__list__H2_21, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_29_29, mercury__list__STATE_VARIABLE_B_0_7, &mercury__list__STATE_VARIABLE_B_30_30);
        }
#line 2797 "list.m"
        if (mercury__list__succeeded)
#line 2797 "list.m"
          {
#line 2799 "list.m"
            {
#line 2799 "list.m"
              mercury__list__succeeded = mercury__list__map2_foldl2_8_p_4(mercury__list__TypeInfo_for_L_33, mercury__list__TypeInfo_for_M_34, mercury__list__TypeInfo_for_N_35, mercury__list__TypeInfo_for_A_36, mercury__list__TypeInfo_for_B_37, mercury__list__P_1, mercury__list__T0_18, &mercury__list__T1_20, &mercury__list__T2_22, mercury__list__STATE_VARIABLE_A_29_29, mercury__list__STATE_VARIABLE_A_6, mercury__list__STATE_VARIABLE_B_30_30, mercury__list__STATE_VARIABLE_B_8);
            }
#line 2797 "list.m"
            if (mercury__list__succeeded)
#line 2797 "list.m"
              {
#line 2797 "list.m"
                {
#line 2797 "list.m"
                  MR_Word base;
#line 2797 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2797 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2797 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_19;
#line 2797 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_20));
#line 2797 "list.m"
                }
#line 2797 "list.m"
                {
#line 2797 "list.m"
                  MR_Word base;
#line 2797 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2797 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2797 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_21;
#line 2797 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_22));
#line 2797 "list.m"
                }
#line 2797 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2797 "list.m"
              }
#line 2797 "list.m"
          }
#line 2797 "list.m"
      }
#line 2796 "list.m"
    return mercury__list__succeeded;
#line 2796 "list.m"
  }
#line 1344 "list.m"
}

#line 1342 "list.m"
void MR_CALL 
mercury__list__map2_foldl2_8_p_3(
#line 1342 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_33,
#line 1342 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_34,
#line 1342 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_35,
#line 1342 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_36,
#line 1342 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_37,
#line 1342 "list.m"
  MR_Word mercury__list__P_1,
#line 1342 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1342 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1342 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1342 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1342 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1342 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_7,
#line 1342 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_8)
#line 1342 "list.m"
{
#line 2796 "list.m"
  {
#line 2796 "list.m"
    MR_bool mercury__list__succeeded;

#line 2796 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2796 "list.m"
      {
#line 2796 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2796 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2796 "list.m"
        *mercury__list__STATE_VARIABLE_B_8 = mercury__list__STATE_VARIABLE_B_0_7;
#line 2796 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2796 "list.m"
      }
#line 2796 "list.m"
    else
#line 2797 "list.m"
      {
#line 2797 "list.m"
        MR_Box mercury__list__H0_17 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2797 "list.m"
        MR_Word mercury__list__T0_18 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2797 "list.m"
        MR_Box mercury__list__H1_19;
#line 2797 "list.m"
        MR_Word mercury__list__T1_20;
#line 2797 "list.m"
        MR_Box mercury__list__H2_21;
#line 2797 "list.m"
        MR_Word mercury__list__T2_22;
#line 2797 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_29_29;
#line 2797 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_30_30;
#line 2798 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2798 "list.m"
        {
#line 2798 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_17, &mercury__list__H1_19, &mercury__list__H2_21, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_29_29, mercury__list__STATE_VARIABLE_B_0_7, &mercury__list__STATE_VARIABLE_B_30_30);
        }
#line 2799 "list.m"
        {
#line 2799 "list.m"
          mercury__list__map2_foldl2_8_p_3(mercury__list__TypeInfo_for_L_33, mercury__list__TypeInfo_for_M_34, mercury__list__TypeInfo_for_N_35, mercury__list__TypeInfo_for_A_36, mercury__list__TypeInfo_for_B_37, mercury__list__P_1, mercury__list__T0_18, &mercury__list__T1_20, &mercury__list__T2_22, mercury__list__STATE_VARIABLE_A_29_29, mercury__list__STATE_VARIABLE_A_6, mercury__list__STATE_VARIABLE_B_30_30, mercury__list__STATE_VARIABLE_B_8);
        }
#line 2797 "list.m"
        {
#line 2797 "list.m"
          MR_Word base;
#line 2797 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2797 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2797 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_19;
#line 2797 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_20));
#line 2797 "list.m"
        }
#line 2797 "list.m"
        {
#line 2797 "list.m"
          MR_Word base;
#line 2797 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2797 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2797 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_21;
#line 2797 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_22));
#line 2797 "list.m"
        }
#line 2797 "list.m"
      }
#line 2796 "list.m"
  }
#line 1342 "list.m"
}

#line 1340 "list.m"
void MR_CALL 
mercury__list__map2_foldl2_8_p_2(
#line 1340 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_33,
#line 1340 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_34,
#line 1340 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_35,
#line 1340 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_36,
#line 1340 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_37,
#line 1340 "list.m"
  MR_Word mercury__list__P_1,
#line 1340 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1340 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1340 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1340 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1340 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1340 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_7,
#line 1340 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_8)
#line 1340 "list.m"
{
#line 2796 "list.m"
  {
#line 2796 "list.m"
    MR_bool mercury__list__succeeded;

#line 2796 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2796 "list.m"
      {
#line 2796 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2796 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2796 "list.m"
        *mercury__list__STATE_VARIABLE_B_8 = mercury__list__STATE_VARIABLE_B_0_7;
#line 2796 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2796 "list.m"
      }
#line 2796 "list.m"
    else
#line 2797 "list.m"
      {
#line 2797 "list.m"
        MR_Box mercury__list__H0_17 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2797 "list.m"
        MR_Word mercury__list__T0_18 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2797 "list.m"
        MR_Box mercury__list__H1_19;
#line 2797 "list.m"
        MR_Word mercury__list__T1_20;
#line 2797 "list.m"
        MR_Box mercury__list__H2_21;
#line 2797 "list.m"
        MR_Word mercury__list__T2_22;
#line 2797 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_29_29;
#line 2797 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_30_30;
#line 2798 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2798 "list.m"
        {
#line 2798 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_17, &mercury__list__H1_19, &mercury__list__H2_21, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_29_29, mercury__list__STATE_VARIABLE_B_0_7, &mercury__list__STATE_VARIABLE_B_30_30);
        }
#line 2799 "list.m"
        {
#line 2799 "list.m"
          mercury__list__map2_foldl2_8_p_2(mercury__list__TypeInfo_for_L_33, mercury__list__TypeInfo_for_M_34, mercury__list__TypeInfo_for_N_35, mercury__list__TypeInfo_for_A_36, mercury__list__TypeInfo_for_B_37, mercury__list__P_1, mercury__list__T0_18, &mercury__list__T1_20, &mercury__list__T2_22, mercury__list__STATE_VARIABLE_A_29_29, mercury__list__STATE_VARIABLE_A_6, mercury__list__STATE_VARIABLE_B_30_30, mercury__list__STATE_VARIABLE_B_8);
        }
#line 2797 "list.m"
        {
#line 2797 "list.m"
          MR_Word base;
#line 2797 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2797 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2797 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_19;
#line 2797 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_20));
#line 2797 "list.m"
        }
#line 2797 "list.m"
        {
#line 2797 "list.m"
          MR_Word base;
#line 2797 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2797 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2797 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_21;
#line 2797 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_22));
#line 2797 "list.m"
        }
#line 2797 "list.m"
      }
#line 2796 "list.m"
  }
#line 1340 "list.m"
}

#line 1338 "list.m"
void MR_CALL 
mercury__list__map2_foldl2_8_p_1(
#line 1338 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_33,
#line 1338 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_34,
#line 1338 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_35,
#line 1338 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_36,
#line 1338 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_37,
#line 1338 "list.m"
  MR_Word mercury__list__P_1,
#line 1338 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1338 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1338 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1338 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1338 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1338 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_7,
#line 1338 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_8)
#line 1338 "list.m"
{
#line 2796 "list.m"
  {
#line 2796 "list.m"
    MR_bool mercury__list__succeeded;

#line 2796 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2796 "list.m"
      {
#line 2796 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2796 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2796 "list.m"
        *mercury__list__STATE_VARIABLE_B_8 = mercury__list__STATE_VARIABLE_B_0_7;
#line 2796 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2796 "list.m"
      }
#line 2796 "list.m"
    else
#line 2797 "list.m"
      {
#line 2797 "list.m"
        MR_Box mercury__list__H0_17 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2797 "list.m"
        MR_Word mercury__list__T0_18 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2797 "list.m"
        MR_Box mercury__list__H1_19;
#line 2797 "list.m"
        MR_Word mercury__list__T1_20;
#line 2797 "list.m"
        MR_Box mercury__list__H2_21;
#line 2797 "list.m"
        MR_Word mercury__list__T2_22;
#line 2797 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_29_29;
#line 2797 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_30_30;
#line 2798 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2798 "list.m"
        {
#line 2798 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_17, &mercury__list__H1_19, &mercury__list__H2_21, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_29_29, mercury__list__STATE_VARIABLE_B_0_7, &mercury__list__STATE_VARIABLE_B_30_30);
        }
#line 2799 "list.m"
        {
#line 2799 "list.m"
          mercury__list__map2_foldl2_8_p_1(mercury__list__TypeInfo_for_L_33, mercury__list__TypeInfo_for_M_34, mercury__list__TypeInfo_for_N_35, mercury__list__TypeInfo_for_A_36, mercury__list__TypeInfo_for_B_37, mercury__list__P_1, mercury__list__T0_18, &mercury__list__T1_20, &mercury__list__T2_22, mercury__list__STATE_VARIABLE_A_29_29, mercury__list__STATE_VARIABLE_A_6, mercury__list__STATE_VARIABLE_B_30_30, mercury__list__STATE_VARIABLE_B_8);
        }
#line 2797 "list.m"
        {
#line 2797 "list.m"
          MR_Word base;
#line 2797 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2797 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2797 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_19;
#line 2797 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_20));
#line 2797 "list.m"
        }
#line 2797 "list.m"
        {
#line 2797 "list.m"
          MR_Word base;
#line 2797 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2797 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2797 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_21;
#line 2797 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_22));
#line 2797 "list.m"
        }
#line 2797 "list.m"
      }
#line 2796 "list.m"
  }
#line 1338 "list.m"
}

#line 1336 "list.m"
void MR_CALL 
mercury__list__map2_foldl2_8_p_0(
#line 1336 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_33,
#line 1336 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_34,
#line 1336 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_35,
#line 1336 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_36,
#line 1336 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_37,
#line 1336 "list.m"
  MR_Word mercury__list__P_1,
#line 1336 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1336 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1336 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1336 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1336 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1336 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_7,
#line 1336 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_8)
#line 1336 "list.m"
{
#line 2796 "list.m"
  {
#line 2796 "list.m"
    MR_bool mercury__list__succeeded;

#line 2796 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2796 "list.m"
      {
#line 2796 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2796 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2796 "list.m"
        *mercury__list__STATE_VARIABLE_B_8 = mercury__list__STATE_VARIABLE_B_0_7;
#line 2796 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2796 "list.m"
      }
#line 2796 "list.m"
    else
#line 2797 "list.m"
      {
#line 2797 "list.m"
        MR_Box mercury__list__H0_17 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2797 "list.m"
        MR_Word mercury__list__T0_18 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2797 "list.m"
        MR_Box mercury__list__H1_19;
#line 2797 "list.m"
        MR_Word mercury__list__T1_20;
#line 2797 "list.m"
        MR_Box mercury__list__H2_21;
#line 2797 "list.m"
        MR_Word mercury__list__T2_22;
#line 2797 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_29_29;
#line 2797 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_30_30;
#line 2798 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2798 "list.m"
        {
#line 2798 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_17, &mercury__list__H1_19, &mercury__list__H2_21, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_29_29, mercury__list__STATE_VARIABLE_B_0_7, &mercury__list__STATE_VARIABLE_B_30_30);
        }
#line 2799 "list.m"
        {
#line 2799 "list.m"
          mercury__list__map2_foldl2_8_p_0(mercury__list__TypeInfo_for_L_33, mercury__list__TypeInfo_for_M_34, mercury__list__TypeInfo_for_N_35, mercury__list__TypeInfo_for_A_36, mercury__list__TypeInfo_for_B_37, mercury__list__P_1, mercury__list__T0_18, &mercury__list__T1_20, &mercury__list__T2_22, mercury__list__STATE_VARIABLE_A_29_29, mercury__list__STATE_VARIABLE_A_6, mercury__list__STATE_VARIABLE_B_30_30, mercury__list__STATE_VARIABLE_B_8);
        }
#line 2797 "list.m"
        {
#line 2797 "list.m"
          MR_Word base;
#line 2797 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2797 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2797 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_19;
#line 2797 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_20));
#line 2797 "list.m"
        }
#line 2797 "list.m"
        {
#line 2797 "list.m"
          MR_Word base;
#line 2797 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2797 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2797 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_21;
#line 2797 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_22));
#line 2797 "list.m"
        }
#line 2797 "list.m"
      }
#line 2796 "list.m"
  }
#line 1336 "list.m"
}

#line 1328 "list.m"
void MR_CALL 
mercury__list__map2_foldl_6_p_9(
#line 1328 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_23,
#line 1328 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_24,
#line 1328 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_25,
#line 1328 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_26,
#line 1328 "list.m"
  MR_Word mercury__list__P_1,
#line 1328 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1328 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1328 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1328 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1328 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6)
#line 1328 "list.m"
{
#line 2791 "list.m"
  {
#line 2791 "list.m"
    MR_bool mercury__list__succeeded;

#line 2791 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2791 "list.m"
      {
#line 2791 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2791 "list.m"
      }
#line 2791 "list.m"
    else
#line 2792 "list.m"
      {
#line 2792 "list.m"
        MR_Box mercury__list__H0_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2792 "list.m"
        MR_Word mercury__list__T0_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2792 "list.m"
        MR_Box mercury__list__H1_14;
#line 2792 "list.m"
        MR_Word mercury__list__T1_15;
#line 2792 "list.m"
        MR_Box mercury__list__H2_16;
#line 2792 "list.m"
        MR_Word mercury__list__T2_17;
#line 2792 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_21_21;
#line 2793 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2793 "list.m"
        {
#line 2793 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_12, &mercury__list__H1_14, &mercury__list__H2_16, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_21_21);
        }
#line 2794 "list.m"
        {
#line 2794 "list.m"
          mercury__list__map2_foldl_6_p_9(mercury__list__TypeInfo_for_L_23, mercury__list__TypeInfo_for_M_24, mercury__list__TypeInfo_for_N_25, mercury__list__TypeInfo_for_A_26, mercury__list__P_1, mercury__list__T0_13, &mercury__list__T1_15, &mercury__list__T2_17, mercury__list__STATE_VARIABLE_A_21_21, mercury__list__STATE_VARIABLE_A_6);
        }
#line 2792 "list.m"
        {
#line 2792 "list.m"
          MR_Word base;
#line 2792 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_14;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_15));
#line 2792 "list.m"
        }
#line 2792 "list.m"
        {
#line 2792 "list.m"
          MR_Word base;
#line 2792 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_16;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_17));
#line 2792 "list.m"
        }
#line 2792 "list.m"
      }
#line 2791 "list.m"
  }
#line 1328 "list.m"
}

#line 1326 "list.m"
void MR_CALL 
mercury__list__map2_foldl_6_p_8(
#line 1326 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_23,
#line 1326 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_24,
#line 1326 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_25,
#line 1326 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_26,
#line 1326 "list.m"
  MR_Word mercury__list__P_1,
#line 1326 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1326 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1326 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1326 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1326 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6)
#line 1326 "list.m"
{
#line 2791 "list.m"
  {
#line 2791 "list.m"
    MR_bool mercury__list__succeeded;

#line 2791 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2791 "list.m"
      {
#line 2791 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2791 "list.m"
      }
#line 2791 "list.m"
    else
#line 2792 "list.m"
      {
#line 2792 "list.m"
        MR_Box mercury__list__H0_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2792 "list.m"
        MR_Word mercury__list__T0_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2792 "list.m"
        MR_Box mercury__list__H1_14;
#line 2792 "list.m"
        MR_Word mercury__list__T1_15;
#line 2792 "list.m"
        MR_Box mercury__list__H2_16;
#line 2792 "list.m"
        MR_Word mercury__list__T2_17;
#line 2792 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_21_21;
#line 2793 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2793 "list.m"
        {
#line 2793 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_12, &mercury__list__H1_14, &mercury__list__H2_16, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_21_21);
        }
#line 2794 "list.m"
        {
#line 2794 "list.m"
          mercury__list__map2_foldl_6_p_8(mercury__list__TypeInfo_for_L_23, mercury__list__TypeInfo_for_M_24, mercury__list__TypeInfo_for_N_25, mercury__list__TypeInfo_for_A_26, mercury__list__P_1, mercury__list__T0_13, &mercury__list__T1_15, &mercury__list__T2_17, mercury__list__STATE_VARIABLE_A_21_21, mercury__list__STATE_VARIABLE_A_6);
        }
#line 2792 "list.m"
        {
#line 2792 "list.m"
          MR_Word base;
#line 2792 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_14;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_15));
#line 2792 "list.m"
        }
#line 2792 "list.m"
        {
#line 2792 "list.m"
          MR_Word base;
#line 2792 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_16;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_17));
#line 2792 "list.m"
        }
#line 2792 "list.m"
      }
#line 2791 "list.m"
  }
#line 1326 "list.m"
}

#line 2792 "list.m"
static void MR_CALL 
mercury__list__map2_foldl_6_p_7_2(
#line 2792 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2792 "list.m"
{
#line 2792 "list.m"
  {
#line 2792 "list.m"
    struct mercury__list__map2_foldl_6_p_7_env_0_s * mercury__list__env_ptr = (struct mercury__list__map2_foldl_6_p_7_env_0_s *) mercury__list__env_ptr_arg;

#line 2792 "list.m"
    {
#line 2792 "list.m"
      MR_Word base;
#line 2792 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_7_env_0__HeadVar__3_3) = base;
#line 2792 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_7_env_0__H1_14;
#line 2792 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_7_env_0__T1_15));
#line 2792 "list.m"
    }
#line 2792 "list.m"
    {
#line 2792 "list.m"
      MR_Word base;
#line 2792 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_7_env_0__HeadVar__4_4) = base;
#line 2792 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_7_env_0__H2_16;
#line 2792 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_7_env_0__T2_17));
#line 2792 "list.m"
    }
#line 2792 "list.m"
    {
#line 2792 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_7_env_0__cont)((mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_7_env_0__cont_env_ptr);
#line 2792 "list.m"
      return;
    }
#line 2792 "list.m"
  }
#line 2792 "list.m"
}

#line 2792 "list.m"
static void MR_CALL 
mercury__list__map2_foldl_6_p_7_1(
#line 2792 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2792 "list.m"
{
#line 2792 "list.m"
  {
#line 2792 "list.m"
    struct mercury__list__map2_foldl_6_p_7_env_0_s * mercury__list__env_ptr = (struct mercury__list__map2_foldl_6_p_7_env_0_s *) mercury__list__env_ptr_arg;

#line 2794 "list.m"
    {
#line 2794 "list.m"
      mercury__list__map2_foldl_6_p_7((mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_7_env_0__TypeInfo_for_L_23, (mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_7_env_0__TypeInfo_for_M_24, (mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_7_env_0__TypeInfo_for_N_25, (mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_7_env_0__TypeInfo_for_A_26, (mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_7_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_7_env_0__T0_13, &(mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_7_env_0__T1_15, &(mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_7_env_0__T2_17, (mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_7_env_0__STATE_VARIABLE_A_21_21, (mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_7_env_0__STATE_VARIABLE_A_6, mercury__list__map2_foldl_6_p_7_2, mercury__list__env_ptr);
    }
#line 2792 "list.m"
  }
#line 2792 "list.m"
}

#line 1324 "list.m"
void MR_CALL 
mercury__list__map2_foldl_6_p_7(
#line 1324 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_23,
#line 1324 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_24,
#line 1324 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_25,
#line 1324 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_26,
#line 1324 "list.m"
  MR_Word mercury__list__P_1,
#line 1324 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1324 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1324 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1324 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1324 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1324 "list.m"
  MR_Cont mercury__list__cont,
#line 1324 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1324 "list.m"
{
#line 1324 "list.m"
  {
#line 1324 "list.m"
    struct mercury__list__map2_foldl_6_p_7_env_0_s mercury__list__env;

#line 1324 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__TypeInfo_for_L_23 = mercury__list__TypeInfo_for_L_23;
#line 1324 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__TypeInfo_for_M_24 = mercury__list__TypeInfo_for_M_24;
#line 1324 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__TypeInfo_for_N_25 = mercury__list__TypeInfo_for_N_25;
#line 1324 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__TypeInfo_for_A_26 = mercury__list__TypeInfo_for_A_26;
#line 1324 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__P_1 = mercury__list__P_1;
#line 1324 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 1324 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 1324 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_6;
#line 1324 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__cont = mercury__list__cont;
#line 1324 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2791 "list.m"
    {
#line 2791 "list.m"
      MR_bool mercury__list__succeeded;

#line 2791 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2791 "list.m"
        {
#line 2791 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__STATE_VARIABLE_A_6) = mercury__list__STATE_VARIABLE_A_0_5;
#line 2791 "list.m"
          {
#line 2791 "list.m"
            ((mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__cont)((mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__cont_env_ptr);
#line 2791 "list.m"
            return;
          }
#line 2791 "list.m"
        }
#line 2791 "list.m"
      else
#line 2792 "list.m"
        {
#line 2792 "list.m"
          MR_Box mercury__list__H0_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2793 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2792 "list.m"
          (mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__T0_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2793 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__P_1, (MR_Integer) 1)));
#line 2793 "list.m"
          {
#line 2793 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__P_1), mercury__list__H0_12, &(mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__H1_14, &(mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__H2_16, mercury__list__STATE_VARIABLE_A_0_5, &(mercury__list__env).mercury__list__map2_foldl_6_p_7_env_0__STATE_VARIABLE_A_21_21, mercury__list__map2_foldl_6_p_7_1, &mercury__list__env);
          }
#line 2792 "list.m"
        }
#line 2791 "list.m"
    }
#line 1324 "list.m"
  }
#line 1324 "list.m"
}

#line 2792 "list.m"
static void MR_CALL 
mercury__list__map2_foldl_6_p_6_2(
#line 2792 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2792 "list.m"
{
#line 2792 "list.m"
  {
#line 2792 "list.m"
    struct mercury__list__map2_foldl_6_p_6_env_0_s * mercury__list__env_ptr = (struct mercury__list__map2_foldl_6_p_6_env_0_s *) mercury__list__env_ptr_arg;

#line 2792 "list.m"
    {
#line 2792 "list.m"
      MR_Word base;
#line 2792 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_6_env_0__HeadVar__3_3) = base;
#line 2792 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_6_env_0__H1_14;
#line 2792 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_6_env_0__T1_15));
#line 2792 "list.m"
    }
#line 2792 "list.m"
    {
#line 2792 "list.m"
      MR_Word base;
#line 2792 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_6_env_0__HeadVar__4_4) = base;
#line 2792 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_6_env_0__H2_16;
#line 2792 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_6_env_0__T2_17));
#line 2792 "list.m"
    }
#line 2792 "list.m"
    {
#line 2792 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_6_env_0__cont)((mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_6_env_0__cont_env_ptr);
#line 2792 "list.m"
      return;
    }
#line 2792 "list.m"
  }
#line 2792 "list.m"
}

#line 2792 "list.m"
static void MR_CALL 
mercury__list__map2_foldl_6_p_6_1(
#line 2792 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2792 "list.m"
{
#line 2792 "list.m"
  {
#line 2792 "list.m"
    struct mercury__list__map2_foldl_6_p_6_env_0_s * mercury__list__env_ptr = (struct mercury__list__map2_foldl_6_p_6_env_0_s *) mercury__list__env_ptr_arg;

#line 2794 "list.m"
    {
#line 2794 "list.m"
      mercury__list__map2_foldl_6_p_6((mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_6_env_0__TypeInfo_for_L_23, (mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_6_env_0__TypeInfo_for_M_24, (mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_6_env_0__TypeInfo_for_N_25, (mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_6_env_0__TypeInfo_for_A_26, (mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_6_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_6_env_0__T0_13, &(mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_6_env_0__T1_15, &(mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_6_env_0__T2_17, (mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_6_env_0__STATE_VARIABLE_A_21_21, (mercury__list__env_ptr)->mercury__list__map2_foldl_6_p_6_env_0__STATE_VARIABLE_A_6, mercury__list__map2_foldl_6_p_6_2, mercury__list__env_ptr);
    }
#line 2792 "list.m"
  }
#line 2792 "list.m"
}

#line 1322 "list.m"
void MR_CALL 
mercury__list__map2_foldl_6_p_6(
#line 1322 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_23,
#line 1322 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_24,
#line 1322 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_25,
#line 1322 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_26,
#line 1322 "list.m"
  MR_Word mercury__list__P_1,
#line 1322 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1322 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1322 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1322 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1322 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6,
#line 1322 "list.m"
  MR_Cont mercury__list__cont,
#line 1322 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1322 "list.m"
{
#line 1322 "list.m"
  {
#line 1322 "list.m"
    struct mercury__list__map2_foldl_6_p_6_env_0_s mercury__list__env;

#line 1322 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__TypeInfo_for_L_23 = mercury__list__TypeInfo_for_L_23;
#line 1322 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__TypeInfo_for_M_24 = mercury__list__TypeInfo_for_M_24;
#line 1322 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__TypeInfo_for_N_25 = mercury__list__TypeInfo_for_N_25;
#line 1322 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__TypeInfo_for_A_26 = mercury__list__TypeInfo_for_A_26;
#line 1322 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__P_1 = mercury__list__P_1;
#line 1322 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 1322 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 1322 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_6;
#line 1322 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__cont = mercury__list__cont;
#line 1322 "list.m"
    (mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2791 "list.m"
    {
#line 2791 "list.m"
      MR_bool mercury__list__succeeded;

#line 2791 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2791 "list.m"
        {
#line 2791 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
          *((mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__STATE_VARIABLE_A_6) = mercury__list__STATE_VARIABLE_A_0_5;
#line 2791 "list.m"
          {
#line 2791 "list.m"
            ((mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__cont)((mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__cont_env_ptr);
#line 2791 "list.m"
            return;
          }
#line 2791 "list.m"
        }
#line 2791 "list.m"
      else
#line 2792 "list.m"
        {
#line 2792 "list.m"
          MR_Box mercury__list__H0_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2793 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2792 "list.m"
          (mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__T0_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2793 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__P_1, (MR_Integer) 1)));
#line 2793 "list.m"
          {
#line 2793 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__P_1), mercury__list__H0_12, &(mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__H1_14, &(mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__H2_16, mercury__list__STATE_VARIABLE_A_0_5, &(mercury__list__env).mercury__list__map2_foldl_6_p_6_env_0__STATE_VARIABLE_A_21_21, mercury__list__map2_foldl_6_p_6_1, &mercury__list__env);
          }
#line 2792 "list.m"
        }
#line 2791 "list.m"
    }
#line 1322 "list.m"
  }
#line 1322 "list.m"
}

#line 1320 "list.m"
MR_bool MR_CALL 
mercury__list__map2_foldl_6_p_5(
#line 1320 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_23,
#line 1320 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_24,
#line 1320 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_25,
#line 1320 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_26,
#line 1320 "list.m"
  MR_Word mercury__list__P_1,
#line 1320 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1320 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1320 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1320 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1320 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6)
#line 1320 "list.m"
{
#line 2791 "list.m"
  {
#line 2791 "list.m"
    MR_bool mercury__list__succeeded;

#line 2791 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2791 "list.m"
      {
#line 2791 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2791 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2791 "list.m"
      }
#line 2791 "list.m"
    else
#line 2792 "list.m"
      {
#line 2792 "list.m"
        MR_Box mercury__list__H0_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2792 "list.m"
        MR_Word mercury__list__T0_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2792 "list.m"
        MR_Box mercury__list__H1_14;
#line 2792 "list.m"
        MR_Word mercury__list__T1_15;
#line 2792 "list.m"
        MR_Box mercury__list__H2_16;
#line 2792 "list.m"
        MR_Word mercury__list__T2_17;
#line 2792 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_21_21;
#line 2793 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2793 "list.m"
        {
#line 2793 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_12, &mercury__list__H1_14, &mercury__list__H2_16, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_21_21);
        }
#line 2792 "list.m"
        if (mercury__list__succeeded)
#line 2792 "list.m"
          {
#line 2794 "list.m"
            {
#line 2794 "list.m"
              mercury__list__succeeded = mercury__list__map2_foldl_6_p_5(mercury__list__TypeInfo_for_L_23, mercury__list__TypeInfo_for_M_24, mercury__list__TypeInfo_for_N_25, mercury__list__TypeInfo_for_A_26, mercury__list__P_1, mercury__list__T0_13, &mercury__list__T1_15, &mercury__list__T2_17, mercury__list__STATE_VARIABLE_A_21_21, mercury__list__STATE_VARIABLE_A_6);
            }
#line 2792 "list.m"
            if (mercury__list__succeeded)
#line 2792 "list.m"
              {
#line 2792 "list.m"
                {
#line 2792 "list.m"
                  MR_Word base;
#line 2792 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2792 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_14;
#line 2792 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_15));
#line 2792 "list.m"
                }
#line 2792 "list.m"
                {
#line 2792 "list.m"
                  MR_Word base;
#line 2792 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2792 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_16;
#line 2792 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_17));
#line 2792 "list.m"
                }
#line 2792 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2792 "list.m"
              }
#line 2792 "list.m"
          }
#line 2792 "list.m"
      }
#line 2791 "list.m"
    return mercury__list__succeeded;
#line 2791 "list.m"
  }
#line 1320 "list.m"
}

#line 1318 "list.m"
MR_bool MR_CALL 
mercury__list__map2_foldl_6_p_4(
#line 1318 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_23,
#line 1318 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_24,
#line 1318 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_25,
#line 1318 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_26,
#line 1318 "list.m"
  MR_Word mercury__list__P_1,
#line 1318 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1318 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1318 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1318 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1318 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6)
#line 1318 "list.m"
{
#line 2791 "list.m"
  {
#line 2791 "list.m"
    MR_bool mercury__list__succeeded;

#line 2791 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2791 "list.m"
      {
#line 2791 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2791 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2791 "list.m"
      }
#line 2791 "list.m"
    else
#line 2792 "list.m"
      {
#line 2792 "list.m"
        MR_Box mercury__list__H0_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2792 "list.m"
        MR_Word mercury__list__T0_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2792 "list.m"
        MR_Box mercury__list__H1_14;
#line 2792 "list.m"
        MR_Word mercury__list__T1_15;
#line 2792 "list.m"
        MR_Box mercury__list__H2_16;
#line 2792 "list.m"
        MR_Word mercury__list__T2_17;
#line 2792 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_21_21;
#line 2793 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2793 "list.m"
        {
#line 2793 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_12, &mercury__list__H1_14, &mercury__list__H2_16, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_21_21);
        }
#line 2792 "list.m"
        if (mercury__list__succeeded)
#line 2792 "list.m"
          {
#line 2794 "list.m"
            {
#line 2794 "list.m"
              mercury__list__succeeded = mercury__list__map2_foldl_6_p_4(mercury__list__TypeInfo_for_L_23, mercury__list__TypeInfo_for_M_24, mercury__list__TypeInfo_for_N_25, mercury__list__TypeInfo_for_A_26, mercury__list__P_1, mercury__list__T0_13, &mercury__list__T1_15, &mercury__list__T2_17, mercury__list__STATE_VARIABLE_A_21_21, mercury__list__STATE_VARIABLE_A_6);
            }
#line 2792 "list.m"
            if (mercury__list__succeeded)
#line 2792 "list.m"
              {
#line 2792 "list.m"
                {
#line 2792 "list.m"
                  MR_Word base;
#line 2792 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2792 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_14;
#line 2792 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_15));
#line 2792 "list.m"
                }
#line 2792 "list.m"
                {
#line 2792 "list.m"
                  MR_Word base;
#line 2792 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2792 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_16;
#line 2792 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_17));
#line 2792 "list.m"
                }
#line 2792 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2792 "list.m"
              }
#line 2792 "list.m"
          }
#line 2792 "list.m"
      }
#line 2791 "list.m"
    return mercury__list__succeeded;
#line 2791 "list.m"
  }
#line 1318 "list.m"
}

#line 1316 "list.m"
MR_bool MR_CALL 
mercury__list__map2_foldl_6_p_3(
#line 1316 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_23,
#line 1316 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_24,
#line 1316 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_25,
#line 1316 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_26,
#line 1316 "list.m"
  MR_Word mercury__list__P_1,
#line 1316 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1316 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1316 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1316 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1316 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6)
#line 1316 "list.m"
{
#line 2791 "list.m"
  {
#line 2791 "list.m"
    MR_bool mercury__list__succeeded;

#line 2791 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2791 "list.m"
      {
#line 2791 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2791 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2791 "list.m"
      }
#line 2791 "list.m"
    else
#line 2792 "list.m"
      {
#line 2792 "list.m"
        MR_Box mercury__list__H0_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2792 "list.m"
        MR_Word mercury__list__T0_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2792 "list.m"
        MR_Box mercury__list__H1_14;
#line 2792 "list.m"
        MR_Word mercury__list__T1_15;
#line 2792 "list.m"
        MR_Box mercury__list__H2_16;
#line 2792 "list.m"
        MR_Word mercury__list__T2_17;
#line 2792 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_21_21;
#line 2793 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2793 "list.m"
        {
#line 2793 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_12, &mercury__list__H1_14, &mercury__list__H2_16, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_21_21);
        }
#line 2792 "list.m"
        if (mercury__list__succeeded)
#line 2792 "list.m"
          {
#line 2794 "list.m"
            {
#line 2794 "list.m"
              mercury__list__succeeded = mercury__list__map2_foldl_6_p_3(mercury__list__TypeInfo_for_L_23, mercury__list__TypeInfo_for_M_24, mercury__list__TypeInfo_for_N_25, mercury__list__TypeInfo_for_A_26, mercury__list__P_1, mercury__list__T0_13, &mercury__list__T1_15, &mercury__list__T2_17, mercury__list__STATE_VARIABLE_A_21_21, mercury__list__STATE_VARIABLE_A_6);
            }
#line 2792 "list.m"
            if (mercury__list__succeeded)
#line 2792 "list.m"
              {
#line 2792 "list.m"
                {
#line 2792 "list.m"
                  MR_Word base;
#line 2792 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2792 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_14;
#line 2792 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_15));
#line 2792 "list.m"
                }
#line 2792 "list.m"
                {
#line 2792 "list.m"
                  MR_Word base;
#line 2792 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2792 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_16;
#line 2792 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_17));
#line 2792 "list.m"
                }
#line 2792 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2792 "list.m"
              }
#line 2792 "list.m"
          }
#line 2792 "list.m"
      }
#line 2791 "list.m"
    return mercury__list__succeeded;
#line 2791 "list.m"
  }
#line 1316 "list.m"
}

#line 1314 "list.m"
void MR_CALL 
mercury__list__map2_foldl_6_p_2(
#line 1314 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_23,
#line 1314 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_24,
#line 1314 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_25,
#line 1314 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_26,
#line 1314 "list.m"
  MR_Word mercury__list__P_1,
#line 1314 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1314 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1314 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1314 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1314 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6)
#line 1314 "list.m"
{
#line 2791 "list.m"
  {
#line 2791 "list.m"
    MR_bool mercury__list__succeeded;

#line 2791 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2791 "list.m"
      {
#line 2791 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2791 "list.m"
      }
#line 2791 "list.m"
    else
#line 2792 "list.m"
      {
#line 2792 "list.m"
        MR_Box mercury__list__H0_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2792 "list.m"
        MR_Word mercury__list__T0_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2792 "list.m"
        MR_Box mercury__list__H1_14;
#line 2792 "list.m"
        MR_Word mercury__list__T1_15;
#line 2792 "list.m"
        MR_Box mercury__list__H2_16;
#line 2792 "list.m"
        MR_Word mercury__list__T2_17;
#line 2792 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_21_21;
#line 2793 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2793 "list.m"
        {
#line 2793 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_12, &mercury__list__H1_14, &mercury__list__H2_16, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_21_21);
        }
#line 2794 "list.m"
        {
#line 2794 "list.m"
          mercury__list__map2_foldl_6_p_2(mercury__list__TypeInfo_for_L_23, mercury__list__TypeInfo_for_M_24, mercury__list__TypeInfo_for_N_25, mercury__list__TypeInfo_for_A_26, mercury__list__P_1, mercury__list__T0_13, &mercury__list__T1_15, &mercury__list__T2_17, mercury__list__STATE_VARIABLE_A_21_21, mercury__list__STATE_VARIABLE_A_6);
        }
#line 2792 "list.m"
        {
#line 2792 "list.m"
          MR_Word base;
#line 2792 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_14;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_15));
#line 2792 "list.m"
        }
#line 2792 "list.m"
        {
#line 2792 "list.m"
          MR_Word base;
#line 2792 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_16;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_17));
#line 2792 "list.m"
        }
#line 2792 "list.m"
      }
#line 2791 "list.m"
  }
#line 1314 "list.m"
}

#line 1312 "list.m"
void MR_CALL 
mercury__list__map2_foldl_6_p_1(
#line 1312 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_23,
#line 1312 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_24,
#line 1312 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_25,
#line 1312 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_26,
#line 1312 "list.m"
  MR_Word mercury__list__P_1,
#line 1312 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1312 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1312 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1312 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1312 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6)
#line 1312 "list.m"
{
#line 2791 "list.m"
  {
#line 2791 "list.m"
    MR_bool mercury__list__succeeded;

#line 2791 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2791 "list.m"
      {
#line 2791 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2791 "list.m"
      }
#line 2791 "list.m"
    else
#line 2792 "list.m"
      {
#line 2792 "list.m"
        MR_Box mercury__list__H0_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2792 "list.m"
        MR_Word mercury__list__T0_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2792 "list.m"
        MR_Box mercury__list__H1_14;
#line 2792 "list.m"
        MR_Word mercury__list__T1_15;
#line 2792 "list.m"
        MR_Box mercury__list__H2_16;
#line 2792 "list.m"
        MR_Word mercury__list__T2_17;
#line 2792 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_21_21;
#line 2793 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2793 "list.m"
        {
#line 2793 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_12, &mercury__list__H1_14, &mercury__list__H2_16, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_21_21);
        }
#line 2794 "list.m"
        {
#line 2794 "list.m"
          mercury__list__map2_foldl_6_p_1(mercury__list__TypeInfo_for_L_23, mercury__list__TypeInfo_for_M_24, mercury__list__TypeInfo_for_N_25, mercury__list__TypeInfo_for_A_26, mercury__list__P_1, mercury__list__T0_13, &mercury__list__T1_15, &mercury__list__T2_17, mercury__list__STATE_VARIABLE_A_21_21, mercury__list__STATE_VARIABLE_A_6);
        }
#line 2792 "list.m"
        {
#line 2792 "list.m"
          MR_Word base;
#line 2792 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_14;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_15));
#line 2792 "list.m"
        }
#line 2792 "list.m"
        {
#line 2792 "list.m"
          MR_Word base;
#line 2792 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_16;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_17));
#line 2792 "list.m"
        }
#line 2792 "list.m"
      }
#line 2791 "list.m"
  }
#line 1312 "list.m"
}

#line 1310 "list.m"
void MR_CALL 
mercury__list__map2_foldl_6_p_0(
#line 1310 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_23,
#line 1310 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_24,
#line 1310 "list.m"
  MR_Word mercury__list__TypeInfo_for_N_25,
#line 1310 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_26,
#line 1310 "list.m"
  MR_Word mercury__list__P_1,
#line 1310 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1310 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1310 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 1310 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_5,
#line 1310 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_6)
#line 1310 "list.m"
{
#line 2791 "list.m"
  {
#line 2791 "list.m"
    MR_bool mercury__list__succeeded;

#line 2791 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2791 "list.m"
      {
#line 2791 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2791 "list.m"
        *mercury__list__STATE_VARIABLE_A_6 = mercury__list__STATE_VARIABLE_A_0_5;
#line 2791 "list.m"
      }
#line 2791 "list.m"
    else
#line 2792 "list.m"
      {
#line 2792 "list.m"
        MR_Box mercury__list__H0_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2792 "list.m"
        MR_Word mercury__list__T0_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2792 "list.m"
        MR_Box mercury__list__H1_14;
#line 2792 "list.m"
        MR_Word mercury__list__T1_15;
#line 2792 "list.m"
        MR_Box mercury__list__H2_16;
#line 2792 "list.m"
        MR_Word mercury__list__T2_17;
#line 2792 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_21_21;
#line 2793 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2793 "list.m"
        {
#line 2793 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_12, &mercury__list__H1_14, &mercury__list__H2_16, mercury__list__STATE_VARIABLE_A_0_5, &mercury__list__STATE_VARIABLE_A_21_21);
        }
#line 2794 "list.m"
        {
#line 2794 "list.m"
          mercury__list__map2_foldl_6_p_0(mercury__list__TypeInfo_for_L_23, mercury__list__TypeInfo_for_M_24, mercury__list__TypeInfo_for_N_25, mercury__list__TypeInfo_for_A_26, mercury__list__P_1, mercury__list__T0_13, &mercury__list__T1_15, &mercury__list__T2_17, mercury__list__STATE_VARIABLE_A_21_21, mercury__list__STATE_VARIABLE_A_6);
        }
#line 2792 "list.m"
        {
#line 2792 "list.m"
          MR_Word base;
#line 2792 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_14;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_15));
#line 2792 "list.m"
        }
#line 2792 "list.m"
        {
#line 2792 "list.m"
          MR_Word base;
#line 2792 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2792 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_16;
#line 2792 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_17));
#line 2792 "list.m"
        }
#line 2792 "list.m"
      }
#line 2791 "list.m"
  }
#line 1310 "list.m"
}

#line 2787 "list.m"
static void MR_CALL 
mercury__list__map_foldl6_15_p_5_2(
#line 2787 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2787 "list.m"
{
#line 2787 "list.m"
  {
#line 2787 "list.m"
    struct mercury__list__map_foldl6_15_p_5_env_0_s * mercury__list__env_ptr = (struct mercury__list__map_foldl6_15_p_5_env_0_s *) mercury__list__env_ptr_arg;

#line 2787 "list.m"
    {
#line 2787 "list.m"
      MR_Word base;
#line 2787 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2787 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__HeadVar__3_3) = base;
#line 2787 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__H_38;
#line 2787 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__T_39));
#line 2787 "list.m"
    }
#line 2787 "list.m"
    {
#line 2787 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__cont)((mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__cont_env_ptr);
#line 2787 "list.m"
      return;
    }
#line 2787 "list.m"
  }
#line 2787 "list.m"
}

#line 2787 "list.m"
static void MR_CALL 
mercury__list__map_foldl6_15_p_5_1(
#line 2787 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2787 "list.m"
{
#line 2787 "list.m"
  {
#line 2787 "list.m"
    struct mercury__list__map_foldl6_15_p_5_env_0_s * mercury__list__env_ptr = (struct mercury__list__map_foldl6_15_p_5_env_0_s *) mercury__list__env_ptr_arg;

#line 2789 "list.m"
    {
#line 2789 "list.m"
      mercury__list__map_foldl6_15_p_5((mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_L_70, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_M_71, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_A_72, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_B_73, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_C_74, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_D_75, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_E_76, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_F_77, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__T0_37, &(mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__T_39, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_A_58_58, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_A_5, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_B_59_59, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_B_7, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_C_60_60, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_C_9, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_D_61_61, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_D_11, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_E_62_62, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_E_13, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_F_63_63, (mercury__list__env_ptr)->mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_F_15, mercury__list__map_foldl6_15_p_5_2, mercury__list__env_ptr);
    }
#line 2787 "list.m"
  }
#line 2787 "list.m"
}

#line 1301 "list.m"
void MR_CALL 
mercury__list__map_foldl6_15_p_5(
#line 1301 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_70,
#line 1301 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_71,
#line 1301 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_72,
#line 1301 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_73,
#line 1301 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_74,
#line 1301 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_75,
#line 1301 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_76,
#line 1301 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_77,
#line 1301 "list.m"
  MR_Word mercury__list__P_1,
#line 1301 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1301 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1301 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1301 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1301 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1301 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1301 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1301 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1301 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_10,
#line 1301 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_11,
#line 1301 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_12,
#line 1301 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_13,
#line 1301 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_F_0_14,
#line 1301 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_F_15,
#line 1301 "list.m"
  MR_Cont mercury__list__cont,
#line 1301 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1301 "list.m"
{
#line 1301 "list.m"
  {
#line 1301 "list.m"
    struct mercury__list__map_foldl6_15_p_5_env_0_s mercury__list__env;

#line 1301 "list.m"
    (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_L_70 = mercury__list__TypeInfo_for_L_70;
#line 1301 "list.m"
    (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_M_71 = mercury__list__TypeInfo_for_M_71;
#line 1301 "list.m"
    (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_A_72 = mercury__list__TypeInfo_for_A_72;
#line 1301 "list.m"
    (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_B_73 = mercury__list__TypeInfo_for_B_73;
#line 1301 "list.m"
    (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_C_74 = mercury__list__TypeInfo_for_C_74;
#line 1301 "list.m"
    (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_D_75 = mercury__list__TypeInfo_for_D_75;
#line 1301 "list.m"
    (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_E_76 = mercury__list__TypeInfo_for_E_76;
#line 1301 "list.m"
    (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__TypeInfo_for_F_77 = mercury__list__TypeInfo_for_F_77;
#line 1301 "list.m"
    (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__P_1 = mercury__list__P_1;
#line 1301 "list.m"
    (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 1301 "list.m"
    (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_5;
#line 1301 "list.m"
    (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_7;
#line 1301 "list.m"
    (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_9;
#line 1301 "list.m"
    (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_D_11 = mercury__list__STATE_VARIABLE_D_11;
#line 1301 "list.m"
    (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_E_13 = mercury__list__STATE_VARIABLE_E_13;
#line 1301 "list.m"
    (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_F_15 = mercury__list__STATE_VARIABLE_F_15;
#line 1301 "list.m"
    (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__cont = mercury__list__cont;
#line 1301 "list.m"
    (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2786 "list.m"
    {
#line 2786 "list.m"
      MR_bool mercury__list__succeeded;

#line 2786 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2786 "list.m"
        {
#line 2786 "list.m"
          *((mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2786 "list.m"
          *((mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_F_15) = mercury__list__STATE_VARIABLE_F_0_14;
#line 2786 "list.m"
          *((mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_E_13) = mercury__list__STATE_VARIABLE_E_0_12;
#line 2786 "list.m"
          *((mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_D_11) = mercury__list__STATE_VARIABLE_D_0_10;
#line 2786 "list.m"
          *((mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_C_9) = mercury__list__STATE_VARIABLE_C_0_8;
#line 2786 "list.m"
          *((mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_B_7) = mercury__list__STATE_VARIABLE_B_0_6;
#line 2786 "list.m"
          *((mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_A_5) = mercury__list__STATE_VARIABLE_A_0_4;
#line 2786 "list.m"
          {
#line 2786 "list.m"
            ((mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__cont)((mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__cont_env_ptr);
#line 2786 "list.m"
            return;
          }
#line 2786 "list.m"
        }
#line 2786 "list.m"
      else
#line 2787 "list.m"
        {
#line 2787 "list.m"
          MR_Box mercury__list__H0_36 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2788 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2787 "list.m"
          (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__T0_37 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2788 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__P_1, (MR_Integer) 1)));
#line 2788 "list.m"
          {
#line 2788 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__P_1), mercury__list__H0_36, &(mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__H_38, mercury__list__STATE_VARIABLE_A_0_4, &(mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_A_58_58, mercury__list__STATE_VARIABLE_B_0_6, &(mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_B_59_59, mercury__list__STATE_VARIABLE_C_0_8, &(mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_C_60_60, mercury__list__STATE_VARIABLE_D_0_10, &(mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_D_61_61, mercury__list__STATE_VARIABLE_E_0_12, &(mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_E_62_62, mercury__list__STATE_VARIABLE_F_0_14, &(mercury__list__env).mercury__list__map_foldl6_15_p_5_env_0__STATE_VARIABLE_F_63_63, mercury__list__map_foldl6_15_p_5_1, &mercury__list__env);
          }
#line 2787 "list.m"
        }
#line 2786 "list.m"
    }
#line 1301 "list.m"
  }
#line 1301 "list.m"
}

#line 1297 "list.m"
MR_bool MR_CALL 
mercury__list__map_foldl6_15_p_4(
#line 1297 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_70,
#line 1297 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_71,
#line 1297 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_72,
#line 1297 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_73,
#line 1297 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_74,
#line 1297 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_75,
#line 1297 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_76,
#line 1297 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_77,
#line 1297 "list.m"
  MR_Word mercury__list__P_1,
#line 1297 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1297 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1297 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1297 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1297 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1297 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1297 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1297 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1297 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_10,
#line 1297 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_11,
#line 1297 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_12,
#line 1297 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_13,
#line 1297 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_F_0_14,
#line 1297 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_F_15)
#line 1297 "list.m"
{
#line 2786 "list.m"
  {
#line 2786 "list.m"
    MR_bool mercury__list__succeeded;

#line 2786 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2786 "list.m"
      {
#line 2786 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_F_15 = mercury__list__STATE_VARIABLE_F_0_14;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_E_13 = mercury__list__STATE_VARIABLE_E_0_12;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_D_11 = mercury__list__STATE_VARIABLE_D_0_10;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2786 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2786 "list.m"
      }
#line 2786 "list.m"
    else
#line 2787 "list.m"
      {
#line 2787 "list.m"
        MR_Box mercury__list__H0_36 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2787 "list.m"
        MR_Word mercury__list__T0_37 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2787 "list.m"
        MR_Box mercury__list__H_38;
#line 2787 "list.m"
        MR_Word mercury__list__T_39;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_58_58;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_59_59;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_60_60;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_61_61;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_E_62_62;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_F_63_63;
#line 2788 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2788 "list.m"
        {
#line 2788 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_36, &mercury__list__H_38, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_58_58, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_59_59, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_60_60, mercury__list__STATE_VARIABLE_D_0_10, &mercury__list__STATE_VARIABLE_D_61_61, mercury__list__STATE_VARIABLE_E_0_12, &mercury__list__STATE_VARIABLE_E_62_62, mercury__list__STATE_VARIABLE_F_0_14, &mercury__list__STATE_VARIABLE_F_63_63);
        }
#line 2787 "list.m"
        if (mercury__list__succeeded)
#line 2787 "list.m"
          {
#line 2789 "list.m"
            {
#line 2789 "list.m"
              mercury__list__succeeded = mercury__list__map_foldl6_15_p_4(mercury__list__TypeInfo_for_L_70, mercury__list__TypeInfo_for_M_71, mercury__list__TypeInfo_for_A_72, mercury__list__TypeInfo_for_B_73, mercury__list__TypeInfo_for_C_74, mercury__list__TypeInfo_for_D_75, mercury__list__TypeInfo_for_E_76, mercury__list__TypeInfo_for_F_77, mercury__list__P_1, mercury__list__T0_37, &mercury__list__T_39, mercury__list__STATE_VARIABLE_A_58_58, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_59_59, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_60_60, mercury__list__STATE_VARIABLE_C_9, mercury__list__STATE_VARIABLE_D_61_61, mercury__list__STATE_VARIABLE_D_11, mercury__list__STATE_VARIABLE_E_62_62, mercury__list__STATE_VARIABLE_E_13, mercury__list__STATE_VARIABLE_F_63_63, mercury__list__STATE_VARIABLE_F_15);
            }
#line 2787 "list.m"
            if (mercury__list__succeeded)
#line 2787 "list.m"
              {
#line 2787 "list.m"
                {
#line 2787 "list.m"
                  MR_Word base;
#line 2787 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2787 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2787 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_38;
#line 2787 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_39));
#line 2787 "list.m"
                }
#line 2787 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2787 "list.m"
              }
#line 2787 "list.m"
          }
#line 2787 "list.m"
      }
#line 2786 "list.m"
    return mercury__list__succeeded;
#line 2786 "list.m"
  }
#line 1297 "list.m"
}

#line 1293 "list.m"
void MR_CALL 
mercury__list__map_foldl6_15_p_3(
#line 1293 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_70,
#line 1293 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_71,
#line 1293 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_72,
#line 1293 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_73,
#line 1293 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_74,
#line 1293 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_75,
#line 1293 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_76,
#line 1293 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_77,
#line 1293 "list.m"
  MR_Word mercury__list__P_1,
#line 1293 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1293 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1293 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1293 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1293 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1293 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1293 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1293 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1293 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_10,
#line 1293 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_11,
#line 1293 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_12,
#line 1293 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_13,
#line 1293 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_F_0_14,
#line 1293 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_F_15)
#line 1293 "list.m"
{
#line 2786 "list.m"
  {
#line 2786 "list.m"
    MR_bool mercury__list__succeeded;

#line 2786 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2786 "list.m"
      {
#line 2786 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_F_15 = mercury__list__STATE_VARIABLE_F_0_14;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_E_13 = mercury__list__STATE_VARIABLE_E_0_12;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_D_11 = mercury__list__STATE_VARIABLE_D_0_10;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2786 "list.m"
      }
#line 2786 "list.m"
    else
#line 2787 "list.m"
      {
#line 2787 "list.m"
        MR_Box mercury__list__H0_36 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2787 "list.m"
        MR_Word mercury__list__T0_37 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2787 "list.m"
        MR_Box mercury__list__H_38;
#line 2787 "list.m"
        MR_Word mercury__list__T_39;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_58_58;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_59_59;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_60_60;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_61_61;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_E_62_62;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_F_63_63;
#line 2788 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2788 "list.m"
        {
#line 2788 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_36, &mercury__list__H_38, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_58_58, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_59_59, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_60_60, mercury__list__STATE_VARIABLE_D_0_10, &mercury__list__STATE_VARIABLE_D_61_61, mercury__list__STATE_VARIABLE_E_0_12, &mercury__list__STATE_VARIABLE_E_62_62, mercury__list__STATE_VARIABLE_F_0_14, &mercury__list__STATE_VARIABLE_F_63_63);
        }
#line 2789 "list.m"
        {
#line 2789 "list.m"
          mercury__list__map_foldl6_15_p_3(mercury__list__TypeInfo_for_L_70, mercury__list__TypeInfo_for_M_71, mercury__list__TypeInfo_for_A_72, mercury__list__TypeInfo_for_B_73, mercury__list__TypeInfo_for_C_74, mercury__list__TypeInfo_for_D_75, mercury__list__TypeInfo_for_E_76, mercury__list__TypeInfo_for_F_77, mercury__list__P_1, mercury__list__T0_37, &mercury__list__T_39, mercury__list__STATE_VARIABLE_A_58_58, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_59_59, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_60_60, mercury__list__STATE_VARIABLE_C_9, mercury__list__STATE_VARIABLE_D_61_61, mercury__list__STATE_VARIABLE_D_11, mercury__list__STATE_VARIABLE_E_62_62, mercury__list__STATE_VARIABLE_E_13, mercury__list__STATE_VARIABLE_F_63_63, mercury__list__STATE_VARIABLE_F_15);
        }
#line 2787 "list.m"
        {
#line 2787 "list.m"
          MR_Word base;
#line 2787 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2787 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2787 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_38;
#line 2787 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_39));
#line 2787 "list.m"
        }
#line 2787 "list.m"
      }
#line 2786 "list.m"
  }
#line 1293 "list.m"
}

#line 1289 "list.m"
void MR_CALL 
mercury__list__map_foldl6_15_p_2(
#line 1289 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_70,
#line 1289 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_71,
#line 1289 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_72,
#line 1289 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_73,
#line 1289 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_74,
#line 1289 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_75,
#line 1289 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_76,
#line 1289 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_77,
#line 1289 "list.m"
  MR_Word mercury__list__P_1,
#line 1289 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1289 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1289 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1289 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1289 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1289 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1289 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1289 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1289 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_10,
#line 1289 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_11,
#line 1289 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_12,
#line 1289 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_13,
#line 1289 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_F_0_14,
#line 1289 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_F_15)
#line 1289 "list.m"
{
#line 2786 "list.m"
  {
#line 2786 "list.m"
    MR_bool mercury__list__succeeded;

#line 2786 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2786 "list.m"
      {
#line 2786 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_F_15 = mercury__list__STATE_VARIABLE_F_0_14;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_E_13 = mercury__list__STATE_VARIABLE_E_0_12;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_D_11 = mercury__list__STATE_VARIABLE_D_0_10;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2786 "list.m"
      }
#line 2786 "list.m"
    else
#line 2787 "list.m"
      {
#line 2787 "list.m"
        MR_Box mercury__list__H0_36 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2787 "list.m"
        MR_Word mercury__list__T0_37 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2787 "list.m"
        MR_Box mercury__list__H_38;
#line 2787 "list.m"
        MR_Word mercury__list__T_39;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_58_58;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_59_59;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_60_60;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_61_61;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_E_62_62;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_F_63_63;
#line 2788 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2788 "list.m"
        {
#line 2788 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_36, &mercury__list__H_38, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_58_58, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_59_59, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_60_60, mercury__list__STATE_VARIABLE_D_0_10, &mercury__list__STATE_VARIABLE_D_61_61, mercury__list__STATE_VARIABLE_E_0_12, &mercury__list__STATE_VARIABLE_E_62_62, mercury__list__STATE_VARIABLE_F_0_14, &mercury__list__STATE_VARIABLE_F_63_63);
        }
#line 2789 "list.m"
        {
#line 2789 "list.m"
          mercury__list__map_foldl6_15_p_2(mercury__list__TypeInfo_for_L_70, mercury__list__TypeInfo_for_M_71, mercury__list__TypeInfo_for_A_72, mercury__list__TypeInfo_for_B_73, mercury__list__TypeInfo_for_C_74, mercury__list__TypeInfo_for_D_75, mercury__list__TypeInfo_for_E_76, mercury__list__TypeInfo_for_F_77, mercury__list__P_1, mercury__list__T0_37, &mercury__list__T_39, mercury__list__STATE_VARIABLE_A_58_58, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_59_59, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_60_60, mercury__list__STATE_VARIABLE_C_9, mercury__list__STATE_VARIABLE_D_61_61, mercury__list__STATE_VARIABLE_D_11, mercury__list__STATE_VARIABLE_E_62_62, mercury__list__STATE_VARIABLE_E_13, mercury__list__STATE_VARIABLE_F_63_63, mercury__list__STATE_VARIABLE_F_15);
        }
#line 2787 "list.m"
        {
#line 2787 "list.m"
          MR_Word base;
#line 2787 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2787 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2787 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_38;
#line 2787 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_39));
#line 2787 "list.m"
        }
#line 2787 "list.m"
      }
#line 2786 "list.m"
  }
#line 1289 "list.m"
}

#line 1286 "list.m"
void MR_CALL 
mercury__list__map_foldl6_15_p_1(
#line 1286 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_70,
#line 1286 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_71,
#line 1286 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_72,
#line 1286 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_73,
#line 1286 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_74,
#line 1286 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_75,
#line 1286 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_76,
#line 1286 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_77,
#line 1286 "list.m"
  MR_Word mercury__list__P_1,
#line 1286 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1286 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1286 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1286 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1286 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1286 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1286 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1286 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1286 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_10,
#line 1286 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_11,
#line 1286 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_12,
#line 1286 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_13,
#line 1286 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_F_0_14,
#line 1286 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_F_15)
#line 1286 "list.m"
{
#line 2786 "list.m"
  {
#line 2786 "list.m"
    MR_bool mercury__list__succeeded;

#line 2786 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2786 "list.m"
      {
#line 2786 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_F_15 = mercury__list__STATE_VARIABLE_F_0_14;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_E_13 = mercury__list__STATE_VARIABLE_E_0_12;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_D_11 = mercury__list__STATE_VARIABLE_D_0_10;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2786 "list.m"
      }
#line 2786 "list.m"
    else
#line 2787 "list.m"
      {
#line 2787 "list.m"
        MR_Box mercury__list__H0_36 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2787 "list.m"
        MR_Word mercury__list__T0_37 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2787 "list.m"
        MR_Box mercury__list__H_38;
#line 2787 "list.m"
        MR_Word mercury__list__T_39;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_58_58;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_59_59;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_60_60;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_61_61;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_E_62_62;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_F_63_63;
#line 2788 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2788 "list.m"
        {
#line 2788 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_36, &mercury__list__H_38, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_58_58, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_59_59, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_60_60, mercury__list__STATE_VARIABLE_D_0_10, &mercury__list__STATE_VARIABLE_D_61_61, mercury__list__STATE_VARIABLE_E_0_12, &mercury__list__STATE_VARIABLE_E_62_62, mercury__list__STATE_VARIABLE_F_0_14, &mercury__list__STATE_VARIABLE_F_63_63);
        }
#line 2789 "list.m"
        {
#line 2789 "list.m"
          mercury__list__map_foldl6_15_p_1(mercury__list__TypeInfo_for_L_70, mercury__list__TypeInfo_for_M_71, mercury__list__TypeInfo_for_A_72, mercury__list__TypeInfo_for_B_73, mercury__list__TypeInfo_for_C_74, mercury__list__TypeInfo_for_D_75, mercury__list__TypeInfo_for_E_76, mercury__list__TypeInfo_for_F_77, mercury__list__P_1, mercury__list__T0_37, &mercury__list__T_39, mercury__list__STATE_VARIABLE_A_58_58, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_59_59, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_60_60, mercury__list__STATE_VARIABLE_C_9, mercury__list__STATE_VARIABLE_D_61_61, mercury__list__STATE_VARIABLE_D_11, mercury__list__STATE_VARIABLE_E_62_62, mercury__list__STATE_VARIABLE_E_13, mercury__list__STATE_VARIABLE_F_63_63, mercury__list__STATE_VARIABLE_F_15);
        }
#line 2787 "list.m"
        {
#line 2787 "list.m"
          MR_Word base;
#line 2787 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2787 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2787 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_38;
#line 2787 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_39));
#line 2787 "list.m"
        }
#line 2787 "list.m"
      }
#line 2786 "list.m"
  }
#line 1286 "list.m"
}

#line 1283 "list.m"
void MR_CALL 
mercury__list__map_foldl6_15_p_0(
#line 1283 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_70,
#line 1283 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_71,
#line 1283 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_72,
#line 1283 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_73,
#line 1283 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_74,
#line 1283 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_75,
#line 1283 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_76,
#line 1283 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_77,
#line 1283 "list.m"
  MR_Word mercury__list__P_1,
#line 1283 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1283 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1283 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1283 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1283 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1283 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1283 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1283 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1283 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_10,
#line 1283 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_11,
#line 1283 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_12,
#line 1283 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_13,
#line 1283 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_F_0_14,
#line 1283 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_F_15)
#line 1283 "list.m"
{
#line 2786 "list.m"
  {
#line 2786 "list.m"
    MR_bool mercury__list__succeeded;

#line 2786 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2786 "list.m"
      {
#line 2786 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_F_15 = mercury__list__STATE_VARIABLE_F_0_14;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_E_13 = mercury__list__STATE_VARIABLE_E_0_12;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_D_11 = mercury__list__STATE_VARIABLE_D_0_10;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2786 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2786 "list.m"
      }
#line 2786 "list.m"
    else
#line 2787 "list.m"
      {
#line 2787 "list.m"
        MR_Box mercury__list__H0_36 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2787 "list.m"
        MR_Word mercury__list__T0_37 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2787 "list.m"
        MR_Box mercury__list__H_38;
#line 2787 "list.m"
        MR_Word mercury__list__T_39;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_58_58;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_59_59;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_60_60;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_61_61;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_E_62_62;
#line 2787 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_F_63_63;
#line 2788 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2788 "list.m"
        {
#line 2788 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_36, &mercury__list__H_38, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_58_58, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_59_59, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_60_60, mercury__list__STATE_VARIABLE_D_0_10, &mercury__list__STATE_VARIABLE_D_61_61, mercury__list__STATE_VARIABLE_E_0_12, &mercury__list__STATE_VARIABLE_E_62_62, mercury__list__STATE_VARIABLE_F_0_14, &mercury__list__STATE_VARIABLE_F_63_63);
        }
#line 2789 "list.m"
        {
#line 2789 "list.m"
          mercury__list__map_foldl6_15_p_0(mercury__list__TypeInfo_for_L_70, mercury__list__TypeInfo_for_M_71, mercury__list__TypeInfo_for_A_72, mercury__list__TypeInfo_for_B_73, mercury__list__TypeInfo_for_C_74, mercury__list__TypeInfo_for_D_75, mercury__list__TypeInfo_for_E_76, mercury__list__TypeInfo_for_F_77, mercury__list__P_1, mercury__list__T0_37, &mercury__list__T_39, mercury__list__STATE_VARIABLE_A_58_58, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_59_59, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_60_60, mercury__list__STATE_VARIABLE_C_9, mercury__list__STATE_VARIABLE_D_61_61, mercury__list__STATE_VARIABLE_D_11, mercury__list__STATE_VARIABLE_E_62_62, mercury__list__STATE_VARIABLE_E_13, mercury__list__STATE_VARIABLE_F_63_63, mercury__list__STATE_VARIABLE_F_15);
        }
#line 2787 "list.m"
        {
#line 2787 "list.m"
          MR_Word base;
#line 2787 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2787 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2787 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_38;
#line 2787 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_39));
#line 2787 "list.m"
        }
#line 2787 "list.m"
      }
#line 2786 "list.m"
  }
#line 1283 "list.m"
}

#line 2782 "list.m"
static void MR_CALL 
mercury__list__map_foldl5_13_p_5_2(
#line 2782 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2782 "list.m"
{
#line 2782 "list.m"
  {
#line 2782 "list.m"
    struct mercury__list__map_foldl5_13_p_5_env_0_s * mercury__list__env_ptr = (struct mercury__list__map_foldl5_13_p_5_env_0_s *) mercury__list__env_ptr_arg;

#line 2782 "list.m"
    {
#line 2782 "list.m"
      MR_Word base;
#line 2782 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2782 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__HeadVar__3_3) = base;
#line 2782 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__H_33;
#line 2782 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__T_34));
#line 2782 "list.m"
    }
#line 2782 "list.m"
    {
#line 2782 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__cont)((mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__cont_env_ptr);
#line 2782 "list.m"
      return;
    }
#line 2782 "list.m"
  }
#line 2782 "list.m"
}

#line 2782 "list.m"
static void MR_CALL 
mercury__list__map_foldl5_13_p_5_1(
#line 2782 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2782 "list.m"
{
#line 2782 "list.m"
  {
#line 2782 "list.m"
    struct mercury__list__map_foldl5_13_p_5_env_0_s * mercury__list__env_ptr = (struct mercury__list__map_foldl5_13_p_5_env_0_s *) mercury__list__env_ptr_arg;

#line 2784 "list.m"
    {
#line 2784 "list.m"
      mercury__list__map_foldl5_13_p_5((mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_L_60, (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_M_61, (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_A_62, (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_B_63, (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_C_64, (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_D_65, (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_E_66, (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__T0_32, &(mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__T_34, (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_A_50_50, (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_A_5, (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_B_51_51, (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_B_7, (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_C_52_52, (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_C_9, (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_D_53_53, (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_D_11, (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_E_54_54, (mercury__list__env_ptr)->mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_E_13, mercury__list__map_foldl5_13_p_5_2, mercury__list__env_ptr);
    }
#line 2782 "list.m"
  }
#line 2782 "list.m"
}

#line 1275 "list.m"
void MR_CALL 
mercury__list__map_foldl5_13_p_5(
#line 1275 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_60,
#line 1275 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_61,
#line 1275 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_62,
#line 1275 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_63,
#line 1275 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_64,
#line 1275 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_65,
#line 1275 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_66,
#line 1275 "list.m"
  MR_Word mercury__list__P_1,
#line 1275 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1275 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1275 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1275 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1275 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1275 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1275 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1275 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1275 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_10,
#line 1275 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_11,
#line 1275 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_12,
#line 1275 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_13,
#line 1275 "list.m"
  MR_Cont mercury__list__cont,
#line 1275 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1275 "list.m"
{
#line 1275 "list.m"
  {
#line 1275 "list.m"
    struct mercury__list__map_foldl5_13_p_5_env_0_s mercury__list__env;

#line 1275 "list.m"
    (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_L_60 = mercury__list__TypeInfo_for_L_60;
#line 1275 "list.m"
    (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_M_61 = mercury__list__TypeInfo_for_M_61;
#line 1275 "list.m"
    (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_A_62 = mercury__list__TypeInfo_for_A_62;
#line 1275 "list.m"
    (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_B_63 = mercury__list__TypeInfo_for_B_63;
#line 1275 "list.m"
    (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_C_64 = mercury__list__TypeInfo_for_C_64;
#line 1275 "list.m"
    (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_D_65 = mercury__list__TypeInfo_for_D_65;
#line 1275 "list.m"
    (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__TypeInfo_for_E_66 = mercury__list__TypeInfo_for_E_66;
#line 1275 "list.m"
    (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__P_1 = mercury__list__P_1;
#line 1275 "list.m"
    (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 1275 "list.m"
    (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_5;
#line 1275 "list.m"
    (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_7;
#line 1275 "list.m"
    (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_9;
#line 1275 "list.m"
    (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_D_11 = mercury__list__STATE_VARIABLE_D_11;
#line 1275 "list.m"
    (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_E_13 = mercury__list__STATE_VARIABLE_E_13;
#line 1275 "list.m"
    (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__cont = mercury__list__cont;
#line 1275 "list.m"
    (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2781 "list.m"
    {
#line 2781 "list.m"
      MR_bool mercury__list__succeeded;

#line 2781 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2781 "list.m"
        {
#line 2781 "list.m"
          *((mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2781 "list.m"
          *((mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_E_13) = mercury__list__STATE_VARIABLE_E_0_12;
#line 2781 "list.m"
          *((mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_D_11) = mercury__list__STATE_VARIABLE_D_0_10;
#line 2781 "list.m"
          *((mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_C_9) = mercury__list__STATE_VARIABLE_C_0_8;
#line 2781 "list.m"
          *((mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_B_7) = mercury__list__STATE_VARIABLE_B_0_6;
#line 2781 "list.m"
          *((mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_A_5) = mercury__list__STATE_VARIABLE_A_0_4;
#line 2781 "list.m"
          {
#line 2781 "list.m"
            ((mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__cont)((mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__cont_env_ptr);
#line 2781 "list.m"
            return;
          }
#line 2781 "list.m"
        }
#line 2781 "list.m"
      else
#line 2782 "list.m"
        {
#line 2782 "list.m"
          MR_Box mercury__list__H0_31 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2783 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2782 "list.m"
          (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__T0_32 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2783 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__P_1, (MR_Integer) 1)));
#line 2783 "list.m"
          {
#line 2783 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__P_1), mercury__list__H0_31, &(mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__H_33, mercury__list__STATE_VARIABLE_A_0_4, &(mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_A_50_50, mercury__list__STATE_VARIABLE_B_0_6, &(mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_B_51_51, mercury__list__STATE_VARIABLE_C_0_8, &(mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_C_52_52, mercury__list__STATE_VARIABLE_D_0_10, &(mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_D_53_53, mercury__list__STATE_VARIABLE_E_0_12, &(mercury__list__env).mercury__list__map_foldl5_13_p_5_env_0__STATE_VARIABLE_E_54_54, mercury__list__map_foldl5_13_p_5_1, &mercury__list__env);
          }
#line 2782 "list.m"
        }
#line 2781 "list.m"
    }
#line 1275 "list.m"
  }
#line 1275 "list.m"
}

#line 1272 "list.m"
MR_bool MR_CALL 
mercury__list__map_foldl5_13_p_4(
#line 1272 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_60,
#line 1272 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_61,
#line 1272 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_62,
#line 1272 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_63,
#line 1272 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_64,
#line 1272 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_65,
#line 1272 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_66,
#line 1272 "list.m"
  MR_Word mercury__list__P_1,
#line 1272 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1272 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1272 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1272 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1272 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1272 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1272 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1272 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1272 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_10,
#line 1272 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_11,
#line 1272 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_12,
#line 1272 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_13)
#line 1272 "list.m"
{
#line 2781 "list.m"
  {
#line 2781 "list.m"
    MR_bool mercury__list__succeeded;

#line 2781 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2781 "list.m"
      {
#line 2781 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_E_13 = mercury__list__STATE_VARIABLE_E_0_12;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_D_11 = mercury__list__STATE_VARIABLE_D_0_10;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2781 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2781 "list.m"
      }
#line 2781 "list.m"
    else
#line 2782 "list.m"
      {
#line 2782 "list.m"
        MR_Box mercury__list__H0_31 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2782 "list.m"
        MR_Word mercury__list__T0_32 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2782 "list.m"
        MR_Box mercury__list__H_33;
#line 2782 "list.m"
        MR_Word mercury__list__T_34;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_50_50;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_51_51;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_52_52;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_53_53;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_E_54_54;
#line 2783 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2783 "list.m"
        {
#line 2783 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_31, &mercury__list__H_33, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_50_50, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_51_51, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_52_52, mercury__list__STATE_VARIABLE_D_0_10, &mercury__list__STATE_VARIABLE_D_53_53, mercury__list__STATE_VARIABLE_E_0_12, &mercury__list__STATE_VARIABLE_E_54_54);
        }
#line 2782 "list.m"
        if (mercury__list__succeeded)
#line 2782 "list.m"
          {
#line 2784 "list.m"
            {
#line 2784 "list.m"
              mercury__list__succeeded = mercury__list__map_foldl5_13_p_4(mercury__list__TypeInfo_for_L_60, mercury__list__TypeInfo_for_M_61, mercury__list__TypeInfo_for_A_62, mercury__list__TypeInfo_for_B_63, mercury__list__TypeInfo_for_C_64, mercury__list__TypeInfo_for_D_65, mercury__list__TypeInfo_for_E_66, mercury__list__P_1, mercury__list__T0_32, &mercury__list__T_34, mercury__list__STATE_VARIABLE_A_50_50, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_51_51, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_52_52, mercury__list__STATE_VARIABLE_C_9, mercury__list__STATE_VARIABLE_D_53_53, mercury__list__STATE_VARIABLE_D_11, mercury__list__STATE_VARIABLE_E_54_54, mercury__list__STATE_VARIABLE_E_13);
            }
#line 2782 "list.m"
            if (mercury__list__succeeded)
#line 2782 "list.m"
              {
#line 2782 "list.m"
                {
#line 2782 "list.m"
                  MR_Word base;
#line 2782 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2782 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2782 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_33;
#line 2782 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_34));
#line 2782 "list.m"
                }
#line 2782 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2782 "list.m"
              }
#line 2782 "list.m"
          }
#line 2782 "list.m"
      }
#line 2781 "list.m"
    return mercury__list__succeeded;
#line 2781 "list.m"
  }
#line 1272 "list.m"
}

#line 1269 "list.m"
void MR_CALL 
mercury__list__map_foldl5_13_p_3(
#line 1269 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_60,
#line 1269 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_61,
#line 1269 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_62,
#line 1269 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_63,
#line 1269 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_64,
#line 1269 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_65,
#line 1269 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_66,
#line 1269 "list.m"
  MR_Word mercury__list__P_1,
#line 1269 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1269 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1269 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1269 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1269 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1269 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1269 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1269 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1269 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_10,
#line 1269 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_11,
#line 1269 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_12,
#line 1269 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_13)
#line 1269 "list.m"
{
#line 2781 "list.m"
  {
#line 2781 "list.m"
    MR_bool mercury__list__succeeded;

#line 2781 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2781 "list.m"
      {
#line 2781 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_E_13 = mercury__list__STATE_VARIABLE_E_0_12;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_D_11 = mercury__list__STATE_VARIABLE_D_0_10;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2781 "list.m"
      }
#line 2781 "list.m"
    else
#line 2782 "list.m"
      {
#line 2782 "list.m"
        MR_Box mercury__list__H0_31 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2782 "list.m"
        MR_Word mercury__list__T0_32 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2782 "list.m"
        MR_Box mercury__list__H_33;
#line 2782 "list.m"
        MR_Word mercury__list__T_34;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_50_50;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_51_51;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_52_52;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_53_53;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_E_54_54;
#line 2783 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2783 "list.m"
        {
#line 2783 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_31, &mercury__list__H_33, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_50_50, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_51_51, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_52_52, mercury__list__STATE_VARIABLE_D_0_10, &mercury__list__STATE_VARIABLE_D_53_53, mercury__list__STATE_VARIABLE_E_0_12, &mercury__list__STATE_VARIABLE_E_54_54);
        }
#line 2784 "list.m"
        {
#line 2784 "list.m"
          mercury__list__map_foldl5_13_p_3(mercury__list__TypeInfo_for_L_60, mercury__list__TypeInfo_for_M_61, mercury__list__TypeInfo_for_A_62, mercury__list__TypeInfo_for_B_63, mercury__list__TypeInfo_for_C_64, mercury__list__TypeInfo_for_D_65, mercury__list__TypeInfo_for_E_66, mercury__list__P_1, mercury__list__T0_32, &mercury__list__T_34, mercury__list__STATE_VARIABLE_A_50_50, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_51_51, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_52_52, mercury__list__STATE_VARIABLE_C_9, mercury__list__STATE_VARIABLE_D_53_53, mercury__list__STATE_VARIABLE_D_11, mercury__list__STATE_VARIABLE_E_54_54, mercury__list__STATE_VARIABLE_E_13);
        }
#line 2782 "list.m"
        {
#line 2782 "list.m"
          MR_Word base;
#line 2782 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2782 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2782 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_33;
#line 2782 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_34));
#line 2782 "list.m"
        }
#line 2782 "list.m"
      }
#line 2781 "list.m"
  }
#line 1269 "list.m"
}

#line 1266 "list.m"
void MR_CALL 
mercury__list__map_foldl5_13_p_2(
#line 1266 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_60,
#line 1266 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_61,
#line 1266 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_62,
#line 1266 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_63,
#line 1266 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_64,
#line 1266 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_65,
#line 1266 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_66,
#line 1266 "list.m"
  MR_Word mercury__list__P_1,
#line 1266 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1266 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1266 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1266 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1266 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1266 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1266 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1266 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1266 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_10,
#line 1266 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_11,
#line 1266 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_12,
#line 1266 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_13)
#line 1266 "list.m"
{
#line 2781 "list.m"
  {
#line 2781 "list.m"
    MR_bool mercury__list__succeeded;

#line 2781 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2781 "list.m"
      {
#line 2781 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_E_13 = mercury__list__STATE_VARIABLE_E_0_12;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_D_11 = mercury__list__STATE_VARIABLE_D_0_10;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2781 "list.m"
      }
#line 2781 "list.m"
    else
#line 2782 "list.m"
      {
#line 2782 "list.m"
        MR_Box mercury__list__H0_31 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2782 "list.m"
        MR_Word mercury__list__T0_32 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2782 "list.m"
        MR_Box mercury__list__H_33;
#line 2782 "list.m"
        MR_Word mercury__list__T_34;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_50_50;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_51_51;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_52_52;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_53_53;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_E_54_54;
#line 2783 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2783 "list.m"
        {
#line 2783 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_31, &mercury__list__H_33, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_50_50, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_51_51, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_52_52, mercury__list__STATE_VARIABLE_D_0_10, &mercury__list__STATE_VARIABLE_D_53_53, mercury__list__STATE_VARIABLE_E_0_12, &mercury__list__STATE_VARIABLE_E_54_54);
        }
#line 2784 "list.m"
        {
#line 2784 "list.m"
          mercury__list__map_foldl5_13_p_2(mercury__list__TypeInfo_for_L_60, mercury__list__TypeInfo_for_M_61, mercury__list__TypeInfo_for_A_62, mercury__list__TypeInfo_for_B_63, mercury__list__TypeInfo_for_C_64, mercury__list__TypeInfo_for_D_65, mercury__list__TypeInfo_for_E_66, mercury__list__P_1, mercury__list__T0_32, &mercury__list__T_34, mercury__list__STATE_VARIABLE_A_50_50, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_51_51, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_52_52, mercury__list__STATE_VARIABLE_C_9, mercury__list__STATE_VARIABLE_D_53_53, mercury__list__STATE_VARIABLE_D_11, mercury__list__STATE_VARIABLE_E_54_54, mercury__list__STATE_VARIABLE_E_13);
        }
#line 2782 "list.m"
        {
#line 2782 "list.m"
          MR_Word base;
#line 2782 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2782 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2782 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_33;
#line 2782 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_34));
#line 2782 "list.m"
        }
#line 2782 "list.m"
      }
#line 2781 "list.m"
  }
#line 1266 "list.m"
}

#line 1263 "list.m"
void MR_CALL 
mercury__list__map_foldl5_13_p_1(
#line 1263 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_60,
#line 1263 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_61,
#line 1263 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_62,
#line 1263 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_63,
#line 1263 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_64,
#line 1263 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_65,
#line 1263 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_66,
#line 1263 "list.m"
  MR_Word mercury__list__P_1,
#line 1263 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1263 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1263 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1263 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1263 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1263 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1263 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1263 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1263 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_10,
#line 1263 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_11,
#line 1263 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_12,
#line 1263 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_13)
#line 1263 "list.m"
{
#line 2781 "list.m"
  {
#line 2781 "list.m"
    MR_bool mercury__list__succeeded;

#line 2781 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2781 "list.m"
      {
#line 2781 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_E_13 = mercury__list__STATE_VARIABLE_E_0_12;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_D_11 = mercury__list__STATE_VARIABLE_D_0_10;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2781 "list.m"
      }
#line 2781 "list.m"
    else
#line 2782 "list.m"
      {
#line 2782 "list.m"
        MR_Box mercury__list__H0_31 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2782 "list.m"
        MR_Word mercury__list__T0_32 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2782 "list.m"
        MR_Box mercury__list__H_33;
#line 2782 "list.m"
        MR_Word mercury__list__T_34;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_50_50;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_51_51;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_52_52;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_53_53;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_E_54_54;
#line 2783 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2783 "list.m"
        {
#line 2783 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_31, &mercury__list__H_33, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_50_50, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_51_51, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_52_52, mercury__list__STATE_VARIABLE_D_0_10, &mercury__list__STATE_VARIABLE_D_53_53, mercury__list__STATE_VARIABLE_E_0_12, &mercury__list__STATE_VARIABLE_E_54_54);
        }
#line 2784 "list.m"
        {
#line 2784 "list.m"
          mercury__list__map_foldl5_13_p_1(mercury__list__TypeInfo_for_L_60, mercury__list__TypeInfo_for_M_61, mercury__list__TypeInfo_for_A_62, mercury__list__TypeInfo_for_B_63, mercury__list__TypeInfo_for_C_64, mercury__list__TypeInfo_for_D_65, mercury__list__TypeInfo_for_E_66, mercury__list__P_1, mercury__list__T0_32, &mercury__list__T_34, mercury__list__STATE_VARIABLE_A_50_50, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_51_51, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_52_52, mercury__list__STATE_VARIABLE_C_9, mercury__list__STATE_VARIABLE_D_53_53, mercury__list__STATE_VARIABLE_D_11, mercury__list__STATE_VARIABLE_E_54_54, mercury__list__STATE_VARIABLE_E_13);
        }
#line 2782 "list.m"
        {
#line 2782 "list.m"
          MR_Word base;
#line 2782 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2782 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2782 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_33;
#line 2782 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_34));
#line 2782 "list.m"
        }
#line 2782 "list.m"
      }
#line 2781 "list.m"
  }
#line 1263 "list.m"
}

#line 1260 "list.m"
void MR_CALL 
mercury__list__map_foldl5_13_p_0(
#line 1260 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_60,
#line 1260 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_61,
#line 1260 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_62,
#line 1260 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_63,
#line 1260 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_64,
#line 1260 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_65,
#line 1260 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_66,
#line 1260 "list.m"
  MR_Word mercury__list__P_1,
#line 1260 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1260 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1260 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1260 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1260 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1260 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1260 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1260 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1260 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_10,
#line 1260 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_11,
#line 1260 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_12,
#line 1260 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_13)
#line 1260 "list.m"
{
#line 2781 "list.m"
  {
#line 2781 "list.m"
    MR_bool mercury__list__succeeded;

#line 2781 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2781 "list.m"
      {
#line 2781 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_E_13 = mercury__list__STATE_VARIABLE_E_0_12;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_D_11 = mercury__list__STATE_VARIABLE_D_0_10;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2781 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2781 "list.m"
      }
#line 2781 "list.m"
    else
#line 2782 "list.m"
      {
#line 2782 "list.m"
        MR_Box mercury__list__H0_31 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2782 "list.m"
        MR_Word mercury__list__T0_32 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2782 "list.m"
        MR_Box mercury__list__H_33;
#line 2782 "list.m"
        MR_Word mercury__list__T_34;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_50_50;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_51_51;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_52_52;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_53_53;
#line 2782 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_E_54_54;
#line 2783 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2783 "list.m"
        {
#line 2783 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_31, &mercury__list__H_33, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_50_50, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_51_51, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_52_52, mercury__list__STATE_VARIABLE_D_0_10, &mercury__list__STATE_VARIABLE_D_53_53, mercury__list__STATE_VARIABLE_E_0_12, &mercury__list__STATE_VARIABLE_E_54_54);
        }
#line 2784 "list.m"
        {
#line 2784 "list.m"
          mercury__list__map_foldl5_13_p_0(mercury__list__TypeInfo_for_L_60, mercury__list__TypeInfo_for_M_61, mercury__list__TypeInfo_for_A_62, mercury__list__TypeInfo_for_B_63, mercury__list__TypeInfo_for_C_64, mercury__list__TypeInfo_for_D_65, mercury__list__TypeInfo_for_E_66, mercury__list__P_1, mercury__list__T0_32, &mercury__list__T_34, mercury__list__STATE_VARIABLE_A_50_50, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_51_51, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_52_52, mercury__list__STATE_VARIABLE_C_9, mercury__list__STATE_VARIABLE_D_53_53, mercury__list__STATE_VARIABLE_D_11, mercury__list__STATE_VARIABLE_E_54_54, mercury__list__STATE_VARIABLE_E_13);
        }
#line 2782 "list.m"
        {
#line 2782 "list.m"
          MR_Word base;
#line 2782 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2782 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2782 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_33;
#line 2782 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_34));
#line 2782 "list.m"
        }
#line 2782 "list.m"
      }
#line 2781 "list.m"
  }
#line 1260 "list.m"
}

#line 2777 "list.m"
static void MR_CALL 
mercury__list__map_foldl4_11_p_5_2(
#line 2777 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2777 "list.m"
{
#line 2777 "list.m"
  {
#line 2777 "list.m"
    struct mercury__list__map_foldl4_11_p_5_env_0_s * mercury__list__env_ptr = (struct mercury__list__map_foldl4_11_p_5_env_0_s *) mercury__list__env_ptr_arg;

#line 2777 "list.m"
    {
#line 2777 "list.m"
      MR_Word base;
#line 2777 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2777 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__HeadVar__3_3) = base;
#line 2777 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__H_28;
#line 2777 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__T_29));
#line 2777 "list.m"
    }
#line 2777 "list.m"
    {
#line 2777 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__cont)((mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__cont_env_ptr);
#line 2777 "list.m"
      return;
    }
#line 2777 "list.m"
  }
#line 2777 "list.m"
}

#line 2777 "list.m"
static void MR_CALL 
mercury__list__map_foldl4_11_p_5_1(
#line 2777 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2777 "list.m"
{
#line 2777 "list.m"
  {
#line 2777 "list.m"
    struct mercury__list__map_foldl4_11_p_5_env_0_s * mercury__list__env_ptr = (struct mercury__list__map_foldl4_11_p_5_env_0_s *) mercury__list__env_ptr_arg;

#line 2779 "list.m"
    {
#line 2779 "list.m"
      mercury__list__map_foldl4_11_p_5((mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__TypeInfo_for_L_50, (mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__TypeInfo_for_M_51, (mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__TypeInfo_for_A_52, (mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__TypeInfo_for_B_53, (mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__TypeInfo_for_C_54, (mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__TypeInfo_for_D_55, (mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__T0_27, &(mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__T_29, (mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_A_42_42, (mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_A_5, (mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_B_43_43, (mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_B_7, (mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_C_44_44, (mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_C_9, (mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_D_45_45, (mercury__list__env_ptr)->mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_D_11, mercury__list__map_foldl4_11_p_5_2, mercury__list__env_ptr);
    }
#line 2777 "list.m"
  }
#line 2777 "list.m"
}

#line 1252 "list.m"
void MR_CALL 
mercury__list__map_foldl4_11_p_5(
#line 1252 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_50,
#line 1252 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_51,
#line 1252 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_52,
#line 1252 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_53,
#line 1252 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_54,
#line 1252 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_55,
#line 1252 "list.m"
  MR_Word mercury__list__P_1,
#line 1252 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1252 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1252 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1252 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1252 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1252 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1252 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1252 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1252 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_10,
#line 1252 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_11,
#line 1252 "list.m"
  MR_Cont mercury__list__cont,
#line 1252 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1252 "list.m"
{
#line 1252 "list.m"
  {
#line 1252 "list.m"
    struct mercury__list__map_foldl4_11_p_5_env_0_s mercury__list__env;

#line 1252 "list.m"
    (mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__TypeInfo_for_L_50 = mercury__list__TypeInfo_for_L_50;
#line 1252 "list.m"
    (mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__TypeInfo_for_M_51 = mercury__list__TypeInfo_for_M_51;
#line 1252 "list.m"
    (mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__TypeInfo_for_A_52 = mercury__list__TypeInfo_for_A_52;
#line 1252 "list.m"
    (mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__TypeInfo_for_B_53 = mercury__list__TypeInfo_for_B_53;
#line 1252 "list.m"
    (mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__TypeInfo_for_C_54 = mercury__list__TypeInfo_for_C_54;
#line 1252 "list.m"
    (mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__TypeInfo_for_D_55 = mercury__list__TypeInfo_for_D_55;
#line 1252 "list.m"
    (mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__P_1 = mercury__list__P_1;
#line 1252 "list.m"
    (mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 1252 "list.m"
    (mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_5;
#line 1252 "list.m"
    (mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_7;
#line 1252 "list.m"
    (mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_9;
#line 1252 "list.m"
    (mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_D_11 = mercury__list__STATE_VARIABLE_D_11;
#line 1252 "list.m"
    (mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__cont = mercury__list__cont;
#line 1252 "list.m"
    (mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2776 "list.m"
    {
#line 2776 "list.m"
      MR_bool mercury__list__succeeded;

#line 2776 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2776 "list.m"
        {
#line 2776 "list.m"
          *((mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2776 "list.m"
          *((mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_D_11) = mercury__list__STATE_VARIABLE_D_0_10;
#line 2776 "list.m"
          *((mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_C_9) = mercury__list__STATE_VARIABLE_C_0_8;
#line 2776 "list.m"
          *((mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_B_7) = mercury__list__STATE_VARIABLE_B_0_6;
#line 2776 "list.m"
          *((mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_A_5) = mercury__list__STATE_VARIABLE_A_0_4;
#line 2776 "list.m"
          {
#line 2776 "list.m"
            ((mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__cont)((mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__cont_env_ptr);
#line 2776 "list.m"
            return;
          }
#line 2776 "list.m"
        }
#line 2776 "list.m"
      else
#line 2777 "list.m"
        {
#line 2777 "list.m"
          MR_Box mercury__list__H0_26 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2778 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2777 "list.m"
          (mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__T0_27 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2778 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__P_1, (MR_Integer) 1)));
#line 2778 "list.m"
          {
#line 2778 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__P_1), mercury__list__H0_26, &(mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__H_28, mercury__list__STATE_VARIABLE_A_0_4, &(mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_A_42_42, mercury__list__STATE_VARIABLE_B_0_6, &(mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_B_43_43, mercury__list__STATE_VARIABLE_C_0_8, &(mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_C_44_44, mercury__list__STATE_VARIABLE_D_0_10, &(mercury__list__env).mercury__list__map_foldl4_11_p_5_env_0__STATE_VARIABLE_D_45_45, mercury__list__map_foldl4_11_p_5_1, &mercury__list__env);
          }
#line 2777 "list.m"
        }
#line 2776 "list.m"
    }
#line 1252 "list.m"
  }
#line 1252 "list.m"
}

#line 1249 "list.m"
MR_bool MR_CALL 
mercury__list__map_foldl4_11_p_4(
#line 1249 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_50,
#line 1249 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_51,
#line 1249 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_52,
#line 1249 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_53,
#line 1249 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_54,
#line 1249 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_55,
#line 1249 "list.m"
  MR_Word mercury__list__P_1,
#line 1249 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1249 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1249 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1249 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1249 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1249 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1249 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1249 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1249 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_10,
#line 1249 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_11)
#line 1249 "list.m"
{
#line 2776 "list.m"
  {
#line 2776 "list.m"
    MR_bool mercury__list__succeeded;

#line 2776 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2776 "list.m"
      {
#line 2776 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_D_11 = mercury__list__STATE_VARIABLE_D_0_10;
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2776 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2776 "list.m"
      }
#line 2776 "list.m"
    else
#line 2777 "list.m"
      {
#line 2777 "list.m"
        MR_Box mercury__list__H0_26 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2777 "list.m"
        MR_Word mercury__list__T0_27 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2777 "list.m"
        MR_Box mercury__list__H_28;
#line 2777 "list.m"
        MR_Word mercury__list__T_29;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_42_42;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_43_43;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_44_44;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_45_45;
#line 2778 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2778 "list.m"
        {
#line 2778 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_26, &mercury__list__H_28, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_42_42, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_43_43, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_44_44, mercury__list__STATE_VARIABLE_D_0_10, &mercury__list__STATE_VARIABLE_D_45_45);
        }
#line 2777 "list.m"
        if (mercury__list__succeeded)
#line 2777 "list.m"
          {
#line 2779 "list.m"
            {
#line 2779 "list.m"
              mercury__list__succeeded = mercury__list__map_foldl4_11_p_4(mercury__list__TypeInfo_for_L_50, mercury__list__TypeInfo_for_M_51, mercury__list__TypeInfo_for_A_52, mercury__list__TypeInfo_for_B_53, mercury__list__TypeInfo_for_C_54, mercury__list__TypeInfo_for_D_55, mercury__list__P_1, mercury__list__T0_27, &mercury__list__T_29, mercury__list__STATE_VARIABLE_A_42_42, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_43_43, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_44_44, mercury__list__STATE_VARIABLE_C_9, mercury__list__STATE_VARIABLE_D_45_45, mercury__list__STATE_VARIABLE_D_11);
            }
#line 2777 "list.m"
            if (mercury__list__succeeded)
#line 2777 "list.m"
              {
#line 2777 "list.m"
                {
#line 2777 "list.m"
                  MR_Word base;
#line 2777 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2777 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2777 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_28;
#line 2777 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_29));
#line 2777 "list.m"
                }
#line 2777 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2777 "list.m"
              }
#line 2777 "list.m"
          }
#line 2777 "list.m"
      }
#line 2776 "list.m"
    return mercury__list__succeeded;
#line 2776 "list.m"
  }
#line 1249 "list.m"
}

#line 1246 "list.m"
void MR_CALL 
mercury__list__map_foldl4_11_p_3(
#line 1246 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_50,
#line 1246 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_51,
#line 1246 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_52,
#line 1246 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_53,
#line 1246 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_54,
#line 1246 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_55,
#line 1246 "list.m"
  MR_Word mercury__list__P_1,
#line 1246 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1246 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1246 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1246 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1246 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1246 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1246 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1246 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1246 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_10,
#line 1246 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_11)
#line 1246 "list.m"
{
#line 2776 "list.m"
  {
#line 2776 "list.m"
    MR_bool mercury__list__succeeded;

#line 2776 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2776 "list.m"
      {
#line 2776 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_D_11 = mercury__list__STATE_VARIABLE_D_0_10;
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2776 "list.m"
      }
#line 2776 "list.m"
    else
#line 2777 "list.m"
      {
#line 2777 "list.m"
        MR_Box mercury__list__H0_26 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2777 "list.m"
        MR_Word mercury__list__T0_27 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2777 "list.m"
        MR_Box mercury__list__H_28;
#line 2777 "list.m"
        MR_Word mercury__list__T_29;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_42_42;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_43_43;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_44_44;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_45_45;
#line 2778 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2778 "list.m"
        {
#line 2778 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_26, &mercury__list__H_28, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_42_42, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_43_43, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_44_44, mercury__list__STATE_VARIABLE_D_0_10, &mercury__list__STATE_VARIABLE_D_45_45);
        }
#line 2779 "list.m"
        {
#line 2779 "list.m"
          mercury__list__map_foldl4_11_p_3(mercury__list__TypeInfo_for_L_50, mercury__list__TypeInfo_for_M_51, mercury__list__TypeInfo_for_A_52, mercury__list__TypeInfo_for_B_53, mercury__list__TypeInfo_for_C_54, mercury__list__TypeInfo_for_D_55, mercury__list__P_1, mercury__list__T0_27, &mercury__list__T_29, mercury__list__STATE_VARIABLE_A_42_42, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_43_43, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_44_44, mercury__list__STATE_VARIABLE_C_9, mercury__list__STATE_VARIABLE_D_45_45, mercury__list__STATE_VARIABLE_D_11);
        }
#line 2777 "list.m"
        {
#line 2777 "list.m"
          MR_Word base;
#line 2777 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2777 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2777 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_28;
#line 2777 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_29));
#line 2777 "list.m"
        }
#line 2777 "list.m"
      }
#line 2776 "list.m"
  }
#line 1246 "list.m"
}

#line 1243 "list.m"
void MR_CALL 
mercury__list__map_foldl4_11_p_2(
#line 1243 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_50,
#line 1243 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_51,
#line 1243 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_52,
#line 1243 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_53,
#line 1243 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_54,
#line 1243 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_55,
#line 1243 "list.m"
  MR_Word mercury__list__P_1,
#line 1243 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1243 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1243 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1243 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1243 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1243 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1243 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1243 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1243 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_10,
#line 1243 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_11)
#line 1243 "list.m"
{
#line 2776 "list.m"
  {
#line 2776 "list.m"
    MR_bool mercury__list__succeeded;

#line 2776 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2776 "list.m"
      {
#line 2776 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_D_11 = mercury__list__STATE_VARIABLE_D_0_10;
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2776 "list.m"
      }
#line 2776 "list.m"
    else
#line 2777 "list.m"
      {
#line 2777 "list.m"
        MR_Box mercury__list__H0_26 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2777 "list.m"
        MR_Word mercury__list__T0_27 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2777 "list.m"
        MR_Box mercury__list__H_28;
#line 2777 "list.m"
        MR_Word mercury__list__T_29;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_42_42;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_43_43;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_44_44;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_45_45;
#line 2778 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2778 "list.m"
        {
#line 2778 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_26, &mercury__list__H_28, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_42_42, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_43_43, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_44_44, mercury__list__STATE_VARIABLE_D_0_10, &mercury__list__STATE_VARIABLE_D_45_45);
        }
#line 2779 "list.m"
        {
#line 2779 "list.m"
          mercury__list__map_foldl4_11_p_2(mercury__list__TypeInfo_for_L_50, mercury__list__TypeInfo_for_M_51, mercury__list__TypeInfo_for_A_52, mercury__list__TypeInfo_for_B_53, mercury__list__TypeInfo_for_C_54, mercury__list__TypeInfo_for_D_55, mercury__list__P_1, mercury__list__T0_27, &mercury__list__T_29, mercury__list__STATE_VARIABLE_A_42_42, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_43_43, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_44_44, mercury__list__STATE_VARIABLE_C_9, mercury__list__STATE_VARIABLE_D_45_45, mercury__list__STATE_VARIABLE_D_11);
        }
#line 2777 "list.m"
        {
#line 2777 "list.m"
          MR_Word base;
#line 2777 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2777 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2777 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_28;
#line 2777 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_29));
#line 2777 "list.m"
        }
#line 2777 "list.m"
      }
#line 2776 "list.m"
  }
#line 1243 "list.m"
}

#line 1240 "list.m"
void MR_CALL 
mercury__list__map_foldl4_11_p_1(
#line 1240 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_50,
#line 1240 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_51,
#line 1240 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_52,
#line 1240 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_53,
#line 1240 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_54,
#line 1240 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_55,
#line 1240 "list.m"
  MR_Word mercury__list__P_1,
#line 1240 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1240 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1240 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1240 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1240 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1240 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1240 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1240 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1240 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_10,
#line 1240 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_11)
#line 1240 "list.m"
{
#line 2776 "list.m"
  {
#line 2776 "list.m"
    MR_bool mercury__list__succeeded;

#line 2776 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2776 "list.m"
      {
#line 2776 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_D_11 = mercury__list__STATE_VARIABLE_D_0_10;
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2776 "list.m"
      }
#line 2776 "list.m"
    else
#line 2777 "list.m"
      {
#line 2777 "list.m"
        MR_Box mercury__list__H0_26 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2777 "list.m"
        MR_Word mercury__list__T0_27 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2777 "list.m"
        MR_Box mercury__list__H_28;
#line 2777 "list.m"
        MR_Word mercury__list__T_29;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_42_42;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_43_43;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_44_44;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_45_45;
#line 2778 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2778 "list.m"
        {
#line 2778 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_26, &mercury__list__H_28, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_42_42, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_43_43, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_44_44, mercury__list__STATE_VARIABLE_D_0_10, &mercury__list__STATE_VARIABLE_D_45_45);
        }
#line 2779 "list.m"
        {
#line 2779 "list.m"
          mercury__list__map_foldl4_11_p_1(mercury__list__TypeInfo_for_L_50, mercury__list__TypeInfo_for_M_51, mercury__list__TypeInfo_for_A_52, mercury__list__TypeInfo_for_B_53, mercury__list__TypeInfo_for_C_54, mercury__list__TypeInfo_for_D_55, mercury__list__P_1, mercury__list__T0_27, &mercury__list__T_29, mercury__list__STATE_VARIABLE_A_42_42, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_43_43, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_44_44, mercury__list__STATE_VARIABLE_C_9, mercury__list__STATE_VARIABLE_D_45_45, mercury__list__STATE_VARIABLE_D_11);
        }
#line 2777 "list.m"
        {
#line 2777 "list.m"
          MR_Word base;
#line 2777 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2777 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2777 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_28;
#line 2777 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_29));
#line 2777 "list.m"
        }
#line 2777 "list.m"
      }
#line 2776 "list.m"
  }
#line 1240 "list.m"
}

#line 1237 "list.m"
void MR_CALL 
mercury__list__map_foldl4_11_p_0(
#line 1237 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_50,
#line 1237 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_51,
#line 1237 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_52,
#line 1237 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_53,
#line 1237 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_54,
#line 1237 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_55,
#line 1237 "list.m"
  MR_Word mercury__list__P_1,
#line 1237 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1237 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1237 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1237 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1237 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1237 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1237 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1237 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1237 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_10,
#line 1237 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_11)
#line 1237 "list.m"
{
#line 2776 "list.m"
  {
#line 2776 "list.m"
    MR_bool mercury__list__succeeded;

#line 2776 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2776 "list.m"
      {
#line 2776 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_D_11 = mercury__list__STATE_VARIABLE_D_0_10;
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2776 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2776 "list.m"
      }
#line 2776 "list.m"
    else
#line 2777 "list.m"
      {
#line 2777 "list.m"
        MR_Box mercury__list__H0_26 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2777 "list.m"
        MR_Word mercury__list__T0_27 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2777 "list.m"
        MR_Box mercury__list__H_28;
#line 2777 "list.m"
        MR_Word mercury__list__T_29;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_42_42;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_43_43;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_44_44;
#line 2777 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_D_45_45;
#line 2778 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2778 "list.m"
        {
#line 2778 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_26, &mercury__list__H_28, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_42_42, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_43_43, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_44_44, mercury__list__STATE_VARIABLE_D_0_10, &mercury__list__STATE_VARIABLE_D_45_45);
        }
#line 2779 "list.m"
        {
#line 2779 "list.m"
          mercury__list__map_foldl4_11_p_0(mercury__list__TypeInfo_for_L_50, mercury__list__TypeInfo_for_M_51, mercury__list__TypeInfo_for_A_52, mercury__list__TypeInfo_for_B_53, mercury__list__TypeInfo_for_C_54, mercury__list__TypeInfo_for_D_55, mercury__list__P_1, mercury__list__T0_27, &mercury__list__T_29, mercury__list__STATE_VARIABLE_A_42_42, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_43_43, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_44_44, mercury__list__STATE_VARIABLE_C_9, mercury__list__STATE_VARIABLE_D_45_45, mercury__list__STATE_VARIABLE_D_11);
        }
#line 2777 "list.m"
        {
#line 2777 "list.m"
          MR_Word base;
#line 2777 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2777 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2777 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_28;
#line 2777 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_29));
#line 2777 "list.m"
        }
#line 2777 "list.m"
      }
#line 2776 "list.m"
  }
#line 1237 "list.m"
}

#line 2772 "list.m"
static void MR_CALL 
mercury__list__map_foldl3_9_p_5_2(
#line 2772 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2772 "list.m"
{
#line 2772 "list.m"
  {
#line 2772 "list.m"
    struct mercury__list__map_foldl3_9_p_5_env_0_s * mercury__list__env_ptr = (struct mercury__list__map_foldl3_9_p_5_env_0_s *) mercury__list__env_ptr_arg;

#line 2772 "list.m"
    {
#line 2772 "list.m"
      MR_Word base;
#line 2772 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2772 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__HeadVar__3_3) = base;
#line 2772 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__H_23;
#line 2772 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__T_24));
#line 2772 "list.m"
    }
#line 2772 "list.m"
    {
#line 2772 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__cont)((mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__cont_env_ptr);
#line 2772 "list.m"
      return;
    }
#line 2772 "list.m"
  }
#line 2772 "list.m"
}

#line 2772 "list.m"
static void MR_CALL 
mercury__list__map_foldl3_9_p_5_1(
#line 2772 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2772 "list.m"
{
#line 2772 "list.m"
  {
#line 2772 "list.m"
    struct mercury__list__map_foldl3_9_p_5_env_0_s * mercury__list__env_ptr = (struct mercury__list__map_foldl3_9_p_5_env_0_s *) mercury__list__env_ptr_arg;

#line 2774 "list.m"
    {
#line 2774 "list.m"
      mercury__list__map_foldl3_9_p_5((mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__TypeInfo_for_L_40, (mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__TypeInfo_for_M_41, (mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__TypeInfo_for_A_42, (mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__TypeInfo_for_B_43, (mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__TypeInfo_for_C_44, (mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__T0_22, &(mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__T_24, (mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_A_34_34, (mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_A_5, (mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_B_35_35, (mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_B_7, (mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_C_36_36, (mercury__list__env_ptr)->mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_C_9, mercury__list__map_foldl3_9_p_5_2, mercury__list__env_ptr);
    }
#line 2772 "list.m"
  }
#line 2772 "list.m"
}

#line 1230 "list.m"
void MR_CALL 
mercury__list__map_foldl3_9_p_5(
#line 1230 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_40,
#line 1230 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_41,
#line 1230 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_42,
#line 1230 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_43,
#line 1230 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_44,
#line 1230 "list.m"
  MR_Word mercury__list__P_1,
#line 1230 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1230 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1230 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1230 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1230 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1230 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1230 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1230 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9,
#line 1230 "list.m"
  MR_Cont mercury__list__cont,
#line 1230 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1230 "list.m"
{
#line 1230 "list.m"
  {
#line 1230 "list.m"
    struct mercury__list__map_foldl3_9_p_5_env_0_s mercury__list__env;

#line 1230 "list.m"
    (mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__TypeInfo_for_L_40 = mercury__list__TypeInfo_for_L_40;
#line 1230 "list.m"
    (mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__TypeInfo_for_M_41 = mercury__list__TypeInfo_for_M_41;
#line 1230 "list.m"
    (mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__TypeInfo_for_A_42 = mercury__list__TypeInfo_for_A_42;
#line 1230 "list.m"
    (mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__TypeInfo_for_B_43 = mercury__list__TypeInfo_for_B_43;
#line 1230 "list.m"
    (mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__TypeInfo_for_C_44 = mercury__list__TypeInfo_for_C_44;
#line 1230 "list.m"
    (mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__P_1 = mercury__list__P_1;
#line 1230 "list.m"
    (mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 1230 "list.m"
    (mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_5;
#line 1230 "list.m"
    (mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_7;
#line 1230 "list.m"
    (mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_9;
#line 1230 "list.m"
    (mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__cont = mercury__list__cont;
#line 1230 "list.m"
    (mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2771 "list.m"
    {
#line 2771 "list.m"
      MR_bool mercury__list__succeeded;

#line 2771 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2771 "list.m"
        {
#line 2771 "list.m"
          *((mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2771 "list.m"
          *((mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_C_9) = mercury__list__STATE_VARIABLE_C_0_8;
#line 2771 "list.m"
          *((mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_B_7) = mercury__list__STATE_VARIABLE_B_0_6;
#line 2771 "list.m"
          *((mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_A_5) = mercury__list__STATE_VARIABLE_A_0_4;
#line 2771 "list.m"
          {
#line 2771 "list.m"
            ((mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__cont)((mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__cont_env_ptr);
#line 2771 "list.m"
            return;
          }
#line 2771 "list.m"
        }
#line 2771 "list.m"
      else
#line 2772 "list.m"
        {
#line 2772 "list.m"
          MR_Box mercury__list__H0_21 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2773 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2772 "list.m"
          (mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__T0_22 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2773 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__P_1, (MR_Integer) 1)));
#line 2773 "list.m"
          {
#line 2773 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__P_1), mercury__list__H0_21, &(mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__H_23, mercury__list__STATE_VARIABLE_A_0_4, &(mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_A_34_34, mercury__list__STATE_VARIABLE_B_0_6, &(mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_B_35_35, mercury__list__STATE_VARIABLE_C_0_8, &(mercury__list__env).mercury__list__map_foldl3_9_p_5_env_0__STATE_VARIABLE_C_36_36, mercury__list__map_foldl3_9_p_5_1, &mercury__list__env);
          }
#line 2772 "list.m"
        }
#line 2771 "list.m"
    }
#line 1230 "list.m"
  }
#line 1230 "list.m"
}

#line 1228 "list.m"
MR_bool MR_CALL 
mercury__list__map_foldl3_9_p_4(
#line 1228 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_40,
#line 1228 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_41,
#line 1228 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_42,
#line 1228 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_43,
#line 1228 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_44,
#line 1228 "list.m"
  MR_Word mercury__list__P_1,
#line 1228 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1228 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1228 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1228 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1228 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1228 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1228 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1228 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9)
#line 1228 "list.m"
{
#line 2771 "list.m"
  {
#line 2771 "list.m"
    MR_bool mercury__list__succeeded;

#line 2771 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2771 "list.m"
      {
#line 2771 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2771 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2771 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2771 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2771 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2771 "list.m"
      }
#line 2771 "list.m"
    else
#line 2772 "list.m"
      {
#line 2772 "list.m"
        MR_Box mercury__list__H0_21 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2772 "list.m"
        MR_Word mercury__list__T0_22 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2772 "list.m"
        MR_Box mercury__list__H_23;
#line 2772 "list.m"
        MR_Word mercury__list__T_24;
#line 2772 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_34_34;
#line 2772 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_35_35;
#line 2772 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_36_36;
#line 2773 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2773 "list.m"
        {
#line 2773 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_21, &mercury__list__H_23, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_34_34, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_35_35, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_36_36);
        }
#line 2772 "list.m"
        if (mercury__list__succeeded)
#line 2772 "list.m"
          {
#line 2774 "list.m"
            {
#line 2774 "list.m"
              mercury__list__succeeded = mercury__list__map_foldl3_9_p_4(mercury__list__TypeInfo_for_L_40, mercury__list__TypeInfo_for_M_41, mercury__list__TypeInfo_for_A_42, mercury__list__TypeInfo_for_B_43, mercury__list__TypeInfo_for_C_44, mercury__list__P_1, mercury__list__T0_22, &mercury__list__T_24, mercury__list__STATE_VARIABLE_A_34_34, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_35_35, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_36_36, mercury__list__STATE_VARIABLE_C_9);
            }
#line 2772 "list.m"
            if (mercury__list__succeeded)
#line 2772 "list.m"
              {
#line 2772 "list.m"
                {
#line 2772 "list.m"
                  MR_Word base;
#line 2772 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2772 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2772 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_23;
#line 2772 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_24));
#line 2772 "list.m"
                }
#line 2772 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2772 "list.m"
              }
#line 2772 "list.m"
          }
#line 2772 "list.m"
      }
#line 2771 "list.m"
    return mercury__list__succeeded;
#line 2771 "list.m"
  }
#line 1228 "list.m"
}

#line 1226 "list.m"
void MR_CALL 
mercury__list__map_foldl3_9_p_3(
#line 1226 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_40,
#line 1226 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_41,
#line 1226 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_42,
#line 1226 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_43,
#line 1226 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_44,
#line 1226 "list.m"
  MR_Word mercury__list__P_1,
#line 1226 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1226 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1226 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1226 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1226 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1226 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1226 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1226 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9)
#line 1226 "list.m"
{
#line 2771 "list.m"
  {
#line 2771 "list.m"
    MR_bool mercury__list__succeeded;

#line 2771 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2771 "list.m"
      {
#line 2771 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2771 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2771 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2771 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2771 "list.m"
      }
#line 2771 "list.m"
    else
#line 2772 "list.m"
      {
#line 2772 "list.m"
        MR_Box mercury__list__H0_21 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2772 "list.m"
        MR_Word mercury__list__T0_22 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2772 "list.m"
        MR_Box mercury__list__H_23;
#line 2772 "list.m"
        MR_Word mercury__list__T_24;
#line 2772 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_34_34;
#line 2772 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_35_35;
#line 2772 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_36_36;
#line 2773 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2773 "list.m"
        {
#line 2773 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_21, &mercury__list__H_23, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_34_34, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_35_35, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_36_36);
        }
#line 2774 "list.m"
        {
#line 2774 "list.m"
          mercury__list__map_foldl3_9_p_3(mercury__list__TypeInfo_for_L_40, mercury__list__TypeInfo_for_M_41, mercury__list__TypeInfo_for_A_42, mercury__list__TypeInfo_for_B_43, mercury__list__TypeInfo_for_C_44, mercury__list__P_1, mercury__list__T0_22, &mercury__list__T_24, mercury__list__STATE_VARIABLE_A_34_34, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_35_35, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_36_36, mercury__list__STATE_VARIABLE_C_9);
        }
#line 2772 "list.m"
        {
#line 2772 "list.m"
          MR_Word base;
#line 2772 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2772 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2772 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_23;
#line 2772 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_24));
#line 2772 "list.m"
        }
#line 2772 "list.m"
      }
#line 2771 "list.m"
  }
#line 1226 "list.m"
}

#line 1224 "list.m"
void MR_CALL 
mercury__list__map_foldl3_9_p_2(
#line 1224 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_40,
#line 1224 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_41,
#line 1224 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_42,
#line 1224 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_43,
#line 1224 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_44,
#line 1224 "list.m"
  MR_Word mercury__list__P_1,
#line 1224 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1224 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1224 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1224 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1224 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1224 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1224 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1224 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9)
#line 1224 "list.m"
{
#line 2771 "list.m"
  {
#line 2771 "list.m"
    MR_bool mercury__list__succeeded;

#line 2771 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2771 "list.m"
      {
#line 2771 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2771 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2771 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2771 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2771 "list.m"
      }
#line 2771 "list.m"
    else
#line 2772 "list.m"
      {
#line 2772 "list.m"
        MR_Box mercury__list__H0_21 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2772 "list.m"
        MR_Word mercury__list__T0_22 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2772 "list.m"
        MR_Box mercury__list__H_23;
#line 2772 "list.m"
        MR_Word mercury__list__T_24;
#line 2772 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_34_34;
#line 2772 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_35_35;
#line 2772 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_36_36;
#line 2773 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2773 "list.m"
        {
#line 2773 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_21, &mercury__list__H_23, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_34_34, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_35_35, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_36_36);
        }
#line 2774 "list.m"
        {
#line 2774 "list.m"
          mercury__list__map_foldl3_9_p_2(mercury__list__TypeInfo_for_L_40, mercury__list__TypeInfo_for_M_41, mercury__list__TypeInfo_for_A_42, mercury__list__TypeInfo_for_B_43, mercury__list__TypeInfo_for_C_44, mercury__list__P_1, mercury__list__T0_22, &mercury__list__T_24, mercury__list__STATE_VARIABLE_A_34_34, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_35_35, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_36_36, mercury__list__STATE_VARIABLE_C_9);
        }
#line 2772 "list.m"
        {
#line 2772 "list.m"
          MR_Word base;
#line 2772 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2772 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2772 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_23;
#line 2772 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_24));
#line 2772 "list.m"
        }
#line 2772 "list.m"
      }
#line 2771 "list.m"
  }
#line 1224 "list.m"
}

#line 1222 "list.m"
void MR_CALL 
mercury__list__map_foldl3_9_p_1(
#line 1222 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_40,
#line 1222 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_41,
#line 1222 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_42,
#line 1222 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_43,
#line 1222 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_44,
#line 1222 "list.m"
  MR_Word mercury__list__P_1,
#line 1222 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1222 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1222 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1222 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1222 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1222 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1222 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1222 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9)
#line 1222 "list.m"
{
#line 2771 "list.m"
  {
#line 2771 "list.m"
    MR_bool mercury__list__succeeded;

#line 2771 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2771 "list.m"
      {
#line 2771 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2771 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2771 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2771 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2771 "list.m"
      }
#line 2771 "list.m"
    else
#line 2772 "list.m"
      {
#line 2772 "list.m"
        MR_Box mercury__list__H0_21 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2772 "list.m"
        MR_Word mercury__list__T0_22 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2772 "list.m"
        MR_Box mercury__list__H_23;
#line 2772 "list.m"
        MR_Word mercury__list__T_24;
#line 2772 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_34_34;
#line 2772 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_35_35;
#line 2772 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_36_36;
#line 2773 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2773 "list.m"
        {
#line 2773 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_21, &mercury__list__H_23, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_34_34, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_35_35, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_36_36);
        }
#line 2774 "list.m"
        {
#line 2774 "list.m"
          mercury__list__map_foldl3_9_p_1(mercury__list__TypeInfo_for_L_40, mercury__list__TypeInfo_for_M_41, mercury__list__TypeInfo_for_A_42, mercury__list__TypeInfo_for_B_43, mercury__list__TypeInfo_for_C_44, mercury__list__P_1, mercury__list__T0_22, &mercury__list__T_24, mercury__list__STATE_VARIABLE_A_34_34, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_35_35, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_36_36, mercury__list__STATE_VARIABLE_C_9);
        }
#line 2772 "list.m"
        {
#line 2772 "list.m"
          MR_Word base;
#line 2772 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2772 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2772 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_23;
#line 2772 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_24));
#line 2772 "list.m"
        }
#line 2772 "list.m"
      }
#line 2771 "list.m"
  }
#line 1222 "list.m"
}

#line 1220 "list.m"
void MR_CALL 
mercury__list__map_foldl3_9_p_0(
#line 1220 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_40,
#line 1220 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_41,
#line 1220 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_42,
#line 1220 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_43,
#line 1220 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_44,
#line 1220 "list.m"
  MR_Word mercury__list__P_1,
#line 1220 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1220 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1220 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1220 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1220 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1220 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1220 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_8,
#line 1220 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_9)
#line 1220 "list.m"
{
#line 2771 "list.m"
  {
#line 2771 "list.m"
    MR_bool mercury__list__succeeded;

#line 2771 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2771 "list.m"
      {
#line 2771 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2771 "list.m"
        *mercury__list__STATE_VARIABLE_C_9 = mercury__list__STATE_VARIABLE_C_0_8;
#line 2771 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2771 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2771 "list.m"
      }
#line 2771 "list.m"
    else
#line 2772 "list.m"
      {
#line 2772 "list.m"
        MR_Box mercury__list__H0_21 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2772 "list.m"
        MR_Word mercury__list__T0_22 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2772 "list.m"
        MR_Box mercury__list__H_23;
#line 2772 "list.m"
        MR_Word mercury__list__T_24;
#line 2772 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_34_34;
#line 2772 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_35_35;
#line 2772 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_36_36;
#line 2773 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2773 "list.m"
        {
#line 2773 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_21, &mercury__list__H_23, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_34_34, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_35_35, mercury__list__STATE_VARIABLE_C_0_8, &mercury__list__STATE_VARIABLE_C_36_36);
        }
#line 2774 "list.m"
        {
#line 2774 "list.m"
          mercury__list__map_foldl3_9_p_0(mercury__list__TypeInfo_for_L_40, mercury__list__TypeInfo_for_M_41, mercury__list__TypeInfo_for_A_42, mercury__list__TypeInfo_for_B_43, mercury__list__TypeInfo_for_C_44, mercury__list__P_1, mercury__list__T0_22, &mercury__list__T_24, mercury__list__STATE_VARIABLE_A_34_34, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_35_35, mercury__list__STATE_VARIABLE_B_7, mercury__list__STATE_VARIABLE_C_36_36, mercury__list__STATE_VARIABLE_C_9);
        }
#line 2772 "list.m"
        {
#line 2772 "list.m"
          MR_Word base;
#line 2772 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2772 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2772 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_23;
#line 2772 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_24));
#line 2772 "list.m"
        }
#line 2772 "list.m"
      }
#line 2771 "list.m"
  }
#line 1220 "list.m"
}

#line 2767 "list.m"
static void MR_CALL 
mercury__list__map_foldl2_7_p_10_2(
#line 2767 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2767 "list.m"
{
#line 2767 "list.m"
  {
#line 2767 "list.m"
    struct mercury__list__map_foldl2_7_p_10_env_0_s * mercury__list__env_ptr = (struct mercury__list__map_foldl2_7_p_10_env_0_s *) mercury__list__env_ptr_arg;

#line 2767 "list.m"
    {
#line 2767 "list.m"
      MR_Word base;
#line 2767 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2767 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map_foldl2_7_p_10_env_0__HeadVar__3_3) = base;
#line 2767 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map_foldl2_7_p_10_env_0__H_18;
#line 2767 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map_foldl2_7_p_10_env_0__T_19));
#line 2767 "list.m"
    }
#line 2767 "list.m"
    {
#line 2767 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map_foldl2_7_p_10_env_0__cont)((mercury__list__env_ptr)->mercury__list__map_foldl2_7_p_10_env_0__cont_env_ptr);
#line 2767 "list.m"
      return;
    }
#line 2767 "list.m"
  }
#line 2767 "list.m"
}

#line 2767 "list.m"
static void MR_CALL 
mercury__list__map_foldl2_7_p_10_1(
#line 2767 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2767 "list.m"
{
#line 2767 "list.m"
  {
#line 2767 "list.m"
    struct mercury__list__map_foldl2_7_p_10_env_0_s * mercury__list__env_ptr = (struct mercury__list__map_foldl2_7_p_10_env_0_s *) mercury__list__env_ptr_arg;

#line 2769 "list.m"
    {
#line 2769 "list.m"
      mercury__list__map_foldl2_7_p_10((mercury__list__env_ptr)->mercury__list__map_foldl2_7_p_10_env_0__TypeInfo_for_L_30, (mercury__list__env_ptr)->mercury__list__map_foldl2_7_p_10_env_0__TypeInfo_for_M_31, (mercury__list__env_ptr)->mercury__list__map_foldl2_7_p_10_env_0__TypeInfo_for_A_32, (mercury__list__env_ptr)->mercury__list__map_foldl2_7_p_10_env_0__TypeInfo_for_B_33, (mercury__list__env_ptr)->mercury__list__map_foldl2_7_p_10_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map_foldl2_7_p_10_env_0__T0_17, &(mercury__list__env_ptr)->mercury__list__map_foldl2_7_p_10_env_0__T_19, (mercury__list__env_ptr)->mercury__list__map_foldl2_7_p_10_env_0__STATE_VARIABLE_A_26_26, (mercury__list__env_ptr)->mercury__list__map_foldl2_7_p_10_env_0__STATE_VARIABLE_A_5, (mercury__list__env_ptr)->mercury__list__map_foldl2_7_p_10_env_0__STATE_VARIABLE_B_27_27, (mercury__list__env_ptr)->mercury__list__map_foldl2_7_p_10_env_0__STATE_VARIABLE_B_7, mercury__list__map_foldl2_7_p_10_2, mercury__list__env_ptr);
    }
#line 2767 "list.m"
  }
#line 2767 "list.m"
}

#line 1213 "list.m"
void MR_CALL 
mercury__list__map_foldl2_7_p_10(
#line 1213 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_30,
#line 1213 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_31,
#line 1213 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_32,
#line 1213 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_33,
#line 1213 "list.m"
  MR_Word mercury__list__P_1,
#line 1213 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1213 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1213 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1213 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1213 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1213 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7,
#line 1213 "list.m"
  MR_Cont mercury__list__cont,
#line 1213 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1213 "list.m"
{
#line 1213 "list.m"
  {
#line 1213 "list.m"
    struct mercury__list__map_foldl2_7_p_10_env_0_s mercury__list__env;

#line 1213 "list.m"
    (mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__TypeInfo_for_L_30 = mercury__list__TypeInfo_for_L_30;
#line 1213 "list.m"
    (mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__TypeInfo_for_M_31 = mercury__list__TypeInfo_for_M_31;
#line 1213 "list.m"
    (mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__TypeInfo_for_A_32 = mercury__list__TypeInfo_for_A_32;
#line 1213 "list.m"
    (mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__TypeInfo_for_B_33 = mercury__list__TypeInfo_for_B_33;
#line 1213 "list.m"
    (mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__P_1 = mercury__list__P_1;
#line 1213 "list.m"
    (mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 1213 "list.m"
    (mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_5;
#line 1213 "list.m"
    (mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_7;
#line 1213 "list.m"
    (mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__cont = mercury__list__cont;
#line 1213 "list.m"
    (mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2766 "list.m"
    {
#line 2766 "list.m"
      MR_bool mercury__list__succeeded;

#line 2766 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2766 "list.m"
        {
#line 2766 "list.m"
          *((mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2766 "list.m"
          *((mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__STATE_VARIABLE_B_7) = mercury__list__STATE_VARIABLE_B_0_6;
#line 2766 "list.m"
          *((mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__STATE_VARIABLE_A_5) = mercury__list__STATE_VARIABLE_A_0_4;
#line 2766 "list.m"
          {
#line 2766 "list.m"
            ((mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__cont)((mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__cont_env_ptr);
#line 2766 "list.m"
            return;
          }
#line 2766 "list.m"
        }
#line 2766 "list.m"
      else
#line 2767 "list.m"
        {
#line 2767 "list.m"
          MR_Box mercury__list__H0_16 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2768 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2767 "list.m"
          (mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__T0_17 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2768 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__P_1, (MR_Integer) 1)));
#line 2768 "list.m"
          {
#line 2768 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__P_1), mercury__list__H0_16, &(mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__H_18, mercury__list__STATE_VARIABLE_A_0_4, &(mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_B_0_6, &(mercury__list__env).mercury__list__map_foldl2_7_p_10_env_0__STATE_VARIABLE_B_27_27, mercury__list__map_foldl2_7_p_10_1, &mercury__list__env);
          }
#line 2767 "list.m"
        }
#line 2766 "list.m"
    }
#line 1213 "list.m"
  }
#line 1213 "list.m"
}

#line 1211 "list.m"
void MR_CALL 
mercury__list__map_foldl2_7_p_9(
#line 1211 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_30,
#line 1211 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_31,
#line 1211 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_32,
#line 1211 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_33,
#line 1211 "list.m"
  MR_Word mercury__list__P_1,
#line 1211 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1211 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1211 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1211 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1211 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1211 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7)
#line 1211 "list.m"
{
#line 2766 "list.m"
  {
#line 2766 "list.m"
    MR_bool mercury__list__succeeded;

#line 2766 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2766 "list.m"
      {
#line 2766 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2766 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2766 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2766 "list.m"
      }
#line 2766 "list.m"
    else
#line 2767 "list.m"
      {
#line 2767 "list.m"
        MR_Box mercury__list__H0_16 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2767 "list.m"
        MR_Word mercury__list__T0_17 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2767 "list.m"
        MR_Box mercury__list__H_18;
#line 2767 "list.m"
        MR_Word mercury__list__T_19;
#line 2767 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_26_26;
#line 2767 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_27_27;
#line 2768 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2768 "list.m"
        {
#line 2768 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_16, &mercury__list__H_18, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_27_27);
        }
#line 2769 "list.m"
        {
#line 2769 "list.m"
          mercury__list__map_foldl2_7_p_9(mercury__list__TypeInfo_for_L_30, mercury__list__TypeInfo_for_M_31, mercury__list__TypeInfo_for_A_32, mercury__list__TypeInfo_for_B_33, mercury__list__P_1, mercury__list__T0_17, &mercury__list__T_19, mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_27_27, mercury__list__STATE_VARIABLE_B_7);
        }
#line 2767 "list.m"
        {
#line 2767 "list.m"
          MR_Word base;
#line 2767 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2767 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2767 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_18;
#line 2767 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_19));
#line 2767 "list.m"
        }
#line 2767 "list.m"
      }
#line 2766 "list.m"
  }
#line 1211 "list.m"
}

#line 1209 "list.m"
void MR_CALL 
mercury__list__map_foldl2_7_p_8(
#line 1209 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_30,
#line 1209 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_31,
#line 1209 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_32,
#line 1209 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_33,
#line 1209 "list.m"
  MR_Word mercury__list__P_1,
#line 1209 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1209 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1209 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1209 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1209 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1209 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7)
#line 1209 "list.m"
{
#line 2766 "list.m"
  {
#line 2766 "list.m"
    MR_bool mercury__list__succeeded;

#line 2766 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2766 "list.m"
      {
#line 2766 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2766 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2766 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2766 "list.m"
      }
#line 2766 "list.m"
    else
#line 2767 "list.m"
      {
#line 2767 "list.m"
        MR_Box mercury__list__H0_16 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2767 "list.m"
        MR_Word mercury__list__T0_17 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2767 "list.m"
        MR_Box mercury__list__H_18;
#line 2767 "list.m"
        MR_Word mercury__list__T_19;
#line 2767 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_26_26;
#line 2767 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_27_27;
#line 2768 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2768 "list.m"
        {
#line 2768 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_16, &mercury__list__H_18, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_27_27);
        }
#line 2769 "list.m"
        {
#line 2769 "list.m"
          mercury__list__map_foldl2_7_p_8(mercury__list__TypeInfo_for_L_30, mercury__list__TypeInfo_for_M_31, mercury__list__TypeInfo_for_A_32, mercury__list__TypeInfo_for_B_33, mercury__list__P_1, mercury__list__T0_17, &mercury__list__T_19, mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_27_27, mercury__list__STATE_VARIABLE_B_7);
        }
#line 2767 "list.m"
        {
#line 2767 "list.m"
          MR_Word base;
#line 2767 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2767 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2767 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_18;
#line 2767 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_19));
#line 2767 "list.m"
        }
#line 2767 "list.m"
      }
#line 2766 "list.m"
  }
#line 1209 "list.m"
}

#line 1207 "list.m"
void MR_CALL 
mercury__list__map_foldl2_7_p_7(
#line 1207 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_30,
#line 1207 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_31,
#line 1207 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_32,
#line 1207 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_33,
#line 1207 "list.m"
  MR_Word mercury__list__P_1,
#line 1207 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1207 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1207 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1207 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1207 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1207 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7)
#line 1207 "list.m"
{
#line 2766 "list.m"
  {
#line 2766 "list.m"
    MR_bool mercury__list__succeeded;

#line 2766 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2766 "list.m"
      {
#line 2766 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2766 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2766 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2766 "list.m"
      }
#line 2766 "list.m"
    else
#line 2767 "list.m"
      {
#line 2767 "list.m"
        MR_Box mercury__list__H0_16 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2767 "list.m"
        MR_Word mercury__list__T0_17 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2767 "list.m"
        MR_Box mercury__list__H_18;
#line 2767 "list.m"
        MR_Word mercury__list__T_19;
#line 2767 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_26_26;
#line 2767 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_27_27;
#line 2768 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2768 "list.m"
        {
#line 2768 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_16, &mercury__list__H_18, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_27_27);
        }
#line 2769 "list.m"
        {
#line 2769 "list.m"
          mercury__list__map_foldl2_7_p_7(mercury__list__TypeInfo_for_L_30, mercury__list__TypeInfo_for_M_31, mercury__list__TypeInfo_for_A_32, mercury__list__TypeInfo_for_B_33, mercury__list__P_1, mercury__list__T0_17, &mercury__list__T_19, mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_27_27, mercury__list__STATE_VARIABLE_B_7);
        }
#line 2767 "list.m"
        {
#line 2767 "list.m"
          MR_Word base;
#line 2767 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2767 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2767 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_18;
#line 2767 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_19));
#line 2767 "list.m"
        }
#line 2767 "list.m"
      }
#line 2766 "list.m"
  }
#line 1207 "list.m"
}

#line 1205 "list.m"
MR_bool MR_CALL 
mercury__list__map_foldl2_7_p_6(
#line 1205 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_30,
#line 1205 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_31,
#line 1205 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_32,
#line 1205 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_33,
#line 1205 "list.m"
  MR_Word mercury__list__P_1,
#line 1205 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1205 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1205 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1205 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1205 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1205 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7)
#line 1205 "list.m"
{
#line 2766 "list.m"
  while (MR_TRUE)
#line 2766 "list.m"
    {
#line 2766 "list.m"
      /* tailcall optimized into a loop */
#line 2766 "list.m"
      {
#line 2766 "list.m"
        MR_bool mercury__list__succeeded;

#line 2766 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2766 "list.m"
          {
#line 2766 "list.m"
            mercury__list__succeeded = (mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2766 "list.m"
            if (mercury__list__succeeded)
#line 2766 "list.m"
              {
#line 2766 "list.m"
                *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2766 "list.m"
                *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2766 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2766 "list.m"
              }
#line 2766 "list.m"
          }
#line 2766 "list.m"
        else
#line 2767 "list.m"
          {
#line 2767 "list.m"
            MR_Box mercury__list__H0_16 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2767 "list.m"
            MR_Word mercury__list__T0_17 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2767 "list.m"
            MR_Box mercury__list__H_18;
#line 2767 "list.m"
            MR_Word mercury__list__T_19;
#line 2767 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_26_26;
#line 2767 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_27_27;
#line 2768 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2767 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1)));
#line 2767 "list.m"
            if (mercury__list__succeeded)
#line 2767 "list.m"
              {
#line 2767 "list.m"
                mercury__list__H_18 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2767 "list.m"
                mercury__list__T_19 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2768 "list.m"
                mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2768 "list.m"
                {
#line 2768 "list.m"
                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_16, mercury__list__H_18, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_27_27);
                }
#line 2767 "list.m"
                if (mercury__list__succeeded)
#line 2769 "list.m"
                  {
#line 2769 "list.m"
                    /* direct tailcall eliminated */
#line 2769 "list.m"
                    {
#line 2769 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T0_17;
#line 2769 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__T_19;
#line 2769 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_A_26_26;
#line 2769 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_6 = mercury__list__STATE_VARIABLE_B_27_27;

#line 2769 "list.m"
                      mercury__list__STATE_VARIABLE_B_0_6 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_6;
#line 2769 "list.m"
                      mercury__list__STATE_VARIABLE_A_0_4 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_4;
#line 2769 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2769 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2769 "list.m"
                    }
#line 2769 "list.m"
                    continue;
#line 2769 "list.m"
                  }
#line 2767 "list.m"
              }
#line 2767 "list.m"
          }
#line 2766 "list.m"
        return mercury__list__succeeded;
#line 2766 "list.m"
      }
#line 2766 "list.m"
      break;
#line 2766 "list.m"
    }
#line 1205 "list.m"
}

#line 1203 "list.m"
MR_bool MR_CALL 
mercury__list__map_foldl2_7_p_5(
#line 1203 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_30,
#line 1203 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_31,
#line 1203 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_32,
#line 1203 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_33,
#line 1203 "list.m"
  MR_Word mercury__list__P_1,
#line 1203 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1203 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1203 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1203 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1203 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1203 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7)
#line 1203 "list.m"
{
#line 2766 "list.m"
  {
#line 2766 "list.m"
    MR_bool mercury__list__succeeded;

#line 2766 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2766 "list.m"
      {
#line 2766 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2766 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2766 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2766 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2766 "list.m"
      }
#line 2766 "list.m"
    else
#line 2767 "list.m"
      {
#line 2767 "list.m"
        MR_Box mercury__list__H0_16 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2767 "list.m"
        MR_Word mercury__list__T0_17 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2767 "list.m"
        MR_Box mercury__list__H_18;
#line 2767 "list.m"
        MR_Word mercury__list__T_19;
#line 2767 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_26_26;
#line 2767 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_27_27;
#line 2768 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2768 "list.m"
        {
#line 2768 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_16, &mercury__list__H_18, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_27_27);
        }
#line 2767 "list.m"
        if (mercury__list__succeeded)
#line 2767 "list.m"
          {
#line 2769 "list.m"
            {
#line 2769 "list.m"
              mercury__list__succeeded = mercury__list__map_foldl2_7_p_5(mercury__list__TypeInfo_for_L_30, mercury__list__TypeInfo_for_M_31, mercury__list__TypeInfo_for_A_32, mercury__list__TypeInfo_for_B_33, mercury__list__P_1, mercury__list__T0_17, &mercury__list__T_19, mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_27_27, mercury__list__STATE_VARIABLE_B_7);
            }
#line 2767 "list.m"
            if (mercury__list__succeeded)
#line 2767 "list.m"
              {
#line 2767 "list.m"
                {
#line 2767 "list.m"
                  MR_Word base;
#line 2767 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2767 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2767 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_18;
#line 2767 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_19));
#line 2767 "list.m"
                }
#line 2767 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2767 "list.m"
              }
#line 2767 "list.m"
          }
#line 2767 "list.m"
      }
#line 2766 "list.m"
    return mercury__list__succeeded;
#line 2766 "list.m"
  }
#line 1203 "list.m"
}

#line 1201 "list.m"
MR_bool MR_CALL 
mercury__list__map_foldl2_7_p_4(
#line 1201 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_30,
#line 1201 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_31,
#line 1201 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_32,
#line 1201 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_33,
#line 1201 "list.m"
  MR_Word mercury__list__P_1,
#line 1201 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1201 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1201 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1201 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1201 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1201 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7)
#line 1201 "list.m"
{
#line 2766 "list.m"
  {
#line 2766 "list.m"
    MR_bool mercury__list__succeeded;

#line 2766 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2766 "list.m"
      {
#line 2766 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2766 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2766 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2766 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2766 "list.m"
      }
#line 2766 "list.m"
    else
#line 2767 "list.m"
      {
#line 2767 "list.m"
        MR_Box mercury__list__H0_16 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2767 "list.m"
        MR_Word mercury__list__T0_17 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2767 "list.m"
        MR_Box mercury__list__H_18;
#line 2767 "list.m"
        MR_Word mercury__list__T_19;
#line 2767 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_26_26;
#line 2767 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_27_27;
#line 2768 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2768 "list.m"
        {
#line 2768 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_16, &mercury__list__H_18, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_27_27);
        }
#line 2767 "list.m"
        if (mercury__list__succeeded)
#line 2767 "list.m"
          {
#line 2769 "list.m"
            {
#line 2769 "list.m"
              mercury__list__succeeded = mercury__list__map_foldl2_7_p_4(mercury__list__TypeInfo_for_L_30, mercury__list__TypeInfo_for_M_31, mercury__list__TypeInfo_for_A_32, mercury__list__TypeInfo_for_B_33, mercury__list__P_1, mercury__list__T0_17, &mercury__list__T_19, mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_27_27, mercury__list__STATE_VARIABLE_B_7);
            }
#line 2767 "list.m"
            if (mercury__list__succeeded)
#line 2767 "list.m"
              {
#line 2767 "list.m"
                {
#line 2767 "list.m"
                  MR_Word base;
#line 2767 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2767 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2767 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_18;
#line 2767 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_19));
#line 2767 "list.m"
                }
#line 2767 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2767 "list.m"
              }
#line 2767 "list.m"
          }
#line 2767 "list.m"
      }
#line 2766 "list.m"
    return mercury__list__succeeded;
#line 2766 "list.m"
  }
#line 1201 "list.m"
}

#line 1199 "list.m"
MR_bool MR_CALL 
mercury__list__map_foldl2_7_p_3(
#line 1199 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_30,
#line 1199 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_31,
#line 1199 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_32,
#line 1199 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_33,
#line 1199 "list.m"
  MR_Word mercury__list__P_1,
#line 1199 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1199 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1199 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1199 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1199 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1199 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7)
#line 1199 "list.m"
{
#line 2766 "list.m"
  {
#line 2766 "list.m"
    MR_bool mercury__list__succeeded;

#line 2766 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2766 "list.m"
      {
#line 2766 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2766 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2766 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2766 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2766 "list.m"
      }
#line 2766 "list.m"
    else
#line 2767 "list.m"
      {
#line 2767 "list.m"
        MR_Box mercury__list__H0_16 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2767 "list.m"
        MR_Word mercury__list__T0_17 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2767 "list.m"
        MR_Box mercury__list__H_18;
#line 2767 "list.m"
        MR_Word mercury__list__T_19;
#line 2767 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_26_26;
#line 2767 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_27_27;
#line 2768 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2768 "list.m"
        {
#line 2768 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_16, &mercury__list__H_18, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_27_27);
        }
#line 2767 "list.m"
        if (mercury__list__succeeded)
#line 2767 "list.m"
          {
#line 2769 "list.m"
            {
#line 2769 "list.m"
              mercury__list__succeeded = mercury__list__map_foldl2_7_p_3(mercury__list__TypeInfo_for_L_30, mercury__list__TypeInfo_for_M_31, mercury__list__TypeInfo_for_A_32, mercury__list__TypeInfo_for_B_33, mercury__list__P_1, mercury__list__T0_17, &mercury__list__T_19, mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_27_27, mercury__list__STATE_VARIABLE_B_7);
            }
#line 2767 "list.m"
            if (mercury__list__succeeded)
#line 2767 "list.m"
              {
#line 2767 "list.m"
                {
#line 2767 "list.m"
                  MR_Word base;
#line 2767 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2767 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2767 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_18;
#line 2767 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_19));
#line 2767 "list.m"
                }
#line 2767 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2767 "list.m"
              }
#line 2767 "list.m"
          }
#line 2767 "list.m"
      }
#line 2766 "list.m"
    return mercury__list__succeeded;
#line 2766 "list.m"
  }
#line 1199 "list.m"
}

#line 1197 "list.m"
void MR_CALL 
mercury__list__map_foldl2_7_p_2(
#line 1197 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_30,
#line 1197 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_31,
#line 1197 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_32,
#line 1197 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_33,
#line 1197 "list.m"
  MR_Word mercury__list__P_1,
#line 1197 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1197 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1197 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1197 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1197 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1197 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7)
#line 1197 "list.m"
{
#line 2766 "list.m"
  {
#line 2766 "list.m"
    MR_bool mercury__list__succeeded;

#line 2766 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2766 "list.m"
      {
#line 2766 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2766 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2766 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2766 "list.m"
      }
#line 2766 "list.m"
    else
#line 2767 "list.m"
      {
#line 2767 "list.m"
        MR_Box mercury__list__H0_16 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2767 "list.m"
        MR_Word mercury__list__T0_17 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2767 "list.m"
        MR_Box mercury__list__H_18;
#line 2767 "list.m"
        MR_Word mercury__list__T_19;
#line 2767 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_26_26;
#line 2767 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_27_27;
#line 2768 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2768 "list.m"
        {
#line 2768 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_16, &mercury__list__H_18, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_27_27);
        }
#line 2769 "list.m"
        {
#line 2769 "list.m"
          mercury__list__map_foldl2_7_p_2(mercury__list__TypeInfo_for_L_30, mercury__list__TypeInfo_for_M_31, mercury__list__TypeInfo_for_A_32, mercury__list__TypeInfo_for_B_33, mercury__list__P_1, mercury__list__T0_17, &mercury__list__T_19, mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_27_27, mercury__list__STATE_VARIABLE_B_7);
        }
#line 2767 "list.m"
        {
#line 2767 "list.m"
          MR_Word base;
#line 2767 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2767 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2767 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_18;
#line 2767 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_19));
#line 2767 "list.m"
        }
#line 2767 "list.m"
      }
#line 2766 "list.m"
  }
#line 1197 "list.m"
}

#line 1195 "list.m"
void MR_CALL 
mercury__list__map_foldl2_7_p_1(
#line 1195 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_30,
#line 1195 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_31,
#line 1195 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_32,
#line 1195 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_33,
#line 1195 "list.m"
  MR_Word mercury__list__P_1,
#line 1195 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1195 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1195 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1195 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1195 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1195 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7)
#line 1195 "list.m"
{
#line 2766 "list.m"
  {
#line 2766 "list.m"
    MR_bool mercury__list__succeeded;

#line 2766 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2766 "list.m"
      {
#line 2766 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2766 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2766 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2766 "list.m"
      }
#line 2766 "list.m"
    else
#line 2767 "list.m"
      {
#line 2767 "list.m"
        MR_Box mercury__list__H0_16 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2767 "list.m"
        MR_Word mercury__list__T0_17 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2767 "list.m"
        MR_Box mercury__list__H_18;
#line 2767 "list.m"
        MR_Word mercury__list__T_19;
#line 2767 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_26_26;
#line 2767 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_27_27;
#line 2768 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2768 "list.m"
        {
#line 2768 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_16, &mercury__list__H_18, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_27_27);
        }
#line 2769 "list.m"
        {
#line 2769 "list.m"
          mercury__list__map_foldl2_7_p_1(mercury__list__TypeInfo_for_L_30, mercury__list__TypeInfo_for_M_31, mercury__list__TypeInfo_for_A_32, mercury__list__TypeInfo_for_B_33, mercury__list__P_1, mercury__list__T0_17, &mercury__list__T_19, mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_27_27, mercury__list__STATE_VARIABLE_B_7);
        }
#line 2767 "list.m"
        {
#line 2767 "list.m"
          MR_Word base;
#line 2767 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2767 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2767 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_18;
#line 2767 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_19));
#line 2767 "list.m"
        }
#line 2767 "list.m"
      }
#line 2766 "list.m"
  }
#line 1195 "list.m"
}

#line 1193 "list.m"
void MR_CALL 
mercury__list__map_foldl2_7_p_0(
#line 1193 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_30,
#line 1193 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_31,
#line 1193 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_32,
#line 1193 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_33,
#line 1193 "list.m"
  MR_Word mercury__list__P_1,
#line 1193 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1193 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1193 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1193 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1193 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_6,
#line 1193 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_7)
#line 1193 "list.m"
{
#line 2766 "list.m"
  {
#line 2766 "list.m"
    MR_bool mercury__list__succeeded;

#line 2766 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2766 "list.m"
      {
#line 2766 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2766 "list.m"
        *mercury__list__STATE_VARIABLE_B_7 = mercury__list__STATE_VARIABLE_B_0_6;
#line 2766 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2766 "list.m"
      }
#line 2766 "list.m"
    else
#line 2767 "list.m"
      {
#line 2767 "list.m"
        MR_Box mercury__list__H0_16 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2767 "list.m"
        MR_Word mercury__list__T0_17 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2767 "list.m"
        MR_Box mercury__list__H_18;
#line 2767 "list.m"
        MR_Word mercury__list__T_19;
#line 2767 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_26_26;
#line 2767 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_27_27;
#line 2768 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2768 "list.m"
        {
#line 2768 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_16, &mercury__list__H_18, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_B_0_6, &mercury__list__STATE_VARIABLE_B_27_27);
        }
#line 2769 "list.m"
        {
#line 2769 "list.m"
          mercury__list__map_foldl2_7_p_0(mercury__list__TypeInfo_for_L_30, mercury__list__TypeInfo_for_M_31, mercury__list__TypeInfo_for_A_32, mercury__list__TypeInfo_for_B_33, mercury__list__P_1, mercury__list__T0_17, &mercury__list__T_19, mercury__list__STATE_VARIABLE_A_26_26, mercury__list__STATE_VARIABLE_A_5, mercury__list__STATE_VARIABLE_B_27_27, mercury__list__STATE_VARIABLE_B_7);
        }
#line 2767 "list.m"
        {
#line 2767 "list.m"
          MR_Word base;
#line 2767 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2767 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2767 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_18;
#line 2767 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_19));
#line 2767 "list.m"
        }
#line 2767 "list.m"
      }
#line 2766 "list.m"
  }
#line 1193 "list.m"
}

#line 1187 "list.m"
void MR_CALL 
mercury__list__map_foldl_5_p_11(
#line 1187 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1187 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1187 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1187 "list.m"
  MR_Word mercury__list__P_1,
#line 1187 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1187 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1187 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1187 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5)
#line 1187 "list.m"
{
#line 2761 "list.m"
  {
#line 2761 "list.m"
    MR_bool mercury__list__succeeded;

#line 2761 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2761 "list.m"
      {
#line 2761 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2761 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2761 "list.m"
      }
#line 2761 "list.m"
    else
#line 2762 "list.m"
      {
#line 2762 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2762 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2762 "list.m"
        MR_Box mercury__list__H_13;
#line 2762 "list.m"
        MR_Word mercury__list__T_14;
#line 2762 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_18_18;
#line 2763 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2763 "list.m"
        {
#line 2763 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, &mercury__list__H_13, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_18_18);
        }
#line 2764 "list.m"
        {
#line 2764 "list.m"
          mercury__list__map_foldl_5_p_11(mercury__list__TypeInfo_for_L_20, mercury__list__TypeInfo_for_M_21, mercury__list__TypeInfo_for_A_22, mercury__list__P_1, mercury__list__T0_12, &mercury__list__T_14, mercury__list__STATE_VARIABLE_A_18_18, mercury__list__STATE_VARIABLE_A_5);
        }
#line 2762 "list.m"
        {
#line 2762 "list.m"
          MR_Word base;
#line 2762 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2762 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2762 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_13;
#line 2762 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_14));
#line 2762 "list.m"
        }
#line 2762 "list.m"
      }
#line 2761 "list.m"
  }
#line 1187 "list.m"
}

#line 1185 "list.m"
void MR_CALL 
mercury__list__map_foldl_5_p_10(
#line 1185 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1185 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1185 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1185 "list.m"
  MR_Word mercury__list__P_1,
#line 1185 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1185 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1185 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1185 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5)
#line 1185 "list.m"
{
#line 2761 "list.m"
  {
#line 2761 "list.m"
    MR_bool mercury__list__succeeded;

#line 2761 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2761 "list.m"
      {
#line 2761 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2761 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2761 "list.m"
      }
#line 2761 "list.m"
    else
#line 2762 "list.m"
      {
#line 2762 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2762 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2762 "list.m"
        MR_Box mercury__list__H_13;
#line 2762 "list.m"
        MR_Word mercury__list__T_14;
#line 2762 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_18_18;
#line 2763 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2763 "list.m"
        {
#line 2763 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, &mercury__list__H_13, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_18_18);
        }
#line 2764 "list.m"
        {
#line 2764 "list.m"
          mercury__list__map_foldl_5_p_10(mercury__list__TypeInfo_for_L_20, mercury__list__TypeInfo_for_M_21, mercury__list__TypeInfo_for_A_22, mercury__list__P_1, mercury__list__T0_12, &mercury__list__T_14, mercury__list__STATE_VARIABLE_A_18_18, mercury__list__STATE_VARIABLE_A_5);
        }
#line 2762 "list.m"
        {
#line 2762 "list.m"
          MR_Word base;
#line 2762 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2762 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2762 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_13;
#line 2762 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_14));
#line 2762 "list.m"
        }
#line 2762 "list.m"
      }
#line 2761 "list.m"
  }
#line 1185 "list.m"
}

#line 1183 "list.m"
void MR_CALL 
mercury__list__map_foldl_5_p_9(
#line 1183 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1183 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1183 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1183 "list.m"
  MR_Word mercury__list__P_1,
#line 1183 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1183 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1183 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1183 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5)
#line 1183 "list.m"
{
#line 2761 "list.m"
  {
#line 2761 "list.m"
    MR_bool mercury__list__succeeded;

#line 2761 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2761 "list.m"
      {
#line 2761 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2761 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2761 "list.m"
      }
#line 2761 "list.m"
    else
#line 2762 "list.m"
      {
#line 2762 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2762 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2762 "list.m"
        MR_Box mercury__list__H_13;
#line 2762 "list.m"
        MR_Word mercury__list__T_14;
#line 2762 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_18_18;
#line 2763 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2763 "list.m"
        {
#line 2763 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, &mercury__list__H_13, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_18_18);
        }
#line 2764 "list.m"
        {
#line 2764 "list.m"
          mercury__list__map_foldl_5_p_9(mercury__list__TypeInfo_for_L_20, mercury__list__TypeInfo_for_M_21, mercury__list__TypeInfo_for_A_22, mercury__list__P_1, mercury__list__T0_12, &mercury__list__T_14, mercury__list__STATE_VARIABLE_A_18_18, mercury__list__STATE_VARIABLE_A_5);
        }
#line 2762 "list.m"
        {
#line 2762 "list.m"
          MR_Word base;
#line 2762 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2762 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2762 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_13;
#line 2762 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_14));
#line 2762 "list.m"
        }
#line 2762 "list.m"
      }
#line 2761 "list.m"
  }
#line 1183 "list.m"
}

#line 2762 "list.m"
static void MR_CALL 
mercury__list__map_foldl_5_p_8_2(
#line 2762 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2762 "list.m"
{
#line 2762 "list.m"
  {
#line 2762 "list.m"
    struct mercury__list__map_foldl_5_p_8_env_0_s * mercury__list__env_ptr = (struct mercury__list__map_foldl_5_p_8_env_0_s *) mercury__list__env_ptr_arg;

#line 2762 "list.m"
    {
#line 2762 "list.m"
      MR_Word base;
#line 2762 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2762 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map_foldl_5_p_8_env_0__HeadVar__3_3) = base;
#line 2762 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map_foldl_5_p_8_env_0__H_13;
#line 2762 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map_foldl_5_p_8_env_0__T_14));
#line 2762 "list.m"
    }
#line 2762 "list.m"
    {
#line 2762 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map_foldl_5_p_8_env_0__cont)((mercury__list__env_ptr)->mercury__list__map_foldl_5_p_8_env_0__cont_env_ptr);
#line 2762 "list.m"
      return;
    }
#line 2762 "list.m"
  }
#line 2762 "list.m"
}

#line 2762 "list.m"
static void MR_CALL 
mercury__list__map_foldl_5_p_8_1(
#line 2762 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2762 "list.m"
{
#line 2762 "list.m"
  {
#line 2762 "list.m"
    struct mercury__list__map_foldl_5_p_8_env_0_s * mercury__list__env_ptr = (struct mercury__list__map_foldl_5_p_8_env_0_s *) mercury__list__env_ptr_arg;

#line 2764 "list.m"
    {
#line 2764 "list.m"
      mercury__list__map_foldl_5_p_8((mercury__list__env_ptr)->mercury__list__map_foldl_5_p_8_env_0__TypeInfo_for_L_20, (mercury__list__env_ptr)->mercury__list__map_foldl_5_p_8_env_0__TypeInfo_for_M_21, (mercury__list__env_ptr)->mercury__list__map_foldl_5_p_8_env_0__TypeInfo_for_A_22, (mercury__list__env_ptr)->mercury__list__map_foldl_5_p_8_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map_foldl_5_p_8_env_0__T0_12, &(mercury__list__env_ptr)->mercury__list__map_foldl_5_p_8_env_0__T_14, (mercury__list__env_ptr)->mercury__list__map_foldl_5_p_8_env_0__STATE_VARIABLE_A_18_18, (mercury__list__env_ptr)->mercury__list__map_foldl_5_p_8_env_0__STATE_VARIABLE_A_5, mercury__list__map_foldl_5_p_8_2, mercury__list__env_ptr);
    }
#line 2762 "list.m"
  }
#line 2762 "list.m"
}

#line 1181 "list.m"
void MR_CALL 
mercury__list__map_foldl_5_p_8(
#line 1181 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1181 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1181 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1181 "list.m"
  MR_Word mercury__list__P_1,
#line 1181 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1181 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1181 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1181 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1181 "list.m"
  MR_Cont mercury__list__cont,
#line 1181 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1181 "list.m"
{
#line 1181 "list.m"
  {
#line 1181 "list.m"
    struct mercury__list__map_foldl_5_p_8_env_0_s mercury__list__env;

#line 1181 "list.m"
    (mercury__list__env).mercury__list__map_foldl_5_p_8_env_0__TypeInfo_for_L_20 = mercury__list__TypeInfo_for_L_20;
#line 1181 "list.m"
    (mercury__list__env).mercury__list__map_foldl_5_p_8_env_0__TypeInfo_for_M_21 = mercury__list__TypeInfo_for_M_21;
#line 1181 "list.m"
    (mercury__list__env).mercury__list__map_foldl_5_p_8_env_0__TypeInfo_for_A_22 = mercury__list__TypeInfo_for_A_22;
#line 1181 "list.m"
    (mercury__list__env).mercury__list__map_foldl_5_p_8_env_0__P_1 = mercury__list__P_1;
#line 1181 "list.m"
    (mercury__list__env).mercury__list__map_foldl_5_p_8_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 1181 "list.m"
    (mercury__list__env).mercury__list__map_foldl_5_p_8_env_0__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_5;
#line 1181 "list.m"
    (mercury__list__env).mercury__list__map_foldl_5_p_8_env_0__cont = mercury__list__cont;
#line 1181 "list.m"
    (mercury__list__env).mercury__list__map_foldl_5_p_8_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2761 "list.m"
    {
#line 2761 "list.m"
      MR_bool mercury__list__succeeded;

#line 2761 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2761 "list.m"
        {
#line 2761 "list.m"
          *((mercury__list__env).mercury__list__map_foldl_5_p_8_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2761 "list.m"
          *((mercury__list__env).mercury__list__map_foldl_5_p_8_env_0__STATE_VARIABLE_A_5) = mercury__list__STATE_VARIABLE_A_0_4;
#line 2761 "list.m"
          {
#line 2761 "list.m"
            ((mercury__list__env).mercury__list__map_foldl_5_p_8_env_0__cont)((mercury__list__env).mercury__list__map_foldl_5_p_8_env_0__cont_env_ptr);
#line 2761 "list.m"
            return;
          }
#line 2761 "list.m"
        }
#line 2761 "list.m"
      else
#line 2762 "list.m"
        {
#line 2762 "list.m"
          MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2763 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2762 "list.m"
          (mercury__list__env).mercury__list__map_foldl_5_p_8_env_0__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2763 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map_foldl_5_p_8_env_0__P_1, (MR_Integer) 1)));
#line 2763 "list.m"
          {
#line 2763 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map_foldl_5_p_8_env_0__P_1), mercury__list__H0_11, &(mercury__list__env).mercury__list__map_foldl_5_p_8_env_0__H_13, mercury__list__STATE_VARIABLE_A_0_4, &(mercury__list__env).mercury__list__map_foldl_5_p_8_env_0__STATE_VARIABLE_A_18_18, mercury__list__map_foldl_5_p_8_1, &mercury__list__env);
          }
#line 2762 "list.m"
        }
#line 2761 "list.m"
    }
#line 1181 "list.m"
  }
#line 1181 "list.m"
}

#line 2762 "list.m"
static void MR_CALL 
mercury__list__map_foldl_5_p_7_2(
#line 2762 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2762 "list.m"
{
#line 2762 "list.m"
  {
#line 2762 "list.m"
    struct mercury__list__map_foldl_5_p_7_env_0_s * mercury__list__env_ptr = (struct mercury__list__map_foldl_5_p_7_env_0_s *) mercury__list__env_ptr_arg;

#line 2762 "list.m"
    {
#line 2762 "list.m"
      MR_Word base;
#line 2762 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2762 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map_foldl_5_p_7_env_0__HeadVar__3_3) = base;
#line 2762 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map_foldl_5_p_7_env_0__H_13;
#line 2762 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map_foldl_5_p_7_env_0__T_14));
#line 2762 "list.m"
    }
#line 2762 "list.m"
    {
#line 2762 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map_foldl_5_p_7_env_0__cont)((mercury__list__env_ptr)->mercury__list__map_foldl_5_p_7_env_0__cont_env_ptr);
#line 2762 "list.m"
      return;
    }
#line 2762 "list.m"
  }
#line 2762 "list.m"
}

#line 2762 "list.m"
static void MR_CALL 
mercury__list__map_foldl_5_p_7_1(
#line 2762 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2762 "list.m"
{
#line 2762 "list.m"
  {
#line 2762 "list.m"
    struct mercury__list__map_foldl_5_p_7_env_0_s * mercury__list__env_ptr = (struct mercury__list__map_foldl_5_p_7_env_0_s *) mercury__list__env_ptr_arg;

#line 2764 "list.m"
    {
#line 2764 "list.m"
      mercury__list__map_foldl_5_p_7((mercury__list__env_ptr)->mercury__list__map_foldl_5_p_7_env_0__TypeInfo_for_L_20, (mercury__list__env_ptr)->mercury__list__map_foldl_5_p_7_env_0__TypeInfo_for_M_21, (mercury__list__env_ptr)->mercury__list__map_foldl_5_p_7_env_0__TypeInfo_for_A_22, (mercury__list__env_ptr)->mercury__list__map_foldl_5_p_7_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map_foldl_5_p_7_env_0__T0_12, &(mercury__list__env_ptr)->mercury__list__map_foldl_5_p_7_env_0__T_14, (mercury__list__env_ptr)->mercury__list__map_foldl_5_p_7_env_0__STATE_VARIABLE_A_18_18, (mercury__list__env_ptr)->mercury__list__map_foldl_5_p_7_env_0__STATE_VARIABLE_A_5, mercury__list__map_foldl_5_p_7_2, mercury__list__env_ptr);
    }
#line 2762 "list.m"
  }
#line 2762 "list.m"
}

#line 1179 "list.m"
void MR_CALL 
mercury__list__map_foldl_5_p_7(
#line 1179 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1179 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1179 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1179 "list.m"
  MR_Word mercury__list__P_1,
#line 1179 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1179 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1179 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1179 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5,
#line 1179 "list.m"
  MR_Cont mercury__list__cont,
#line 1179 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1179 "list.m"
{
#line 1179 "list.m"
  {
#line 1179 "list.m"
    struct mercury__list__map_foldl_5_p_7_env_0_s mercury__list__env;

#line 1179 "list.m"
    (mercury__list__env).mercury__list__map_foldl_5_p_7_env_0__TypeInfo_for_L_20 = mercury__list__TypeInfo_for_L_20;
#line 1179 "list.m"
    (mercury__list__env).mercury__list__map_foldl_5_p_7_env_0__TypeInfo_for_M_21 = mercury__list__TypeInfo_for_M_21;
#line 1179 "list.m"
    (mercury__list__env).mercury__list__map_foldl_5_p_7_env_0__TypeInfo_for_A_22 = mercury__list__TypeInfo_for_A_22;
#line 1179 "list.m"
    (mercury__list__env).mercury__list__map_foldl_5_p_7_env_0__P_1 = mercury__list__P_1;
#line 1179 "list.m"
    (mercury__list__env).mercury__list__map_foldl_5_p_7_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 1179 "list.m"
    (mercury__list__env).mercury__list__map_foldl_5_p_7_env_0__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_5;
#line 1179 "list.m"
    (mercury__list__env).mercury__list__map_foldl_5_p_7_env_0__cont = mercury__list__cont;
#line 1179 "list.m"
    (mercury__list__env).mercury__list__map_foldl_5_p_7_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2761 "list.m"
    {
#line 2761 "list.m"
      MR_bool mercury__list__succeeded;

#line 2761 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2761 "list.m"
        {
#line 2761 "list.m"
          *((mercury__list__env).mercury__list__map_foldl_5_p_7_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2761 "list.m"
          *((mercury__list__env).mercury__list__map_foldl_5_p_7_env_0__STATE_VARIABLE_A_5) = mercury__list__STATE_VARIABLE_A_0_4;
#line 2761 "list.m"
          {
#line 2761 "list.m"
            ((mercury__list__env).mercury__list__map_foldl_5_p_7_env_0__cont)((mercury__list__env).mercury__list__map_foldl_5_p_7_env_0__cont_env_ptr);
#line 2761 "list.m"
            return;
          }
#line 2761 "list.m"
        }
#line 2761 "list.m"
      else
#line 2762 "list.m"
        {
#line 2762 "list.m"
          MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2763 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2762 "list.m"
          (mercury__list__env).mercury__list__map_foldl_5_p_7_env_0__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2763 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map_foldl_5_p_7_env_0__P_1, (MR_Integer) 1)));
#line 2763 "list.m"
          {
#line 2763 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map_foldl_5_p_7_env_0__P_1), mercury__list__H0_11, &(mercury__list__env).mercury__list__map_foldl_5_p_7_env_0__H_13, mercury__list__STATE_VARIABLE_A_0_4, &(mercury__list__env).mercury__list__map_foldl_5_p_7_env_0__STATE_VARIABLE_A_18_18, mercury__list__map_foldl_5_p_7_1, &mercury__list__env);
          }
#line 2762 "list.m"
        }
#line 2761 "list.m"
    }
#line 1179 "list.m"
  }
#line 1179 "list.m"
}

#line 1177 "list.m"
MR_bool MR_CALL 
mercury__list__map_foldl_5_p_6(
#line 1177 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1177 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1177 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1177 "list.m"
  MR_Word mercury__list__P_1,
#line 1177 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1177 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1177 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1177 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5)
#line 1177 "list.m"
{
#line 2761 "list.m"
  while (MR_TRUE)
#line 2761 "list.m"
    {
#line 2761 "list.m"
      /* tailcall optimized into a loop */
#line 2761 "list.m"
      {
#line 2761 "list.m"
        MR_bool mercury__list__succeeded;

#line 2761 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2761 "list.m"
          {
#line 2761 "list.m"
            mercury__list__succeeded = (mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2761 "list.m"
            if (mercury__list__succeeded)
#line 2761 "list.m"
              {
#line 2761 "list.m"
                *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2761 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2761 "list.m"
              }
#line 2761 "list.m"
          }
#line 2761 "list.m"
        else
#line 2762 "list.m"
          {
#line 2762 "list.m"
            MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2762 "list.m"
            MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2762 "list.m"
            MR_Box mercury__list__H_13;
#line 2762 "list.m"
            MR_Word mercury__list__T_14;
#line 2762 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_18_18;
#line 2763 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *);

#line 2762 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1)));
#line 2762 "list.m"
            if (mercury__list__succeeded)
#line 2762 "list.m"
              {
#line 2762 "list.m"
                mercury__list__H_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2762 "list.m"
                mercury__list__T_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2763 "list.m"
                mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2763 "list.m"
                {
#line 2763 "list.m"
                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, mercury__list__H_13, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_18_18);
                }
#line 2762 "list.m"
                if (mercury__list__succeeded)
#line 2764 "list.m"
                  {
#line 2764 "list.m"
                    /* direct tailcall eliminated */
#line 2764 "list.m"
                    {
#line 2764 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T0_12;
#line 2764 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__T_14;
#line 2764 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_A_18_18;

#line 2764 "list.m"
                      mercury__list__STATE_VARIABLE_A_0_4 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_4;
#line 2764 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2764 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2764 "list.m"
                    }
#line 2764 "list.m"
                    continue;
#line 2764 "list.m"
                  }
#line 2762 "list.m"
              }
#line 2762 "list.m"
          }
#line 2761 "list.m"
        return mercury__list__succeeded;
#line 2761 "list.m"
      }
#line 2761 "list.m"
      break;
#line 2761 "list.m"
    }
#line 1177 "list.m"
}

#line 1175 "list.m"
MR_bool MR_CALL 
mercury__list__map_foldl_5_p_5(
#line 1175 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1175 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1175 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1175 "list.m"
  MR_Word mercury__list__P_1,
#line 1175 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1175 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1175 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1175 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5)
#line 1175 "list.m"
{
#line 2761 "list.m"
  {
#line 2761 "list.m"
    MR_bool mercury__list__succeeded;

#line 2761 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2761 "list.m"
      {
#line 2761 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2761 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2761 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2761 "list.m"
      }
#line 2761 "list.m"
    else
#line 2762 "list.m"
      {
#line 2762 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2762 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2762 "list.m"
        MR_Box mercury__list__H_13;
#line 2762 "list.m"
        MR_Word mercury__list__T_14;
#line 2762 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_18_18;
#line 2763 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2763 "list.m"
        {
#line 2763 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, &mercury__list__H_13, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_18_18);
        }
#line 2762 "list.m"
        if (mercury__list__succeeded)
#line 2762 "list.m"
          {
#line 2764 "list.m"
            {
#line 2764 "list.m"
              mercury__list__succeeded = mercury__list__map_foldl_5_p_5(mercury__list__TypeInfo_for_L_20, mercury__list__TypeInfo_for_M_21, mercury__list__TypeInfo_for_A_22, mercury__list__P_1, mercury__list__T0_12, &mercury__list__T_14, mercury__list__STATE_VARIABLE_A_18_18, mercury__list__STATE_VARIABLE_A_5);
            }
#line 2762 "list.m"
            if (mercury__list__succeeded)
#line 2762 "list.m"
              {
#line 2762 "list.m"
                {
#line 2762 "list.m"
                  MR_Word base;
#line 2762 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2762 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2762 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_13;
#line 2762 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_14));
#line 2762 "list.m"
                }
#line 2762 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2762 "list.m"
              }
#line 2762 "list.m"
          }
#line 2762 "list.m"
      }
#line 2761 "list.m"
    return mercury__list__succeeded;
#line 2761 "list.m"
  }
#line 1175 "list.m"
}

#line 1173 "list.m"
MR_bool MR_CALL 
mercury__list__map_foldl_5_p_4(
#line 1173 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1173 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1173 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1173 "list.m"
  MR_Word mercury__list__P_1,
#line 1173 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1173 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1173 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1173 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5)
#line 1173 "list.m"
{
#line 2761 "list.m"
  {
#line 2761 "list.m"
    MR_bool mercury__list__succeeded;

#line 2761 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2761 "list.m"
      {
#line 2761 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2761 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2761 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2761 "list.m"
      }
#line 2761 "list.m"
    else
#line 2762 "list.m"
      {
#line 2762 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2762 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2762 "list.m"
        MR_Box mercury__list__H_13;
#line 2762 "list.m"
        MR_Word mercury__list__T_14;
#line 2762 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_18_18;
#line 2763 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2763 "list.m"
        {
#line 2763 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, &mercury__list__H_13, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_18_18);
        }
#line 2762 "list.m"
        if (mercury__list__succeeded)
#line 2762 "list.m"
          {
#line 2764 "list.m"
            {
#line 2764 "list.m"
              mercury__list__succeeded = mercury__list__map_foldl_5_p_4(mercury__list__TypeInfo_for_L_20, mercury__list__TypeInfo_for_M_21, mercury__list__TypeInfo_for_A_22, mercury__list__P_1, mercury__list__T0_12, &mercury__list__T_14, mercury__list__STATE_VARIABLE_A_18_18, mercury__list__STATE_VARIABLE_A_5);
            }
#line 2762 "list.m"
            if (mercury__list__succeeded)
#line 2762 "list.m"
              {
#line 2762 "list.m"
                {
#line 2762 "list.m"
                  MR_Word base;
#line 2762 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2762 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2762 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_13;
#line 2762 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_14));
#line 2762 "list.m"
                }
#line 2762 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2762 "list.m"
              }
#line 2762 "list.m"
          }
#line 2762 "list.m"
      }
#line 2761 "list.m"
    return mercury__list__succeeded;
#line 2761 "list.m"
  }
#line 1173 "list.m"
}

#line 1171 "list.m"
MR_bool MR_CALL 
mercury__list__map_foldl_5_p_3(
#line 1171 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1171 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1171 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1171 "list.m"
  MR_Word mercury__list__P_1,
#line 1171 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1171 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1171 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1171 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5)
#line 1171 "list.m"
{
#line 2761 "list.m"
  {
#line 2761 "list.m"
    MR_bool mercury__list__succeeded;

#line 2761 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2761 "list.m"
      {
#line 2761 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2761 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2761 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2761 "list.m"
      }
#line 2761 "list.m"
    else
#line 2762 "list.m"
      {
#line 2762 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2762 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2762 "list.m"
        MR_Box mercury__list__H_13;
#line 2762 "list.m"
        MR_Word mercury__list__T_14;
#line 2762 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_18_18;
#line 2763 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2763 "list.m"
        {
#line 2763 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, &mercury__list__H_13, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_18_18);
        }
#line 2762 "list.m"
        if (mercury__list__succeeded)
#line 2762 "list.m"
          {
#line 2764 "list.m"
            {
#line 2764 "list.m"
              mercury__list__succeeded = mercury__list__map_foldl_5_p_3(mercury__list__TypeInfo_for_L_20, mercury__list__TypeInfo_for_M_21, mercury__list__TypeInfo_for_A_22, mercury__list__P_1, mercury__list__T0_12, &mercury__list__T_14, mercury__list__STATE_VARIABLE_A_18_18, mercury__list__STATE_VARIABLE_A_5);
            }
#line 2762 "list.m"
            if (mercury__list__succeeded)
#line 2762 "list.m"
              {
#line 2762 "list.m"
                {
#line 2762 "list.m"
                  MR_Word base;
#line 2762 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2762 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2762 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_13;
#line 2762 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_14));
#line 2762 "list.m"
                }
#line 2762 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2762 "list.m"
              }
#line 2762 "list.m"
          }
#line 2762 "list.m"
      }
#line 2761 "list.m"
    return mercury__list__succeeded;
#line 2761 "list.m"
  }
#line 1171 "list.m"
}

#line 1169 "list.m"
void MR_CALL 
mercury__list__map_foldl_5_p_2(
#line 1169 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1169 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1169 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1169 "list.m"
  MR_Word mercury__list__P_1,
#line 1169 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1169 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1169 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1169 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5)
#line 1169 "list.m"
{
#line 2761 "list.m"
  {
#line 2761 "list.m"
    MR_bool mercury__list__succeeded;

#line 2761 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2761 "list.m"
      {
#line 2761 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2761 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2761 "list.m"
      }
#line 2761 "list.m"
    else
#line 2762 "list.m"
      {
#line 2762 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2762 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2762 "list.m"
        MR_Box mercury__list__H_13;
#line 2762 "list.m"
        MR_Word mercury__list__T_14;
#line 2762 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_18_18;
#line 2763 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2763 "list.m"
        {
#line 2763 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, &mercury__list__H_13, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_18_18);
        }
#line 2764 "list.m"
        {
#line 2764 "list.m"
          mercury__list__map_foldl_5_p_2(mercury__list__TypeInfo_for_L_20, mercury__list__TypeInfo_for_M_21, mercury__list__TypeInfo_for_A_22, mercury__list__P_1, mercury__list__T0_12, &mercury__list__T_14, mercury__list__STATE_VARIABLE_A_18_18, mercury__list__STATE_VARIABLE_A_5);
        }
#line 2762 "list.m"
        {
#line 2762 "list.m"
          MR_Word base;
#line 2762 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2762 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2762 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_13;
#line 2762 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_14));
#line 2762 "list.m"
        }
#line 2762 "list.m"
      }
#line 2761 "list.m"
  }
#line 1169 "list.m"
}

#line 1167 "list.m"
void MR_CALL 
mercury__list__map_foldl_5_p_1(
#line 1167 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1167 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1167 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1167 "list.m"
  MR_Word mercury__list__P_1,
#line 1167 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1167 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1167 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1167 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5)
#line 1167 "list.m"
{
#line 2761 "list.m"
  {
#line 2761 "list.m"
    MR_bool mercury__list__succeeded;

#line 2761 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2761 "list.m"
      {
#line 2761 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2761 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2761 "list.m"
      }
#line 2761 "list.m"
    else
#line 2762 "list.m"
      {
#line 2762 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2762 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2762 "list.m"
        MR_Box mercury__list__H_13;
#line 2762 "list.m"
        MR_Word mercury__list__T_14;
#line 2762 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_18_18;
#line 2763 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2763 "list.m"
        {
#line 2763 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, &mercury__list__H_13, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_18_18);
        }
#line 2764 "list.m"
        {
#line 2764 "list.m"
          mercury__list__map_foldl_5_p_1(mercury__list__TypeInfo_for_L_20, mercury__list__TypeInfo_for_M_21, mercury__list__TypeInfo_for_A_22, mercury__list__P_1, mercury__list__T0_12, &mercury__list__T_14, mercury__list__STATE_VARIABLE_A_18_18, mercury__list__STATE_VARIABLE_A_5);
        }
#line 2762 "list.m"
        {
#line 2762 "list.m"
          MR_Word base;
#line 2762 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2762 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2762 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_13;
#line 2762 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_14));
#line 2762 "list.m"
        }
#line 2762 "list.m"
      }
#line 2761 "list.m"
  }
#line 1167 "list.m"
}

#line 1165 "list.m"
void MR_CALL 
mercury__list__map_foldl_5_p_0(
#line 1165 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_20,
#line 1165 "list.m"
  MR_Word mercury__list__TypeInfo_for_M_21,
#line 1165 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 1165 "list.m"
  MR_Word mercury__list__P_1,
#line 1165 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1165 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 1165 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_4,
#line 1165 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_5)
#line 1165 "list.m"
{
#line 2761 "list.m"
  {
#line 2761 "list.m"
    MR_bool mercury__list__succeeded;

#line 2761 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2761 "list.m"
      {
#line 2761 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2761 "list.m"
        *mercury__list__STATE_VARIABLE_A_5 = mercury__list__STATE_VARIABLE_A_0_4;
#line 2761 "list.m"
      }
#line 2761 "list.m"
    else
#line 2762 "list.m"
      {
#line 2762 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2762 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2762 "list.m"
        MR_Box mercury__list__H_13;
#line 2762 "list.m"
        MR_Word mercury__list__T_14;
#line 2762 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_18_18;
#line 2763 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2763 "list.m"
        {
#line 2763 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, &mercury__list__H_13, mercury__list__STATE_VARIABLE_A_0_4, &mercury__list__STATE_VARIABLE_A_18_18);
        }
#line 2764 "list.m"
        {
#line 2764 "list.m"
          mercury__list__map_foldl_5_p_0(mercury__list__TypeInfo_for_L_20, mercury__list__TypeInfo_for_M_21, mercury__list__TypeInfo_for_A_22, mercury__list__P_1, mercury__list__T0_12, &mercury__list__T_14, mercury__list__STATE_VARIABLE_A_18_18, mercury__list__STATE_VARIABLE_A_5);
        }
#line 2762 "list.m"
        {
#line 2762 "list.m"
          MR_Word base;
#line 2762 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2762 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2762 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_13;
#line 2762 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_14));
#line 2762 "list.m"
        }
#line 2762 "list.m"
      }
#line 2761 "list.m"
  }
#line 1165 "list.m"
}

#line 1154 "list.m"
MR_bool MR_CALL 
mercury__list__foldl4_corresponding3_12_p_5(
#line 1154 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_143,
#line 1154 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_144,
#line 1154 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_145,
#line 1154 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_146,
#line 1154 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_147,
#line 1154 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_148,
#line 1154 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_149,
#line 1154 "list.m"
  MR_Word mercury__list__P_1,
#line 1154 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1154 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1154 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1154 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 1154 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 1154 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 1154 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8,
#line 1154 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_9,
#line 1154 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_10,
#line 1154 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc4_0_11,
#line 1154 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc4_12)
#line 1154 "list.m"
{
#line 2743 "list.m"
  while (MR_TRUE)
#line 2743 "list.m"
    {
#line 2743 "list.m"
      /* tailcall optimized into a loop */
#line 2743 "list.m"
      {
#line 2743 "list.m"
        MR_bool mercury__list__succeeded;

#line 2743 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
          {
#line 2743 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
                {
#line 2743 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc4_12 = mercury__list__STATE_VARIABLE_Acc4_0_11;
#line 2743 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc3_10 = mercury__list__STATE_VARIABLE_Acc3_0_9;
#line 2743 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2743 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2743 "list.m"
                }
#line 2743 "list.m"
              else
#line 2748 "list.m"
                {
#line 2749 "list.m"
                  {
#line 2749 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
                  }
#line 2748 "list.m"
                }
#line 2743 "list.m"
            else
#line 2743 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2746 "list.m"
                {
#line 2747 "list.m"
                  {
#line 2747 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
                  }
#line 2746 "list.m"
                }
#line 2743 "list.m"
              else
#line 2750 "list.m"
                {
#line 2751 "list.m"
                  {
#line 2751 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
                  }
#line 2750 "list.m"
                }
#line 2743 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2743 "list.m"
          }
#line 2743 "list.m"
        else
#line 2743 "list.m"
          {
#line 2743 "list.m"
            MR_Word mercury__list__V_152_152 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2743 "list.m"
            MR_Box mercury__list__V_153_153 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2743 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
              {
#line 2743 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2744 "list.m"
                  {
#line 2745 "list.m"
                    {
#line 2745 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
                    }
#line 2744 "list.m"
                  }
#line 2743 "list.m"
                else
#line 2752 "list.m"
                  {
#line 2753 "list.m"
                    {
#line 2753 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
                    }
#line 2752 "list.m"
                  }
#line 2743 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2743 "list.m"
              }
#line 2743 "list.m"
            else
#line 2743 "list.m"
              {
#line 2743 "list.m"
                MR_Word mercury__list__V_154_154 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2743 "list.m"
                MR_Box mercury__list__V_155_155 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2743 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2754 "list.m"
                  {
#line 2755 "list.m"
                    {
#line 2755 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
                    }
#line 2754 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2754 "list.m"
                  }
#line 2743 "list.m"
                else
#line 2757 "list.m"
                  {
#line 2757 "list.m"
                    MR_Box mercury__list__C_121 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2757 "list.m"
                    MR_Word mercury__list__Cs_122 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc1_135_135;
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc2_136_136;
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc3_137_137;
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc4_138_138;
#line 2758 "list.m"
                    MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2758 "list.m"
                    {
#line 2758 "list.m"
                      mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_153_153, mercury__list__V_155_155, mercury__list__C_121, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_135_135, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_136_136, mercury__list__STATE_VARIABLE_Acc3_0_9, &mercury__list__STATE_VARIABLE_Acc3_137_137, mercury__list__STATE_VARIABLE_Acc4_0_11, &mercury__list__STATE_VARIABLE_Acc4_138_138);
                    }
#line 2757 "list.m"
                    if (mercury__list__succeeded)
#line 2759 "list.m"
                      {
#line 2759 "list.m"
                        /* direct tailcall eliminated */
#line 2759 "list.m"
                        {
#line 2759 "list.m"
                          MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_152_152;
#line 2759 "list.m"
                          MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_154_154;
#line 2759 "list.m"
                          MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_122;
#line 2759 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc1_135_135;
#line 2759 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_Acc2_136_136;
#line 2759 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_Acc3_137_137;
#line 2759 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc4_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_Acc4_138_138;

#line 2759 "list.m"
                          mercury__list__STATE_VARIABLE_Acc4_0_11 = mercury__list__STATE_VARIABLE_Acc4_0__tmp_copy_11;
#line 2759 "list.m"
                          mercury__list__STATE_VARIABLE_Acc3_0_9 = mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9;
#line 2759 "list.m"
                          mercury__list__STATE_VARIABLE_Acc2_0_7 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7;
#line 2759 "list.m"
                          mercury__list__STATE_VARIABLE_Acc1_0_5 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5;
#line 2759 "list.m"
                          mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2759 "list.m"
                          mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2759 "list.m"
                          mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2759 "list.m"
                        }
#line 2759 "list.m"
                        continue;
#line 2759 "list.m"
                      }
#line 2757 "list.m"
                  }
#line 2743 "list.m"
              }
#line 2743 "list.m"
          }
#line 2743 "list.m"
        return mercury__list__succeeded;
#line 2743 "list.m"
      }
#line 2743 "list.m"
      break;
#line 2743 "list.m"
    }
#line 1154 "list.m"
}

#line 1151 "list.m"
MR_bool MR_CALL 
mercury__list__foldl4_corresponding3_12_p_4(
#line 1151 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_143,
#line 1151 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_144,
#line 1151 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_145,
#line 1151 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_146,
#line 1151 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_147,
#line 1151 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_148,
#line 1151 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_149,
#line 1151 "list.m"
  MR_Word mercury__list__P_1,
#line 1151 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1151 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1151 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1151 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 1151 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 1151 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 1151 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8,
#line 1151 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_9,
#line 1151 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_10,
#line 1151 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc4_0_11,
#line 1151 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc4_12)
#line 1151 "list.m"
{
#line 2743 "list.m"
  while (MR_TRUE)
#line 2743 "list.m"
    {
#line 2743 "list.m"
      /* tailcall optimized into a loop */
#line 2743 "list.m"
      {
#line 2743 "list.m"
        MR_bool mercury__list__succeeded;

#line 2743 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
          {
#line 2743 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
                {
#line 2743 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc4_12 = mercury__list__STATE_VARIABLE_Acc4_0_11;
#line 2743 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc3_10 = mercury__list__STATE_VARIABLE_Acc3_0_9;
#line 2743 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2743 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2743 "list.m"
                }
#line 2743 "list.m"
              else
#line 2748 "list.m"
                {
#line 2749 "list.m"
                  {
#line 2749 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
                  }
#line 2748 "list.m"
                }
#line 2743 "list.m"
            else
#line 2743 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2746 "list.m"
                {
#line 2747 "list.m"
                  {
#line 2747 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
                  }
#line 2746 "list.m"
                }
#line 2743 "list.m"
              else
#line 2750 "list.m"
                {
#line 2751 "list.m"
                  {
#line 2751 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
                  }
#line 2750 "list.m"
                }
#line 2743 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2743 "list.m"
          }
#line 2743 "list.m"
        else
#line 2743 "list.m"
          {
#line 2743 "list.m"
            MR_Word mercury__list__V_152_152 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2743 "list.m"
            MR_Box mercury__list__V_153_153 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2743 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
              {
#line 2743 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2744 "list.m"
                  {
#line 2745 "list.m"
                    {
#line 2745 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
                    }
#line 2744 "list.m"
                  }
#line 2743 "list.m"
                else
#line 2752 "list.m"
                  {
#line 2753 "list.m"
                    {
#line 2753 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
                    }
#line 2752 "list.m"
                  }
#line 2743 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2743 "list.m"
              }
#line 2743 "list.m"
            else
#line 2743 "list.m"
              {
#line 2743 "list.m"
                MR_Word mercury__list__V_154_154 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2743 "list.m"
                MR_Box mercury__list__V_155_155 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2743 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2754 "list.m"
                  {
#line 2755 "list.m"
                    {
#line 2755 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
                    }
#line 2754 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2754 "list.m"
                  }
#line 2743 "list.m"
                else
#line 2757 "list.m"
                  {
#line 2757 "list.m"
                    MR_Box mercury__list__C_121 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2757 "list.m"
                    MR_Word mercury__list__Cs_122 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc1_135_135;
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc2_136_136;
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc3_137_137;
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc4_138_138;
#line 2758 "list.m"
                    MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2758 "list.m"
                    {
#line 2758 "list.m"
                      mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_153_153, mercury__list__V_155_155, mercury__list__C_121, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_135_135, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_136_136, mercury__list__STATE_VARIABLE_Acc3_0_9, &mercury__list__STATE_VARIABLE_Acc3_137_137, mercury__list__STATE_VARIABLE_Acc4_0_11, &mercury__list__STATE_VARIABLE_Acc4_138_138);
                    }
#line 2757 "list.m"
                    if (mercury__list__succeeded)
#line 2759 "list.m"
                      {
#line 2759 "list.m"
                        /* direct tailcall eliminated */
#line 2759 "list.m"
                        {
#line 2759 "list.m"
                          MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_152_152;
#line 2759 "list.m"
                          MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_154_154;
#line 2759 "list.m"
                          MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_122;
#line 2759 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc1_135_135;
#line 2759 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_Acc2_136_136;
#line 2759 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_Acc3_137_137;
#line 2759 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc4_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_Acc4_138_138;

#line 2759 "list.m"
                          mercury__list__STATE_VARIABLE_Acc4_0_11 = mercury__list__STATE_VARIABLE_Acc4_0__tmp_copy_11;
#line 2759 "list.m"
                          mercury__list__STATE_VARIABLE_Acc3_0_9 = mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9;
#line 2759 "list.m"
                          mercury__list__STATE_VARIABLE_Acc2_0_7 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7;
#line 2759 "list.m"
                          mercury__list__STATE_VARIABLE_Acc1_0_5 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5;
#line 2759 "list.m"
                          mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2759 "list.m"
                          mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2759 "list.m"
                          mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2759 "list.m"
                        }
#line 2759 "list.m"
                        continue;
#line 2759 "list.m"
                      }
#line 2757 "list.m"
                  }
#line 2743 "list.m"
              }
#line 2743 "list.m"
          }
#line 2743 "list.m"
        return mercury__list__succeeded;
#line 2743 "list.m"
      }
#line 2743 "list.m"
      break;
#line 2743 "list.m"
    }
#line 1151 "list.m"
}

#line 1148 "list.m"
MR_bool MR_CALL 
mercury__list__foldl4_corresponding3_12_p_3(
#line 1148 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_143,
#line 1148 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_144,
#line 1148 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_145,
#line 1148 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_146,
#line 1148 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_147,
#line 1148 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_148,
#line 1148 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_149,
#line 1148 "list.m"
  MR_Word mercury__list__P_1,
#line 1148 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1148 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1148 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1148 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 1148 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 1148 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 1148 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8,
#line 1148 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_9,
#line 1148 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_10,
#line 1148 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc4_0_11,
#line 1148 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc4_12)
#line 1148 "list.m"
{
#line 2743 "list.m"
  while (MR_TRUE)
#line 2743 "list.m"
    {
#line 2743 "list.m"
      /* tailcall optimized into a loop */
#line 2743 "list.m"
      {
#line 2743 "list.m"
        MR_bool mercury__list__succeeded;

#line 2743 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
          {
#line 2743 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
                {
#line 2743 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc4_12 = mercury__list__STATE_VARIABLE_Acc4_0_11;
#line 2743 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc3_10 = mercury__list__STATE_VARIABLE_Acc3_0_9;
#line 2743 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2743 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2743 "list.m"
                }
#line 2743 "list.m"
              else
#line 2748 "list.m"
                {
#line 2749 "list.m"
                  {
#line 2749 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
                  }
#line 2748 "list.m"
                }
#line 2743 "list.m"
            else
#line 2743 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2746 "list.m"
                {
#line 2747 "list.m"
                  {
#line 2747 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
                  }
#line 2746 "list.m"
                }
#line 2743 "list.m"
              else
#line 2750 "list.m"
                {
#line 2751 "list.m"
                  {
#line 2751 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
                  }
#line 2750 "list.m"
                }
#line 2743 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2743 "list.m"
          }
#line 2743 "list.m"
        else
#line 2743 "list.m"
          {
#line 2743 "list.m"
            MR_Word mercury__list__V_152_152 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2743 "list.m"
            MR_Box mercury__list__V_153_153 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2743 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
              {
#line 2743 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2744 "list.m"
                  {
#line 2745 "list.m"
                    {
#line 2745 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
                    }
#line 2744 "list.m"
                  }
#line 2743 "list.m"
                else
#line 2752 "list.m"
                  {
#line 2753 "list.m"
                    {
#line 2753 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
                    }
#line 2752 "list.m"
                  }
#line 2743 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2743 "list.m"
              }
#line 2743 "list.m"
            else
#line 2743 "list.m"
              {
#line 2743 "list.m"
                MR_Word mercury__list__V_154_154 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2743 "list.m"
                MR_Box mercury__list__V_155_155 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2743 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2754 "list.m"
                  {
#line 2755 "list.m"
                    {
#line 2755 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
                    }
#line 2754 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2754 "list.m"
                  }
#line 2743 "list.m"
                else
#line 2757 "list.m"
                  {
#line 2757 "list.m"
                    MR_Box mercury__list__C_121 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2757 "list.m"
                    MR_Word mercury__list__Cs_122 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc1_135_135;
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc2_136_136;
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc3_137_137;
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc4_138_138;
#line 2758 "list.m"
                    MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2758 "list.m"
                    {
#line 2758 "list.m"
                      mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_153_153, mercury__list__V_155_155, mercury__list__C_121, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_135_135, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_136_136, mercury__list__STATE_VARIABLE_Acc3_0_9, &mercury__list__STATE_VARIABLE_Acc3_137_137, mercury__list__STATE_VARIABLE_Acc4_0_11, &mercury__list__STATE_VARIABLE_Acc4_138_138);
                    }
#line 2757 "list.m"
                    if (mercury__list__succeeded)
#line 2759 "list.m"
                      {
#line 2759 "list.m"
                        /* direct tailcall eliminated */
#line 2759 "list.m"
                        {
#line 2759 "list.m"
                          MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_152_152;
#line 2759 "list.m"
                          MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_154_154;
#line 2759 "list.m"
                          MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_122;
#line 2759 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc1_135_135;
#line 2759 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_Acc2_136_136;
#line 2759 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_Acc3_137_137;
#line 2759 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc4_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_Acc4_138_138;

#line 2759 "list.m"
                          mercury__list__STATE_VARIABLE_Acc4_0_11 = mercury__list__STATE_VARIABLE_Acc4_0__tmp_copy_11;
#line 2759 "list.m"
                          mercury__list__STATE_VARIABLE_Acc3_0_9 = mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9;
#line 2759 "list.m"
                          mercury__list__STATE_VARIABLE_Acc2_0_7 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7;
#line 2759 "list.m"
                          mercury__list__STATE_VARIABLE_Acc1_0_5 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5;
#line 2759 "list.m"
                          mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2759 "list.m"
                          mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2759 "list.m"
                          mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2759 "list.m"
                        }
#line 2759 "list.m"
                        continue;
#line 2759 "list.m"
                      }
#line 2757 "list.m"
                  }
#line 2743 "list.m"
              }
#line 2743 "list.m"
          }
#line 2743 "list.m"
        return mercury__list__succeeded;
#line 2743 "list.m"
      }
#line 2743 "list.m"
      break;
#line 2743 "list.m"
    }
#line 1148 "list.m"
}

#line 1145 "list.m"
void MR_CALL 
mercury__list__foldl4_corresponding3_12_p_2(
#line 1145 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_143,
#line 1145 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_144,
#line 1145 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_145,
#line 1145 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_146,
#line 1145 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_147,
#line 1145 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_148,
#line 1145 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_149,
#line 1145 "list.m"
  MR_Word mercury__list__P_1,
#line 1145 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1145 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1145 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1145 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 1145 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 1145 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 1145 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8,
#line 1145 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_9,
#line 1145 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_10,
#line 1145 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc4_0_11,
#line 1145 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc4_12)
#line 1145 "list.m"
{
#line 2743 "list.m"
  while (MR_TRUE)
#line 2743 "list.m"
    {
#line 2743 "list.m"
      /* tailcall optimized into a loop */
#line 2743 "list.m"
      {
#line 2743 "list.m"
        MR_bool mercury__list__succeeded;

#line 2743 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
              {
#line 2743 "list.m"
                *mercury__list__STATE_VARIABLE_Acc4_12 = mercury__list__STATE_VARIABLE_Acc4_0_11;
#line 2743 "list.m"
                *mercury__list__STATE_VARIABLE_Acc3_10 = mercury__list__STATE_VARIABLE_Acc3_0_9;
#line 2743 "list.m"
                *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2743 "list.m"
                *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2743 "list.m"
              }
#line 2743 "list.m"
            else
#line 2748 "list.m"
              {
#line 2749 "list.m"
                {
#line 2749 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
#line 2749 "list.m"
                  return;
                }
#line 2748 "list.m"
              }
#line 2743 "list.m"
          else
#line 2743 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2746 "list.m"
              {
#line 2747 "list.m"
                {
#line 2747 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
#line 2747 "list.m"
                  return;
                }
#line 2746 "list.m"
              }
#line 2743 "list.m"
            else
#line 2750 "list.m"
              {
#line 2751 "list.m"
                {
#line 2751 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
#line 2751 "list.m"
                  return;
                }
#line 2750 "list.m"
              }
#line 2743 "list.m"
        else
#line 2743 "list.m"
          {
#line 2743 "list.m"
            MR_Word mercury__list__V_152_152 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2743 "list.m"
            MR_Box mercury__list__V_153_153 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2743 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2744 "list.m"
                {
#line 2745 "list.m"
                  {
#line 2745 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
#line 2745 "list.m"
                    return;
                  }
#line 2744 "list.m"
                }
#line 2743 "list.m"
              else
#line 2752 "list.m"
                {
#line 2753 "list.m"
                  {
#line 2753 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
#line 2753 "list.m"
                    return;
                  }
#line 2752 "list.m"
                }
#line 2743 "list.m"
            else
#line 2743 "list.m"
              {
#line 2743 "list.m"
                MR_Word mercury__list__V_154_154 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2743 "list.m"
                MR_Box mercury__list__V_155_155 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2743 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2754 "list.m"
                  {
#line 2755 "list.m"
                    {
#line 2755 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
#line 2755 "list.m"
                      return;
                    }
#line 2754 "list.m"
                  }
#line 2743 "list.m"
                else
#line 2757 "list.m"
                  {
#line 2757 "list.m"
                    MR_Box mercury__list__C_121 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2757 "list.m"
                    MR_Word mercury__list__Cs_122 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc1_135_135;
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc2_136_136;
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc3_137_137;
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc4_138_138;
#line 2758 "list.m"
                    void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2758 "list.m"
                    {
#line 2758 "list.m"
                      mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_153_153, mercury__list__V_155_155, mercury__list__C_121, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_135_135, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_136_136, mercury__list__STATE_VARIABLE_Acc3_0_9, &mercury__list__STATE_VARIABLE_Acc3_137_137, mercury__list__STATE_VARIABLE_Acc4_0_11, &mercury__list__STATE_VARIABLE_Acc4_138_138);
                    }
#line 2759 "list.m"
                    /* direct tailcall eliminated */
#line 2759 "list.m"
                    {
#line 2759 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_152_152;
#line 2759 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_154_154;
#line 2759 "list.m"
                      MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_122;
#line 2759 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc1_135_135;
#line 2759 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_Acc2_136_136;
#line 2759 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_Acc3_137_137;
#line 2759 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc4_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_Acc4_138_138;

#line 2759 "list.m"
                      mercury__list__STATE_VARIABLE_Acc4_0_11 = mercury__list__STATE_VARIABLE_Acc4_0__tmp_copy_11;
#line 2759 "list.m"
                      mercury__list__STATE_VARIABLE_Acc3_0_9 = mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9;
#line 2759 "list.m"
                      mercury__list__STATE_VARIABLE_Acc2_0_7 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7;
#line 2759 "list.m"
                      mercury__list__STATE_VARIABLE_Acc1_0_5 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5;
#line 2759 "list.m"
                      mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2759 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2759 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2759 "list.m"
                    }
#line 2759 "list.m"
                    continue;
#line 2757 "list.m"
                  }
#line 2743 "list.m"
              }
#line 2743 "list.m"
          }
#line 2743 "list.m"
      }
#line 2743 "list.m"
      break;
#line 2743 "list.m"
    }
#line 1145 "list.m"
}

#line 1142 "list.m"
void MR_CALL 
mercury__list__foldl4_corresponding3_12_p_1(
#line 1142 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_143,
#line 1142 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_144,
#line 1142 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_145,
#line 1142 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_146,
#line 1142 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_147,
#line 1142 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_148,
#line 1142 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_149,
#line 1142 "list.m"
  MR_Word mercury__list__P_1,
#line 1142 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1142 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1142 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1142 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 1142 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 1142 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 1142 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8,
#line 1142 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_9,
#line 1142 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_10,
#line 1142 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc4_0_11,
#line 1142 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc4_12)
#line 1142 "list.m"
{
#line 2743 "list.m"
  while (MR_TRUE)
#line 2743 "list.m"
    {
#line 2743 "list.m"
      /* tailcall optimized into a loop */
#line 2743 "list.m"
      {
#line 2743 "list.m"
        MR_bool mercury__list__succeeded;

#line 2743 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
              {
#line 2743 "list.m"
                *mercury__list__STATE_VARIABLE_Acc4_12 = mercury__list__STATE_VARIABLE_Acc4_0_11;
#line 2743 "list.m"
                *mercury__list__STATE_VARIABLE_Acc3_10 = mercury__list__STATE_VARIABLE_Acc3_0_9;
#line 2743 "list.m"
                *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2743 "list.m"
                *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2743 "list.m"
              }
#line 2743 "list.m"
            else
#line 2748 "list.m"
              {
#line 2749 "list.m"
                {
#line 2749 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
#line 2749 "list.m"
                  return;
                }
#line 2748 "list.m"
              }
#line 2743 "list.m"
          else
#line 2743 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2746 "list.m"
              {
#line 2747 "list.m"
                {
#line 2747 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
#line 2747 "list.m"
                  return;
                }
#line 2746 "list.m"
              }
#line 2743 "list.m"
            else
#line 2750 "list.m"
              {
#line 2751 "list.m"
                {
#line 2751 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
#line 2751 "list.m"
                  return;
                }
#line 2750 "list.m"
              }
#line 2743 "list.m"
        else
#line 2743 "list.m"
          {
#line 2743 "list.m"
            MR_Word mercury__list__V_152_152 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2743 "list.m"
            MR_Box mercury__list__V_153_153 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2743 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2744 "list.m"
                {
#line 2745 "list.m"
                  {
#line 2745 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
#line 2745 "list.m"
                    return;
                  }
#line 2744 "list.m"
                }
#line 2743 "list.m"
              else
#line 2752 "list.m"
                {
#line 2753 "list.m"
                  {
#line 2753 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
#line 2753 "list.m"
                    return;
                  }
#line 2752 "list.m"
                }
#line 2743 "list.m"
            else
#line 2743 "list.m"
              {
#line 2743 "list.m"
                MR_Word mercury__list__V_154_154 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2743 "list.m"
                MR_Box mercury__list__V_155_155 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2743 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2754 "list.m"
                  {
#line 2755 "list.m"
                    {
#line 2755 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
#line 2755 "list.m"
                      return;
                    }
#line 2754 "list.m"
                  }
#line 2743 "list.m"
                else
#line 2757 "list.m"
                  {
#line 2757 "list.m"
                    MR_Box mercury__list__C_121 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2757 "list.m"
                    MR_Word mercury__list__Cs_122 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc1_135_135;
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc2_136_136;
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc3_137_137;
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc4_138_138;
#line 2758 "list.m"
                    void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2758 "list.m"
                    {
#line 2758 "list.m"
                      mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_153_153, mercury__list__V_155_155, mercury__list__C_121, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_135_135, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_136_136, mercury__list__STATE_VARIABLE_Acc3_0_9, &mercury__list__STATE_VARIABLE_Acc3_137_137, mercury__list__STATE_VARIABLE_Acc4_0_11, &mercury__list__STATE_VARIABLE_Acc4_138_138);
                    }
#line 2759 "list.m"
                    /* direct tailcall eliminated */
#line 2759 "list.m"
                    {
#line 2759 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_152_152;
#line 2759 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_154_154;
#line 2759 "list.m"
                      MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_122;
#line 2759 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc1_135_135;
#line 2759 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_Acc2_136_136;
#line 2759 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_Acc3_137_137;
#line 2759 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc4_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_Acc4_138_138;

#line 2759 "list.m"
                      mercury__list__STATE_VARIABLE_Acc4_0_11 = mercury__list__STATE_VARIABLE_Acc4_0__tmp_copy_11;
#line 2759 "list.m"
                      mercury__list__STATE_VARIABLE_Acc3_0_9 = mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9;
#line 2759 "list.m"
                      mercury__list__STATE_VARIABLE_Acc2_0_7 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7;
#line 2759 "list.m"
                      mercury__list__STATE_VARIABLE_Acc1_0_5 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5;
#line 2759 "list.m"
                      mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2759 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2759 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2759 "list.m"
                    }
#line 2759 "list.m"
                    continue;
#line 2757 "list.m"
                  }
#line 2743 "list.m"
              }
#line 2743 "list.m"
          }
#line 2743 "list.m"
      }
#line 2743 "list.m"
      break;
#line 2743 "list.m"
    }
#line 1142 "list.m"
}

#line 1139 "list.m"
void MR_CALL 
mercury__list__foldl4_corresponding3_12_p_0(
#line 1139 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_143,
#line 1139 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_144,
#line 1139 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_145,
#line 1139 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_146,
#line 1139 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_147,
#line 1139 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_148,
#line 1139 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_149,
#line 1139 "list.m"
  MR_Word mercury__list__P_1,
#line 1139 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1139 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1139 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1139 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 1139 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 1139 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 1139 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8,
#line 1139 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_9,
#line 1139 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_10,
#line 1139 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc4_0_11,
#line 1139 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc4_12)
#line 1139 "list.m"
{
#line 2743 "list.m"
  while (MR_TRUE)
#line 2743 "list.m"
    {
#line 2743 "list.m"
      /* tailcall optimized into a loop */
#line 2743 "list.m"
      {
#line 2743 "list.m"
        MR_bool mercury__list__succeeded;

#line 2743 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
              {
#line 2743 "list.m"
                *mercury__list__STATE_VARIABLE_Acc4_12 = mercury__list__STATE_VARIABLE_Acc4_0_11;
#line 2743 "list.m"
                *mercury__list__STATE_VARIABLE_Acc3_10 = mercury__list__STATE_VARIABLE_Acc3_0_9;
#line 2743 "list.m"
                *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2743 "list.m"
                *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2743 "list.m"
              }
#line 2743 "list.m"
            else
#line 2748 "list.m"
              {
#line 2749 "list.m"
                {
#line 2749 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
#line 2749 "list.m"
                  return;
                }
#line 2748 "list.m"
              }
#line 2743 "list.m"
          else
#line 2743 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2746 "list.m"
              {
#line 2747 "list.m"
                {
#line 2747 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
#line 2747 "list.m"
                  return;
                }
#line 2746 "list.m"
              }
#line 2743 "list.m"
            else
#line 2750 "list.m"
              {
#line 2751 "list.m"
                {
#line 2751 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
#line 2751 "list.m"
                  return;
                }
#line 2750 "list.m"
              }
#line 2743 "list.m"
        else
#line 2743 "list.m"
          {
#line 2743 "list.m"
            MR_Word mercury__list__V_152_152 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2743 "list.m"
            MR_Box mercury__list__V_153_153 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2743 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2743 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2744 "list.m"
                {
#line 2745 "list.m"
                  {
#line 2745 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
#line 2745 "list.m"
                    return;
                  }
#line 2744 "list.m"
                }
#line 2743 "list.m"
              else
#line 2752 "list.m"
                {
#line 2753 "list.m"
                  {
#line 2753 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
#line 2753 "list.m"
                    return;
                  }
#line 2752 "list.m"
                }
#line 2743 "list.m"
            else
#line 2743 "list.m"
              {
#line 2743 "list.m"
                MR_Word mercury__list__V_154_154 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2743 "list.m"
                MR_Box mercury__list__V_155_155 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2743 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2754 "list.m"
                  {
#line 2755 "list.m"
                    {
#line 2755 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl4_corresponding3\'/12", (MR_String) "mismatched list lengths");
#line 2755 "list.m"
                      return;
                    }
#line 2754 "list.m"
                  }
#line 2743 "list.m"
                else
#line 2757 "list.m"
                  {
#line 2757 "list.m"
                    MR_Box mercury__list__C_121 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2757 "list.m"
                    MR_Word mercury__list__Cs_122 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc1_135_135;
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc2_136_136;
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc3_137_137;
#line 2757 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc4_138_138;
#line 2758 "list.m"
                    void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2758 "list.m"
                    {
#line 2758 "list.m"
                      mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_153_153, mercury__list__V_155_155, mercury__list__C_121, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_135_135, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_136_136, mercury__list__STATE_VARIABLE_Acc3_0_9, &mercury__list__STATE_VARIABLE_Acc3_137_137, mercury__list__STATE_VARIABLE_Acc4_0_11, &mercury__list__STATE_VARIABLE_Acc4_138_138);
                    }
#line 2759 "list.m"
                    /* direct tailcall eliminated */
#line 2759 "list.m"
                    {
#line 2759 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_152_152;
#line 2759 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_154_154;
#line 2759 "list.m"
                      MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_122;
#line 2759 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc1_135_135;
#line 2759 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_Acc2_136_136;
#line 2759 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_Acc3_137_137;
#line 2759 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc4_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_Acc4_138_138;

#line 2759 "list.m"
                      mercury__list__STATE_VARIABLE_Acc4_0_11 = mercury__list__STATE_VARIABLE_Acc4_0__tmp_copy_11;
#line 2759 "list.m"
                      mercury__list__STATE_VARIABLE_Acc3_0_9 = mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9;
#line 2759 "list.m"
                      mercury__list__STATE_VARIABLE_Acc2_0_7 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7;
#line 2759 "list.m"
                      mercury__list__STATE_VARIABLE_Acc1_0_5 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5;
#line 2759 "list.m"
                      mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2759 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2759 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2759 "list.m"
                    }
#line 2759 "list.m"
                    continue;
#line 2757 "list.m"
                  }
#line 2743 "list.m"
              }
#line 2743 "list.m"
          }
#line 2743 "list.m"
      }
#line 2743 "list.m"
      break;
#line 2743 "list.m"
    }
#line 1139 "list.m"
}

#line 1130 "list.m"
MR_bool MR_CALL 
mercury__list__foldl3_corresponding3_10_p_5(
#line 1130 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_121,
#line 1130 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_122,
#line 1130 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_123,
#line 1130 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_124,
#line 1130 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_125,
#line 1130 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_126,
#line 1130 "list.m"
  MR_Word mercury__list__P_1,
#line 1130 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1130 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1130 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1130 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 1130 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 1130 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 1130 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8,
#line 1130 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_9,
#line 1130 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_10)
#line 1130 "list.m"
{
#line 2725 "list.m"
  while (MR_TRUE)
#line 2725 "list.m"
    {
#line 2725 "list.m"
      /* tailcall optimized into a loop */
#line 2725 "list.m"
      {
#line 2725 "list.m"
        MR_bool mercury__list__succeeded;

#line 2725 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
          {
#line 2725 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
                {
#line 2725 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc3_10 = mercury__list__STATE_VARIABLE_Acc3_0_9;
#line 2725 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2725 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2725 "list.m"
                }
#line 2725 "list.m"
              else
#line 2730 "list.m"
                {
#line 2731 "list.m"
                  {
#line 2731 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
                  }
#line 2730 "list.m"
                }
#line 2725 "list.m"
            else
#line 2725 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2728 "list.m"
                {
#line 2729 "list.m"
                  {
#line 2729 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
                  }
#line 2728 "list.m"
                }
#line 2725 "list.m"
              else
#line 2732 "list.m"
                {
#line 2733 "list.m"
                  {
#line 2733 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
                  }
#line 2732 "list.m"
                }
#line 2725 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2725 "list.m"
          }
#line 2725 "list.m"
        else
#line 2725 "list.m"
          {
#line 2725 "list.m"
            MR_Word mercury__list__V_129_129 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2725 "list.m"
            MR_Box mercury__list__V_130_130 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2725 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
              {
#line 2725 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2726 "list.m"
                  {
#line 2727 "list.m"
                    {
#line 2727 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
                    }
#line 2726 "list.m"
                  }
#line 2725 "list.m"
                else
#line 2734 "list.m"
                  {
#line 2735 "list.m"
                    {
#line 2735 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
                    }
#line 2734 "list.m"
                  }
#line 2725 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2725 "list.m"
              }
#line 2725 "list.m"
            else
#line 2725 "list.m"
              {
#line 2725 "list.m"
                MR_Word mercury__list__V_131_131 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2725 "list.m"
                MR_Box mercury__list__V_132_132 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2725 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2736 "list.m"
                  {
#line 2737 "list.m"
                    {
#line 2737 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
                    }
#line 2736 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2736 "list.m"
                  }
#line 2725 "list.m"
                else
#line 2739 "list.m"
                  {
#line 2739 "list.m"
                    MR_Box mercury__list__C_104 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2739 "list.m"
                    MR_Word mercury__list__Cs_105 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2739 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc1_115_115;
#line 2739 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc2_116_116;
#line 2739 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc3_117_117;
#line 2740 "list.m"
                    MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2740 "list.m"
                    {
#line 2740 "list.m"
                      mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_130_130, mercury__list__V_132_132, mercury__list__C_104, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_115_115, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_116_116, mercury__list__STATE_VARIABLE_Acc3_0_9, &mercury__list__STATE_VARIABLE_Acc3_117_117);
                    }
#line 2739 "list.m"
                    if (mercury__list__succeeded)
#line 2741 "list.m"
                      {
#line 2741 "list.m"
                        /* direct tailcall eliminated */
#line 2741 "list.m"
                        {
#line 2741 "list.m"
                          MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_129_129;
#line 2741 "list.m"
                          MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_131_131;
#line 2741 "list.m"
                          MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_105;
#line 2741 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc1_115_115;
#line 2741 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_Acc2_116_116;
#line 2741 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_Acc3_117_117;

#line 2741 "list.m"
                          mercury__list__STATE_VARIABLE_Acc3_0_9 = mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9;
#line 2741 "list.m"
                          mercury__list__STATE_VARIABLE_Acc2_0_7 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7;
#line 2741 "list.m"
                          mercury__list__STATE_VARIABLE_Acc1_0_5 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5;
#line 2741 "list.m"
                          mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2741 "list.m"
                          mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2741 "list.m"
                          mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2741 "list.m"
                        }
#line 2741 "list.m"
                        continue;
#line 2741 "list.m"
                      }
#line 2739 "list.m"
                  }
#line 2725 "list.m"
              }
#line 2725 "list.m"
          }
#line 2725 "list.m"
        return mercury__list__succeeded;
#line 2725 "list.m"
      }
#line 2725 "list.m"
      break;
#line 2725 "list.m"
    }
#line 1130 "list.m"
}

#line 1127 "list.m"
MR_bool MR_CALL 
mercury__list__foldl3_corresponding3_10_p_4(
#line 1127 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_121,
#line 1127 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_122,
#line 1127 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_123,
#line 1127 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_124,
#line 1127 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_125,
#line 1127 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_126,
#line 1127 "list.m"
  MR_Word mercury__list__P_1,
#line 1127 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1127 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1127 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1127 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 1127 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 1127 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 1127 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8,
#line 1127 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_9,
#line 1127 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_10)
#line 1127 "list.m"
{
#line 2725 "list.m"
  while (MR_TRUE)
#line 2725 "list.m"
    {
#line 2725 "list.m"
      /* tailcall optimized into a loop */
#line 2725 "list.m"
      {
#line 2725 "list.m"
        MR_bool mercury__list__succeeded;

#line 2725 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
          {
#line 2725 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
                {
#line 2725 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc3_10 = mercury__list__STATE_VARIABLE_Acc3_0_9;
#line 2725 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2725 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2725 "list.m"
                }
#line 2725 "list.m"
              else
#line 2730 "list.m"
                {
#line 2731 "list.m"
                  {
#line 2731 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
                  }
#line 2730 "list.m"
                }
#line 2725 "list.m"
            else
#line 2725 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2728 "list.m"
                {
#line 2729 "list.m"
                  {
#line 2729 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
                  }
#line 2728 "list.m"
                }
#line 2725 "list.m"
              else
#line 2732 "list.m"
                {
#line 2733 "list.m"
                  {
#line 2733 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
                  }
#line 2732 "list.m"
                }
#line 2725 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2725 "list.m"
          }
#line 2725 "list.m"
        else
#line 2725 "list.m"
          {
#line 2725 "list.m"
            MR_Word mercury__list__V_129_129 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2725 "list.m"
            MR_Box mercury__list__V_130_130 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2725 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
              {
#line 2725 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2726 "list.m"
                  {
#line 2727 "list.m"
                    {
#line 2727 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
                    }
#line 2726 "list.m"
                  }
#line 2725 "list.m"
                else
#line 2734 "list.m"
                  {
#line 2735 "list.m"
                    {
#line 2735 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
                    }
#line 2734 "list.m"
                  }
#line 2725 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2725 "list.m"
              }
#line 2725 "list.m"
            else
#line 2725 "list.m"
              {
#line 2725 "list.m"
                MR_Word mercury__list__V_131_131 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2725 "list.m"
                MR_Box mercury__list__V_132_132 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2725 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2736 "list.m"
                  {
#line 2737 "list.m"
                    {
#line 2737 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
                    }
#line 2736 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2736 "list.m"
                  }
#line 2725 "list.m"
                else
#line 2739 "list.m"
                  {
#line 2739 "list.m"
                    MR_Box mercury__list__C_104 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2739 "list.m"
                    MR_Word mercury__list__Cs_105 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2739 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc1_115_115;
#line 2739 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc2_116_116;
#line 2739 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc3_117_117;
#line 2740 "list.m"
                    MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2740 "list.m"
                    {
#line 2740 "list.m"
                      mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_130_130, mercury__list__V_132_132, mercury__list__C_104, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_115_115, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_116_116, mercury__list__STATE_VARIABLE_Acc3_0_9, &mercury__list__STATE_VARIABLE_Acc3_117_117);
                    }
#line 2739 "list.m"
                    if (mercury__list__succeeded)
#line 2741 "list.m"
                      {
#line 2741 "list.m"
                        /* direct tailcall eliminated */
#line 2741 "list.m"
                        {
#line 2741 "list.m"
                          MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_129_129;
#line 2741 "list.m"
                          MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_131_131;
#line 2741 "list.m"
                          MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_105;
#line 2741 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc1_115_115;
#line 2741 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_Acc2_116_116;
#line 2741 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_Acc3_117_117;

#line 2741 "list.m"
                          mercury__list__STATE_VARIABLE_Acc3_0_9 = mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9;
#line 2741 "list.m"
                          mercury__list__STATE_VARIABLE_Acc2_0_7 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7;
#line 2741 "list.m"
                          mercury__list__STATE_VARIABLE_Acc1_0_5 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5;
#line 2741 "list.m"
                          mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2741 "list.m"
                          mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2741 "list.m"
                          mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2741 "list.m"
                        }
#line 2741 "list.m"
                        continue;
#line 2741 "list.m"
                      }
#line 2739 "list.m"
                  }
#line 2725 "list.m"
              }
#line 2725 "list.m"
          }
#line 2725 "list.m"
        return mercury__list__succeeded;
#line 2725 "list.m"
      }
#line 2725 "list.m"
      break;
#line 2725 "list.m"
    }
#line 1127 "list.m"
}

#line 1124 "list.m"
MR_bool MR_CALL 
mercury__list__foldl3_corresponding3_10_p_3(
#line 1124 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_121,
#line 1124 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_122,
#line 1124 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_123,
#line 1124 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_124,
#line 1124 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_125,
#line 1124 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_126,
#line 1124 "list.m"
  MR_Word mercury__list__P_1,
#line 1124 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1124 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1124 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1124 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 1124 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 1124 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 1124 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8,
#line 1124 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_9,
#line 1124 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_10)
#line 1124 "list.m"
{
#line 2725 "list.m"
  while (MR_TRUE)
#line 2725 "list.m"
    {
#line 2725 "list.m"
      /* tailcall optimized into a loop */
#line 2725 "list.m"
      {
#line 2725 "list.m"
        MR_bool mercury__list__succeeded;

#line 2725 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
          {
#line 2725 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
                {
#line 2725 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc3_10 = mercury__list__STATE_VARIABLE_Acc3_0_9;
#line 2725 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2725 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2725 "list.m"
                }
#line 2725 "list.m"
              else
#line 2730 "list.m"
                {
#line 2731 "list.m"
                  {
#line 2731 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
                  }
#line 2730 "list.m"
                }
#line 2725 "list.m"
            else
#line 2725 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2728 "list.m"
                {
#line 2729 "list.m"
                  {
#line 2729 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
                  }
#line 2728 "list.m"
                }
#line 2725 "list.m"
              else
#line 2732 "list.m"
                {
#line 2733 "list.m"
                  {
#line 2733 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
                  }
#line 2732 "list.m"
                }
#line 2725 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2725 "list.m"
          }
#line 2725 "list.m"
        else
#line 2725 "list.m"
          {
#line 2725 "list.m"
            MR_Word mercury__list__V_129_129 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2725 "list.m"
            MR_Box mercury__list__V_130_130 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2725 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
              {
#line 2725 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2726 "list.m"
                  {
#line 2727 "list.m"
                    {
#line 2727 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
                    }
#line 2726 "list.m"
                  }
#line 2725 "list.m"
                else
#line 2734 "list.m"
                  {
#line 2735 "list.m"
                    {
#line 2735 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
                    }
#line 2734 "list.m"
                  }
#line 2725 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2725 "list.m"
              }
#line 2725 "list.m"
            else
#line 2725 "list.m"
              {
#line 2725 "list.m"
                MR_Word mercury__list__V_131_131 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2725 "list.m"
                MR_Box mercury__list__V_132_132 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2725 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2736 "list.m"
                  {
#line 2737 "list.m"
                    {
#line 2737 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
                    }
#line 2736 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2736 "list.m"
                  }
#line 2725 "list.m"
                else
#line 2739 "list.m"
                  {
#line 2739 "list.m"
                    MR_Box mercury__list__C_104 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2739 "list.m"
                    MR_Word mercury__list__Cs_105 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2739 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc1_115_115;
#line 2739 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc2_116_116;
#line 2739 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc3_117_117;
#line 2740 "list.m"
                    MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2740 "list.m"
                    {
#line 2740 "list.m"
                      mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_130_130, mercury__list__V_132_132, mercury__list__C_104, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_115_115, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_116_116, mercury__list__STATE_VARIABLE_Acc3_0_9, &mercury__list__STATE_VARIABLE_Acc3_117_117);
                    }
#line 2739 "list.m"
                    if (mercury__list__succeeded)
#line 2741 "list.m"
                      {
#line 2741 "list.m"
                        /* direct tailcall eliminated */
#line 2741 "list.m"
                        {
#line 2741 "list.m"
                          MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_129_129;
#line 2741 "list.m"
                          MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_131_131;
#line 2741 "list.m"
                          MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_105;
#line 2741 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc1_115_115;
#line 2741 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_Acc2_116_116;
#line 2741 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_Acc3_117_117;

#line 2741 "list.m"
                          mercury__list__STATE_VARIABLE_Acc3_0_9 = mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9;
#line 2741 "list.m"
                          mercury__list__STATE_VARIABLE_Acc2_0_7 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7;
#line 2741 "list.m"
                          mercury__list__STATE_VARIABLE_Acc1_0_5 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5;
#line 2741 "list.m"
                          mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2741 "list.m"
                          mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2741 "list.m"
                          mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2741 "list.m"
                        }
#line 2741 "list.m"
                        continue;
#line 2741 "list.m"
                      }
#line 2739 "list.m"
                  }
#line 2725 "list.m"
              }
#line 2725 "list.m"
          }
#line 2725 "list.m"
        return mercury__list__succeeded;
#line 2725 "list.m"
      }
#line 2725 "list.m"
      break;
#line 2725 "list.m"
    }
#line 1124 "list.m"
}

#line 1121 "list.m"
void MR_CALL 
mercury__list__foldl3_corresponding3_10_p_2(
#line 1121 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_121,
#line 1121 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_122,
#line 1121 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_123,
#line 1121 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_124,
#line 1121 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_125,
#line 1121 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_126,
#line 1121 "list.m"
  MR_Word mercury__list__P_1,
#line 1121 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1121 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1121 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1121 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 1121 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 1121 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 1121 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8,
#line 1121 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_9,
#line 1121 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_10)
#line 1121 "list.m"
{
#line 2725 "list.m"
  while (MR_TRUE)
#line 2725 "list.m"
    {
#line 2725 "list.m"
      /* tailcall optimized into a loop */
#line 2725 "list.m"
      {
#line 2725 "list.m"
        MR_bool mercury__list__succeeded;

#line 2725 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
              {
#line 2725 "list.m"
                *mercury__list__STATE_VARIABLE_Acc3_10 = mercury__list__STATE_VARIABLE_Acc3_0_9;
#line 2725 "list.m"
                *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2725 "list.m"
                *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2725 "list.m"
              }
#line 2725 "list.m"
            else
#line 2730 "list.m"
              {
#line 2731 "list.m"
                {
#line 2731 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
#line 2731 "list.m"
                  return;
                }
#line 2730 "list.m"
              }
#line 2725 "list.m"
          else
#line 2725 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2728 "list.m"
              {
#line 2729 "list.m"
                {
#line 2729 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
#line 2729 "list.m"
                  return;
                }
#line 2728 "list.m"
              }
#line 2725 "list.m"
            else
#line 2732 "list.m"
              {
#line 2733 "list.m"
                {
#line 2733 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
#line 2733 "list.m"
                  return;
                }
#line 2732 "list.m"
              }
#line 2725 "list.m"
        else
#line 2725 "list.m"
          {
#line 2725 "list.m"
            MR_Word mercury__list__V_129_129 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2725 "list.m"
            MR_Box mercury__list__V_130_130 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2725 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2726 "list.m"
                {
#line 2727 "list.m"
                  {
#line 2727 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
#line 2727 "list.m"
                    return;
                  }
#line 2726 "list.m"
                }
#line 2725 "list.m"
              else
#line 2734 "list.m"
                {
#line 2735 "list.m"
                  {
#line 2735 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
#line 2735 "list.m"
                    return;
                  }
#line 2734 "list.m"
                }
#line 2725 "list.m"
            else
#line 2725 "list.m"
              {
#line 2725 "list.m"
                MR_Word mercury__list__V_131_131 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2725 "list.m"
                MR_Box mercury__list__V_132_132 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2725 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2736 "list.m"
                  {
#line 2737 "list.m"
                    {
#line 2737 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
#line 2737 "list.m"
                      return;
                    }
#line 2736 "list.m"
                  }
#line 2725 "list.m"
                else
#line 2739 "list.m"
                  {
#line 2739 "list.m"
                    MR_Box mercury__list__C_104 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2739 "list.m"
                    MR_Word mercury__list__Cs_105 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2739 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc1_115_115;
#line 2739 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc2_116_116;
#line 2739 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc3_117_117;
#line 2740 "list.m"
                    void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2740 "list.m"
                    {
#line 2740 "list.m"
                      mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_130_130, mercury__list__V_132_132, mercury__list__C_104, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_115_115, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_116_116, mercury__list__STATE_VARIABLE_Acc3_0_9, &mercury__list__STATE_VARIABLE_Acc3_117_117);
                    }
#line 2741 "list.m"
                    /* direct tailcall eliminated */
#line 2741 "list.m"
                    {
#line 2741 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_129_129;
#line 2741 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_131_131;
#line 2741 "list.m"
                      MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_105;
#line 2741 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc1_115_115;
#line 2741 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_Acc2_116_116;
#line 2741 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_Acc3_117_117;

#line 2741 "list.m"
                      mercury__list__STATE_VARIABLE_Acc3_0_9 = mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9;
#line 2741 "list.m"
                      mercury__list__STATE_VARIABLE_Acc2_0_7 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7;
#line 2741 "list.m"
                      mercury__list__STATE_VARIABLE_Acc1_0_5 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5;
#line 2741 "list.m"
                      mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2741 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2741 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2741 "list.m"
                    }
#line 2741 "list.m"
                    continue;
#line 2739 "list.m"
                  }
#line 2725 "list.m"
              }
#line 2725 "list.m"
          }
#line 2725 "list.m"
      }
#line 2725 "list.m"
      break;
#line 2725 "list.m"
    }
#line 1121 "list.m"
}

#line 1118 "list.m"
void MR_CALL 
mercury__list__foldl3_corresponding3_10_p_1(
#line 1118 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_121,
#line 1118 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_122,
#line 1118 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_123,
#line 1118 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_124,
#line 1118 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_125,
#line 1118 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_126,
#line 1118 "list.m"
  MR_Word mercury__list__P_1,
#line 1118 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1118 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1118 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1118 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 1118 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 1118 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 1118 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8,
#line 1118 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_9,
#line 1118 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_10)
#line 1118 "list.m"
{
#line 2725 "list.m"
  while (MR_TRUE)
#line 2725 "list.m"
    {
#line 2725 "list.m"
      /* tailcall optimized into a loop */
#line 2725 "list.m"
      {
#line 2725 "list.m"
        MR_bool mercury__list__succeeded;

#line 2725 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
              {
#line 2725 "list.m"
                *mercury__list__STATE_VARIABLE_Acc3_10 = mercury__list__STATE_VARIABLE_Acc3_0_9;
#line 2725 "list.m"
                *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2725 "list.m"
                *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2725 "list.m"
              }
#line 2725 "list.m"
            else
#line 2730 "list.m"
              {
#line 2731 "list.m"
                {
#line 2731 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
#line 2731 "list.m"
                  return;
                }
#line 2730 "list.m"
              }
#line 2725 "list.m"
          else
#line 2725 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2728 "list.m"
              {
#line 2729 "list.m"
                {
#line 2729 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
#line 2729 "list.m"
                  return;
                }
#line 2728 "list.m"
              }
#line 2725 "list.m"
            else
#line 2732 "list.m"
              {
#line 2733 "list.m"
                {
#line 2733 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
#line 2733 "list.m"
                  return;
                }
#line 2732 "list.m"
              }
#line 2725 "list.m"
        else
#line 2725 "list.m"
          {
#line 2725 "list.m"
            MR_Word mercury__list__V_129_129 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2725 "list.m"
            MR_Box mercury__list__V_130_130 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2725 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2726 "list.m"
                {
#line 2727 "list.m"
                  {
#line 2727 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
#line 2727 "list.m"
                    return;
                  }
#line 2726 "list.m"
                }
#line 2725 "list.m"
              else
#line 2734 "list.m"
                {
#line 2735 "list.m"
                  {
#line 2735 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
#line 2735 "list.m"
                    return;
                  }
#line 2734 "list.m"
                }
#line 2725 "list.m"
            else
#line 2725 "list.m"
              {
#line 2725 "list.m"
                MR_Word mercury__list__V_131_131 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2725 "list.m"
                MR_Box mercury__list__V_132_132 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2725 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2736 "list.m"
                  {
#line 2737 "list.m"
                    {
#line 2737 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
#line 2737 "list.m"
                      return;
                    }
#line 2736 "list.m"
                  }
#line 2725 "list.m"
                else
#line 2739 "list.m"
                  {
#line 2739 "list.m"
                    MR_Box mercury__list__C_104 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2739 "list.m"
                    MR_Word mercury__list__Cs_105 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2739 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc1_115_115;
#line 2739 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc2_116_116;
#line 2739 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc3_117_117;
#line 2740 "list.m"
                    void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2740 "list.m"
                    {
#line 2740 "list.m"
                      mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_130_130, mercury__list__V_132_132, mercury__list__C_104, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_115_115, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_116_116, mercury__list__STATE_VARIABLE_Acc3_0_9, &mercury__list__STATE_VARIABLE_Acc3_117_117);
                    }
#line 2741 "list.m"
                    /* direct tailcall eliminated */
#line 2741 "list.m"
                    {
#line 2741 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_129_129;
#line 2741 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_131_131;
#line 2741 "list.m"
                      MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_105;
#line 2741 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc1_115_115;
#line 2741 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_Acc2_116_116;
#line 2741 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_Acc3_117_117;

#line 2741 "list.m"
                      mercury__list__STATE_VARIABLE_Acc3_0_9 = mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9;
#line 2741 "list.m"
                      mercury__list__STATE_VARIABLE_Acc2_0_7 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7;
#line 2741 "list.m"
                      mercury__list__STATE_VARIABLE_Acc1_0_5 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5;
#line 2741 "list.m"
                      mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2741 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2741 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2741 "list.m"
                    }
#line 2741 "list.m"
                    continue;
#line 2739 "list.m"
                  }
#line 2725 "list.m"
              }
#line 2725 "list.m"
          }
#line 2725 "list.m"
      }
#line 2725 "list.m"
      break;
#line 2725 "list.m"
    }
#line 1118 "list.m"
}

#line 1115 "list.m"
void MR_CALL 
mercury__list__foldl3_corresponding3_10_p_0(
#line 1115 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_121,
#line 1115 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_122,
#line 1115 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_123,
#line 1115 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_124,
#line 1115 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_125,
#line 1115 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_126,
#line 1115 "list.m"
  MR_Word mercury__list__P_1,
#line 1115 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1115 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1115 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1115 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 1115 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 1115 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 1115 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8,
#line 1115 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_9,
#line 1115 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_10)
#line 1115 "list.m"
{
#line 2725 "list.m"
  while (MR_TRUE)
#line 2725 "list.m"
    {
#line 2725 "list.m"
      /* tailcall optimized into a loop */
#line 2725 "list.m"
      {
#line 2725 "list.m"
        MR_bool mercury__list__succeeded;

#line 2725 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
              {
#line 2725 "list.m"
                *mercury__list__STATE_VARIABLE_Acc3_10 = mercury__list__STATE_VARIABLE_Acc3_0_9;
#line 2725 "list.m"
                *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2725 "list.m"
                *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2725 "list.m"
              }
#line 2725 "list.m"
            else
#line 2730 "list.m"
              {
#line 2731 "list.m"
                {
#line 2731 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
#line 2731 "list.m"
                  return;
                }
#line 2730 "list.m"
              }
#line 2725 "list.m"
          else
#line 2725 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2728 "list.m"
              {
#line 2729 "list.m"
                {
#line 2729 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
#line 2729 "list.m"
                  return;
                }
#line 2728 "list.m"
              }
#line 2725 "list.m"
            else
#line 2732 "list.m"
              {
#line 2733 "list.m"
                {
#line 2733 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
#line 2733 "list.m"
                  return;
                }
#line 2732 "list.m"
              }
#line 2725 "list.m"
        else
#line 2725 "list.m"
          {
#line 2725 "list.m"
            MR_Word mercury__list__V_129_129 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2725 "list.m"
            MR_Box mercury__list__V_130_130 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2725 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2725 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2726 "list.m"
                {
#line 2727 "list.m"
                  {
#line 2727 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
#line 2727 "list.m"
                    return;
                  }
#line 2726 "list.m"
                }
#line 2725 "list.m"
              else
#line 2734 "list.m"
                {
#line 2735 "list.m"
                  {
#line 2735 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
#line 2735 "list.m"
                    return;
                  }
#line 2734 "list.m"
                }
#line 2725 "list.m"
            else
#line 2725 "list.m"
              {
#line 2725 "list.m"
                MR_Word mercury__list__V_131_131 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2725 "list.m"
                MR_Box mercury__list__V_132_132 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2725 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2736 "list.m"
                  {
#line 2737 "list.m"
                    {
#line 2737 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding3\'/10", (MR_String) "mismatched list lengths");
#line 2737 "list.m"
                      return;
                    }
#line 2736 "list.m"
                  }
#line 2725 "list.m"
                else
#line 2739 "list.m"
                  {
#line 2739 "list.m"
                    MR_Box mercury__list__C_104 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2739 "list.m"
                    MR_Word mercury__list__Cs_105 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2739 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc1_115_115;
#line 2739 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc2_116_116;
#line 2739 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc3_117_117;
#line 2740 "list.m"
                    void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2740 "list.m"
                    {
#line 2740 "list.m"
                      mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_130_130, mercury__list__V_132_132, mercury__list__C_104, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_115_115, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_116_116, mercury__list__STATE_VARIABLE_Acc3_0_9, &mercury__list__STATE_VARIABLE_Acc3_117_117);
                    }
#line 2741 "list.m"
                    /* direct tailcall eliminated */
#line 2741 "list.m"
                    {
#line 2741 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_129_129;
#line 2741 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_131_131;
#line 2741 "list.m"
                      MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_105;
#line 2741 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc1_115_115;
#line 2741 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_Acc2_116_116;
#line 2741 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_Acc3_117_117;

#line 2741 "list.m"
                      mercury__list__STATE_VARIABLE_Acc3_0_9 = mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_9;
#line 2741 "list.m"
                      mercury__list__STATE_VARIABLE_Acc2_0_7 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7;
#line 2741 "list.m"
                      mercury__list__STATE_VARIABLE_Acc1_0_5 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5;
#line 2741 "list.m"
                      mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2741 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2741 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2741 "list.m"
                    }
#line 2741 "list.m"
                    continue;
#line 2739 "list.m"
                  }
#line 2725 "list.m"
              }
#line 2725 "list.m"
          }
#line 2725 "list.m"
      }
#line 2725 "list.m"
      break;
#line 2725 "list.m"
    }
#line 1115 "list.m"
}

#line 1106 "list.m"
MR_bool MR_CALL 
mercury__list__foldl2_corresponding3_8_p_5(
#line 1106 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_99,
#line 1106 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_100,
#line 1106 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_101,
#line 1106 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_102,
#line 1106 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_103,
#line 1106 "list.m"
  MR_Word mercury__list__P_1,
#line 1106 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1106 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1106 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1106 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 1106 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 1106 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 1106 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8)
#line 1106 "list.m"
{
#line 2707 "list.m"
  while (MR_TRUE)
#line 2707 "list.m"
    {
#line 2707 "list.m"
      /* tailcall optimized into a loop */
#line 2707 "list.m"
      {
#line 2707 "list.m"
        MR_bool mercury__list__succeeded;

#line 2707 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
          {
#line 2707 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
                {
#line 2707 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2707 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2707 "list.m"
                }
#line 2707 "list.m"
              else
#line 2712 "list.m"
                {
#line 2713 "list.m"
                  {
#line 2713 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
                  }
#line 2712 "list.m"
                }
#line 2707 "list.m"
            else
#line 2707 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2710 "list.m"
                {
#line 2711 "list.m"
                  {
#line 2711 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
                  }
#line 2710 "list.m"
                }
#line 2707 "list.m"
              else
#line 2714 "list.m"
                {
#line 2715 "list.m"
                  {
#line 2715 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
                  }
#line 2714 "list.m"
                }
#line 2707 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2707 "list.m"
          }
#line 2707 "list.m"
        else
#line 2707 "list.m"
          {
#line 2707 "list.m"
            MR_Word mercury__list__V_106_106 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2707 "list.m"
            MR_Box mercury__list__V_107_107 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2707 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
              {
#line 2707 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2708 "list.m"
                  {
#line 2709 "list.m"
                    {
#line 2709 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
                    }
#line 2708 "list.m"
                  }
#line 2707 "list.m"
                else
#line 2716 "list.m"
                  {
#line 2717 "list.m"
                    {
#line 2717 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
                    }
#line 2716 "list.m"
                  }
#line 2707 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2707 "list.m"
              }
#line 2707 "list.m"
            else
#line 2707 "list.m"
              {
#line 2707 "list.m"
                MR_Word mercury__list__V_108_108 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2707 "list.m"
                MR_Box mercury__list__V_109_109 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2707 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2718 "list.m"
                  {
#line 2719 "list.m"
                    {
#line 2719 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
                    }
#line 2718 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2718 "list.m"
                  }
#line 2707 "list.m"
                else
#line 2721 "list.m"
                  {
#line 2721 "list.m"
                    MR_Box mercury__list__C_87 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2721 "list.m"
                    MR_Word mercury__list__Cs_88 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2721 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc1_95_95;
#line 2721 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc2_96_96;
#line 2722 "list.m"
                    MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2722 "list.m"
                    {
#line 2722 "list.m"
                      mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_107_107, mercury__list__V_109_109, mercury__list__C_87, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_95_95, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_96_96);
                    }
#line 2721 "list.m"
                    if (mercury__list__succeeded)
#line 2723 "list.m"
                      {
#line 2723 "list.m"
                        /* direct tailcall eliminated */
#line 2723 "list.m"
                        {
#line 2723 "list.m"
                          MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_106_106;
#line 2723 "list.m"
                          MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_108_108;
#line 2723 "list.m"
                          MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_88;
#line 2723 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc1_95_95;
#line 2723 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_Acc2_96_96;

#line 2723 "list.m"
                          mercury__list__STATE_VARIABLE_Acc2_0_7 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7;
#line 2723 "list.m"
                          mercury__list__STATE_VARIABLE_Acc1_0_5 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5;
#line 2723 "list.m"
                          mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2723 "list.m"
                          mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2723 "list.m"
                          mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2723 "list.m"
                        }
#line 2723 "list.m"
                        continue;
#line 2723 "list.m"
                      }
#line 2721 "list.m"
                  }
#line 2707 "list.m"
              }
#line 2707 "list.m"
          }
#line 2707 "list.m"
        return mercury__list__succeeded;
#line 2707 "list.m"
      }
#line 2707 "list.m"
      break;
#line 2707 "list.m"
    }
#line 1106 "list.m"
}

#line 1103 "list.m"
MR_bool MR_CALL 
mercury__list__foldl2_corresponding3_8_p_4(
#line 1103 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_99,
#line 1103 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_100,
#line 1103 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_101,
#line 1103 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_102,
#line 1103 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_103,
#line 1103 "list.m"
  MR_Word mercury__list__P_1,
#line 1103 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1103 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1103 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1103 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 1103 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 1103 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 1103 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8)
#line 1103 "list.m"
{
#line 2707 "list.m"
  while (MR_TRUE)
#line 2707 "list.m"
    {
#line 2707 "list.m"
      /* tailcall optimized into a loop */
#line 2707 "list.m"
      {
#line 2707 "list.m"
        MR_bool mercury__list__succeeded;

#line 2707 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
          {
#line 2707 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
                {
#line 2707 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2707 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2707 "list.m"
                }
#line 2707 "list.m"
              else
#line 2712 "list.m"
                {
#line 2713 "list.m"
                  {
#line 2713 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
                  }
#line 2712 "list.m"
                }
#line 2707 "list.m"
            else
#line 2707 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2710 "list.m"
                {
#line 2711 "list.m"
                  {
#line 2711 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
                  }
#line 2710 "list.m"
                }
#line 2707 "list.m"
              else
#line 2714 "list.m"
                {
#line 2715 "list.m"
                  {
#line 2715 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
                  }
#line 2714 "list.m"
                }
#line 2707 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2707 "list.m"
          }
#line 2707 "list.m"
        else
#line 2707 "list.m"
          {
#line 2707 "list.m"
            MR_Word mercury__list__V_106_106 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2707 "list.m"
            MR_Box mercury__list__V_107_107 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2707 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
              {
#line 2707 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2708 "list.m"
                  {
#line 2709 "list.m"
                    {
#line 2709 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
                    }
#line 2708 "list.m"
                  }
#line 2707 "list.m"
                else
#line 2716 "list.m"
                  {
#line 2717 "list.m"
                    {
#line 2717 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
                    }
#line 2716 "list.m"
                  }
#line 2707 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2707 "list.m"
              }
#line 2707 "list.m"
            else
#line 2707 "list.m"
              {
#line 2707 "list.m"
                MR_Word mercury__list__V_108_108 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2707 "list.m"
                MR_Box mercury__list__V_109_109 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2707 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2718 "list.m"
                  {
#line 2719 "list.m"
                    {
#line 2719 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
                    }
#line 2718 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2718 "list.m"
                  }
#line 2707 "list.m"
                else
#line 2721 "list.m"
                  {
#line 2721 "list.m"
                    MR_Box mercury__list__C_87 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2721 "list.m"
                    MR_Word mercury__list__Cs_88 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2721 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc1_95_95;
#line 2721 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc2_96_96;
#line 2722 "list.m"
                    MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2722 "list.m"
                    {
#line 2722 "list.m"
                      mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_107_107, mercury__list__V_109_109, mercury__list__C_87, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_95_95, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_96_96);
                    }
#line 2721 "list.m"
                    if (mercury__list__succeeded)
#line 2723 "list.m"
                      {
#line 2723 "list.m"
                        /* direct tailcall eliminated */
#line 2723 "list.m"
                        {
#line 2723 "list.m"
                          MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_106_106;
#line 2723 "list.m"
                          MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_108_108;
#line 2723 "list.m"
                          MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_88;
#line 2723 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc1_95_95;
#line 2723 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_Acc2_96_96;

#line 2723 "list.m"
                          mercury__list__STATE_VARIABLE_Acc2_0_7 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7;
#line 2723 "list.m"
                          mercury__list__STATE_VARIABLE_Acc1_0_5 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5;
#line 2723 "list.m"
                          mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2723 "list.m"
                          mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2723 "list.m"
                          mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2723 "list.m"
                        }
#line 2723 "list.m"
                        continue;
#line 2723 "list.m"
                      }
#line 2721 "list.m"
                  }
#line 2707 "list.m"
              }
#line 2707 "list.m"
          }
#line 2707 "list.m"
        return mercury__list__succeeded;
#line 2707 "list.m"
      }
#line 2707 "list.m"
      break;
#line 2707 "list.m"
    }
#line 1103 "list.m"
}

#line 1100 "list.m"
MR_bool MR_CALL 
mercury__list__foldl2_corresponding3_8_p_3(
#line 1100 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_99,
#line 1100 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_100,
#line 1100 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_101,
#line 1100 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_102,
#line 1100 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_103,
#line 1100 "list.m"
  MR_Word mercury__list__P_1,
#line 1100 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1100 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1100 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1100 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 1100 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 1100 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 1100 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8)
#line 1100 "list.m"
{
#line 2707 "list.m"
  while (MR_TRUE)
#line 2707 "list.m"
    {
#line 2707 "list.m"
      /* tailcall optimized into a loop */
#line 2707 "list.m"
      {
#line 2707 "list.m"
        MR_bool mercury__list__succeeded;

#line 2707 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
          {
#line 2707 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
                {
#line 2707 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2707 "list.m"
                  *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2707 "list.m"
                }
#line 2707 "list.m"
              else
#line 2712 "list.m"
                {
#line 2713 "list.m"
                  {
#line 2713 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
                  }
#line 2712 "list.m"
                }
#line 2707 "list.m"
            else
#line 2707 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2710 "list.m"
                {
#line 2711 "list.m"
                  {
#line 2711 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
                  }
#line 2710 "list.m"
                }
#line 2707 "list.m"
              else
#line 2714 "list.m"
                {
#line 2715 "list.m"
                  {
#line 2715 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
                  }
#line 2714 "list.m"
                }
#line 2707 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2707 "list.m"
          }
#line 2707 "list.m"
        else
#line 2707 "list.m"
          {
#line 2707 "list.m"
            MR_Word mercury__list__V_106_106 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2707 "list.m"
            MR_Box mercury__list__V_107_107 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2707 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
              {
#line 2707 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2708 "list.m"
                  {
#line 2709 "list.m"
                    {
#line 2709 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
                    }
#line 2708 "list.m"
                  }
#line 2707 "list.m"
                else
#line 2716 "list.m"
                  {
#line 2717 "list.m"
                    {
#line 2717 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
                    }
#line 2716 "list.m"
                  }
#line 2707 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2707 "list.m"
              }
#line 2707 "list.m"
            else
#line 2707 "list.m"
              {
#line 2707 "list.m"
                MR_Word mercury__list__V_108_108 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2707 "list.m"
                MR_Box mercury__list__V_109_109 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2707 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2718 "list.m"
                  {
#line 2719 "list.m"
                    {
#line 2719 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
                    }
#line 2718 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2718 "list.m"
                  }
#line 2707 "list.m"
                else
#line 2721 "list.m"
                  {
#line 2721 "list.m"
                    MR_Box mercury__list__C_87 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2721 "list.m"
                    MR_Word mercury__list__Cs_88 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2721 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc1_95_95;
#line 2721 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc2_96_96;
#line 2722 "list.m"
                    MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2722 "list.m"
                    {
#line 2722 "list.m"
                      mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_107_107, mercury__list__V_109_109, mercury__list__C_87, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_95_95, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_96_96);
                    }
#line 2721 "list.m"
                    if (mercury__list__succeeded)
#line 2723 "list.m"
                      {
#line 2723 "list.m"
                        /* direct tailcall eliminated */
#line 2723 "list.m"
                        {
#line 2723 "list.m"
                          MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_106_106;
#line 2723 "list.m"
                          MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_108_108;
#line 2723 "list.m"
                          MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_88;
#line 2723 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc1_95_95;
#line 2723 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_Acc2_96_96;

#line 2723 "list.m"
                          mercury__list__STATE_VARIABLE_Acc2_0_7 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7;
#line 2723 "list.m"
                          mercury__list__STATE_VARIABLE_Acc1_0_5 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5;
#line 2723 "list.m"
                          mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2723 "list.m"
                          mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2723 "list.m"
                          mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2723 "list.m"
                        }
#line 2723 "list.m"
                        continue;
#line 2723 "list.m"
                      }
#line 2721 "list.m"
                  }
#line 2707 "list.m"
              }
#line 2707 "list.m"
          }
#line 2707 "list.m"
        return mercury__list__succeeded;
#line 2707 "list.m"
      }
#line 2707 "list.m"
      break;
#line 2707 "list.m"
    }
#line 1100 "list.m"
}

#line 1098 "list.m"
void MR_CALL 
mercury__list__foldl2_corresponding3_8_p_2(
#line 1098 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_99,
#line 1098 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_100,
#line 1098 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_101,
#line 1098 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_102,
#line 1098 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_103,
#line 1098 "list.m"
  MR_Word mercury__list__P_1,
#line 1098 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1098 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1098 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1098 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 1098 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 1098 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 1098 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8)
#line 1098 "list.m"
{
#line 2707 "list.m"
  while (MR_TRUE)
#line 2707 "list.m"
    {
#line 2707 "list.m"
      /* tailcall optimized into a loop */
#line 2707 "list.m"
      {
#line 2707 "list.m"
        MR_bool mercury__list__succeeded;

#line 2707 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
              {
#line 2707 "list.m"
                *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2707 "list.m"
                *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2707 "list.m"
              }
#line 2707 "list.m"
            else
#line 2712 "list.m"
              {
#line 2713 "list.m"
                {
#line 2713 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
#line 2713 "list.m"
                  return;
                }
#line 2712 "list.m"
              }
#line 2707 "list.m"
          else
#line 2707 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2710 "list.m"
              {
#line 2711 "list.m"
                {
#line 2711 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
#line 2711 "list.m"
                  return;
                }
#line 2710 "list.m"
              }
#line 2707 "list.m"
            else
#line 2714 "list.m"
              {
#line 2715 "list.m"
                {
#line 2715 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
#line 2715 "list.m"
                  return;
                }
#line 2714 "list.m"
              }
#line 2707 "list.m"
        else
#line 2707 "list.m"
          {
#line 2707 "list.m"
            MR_Word mercury__list__V_106_106 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2707 "list.m"
            MR_Box mercury__list__V_107_107 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2707 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2708 "list.m"
                {
#line 2709 "list.m"
                  {
#line 2709 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
#line 2709 "list.m"
                    return;
                  }
#line 2708 "list.m"
                }
#line 2707 "list.m"
              else
#line 2716 "list.m"
                {
#line 2717 "list.m"
                  {
#line 2717 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
#line 2717 "list.m"
                    return;
                  }
#line 2716 "list.m"
                }
#line 2707 "list.m"
            else
#line 2707 "list.m"
              {
#line 2707 "list.m"
                MR_Word mercury__list__V_108_108 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2707 "list.m"
                MR_Box mercury__list__V_109_109 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2707 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2718 "list.m"
                  {
#line 2719 "list.m"
                    {
#line 2719 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
#line 2719 "list.m"
                      return;
                    }
#line 2718 "list.m"
                  }
#line 2707 "list.m"
                else
#line 2721 "list.m"
                  {
#line 2721 "list.m"
                    MR_Box mercury__list__C_87 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2721 "list.m"
                    MR_Word mercury__list__Cs_88 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2721 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc1_95_95;
#line 2721 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc2_96_96;
#line 2722 "list.m"
                    void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2722 "list.m"
                    {
#line 2722 "list.m"
                      mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_107_107, mercury__list__V_109_109, mercury__list__C_87, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_95_95, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_96_96);
                    }
#line 2723 "list.m"
                    /* direct tailcall eliminated */
#line 2723 "list.m"
                    {
#line 2723 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_106_106;
#line 2723 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_108_108;
#line 2723 "list.m"
                      MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_88;
#line 2723 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc1_95_95;
#line 2723 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_Acc2_96_96;

#line 2723 "list.m"
                      mercury__list__STATE_VARIABLE_Acc2_0_7 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7;
#line 2723 "list.m"
                      mercury__list__STATE_VARIABLE_Acc1_0_5 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5;
#line 2723 "list.m"
                      mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2723 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2723 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2723 "list.m"
                    }
#line 2723 "list.m"
                    continue;
#line 2721 "list.m"
                  }
#line 2707 "list.m"
              }
#line 2707 "list.m"
          }
#line 2707 "list.m"
      }
#line 2707 "list.m"
      break;
#line 2707 "list.m"
    }
#line 1098 "list.m"
}

#line 1096 "list.m"
void MR_CALL 
mercury__list__foldl2_corresponding3_8_p_1(
#line 1096 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_99,
#line 1096 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_100,
#line 1096 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_101,
#line 1096 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_102,
#line 1096 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_103,
#line 1096 "list.m"
  MR_Word mercury__list__P_1,
#line 1096 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1096 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1096 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1096 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 1096 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 1096 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 1096 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8)
#line 1096 "list.m"
{
#line 2707 "list.m"
  while (MR_TRUE)
#line 2707 "list.m"
    {
#line 2707 "list.m"
      /* tailcall optimized into a loop */
#line 2707 "list.m"
      {
#line 2707 "list.m"
        MR_bool mercury__list__succeeded;

#line 2707 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
              {
#line 2707 "list.m"
                *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2707 "list.m"
                *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2707 "list.m"
              }
#line 2707 "list.m"
            else
#line 2712 "list.m"
              {
#line 2713 "list.m"
                {
#line 2713 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
#line 2713 "list.m"
                  return;
                }
#line 2712 "list.m"
              }
#line 2707 "list.m"
          else
#line 2707 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2710 "list.m"
              {
#line 2711 "list.m"
                {
#line 2711 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
#line 2711 "list.m"
                  return;
                }
#line 2710 "list.m"
              }
#line 2707 "list.m"
            else
#line 2714 "list.m"
              {
#line 2715 "list.m"
                {
#line 2715 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
#line 2715 "list.m"
                  return;
                }
#line 2714 "list.m"
              }
#line 2707 "list.m"
        else
#line 2707 "list.m"
          {
#line 2707 "list.m"
            MR_Word mercury__list__V_106_106 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2707 "list.m"
            MR_Box mercury__list__V_107_107 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2707 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2708 "list.m"
                {
#line 2709 "list.m"
                  {
#line 2709 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
#line 2709 "list.m"
                    return;
                  }
#line 2708 "list.m"
                }
#line 2707 "list.m"
              else
#line 2716 "list.m"
                {
#line 2717 "list.m"
                  {
#line 2717 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
#line 2717 "list.m"
                    return;
                  }
#line 2716 "list.m"
                }
#line 2707 "list.m"
            else
#line 2707 "list.m"
              {
#line 2707 "list.m"
                MR_Word mercury__list__V_108_108 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2707 "list.m"
                MR_Box mercury__list__V_109_109 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2707 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2718 "list.m"
                  {
#line 2719 "list.m"
                    {
#line 2719 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
#line 2719 "list.m"
                      return;
                    }
#line 2718 "list.m"
                  }
#line 2707 "list.m"
                else
#line 2721 "list.m"
                  {
#line 2721 "list.m"
                    MR_Box mercury__list__C_87 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2721 "list.m"
                    MR_Word mercury__list__Cs_88 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2721 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc1_95_95;
#line 2721 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc2_96_96;
#line 2722 "list.m"
                    void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2722 "list.m"
                    {
#line 2722 "list.m"
                      mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_107_107, mercury__list__V_109_109, mercury__list__C_87, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_95_95, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_96_96);
                    }
#line 2723 "list.m"
                    /* direct tailcall eliminated */
#line 2723 "list.m"
                    {
#line 2723 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_106_106;
#line 2723 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_108_108;
#line 2723 "list.m"
                      MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_88;
#line 2723 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc1_95_95;
#line 2723 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_Acc2_96_96;

#line 2723 "list.m"
                      mercury__list__STATE_VARIABLE_Acc2_0_7 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7;
#line 2723 "list.m"
                      mercury__list__STATE_VARIABLE_Acc1_0_5 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5;
#line 2723 "list.m"
                      mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2723 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2723 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2723 "list.m"
                    }
#line 2723 "list.m"
                    continue;
#line 2721 "list.m"
                  }
#line 2707 "list.m"
              }
#line 2707 "list.m"
          }
#line 2707 "list.m"
      }
#line 2707 "list.m"
      break;
#line 2707 "list.m"
    }
#line 1096 "list.m"
}

#line 1094 "list.m"
void MR_CALL 
mercury__list__foldl2_corresponding3_8_p_0(
#line 1094 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_99,
#line 1094 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_100,
#line 1094 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_101,
#line 1094 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_102,
#line 1094 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_103,
#line 1094 "list.m"
  MR_Word mercury__list__P_1,
#line 1094 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1094 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1094 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1094 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 1094 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 1094 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 1094 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8)
#line 1094 "list.m"
{
#line 2707 "list.m"
  while (MR_TRUE)
#line 2707 "list.m"
    {
#line 2707 "list.m"
      /* tailcall optimized into a loop */
#line 2707 "list.m"
      {
#line 2707 "list.m"
        MR_bool mercury__list__succeeded;

#line 2707 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
              {
#line 2707 "list.m"
                *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2707 "list.m"
                *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2707 "list.m"
              }
#line 2707 "list.m"
            else
#line 2712 "list.m"
              {
#line 2713 "list.m"
                {
#line 2713 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
#line 2713 "list.m"
                  return;
                }
#line 2712 "list.m"
              }
#line 2707 "list.m"
          else
#line 2707 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2710 "list.m"
              {
#line 2711 "list.m"
                {
#line 2711 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
#line 2711 "list.m"
                  return;
                }
#line 2710 "list.m"
              }
#line 2707 "list.m"
            else
#line 2714 "list.m"
              {
#line 2715 "list.m"
                {
#line 2715 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
#line 2715 "list.m"
                  return;
                }
#line 2714 "list.m"
              }
#line 2707 "list.m"
        else
#line 2707 "list.m"
          {
#line 2707 "list.m"
            MR_Word mercury__list__V_106_106 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2707 "list.m"
            MR_Box mercury__list__V_107_107 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2707 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2707 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2708 "list.m"
                {
#line 2709 "list.m"
                  {
#line 2709 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
#line 2709 "list.m"
                    return;
                  }
#line 2708 "list.m"
                }
#line 2707 "list.m"
              else
#line 2716 "list.m"
                {
#line 2717 "list.m"
                  {
#line 2717 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
#line 2717 "list.m"
                    return;
                  }
#line 2716 "list.m"
                }
#line 2707 "list.m"
            else
#line 2707 "list.m"
              {
#line 2707 "list.m"
                MR_Word mercury__list__V_108_108 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2707 "list.m"
                MR_Box mercury__list__V_109_109 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2707 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2718 "list.m"
                  {
#line 2719 "list.m"
                    {
#line 2719 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding3\'/8", (MR_String) "mismatched list lengths");
#line 2719 "list.m"
                      return;
                    }
#line 2718 "list.m"
                  }
#line 2707 "list.m"
                else
#line 2721 "list.m"
                  {
#line 2721 "list.m"
                    MR_Box mercury__list__C_87 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2721 "list.m"
                    MR_Word mercury__list__Cs_88 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2721 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc1_95_95;
#line 2721 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc2_96_96;
#line 2722 "list.m"
                    void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2722 "list.m"
                    {
#line 2722 "list.m"
                      mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_107_107, mercury__list__V_109_109, mercury__list__C_87, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_95_95, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_96_96);
                    }
#line 2723 "list.m"
                    /* direct tailcall eliminated */
#line 2723 "list.m"
                    {
#line 2723 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_106_106;
#line 2723 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_108_108;
#line 2723 "list.m"
                      MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_88;
#line 2723 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc1_95_95;
#line 2723 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_Acc2_96_96;

#line 2723 "list.m"
                      mercury__list__STATE_VARIABLE_Acc2_0_7 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_7;
#line 2723 "list.m"
                      mercury__list__STATE_VARIABLE_Acc1_0_5 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_5;
#line 2723 "list.m"
                      mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2723 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2723 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2723 "list.m"
                    }
#line 2723 "list.m"
                    continue;
#line 2721 "list.m"
                  }
#line 2707 "list.m"
              }
#line 2707 "list.m"
          }
#line 2707 "list.m"
      }
#line 2707 "list.m"
      break;
#line 2707 "list.m"
    }
#line 1094 "list.m"
}

#line 1086 "list.m"
MR_bool MR_CALL 
mercury__list__foldl_corresponding3_6_p_5(
#line 1086 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_77,
#line 1086 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_78,
#line 1086 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_79,
#line 1086 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_80,
#line 1086 "list.m"
  MR_Word mercury__list__P_1,
#line 1086 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1086 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1086 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1086 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_5,
#line 1086 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_6)
#line 1086 "list.m"
{
#line 2690 "list.m"
  while (MR_TRUE)
#line 2690 "list.m"
    {
#line 2690 "list.m"
      /* tailcall optimized into a loop */
#line 2690 "list.m"
      {
#line 2690 "list.m"
        MR_bool mercury__list__succeeded;

#line 2690 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
          {
#line 2690 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
                *mercury__list__STATE_VARIABLE_Acc_6 = mercury__list__STATE_VARIABLE_Acc_0_5;
#line 2690 "list.m"
              else
#line 2695 "list.m"
                {
#line 2696 "list.m"
                  {
#line 2696 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
                  }
#line 2695 "list.m"
                }
#line 2690 "list.m"
            else
#line 2690 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2693 "list.m"
                {
#line 2694 "list.m"
                  {
#line 2694 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
                  }
#line 2693 "list.m"
                }
#line 2690 "list.m"
              else
#line 2697 "list.m"
                {
#line 2698 "list.m"
                  {
#line 2698 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
                  }
#line 2697 "list.m"
                }
#line 2690 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2690 "list.m"
          }
#line 2690 "list.m"
        else
#line 2690 "list.m"
          {
#line 2690 "list.m"
            MR_Word mercury__list__V_83_83 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2690 "list.m"
            MR_Box mercury__list__V_84_84 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2690 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
              {
#line 2690 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2691 "list.m"
                  {
#line 2692 "list.m"
                    {
#line 2692 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
                    }
#line 2691 "list.m"
                  }
#line 2690 "list.m"
                else
#line 2699 "list.m"
                  {
#line 2700 "list.m"
                    {
#line 2700 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
                    }
#line 2699 "list.m"
                  }
#line 2690 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2690 "list.m"
              }
#line 2690 "list.m"
            else
#line 2690 "list.m"
              {
#line 2690 "list.m"
                MR_Word mercury__list__V_85_85 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2690 "list.m"
                MR_Box mercury__list__V_86_86 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2690 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2701 "list.m"
                  {
#line 2702 "list.m"
                    {
#line 2702 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
                    }
#line 2701 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2701 "list.m"
                  }
#line 2690 "list.m"
                else
#line 2703 "list.m"
                  {
#line 2703 "list.m"
                    MR_Box mercury__list__C_70 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2703 "list.m"
                    MR_Word mercury__list__Cs_71 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2703 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc_75_75;
#line 2704 "list.m"
                    MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2704 "list.m"
                    {
#line 2704 "list.m"
                      mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_84_84, mercury__list__V_86_86, mercury__list__C_70, mercury__list__STATE_VARIABLE_Acc_0_5, &mercury__list__STATE_VARIABLE_Acc_75_75);
                    }
#line 2703 "list.m"
                    if (mercury__list__succeeded)
#line 2705 "list.m"
                      {
#line 2705 "list.m"
                        /* direct tailcall eliminated */
#line 2705 "list.m"
                        {
#line 2705 "list.m"
                          MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_83_83;
#line 2705 "list.m"
                          MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_85_85;
#line 2705 "list.m"
                          MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_71;
#line 2705 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc_75_75;

#line 2705 "list.m"
                          mercury__list__STATE_VARIABLE_Acc_0_5 = mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_5;
#line 2705 "list.m"
                          mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2705 "list.m"
                          mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2705 "list.m"
                          mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2705 "list.m"
                        }
#line 2705 "list.m"
                        continue;
#line 2705 "list.m"
                      }
#line 2703 "list.m"
                  }
#line 2690 "list.m"
              }
#line 2690 "list.m"
          }
#line 2690 "list.m"
        return mercury__list__succeeded;
#line 2690 "list.m"
      }
#line 2690 "list.m"
      break;
#line 2690 "list.m"
    }
#line 1086 "list.m"
}

#line 1084 "list.m"
MR_bool MR_CALL 
mercury__list__foldl_corresponding3_6_p_4(
#line 1084 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_77,
#line 1084 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_78,
#line 1084 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_79,
#line 1084 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_80,
#line 1084 "list.m"
  MR_Word mercury__list__P_1,
#line 1084 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1084 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1084 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1084 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_5,
#line 1084 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_6)
#line 1084 "list.m"
{
#line 2690 "list.m"
  while (MR_TRUE)
#line 2690 "list.m"
    {
#line 2690 "list.m"
      /* tailcall optimized into a loop */
#line 2690 "list.m"
      {
#line 2690 "list.m"
        MR_bool mercury__list__succeeded;

#line 2690 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
          {
#line 2690 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
                *mercury__list__STATE_VARIABLE_Acc_6 = mercury__list__STATE_VARIABLE_Acc_0_5;
#line 2690 "list.m"
              else
#line 2695 "list.m"
                {
#line 2696 "list.m"
                  {
#line 2696 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
                  }
#line 2695 "list.m"
                }
#line 2690 "list.m"
            else
#line 2690 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2693 "list.m"
                {
#line 2694 "list.m"
                  {
#line 2694 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
                  }
#line 2693 "list.m"
                }
#line 2690 "list.m"
              else
#line 2697 "list.m"
                {
#line 2698 "list.m"
                  {
#line 2698 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
                  }
#line 2697 "list.m"
                }
#line 2690 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2690 "list.m"
          }
#line 2690 "list.m"
        else
#line 2690 "list.m"
          {
#line 2690 "list.m"
            MR_Word mercury__list__V_83_83 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2690 "list.m"
            MR_Box mercury__list__V_84_84 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2690 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
              {
#line 2690 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2691 "list.m"
                  {
#line 2692 "list.m"
                    {
#line 2692 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
                    }
#line 2691 "list.m"
                  }
#line 2690 "list.m"
                else
#line 2699 "list.m"
                  {
#line 2700 "list.m"
                    {
#line 2700 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
                    }
#line 2699 "list.m"
                  }
#line 2690 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2690 "list.m"
              }
#line 2690 "list.m"
            else
#line 2690 "list.m"
              {
#line 2690 "list.m"
                MR_Word mercury__list__V_85_85 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2690 "list.m"
                MR_Box mercury__list__V_86_86 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2690 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2701 "list.m"
                  {
#line 2702 "list.m"
                    {
#line 2702 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
                    }
#line 2701 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2701 "list.m"
                  }
#line 2690 "list.m"
                else
#line 2703 "list.m"
                  {
#line 2703 "list.m"
                    MR_Box mercury__list__C_70 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2703 "list.m"
                    MR_Word mercury__list__Cs_71 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2703 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc_75_75;
#line 2704 "list.m"
                    MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2704 "list.m"
                    {
#line 2704 "list.m"
                      mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_84_84, mercury__list__V_86_86, mercury__list__C_70, mercury__list__STATE_VARIABLE_Acc_0_5, &mercury__list__STATE_VARIABLE_Acc_75_75);
                    }
#line 2703 "list.m"
                    if (mercury__list__succeeded)
#line 2705 "list.m"
                      {
#line 2705 "list.m"
                        /* direct tailcall eliminated */
#line 2705 "list.m"
                        {
#line 2705 "list.m"
                          MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_83_83;
#line 2705 "list.m"
                          MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_85_85;
#line 2705 "list.m"
                          MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_71;
#line 2705 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc_75_75;

#line 2705 "list.m"
                          mercury__list__STATE_VARIABLE_Acc_0_5 = mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_5;
#line 2705 "list.m"
                          mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2705 "list.m"
                          mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2705 "list.m"
                          mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2705 "list.m"
                        }
#line 2705 "list.m"
                        continue;
#line 2705 "list.m"
                      }
#line 2703 "list.m"
                  }
#line 2690 "list.m"
              }
#line 2690 "list.m"
          }
#line 2690 "list.m"
        return mercury__list__succeeded;
#line 2690 "list.m"
      }
#line 2690 "list.m"
      break;
#line 2690 "list.m"
    }
#line 1084 "list.m"
}

#line 1082 "list.m"
MR_bool MR_CALL 
mercury__list__foldl_corresponding3_6_p_3(
#line 1082 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_77,
#line 1082 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_78,
#line 1082 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_79,
#line 1082 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_80,
#line 1082 "list.m"
  MR_Word mercury__list__P_1,
#line 1082 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1082 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1082 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1082 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_5,
#line 1082 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_6)
#line 1082 "list.m"
{
#line 2690 "list.m"
  while (MR_TRUE)
#line 2690 "list.m"
    {
#line 2690 "list.m"
      /* tailcall optimized into a loop */
#line 2690 "list.m"
      {
#line 2690 "list.m"
        MR_bool mercury__list__succeeded;

#line 2690 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
          {
#line 2690 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
                *mercury__list__STATE_VARIABLE_Acc_6 = mercury__list__STATE_VARIABLE_Acc_0_5;
#line 2690 "list.m"
              else
#line 2695 "list.m"
                {
#line 2696 "list.m"
                  {
#line 2696 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
                  }
#line 2695 "list.m"
                }
#line 2690 "list.m"
            else
#line 2690 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2693 "list.m"
                {
#line 2694 "list.m"
                  {
#line 2694 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
                  }
#line 2693 "list.m"
                }
#line 2690 "list.m"
              else
#line 2697 "list.m"
                {
#line 2698 "list.m"
                  {
#line 2698 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
                  }
#line 2697 "list.m"
                }
#line 2690 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2690 "list.m"
          }
#line 2690 "list.m"
        else
#line 2690 "list.m"
          {
#line 2690 "list.m"
            MR_Word mercury__list__V_83_83 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2690 "list.m"
            MR_Box mercury__list__V_84_84 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2690 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
              {
#line 2690 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2691 "list.m"
                  {
#line 2692 "list.m"
                    {
#line 2692 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
                    }
#line 2691 "list.m"
                  }
#line 2690 "list.m"
                else
#line 2699 "list.m"
                  {
#line 2700 "list.m"
                    {
#line 2700 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
                    }
#line 2699 "list.m"
                  }
#line 2690 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2690 "list.m"
              }
#line 2690 "list.m"
            else
#line 2690 "list.m"
              {
#line 2690 "list.m"
                MR_Word mercury__list__V_85_85 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2690 "list.m"
                MR_Box mercury__list__V_86_86 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2690 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2701 "list.m"
                  {
#line 2702 "list.m"
                    {
#line 2702 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
                    }
#line 2701 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2701 "list.m"
                  }
#line 2690 "list.m"
                else
#line 2703 "list.m"
                  {
#line 2703 "list.m"
                    MR_Box mercury__list__C_70 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2703 "list.m"
                    MR_Word mercury__list__Cs_71 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2703 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc_75_75;
#line 2704 "list.m"
                    MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2704 "list.m"
                    {
#line 2704 "list.m"
                      mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_84_84, mercury__list__V_86_86, mercury__list__C_70, mercury__list__STATE_VARIABLE_Acc_0_5, &mercury__list__STATE_VARIABLE_Acc_75_75);
                    }
#line 2703 "list.m"
                    if (mercury__list__succeeded)
#line 2705 "list.m"
                      {
#line 2705 "list.m"
                        /* direct tailcall eliminated */
#line 2705 "list.m"
                        {
#line 2705 "list.m"
                          MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_83_83;
#line 2705 "list.m"
                          MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_85_85;
#line 2705 "list.m"
                          MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_71;
#line 2705 "list.m"
                          MR_Box mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc_75_75;

#line 2705 "list.m"
                          mercury__list__STATE_VARIABLE_Acc_0_5 = mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_5;
#line 2705 "list.m"
                          mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2705 "list.m"
                          mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2705 "list.m"
                          mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2705 "list.m"
                        }
#line 2705 "list.m"
                        continue;
#line 2705 "list.m"
                      }
#line 2703 "list.m"
                  }
#line 2690 "list.m"
              }
#line 2690 "list.m"
          }
#line 2690 "list.m"
        return mercury__list__succeeded;
#line 2690 "list.m"
      }
#line 2690 "list.m"
      break;
#line 2690 "list.m"
    }
#line 1082 "list.m"
}

#line 1080 "list.m"
void MR_CALL 
mercury__list__foldl_corresponding3_6_p_2(
#line 1080 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_77,
#line 1080 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_78,
#line 1080 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_79,
#line 1080 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_80,
#line 1080 "list.m"
  MR_Word mercury__list__P_1,
#line 1080 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1080 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1080 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1080 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_5,
#line 1080 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_6)
#line 1080 "list.m"
{
#line 2690 "list.m"
  while (MR_TRUE)
#line 2690 "list.m"
    {
#line 2690 "list.m"
      /* tailcall optimized into a loop */
#line 2690 "list.m"
      {
#line 2690 "list.m"
        MR_bool mercury__list__succeeded;

#line 2690 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
              *mercury__list__STATE_VARIABLE_Acc_6 = mercury__list__STATE_VARIABLE_Acc_0_5;
#line 2690 "list.m"
            else
#line 2695 "list.m"
              {
#line 2696 "list.m"
                {
#line 2696 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
#line 2696 "list.m"
                  return;
                }
#line 2695 "list.m"
              }
#line 2690 "list.m"
          else
#line 2690 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2693 "list.m"
              {
#line 2694 "list.m"
                {
#line 2694 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
#line 2694 "list.m"
                  return;
                }
#line 2693 "list.m"
              }
#line 2690 "list.m"
            else
#line 2697 "list.m"
              {
#line 2698 "list.m"
                {
#line 2698 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
#line 2698 "list.m"
                  return;
                }
#line 2697 "list.m"
              }
#line 2690 "list.m"
        else
#line 2690 "list.m"
          {
#line 2690 "list.m"
            MR_Word mercury__list__V_83_83 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2690 "list.m"
            MR_Box mercury__list__V_84_84 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2690 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2691 "list.m"
                {
#line 2692 "list.m"
                  {
#line 2692 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
#line 2692 "list.m"
                    return;
                  }
#line 2691 "list.m"
                }
#line 2690 "list.m"
              else
#line 2699 "list.m"
                {
#line 2700 "list.m"
                  {
#line 2700 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
#line 2700 "list.m"
                    return;
                  }
#line 2699 "list.m"
                }
#line 2690 "list.m"
            else
#line 2690 "list.m"
              {
#line 2690 "list.m"
                MR_Word mercury__list__V_85_85 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2690 "list.m"
                MR_Box mercury__list__V_86_86 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2690 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2701 "list.m"
                  {
#line 2702 "list.m"
                    {
#line 2702 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
#line 2702 "list.m"
                      return;
                    }
#line 2701 "list.m"
                  }
#line 2690 "list.m"
                else
#line 2703 "list.m"
                  {
#line 2703 "list.m"
                    MR_Box mercury__list__C_70 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2703 "list.m"
                    MR_Word mercury__list__Cs_71 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2703 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc_75_75;
#line 2704 "list.m"
                    void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2704 "list.m"
                    {
#line 2704 "list.m"
                      mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_84_84, mercury__list__V_86_86, mercury__list__C_70, mercury__list__STATE_VARIABLE_Acc_0_5, &mercury__list__STATE_VARIABLE_Acc_75_75);
                    }
#line 2705 "list.m"
                    /* direct tailcall eliminated */
#line 2705 "list.m"
                    {
#line 2705 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_83_83;
#line 2705 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_85_85;
#line 2705 "list.m"
                      MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_71;
#line 2705 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc_75_75;

#line 2705 "list.m"
                      mercury__list__STATE_VARIABLE_Acc_0_5 = mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_5;
#line 2705 "list.m"
                      mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2705 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2705 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2705 "list.m"
                    }
#line 2705 "list.m"
                    continue;
#line 2703 "list.m"
                  }
#line 2690 "list.m"
              }
#line 2690 "list.m"
          }
#line 2690 "list.m"
      }
#line 2690 "list.m"
      break;
#line 2690 "list.m"
    }
#line 1080 "list.m"
}

#line 1078 "list.m"
void MR_CALL 
mercury__list__foldl_corresponding3_6_p_1(
#line 1078 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_77,
#line 1078 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_78,
#line 1078 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_79,
#line 1078 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_80,
#line 1078 "list.m"
  MR_Word mercury__list__P_1,
#line 1078 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1078 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1078 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1078 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_5,
#line 1078 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_6)
#line 1078 "list.m"
{
#line 2690 "list.m"
  while (MR_TRUE)
#line 2690 "list.m"
    {
#line 2690 "list.m"
      /* tailcall optimized into a loop */
#line 2690 "list.m"
      {
#line 2690 "list.m"
        MR_bool mercury__list__succeeded;

#line 2690 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
              *mercury__list__STATE_VARIABLE_Acc_6 = mercury__list__STATE_VARIABLE_Acc_0_5;
#line 2690 "list.m"
            else
#line 2695 "list.m"
              {
#line 2696 "list.m"
                {
#line 2696 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
#line 2696 "list.m"
                  return;
                }
#line 2695 "list.m"
              }
#line 2690 "list.m"
          else
#line 2690 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2693 "list.m"
              {
#line 2694 "list.m"
                {
#line 2694 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
#line 2694 "list.m"
                  return;
                }
#line 2693 "list.m"
              }
#line 2690 "list.m"
            else
#line 2697 "list.m"
              {
#line 2698 "list.m"
                {
#line 2698 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
#line 2698 "list.m"
                  return;
                }
#line 2697 "list.m"
              }
#line 2690 "list.m"
        else
#line 2690 "list.m"
          {
#line 2690 "list.m"
            MR_Word mercury__list__V_83_83 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2690 "list.m"
            MR_Box mercury__list__V_84_84 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2690 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2691 "list.m"
                {
#line 2692 "list.m"
                  {
#line 2692 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
#line 2692 "list.m"
                    return;
                  }
#line 2691 "list.m"
                }
#line 2690 "list.m"
              else
#line 2699 "list.m"
                {
#line 2700 "list.m"
                  {
#line 2700 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
#line 2700 "list.m"
                    return;
                  }
#line 2699 "list.m"
                }
#line 2690 "list.m"
            else
#line 2690 "list.m"
              {
#line 2690 "list.m"
                MR_Word mercury__list__V_85_85 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2690 "list.m"
                MR_Box mercury__list__V_86_86 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2690 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2701 "list.m"
                  {
#line 2702 "list.m"
                    {
#line 2702 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
#line 2702 "list.m"
                      return;
                    }
#line 2701 "list.m"
                  }
#line 2690 "list.m"
                else
#line 2703 "list.m"
                  {
#line 2703 "list.m"
                    MR_Box mercury__list__C_70 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2703 "list.m"
                    MR_Word mercury__list__Cs_71 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2703 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc_75_75;
#line 2704 "list.m"
                    void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2704 "list.m"
                    {
#line 2704 "list.m"
                      mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_84_84, mercury__list__V_86_86, mercury__list__C_70, mercury__list__STATE_VARIABLE_Acc_0_5, &mercury__list__STATE_VARIABLE_Acc_75_75);
                    }
#line 2705 "list.m"
                    /* direct tailcall eliminated */
#line 2705 "list.m"
                    {
#line 2705 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_83_83;
#line 2705 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_85_85;
#line 2705 "list.m"
                      MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_71;
#line 2705 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc_75_75;

#line 2705 "list.m"
                      mercury__list__STATE_VARIABLE_Acc_0_5 = mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_5;
#line 2705 "list.m"
                      mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2705 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2705 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2705 "list.m"
                    }
#line 2705 "list.m"
                    continue;
#line 2703 "list.m"
                  }
#line 2690 "list.m"
              }
#line 2690 "list.m"
          }
#line 2690 "list.m"
      }
#line 2690 "list.m"
      break;
#line 2690 "list.m"
    }
#line 1078 "list.m"
}

#line 1076 "list.m"
void MR_CALL 
mercury__list__foldl_corresponding3_6_p_0(
#line 1076 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_77,
#line 1076 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_78,
#line 1076 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_79,
#line 1076 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_80,
#line 1076 "list.m"
  MR_Word mercury__list__P_1,
#line 1076 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1076 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1076 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 1076 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_5,
#line 1076 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_6)
#line 1076 "list.m"
{
#line 2690 "list.m"
  while (MR_TRUE)
#line 2690 "list.m"
    {
#line 2690 "list.m"
      /* tailcall optimized into a loop */
#line 2690 "list.m"
      {
#line 2690 "list.m"
        MR_bool mercury__list__succeeded;

#line 2690 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
              *mercury__list__STATE_VARIABLE_Acc_6 = mercury__list__STATE_VARIABLE_Acc_0_5;
#line 2690 "list.m"
            else
#line 2695 "list.m"
              {
#line 2696 "list.m"
                {
#line 2696 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
#line 2696 "list.m"
                  return;
                }
#line 2695 "list.m"
              }
#line 2690 "list.m"
          else
#line 2690 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2693 "list.m"
              {
#line 2694 "list.m"
                {
#line 2694 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
#line 2694 "list.m"
                  return;
                }
#line 2693 "list.m"
              }
#line 2690 "list.m"
            else
#line 2697 "list.m"
              {
#line 2698 "list.m"
                {
#line 2698 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
#line 2698 "list.m"
                  return;
                }
#line 2697 "list.m"
              }
#line 2690 "list.m"
        else
#line 2690 "list.m"
          {
#line 2690 "list.m"
            MR_Word mercury__list__V_83_83 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2690 "list.m"
            MR_Box mercury__list__V_84_84 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2690 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2690 "list.m"
              if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2691 "list.m"
                {
#line 2692 "list.m"
                  {
#line 2692 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
#line 2692 "list.m"
                    return;
                  }
#line 2691 "list.m"
                }
#line 2690 "list.m"
              else
#line 2699 "list.m"
                {
#line 2700 "list.m"
                  {
#line 2700 "list.m"
                    mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
#line 2700 "list.m"
                    return;
                  }
#line 2699 "list.m"
                }
#line 2690 "list.m"
            else
#line 2690 "list.m"
              {
#line 2690 "list.m"
                MR_Word mercury__list__V_85_85 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2690 "list.m"
                MR_Box mercury__list__V_86_86 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2690 "list.m"
                if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2701 "list.m"
                  {
#line 2702 "list.m"
                    {
#line 2702 "list.m"
                      mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding3\'/6", (MR_String) "mismatched list lengths");
#line 2702 "list.m"
                      return;
                    }
#line 2701 "list.m"
                  }
#line 2690 "list.m"
                else
#line 2703 "list.m"
                  {
#line 2703 "list.m"
                    MR_Box mercury__list__C_70 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2703 "list.m"
                    MR_Word mercury__list__Cs_71 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2703 "list.m"
                    MR_Box mercury__list__STATE_VARIABLE_Acc_75_75;
#line 2704 "list.m"
                    void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2704 "list.m"
                    {
#line 2704 "list.m"
                      mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_84_84, mercury__list__V_86_86, mercury__list__C_70, mercury__list__STATE_VARIABLE_Acc_0_5, &mercury__list__STATE_VARIABLE_Acc_75_75);
                    }
#line 2705 "list.m"
                    /* direct tailcall eliminated */
#line 2705 "list.m"
                    {
#line 2705 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_83_83;
#line 2705 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__V_85_85;
#line 2705 "list.m"
                      MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__Cs_71;
#line 2705 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_Acc_75_75;

#line 2705 "list.m"
                      mercury__list__STATE_VARIABLE_Acc_0_5 = mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_5;
#line 2705 "list.m"
                      mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2705 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2705 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2705 "list.m"
                    }
#line 2705 "list.m"
                    continue;
#line 2703 "list.m"
                  }
#line 2690 "list.m"
              }
#line 2690 "list.m"
          }
#line 2690 "list.m"
      }
#line 2690 "list.m"
      break;
#line 2690 "list.m"
    }
#line 1076 "list.m"
}

#line 1066 "list.m"
MR_bool MR_CALL 
mercury__list__foldl3_corresponding_9_p_5(
#line 1066 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_64,
#line 1066 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_65,
#line 1066 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_66,
#line 1066 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_67,
#line 1066 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_68,
#line 1066 "list.m"
  MR_Word mercury__list__P_1,
#line 1066 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1066 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1066 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_4,
#line 1066 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_5,
#line 1066 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_6,
#line 1066 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_7,
#line 1066 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_8,
#line 1066 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_9)
#line 1066 "list.m"
{
#line 2681 "list.m"
  while (MR_TRUE)
#line 2681 "list.m"
    {
#line 2681 "list.m"
      /* tailcall optimized into a loop */
#line 2681 "list.m"
      {
#line 2681 "list.m"
        MR_bool mercury__list__succeeded;

#line 2681 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2681 "list.m"
          {
#line 2681 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2681 "list.m"
              {
#line 2681 "list.m"
                *mercury__list__STATE_VARIABLE_Acc3_9 = mercury__list__STATE_VARIABLE_Acc3_0_8;
#line 2681 "list.m"
                *mercury__list__STATE_VARIABLE_Acc2_7 = mercury__list__STATE_VARIABLE_Acc2_0_6;
#line 2681 "list.m"
                *mercury__list__STATE_VARIABLE_Acc1_5 = mercury__list__STATE_VARIABLE_Acc1_0_4;
#line 2681 "list.m"
              }
#line 2681 "list.m"
            else
#line 2682 "list.m"
              {
#line 2683 "list.m"
                {
#line 2683 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding\'/9", (MR_String) "mismatched list lengths");
                }
#line 2682 "list.m"
              }
#line 2681 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2681 "list.m"
          }
#line 2681 "list.m"
        else
#line 2681 "list.m"
          {
#line 2681 "list.m"
            MR_Word mercury__list__V_69_69 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2681 "list.m"
            MR_Box mercury__list__V_70_70 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2681 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2684 "list.m"
              {
#line 2685 "list.m"
                {
#line 2685 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding\'/9", (MR_String) "mismatched list lengths");
                }
#line 2684 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2684 "list.m"
              }
#line 2681 "list.m"
            else
#line 2686 "list.m"
              {
#line 2686 "list.m"
                MR_Box mercury__list__B_47 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2686 "list.m"
                MR_Word mercury__list__Bs_48 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2686 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc1_58_58;
#line 2686 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc2_59_59;
#line 2686 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc3_60_60;
#line 2687 "list.m"
                MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2687 "list.m"
                {
#line 2687 "list.m"
                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_70_70, mercury__list__B_47, mercury__list__STATE_VARIABLE_Acc1_0_4, &mercury__list__STATE_VARIABLE_Acc1_58_58, mercury__list__STATE_VARIABLE_Acc2_0_6, &mercury__list__STATE_VARIABLE_Acc2_59_59, mercury__list__STATE_VARIABLE_Acc3_0_8, &mercury__list__STATE_VARIABLE_Acc3_60_60);
                }
#line 2686 "list.m"
                if (mercury__list__succeeded)
#line 2688 "list.m"
                  {
#line 2688 "list.m"
                    /* direct tailcall eliminated */
#line 2688 "list.m"
                    {
#line 2688 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_69_69;
#line 2688 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_48;
#line 2688 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc1_58_58;
#line 2688 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6 = mercury__list__STATE_VARIABLE_Acc2_59_59;
#line 2688 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_8 = mercury__list__STATE_VARIABLE_Acc3_60_60;

#line 2688 "list.m"
                      mercury__list__STATE_VARIABLE_Acc3_0_8 = mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_8;
#line 2688 "list.m"
                      mercury__list__STATE_VARIABLE_Acc2_0_6 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6;
#line 2688 "list.m"
                      mercury__list__STATE_VARIABLE_Acc1_0_4 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4;
#line 2688 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2688 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2688 "list.m"
                    }
#line 2688 "list.m"
                    continue;
#line 2688 "list.m"
                  }
#line 2686 "list.m"
              }
#line 2681 "list.m"
          }
#line 2681 "list.m"
        return mercury__list__succeeded;
#line 2681 "list.m"
      }
#line 2681 "list.m"
      break;
#line 2681 "list.m"
    }
#line 1066 "list.m"
}

#line 1063 "list.m"
MR_bool MR_CALL 
mercury__list__foldl3_corresponding_9_p_4(
#line 1063 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_64,
#line 1063 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_65,
#line 1063 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_66,
#line 1063 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_67,
#line 1063 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_68,
#line 1063 "list.m"
  MR_Word mercury__list__P_1,
#line 1063 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1063 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1063 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_4,
#line 1063 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_5,
#line 1063 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_6,
#line 1063 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_7,
#line 1063 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_8,
#line 1063 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_9)
#line 1063 "list.m"
{
#line 2681 "list.m"
  while (MR_TRUE)
#line 2681 "list.m"
    {
#line 2681 "list.m"
      /* tailcall optimized into a loop */
#line 2681 "list.m"
      {
#line 2681 "list.m"
        MR_bool mercury__list__succeeded;

#line 2681 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2681 "list.m"
          {
#line 2681 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2681 "list.m"
              {
#line 2681 "list.m"
                *mercury__list__STATE_VARIABLE_Acc3_9 = mercury__list__STATE_VARIABLE_Acc3_0_8;
#line 2681 "list.m"
                *mercury__list__STATE_VARIABLE_Acc2_7 = mercury__list__STATE_VARIABLE_Acc2_0_6;
#line 2681 "list.m"
                *mercury__list__STATE_VARIABLE_Acc1_5 = mercury__list__STATE_VARIABLE_Acc1_0_4;
#line 2681 "list.m"
              }
#line 2681 "list.m"
            else
#line 2682 "list.m"
              {
#line 2683 "list.m"
                {
#line 2683 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding\'/9", (MR_String) "mismatched list lengths");
                }
#line 2682 "list.m"
              }
#line 2681 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2681 "list.m"
          }
#line 2681 "list.m"
        else
#line 2681 "list.m"
          {
#line 2681 "list.m"
            MR_Word mercury__list__V_69_69 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2681 "list.m"
            MR_Box mercury__list__V_70_70 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2681 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2684 "list.m"
              {
#line 2685 "list.m"
                {
#line 2685 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding\'/9", (MR_String) "mismatched list lengths");
                }
#line 2684 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2684 "list.m"
              }
#line 2681 "list.m"
            else
#line 2686 "list.m"
              {
#line 2686 "list.m"
                MR_Box mercury__list__B_47 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2686 "list.m"
                MR_Word mercury__list__Bs_48 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2686 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc1_58_58;
#line 2686 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc2_59_59;
#line 2686 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc3_60_60;
#line 2687 "list.m"
                MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2687 "list.m"
                {
#line 2687 "list.m"
                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_70_70, mercury__list__B_47, mercury__list__STATE_VARIABLE_Acc1_0_4, &mercury__list__STATE_VARIABLE_Acc1_58_58, mercury__list__STATE_VARIABLE_Acc2_0_6, &mercury__list__STATE_VARIABLE_Acc2_59_59, mercury__list__STATE_VARIABLE_Acc3_0_8, &mercury__list__STATE_VARIABLE_Acc3_60_60);
                }
#line 2686 "list.m"
                if (mercury__list__succeeded)
#line 2688 "list.m"
                  {
#line 2688 "list.m"
                    /* direct tailcall eliminated */
#line 2688 "list.m"
                    {
#line 2688 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_69_69;
#line 2688 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_48;
#line 2688 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc1_58_58;
#line 2688 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6 = mercury__list__STATE_VARIABLE_Acc2_59_59;
#line 2688 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_8 = mercury__list__STATE_VARIABLE_Acc3_60_60;

#line 2688 "list.m"
                      mercury__list__STATE_VARIABLE_Acc3_0_8 = mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_8;
#line 2688 "list.m"
                      mercury__list__STATE_VARIABLE_Acc2_0_6 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6;
#line 2688 "list.m"
                      mercury__list__STATE_VARIABLE_Acc1_0_4 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4;
#line 2688 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2688 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2688 "list.m"
                    }
#line 2688 "list.m"
                    continue;
#line 2688 "list.m"
                  }
#line 2686 "list.m"
              }
#line 2681 "list.m"
          }
#line 2681 "list.m"
        return mercury__list__succeeded;
#line 2681 "list.m"
      }
#line 2681 "list.m"
      break;
#line 2681 "list.m"
    }
#line 1063 "list.m"
}

#line 1060 "list.m"
MR_bool MR_CALL 
mercury__list__foldl3_corresponding_9_p_3(
#line 1060 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_64,
#line 1060 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_65,
#line 1060 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_66,
#line 1060 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_67,
#line 1060 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_68,
#line 1060 "list.m"
  MR_Word mercury__list__P_1,
#line 1060 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1060 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1060 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_4,
#line 1060 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_5,
#line 1060 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_6,
#line 1060 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_7,
#line 1060 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_8,
#line 1060 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_9)
#line 1060 "list.m"
{
#line 2681 "list.m"
  while (MR_TRUE)
#line 2681 "list.m"
    {
#line 2681 "list.m"
      /* tailcall optimized into a loop */
#line 2681 "list.m"
      {
#line 2681 "list.m"
        MR_bool mercury__list__succeeded;

#line 2681 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2681 "list.m"
          {
#line 2681 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2681 "list.m"
              {
#line 2681 "list.m"
                *mercury__list__STATE_VARIABLE_Acc3_9 = mercury__list__STATE_VARIABLE_Acc3_0_8;
#line 2681 "list.m"
                *mercury__list__STATE_VARIABLE_Acc2_7 = mercury__list__STATE_VARIABLE_Acc2_0_6;
#line 2681 "list.m"
                *mercury__list__STATE_VARIABLE_Acc1_5 = mercury__list__STATE_VARIABLE_Acc1_0_4;
#line 2681 "list.m"
              }
#line 2681 "list.m"
            else
#line 2682 "list.m"
              {
#line 2683 "list.m"
                {
#line 2683 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding\'/9", (MR_String) "mismatched list lengths");
                }
#line 2682 "list.m"
              }
#line 2681 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2681 "list.m"
          }
#line 2681 "list.m"
        else
#line 2681 "list.m"
          {
#line 2681 "list.m"
            MR_Word mercury__list__V_69_69 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2681 "list.m"
            MR_Box mercury__list__V_70_70 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2681 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2684 "list.m"
              {
#line 2685 "list.m"
                {
#line 2685 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding\'/9", (MR_String) "mismatched list lengths");
                }
#line 2684 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2684 "list.m"
              }
#line 2681 "list.m"
            else
#line 2686 "list.m"
              {
#line 2686 "list.m"
                MR_Box mercury__list__B_47 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2686 "list.m"
                MR_Word mercury__list__Bs_48 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2686 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc1_58_58;
#line 2686 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc2_59_59;
#line 2686 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc3_60_60;
#line 2687 "list.m"
                MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2687 "list.m"
                {
#line 2687 "list.m"
                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_70_70, mercury__list__B_47, mercury__list__STATE_VARIABLE_Acc1_0_4, &mercury__list__STATE_VARIABLE_Acc1_58_58, mercury__list__STATE_VARIABLE_Acc2_0_6, &mercury__list__STATE_VARIABLE_Acc2_59_59, mercury__list__STATE_VARIABLE_Acc3_0_8, &mercury__list__STATE_VARIABLE_Acc3_60_60);
                }
#line 2686 "list.m"
                if (mercury__list__succeeded)
#line 2688 "list.m"
                  {
#line 2688 "list.m"
                    /* direct tailcall eliminated */
#line 2688 "list.m"
                    {
#line 2688 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_69_69;
#line 2688 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_48;
#line 2688 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc1_58_58;
#line 2688 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6 = mercury__list__STATE_VARIABLE_Acc2_59_59;
#line 2688 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_8 = mercury__list__STATE_VARIABLE_Acc3_60_60;

#line 2688 "list.m"
                      mercury__list__STATE_VARIABLE_Acc3_0_8 = mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_8;
#line 2688 "list.m"
                      mercury__list__STATE_VARIABLE_Acc2_0_6 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6;
#line 2688 "list.m"
                      mercury__list__STATE_VARIABLE_Acc1_0_4 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4;
#line 2688 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2688 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2688 "list.m"
                    }
#line 2688 "list.m"
                    continue;
#line 2688 "list.m"
                  }
#line 2686 "list.m"
              }
#line 2681 "list.m"
          }
#line 2681 "list.m"
        return mercury__list__succeeded;
#line 2681 "list.m"
      }
#line 2681 "list.m"
      break;
#line 2681 "list.m"
    }
#line 1060 "list.m"
}

#line 1057 "list.m"
void MR_CALL 
mercury__list__foldl3_corresponding_9_p_2(
#line 1057 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_64,
#line 1057 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_65,
#line 1057 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_66,
#line 1057 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_67,
#line 1057 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_68,
#line 1057 "list.m"
  MR_Word mercury__list__P_1,
#line 1057 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1057 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1057 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_4,
#line 1057 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_5,
#line 1057 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_6,
#line 1057 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_7,
#line 1057 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_8,
#line 1057 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_9)
#line 1057 "list.m"
{
#line 2681 "list.m"
  while (MR_TRUE)
#line 2681 "list.m"
    {
#line 2681 "list.m"
      /* tailcall optimized into a loop */
#line 2681 "list.m"
      {
#line 2681 "list.m"
        MR_bool mercury__list__succeeded;

#line 2681 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2681 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2681 "list.m"
            {
#line 2681 "list.m"
              *mercury__list__STATE_VARIABLE_Acc3_9 = mercury__list__STATE_VARIABLE_Acc3_0_8;
#line 2681 "list.m"
              *mercury__list__STATE_VARIABLE_Acc2_7 = mercury__list__STATE_VARIABLE_Acc2_0_6;
#line 2681 "list.m"
              *mercury__list__STATE_VARIABLE_Acc1_5 = mercury__list__STATE_VARIABLE_Acc1_0_4;
#line 2681 "list.m"
            }
#line 2681 "list.m"
          else
#line 2682 "list.m"
            {
#line 2683 "list.m"
              {
#line 2683 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding\'/9", (MR_String) "mismatched list lengths");
#line 2683 "list.m"
                return;
              }
#line 2682 "list.m"
            }
#line 2681 "list.m"
        else
#line 2681 "list.m"
          {
#line 2681 "list.m"
            MR_Word mercury__list__V_69_69 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2681 "list.m"
            MR_Box mercury__list__V_70_70 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2681 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2684 "list.m"
              {
#line 2685 "list.m"
                {
#line 2685 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding\'/9", (MR_String) "mismatched list lengths");
#line 2685 "list.m"
                  return;
                }
#line 2684 "list.m"
              }
#line 2681 "list.m"
            else
#line 2686 "list.m"
              {
#line 2686 "list.m"
                MR_Box mercury__list__B_47 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2686 "list.m"
                MR_Word mercury__list__Bs_48 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2686 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc1_58_58;
#line 2686 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc2_59_59;
#line 2686 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc3_60_60;
#line 2687 "list.m"
                void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2687 "list.m"
                {
#line 2687 "list.m"
                  mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_70_70, mercury__list__B_47, mercury__list__STATE_VARIABLE_Acc1_0_4, &mercury__list__STATE_VARIABLE_Acc1_58_58, mercury__list__STATE_VARIABLE_Acc2_0_6, &mercury__list__STATE_VARIABLE_Acc2_59_59, mercury__list__STATE_VARIABLE_Acc3_0_8, &mercury__list__STATE_VARIABLE_Acc3_60_60);
                }
#line 2688 "list.m"
                /* direct tailcall eliminated */
#line 2688 "list.m"
                {
#line 2688 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_69_69;
#line 2688 "list.m"
                  MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_48;
#line 2688 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc1_58_58;
#line 2688 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6 = mercury__list__STATE_VARIABLE_Acc2_59_59;
#line 2688 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_8 = mercury__list__STATE_VARIABLE_Acc3_60_60;

#line 2688 "list.m"
                  mercury__list__STATE_VARIABLE_Acc3_0_8 = mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_8;
#line 2688 "list.m"
                  mercury__list__STATE_VARIABLE_Acc2_0_6 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6;
#line 2688 "list.m"
                  mercury__list__STATE_VARIABLE_Acc1_0_4 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4;
#line 2688 "list.m"
                  mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2688 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2688 "list.m"
                }
#line 2688 "list.m"
                continue;
#line 2686 "list.m"
              }
#line 2681 "list.m"
          }
#line 2681 "list.m"
      }
#line 2681 "list.m"
      break;
#line 2681 "list.m"
    }
#line 1057 "list.m"
}

#line 1054 "list.m"
void MR_CALL 
mercury__list__foldl3_corresponding_9_p_1(
#line 1054 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_64,
#line 1054 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_65,
#line 1054 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_66,
#line 1054 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_67,
#line 1054 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_68,
#line 1054 "list.m"
  MR_Word mercury__list__P_1,
#line 1054 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1054 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1054 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_4,
#line 1054 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_5,
#line 1054 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_6,
#line 1054 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_7,
#line 1054 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_8,
#line 1054 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_9)
#line 1054 "list.m"
{
#line 2681 "list.m"
  while (MR_TRUE)
#line 2681 "list.m"
    {
#line 2681 "list.m"
      /* tailcall optimized into a loop */
#line 2681 "list.m"
      {
#line 2681 "list.m"
        MR_bool mercury__list__succeeded;

#line 2681 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2681 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2681 "list.m"
            {
#line 2681 "list.m"
              *mercury__list__STATE_VARIABLE_Acc3_9 = mercury__list__STATE_VARIABLE_Acc3_0_8;
#line 2681 "list.m"
              *mercury__list__STATE_VARIABLE_Acc2_7 = mercury__list__STATE_VARIABLE_Acc2_0_6;
#line 2681 "list.m"
              *mercury__list__STATE_VARIABLE_Acc1_5 = mercury__list__STATE_VARIABLE_Acc1_0_4;
#line 2681 "list.m"
            }
#line 2681 "list.m"
          else
#line 2682 "list.m"
            {
#line 2683 "list.m"
              {
#line 2683 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding\'/9", (MR_String) "mismatched list lengths");
#line 2683 "list.m"
                return;
              }
#line 2682 "list.m"
            }
#line 2681 "list.m"
        else
#line 2681 "list.m"
          {
#line 2681 "list.m"
            MR_Word mercury__list__V_69_69 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2681 "list.m"
            MR_Box mercury__list__V_70_70 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2681 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2684 "list.m"
              {
#line 2685 "list.m"
                {
#line 2685 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding\'/9", (MR_String) "mismatched list lengths");
#line 2685 "list.m"
                  return;
                }
#line 2684 "list.m"
              }
#line 2681 "list.m"
            else
#line 2686 "list.m"
              {
#line 2686 "list.m"
                MR_Box mercury__list__B_47 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2686 "list.m"
                MR_Word mercury__list__Bs_48 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2686 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc1_58_58;
#line 2686 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc2_59_59;
#line 2686 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc3_60_60;
#line 2687 "list.m"
                void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2687 "list.m"
                {
#line 2687 "list.m"
                  mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_70_70, mercury__list__B_47, mercury__list__STATE_VARIABLE_Acc1_0_4, &mercury__list__STATE_VARIABLE_Acc1_58_58, mercury__list__STATE_VARIABLE_Acc2_0_6, &mercury__list__STATE_VARIABLE_Acc2_59_59, mercury__list__STATE_VARIABLE_Acc3_0_8, &mercury__list__STATE_VARIABLE_Acc3_60_60);
                }
#line 2688 "list.m"
                /* direct tailcall eliminated */
#line 2688 "list.m"
                {
#line 2688 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_69_69;
#line 2688 "list.m"
                  MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_48;
#line 2688 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc1_58_58;
#line 2688 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6 = mercury__list__STATE_VARIABLE_Acc2_59_59;
#line 2688 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_8 = mercury__list__STATE_VARIABLE_Acc3_60_60;

#line 2688 "list.m"
                  mercury__list__STATE_VARIABLE_Acc3_0_8 = mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_8;
#line 2688 "list.m"
                  mercury__list__STATE_VARIABLE_Acc2_0_6 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6;
#line 2688 "list.m"
                  mercury__list__STATE_VARIABLE_Acc1_0_4 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4;
#line 2688 "list.m"
                  mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2688 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2688 "list.m"
                }
#line 2688 "list.m"
                continue;
#line 2686 "list.m"
              }
#line 2681 "list.m"
          }
#line 2681 "list.m"
      }
#line 2681 "list.m"
      break;
#line 2681 "list.m"
    }
#line 1054 "list.m"
}

#line 1051 "list.m"
void MR_CALL 
mercury__list__foldl3_corresponding_9_p_0(
#line 1051 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_64,
#line 1051 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_65,
#line 1051 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_66,
#line 1051 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_67,
#line 1051 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_68,
#line 1051 "list.m"
  MR_Word mercury__list__P_1,
#line 1051 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1051 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1051 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_4,
#line 1051 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_5,
#line 1051 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_6,
#line 1051 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_7,
#line 1051 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_8,
#line 1051 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_9)
#line 1051 "list.m"
{
#line 2681 "list.m"
  while (MR_TRUE)
#line 2681 "list.m"
    {
#line 2681 "list.m"
      /* tailcall optimized into a loop */
#line 2681 "list.m"
      {
#line 2681 "list.m"
        MR_bool mercury__list__succeeded;

#line 2681 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2681 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2681 "list.m"
            {
#line 2681 "list.m"
              *mercury__list__STATE_VARIABLE_Acc3_9 = mercury__list__STATE_VARIABLE_Acc3_0_8;
#line 2681 "list.m"
              *mercury__list__STATE_VARIABLE_Acc2_7 = mercury__list__STATE_VARIABLE_Acc2_0_6;
#line 2681 "list.m"
              *mercury__list__STATE_VARIABLE_Acc1_5 = mercury__list__STATE_VARIABLE_Acc1_0_4;
#line 2681 "list.m"
            }
#line 2681 "list.m"
          else
#line 2682 "list.m"
            {
#line 2683 "list.m"
              {
#line 2683 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding\'/9", (MR_String) "mismatched list lengths");
#line 2683 "list.m"
                return;
              }
#line 2682 "list.m"
            }
#line 2681 "list.m"
        else
#line 2681 "list.m"
          {
#line 2681 "list.m"
            MR_Word mercury__list__V_69_69 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2681 "list.m"
            MR_Box mercury__list__V_70_70 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2681 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2684 "list.m"
              {
#line 2685 "list.m"
                {
#line 2685 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl3_corresponding\'/9", (MR_String) "mismatched list lengths");
#line 2685 "list.m"
                  return;
                }
#line 2684 "list.m"
              }
#line 2681 "list.m"
            else
#line 2686 "list.m"
              {
#line 2686 "list.m"
                MR_Box mercury__list__B_47 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2686 "list.m"
                MR_Word mercury__list__Bs_48 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2686 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc1_58_58;
#line 2686 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc2_59_59;
#line 2686 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc3_60_60;
#line 2687 "list.m"
                void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2687 "list.m"
                {
#line 2687 "list.m"
                  mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_70_70, mercury__list__B_47, mercury__list__STATE_VARIABLE_Acc1_0_4, &mercury__list__STATE_VARIABLE_Acc1_58_58, mercury__list__STATE_VARIABLE_Acc2_0_6, &mercury__list__STATE_VARIABLE_Acc2_59_59, mercury__list__STATE_VARIABLE_Acc3_0_8, &mercury__list__STATE_VARIABLE_Acc3_60_60);
                }
#line 2688 "list.m"
                /* direct tailcall eliminated */
#line 2688 "list.m"
                {
#line 2688 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_69_69;
#line 2688 "list.m"
                  MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_48;
#line 2688 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc1_58_58;
#line 2688 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6 = mercury__list__STATE_VARIABLE_Acc2_59_59;
#line 2688 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_8 = mercury__list__STATE_VARIABLE_Acc3_60_60;

#line 2688 "list.m"
                  mercury__list__STATE_VARIABLE_Acc3_0_8 = mercury__list__STATE_VARIABLE_Acc3_0__tmp_copy_8;
#line 2688 "list.m"
                  mercury__list__STATE_VARIABLE_Acc2_0_6 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6;
#line 2688 "list.m"
                  mercury__list__STATE_VARIABLE_Acc1_0_4 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4;
#line 2688 "list.m"
                  mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2688 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2688 "list.m"
                }
#line 2688 "list.m"
                continue;
#line 2686 "list.m"
              }
#line 2681 "list.m"
          }
#line 2681 "list.m"
      }
#line 2681 "list.m"
      break;
#line 2681 "list.m"
    }
#line 1051 "list.m"
}

#line 1042 "list.m"
void MR_CALL 
mercury__list__foldl2_corresponding_7_p_9(
#line 1042 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_50,
#line 1042 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_51,
#line 1042 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_52,
#line 1042 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_53,
#line 1042 "list.m"
  MR_Word mercury__list__P_1,
#line 1042 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1042 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1042 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_4,
#line 1042 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_5,
#line 1042 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_6,
#line 1042 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_7)
#line 1042 "list.m"
{
#line 2672 "list.m"
  while (MR_TRUE)
#line 2672 "list.m"
    {
#line 2672 "list.m"
      /* tailcall optimized into a loop */
#line 2672 "list.m"
      {
#line 2672 "list.m"
        MR_bool mercury__list__succeeded;

#line 2672 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
            {
#line 2672 "list.m"
              *mercury__list__STATE_VARIABLE_Acc2_7 = mercury__list__STATE_VARIABLE_Acc2_0_6;
#line 2672 "list.m"
              *mercury__list__STATE_VARIABLE_Acc1_5 = mercury__list__STATE_VARIABLE_Acc1_0_4;
#line 2672 "list.m"
            }
#line 2672 "list.m"
          else
#line 2673 "list.m"
            {
#line 2674 "list.m"
              {
#line 2674 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
#line 2674 "list.m"
                return;
              }
#line 2673 "list.m"
            }
#line 2672 "list.m"
        else
#line 2672 "list.m"
          {
#line 2672 "list.m"
            MR_Word mercury__list__V_54_54 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2672 "list.m"
            MR_Box mercury__list__V_55_55 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2672 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2675 "list.m"
              {
#line 2676 "list.m"
                {
#line 2676 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
#line 2676 "list.m"
                  return;
                }
#line 2675 "list.m"
              }
#line 2672 "list.m"
            else
#line 2677 "list.m"
              {
#line 2677 "list.m"
                MR_Box mercury__list__B_38 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2677 "list.m"
                MR_Word mercury__list__Bs_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2677 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc1_46_46;
#line 2677 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc2_47_47;
#line 2678 "list.m"
                void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2678 "list.m"
                {
#line 2678 "list.m"
                  mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_55_55, mercury__list__B_38, mercury__list__STATE_VARIABLE_Acc1_0_4, &mercury__list__STATE_VARIABLE_Acc1_46_46, mercury__list__STATE_VARIABLE_Acc2_0_6, &mercury__list__STATE_VARIABLE_Acc2_47_47);
                }
#line 2679 "list.m"
                /* direct tailcall eliminated */
#line 2679 "list.m"
                {
#line 2679 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_54_54;
#line 2679 "list.m"
                  MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_39;
#line 2679 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc1_46_46;
#line 2679 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6 = mercury__list__STATE_VARIABLE_Acc2_47_47;

#line 2679 "list.m"
                  mercury__list__STATE_VARIABLE_Acc2_0_6 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6;
#line 2679 "list.m"
                  mercury__list__STATE_VARIABLE_Acc1_0_4 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4;
#line 2679 "list.m"
                  mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2679 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2679 "list.m"
                }
#line 2679 "list.m"
                continue;
#line 2677 "list.m"
              }
#line 2672 "list.m"
          }
#line 2672 "list.m"
      }
#line 2672 "list.m"
      break;
#line 2672 "list.m"
    }
#line 1042 "list.m"
}

#line 1040 "list.m"
void MR_CALL 
mercury__list__foldl2_corresponding_7_p_8(
#line 1040 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_50,
#line 1040 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_51,
#line 1040 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_52,
#line 1040 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_53,
#line 1040 "list.m"
  MR_Word mercury__list__P_1,
#line 1040 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1040 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1040 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_4,
#line 1040 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_5,
#line 1040 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_6,
#line 1040 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_7)
#line 1040 "list.m"
{
#line 2672 "list.m"
  while (MR_TRUE)
#line 2672 "list.m"
    {
#line 2672 "list.m"
      /* tailcall optimized into a loop */
#line 2672 "list.m"
      {
#line 2672 "list.m"
        MR_bool mercury__list__succeeded;

#line 2672 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
            {
#line 2672 "list.m"
              *mercury__list__STATE_VARIABLE_Acc2_7 = mercury__list__STATE_VARIABLE_Acc2_0_6;
#line 2672 "list.m"
              *mercury__list__STATE_VARIABLE_Acc1_5 = mercury__list__STATE_VARIABLE_Acc1_0_4;
#line 2672 "list.m"
            }
#line 2672 "list.m"
          else
#line 2673 "list.m"
            {
#line 2674 "list.m"
              {
#line 2674 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
#line 2674 "list.m"
                return;
              }
#line 2673 "list.m"
            }
#line 2672 "list.m"
        else
#line 2672 "list.m"
          {
#line 2672 "list.m"
            MR_Word mercury__list__V_54_54 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2672 "list.m"
            MR_Box mercury__list__V_55_55 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2672 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2675 "list.m"
              {
#line 2676 "list.m"
                {
#line 2676 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
#line 2676 "list.m"
                  return;
                }
#line 2675 "list.m"
              }
#line 2672 "list.m"
            else
#line 2677 "list.m"
              {
#line 2677 "list.m"
                MR_Box mercury__list__B_38 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2677 "list.m"
                MR_Word mercury__list__Bs_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2677 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc1_46_46;
#line 2677 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc2_47_47;
#line 2678 "list.m"
                void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2678 "list.m"
                {
#line 2678 "list.m"
                  mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_55_55, mercury__list__B_38, mercury__list__STATE_VARIABLE_Acc1_0_4, &mercury__list__STATE_VARIABLE_Acc1_46_46, mercury__list__STATE_VARIABLE_Acc2_0_6, &mercury__list__STATE_VARIABLE_Acc2_47_47);
                }
#line 2679 "list.m"
                /* direct tailcall eliminated */
#line 2679 "list.m"
                {
#line 2679 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_54_54;
#line 2679 "list.m"
                  MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_39;
#line 2679 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc1_46_46;
#line 2679 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6 = mercury__list__STATE_VARIABLE_Acc2_47_47;

#line 2679 "list.m"
                  mercury__list__STATE_VARIABLE_Acc2_0_6 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6;
#line 2679 "list.m"
                  mercury__list__STATE_VARIABLE_Acc1_0_4 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4;
#line 2679 "list.m"
                  mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2679 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2679 "list.m"
                }
#line 2679 "list.m"
                continue;
#line 2677 "list.m"
              }
#line 2672 "list.m"
          }
#line 2672 "list.m"
      }
#line 2672 "list.m"
      break;
#line 2672 "list.m"
    }
#line 1040 "list.m"
}

#line 2677 "list.m"
static void MR_CALL 
mercury__list__foldl2_corresponding_7_p_7_1(
#line 2677 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2677 "list.m"
{
#line 2677 "list.m"
  {
#line 2677 "list.m"
    struct mercury__list__foldl2_corresponding_7_p_7_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldl2_corresponding_7_p_7_env_0_s *) mercury__list__env_ptr_arg;

#line 2679 "list.m"
    {
#line 2679 "list.m"
      mercury__list__foldl2_corresponding_7_p_7((mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_7_env_0__TypeInfo_for_A_50, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_7_env_0__TypeInfo_for_B_51, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_7_env_0__TypeInfo_for_C_52, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_7_env_0__TypeInfo_for_D_53, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_7_env_0__P_1, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_7_env_0__V_54_54, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_7_env_0__Bs_39, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_7_env_0__STATE_VARIABLE_Acc1_46_46, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_7_env_0__STATE_VARIABLE_Acc1_5, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_7_env_0__STATE_VARIABLE_Acc2_47_47, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_7_env_0__STATE_VARIABLE_Acc2_7, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_7_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_7_env_0__cont_env_ptr);
#line 2679 "list.m"
      return;
    }
#line 2677 "list.m"
  }
#line 2677 "list.m"
}

#line 1038 "list.m"
void MR_CALL 
mercury__list__foldl2_corresponding_7_p_7(
#line 1038 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_50,
#line 1038 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_51,
#line 1038 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_52,
#line 1038 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_53,
#line 1038 "list.m"
  MR_Word mercury__list__P_1,
#line 1038 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1038 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1038 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_4,
#line 1038 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_5,
#line 1038 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_6,
#line 1038 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_7,
#line 1038 "list.m"
  MR_Cont mercury__list__cont,
#line 1038 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1038 "list.m"
{
#line 1038 "list.m"
  {
#line 1038 "list.m"
    struct mercury__list__foldl2_corresponding_7_p_7_env_0_s mercury__list__env;

#line 1038 "list.m"
    (mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__TypeInfo_for_A_50 = mercury__list__TypeInfo_for_A_50;
#line 1038 "list.m"
    (mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__TypeInfo_for_B_51 = mercury__list__TypeInfo_for_B_51;
#line 1038 "list.m"
    (mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__TypeInfo_for_C_52 = mercury__list__TypeInfo_for_C_52;
#line 1038 "list.m"
    (mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__TypeInfo_for_D_53 = mercury__list__TypeInfo_for_D_53;
#line 1038 "list.m"
    (mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__P_1 = mercury__list__P_1;
#line 1038 "list.m"
    (mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__STATE_VARIABLE_Acc1_5 = mercury__list__STATE_VARIABLE_Acc1_5;
#line 1038 "list.m"
    (mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__STATE_VARIABLE_Acc2_7 = mercury__list__STATE_VARIABLE_Acc2_7;
#line 1038 "list.m"
    (mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__cont = mercury__list__cont;
#line 1038 "list.m"
    (mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2672 "list.m"
    {
#line 2672 "list.m"
      MR_bool mercury__list__succeeded;

#line 2672 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
        {
#line 2672 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
            {
#line 2672 "list.m"
              *((mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__STATE_VARIABLE_Acc2_7) = mercury__list__STATE_VARIABLE_Acc2_0_6;
#line 2672 "list.m"
              *((mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__STATE_VARIABLE_Acc1_5) = mercury__list__STATE_VARIABLE_Acc1_0_4;
#line 2672 "list.m"
            }
#line 2672 "list.m"
          else
#line 2673 "list.m"
            {
#line 2674 "list.m"
              {
#line 2674 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
#line 2674 "list.m"
                return;
              }
#line 2673 "list.m"
            }
#line 2672 "list.m"
          {
#line 2672 "list.m"
            ((mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__cont)((mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__cont_env_ptr);
#line 2672 "list.m"
            return;
          }
#line 2672 "list.m"
        }
#line 2672 "list.m"
      else
#line 2672 "list.m"
        {
#line 2672 "list.m"
          MR_Box mercury__list__V_55_55 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2675 "list.m"
          (mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__V_54_54 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2672 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2675 "list.m"
            {
#line 2676 "list.m"
              {
#line 2676 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
#line 2676 "list.m"
                return;
              }
#line 2675 "list.m"
              {
#line 2675 "list.m"
                ((mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__cont)((mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__cont_env_ptr);
#line 2675 "list.m"
                return;
              }
#line 2675 "list.m"
            }
#line 2672 "list.m"
          else
#line 2677 "list.m"
            {
#line 2677 "list.m"
              MR_Box mercury__list__B_38 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2678 "list.m"
              void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2677 "list.m"
              (mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__Bs_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2678 "list.m"
              mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__P_1, (MR_Integer) 1)));
#line 2678 "list.m"
              {
#line 2678 "list.m"
                mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__P_1), mercury__list__V_55_55, mercury__list__B_38, mercury__list__STATE_VARIABLE_Acc1_0_4, &(mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__STATE_VARIABLE_Acc1_46_46, mercury__list__STATE_VARIABLE_Acc2_0_6, &(mercury__list__env).mercury__list__foldl2_corresponding_7_p_7_env_0__STATE_VARIABLE_Acc2_47_47, mercury__list__foldl2_corresponding_7_p_7_1, &mercury__list__env);
              }
#line 2677 "list.m"
            }
#line 2672 "list.m"
        }
#line 2672 "list.m"
    }
#line 1038 "list.m"
  }
#line 1038 "list.m"
}

#line 2677 "list.m"
static void MR_CALL 
mercury__list__foldl2_corresponding_7_p_6_1(
#line 2677 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2677 "list.m"
{
#line 2677 "list.m"
  {
#line 2677 "list.m"
    struct mercury__list__foldl2_corresponding_7_p_6_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldl2_corresponding_7_p_6_env_0_s *) mercury__list__env_ptr_arg;

#line 2679 "list.m"
    {
#line 2679 "list.m"
      mercury__list__foldl2_corresponding_7_p_6((mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_6_env_0__TypeInfo_for_A_50, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_6_env_0__TypeInfo_for_B_51, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_6_env_0__TypeInfo_for_C_52, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_6_env_0__TypeInfo_for_D_53, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_6_env_0__P_1, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_6_env_0__V_54_54, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_6_env_0__Bs_39, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_6_env_0__STATE_VARIABLE_Acc1_46_46, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_6_env_0__STATE_VARIABLE_Acc1_5, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_6_env_0__STATE_VARIABLE_Acc2_47_47, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_6_env_0__STATE_VARIABLE_Acc2_7, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_6_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldl2_corresponding_7_p_6_env_0__cont_env_ptr);
#line 2679 "list.m"
      return;
    }
#line 2677 "list.m"
  }
#line 2677 "list.m"
}

#line 1036 "list.m"
void MR_CALL 
mercury__list__foldl2_corresponding_7_p_6(
#line 1036 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_50,
#line 1036 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_51,
#line 1036 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_52,
#line 1036 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_53,
#line 1036 "list.m"
  MR_Word mercury__list__P_1,
#line 1036 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1036 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1036 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_4,
#line 1036 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_5,
#line 1036 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_6,
#line 1036 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_7,
#line 1036 "list.m"
  MR_Cont mercury__list__cont,
#line 1036 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1036 "list.m"
{
#line 1036 "list.m"
  {
#line 1036 "list.m"
    struct mercury__list__foldl2_corresponding_7_p_6_env_0_s mercury__list__env;

#line 1036 "list.m"
    (mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__TypeInfo_for_A_50 = mercury__list__TypeInfo_for_A_50;
#line 1036 "list.m"
    (mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__TypeInfo_for_B_51 = mercury__list__TypeInfo_for_B_51;
#line 1036 "list.m"
    (mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__TypeInfo_for_C_52 = mercury__list__TypeInfo_for_C_52;
#line 1036 "list.m"
    (mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__TypeInfo_for_D_53 = mercury__list__TypeInfo_for_D_53;
#line 1036 "list.m"
    (mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__P_1 = mercury__list__P_1;
#line 1036 "list.m"
    (mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__STATE_VARIABLE_Acc1_5 = mercury__list__STATE_VARIABLE_Acc1_5;
#line 1036 "list.m"
    (mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__STATE_VARIABLE_Acc2_7 = mercury__list__STATE_VARIABLE_Acc2_7;
#line 1036 "list.m"
    (mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__cont = mercury__list__cont;
#line 1036 "list.m"
    (mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2672 "list.m"
    {
#line 2672 "list.m"
      MR_bool mercury__list__succeeded;

#line 2672 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
        {
#line 2672 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
            {
#line 2672 "list.m"
              *((mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__STATE_VARIABLE_Acc2_7) = mercury__list__STATE_VARIABLE_Acc2_0_6;
#line 2672 "list.m"
              *((mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__STATE_VARIABLE_Acc1_5) = mercury__list__STATE_VARIABLE_Acc1_0_4;
#line 2672 "list.m"
            }
#line 2672 "list.m"
          else
#line 2673 "list.m"
            {
#line 2674 "list.m"
              {
#line 2674 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
#line 2674 "list.m"
                return;
              }
#line 2673 "list.m"
            }
#line 2672 "list.m"
          {
#line 2672 "list.m"
            ((mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__cont)((mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__cont_env_ptr);
#line 2672 "list.m"
            return;
          }
#line 2672 "list.m"
        }
#line 2672 "list.m"
      else
#line 2672 "list.m"
        {
#line 2672 "list.m"
          MR_Box mercury__list__V_55_55 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2675 "list.m"
          (mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__V_54_54 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2672 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2675 "list.m"
            {
#line 2676 "list.m"
              {
#line 2676 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
#line 2676 "list.m"
                return;
              }
#line 2675 "list.m"
              {
#line 2675 "list.m"
                ((mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__cont)((mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__cont_env_ptr);
#line 2675 "list.m"
                return;
              }
#line 2675 "list.m"
            }
#line 2672 "list.m"
          else
#line 2677 "list.m"
            {
#line 2677 "list.m"
              MR_Box mercury__list__B_38 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2678 "list.m"
              void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2677 "list.m"
              (mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__Bs_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2678 "list.m"
              mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__P_1, (MR_Integer) 1)));
#line 2678 "list.m"
              {
#line 2678 "list.m"
                mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__P_1), mercury__list__V_55_55, mercury__list__B_38, mercury__list__STATE_VARIABLE_Acc1_0_4, &(mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__STATE_VARIABLE_Acc1_46_46, mercury__list__STATE_VARIABLE_Acc2_0_6, &(mercury__list__env).mercury__list__foldl2_corresponding_7_p_6_env_0__STATE_VARIABLE_Acc2_47_47, mercury__list__foldl2_corresponding_7_p_6_1, &mercury__list__env);
              }
#line 2677 "list.m"
            }
#line 2672 "list.m"
        }
#line 2672 "list.m"
    }
#line 1036 "list.m"
  }
#line 1036 "list.m"
}

#line 1034 "list.m"
MR_bool MR_CALL 
mercury__list__foldl2_corresponding_7_p_5(
#line 1034 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_50,
#line 1034 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_51,
#line 1034 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_52,
#line 1034 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_53,
#line 1034 "list.m"
  MR_Word mercury__list__P_1,
#line 1034 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1034 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1034 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_4,
#line 1034 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_5,
#line 1034 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_6,
#line 1034 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_7)
#line 1034 "list.m"
{
#line 2672 "list.m"
  while (MR_TRUE)
#line 2672 "list.m"
    {
#line 2672 "list.m"
      /* tailcall optimized into a loop */
#line 2672 "list.m"
      {
#line 2672 "list.m"
        MR_bool mercury__list__succeeded;

#line 2672 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
          {
#line 2672 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
              {
#line 2672 "list.m"
                *mercury__list__STATE_VARIABLE_Acc2_7 = mercury__list__STATE_VARIABLE_Acc2_0_6;
#line 2672 "list.m"
                *mercury__list__STATE_VARIABLE_Acc1_5 = mercury__list__STATE_VARIABLE_Acc1_0_4;
#line 2672 "list.m"
              }
#line 2672 "list.m"
            else
#line 2673 "list.m"
              {
#line 2674 "list.m"
                {
#line 2674 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
                }
#line 2673 "list.m"
              }
#line 2672 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2672 "list.m"
          }
#line 2672 "list.m"
        else
#line 2672 "list.m"
          {
#line 2672 "list.m"
            MR_Word mercury__list__V_54_54 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2672 "list.m"
            MR_Box mercury__list__V_55_55 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2672 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2675 "list.m"
              {
#line 2676 "list.m"
                {
#line 2676 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
                }
#line 2675 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2675 "list.m"
              }
#line 2672 "list.m"
            else
#line 2677 "list.m"
              {
#line 2677 "list.m"
                MR_Box mercury__list__B_38 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2677 "list.m"
                MR_Word mercury__list__Bs_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2677 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc1_46_46;
#line 2677 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc2_47_47;
#line 2678 "list.m"
                MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2678 "list.m"
                {
#line 2678 "list.m"
                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_55_55, mercury__list__B_38, mercury__list__STATE_VARIABLE_Acc1_0_4, &mercury__list__STATE_VARIABLE_Acc1_46_46, mercury__list__STATE_VARIABLE_Acc2_0_6, &mercury__list__STATE_VARIABLE_Acc2_47_47);
                }
#line 2677 "list.m"
                if (mercury__list__succeeded)
#line 2679 "list.m"
                  {
#line 2679 "list.m"
                    /* direct tailcall eliminated */
#line 2679 "list.m"
                    {
#line 2679 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_54_54;
#line 2679 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_39;
#line 2679 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc1_46_46;
#line 2679 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6 = mercury__list__STATE_VARIABLE_Acc2_47_47;

#line 2679 "list.m"
                      mercury__list__STATE_VARIABLE_Acc2_0_6 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6;
#line 2679 "list.m"
                      mercury__list__STATE_VARIABLE_Acc1_0_4 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4;
#line 2679 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2679 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2679 "list.m"
                    }
#line 2679 "list.m"
                    continue;
#line 2679 "list.m"
                  }
#line 2677 "list.m"
              }
#line 2672 "list.m"
          }
#line 2672 "list.m"
        return mercury__list__succeeded;
#line 2672 "list.m"
      }
#line 2672 "list.m"
      break;
#line 2672 "list.m"
    }
#line 1034 "list.m"
}

#line 1032 "list.m"
MR_bool MR_CALL 
mercury__list__foldl2_corresponding_7_p_4(
#line 1032 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_50,
#line 1032 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_51,
#line 1032 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_52,
#line 1032 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_53,
#line 1032 "list.m"
  MR_Word mercury__list__P_1,
#line 1032 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1032 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1032 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_4,
#line 1032 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_5,
#line 1032 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_6,
#line 1032 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_7)
#line 1032 "list.m"
{
#line 2672 "list.m"
  while (MR_TRUE)
#line 2672 "list.m"
    {
#line 2672 "list.m"
      /* tailcall optimized into a loop */
#line 2672 "list.m"
      {
#line 2672 "list.m"
        MR_bool mercury__list__succeeded;

#line 2672 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
          {
#line 2672 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
              {
#line 2672 "list.m"
                *mercury__list__STATE_VARIABLE_Acc2_7 = mercury__list__STATE_VARIABLE_Acc2_0_6;
#line 2672 "list.m"
                *mercury__list__STATE_VARIABLE_Acc1_5 = mercury__list__STATE_VARIABLE_Acc1_0_4;
#line 2672 "list.m"
              }
#line 2672 "list.m"
            else
#line 2673 "list.m"
              {
#line 2674 "list.m"
                {
#line 2674 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
                }
#line 2673 "list.m"
              }
#line 2672 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2672 "list.m"
          }
#line 2672 "list.m"
        else
#line 2672 "list.m"
          {
#line 2672 "list.m"
            MR_Word mercury__list__V_54_54 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2672 "list.m"
            MR_Box mercury__list__V_55_55 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2672 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2675 "list.m"
              {
#line 2676 "list.m"
                {
#line 2676 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
                }
#line 2675 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2675 "list.m"
              }
#line 2672 "list.m"
            else
#line 2677 "list.m"
              {
#line 2677 "list.m"
                MR_Box mercury__list__B_38 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2677 "list.m"
                MR_Word mercury__list__Bs_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2677 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc1_46_46;
#line 2677 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc2_47_47;
#line 2678 "list.m"
                MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2678 "list.m"
                {
#line 2678 "list.m"
                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_55_55, mercury__list__B_38, mercury__list__STATE_VARIABLE_Acc1_0_4, &mercury__list__STATE_VARIABLE_Acc1_46_46, mercury__list__STATE_VARIABLE_Acc2_0_6, &mercury__list__STATE_VARIABLE_Acc2_47_47);
                }
#line 2677 "list.m"
                if (mercury__list__succeeded)
#line 2679 "list.m"
                  {
#line 2679 "list.m"
                    /* direct tailcall eliminated */
#line 2679 "list.m"
                    {
#line 2679 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_54_54;
#line 2679 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_39;
#line 2679 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc1_46_46;
#line 2679 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6 = mercury__list__STATE_VARIABLE_Acc2_47_47;

#line 2679 "list.m"
                      mercury__list__STATE_VARIABLE_Acc2_0_6 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6;
#line 2679 "list.m"
                      mercury__list__STATE_VARIABLE_Acc1_0_4 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4;
#line 2679 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2679 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2679 "list.m"
                    }
#line 2679 "list.m"
                    continue;
#line 2679 "list.m"
                  }
#line 2677 "list.m"
              }
#line 2672 "list.m"
          }
#line 2672 "list.m"
        return mercury__list__succeeded;
#line 2672 "list.m"
      }
#line 2672 "list.m"
      break;
#line 2672 "list.m"
    }
#line 1032 "list.m"
}

#line 1030 "list.m"
MR_bool MR_CALL 
mercury__list__foldl2_corresponding_7_p_3(
#line 1030 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_50,
#line 1030 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_51,
#line 1030 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_52,
#line 1030 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_53,
#line 1030 "list.m"
  MR_Word mercury__list__P_1,
#line 1030 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1030 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1030 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_4,
#line 1030 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_5,
#line 1030 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_6,
#line 1030 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_7)
#line 1030 "list.m"
{
#line 2672 "list.m"
  while (MR_TRUE)
#line 2672 "list.m"
    {
#line 2672 "list.m"
      /* tailcall optimized into a loop */
#line 2672 "list.m"
      {
#line 2672 "list.m"
        MR_bool mercury__list__succeeded;

#line 2672 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
          {
#line 2672 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
              {
#line 2672 "list.m"
                *mercury__list__STATE_VARIABLE_Acc2_7 = mercury__list__STATE_VARIABLE_Acc2_0_6;
#line 2672 "list.m"
                *mercury__list__STATE_VARIABLE_Acc1_5 = mercury__list__STATE_VARIABLE_Acc1_0_4;
#line 2672 "list.m"
              }
#line 2672 "list.m"
            else
#line 2673 "list.m"
              {
#line 2674 "list.m"
                {
#line 2674 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
                }
#line 2673 "list.m"
              }
#line 2672 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2672 "list.m"
          }
#line 2672 "list.m"
        else
#line 2672 "list.m"
          {
#line 2672 "list.m"
            MR_Word mercury__list__V_54_54 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2672 "list.m"
            MR_Box mercury__list__V_55_55 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2672 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2675 "list.m"
              {
#line 2676 "list.m"
                {
#line 2676 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
                }
#line 2675 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2675 "list.m"
              }
#line 2672 "list.m"
            else
#line 2677 "list.m"
              {
#line 2677 "list.m"
                MR_Box mercury__list__B_38 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2677 "list.m"
                MR_Word mercury__list__Bs_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2677 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc1_46_46;
#line 2677 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc2_47_47;
#line 2678 "list.m"
                MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2678 "list.m"
                {
#line 2678 "list.m"
                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_55_55, mercury__list__B_38, mercury__list__STATE_VARIABLE_Acc1_0_4, &mercury__list__STATE_VARIABLE_Acc1_46_46, mercury__list__STATE_VARIABLE_Acc2_0_6, &mercury__list__STATE_VARIABLE_Acc2_47_47);
                }
#line 2677 "list.m"
                if (mercury__list__succeeded)
#line 2679 "list.m"
                  {
#line 2679 "list.m"
                    /* direct tailcall eliminated */
#line 2679 "list.m"
                    {
#line 2679 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_54_54;
#line 2679 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_39;
#line 2679 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc1_46_46;
#line 2679 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6 = mercury__list__STATE_VARIABLE_Acc2_47_47;

#line 2679 "list.m"
                      mercury__list__STATE_VARIABLE_Acc2_0_6 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6;
#line 2679 "list.m"
                      mercury__list__STATE_VARIABLE_Acc1_0_4 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4;
#line 2679 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2679 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2679 "list.m"
                    }
#line 2679 "list.m"
                    continue;
#line 2679 "list.m"
                  }
#line 2677 "list.m"
              }
#line 2672 "list.m"
          }
#line 2672 "list.m"
        return mercury__list__succeeded;
#line 2672 "list.m"
      }
#line 2672 "list.m"
      break;
#line 2672 "list.m"
    }
#line 1030 "list.m"
}

#line 1028 "list.m"
void MR_CALL 
mercury__list__foldl2_corresponding_7_p_2(
#line 1028 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_50,
#line 1028 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_51,
#line 1028 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_52,
#line 1028 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_53,
#line 1028 "list.m"
  MR_Word mercury__list__P_1,
#line 1028 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1028 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1028 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_4,
#line 1028 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_5,
#line 1028 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_6,
#line 1028 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_7)
#line 1028 "list.m"
{
#line 2672 "list.m"
  while (MR_TRUE)
#line 2672 "list.m"
    {
#line 2672 "list.m"
      /* tailcall optimized into a loop */
#line 2672 "list.m"
      {
#line 2672 "list.m"
        MR_bool mercury__list__succeeded;

#line 2672 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
            {
#line 2672 "list.m"
              *mercury__list__STATE_VARIABLE_Acc2_7 = mercury__list__STATE_VARIABLE_Acc2_0_6;
#line 2672 "list.m"
              *mercury__list__STATE_VARIABLE_Acc1_5 = mercury__list__STATE_VARIABLE_Acc1_0_4;
#line 2672 "list.m"
            }
#line 2672 "list.m"
          else
#line 2673 "list.m"
            {
#line 2674 "list.m"
              {
#line 2674 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
#line 2674 "list.m"
                return;
              }
#line 2673 "list.m"
            }
#line 2672 "list.m"
        else
#line 2672 "list.m"
          {
#line 2672 "list.m"
            MR_Word mercury__list__V_54_54 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2672 "list.m"
            MR_Box mercury__list__V_55_55 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2672 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2675 "list.m"
              {
#line 2676 "list.m"
                {
#line 2676 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
#line 2676 "list.m"
                  return;
                }
#line 2675 "list.m"
              }
#line 2672 "list.m"
            else
#line 2677 "list.m"
              {
#line 2677 "list.m"
                MR_Box mercury__list__B_38 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2677 "list.m"
                MR_Word mercury__list__Bs_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2677 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc1_46_46;
#line 2677 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc2_47_47;
#line 2678 "list.m"
                void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2678 "list.m"
                {
#line 2678 "list.m"
                  mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_55_55, mercury__list__B_38, mercury__list__STATE_VARIABLE_Acc1_0_4, &mercury__list__STATE_VARIABLE_Acc1_46_46, mercury__list__STATE_VARIABLE_Acc2_0_6, &mercury__list__STATE_VARIABLE_Acc2_47_47);
                }
#line 2679 "list.m"
                /* direct tailcall eliminated */
#line 2679 "list.m"
                {
#line 2679 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_54_54;
#line 2679 "list.m"
                  MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_39;
#line 2679 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc1_46_46;
#line 2679 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6 = mercury__list__STATE_VARIABLE_Acc2_47_47;

#line 2679 "list.m"
                  mercury__list__STATE_VARIABLE_Acc2_0_6 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6;
#line 2679 "list.m"
                  mercury__list__STATE_VARIABLE_Acc1_0_4 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4;
#line 2679 "list.m"
                  mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2679 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2679 "list.m"
                }
#line 2679 "list.m"
                continue;
#line 2677 "list.m"
              }
#line 2672 "list.m"
          }
#line 2672 "list.m"
      }
#line 2672 "list.m"
      break;
#line 2672 "list.m"
    }
#line 1028 "list.m"
}

#line 1026 "list.m"
void MR_CALL 
mercury__list__foldl2_corresponding_7_p_1(
#line 1026 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_50,
#line 1026 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_51,
#line 1026 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_52,
#line 1026 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_53,
#line 1026 "list.m"
  MR_Word mercury__list__P_1,
#line 1026 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1026 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1026 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_4,
#line 1026 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_5,
#line 1026 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_6,
#line 1026 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_7)
#line 1026 "list.m"
{
#line 2672 "list.m"
  while (MR_TRUE)
#line 2672 "list.m"
    {
#line 2672 "list.m"
      /* tailcall optimized into a loop */
#line 2672 "list.m"
      {
#line 2672 "list.m"
        MR_bool mercury__list__succeeded;

#line 2672 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
            {
#line 2672 "list.m"
              *mercury__list__STATE_VARIABLE_Acc2_7 = mercury__list__STATE_VARIABLE_Acc2_0_6;
#line 2672 "list.m"
              *mercury__list__STATE_VARIABLE_Acc1_5 = mercury__list__STATE_VARIABLE_Acc1_0_4;
#line 2672 "list.m"
            }
#line 2672 "list.m"
          else
#line 2673 "list.m"
            {
#line 2674 "list.m"
              {
#line 2674 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
#line 2674 "list.m"
                return;
              }
#line 2673 "list.m"
            }
#line 2672 "list.m"
        else
#line 2672 "list.m"
          {
#line 2672 "list.m"
            MR_Word mercury__list__V_54_54 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2672 "list.m"
            MR_Box mercury__list__V_55_55 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2672 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2675 "list.m"
              {
#line 2676 "list.m"
                {
#line 2676 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
#line 2676 "list.m"
                  return;
                }
#line 2675 "list.m"
              }
#line 2672 "list.m"
            else
#line 2677 "list.m"
              {
#line 2677 "list.m"
                MR_Box mercury__list__B_38 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2677 "list.m"
                MR_Word mercury__list__Bs_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2677 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc1_46_46;
#line 2677 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc2_47_47;
#line 2678 "list.m"
                void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2678 "list.m"
                {
#line 2678 "list.m"
                  mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_55_55, mercury__list__B_38, mercury__list__STATE_VARIABLE_Acc1_0_4, &mercury__list__STATE_VARIABLE_Acc1_46_46, mercury__list__STATE_VARIABLE_Acc2_0_6, &mercury__list__STATE_VARIABLE_Acc2_47_47);
                }
#line 2679 "list.m"
                /* direct tailcall eliminated */
#line 2679 "list.m"
                {
#line 2679 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_54_54;
#line 2679 "list.m"
                  MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_39;
#line 2679 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc1_46_46;
#line 2679 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6 = mercury__list__STATE_VARIABLE_Acc2_47_47;

#line 2679 "list.m"
                  mercury__list__STATE_VARIABLE_Acc2_0_6 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6;
#line 2679 "list.m"
                  mercury__list__STATE_VARIABLE_Acc1_0_4 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4;
#line 2679 "list.m"
                  mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2679 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2679 "list.m"
                }
#line 2679 "list.m"
                continue;
#line 2677 "list.m"
              }
#line 2672 "list.m"
          }
#line 2672 "list.m"
      }
#line 2672 "list.m"
      break;
#line 2672 "list.m"
    }
#line 1026 "list.m"
}

#line 1024 "list.m"
void MR_CALL 
mercury__list__foldl2_corresponding_7_p_0(
#line 1024 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_50,
#line 1024 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_51,
#line 1024 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_52,
#line 1024 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_53,
#line 1024 "list.m"
  MR_Word mercury__list__P_1,
#line 1024 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1024 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1024 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_4,
#line 1024 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_5,
#line 1024 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_6,
#line 1024 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_7)
#line 1024 "list.m"
{
#line 2672 "list.m"
  while (MR_TRUE)
#line 2672 "list.m"
    {
#line 2672 "list.m"
      /* tailcall optimized into a loop */
#line 2672 "list.m"
      {
#line 2672 "list.m"
        MR_bool mercury__list__succeeded;

#line 2672 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2672 "list.m"
            {
#line 2672 "list.m"
              *mercury__list__STATE_VARIABLE_Acc2_7 = mercury__list__STATE_VARIABLE_Acc2_0_6;
#line 2672 "list.m"
              *mercury__list__STATE_VARIABLE_Acc1_5 = mercury__list__STATE_VARIABLE_Acc1_0_4;
#line 2672 "list.m"
            }
#line 2672 "list.m"
          else
#line 2673 "list.m"
            {
#line 2674 "list.m"
              {
#line 2674 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
#line 2674 "list.m"
                return;
              }
#line 2673 "list.m"
            }
#line 2672 "list.m"
        else
#line 2672 "list.m"
          {
#line 2672 "list.m"
            MR_Word mercury__list__V_54_54 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2672 "list.m"
            MR_Box mercury__list__V_55_55 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2672 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2675 "list.m"
              {
#line 2676 "list.m"
                {
#line 2676 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl2_corresponding\'/7", (MR_String) "mismatched list lengths");
#line 2676 "list.m"
                  return;
                }
#line 2675 "list.m"
              }
#line 2672 "list.m"
            else
#line 2677 "list.m"
              {
#line 2677 "list.m"
                MR_Box mercury__list__B_38 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2677 "list.m"
                MR_Word mercury__list__Bs_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2677 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc1_46_46;
#line 2677 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc2_47_47;
#line 2678 "list.m"
                void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2678 "list.m"
                {
#line 2678 "list.m"
                  mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_55_55, mercury__list__B_38, mercury__list__STATE_VARIABLE_Acc1_0_4, &mercury__list__STATE_VARIABLE_Acc1_46_46, mercury__list__STATE_VARIABLE_Acc2_0_6, &mercury__list__STATE_VARIABLE_Acc2_47_47);
                }
#line 2679 "list.m"
                /* direct tailcall eliminated */
#line 2679 "list.m"
                {
#line 2679 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_54_54;
#line 2679 "list.m"
                  MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_39;
#line 2679 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc1_46_46;
#line 2679 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6 = mercury__list__STATE_VARIABLE_Acc2_47_47;

#line 2679 "list.m"
                  mercury__list__STATE_VARIABLE_Acc2_0_6 = mercury__list__STATE_VARIABLE_Acc2_0__tmp_copy_6;
#line 2679 "list.m"
                  mercury__list__STATE_VARIABLE_Acc1_0_4 = mercury__list__STATE_VARIABLE_Acc1_0__tmp_copy_4;
#line 2679 "list.m"
                  mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2679 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2679 "list.m"
                }
#line 2679 "list.m"
                continue;
#line 2677 "list.m"
              }
#line 2672 "list.m"
          }
#line 2672 "list.m"
      }
#line 2672 "list.m"
      break;
#line 2672 "list.m"
    }
#line 1024 "list.m"
}

#line 1016 "list.m"
MR_Box MR_CALL 
mercury__list__foldl_corresponding_4_f_0(
#line 1016 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_34,
#line 1016 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_35,
#line 1016 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_36,
#line 1016 "list.m"
  MR_Word mercury__list__F_1,
#line 1016 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1016 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1016 "list.m"
  MR_Box mercury__list__HeadVar__4_4)
#line 1016 "list.m"
{
#line 2663 "list.m"
  while (MR_TRUE)
#line 2663 "list.m"
    {
#line 2663 "list.m"
      /* tailcall optimized into a loop */
#line 2663 "list.m"
      {
#line 2663 "list.m"
        MR_bool mercury__list__succeeded;
#line 2663 "list.m"
        MR_Box mercury__list__HeadVar__5_5;

#line 2663 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2663 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2663 "list.m"
            mercury__list__HeadVar__5_5 = mercury__list__HeadVar__4_4;
#line 2663 "list.m"
          else
#line 2664 "list.m"
            {
#line 2665 "list.m"
              {
#line 2665 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "function \140list.foldl_corresponding\'/4", (MR_String) "mismatched list lengths");
              }
#line 2664 "list.m"
            }
#line 2663 "list.m"
        else
#line 2663 "list.m"
          {
#line 2663 "list.m"
            MR_Word mercury__list__V_37_37 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2663 "list.m"
            MR_Box mercury__list__V_38_38 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2663 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2666 "list.m"
              {
#line 2667 "list.m"
                {
#line 2667 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "function \140list.foldl_corresponding\'/4", (MR_String) "mismatched list lengths");
                }
#line 2666 "list.m"
              }
#line 2663 "list.m"
            else
#line 2668 "list.m"
              {
#line 2668 "list.m"
                MR_Box mercury__list__B_27 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2668 "list.m"
                MR_Word mercury__list__Bs_28 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2668 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc_32_32;
#line 2669 "list.m"
                MR_Box MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box) = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__F_1, (MR_Integer) 1)));

#line 2669 "list.m"
                {
#line 2669 "list.m"
                  mercury__list__STATE_VARIABLE_Acc_32_32 = mercury__list__func_0(((MR_Box) mercury__list__F_1), mercury__list__V_38_38, mercury__list__B_27, mercury__list__HeadVar__4_4);
                }
#line 2670 "list.m"
                /* direct tailcall eliminated */
#line 2670 "list.m"
                {
#line 2670 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_37_37;
#line 2670 "list.m"
                  MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_28;
#line 2670 "list.m"
                  MR_Box mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc_32_32;

#line 2670 "list.m"
                  mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2670 "list.m"
                  mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2670 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2670 "list.m"
                }
#line 2670 "list.m"
                continue;
#line 2668 "list.m"
              }
#line 2663 "list.m"
          }
#line 2663 "list.m"
        return mercury__list__HeadVar__5_5;
#line 2663 "list.m"
      }
#line 2663 "list.m"
      break;
#line 2663 "list.m"
    }
#line 1016 "list.m"
}

#line 1013 "list.m"
void MR_CALL 
mercury__list__foldl_corresponding_5_p_9(
#line 1013 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_36,
#line 1013 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_37,
#line 1013 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_38,
#line 1013 "list.m"
  MR_Word mercury__list__P_1,
#line 1013 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1013 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1013 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_4,
#line 1013 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_5)
#line 1013 "list.m"
{
#line 2654 "list.m"
  while (MR_TRUE)
#line 2654 "list.m"
    {
#line 2654 "list.m"
      /* tailcall optimized into a loop */
#line 2654 "list.m"
      {
#line 2654 "list.m"
        MR_bool mercury__list__succeeded;

#line 2654 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
            *mercury__list__STATE_VARIABLE_Acc_5 = mercury__list__STATE_VARIABLE_Acc_0_4;
#line 2654 "list.m"
          else
#line 2655 "list.m"
            {
#line 2656 "list.m"
              {
#line 2656 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
#line 2656 "list.m"
                return;
              }
#line 2655 "list.m"
            }
#line 2654 "list.m"
        else
#line 2654 "list.m"
          {
#line 2654 "list.m"
            MR_Word mercury__list__V_39_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2654 "list.m"
            MR_Box mercury__list__V_40_40 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2654 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2657 "list.m"
              {
#line 2658 "list.m"
                {
#line 2658 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
#line 2658 "list.m"
                  return;
                }
#line 2657 "list.m"
              }
#line 2654 "list.m"
            else
#line 2659 "list.m"
              {
#line 2659 "list.m"
                MR_Box mercury__list__B_29 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2659 "list.m"
                MR_Word mercury__list__Bs_30 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2659 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc_34_34;
#line 2660 "list.m"
                void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2660 "list.m"
                {
#line 2660 "list.m"
                  mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_40_40, mercury__list__B_29, mercury__list__STATE_VARIABLE_Acc_0_4, &mercury__list__STATE_VARIABLE_Acc_34_34);
                }
#line 2661 "list.m"
                /* direct tailcall eliminated */
#line 2661 "list.m"
                {
#line 2661 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_39_39;
#line 2661 "list.m"
                  MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_30;
#line 2661 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc_34_34;

#line 2661 "list.m"
                  mercury__list__STATE_VARIABLE_Acc_0_4 = mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_4;
#line 2661 "list.m"
                  mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2661 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2661 "list.m"
                }
#line 2661 "list.m"
                continue;
#line 2659 "list.m"
              }
#line 2654 "list.m"
          }
#line 2654 "list.m"
      }
#line 2654 "list.m"
      break;
#line 2654 "list.m"
    }
#line 1013 "list.m"
}

#line 1011 "list.m"
void MR_CALL 
mercury__list__foldl_corresponding_5_p_8(
#line 1011 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_36,
#line 1011 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_37,
#line 1011 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_38,
#line 1011 "list.m"
  MR_Word mercury__list__P_1,
#line 1011 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1011 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1011 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_4,
#line 1011 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_5)
#line 1011 "list.m"
{
#line 2654 "list.m"
  while (MR_TRUE)
#line 2654 "list.m"
    {
#line 2654 "list.m"
      /* tailcall optimized into a loop */
#line 2654 "list.m"
      {
#line 2654 "list.m"
        MR_bool mercury__list__succeeded;

#line 2654 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
            *mercury__list__STATE_VARIABLE_Acc_5 = mercury__list__STATE_VARIABLE_Acc_0_4;
#line 2654 "list.m"
          else
#line 2655 "list.m"
            {
#line 2656 "list.m"
              {
#line 2656 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
#line 2656 "list.m"
                return;
              }
#line 2655 "list.m"
            }
#line 2654 "list.m"
        else
#line 2654 "list.m"
          {
#line 2654 "list.m"
            MR_Word mercury__list__V_39_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2654 "list.m"
            MR_Box mercury__list__V_40_40 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2654 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2657 "list.m"
              {
#line 2658 "list.m"
                {
#line 2658 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
#line 2658 "list.m"
                  return;
                }
#line 2657 "list.m"
              }
#line 2654 "list.m"
            else
#line 2659 "list.m"
              {
#line 2659 "list.m"
                MR_Box mercury__list__B_29 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2659 "list.m"
                MR_Word mercury__list__Bs_30 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2659 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc_34_34;
#line 2660 "list.m"
                void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2660 "list.m"
                {
#line 2660 "list.m"
                  mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_40_40, mercury__list__B_29, mercury__list__STATE_VARIABLE_Acc_0_4, &mercury__list__STATE_VARIABLE_Acc_34_34);
                }
#line 2661 "list.m"
                /* direct tailcall eliminated */
#line 2661 "list.m"
                {
#line 2661 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_39_39;
#line 2661 "list.m"
                  MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_30;
#line 2661 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc_34_34;

#line 2661 "list.m"
                  mercury__list__STATE_VARIABLE_Acc_0_4 = mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_4;
#line 2661 "list.m"
                  mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2661 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2661 "list.m"
                }
#line 2661 "list.m"
                continue;
#line 2659 "list.m"
              }
#line 2654 "list.m"
          }
#line 2654 "list.m"
      }
#line 2654 "list.m"
      break;
#line 2654 "list.m"
    }
#line 1011 "list.m"
}

#line 2659 "list.m"
static void MR_CALL 
mercury__list__foldl_corresponding_5_p_7_1(
#line 2659 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2659 "list.m"
{
#line 2659 "list.m"
  {
#line 2659 "list.m"
    struct mercury__list__foldl_corresponding_5_p_7_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldl_corresponding_5_p_7_env_0_s *) mercury__list__env_ptr_arg;

#line 2661 "list.m"
    {
#line 2661 "list.m"
      mercury__list__foldl_corresponding_5_p_7((mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_7_env_0__TypeInfo_for_A_36, (mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_7_env_0__TypeInfo_for_B_37, (mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_7_env_0__TypeInfo_for_C_38, (mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_7_env_0__P_1, (mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_7_env_0__V_39_39, (mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_7_env_0__Bs_30, (mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_7_env_0__STATE_VARIABLE_Acc_34_34, (mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_7_env_0__STATE_VARIABLE_Acc_5, (mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_7_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_7_env_0__cont_env_ptr);
#line 2661 "list.m"
      return;
    }
#line 2659 "list.m"
  }
#line 2659 "list.m"
}

#line 1009 "list.m"
void MR_CALL 
mercury__list__foldl_corresponding_5_p_7(
#line 1009 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_36,
#line 1009 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_37,
#line 1009 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_38,
#line 1009 "list.m"
  MR_Word mercury__list__P_1,
#line 1009 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1009 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1009 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_4,
#line 1009 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_5,
#line 1009 "list.m"
  MR_Cont mercury__list__cont,
#line 1009 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1009 "list.m"
{
#line 1009 "list.m"
  {
#line 1009 "list.m"
    struct mercury__list__foldl_corresponding_5_p_7_env_0_s mercury__list__env;

#line 1009 "list.m"
    (mercury__list__env).mercury__list__foldl_corresponding_5_p_7_env_0__TypeInfo_for_A_36 = mercury__list__TypeInfo_for_A_36;
#line 1009 "list.m"
    (mercury__list__env).mercury__list__foldl_corresponding_5_p_7_env_0__TypeInfo_for_B_37 = mercury__list__TypeInfo_for_B_37;
#line 1009 "list.m"
    (mercury__list__env).mercury__list__foldl_corresponding_5_p_7_env_0__TypeInfo_for_C_38 = mercury__list__TypeInfo_for_C_38;
#line 1009 "list.m"
    (mercury__list__env).mercury__list__foldl_corresponding_5_p_7_env_0__P_1 = mercury__list__P_1;
#line 1009 "list.m"
    (mercury__list__env).mercury__list__foldl_corresponding_5_p_7_env_0__STATE_VARIABLE_Acc_5 = mercury__list__STATE_VARIABLE_Acc_5;
#line 1009 "list.m"
    (mercury__list__env).mercury__list__foldl_corresponding_5_p_7_env_0__cont = mercury__list__cont;
#line 1009 "list.m"
    (mercury__list__env).mercury__list__foldl_corresponding_5_p_7_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2654 "list.m"
    {
#line 2654 "list.m"
      MR_bool mercury__list__succeeded;

#line 2654 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
        {
#line 2654 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
            *((mercury__list__env).mercury__list__foldl_corresponding_5_p_7_env_0__STATE_VARIABLE_Acc_5) = mercury__list__STATE_VARIABLE_Acc_0_4;
#line 2654 "list.m"
          else
#line 2655 "list.m"
            {
#line 2656 "list.m"
              {
#line 2656 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
#line 2656 "list.m"
                return;
              }
#line 2655 "list.m"
            }
#line 2654 "list.m"
          {
#line 2654 "list.m"
            ((mercury__list__env).mercury__list__foldl_corresponding_5_p_7_env_0__cont)((mercury__list__env).mercury__list__foldl_corresponding_5_p_7_env_0__cont_env_ptr);
#line 2654 "list.m"
            return;
          }
#line 2654 "list.m"
        }
#line 2654 "list.m"
      else
#line 2654 "list.m"
        {
#line 2654 "list.m"
          MR_Box mercury__list__V_40_40 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2657 "list.m"
          (mercury__list__env).mercury__list__foldl_corresponding_5_p_7_env_0__V_39_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2654 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2657 "list.m"
            {
#line 2658 "list.m"
              {
#line 2658 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
#line 2658 "list.m"
                return;
              }
#line 2657 "list.m"
              {
#line 2657 "list.m"
                ((mercury__list__env).mercury__list__foldl_corresponding_5_p_7_env_0__cont)((mercury__list__env).mercury__list__foldl_corresponding_5_p_7_env_0__cont_env_ptr);
#line 2657 "list.m"
                return;
              }
#line 2657 "list.m"
            }
#line 2654 "list.m"
          else
#line 2659 "list.m"
            {
#line 2659 "list.m"
              MR_Box mercury__list__B_29 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2660 "list.m"
              void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Cont, void *);

#line 2659 "list.m"
              (mercury__list__env).mercury__list__foldl_corresponding_5_p_7_env_0__Bs_30 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2660 "list.m"
              mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__foldl_corresponding_5_p_7_env_0__P_1, (MR_Integer) 1)));
#line 2660 "list.m"
              {
#line 2660 "list.m"
                mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__foldl_corresponding_5_p_7_env_0__P_1), mercury__list__V_40_40, mercury__list__B_29, mercury__list__STATE_VARIABLE_Acc_0_4, &(mercury__list__env).mercury__list__foldl_corresponding_5_p_7_env_0__STATE_VARIABLE_Acc_34_34, mercury__list__foldl_corresponding_5_p_7_1, &mercury__list__env);
              }
#line 2659 "list.m"
            }
#line 2654 "list.m"
        }
#line 2654 "list.m"
    }
#line 1009 "list.m"
  }
#line 1009 "list.m"
}

#line 2659 "list.m"
static void MR_CALL 
mercury__list__foldl_corresponding_5_p_6_1(
#line 2659 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2659 "list.m"
{
#line 2659 "list.m"
  {
#line 2659 "list.m"
    struct mercury__list__foldl_corresponding_5_p_6_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldl_corresponding_5_p_6_env_0_s *) mercury__list__env_ptr_arg;

#line 2661 "list.m"
    {
#line 2661 "list.m"
      mercury__list__foldl_corresponding_5_p_6((mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_6_env_0__TypeInfo_for_A_36, (mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_6_env_0__TypeInfo_for_B_37, (mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_6_env_0__TypeInfo_for_C_38, (mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_6_env_0__P_1, (mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_6_env_0__V_39_39, (mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_6_env_0__Bs_30, (mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_6_env_0__STATE_VARIABLE_Acc_34_34, (mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_6_env_0__STATE_VARIABLE_Acc_5, (mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_6_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldl_corresponding_5_p_6_env_0__cont_env_ptr);
#line 2661 "list.m"
      return;
    }
#line 2659 "list.m"
  }
#line 2659 "list.m"
}

#line 1007 "list.m"
void MR_CALL 
mercury__list__foldl_corresponding_5_p_6(
#line 1007 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_36,
#line 1007 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_37,
#line 1007 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_38,
#line 1007 "list.m"
  MR_Word mercury__list__P_1,
#line 1007 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1007 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1007 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_4,
#line 1007 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_5,
#line 1007 "list.m"
  MR_Cont mercury__list__cont,
#line 1007 "list.m"
  void * mercury__list__cont_env_ptr)
#line 1007 "list.m"
{
#line 1007 "list.m"
  {
#line 1007 "list.m"
    struct mercury__list__foldl_corresponding_5_p_6_env_0_s mercury__list__env;

#line 1007 "list.m"
    (mercury__list__env).mercury__list__foldl_corresponding_5_p_6_env_0__TypeInfo_for_A_36 = mercury__list__TypeInfo_for_A_36;
#line 1007 "list.m"
    (mercury__list__env).mercury__list__foldl_corresponding_5_p_6_env_0__TypeInfo_for_B_37 = mercury__list__TypeInfo_for_B_37;
#line 1007 "list.m"
    (mercury__list__env).mercury__list__foldl_corresponding_5_p_6_env_0__TypeInfo_for_C_38 = mercury__list__TypeInfo_for_C_38;
#line 1007 "list.m"
    (mercury__list__env).mercury__list__foldl_corresponding_5_p_6_env_0__P_1 = mercury__list__P_1;
#line 1007 "list.m"
    (mercury__list__env).mercury__list__foldl_corresponding_5_p_6_env_0__STATE_VARIABLE_Acc_5 = mercury__list__STATE_VARIABLE_Acc_5;
#line 1007 "list.m"
    (mercury__list__env).mercury__list__foldl_corresponding_5_p_6_env_0__cont = mercury__list__cont;
#line 1007 "list.m"
    (mercury__list__env).mercury__list__foldl_corresponding_5_p_6_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2654 "list.m"
    {
#line 2654 "list.m"
      MR_bool mercury__list__succeeded;

#line 2654 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
        {
#line 2654 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
            *((mercury__list__env).mercury__list__foldl_corresponding_5_p_6_env_0__STATE_VARIABLE_Acc_5) = mercury__list__STATE_VARIABLE_Acc_0_4;
#line 2654 "list.m"
          else
#line 2655 "list.m"
            {
#line 2656 "list.m"
              {
#line 2656 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
#line 2656 "list.m"
                return;
              }
#line 2655 "list.m"
            }
#line 2654 "list.m"
          {
#line 2654 "list.m"
            ((mercury__list__env).mercury__list__foldl_corresponding_5_p_6_env_0__cont)((mercury__list__env).mercury__list__foldl_corresponding_5_p_6_env_0__cont_env_ptr);
#line 2654 "list.m"
            return;
          }
#line 2654 "list.m"
        }
#line 2654 "list.m"
      else
#line 2654 "list.m"
        {
#line 2654 "list.m"
          MR_Box mercury__list__V_40_40 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2657 "list.m"
          (mercury__list__env).mercury__list__foldl_corresponding_5_p_6_env_0__V_39_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2654 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2657 "list.m"
            {
#line 2658 "list.m"
              {
#line 2658 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
#line 2658 "list.m"
                return;
              }
#line 2657 "list.m"
              {
#line 2657 "list.m"
                ((mercury__list__env).mercury__list__foldl_corresponding_5_p_6_env_0__cont)((mercury__list__env).mercury__list__foldl_corresponding_5_p_6_env_0__cont_env_ptr);
#line 2657 "list.m"
                return;
              }
#line 2657 "list.m"
            }
#line 2654 "list.m"
          else
#line 2659 "list.m"
            {
#line 2659 "list.m"
              MR_Box mercury__list__B_29 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2660 "list.m"
              void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Cont, void *);

#line 2659 "list.m"
              (mercury__list__env).mercury__list__foldl_corresponding_5_p_6_env_0__Bs_30 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2660 "list.m"
              mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__foldl_corresponding_5_p_6_env_0__P_1, (MR_Integer) 1)));
#line 2660 "list.m"
              {
#line 2660 "list.m"
                mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__foldl_corresponding_5_p_6_env_0__P_1), mercury__list__V_40_40, mercury__list__B_29, mercury__list__STATE_VARIABLE_Acc_0_4, &(mercury__list__env).mercury__list__foldl_corresponding_5_p_6_env_0__STATE_VARIABLE_Acc_34_34, mercury__list__foldl_corresponding_5_p_6_1, &mercury__list__env);
              }
#line 2659 "list.m"
            }
#line 2654 "list.m"
        }
#line 2654 "list.m"
    }
#line 1007 "list.m"
  }
#line 1007 "list.m"
}

#line 1005 "list.m"
MR_bool MR_CALL 
mercury__list__foldl_corresponding_5_p_5(
#line 1005 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_36,
#line 1005 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_37,
#line 1005 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_38,
#line 1005 "list.m"
  MR_Word mercury__list__P_1,
#line 1005 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1005 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1005 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_4,
#line 1005 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_5)
#line 1005 "list.m"
{
#line 2654 "list.m"
  while (MR_TRUE)
#line 2654 "list.m"
    {
#line 2654 "list.m"
      /* tailcall optimized into a loop */
#line 2654 "list.m"
      {
#line 2654 "list.m"
        MR_bool mercury__list__succeeded;

#line 2654 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
          {
#line 2654 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
              *mercury__list__STATE_VARIABLE_Acc_5 = mercury__list__STATE_VARIABLE_Acc_0_4;
#line 2654 "list.m"
            else
#line 2655 "list.m"
              {
#line 2656 "list.m"
                {
#line 2656 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
                }
#line 2655 "list.m"
              }
#line 2654 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2654 "list.m"
          }
#line 2654 "list.m"
        else
#line 2654 "list.m"
          {
#line 2654 "list.m"
            MR_Word mercury__list__V_39_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2654 "list.m"
            MR_Box mercury__list__V_40_40 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2654 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2657 "list.m"
              {
#line 2658 "list.m"
                {
#line 2658 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
                }
#line 2657 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2657 "list.m"
              }
#line 2654 "list.m"
            else
#line 2659 "list.m"
              {
#line 2659 "list.m"
                MR_Box mercury__list__B_29 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2659 "list.m"
                MR_Word mercury__list__Bs_30 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2659 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc_34_34;
#line 2660 "list.m"
                MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2660 "list.m"
                {
#line 2660 "list.m"
                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_40_40, mercury__list__B_29, mercury__list__STATE_VARIABLE_Acc_0_4, &mercury__list__STATE_VARIABLE_Acc_34_34);
                }
#line 2659 "list.m"
                if (mercury__list__succeeded)
#line 2661 "list.m"
                  {
#line 2661 "list.m"
                    /* direct tailcall eliminated */
#line 2661 "list.m"
                    {
#line 2661 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_39_39;
#line 2661 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_30;
#line 2661 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc_34_34;

#line 2661 "list.m"
                      mercury__list__STATE_VARIABLE_Acc_0_4 = mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_4;
#line 2661 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2661 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2661 "list.m"
                    }
#line 2661 "list.m"
                    continue;
#line 2661 "list.m"
                  }
#line 2659 "list.m"
              }
#line 2654 "list.m"
          }
#line 2654 "list.m"
        return mercury__list__succeeded;
#line 2654 "list.m"
      }
#line 2654 "list.m"
      break;
#line 2654 "list.m"
    }
#line 1005 "list.m"
}

#line 1003 "list.m"
MR_bool MR_CALL 
mercury__list__foldl_corresponding_5_p_4(
#line 1003 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_36,
#line 1003 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_37,
#line 1003 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_38,
#line 1003 "list.m"
  MR_Word mercury__list__P_1,
#line 1003 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1003 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1003 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_4,
#line 1003 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_5)
#line 1003 "list.m"
{
#line 2654 "list.m"
  while (MR_TRUE)
#line 2654 "list.m"
    {
#line 2654 "list.m"
      /* tailcall optimized into a loop */
#line 2654 "list.m"
      {
#line 2654 "list.m"
        MR_bool mercury__list__succeeded;

#line 2654 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
          {
#line 2654 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
              *mercury__list__STATE_VARIABLE_Acc_5 = mercury__list__STATE_VARIABLE_Acc_0_4;
#line 2654 "list.m"
            else
#line 2655 "list.m"
              {
#line 2656 "list.m"
                {
#line 2656 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
                }
#line 2655 "list.m"
              }
#line 2654 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2654 "list.m"
          }
#line 2654 "list.m"
        else
#line 2654 "list.m"
          {
#line 2654 "list.m"
            MR_Word mercury__list__V_39_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2654 "list.m"
            MR_Box mercury__list__V_40_40 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2654 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2657 "list.m"
              {
#line 2658 "list.m"
                {
#line 2658 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
                }
#line 2657 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2657 "list.m"
              }
#line 2654 "list.m"
            else
#line 2659 "list.m"
              {
#line 2659 "list.m"
                MR_Box mercury__list__B_29 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2659 "list.m"
                MR_Word mercury__list__Bs_30 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2659 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc_34_34;
#line 2660 "list.m"
                MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2660 "list.m"
                {
#line 2660 "list.m"
                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_40_40, mercury__list__B_29, mercury__list__STATE_VARIABLE_Acc_0_4, &mercury__list__STATE_VARIABLE_Acc_34_34);
                }
#line 2659 "list.m"
                if (mercury__list__succeeded)
#line 2661 "list.m"
                  {
#line 2661 "list.m"
                    /* direct tailcall eliminated */
#line 2661 "list.m"
                    {
#line 2661 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_39_39;
#line 2661 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_30;
#line 2661 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc_34_34;

#line 2661 "list.m"
                      mercury__list__STATE_VARIABLE_Acc_0_4 = mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_4;
#line 2661 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2661 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2661 "list.m"
                    }
#line 2661 "list.m"
                    continue;
#line 2661 "list.m"
                  }
#line 2659 "list.m"
              }
#line 2654 "list.m"
          }
#line 2654 "list.m"
        return mercury__list__succeeded;
#line 2654 "list.m"
      }
#line 2654 "list.m"
      break;
#line 2654 "list.m"
    }
#line 1003 "list.m"
}

#line 1001 "list.m"
MR_bool MR_CALL 
mercury__list__foldl_corresponding_5_p_3(
#line 1001 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_36,
#line 1001 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_37,
#line 1001 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_38,
#line 1001 "list.m"
  MR_Word mercury__list__P_1,
#line 1001 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 1001 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 1001 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_4,
#line 1001 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_5)
#line 1001 "list.m"
{
#line 2654 "list.m"
  while (MR_TRUE)
#line 2654 "list.m"
    {
#line 2654 "list.m"
      /* tailcall optimized into a loop */
#line 2654 "list.m"
      {
#line 2654 "list.m"
        MR_bool mercury__list__succeeded;

#line 2654 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
          {
#line 2654 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
              *mercury__list__STATE_VARIABLE_Acc_5 = mercury__list__STATE_VARIABLE_Acc_0_4;
#line 2654 "list.m"
            else
#line 2655 "list.m"
              {
#line 2656 "list.m"
                {
#line 2656 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
                }
#line 2655 "list.m"
              }
#line 2654 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2654 "list.m"
          }
#line 2654 "list.m"
        else
#line 2654 "list.m"
          {
#line 2654 "list.m"
            MR_Word mercury__list__V_39_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2654 "list.m"
            MR_Box mercury__list__V_40_40 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2654 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2657 "list.m"
              {
#line 2658 "list.m"
                {
#line 2658 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
                }
#line 2657 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2657 "list.m"
              }
#line 2654 "list.m"
            else
#line 2659 "list.m"
              {
#line 2659 "list.m"
                MR_Box mercury__list__B_29 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2659 "list.m"
                MR_Word mercury__list__Bs_30 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2659 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc_34_34;
#line 2660 "list.m"
                MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2660 "list.m"
                {
#line 2660 "list.m"
                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_40_40, mercury__list__B_29, mercury__list__STATE_VARIABLE_Acc_0_4, &mercury__list__STATE_VARIABLE_Acc_34_34);
                }
#line 2659 "list.m"
                if (mercury__list__succeeded)
#line 2661 "list.m"
                  {
#line 2661 "list.m"
                    /* direct tailcall eliminated */
#line 2661 "list.m"
                    {
#line 2661 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_39_39;
#line 2661 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_30;
#line 2661 "list.m"
                      MR_Box mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc_34_34;

#line 2661 "list.m"
                      mercury__list__STATE_VARIABLE_Acc_0_4 = mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_4;
#line 2661 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2661 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2661 "list.m"
                    }
#line 2661 "list.m"
                    continue;
#line 2661 "list.m"
                  }
#line 2659 "list.m"
              }
#line 2654 "list.m"
          }
#line 2654 "list.m"
        return mercury__list__succeeded;
#line 2654 "list.m"
      }
#line 2654 "list.m"
      break;
#line 2654 "list.m"
    }
#line 1001 "list.m"
}

#line 999 "list.m"
void MR_CALL 
mercury__list__foldl_corresponding_5_p_2(
#line 999 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_36,
#line 999 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_37,
#line 999 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_38,
#line 999 "list.m"
  MR_Word mercury__list__P_1,
#line 999 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 999 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 999 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_4,
#line 999 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_5)
#line 999 "list.m"
{
#line 2654 "list.m"
  while (MR_TRUE)
#line 2654 "list.m"
    {
#line 2654 "list.m"
      /* tailcall optimized into a loop */
#line 2654 "list.m"
      {
#line 2654 "list.m"
        MR_bool mercury__list__succeeded;

#line 2654 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
            *mercury__list__STATE_VARIABLE_Acc_5 = mercury__list__STATE_VARIABLE_Acc_0_4;
#line 2654 "list.m"
          else
#line 2655 "list.m"
            {
#line 2656 "list.m"
              {
#line 2656 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
#line 2656 "list.m"
                return;
              }
#line 2655 "list.m"
            }
#line 2654 "list.m"
        else
#line 2654 "list.m"
          {
#line 2654 "list.m"
            MR_Word mercury__list__V_39_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2654 "list.m"
            MR_Box mercury__list__V_40_40 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2654 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2657 "list.m"
              {
#line 2658 "list.m"
                {
#line 2658 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
#line 2658 "list.m"
                  return;
                }
#line 2657 "list.m"
              }
#line 2654 "list.m"
            else
#line 2659 "list.m"
              {
#line 2659 "list.m"
                MR_Box mercury__list__B_29 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2659 "list.m"
                MR_Word mercury__list__Bs_30 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2659 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc_34_34;
#line 2660 "list.m"
                void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2660 "list.m"
                {
#line 2660 "list.m"
                  mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_40_40, mercury__list__B_29, mercury__list__STATE_VARIABLE_Acc_0_4, &mercury__list__STATE_VARIABLE_Acc_34_34);
                }
#line 2661 "list.m"
                /* direct tailcall eliminated */
#line 2661 "list.m"
                {
#line 2661 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_39_39;
#line 2661 "list.m"
                  MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_30;
#line 2661 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc_34_34;

#line 2661 "list.m"
                  mercury__list__STATE_VARIABLE_Acc_0_4 = mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_4;
#line 2661 "list.m"
                  mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2661 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2661 "list.m"
                }
#line 2661 "list.m"
                continue;
#line 2659 "list.m"
              }
#line 2654 "list.m"
          }
#line 2654 "list.m"
      }
#line 2654 "list.m"
      break;
#line 2654 "list.m"
    }
#line 999 "list.m"
}

#line 997 "list.m"
void MR_CALL 
mercury__list__foldl_corresponding_5_p_1(
#line 997 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_36,
#line 997 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_37,
#line 997 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_38,
#line 997 "list.m"
  MR_Word mercury__list__P_1,
#line 997 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 997 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 997 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_4,
#line 997 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_5)
#line 997 "list.m"
{
#line 2654 "list.m"
  while (MR_TRUE)
#line 2654 "list.m"
    {
#line 2654 "list.m"
      /* tailcall optimized into a loop */
#line 2654 "list.m"
      {
#line 2654 "list.m"
        MR_bool mercury__list__succeeded;

#line 2654 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
            *mercury__list__STATE_VARIABLE_Acc_5 = mercury__list__STATE_VARIABLE_Acc_0_4;
#line 2654 "list.m"
          else
#line 2655 "list.m"
            {
#line 2656 "list.m"
              {
#line 2656 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
#line 2656 "list.m"
                return;
              }
#line 2655 "list.m"
            }
#line 2654 "list.m"
        else
#line 2654 "list.m"
          {
#line 2654 "list.m"
            MR_Word mercury__list__V_39_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2654 "list.m"
            MR_Box mercury__list__V_40_40 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2654 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2657 "list.m"
              {
#line 2658 "list.m"
                {
#line 2658 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
#line 2658 "list.m"
                  return;
                }
#line 2657 "list.m"
              }
#line 2654 "list.m"
            else
#line 2659 "list.m"
              {
#line 2659 "list.m"
                MR_Box mercury__list__B_29 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2659 "list.m"
                MR_Word mercury__list__Bs_30 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2659 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc_34_34;
#line 2660 "list.m"
                void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2660 "list.m"
                {
#line 2660 "list.m"
                  mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_40_40, mercury__list__B_29, mercury__list__STATE_VARIABLE_Acc_0_4, &mercury__list__STATE_VARIABLE_Acc_34_34);
                }
#line 2661 "list.m"
                /* direct tailcall eliminated */
#line 2661 "list.m"
                {
#line 2661 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_39_39;
#line 2661 "list.m"
                  MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_30;
#line 2661 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc_34_34;

#line 2661 "list.m"
                  mercury__list__STATE_VARIABLE_Acc_0_4 = mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_4;
#line 2661 "list.m"
                  mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2661 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2661 "list.m"
                }
#line 2661 "list.m"
                continue;
#line 2659 "list.m"
              }
#line 2654 "list.m"
          }
#line 2654 "list.m"
      }
#line 2654 "list.m"
      break;
#line 2654 "list.m"
    }
#line 997 "list.m"
}

#line 995 "list.m"
void MR_CALL 
mercury__list__foldl_corresponding_5_p_0(
#line 995 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_36,
#line 995 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_37,
#line 995 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_38,
#line 995 "list.m"
  MR_Word mercury__list__P_1,
#line 995 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 995 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 995 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_4,
#line 995 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_5)
#line 995 "list.m"
{
#line 2654 "list.m"
  while (MR_TRUE)
#line 2654 "list.m"
    {
#line 2654 "list.m"
      /* tailcall optimized into a loop */
#line 2654 "list.m"
      {
#line 2654 "list.m"
        MR_bool mercury__list__succeeded;

#line 2654 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2654 "list.m"
            *mercury__list__STATE_VARIABLE_Acc_5 = mercury__list__STATE_VARIABLE_Acc_0_4;
#line 2654 "list.m"
          else
#line 2655 "list.m"
            {
#line 2656 "list.m"
              {
#line 2656 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
#line 2656 "list.m"
                return;
              }
#line 2655 "list.m"
            }
#line 2654 "list.m"
        else
#line 2654 "list.m"
          {
#line 2654 "list.m"
            MR_Word mercury__list__V_39_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2654 "list.m"
            MR_Box mercury__list__V_40_40 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2654 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2657 "list.m"
              {
#line 2658 "list.m"
                {
#line 2658 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.foldl_corresponding\'/5", (MR_String) "mismatched list lengths");
#line 2658 "list.m"
                  return;
                }
#line 2657 "list.m"
              }
#line 2654 "list.m"
            else
#line 2659 "list.m"
              {
#line 2659 "list.m"
                MR_Box mercury__list__B_29 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2659 "list.m"
                MR_Word mercury__list__Bs_30 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2659 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc_34_34;
#line 2660 "list.m"
                void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2660 "list.m"
                {
#line 2660 "list.m"
                  mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_40_40, mercury__list__B_29, mercury__list__STATE_VARIABLE_Acc_0_4, &mercury__list__STATE_VARIABLE_Acc_34_34);
                }
#line 2661 "list.m"
                /* direct tailcall eliminated */
#line 2661 "list.m"
                {
#line 2661 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_39_39;
#line 2661 "list.m"
                  MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_30;
#line 2661 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_4 = mercury__list__STATE_VARIABLE_Acc_34_34;

#line 2661 "list.m"
                  mercury__list__STATE_VARIABLE_Acc_0_4 = mercury__list__STATE_VARIABLE_Acc_0__tmp_copy_4;
#line 2661 "list.m"
                  mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2661 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2661 "list.m"
                }
#line 2661 "list.m"
                continue;
#line 2659 "list.m"
              }
#line 2654 "list.m"
          }
#line 2654 "list.m"
      }
#line 2654 "list.m"
      break;
#line 2654 "list.m"
    }
#line 995 "list.m"
}

#line 2855 "list.m"
static void MR_CALL 
mercury__list__foldr3_8_p_7_1(
#line 2855 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2855 "list.m"
{
#line 2855 "list.m"
  {
#line 2855 "list.m"
    struct mercury__list__foldr3_8_p_7_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldr3_8_p_7_env_0_s *) mercury__list__env_ptr_arg;

#line 2855 "list.m"
    {
#line 2857 "list.m"
      void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env_ptr)->mercury__list__foldr3_8_p_7_env_0__P_1, (MR_Integer) 1)));

#line 2857 "list.m"
      {
#line 2857 "list.m"
        mercury__list__func_0(((MR_Box) (mercury__list__env_ptr)->mercury__list__foldr3_8_p_7_env_0__P_1), (mercury__list__env_ptr)->mercury__list__foldr3_8_p_7_env_0__H_20, (mercury__list__env_ptr)->mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_A_31_31, (mercury__list__env_ptr)->mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_B_32_32, (mercury__list__env_ptr)->mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_B_6, (mercury__list__env_ptr)->mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_C_33_33, (mercury__list__env_ptr)->mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_C_8, (mercury__list__env_ptr)->mercury__list__foldr3_8_p_7_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldr3_8_p_7_env_0__cont_env_ptr);
#line 2857 "list.m"
        return;
      }
#line 2855 "list.m"
    }
#line 2855 "list.m"
  }
#line 2855 "list.m"
}

#line 986 "list.m"
void MR_CALL 
mercury__list__foldr3_8_p_7(
#line 986 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_37,
#line 986 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_38,
#line 986 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_39,
#line 986 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_40,
#line 986 "list.m"
  MR_Word mercury__list__P_1,
#line 986 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 986 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 986 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 986 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 986 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 986 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 986 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 986 "list.m"
  MR_Cont mercury__list__cont,
#line 986 "list.m"
  void * mercury__list__cont_env_ptr)
#line 986 "list.m"
{
#line 986 "list.m"
  {
#line 986 "list.m"
    struct mercury__list__foldr3_8_p_7_env_0_s mercury__list__env;

#line 986 "list.m"
    (mercury__list__env).mercury__list__foldr3_8_p_7_env_0__P_1 = mercury__list__P_1;
#line 986 "list.m"
    (mercury__list__env).mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 986 "list.m"
    (mercury__list__env).mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_6;
#line 986 "list.m"
    (mercury__list__env).mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_8;
#line 986 "list.m"
    (mercury__list__env).mercury__list__foldr3_8_p_7_env_0__cont = mercury__list__cont;
#line 986 "list.m"
    (mercury__list__env).mercury__list__foldr3_8_p_7_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2854 "list.m"
    {
#line 2854 "list.m"
      MR_bool mercury__list__succeeded;

#line 2854 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2854 "list.m"
        {
#line 2854 "list.m"
          *((mercury__list__env).mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_C_8) = mercury__list__STATE_VARIABLE_C_0_7;
#line 2854 "list.m"
          *((mercury__list__env).mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_B_6) = mercury__list__STATE_VARIABLE_B_0_5;
#line 2854 "list.m"
          *((mercury__list__env).mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2854 "list.m"
          {
#line 2854 "list.m"
            ((mercury__list__env).mercury__list__foldr3_8_p_7_env_0__cont)((mercury__list__env).mercury__list__foldr3_8_p_7_env_0__cont_env_ptr);
#line 2854 "list.m"
            return;
          }
#line 2854 "list.m"
        }
#line 2854 "list.m"
      else
#line 2855 "list.m"
        {
#line 2855 "list.m"
          MR_Word mercury__list__T_21;

#line 2855 "list.m"
          (mercury__list__env).mercury__list__foldr3_8_p_7_env_0__H_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2855 "list.m"
          mercury__list__T_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2856 "list.m"
          {
#line 2856 "list.m"
            mercury__list__foldr3_8_p_7(mercury__list__TypeInfo_for_L_37, mercury__list__TypeInfo_for_A_38, mercury__list__TypeInfo_for_B_39, mercury__list__TypeInfo_for_C_40, (mercury__list__env).mercury__list__foldr3_8_p_7_env_0__P_1, mercury__list__T_21, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_B_0_5, &(mercury__list__env).mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_C_0_7, &(mercury__list__env).mercury__list__foldr3_8_p_7_env_0__STATE_VARIABLE_C_33_33, mercury__list__foldr3_8_p_7_1, &mercury__list__env);
          }
#line 2855 "list.m"
        }
#line 2854 "list.m"
    }
#line 986 "list.m"
  }
#line 986 "list.m"
}

#line 2855 "list.m"
static void MR_CALL 
mercury__list__foldr3_8_p_6_1(
#line 2855 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2855 "list.m"
{
#line 2855 "list.m"
  {
#line 2855 "list.m"
    struct mercury__list__foldr3_8_p_6_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldr3_8_p_6_env_0_s *) mercury__list__env_ptr_arg;

#line 2855 "list.m"
    {
#line 2857 "list.m"
      void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env_ptr)->mercury__list__foldr3_8_p_6_env_0__P_1, (MR_Integer) 1)));

#line 2857 "list.m"
      {
#line 2857 "list.m"
        mercury__list__func_0(((MR_Box) (mercury__list__env_ptr)->mercury__list__foldr3_8_p_6_env_0__P_1), (mercury__list__env_ptr)->mercury__list__foldr3_8_p_6_env_0__H_20, (mercury__list__env_ptr)->mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_A_31_31, (mercury__list__env_ptr)->mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_B_32_32, (mercury__list__env_ptr)->mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_B_6, (mercury__list__env_ptr)->mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_C_33_33, (mercury__list__env_ptr)->mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_C_8, (mercury__list__env_ptr)->mercury__list__foldr3_8_p_6_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldr3_8_p_6_env_0__cont_env_ptr);
#line 2857 "list.m"
        return;
      }
#line 2855 "list.m"
    }
#line 2855 "list.m"
  }
#line 2855 "list.m"
}

#line 984 "list.m"
void MR_CALL 
mercury__list__foldr3_8_p_6(
#line 984 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_37,
#line 984 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_38,
#line 984 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_39,
#line 984 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_40,
#line 984 "list.m"
  MR_Word mercury__list__P_1,
#line 984 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 984 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 984 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 984 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 984 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 984 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 984 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 984 "list.m"
  MR_Cont mercury__list__cont,
#line 984 "list.m"
  void * mercury__list__cont_env_ptr)
#line 984 "list.m"
{
#line 984 "list.m"
  {
#line 984 "list.m"
    struct mercury__list__foldr3_8_p_6_env_0_s mercury__list__env;

#line 984 "list.m"
    (mercury__list__env).mercury__list__foldr3_8_p_6_env_0__P_1 = mercury__list__P_1;
#line 984 "list.m"
    (mercury__list__env).mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 984 "list.m"
    (mercury__list__env).mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_6;
#line 984 "list.m"
    (mercury__list__env).mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_8;
#line 984 "list.m"
    (mercury__list__env).mercury__list__foldr3_8_p_6_env_0__cont = mercury__list__cont;
#line 984 "list.m"
    (mercury__list__env).mercury__list__foldr3_8_p_6_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2854 "list.m"
    {
#line 2854 "list.m"
      MR_bool mercury__list__succeeded;

#line 2854 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2854 "list.m"
        {
#line 2854 "list.m"
          *((mercury__list__env).mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_C_8) = mercury__list__STATE_VARIABLE_C_0_7;
#line 2854 "list.m"
          *((mercury__list__env).mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_B_6) = mercury__list__STATE_VARIABLE_B_0_5;
#line 2854 "list.m"
          *((mercury__list__env).mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2854 "list.m"
          {
#line 2854 "list.m"
            ((mercury__list__env).mercury__list__foldr3_8_p_6_env_0__cont)((mercury__list__env).mercury__list__foldr3_8_p_6_env_0__cont_env_ptr);
#line 2854 "list.m"
            return;
          }
#line 2854 "list.m"
        }
#line 2854 "list.m"
      else
#line 2855 "list.m"
        {
#line 2855 "list.m"
          MR_Word mercury__list__T_21;

#line 2855 "list.m"
          (mercury__list__env).mercury__list__foldr3_8_p_6_env_0__H_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2855 "list.m"
          mercury__list__T_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2856 "list.m"
          {
#line 2856 "list.m"
            mercury__list__foldr3_8_p_6(mercury__list__TypeInfo_for_L_37, mercury__list__TypeInfo_for_A_38, mercury__list__TypeInfo_for_B_39, mercury__list__TypeInfo_for_C_40, (mercury__list__env).mercury__list__foldr3_8_p_6_env_0__P_1, mercury__list__T_21, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_B_0_5, &(mercury__list__env).mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_C_0_7, &(mercury__list__env).mercury__list__foldr3_8_p_6_env_0__STATE_VARIABLE_C_33_33, mercury__list__foldr3_8_p_6_1, &mercury__list__env);
          }
#line 2855 "list.m"
        }
#line 2854 "list.m"
    }
#line 984 "list.m"
  }
#line 984 "list.m"
}

#line 982 "list.m"
MR_bool MR_CALL 
mercury__list__foldr3_8_p_5(
#line 982 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_37,
#line 982 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_38,
#line 982 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_39,
#line 982 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_40,
#line 982 "list.m"
  MR_Word mercury__list__P_1,
#line 982 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 982 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 982 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 982 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 982 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 982 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 982 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8)
#line 982 "list.m"
{
#line 2854 "list.m"
  {
#line 2854 "list.m"
    MR_bool mercury__list__succeeded;

#line 2854 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2854 "list.m"
      {
#line 2854 "list.m"
        *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2854 "list.m"
        *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2854 "list.m"
        *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2854 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2854 "list.m"
      }
#line 2854 "list.m"
    else
#line 2855 "list.m"
      {
#line 2855 "list.m"
        MR_Box mercury__list__H_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2855 "list.m"
        MR_Word mercury__list__T_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2855 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_31_31;
#line 2855 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_32_32;
#line 2855 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_33_33;
#line 2857 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2856 "list.m"
        {
#line 2856 "list.m"
          mercury__list__succeeded = mercury__list__foldr3_8_p_5(mercury__list__TypeInfo_for_L_37, mercury__list__TypeInfo_for_A_38, mercury__list__TypeInfo_for_B_39, mercury__list__TypeInfo_for_C_40, mercury__list__P_1, mercury__list__T_21, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_33_33);
        }
#line 2855 "list.m"
        if (mercury__list__succeeded)
#line 2855 "list.m"
          {
#line 2857 "list.m"
            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2857 "list.m"
            {
#line 2857 "list.m"
              return mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_20, mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_A_4, mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_B_6, mercury__list__STATE_VARIABLE_C_33_33, mercury__list__STATE_VARIABLE_C_8);
            }
#line 2855 "list.m"
          }
#line 2855 "list.m"
      }
#line 2854 "list.m"
    return mercury__list__succeeded;
#line 2854 "list.m"
  }
#line 982 "list.m"
}

#line 980 "list.m"
MR_bool MR_CALL 
mercury__list__foldr3_8_p_4(
#line 980 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_37,
#line 980 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_38,
#line 980 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_39,
#line 980 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_40,
#line 980 "list.m"
  MR_Word mercury__list__P_1,
#line 980 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 980 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 980 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 980 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 980 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 980 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 980 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8)
#line 980 "list.m"
{
#line 2854 "list.m"
  {
#line 2854 "list.m"
    MR_bool mercury__list__succeeded;

#line 2854 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2854 "list.m"
      {
#line 2854 "list.m"
        *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2854 "list.m"
        *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2854 "list.m"
        *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2854 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2854 "list.m"
      }
#line 2854 "list.m"
    else
#line 2855 "list.m"
      {
#line 2855 "list.m"
        MR_Box mercury__list__H_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2855 "list.m"
        MR_Word mercury__list__T_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2855 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_31_31;
#line 2855 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_32_32;
#line 2855 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_33_33;
#line 2857 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2856 "list.m"
        {
#line 2856 "list.m"
          mercury__list__succeeded = mercury__list__foldr3_8_p_4(mercury__list__TypeInfo_for_L_37, mercury__list__TypeInfo_for_A_38, mercury__list__TypeInfo_for_B_39, mercury__list__TypeInfo_for_C_40, mercury__list__P_1, mercury__list__T_21, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_33_33);
        }
#line 2855 "list.m"
        if (mercury__list__succeeded)
#line 2855 "list.m"
          {
#line 2857 "list.m"
            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2857 "list.m"
            {
#line 2857 "list.m"
              return mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_20, mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_A_4, mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_B_6, mercury__list__STATE_VARIABLE_C_33_33, mercury__list__STATE_VARIABLE_C_8);
            }
#line 2855 "list.m"
          }
#line 2855 "list.m"
      }
#line 2854 "list.m"
    return mercury__list__succeeded;
#line 2854 "list.m"
  }
#line 980 "list.m"
}

#line 978 "list.m"
MR_bool MR_CALL 
mercury__list__foldr3_8_p_3(
#line 978 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_37,
#line 978 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_38,
#line 978 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_39,
#line 978 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_40,
#line 978 "list.m"
  MR_Word mercury__list__P_1,
#line 978 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 978 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 978 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 978 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 978 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 978 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 978 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8)
#line 978 "list.m"
{
#line 2854 "list.m"
  {
#line 2854 "list.m"
    MR_bool mercury__list__succeeded;

#line 2854 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2854 "list.m"
      {
#line 2854 "list.m"
        *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2854 "list.m"
        *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2854 "list.m"
        *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2854 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2854 "list.m"
      }
#line 2854 "list.m"
    else
#line 2855 "list.m"
      {
#line 2855 "list.m"
        MR_Box mercury__list__H_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2855 "list.m"
        MR_Word mercury__list__T_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2855 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_31_31;
#line 2855 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_32_32;
#line 2855 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_33_33;
#line 2857 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2856 "list.m"
        {
#line 2856 "list.m"
          mercury__list__succeeded = mercury__list__foldr3_8_p_3(mercury__list__TypeInfo_for_L_37, mercury__list__TypeInfo_for_A_38, mercury__list__TypeInfo_for_B_39, mercury__list__TypeInfo_for_C_40, mercury__list__P_1, mercury__list__T_21, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_33_33);
        }
#line 2855 "list.m"
        if (mercury__list__succeeded)
#line 2855 "list.m"
          {
#line 2857 "list.m"
            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2857 "list.m"
            {
#line 2857 "list.m"
              return mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_20, mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_A_4, mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_B_6, mercury__list__STATE_VARIABLE_C_33_33, mercury__list__STATE_VARIABLE_C_8);
            }
#line 2855 "list.m"
          }
#line 2855 "list.m"
      }
#line 2854 "list.m"
    return mercury__list__succeeded;
#line 2854 "list.m"
  }
#line 978 "list.m"
}

#line 976 "list.m"
void MR_CALL 
mercury__list__foldr3_8_p_2(
#line 976 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_37,
#line 976 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_38,
#line 976 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_39,
#line 976 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_40,
#line 976 "list.m"
  MR_Word mercury__list__P_1,
#line 976 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 976 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 976 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 976 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 976 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 976 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 976 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8)
#line 976 "list.m"
{
#line 2854 "list.m"
  {
#line 2854 "list.m"
    MR_bool mercury__list__succeeded;

#line 2854 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2854 "list.m"
      {
#line 2854 "list.m"
        *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2854 "list.m"
        *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2854 "list.m"
        *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2854 "list.m"
      }
#line 2854 "list.m"
    else
#line 2855 "list.m"
      {
#line 2855 "list.m"
        MR_Box mercury__list__H_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2855 "list.m"
        MR_Word mercury__list__T_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2855 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_31_31;
#line 2855 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_32_32;
#line 2855 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_33_33;
#line 2857 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2856 "list.m"
        {
#line 2856 "list.m"
          mercury__list__foldr3_8_p_2(mercury__list__TypeInfo_for_L_37, mercury__list__TypeInfo_for_A_38, mercury__list__TypeInfo_for_B_39, mercury__list__TypeInfo_for_C_40, mercury__list__P_1, mercury__list__T_21, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_33_33);
        }
#line 2857 "list.m"
        mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2857 "list.m"
        {
#line 2857 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_20, mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_A_4, mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_B_6, mercury__list__STATE_VARIABLE_C_33_33, mercury__list__STATE_VARIABLE_C_8);
#line 2857 "list.m"
          return;
        }
#line 2855 "list.m"
      }
#line 2854 "list.m"
  }
#line 976 "list.m"
}

#line 974 "list.m"
void MR_CALL 
mercury__list__foldr3_8_p_1(
#line 974 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_37,
#line 974 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_38,
#line 974 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_39,
#line 974 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_40,
#line 974 "list.m"
  MR_Word mercury__list__P_1,
#line 974 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 974 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 974 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 974 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 974 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 974 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 974 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8)
#line 974 "list.m"
{
#line 2854 "list.m"
  {
#line 2854 "list.m"
    MR_bool mercury__list__succeeded;

#line 2854 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2854 "list.m"
      {
#line 2854 "list.m"
        *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2854 "list.m"
        *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2854 "list.m"
        *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2854 "list.m"
      }
#line 2854 "list.m"
    else
#line 2855 "list.m"
      {
#line 2855 "list.m"
        MR_Box mercury__list__H_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2855 "list.m"
        MR_Word mercury__list__T_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2855 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_31_31;
#line 2855 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_32_32;
#line 2855 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_33_33;
#line 2857 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2856 "list.m"
        {
#line 2856 "list.m"
          mercury__list__foldr3_8_p_1(mercury__list__TypeInfo_for_L_37, mercury__list__TypeInfo_for_A_38, mercury__list__TypeInfo_for_B_39, mercury__list__TypeInfo_for_C_40, mercury__list__P_1, mercury__list__T_21, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_33_33);
        }
#line 2857 "list.m"
        mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2857 "list.m"
        {
#line 2857 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_20, mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_A_4, mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_B_6, mercury__list__STATE_VARIABLE_C_33_33, mercury__list__STATE_VARIABLE_C_8);
#line 2857 "list.m"
          return;
        }
#line 2855 "list.m"
      }
#line 2854 "list.m"
  }
#line 974 "list.m"
}

#line 972 "list.m"
void MR_CALL 
mercury__list__foldr3_8_p_0(
#line 972 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_37,
#line 972 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_38,
#line 972 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_39,
#line 972 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_40,
#line 972 "list.m"
  MR_Word mercury__list__P_1,
#line 972 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 972 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 972 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 972 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 972 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 972 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 972 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8)
#line 972 "list.m"
{
#line 2854 "list.m"
  {
#line 2854 "list.m"
    MR_bool mercury__list__succeeded;

#line 2854 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2854 "list.m"
      {
#line 2854 "list.m"
        *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2854 "list.m"
        *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2854 "list.m"
        *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2854 "list.m"
      }
#line 2854 "list.m"
    else
#line 2855 "list.m"
      {
#line 2855 "list.m"
        MR_Box mercury__list__H_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2855 "list.m"
        MR_Word mercury__list__T_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2855 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_31_31;
#line 2855 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_32_32;
#line 2855 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_C_33_33;
#line 2857 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2856 "list.m"
        {
#line 2856 "list.m"
          mercury__list__foldr3_8_p_0(mercury__list__TypeInfo_for_L_37, mercury__list__TypeInfo_for_A_38, mercury__list__TypeInfo_for_B_39, mercury__list__TypeInfo_for_C_40, mercury__list__P_1, mercury__list__T_21, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_33_33);
        }
#line 2857 "list.m"
        mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2857 "list.m"
        {
#line 2857 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_20, mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_A_4, mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_B_6, mercury__list__STATE_VARIABLE_C_33_33, mercury__list__STATE_VARIABLE_C_8);
#line 2857 "list.m"
          return;
        }
#line 2855 "list.m"
      }
#line 2854 "list.m"
  }
#line 972 "list.m"
}

#line 2850 "list.m"
static void MR_CALL 
mercury__list__foldr2_6_p_7_1(
#line 2850 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2850 "list.m"
{
#line 2850 "list.m"
  {
#line 2850 "list.m"
    struct mercury__list__foldr2_6_p_7_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldr2_6_p_7_env_0_s *) mercury__list__env_ptr_arg;

#line 2850 "list.m"
    {
#line 2852 "list.m"
      void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env_ptr)->mercury__list__foldr2_6_p_7_env_0__P_1, (MR_Integer) 1)));

#line 2852 "list.m"
      {
#line 2852 "list.m"
        mercury__list__func_0(((MR_Box) (mercury__list__env_ptr)->mercury__list__foldr2_6_p_7_env_0__P_1), (mercury__list__env_ptr)->mercury__list__foldr2_6_p_7_env_0__H_15, (mercury__list__env_ptr)->mercury__list__foldr2_6_p_7_env_0__STATE_VARIABLE_A_23_23, (mercury__list__env_ptr)->mercury__list__foldr2_6_p_7_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldr2_6_p_7_env_0__STATE_VARIABLE_B_24_24, (mercury__list__env_ptr)->mercury__list__foldr2_6_p_7_env_0__STATE_VARIABLE_B_6, (mercury__list__env_ptr)->mercury__list__foldr2_6_p_7_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldr2_6_p_7_env_0__cont_env_ptr);
#line 2852 "list.m"
        return;
      }
#line 2850 "list.m"
    }
#line 2850 "list.m"
  }
#line 2850 "list.m"
}

#line 963 "list.m"
void MR_CALL 
mercury__list__foldr2_6_p_7(
#line 963 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 963 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 963 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_29,
#line 963 "list.m"
  MR_Word mercury__list__P_1,
#line 963 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 963 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 963 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 963 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 963 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 963 "list.m"
  MR_Cont mercury__list__cont,
#line 963 "list.m"
  void * mercury__list__cont_env_ptr)
#line 963 "list.m"
{
#line 963 "list.m"
  {
#line 963 "list.m"
    struct mercury__list__foldr2_6_p_7_env_0_s mercury__list__env;

#line 963 "list.m"
    (mercury__list__env).mercury__list__foldr2_6_p_7_env_0__P_1 = mercury__list__P_1;
#line 963 "list.m"
    (mercury__list__env).mercury__list__foldr2_6_p_7_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 963 "list.m"
    (mercury__list__env).mercury__list__foldr2_6_p_7_env_0__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_6;
#line 963 "list.m"
    (mercury__list__env).mercury__list__foldr2_6_p_7_env_0__cont = mercury__list__cont;
#line 963 "list.m"
    (mercury__list__env).mercury__list__foldr2_6_p_7_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2849 "list.m"
    {
#line 2849 "list.m"
      MR_bool mercury__list__succeeded;

#line 2849 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2849 "list.m"
        {
#line 2849 "list.m"
          *((mercury__list__env).mercury__list__foldr2_6_p_7_env_0__STATE_VARIABLE_B_6) = mercury__list__STATE_VARIABLE_B_0_5;
#line 2849 "list.m"
          *((mercury__list__env).mercury__list__foldr2_6_p_7_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2849 "list.m"
          {
#line 2849 "list.m"
            ((mercury__list__env).mercury__list__foldr2_6_p_7_env_0__cont)((mercury__list__env).mercury__list__foldr2_6_p_7_env_0__cont_env_ptr);
#line 2849 "list.m"
            return;
          }
#line 2849 "list.m"
        }
#line 2849 "list.m"
      else
#line 2850 "list.m"
        {
#line 2850 "list.m"
          MR_Word mercury__list__T_16;

#line 2850 "list.m"
          (mercury__list__env).mercury__list__foldr2_6_p_7_env_0__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2850 "list.m"
          mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2851 "list.m"
          {
#line 2851 "list.m"
            mercury__list__foldr2_6_p_7(mercury__list__TypeInfo_for_L_27, mercury__list__TypeInfo_for_A_28, mercury__list__TypeInfo_for_B_29, (mercury__list__env).mercury__list__foldr2_6_p_7_env_0__P_1, mercury__list__T_16, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldr2_6_p_7_env_0__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &(mercury__list__env).mercury__list__foldr2_6_p_7_env_0__STATE_VARIABLE_B_24_24, mercury__list__foldr2_6_p_7_1, &mercury__list__env);
          }
#line 2850 "list.m"
        }
#line 2849 "list.m"
    }
#line 963 "list.m"
  }
#line 963 "list.m"
}

#line 2850 "list.m"
static void MR_CALL 
mercury__list__foldr2_6_p_6_1(
#line 2850 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2850 "list.m"
{
#line 2850 "list.m"
  {
#line 2850 "list.m"
    struct mercury__list__foldr2_6_p_6_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldr2_6_p_6_env_0_s *) mercury__list__env_ptr_arg;

#line 2850 "list.m"
    {
#line 2852 "list.m"
      void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env_ptr)->mercury__list__foldr2_6_p_6_env_0__P_1, (MR_Integer) 1)));

#line 2852 "list.m"
      {
#line 2852 "list.m"
        mercury__list__func_0(((MR_Box) (mercury__list__env_ptr)->mercury__list__foldr2_6_p_6_env_0__P_1), (mercury__list__env_ptr)->mercury__list__foldr2_6_p_6_env_0__H_15, (mercury__list__env_ptr)->mercury__list__foldr2_6_p_6_env_0__STATE_VARIABLE_A_23_23, (mercury__list__env_ptr)->mercury__list__foldr2_6_p_6_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldr2_6_p_6_env_0__STATE_VARIABLE_B_24_24, (mercury__list__env_ptr)->mercury__list__foldr2_6_p_6_env_0__STATE_VARIABLE_B_6, (mercury__list__env_ptr)->mercury__list__foldr2_6_p_6_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldr2_6_p_6_env_0__cont_env_ptr);
#line 2852 "list.m"
        return;
      }
#line 2850 "list.m"
    }
#line 2850 "list.m"
  }
#line 2850 "list.m"
}

#line 961 "list.m"
void MR_CALL 
mercury__list__foldr2_6_p_6(
#line 961 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 961 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 961 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_29,
#line 961 "list.m"
  MR_Word mercury__list__P_1,
#line 961 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 961 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 961 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 961 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 961 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 961 "list.m"
  MR_Cont mercury__list__cont,
#line 961 "list.m"
  void * mercury__list__cont_env_ptr)
#line 961 "list.m"
{
#line 961 "list.m"
  {
#line 961 "list.m"
    struct mercury__list__foldr2_6_p_6_env_0_s mercury__list__env;

#line 961 "list.m"
    (mercury__list__env).mercury__list__foldr2_6_p_6_env_0__P_1 = mercury__list__P_1;
#line 961 "list.m"
    (mercury__list__env).mercury__list__foldr2_6_p_6_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 961 "list.m"
    (mercury__list__env).mercury__list__foldr2_6_p_6_env_0__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_6;
#line 961 "list.m"
    (mercury__list__env).mercury__list__foldr2_6_p_6_env_0__cont = mercury__list__cont;
#line 961 "list.m"
    (mercury__list__env).mercury__list__foldr2_6_p_6_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2849 "list.m"
    {
#line 2849 "list.m"
      MR_bool mercury__list__succeeded;

#line 2849 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2849 "list.m"
        {
#line 2849 "list.m"
          *((mercury__list__env).mercury__list__foldr2_6_p_6_env_0__STATE_VARIABLE_B_6) = mercury__list__STATE_VARIABLE_B_0_5;
#line 2849 "list.m"
          *((mercury__list__env).mercury__list__foldr2_6_p_6_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2849 "list.m"
          {
#line 2849 "list.m"
            ((mercury__list__env).mercury__list__foldr2_6_p_6_env_0__cont)((mercury__list__env).mercury__list__foldr2_6_p_6_env_0__cont_env_ptr);
#line 2849 "list.m"
            return;
          }
#line 2849 "list.m"
        }
#line 2849 "list.m"
      else
#line 2850 "list.m"
        {
#line 2850 "list.m"
          MR_Word mercury__list__T_16;

#line 2850 "list.m"
          (mercury__list__env).mercury__list__foldr2_6_p_6_env_0__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2850 "list.m"
          mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2851 "list.m"
          {
#line 2851 "list.m"
            mercury__list__foldr2_6_p_6(mercury__list__TypeInfo_for_L_27, mercury__list__TypeInfo_for_A_28, mercury__list__TypeInfo_for_B_29, (mercury__list__env).mercury__list__foldr2_6_p_6_env_0__P_1, mercury__list__T_16, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldr2_6_p_6_env_0__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &(mercury__list__env).mercury__list__foldr2_6_p_6_env_0__STATE_VARIABLE_B_24_24, mercury__list__foldr2_6_p_6_1, &mercury__list__env);
          }
#line 2850 "list.m"
        }
#line 2849 "list.m"
    }
#line 961 "list.m"
  }
#line 961 "list.m"
}

#line 959 "list.m"
MR_bool MR_CALL 
mercury__list__foldr2_6_p_5(
#line 959 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 959 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 959 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_29,
#line 959 "list.m"
  MR_Word mercury__list__P_1,
#line 959 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 959 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 959 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 959 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 959 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6)
#line 959 "list.m"
{
#line 2849 "list.m"
  {
#line 2849 "list.m"
    MR_bool mercury__list__succeeded;

#line 2849 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2849 "list.m"
      {
#line 2849 "list.m"
        *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2849 "list.m"
        *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2849 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2849 "list.m"
      }
#line 2849 "list.m"
    else
#line 2850 "list.m"
      {
#line 2850 "list.m"
        MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2850 "list.m"
        MR_Word mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2850 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_23_23;
#line 2850 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_24_24;
#line 2852 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2851 "list.m"
        {
#line 2851 "list.m"
          mercury__list__succeeded = mercury__list__foldr2_6_p_5(mercury__list__TypeInfo_for_L_27, mercury__list__TypeInfo_for_A_28, mercury__list__TypeInfo_for_B_29, mercury__list__P_1, mercury__list__T_16, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_24_24);
        }
#line 2850 "list.m"
        if (mercury__list__succeeded)
#line 2850 "list.m"
          {
#line 2852 "list.m"
            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2852 "list.m"
            {
#line 2852 "list.m"
              return mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_A_4, mercury__list__STATE_VARIABLE_B_24_24, mercury__list__STATE_VARIABLE_B_6);
            }
#line 2850 "list.m"
          }
#line 2850 "list.m"
      }
#line 2849 "list.m"
    return mercury__list__succeeded;
#line 2849 "list.m"
  }
#line 959 "list.m"
}

#line 957 "list.m"
MR_bool MR_CALL 
mercury__list__foldr2_6_p_4(
#line 957 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 957 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 957 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_29,
#line 957 "list.m"
  MR_Word mercury__list__P_1,
#line 957 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 957 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 957 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 957 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 957 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6)
#line 957 "list.m"
{
#line 2849 "list.m"
  {
#line 2849 "list.m"
    MR_bool mercury__list__succeeded;

#line 2849 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2849 "list.m"
      {
#line 2849 "list.m"
        *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2849 "list.m"
        *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2849 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2849 "list.m"
      }
#line 2849 "list.m"
    else
#line 2850 "list.m"
      {
#line 2850 "list.m"
        MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2850 "list.m"
        MR_Word mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2850 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_23_23;
#line 2850 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_24_24;
#line 2852 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2851 "list.m"
        {
#line 2851 "list.m"
          mercury__list__succeeded = mercury__list__foldr2_6_p_4(mercury__list__TypeInfo_for_L_27, mercury__list__TypeInfo_for_A_28, mercury__list__TypeInfo_for_B_29, mercury__list__P_1, mercury__list__T_16, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_24_24);
        }
#line 2850 "list.m"
        if (mercury__list__succeeded)
#line 2850 "list.m"
          {
#line 2852 "list.m"
            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2852 "list.m"
            {
#line 2852 "list.m"
              return mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_A_4, mercury__list__STATE_VARIABLE_B_24_24, mercury__list__STATE_VARIABLE_B_6);
            }
#line 2850 "list.m"
          }
#line 2850 "list.m"
      }
#line 2849 "list.m"
    return mercury__list__succeeded;
#line 2849 "list.m"
  }
#line 957 "list.m"
}

#line 955 "list.m"
MR_bool MR_CALL 
mercury__list__foldr2_6_p_3(
#line 955 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 955 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 955 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_29,
#line 955 "list.m"
  MR_Word mercury__list__P_1,
#line 955 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 955 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 955 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 955 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 955 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6)
#line 955 "list.m"
{
#line 2849 "list.m"
  {
#line 2849 "list.m"
    MR_bool mercury__list__succeeded;

#line 2849 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2849 "list.m"
      {
#line 2849 "list.m"
        *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2849 "list.m"
        *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2849 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2849 "list.m"
      }
#line 2849 "list.m"
    else
#line 2850 "list.m"
      {
#line 2850 "list.m"
        MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2850 "list.m"
        MR_Word mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2850 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_23_23;
#line 2850 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_24_24;
#line 2852 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2851 "list.m"
        {
#line 2851 "list.m"
          mercury__list__succeeded = mercury__list__foldr2_6_p_3(mercury__list__TypeInfo_for_L_27, mercury__list__TypeInfo_for_A_28, mercury__list__TypeInfo_for_B_29, mercury__list__P_1, mercury__list__T_16, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_24_24);
        }
#line 2850 "list.m"
        if (mercury__list__succeeded)
#line 2850 "list.m"
          {
#line 2852 "list.m"
            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2852 "list.m"
            {
#line 2852 "list.m"
              return mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_A_4, mercury__list__STATE_VARIABLE_B_24_24, mercury__list__STATE_VARIABLE_B_6);
            }
#line 2850 "list.m"
          }
#line 2850 "list.m"
      }
#line 2849 "list.m"
    return mercury__list__succeeded;
#line 2849 "list.m"
  }
#line 955 "list.m"
}

#line 953 "list.m"
void MR_CALL 
mercury__list__foldr2_6_p_2(
#line 953 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 953 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 953 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_29,
#line 953 "list.m"
  MR_Word mercury__list__P_1,
#line 953 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 953 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 953 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 953 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 953 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6)
#line 953 "list.m"
{
#line 2849 "list.m"
  {
#line 2849 "list.m"
    MR_bool mercury__list__succeeded;

#line 2849 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2849 "list.m"
      {
#line 2849 "list.m"
        *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2849 "list.m"
        *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2849 "list.m"
      }
#line 2849 "list.m"
    else
#line 2850 "list.m"
      {
#line 2850 "list.m"
        MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2850 "list.m"
        MR_Word mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2850 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_23_23;
#line 2850 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_24_24;
#line 2852 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2851 "list.m"
        {
#line 2851 "list.m"
          mercury__list__foldr2_6_p_2(mercury__list__TypeInfo_for_L_27, mercury__list__TypeInfo_for_A_28, mercury__list__TypeInfo_for_B_29, mercury__list__P_1, mercury__list__T_16, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_24_24);
        }
#line 2852 "list.m"
        mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2852 "list.m"
        {
#line 2852 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_A_4, mercury__list__STATE_VARIABLE_B_24_24, mercury__list__STATE_VARIABLE_B_6);
#line 2852 "list.m"
          return;
        }
#line 2850 "list.m"
      }
#line 2849 "list.m"
  }
#line 953 "list.m"
}

#line 951 "list.m"
void MR_CALL 
mercury__list__foldr2_6_p_1(
#line 951 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 951 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 951 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_29,
#line 951 "list.m"
  MR_Word mercury__list__P_1,
#line 951 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 951 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 951 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 951 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 951 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6)
#line 951 "list.m"
{
#line 2849 "list.m"
  {
#line 2849 "list.m"
    MR_bool mercury__list__succeeded;

#line 2849 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2849 "list.m"
      {
#line 2849 "list.m"
        *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2849 "list.m"
        *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2849 "list.m"
      }
#line 2849 "list.m"
    else
#line 2850 "list.m"
      {
#line 2850 "list.m"
        MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2850 "list.m"
        MR_Word mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2850 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_23_23;
#line 2850 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_24_24;
#line 2852 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2851 "list.m"
        {
#line 2851 "list.m"
          mercury__list__foldr2_6_p_1(mercury__list__TypeInfo_for_L_27, mercury__list__TypeInfo_for_A_28, mercury__list__TypeInfo_for_B_29, mercury__list__P_1, mercury__list__T_16, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_24_24);
        }
#line 2852 "list.m"
        mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2852 "list.m"
        {
#line 2852 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_A_4, mercury__list__STATE_VARIABLE_B_24_24, mercury__list__STATE_VARIABLE_B_6);
#line 2852 "list.m"
          return;
        }
#line 2850 "list.m"
      }
#line 2849 "list.m"
  }
#line 951 "list.m"
}

#line 949 "list.m"
void MR_CALL 
mercury__list__foldr2_6_p_0(
#line 949 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 949 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 949 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_29,
#line 949 "list.m"
  MR_Word mercury__list__P_1,
#line 949 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 949 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 949 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 949 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 949 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6)
#line 949 "list.m"
{
#line 2849 "list.m"
  {
#line 2849 "list.m"
    MR_bool mercury__list__succeeded;

#line 2849 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2849 "list.m"
      {
#line 2849 "list.m"
        *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2849 "list.m"
        *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2849 "list.m"
      }
#line 2849 "list.m"
    else
#line 2850 "list.m"
      {
#line 2850 "list.m"
        MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2850 "list.m"
        MR_Word mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2850 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_23_23;
#line 2850 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_B_24_24;
#line 2852 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *);

#line 2851 "list.m"
        {
#line 2851 "list.m"
          mercury__list__foldr2_6_p_0(mercury__list__TypeInfo_for_L_27, mercury__list__TypeInfo_for_A_28, mercury__list__TypeInfo_for_B_29, mercury__list__P_1, mercury__list__T_16, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_24_24);
        }
#line 2852 "list.m"
        mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2852 "list.m"
        {
#line 2852 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_A_4, mercury__list__STATE_VARIABLE_B_24_24, mercury__list__STATE_VARIABLE_B_6);
#line 2852 "list.m"
          return;
        }
#line 2850 "list.m"
      }
#line 2849 "list.m"
  }
#line 949 "list.m"
}

#line 941 "list.m"
MR_Box MR_CALL 
mercury__list__foldr_3_f_0(
#line 941 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_19,
#line 941 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_20,
#line 941 "list.m"
  MR_Word mercury__list__F_5,
#line 941 "list.m"
  MR_Word mercury__list__Xs_6,
#line 941 "list.m"
  MR_Box mercury__list__A_7)
#line 941 "list.m"
{
#line 2842 "list.m"
  {
#line 2842 "list.m"
    MR_bool mercury__list__succeeded;
#line 2842 "list.m"
    MR_Box mercury__list__B_8;

#line 2842 "list.m"
    {
#line 2842 "list.m"
      mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_114_95_95_104_111_57_95_95_91_49_44_32_50_44_32_52_44_32_53_44_32_54_93_95_48_4_p_0(mercury__list__F_5, mercury__list__Xs_6, mercury__list__A_7, &mercury__list__B_8);
    }
#line 2842 "list.m"
    return mercury__list__B_8;
#line 2842 "list.m"
  }
#line 941 "list.m"
}

#line 939 "list.m"
void MR_CALL 
mercury__list__foldr_4_p_10(
#line 939 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 939 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 939 "list.m"
  MR_Word mercury__list__P_1,
#line 939 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 939 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 939 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4)
#line 939 "list.m"
{
#line 2844 "list.m"
  {
#line 2844 "list.m"
    MR_bool mercury__list__succeeded;

#line 2844 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2844 "list.m"
      *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2844 "list.m"
    else
#line 2845 "list.m"
      {
#line 2845 "list.m"
        MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2845 "list.m"
        MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2845 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_15_15;
#line 2847 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *);

#line 2846 "list.m"
        {
#line 2846 "list.m"
          mercury__list__foldr_4_p_10(mercury__list__TypeInfo_for_L_17, mercury__list__TypeInfo_for_A_18, mercury__list__P_1, mercury__list__T_11, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_15_15);
        }
#line 2847 "list.m"
        mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2847 "list.m"
        {
#line 2847 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_15_15, mercury__list__STATE_VARIABLE_A_4);
#line 2847 "list.m"
          return;
        }
#line 2845 "list.m"
      }
#line 2844 "list.m"
  }
#line 939 "list.m"
}

#line 938 "list.m"
void MR_CALL 
mercury__list__foldr_4_p_9(
#line 938 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 938 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 938 "list.m"
  MR_Word mercury__list__P_1,
#line 938 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 938 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 938 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4)
#line 938 "list.m"
{
#line 2844 "list.m"
  {
#line 2844 "list.m"
    MR_bool mercury__list__succeeded;

#line 2844 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2844 "list.m"
      *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2844 "list.m"
    else
#line 2845 "list.m"
      {
#line 2845 "list.m"
        MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2845 "list.m"
        MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2845 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_15_15;
#line 2847 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *);

#line 2846 "list.m"
        {
#line 2846 "list.m"
          mercury__list__foldr_4_p_9(mercury__list__TypeInfo_for_L_17, mercury__list__TypeInfo_for_A_18, mercury__list__P_1, mercury__list__T_11, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_15_15);
        }
#line 2847 "list.m"
        mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2847 "list.m"
        {
#line 2847 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_15_15, mercury__list__STATE_VARIABLE_A_4);
#line 2847 "list.m"
          return;
        }
#line 2845 "list.m"
      }
#line 2844 "list.m"
  }
#line 938 "list.m"
}

#line 2845 "list.m"
static void MR_CALL 
mercury__list__foldr_4_p_8_1(
#line 2845 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2845 "list.m"
{
#line 2845 "list.m"
  {
#line 2845 "list.m"
    struct mercury__list__foldr_4_p_8_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldr_4_p_8_env_0_s *) mercury__list__env_ptr_arg;

#line 2845 "list.m"
    {
#line 2847 "list.m"
      void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Cont, void *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env_ptr)->mercury__list__foldr_4_p_8_env_0__P_1, (MR_Integer) 1)));

#line 2847 "list.m"
      {
#line 2847 "list.m"
        mercury__list__func_0(((MR_Box) (mercury__list__env_ptr)->mercury__list__foldr_4_p_8_env_0__P_1), (mercury__list__env_ptr)->mercury__list__foldr_4_p_8_env_0__H_10, (mercury__list__env_ptr)->mercury__list__foldr_4_p_8_env_0__STATE_VARIABLE_A_15_15, (mercury__list__env_ptr)->mercury__list__foldr_4_p_8_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldr_4_p_8_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldr_4_p_8_env_0__cont_env_ptr);
#line 2847 "list.m"
        return;
      }
#line 2845 "list.m"
    }
#line 2845 "list.m"
  }
#line 2845 "list.m"
}

#line 937 "list.m"
void MR_CALL 
mercury__list__foldr_4_p_8(
#line 937 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 937 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 937 "list.m"
  MR_Word mercury__list__P_1,
#line 937 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 937 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 937 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 937 "list.m"
  MR_Cont mercury__list__cont,
#line 937 "list.m"
  void * mercury__list__cont_env_ptr)
#line 937 "list.m"
{
#line 937 "list.m"
  {
#line 937 "list.m"
    struct mercury__list__foldr_4_p_8_env_0_s mercury__list__env;

#line 937 "list.m"
    (mercury__list__env).mercury__list__foldr_4_p_8_env_0__P_1 = mercury__list__P_1;
#line 937 "list.m"
    (mercury__list__env).mercury__list__foldr_4_p_8_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 937 "list.m"
    (mercury__list__env).mercury__list__foldr_4_p_8_env_0__cont = mercury__list__cont;
#line 937 "list.m"
    (mercury__list__env).mercury__list__foldr_4_p_8_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2844 "list.m"
    {
#line 2844 "list.m"
      MR_bool mercury__list__succeeded;

#line 2844 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2844 "list.m"
        {
#line 2844 "list.m"
          *((mercury__list__env).mercury__list__foldr_4_p_8_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2844 "list.m"
          {
#line 2844 "list.m"
            ((mercury__list__env).mercury__list__foldr_4_p_8_env_0__cont)((mercury__list__env).mercury__list__foldr_4_p_8_env_0__cont_env_ptr);
#line 2844 "list.m"
            return;
          }
#line 2844 "list.m"
        }
#line 2844 "list.m"
      else
#line 2845 "list.m"
        {
#line 2845 "list.m"
          MR_Word mercury__list__T_11;

#line 2845 "list.m"
          (mercury__list__env).mercury__list__foldr_4_p_8_env_0__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2845 "list.m"
          mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2846 "list.m"
          {
#line 2846 "list.m"
            mercury__list__foldr_4_p_8(mercury__list__TypeInfo_for_L_17, mercury__list__TypeInfo_for_A_18, (mercury__list__env).mercury__list__foldr_4_p_8_env_0__P_1, mercury__list__T_11, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldr_4_p_8_env_0__STATE_VARIABLE_A_15_15, mercury__list__foldr_4_p_8_1, &mercury__list__env);
          }
#line 2845 "list.m"
        }
#line 2844 "list.m"
    }
#line 937 "list.m"
  }
#line 937 "list.m"
}

#line 2845 "list.m"
static void MR_CALL 
mercury__list__foldr_4_p_7_1(
#line 2845 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2845 "list.m"
{
#line 2845 "list.m"
  {
#line 2845 "list.m"
    struct mercury__list__foldr_4_p_7_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldr_4_p_7_env_0_s *) mercury__list__env_ptr_arg;

#line 2845 "list.m"
    {
#line 2847 "list.m"
      void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Cont, void *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env_ptr)->mercury__list__foldr_4_p_7_env_0__P_1, (MR_Integer) 1)));

#line 2847 "list.m"
      {
#line 2847 "list.m"
        mercury__list__func_0(((MR_Box) (mercury__list__env_ptr)->mercury__list__foldr_4_p_7_env_0__P_1), (mercury__list__env_ptr)->mercury__list__foldr_4_p_7_env_0__H_10, (mercury__list__env_ptr)->mercury__list__foldr_4_p_7_env_0__STATE_VARIABLE_A_15_15, (mercury__list__env_ptr)->mercury__list__foldr_4_p_7_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldr_4_p_7_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldr_4_p_7_env_0__cont_env_ptr);
#line 2847 "list.m"
        return;
      }
#line 2845 "list.m"
    }
#line 2845 "list.m"
  }
#line 2845 "list.m"
}

#line 936 "list.m"
void MR_CALL 
mercury__list__foldr_4_p_7(
#line 936 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 936 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 936 "list.m"
  MR_Word mercury__list__P_1,
#line 936 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 936 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 936 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 936 "list.m"
  MR_Cont mercury__list__cont,
#line 936 "list.m"
  void * mercury__list__cont_env_ptr)
#line 936 "list.m"
{
#line 936 "list.m"
  {
#line 936 "list.m"
    struct mercury__list__foldr_4_p_7_env_0_s mercury__list__env;

#line 936 "list.m"
    (mercury__list__env).mercury__list__foldr_4_p_7_env_0__P_1 = mercury__list__P_1;
#line 936 "list.m"
    (mercury__list__env).mercury__list__foldr_4_p_7_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 936 "list.m"
    (mercury__list__env).mercury__list__foldr_4_p_7_env_0__cont = mercury__list__cont;
#line 936 "list.m"
    (mercury__list__env).mercury__list__foldr_4_p_7_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2844 "list.m"
    {
#line 2844 "list.m"
      MR_bool mercury__list__succeeded;

#line 2844 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2844 "list.m"
        {
#line 2844 "list.m"
          *((mercury__list__env).mercury__list__foldr_4_p_7_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2844 "list.m"
          {
#line 2844 "list.m"
            ((mercury__list__env).mercury__list__foldr_4_p_7_env_0__cont)((mercury__list__env).mercury__list__foldr_4_p_7_env_0__cont_env_ptr);
#line 2844 "list.m"
            return;
          }
#line 2844 "list.m"
        }
#line 2844 "list.m"
      else
#line 2845 "list.m"
        {
#line 2845 "list.m"
          MR_Word mercury__list__T_11;

#line 2845 "list.m"
          (mercury__list__env).mercury__list__foldr_4_p_7_env_0__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2845 "list.m"
          mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2846 "list.m"
          {
#line 2846 "list.m"
            mercury__list__foldr_4_p_7(mercury__list__TypeInfo_for_L_17, mercury__list__TypeInfo_for_A_18, (mercury__list__env).mercury__list__foldr_4_p_7_env_0__P_1, mercury__list__T_11, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldr_4_p_7_env_0__STATE_VARIABLE_A_15_15, mercury__list__foldr_4_p_7_1, &mercury__list__env);
          }
#line 2845 "list.m"
        }
#line 2844 "list.m"
    }
#line 936 "list.m"
  }
#line 936 "list.m"
}

#line 2845 "list.m"
static void MR_CALL 
mercury__list__foldr_4_p_6_1(
#line 2845 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2845 "list.m"
{
#line 2845 "list.m"
  {
#line 2845 "list.m"
    struct mercury__list__foldr_4_p_6_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldr_4_p_6_env_0_s *) mercury__list__env_ptr_arg;

#line 2845 "list.m"
    {
#line 2847 "list.m"
      void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Cont, void *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env_ptr)->mercury__list__foldr_4_p_6_env_0__P_1, (MR_Integer) 1)));

#line 2847 "list.m"
      {
#line 2847 "list.m"
        mercury__list__func_0(((MR_Box) (mercury__list__env_ptr)->mercury__list__foldr_4_p_6_env_0__P_1), (mercury__list__env_ptr)->mercury__list__foldr_4_p_6_env_0__H_10, (mercury__list__env_ptr)->mercury__list__foldr_4_p_6_env_0__STATE_VARIABLE_A_15_15, (mercury__list__env_ptr)->mercury__list__foldr_4_p_6_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldr_4_p_6_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldr_4_p_6_env_0__cont_env_ptr);
#line 2847 "list.m"
        return;
      }
#line 2845 "list.m"
    }
#line 2845 "list.m"
  }
#line 2845 "list.m"
}

#line 935 "list.m"
void MR_CALL 
mercury__list__foldr_4_p_6(
#line 935 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 935 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 935 "list.m"
  MR_Word mercury__list__P_1,
#line 935 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 935 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 935 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 935 "list.m"
  MR_Cont mercury__list__cont,
#line 935 "list.m"
  void * mercury__list__cont_env_ptr)
#line 935 "list.m"
{
#line 935 "list.m"
  {
#line 935 "list.m"
    struct mercury__list__foldr_4_p_6_env_0_s mercury__list__env;

#line 935 "list.m"
    (mercury__list__env).mercury__list__foldr_4_p_6_env_0__P_1 = mercury__list__P_1;
#line 935 "list.m"
    (mercury__list__env).mercury__list__foldr_4_p_6_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 935 "list.m"
    (mercury__list__env).mercury__list__foldr_4_p_6_env_0__cont = mercury__list__cont;
#line 935 "list.m"
    (mercury__list__env).mercury__list__foldr_4_p_6_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2844 "list.m"
    {
#line 2844 "list.m"
      MR_bool mercury__list__succeeded;

#line 2844 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2844 "list.m"
        {
#line 2844 "list.m"
          *((mercury__list__env).mercury__list__foldr_4_p_6_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2844 "list.m"
          {
#line 2844 "list.m"
            ((mercury__list__env).mercury__list__foldr_4_p_6_env_0__cont)((mercury__list__env).mercury__list__foldr_4_p_6_env_0__cont_env_ptr);
#line 2844 "list.m"
            return;
          }
#line 2844 "list.m"
        }
#line 2844 "list.m"
      else
#line 2845 "list.m"
        {
#line 2845 "list.m"
          MR_Word mercury__list__T_11;

#line 2845 "list.m"
          (mercury__list__env).mercury__list__foldr_4_p_6_env_0__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2845 "list.m"
          mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2846 "list.m"
          {
#line 2846 "list.m"
            mercury__list__foldr_4_p_6(mercury__list__TypeInfo_for_L_17, mercury__list__TypeInfo_for_A_18, (mercury__list__env).mercury__list__foldr_4_p_6_env_0__P_1, mercury__list__T_11, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldr_4_p_6_env_0__STATE_VARIABLE_A_15_15, mercury__list__foldr_4_p_6_1, &mercury__list__env);
          }
#line 2845 "list.m"
        }
#line 2844 "list.m"
    }
#line 935 "list.m"
  }
#line 935 "list.m"
}

#line 934 "list.m"
MR_bool MR_CALL 
mercury__list__foldr_4_p_5(
#line 934 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 934 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 934 "list.m"
  MR_Word mercury__list__P_1,
#line 934 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 934 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 934 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4)
#line 934 "list.m"
{
#line 2844 "list.m"
  {
#line 2844 "list.m"
    MR_bool mercury__list__succeeded;

#line 2844 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2844 "list.m"
      {
#line 2844 "list.m"
        *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2844 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2844 "list.m"
      }
#line 2844 "list.m"
    else
#line 2845 "list.m"
      {
#line 2845 "list.m"
        MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2845 "list.m"
        MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2845 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_15_15;
#line 2847 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *);

#line 2846 "list.m"
        {
#line 2846 "list.m"
          mercury__list__succeeded = mercury__list__foldr_4_p_5(mercury__list__TypeInfo_for_L_17, mercury__list__TypeInfo_for_A_18, mercury__list__P_1, mercury__list__T_11, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_15_15);
        }
#line 2845 "list.m"
        if (mercury__list__succeeded)
#line 2845 "list.m"
          {
#line 2847 "list.m"
            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2847 "list.m"
            {
#line 2847 "list.m"
              return mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_15_15, mercury__list__STATE_VARIABLE_A_4);
            }
#line 2845 "list.m"
          }
#line 2845 "list.m"
      }
#line 2844 "list.m"
    return mercury__list__succeeded;
#line 2844 "list.m"
  }
#line 934 "list.m"
}

#line 933 "list.m"
MR_bool MR_CALL 
mercury__list__foldr_4_p_4(
#line 933 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 933 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 933 "list.m"
  MR_Word mercury__list__P_1,
#line 933 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 933 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 933 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4)
#line 933 "list.m"
{
#line 2844 "list.m"
  {
#line 2844 "list.m"
    MR_bool mercury__list__succeeded;

#line 2844 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2844 "list.m"
      {
#line 2844 "list.m"
        *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2844 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2844 "list.m"
      }
#line 2844 "list.m"
    else
#line 2845 "list.m"
      {
#line 2845 "list.m"
        MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2845 "list.m"
        MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2845 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_15_15;
#line 2847 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *);

#line 2846 "list.m"
        {
#line 2846 "list.m"
          mercury__list__succeeded = mercury__list__foldr_4_p_4(mercury__list__TypeInfo_for_L_17, mercury__list__TypeInfo_for_A_18, mercury__list__P_1, mercury__list__T_11, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_15_15);
        }
#line 2845 "list.m"
        if (mercury__list__succeeded)
#line 2845 "list.m"
          {
#line 2847 "list.m"
            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2847 "list.m"
            {
#line 2847 "list.m"
              return mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_15_15, mercury__list__STATE_VARIABLE_A_4);
            }
#line 2845 "list.m"
          }
#line 2845 "list.m"
      }
#line 2844 "list.m"
    return mercury__list__succeeded;
#line 2844 "list.m"
  }
#line 933 "list.m"
}

#line 932 "list.m"
MR_bool MR_CALL 
mercury__list__foldr_4_p_3(
#line 932 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 932 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 932 "list.m"
  MR_Word mercury__list__P_1,
#line 932 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 932 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 932 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4)
#line 932 "list.m"
{
#line 2844 "list.m"
  {
#line 2844 "list.m"
    MR_bool mercury__list__succeeded;

#line 2844 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2844 "list.m"
      {
#line 2844 "list.m"
        *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2844 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2844 "list.m"
      }
#line 2844 "list.m"
    else
#line 2845 "list.m"
      {
#line 2845 "list.m"
        MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2845 "list.m"
        MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2845 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_15_15;
#line 2847 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *);

#line 2846 "list.m"
        {
#line 2846 "list.m"
          mercury__list__succeeded = mercury__list__foldr_4_p_3(mercury__list__TypeInfo_for_L_17, mercury__list__TypeInfo_for_A_18, mercury__list__P_1, mercury__list__T_11, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_15_15);
        }
#line 2845 "list.m"
        if (mercury__list__succeeded)
#line 2845 "list.m"
          {
#line 2847 "list.m"
            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2847 "list.m"
            {
#line 2847 "list.m"
              return mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_15_15, mercury__list__STATE_VARIABLE_A_4);
            }
#line 2845 "list.m"
          }
#line 2845 "list.m"
      }
#line 2844 "list.m"
    return mercury__list__succeeded;
#line 2844 "list.m"
  }
#line 932 "list.m"
}

#line 931 "list.m"
void MR_CALL 
mercury__list__foldr_4_p_2(
#line 931 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 931 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 931 "list.m"
  MR_Word mercury__list__P_1,
#line 931 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 931 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 931 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4)
#line 931 "list.m"
{
#line 2844 "list.m"
  {
#line 2844 "list.m"
    MR_bool mercury__list__succeeded;

#line 2844 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2844 "list.m"
      *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2844 "list.m"
    else
#line 2845 "list.m"
      {
#line 2845 "list.m"
        MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2845 "list.m"
        MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2845 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_15_15;
#line 2847 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *);

#line 2846 "list.m"
        {
#line 2846 "list.m"
          mercury__list__foldr_4_p_2(mercury__list__TypeInfo_for_L_17, mercury__list__TypeInfo_for_A_18, mercury__list__P_1, mercury__list__T_11, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_15_15);
        }
#line 2847 "list.m"
        mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2847 "list.m"
        {
#line 2847 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_15_15, mercury__list__STATE_VARIABLE_A_4);
#line 2847 "list.m"
          return;
        }
#line 2845 "list.m"
      }
#line 2844 "list.m"
  }
#line 931 "list.m"
}

#line 930 "list.m"
void MR_CALL 
mercury__list__foldr_4_p_1(
#line 930 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 930 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 930 "list.m"
  MR_Word mercury__list__P_1,
#line 930 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 930 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 930 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4)
#line 930 "list.m"
{
#line 2844 "list.m"
  {
#line 2844 "list.m"
    MR_bool mercury__list__succeeded;

#line 2844 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2844 "list.m"
      *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2844 "list.m"
    else
#line 2845 "list.m"
      {
#line 2845 "list.m"
        MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2845 "list.m"
        MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2845 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_15_15;
#line 2847 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *);

#line 2846 "list.m"
        {
#line 2846 "list.m"
          mercury__list__foldr_4_p_1(mercury__list__TypeInfo_for_L_17, mercury__list__TypeInfo_for_A_18, mercury__list__P_1, mercury__list__T_11, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_15_15);
        }
#line 2847 "list.m"
        mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2847 "list.m"
        {
#line 2847 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_15_15, mercury__list__STATE_VARIABLE_A_4);
#line 2847 "list.m"
          return;
        }
#line 2845 "list.m"
      }
#line 2844 "list.m"
  }
#line 930 "list.m"
}

#line 929 "list.m"
void MR_CALL 
mercury__list__foldr_4_p_0(
#line 929 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 929 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 929 "list.m"
  MR_Word mercury__list__P_1,
#line 929 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 929 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 929 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4)
#line 929 "list.m"
{
#line 2844 "list.m"
  {
#line 2844 "list.m"
    MR_bool mercury__list__succeeded;

#line 2844 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2844 "list.m"
      *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2844 "list.m"
    else
#line 2845 "list.m"
      {
#line 2845 "list.m"
        MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2845 "list.m"
        MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2845 "list.m"
        MR_Box mercury__list__STATE_VARIABLE_A_15_15;
#line 2847 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *);

#line 2846 "list.m"
        {
#line 2846 "list.m"
          mercury__list__foldr_4_p_0(mercury__list__TypeInfo_for_L_17, mercury__list__TypeInfo_for_A_18, mercury__list__P_1, mercury__list__T_11, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_15_15);
        }
#line 2847 "list.m"
        mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2847 "list.m"
        {
#line 2847 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_15_15, mercury__list__STATE_VARIABLE_A_4);
#line 2847 "list.m"
          return;
        }
#line 2845 "list.m"
      }
#line 2844 "list.m"
  }
#line 929 "list.m"
}

#line 2650 "list.m"
static void MR_CALL 
mercury__list__foldl6_14_p_8_1(
#line 2650 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2650 "list.m"
{
#line 2650 "list.m"
  {
#line 2650 "list.m"
    struct mercury__list__foldl6_14_p_8_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldl6_14_p_8_env_0_s *) mercury__list__env_ptr_arg;

#line 2652 "list.m"
    {
#line 2652 "list.m"
      mercury__list__foldl6_14_p_8((mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_L_67, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_A_68, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_B_69, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_C_70, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_D_71, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_E_72, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_F_73, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__P_1, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__T_36, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_A_55_55, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_B_56_56, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_B_6, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_C_57_57, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_C_8, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_D_58_58, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_D_10, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_E_59_59, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_E_12, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_F_60_60, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_F_14, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldl6_14_p_8_env_0__cont_env_ptr);
#line 2652 "list.m"
      return;
    }
#line 2650 "list.m"
  }
#line 2650 "list.m"
}

#line 919 "list.m"
void MR_CALL 
mercury__list__foldl6_14_p_8(
#line 919 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_67,
#line 919 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_68,
#line 919 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_69,
#line 919 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_70,
#line 919 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_71,
#line 919 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_72,
#line 919 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_73,
#line 919 "list.m"
  MR_Word mercury__list__P_1,
#line 919 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 919 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 919 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 919 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 919 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 919 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 919 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 919 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 919 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 919 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 919 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12,
#line 919 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_F_0_13,
#line 919 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_F_14,
#line 919 "list.m"
  MR_Cont mercury__list__cont,
#line 919 "list.m"
  void * mercury__list__cont_env_ptr)
#line 919 "list.m"
{
#line 919 "list.m"
  {
#line 919 "list.m"
    struct mercury__list__foldl6_14_p_8_env_0_s mercury__list__env;

#line 919 "list.m"
    (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_L_67 = mercury__list__TypeInfo_for_L_67;
#line 919 "list.m"
    (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_A_68 = mercury__list__TypeInfo_for_A_68;
#line 919 "list.m"
    (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_B_69 = mercury__list__TypeInfo_for_B_69;
#line 919 "list.m"
    (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_C_70 = mercury__list__TypeInfo_for_C_70;
#line 919 "list.m"
    (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_D_71 = mercury__list__TypeInfo_for_D_71;
#line 919 "list.m"
    (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_E_72 = mercury__list__TypeInfo_for_E_72;
#line 919 "list.m"
    (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__TypeInfo_for_F_73 = mercury__list__TypeInfo_for_F_73;
#line 919 "list.m"
    (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__P_1 = mercury__list__P_1;
#line 919 "list.m"
    (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 919 "list.m"
    (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_6;
#line 919 "list.m"
    (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_8;
#line 919 "list.m"
    (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_10;
#line 919 "list.m"
    (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_12;
#line 919 "list.m"
    (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_F_14 = mercury__list__STATE_VARIABLE_F_14;
#line 919 "list.m"
    (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__cont = mercury__list__cont;
#line 919 "list.m"
    (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2649 "list.m"
    {
#line 2649 "list.m"
      MR_bool mercury__list__succeeded;

#line 2649 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2649 "list.m"
        {
#line 2649 "list.m"
          *((mercury__list__env).mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_F_14) = mercury__list__STATE_VARIABLE_F_0_13;
#line 2649 "list.m"
          *((mercury__list__env).mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_E_12) = mercury__list__STATE_VARIABLE_E_0_11;
#line 2649 "list.m"
          *((mercury__list__env).mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_D_10) = mercury__list__STATE_VARIABLE_D_0_9;
#line 2649 "list.m"
          *((mercury__list__env).mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_C_8) = mercury__list__STATE_VARIABLE_C_0_7;
#line 2649 "list.m"
          *((mercury__list__env).mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_B_6) = mercury__list__STATE_VARIABLE_B_0_5;
#line 2649 "list.m"
          *((mercury__list__env).mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2649 "list.m"
          {
#line 2649 "list.m"
            ((mercury__list__env).mercury__list__foldl6_14_p_8_env_0__cont)((mercury__list__env).mercury__list__foldl6_14_p_8_env_0__cont_env_ptr);
#line 2649 "list.m"
            return;
          }
#line 2649 "list.m"
        }
#line 2649 "list.m"
      else
#line 2650 "list.m"
        {
#line 2650 "list.m"
          MR_Box mercury__list__H_35 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2651 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2650 "list.m"
          (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__T_36 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2651 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__P_1, (MR_Integer) 1)));
#line 2651 "list.m"
          {
#line 2651 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__foldl6_14_p_8_env_0__P_1), mercury__list__H_35, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_A_55_55, mercury__list__STATE_VARIABLE_B_0_5, &(mercury__list__env).mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_B_56_56, mercury__list__STATE_VARIABLE_C_0_7, &(mercury__list__env).mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_C_57_57, mercury__list__STATE_VARIABLE_D_0_9, &(mercury__list__env).mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_D_58_58, mercury__list__STATE_VARIABLE_E_0_11, &(mercury__list__env).mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_E_59_59, mercury__list__STATE_VARIABLE_F_0_13, &(mercury__list__env).mercury__list__foldl6_14_p_8_env_0__STATE_VARIABLE_F_60_60, mercury__list__foldl6_14_p_8_1, &mercury__list__env);
          }
#line 2650 "list.m"
        }
#line 2649 "list.m"
    }
#line 919 "list.m"
  }
#line 919 "list.m"
}

#line 916 "list.m"
MR_bool MR_CALL 
mercury__list__foldl6_14_p_7(
#line 916 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_67,
#line 916 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_68,
#line 916 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_69,
#line 916 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_70,
#line 916 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_71,
#line 916 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_72,
#line 916 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_73,
#line 916 "list.m"
  MR_Word mercury__list__P_1,
#line 916 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 916 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 916 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 916 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 916 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 916 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 916 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 916 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 916 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 916 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 916 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12,
#line 916 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_F_0_13,
#line 916 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_F_14)
#line 916 "list.m"
{
#line 2649 "list.m"
  while (MR_TRUE)
#line 2649 "list.m"
    {
#line 2649 "list.m"
      /* tailcall optimized into a loop */
#line 2649 "list.m"
      {
#line 2649 "list.m"
        MR_bool mercury__list__succeeded;

#line 2649 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2649 "list.m"
          {
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_F_14 = mercury__list__STATE_VARIABLE_F_0_13;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_0_11;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2649 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2649 "list.m"
          }
#line 2649 "list.m"
        else
#line 2650 "list.m"
          {
#line 2650 "list.m"
            MR_Box mercury__list__H_35 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2650 "list.m"
            MR_Word mercury__list__T_36 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_55_55;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_56_56;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_57_57;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_58_58;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_E_59_59;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_F_60_60;
#line 2651 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2651 "list.m"
            {
#line 2651 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_35, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_55_55, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_56_56, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_57_57, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_58_58, mercury__list__STATE_VARIABLE_E_0_11, &mercury__list__STATE_VARIABLE_E_59_59, mercury__list__STATE_VARIABLE_F_0_13, &mercury__list__STATE_VARIABLE_F_60_60);
            }
#line 2650 "list.m"
            if (mercury__list__succeeded)
#line 2652 "list.m"
              {
#line 2652 "list.m"
                /* direct tailcall eliminated */
#line 2652 "list.m"
                {
#line 2652 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_36;
#line 2652 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_55_55;
#line 2652 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_56_56;
#line 2652 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_57_57;
#line 2652 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_58_58;
#line 2652 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_E_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_E_59_59;
#line 2652 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_F_0__tmp_copy_13 = mercury__list__STATE_VARIABLE_F_60_60;

#line 2652 "list.m"
                  mercury__list__STATE_VARIABLE_F_0_13 = mercury__list__STATE_VARIABLE_F_0__tmp_copy_13;
#line 2652 "list.m"
                  mercury__list__STATE_VARIABLE_E_0_11 = mercury__list__STATE_VARIABLE_E_0__tmp_copy_11;
#line 2652 "list.m"
                  mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2652 "list.m"
                  mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2652 "list.m"
                  mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2652 "list.m"
                  mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2652 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2652 "list.m"
                }
#line 2652 "list.m"
                continue;
#line 2652 "list.m"
              }
#line 2650 "list.m"
          }
#line 2649 "list.m"
        return mercury__list__succeeded;
#line 2649 "list.m"
      }
#line 2649 "list.m"
      break;
#line 2649 "list.m"
    }
#line 916 "list.m"
}

#line 913 "list.m"
MR_bool MR_CALL 
mercury__list__foldl6_14_p_6(
#line 913 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_67,
#line 913 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_68,
#line 913 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_69,
#line 913 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_70,
#line 913 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_71,
#line 913 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_72,
#line 913 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_73,
#line 913 "list.m"
  MR_Word mercury__list__P_1,
#line 913 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 913 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 913 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 913 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 913 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 913 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 913 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 913 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 913 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 913 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 913 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12,
#line 913 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_F_0_13,
#line 913 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_F_14)
#line 913 "list.m"
{
#line 2649 "list.m"
  while (MR_TRUE)
#line 2649 "list.m"
    {
#line 2649 "list.m"
      /* tailcall optimized into a loop */
#line 2649 "list.m"
      {
#line 2649 "list.m"
        MR_bool mercury__list__succeeded;

#line 2649 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2649 "list.m"
          {
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_F_14 = mercury__list__STATE_VARIABLE_F_0_13;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_0_11;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2649 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2649 "list.m"
          }
#line 2649 "list.m"
        else
#line 2650 "list.m"
          {
#line 2650 "list.m"
            MR_Box mercury__list__H_35 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2650 "list.m"
            MR_Word mercury__list__T_36 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_55_55;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_56_56;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_57_57;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_58_58;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_E_59_59;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_F_60_60;
#line 2651 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2651 "list.m"
            {
#line 2651 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_35, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_55_55, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_56_56, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_57_57, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_58_58, mercury__list__STATE_VARIABLE_E_0_11, &mercury__list__STATE_VARIABLE_E_59_59, mercury__list__STATE_VARIABLE_F_0_13, &mercury__list__STATE_VARIABLE_F_60_60);
            }
#line 2650 "list.m"
            if (mercury__list__succeeded)
#line 2652 "list.m"
              {
#line 2652 "list.m"
                /* direct tailcall eliminated */
#line 2652 "list.m"
                {
#line 2652 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_36;
#line 2652 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_55_55;
#line 2652 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_56_56;
#line 2652 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_57_57;
#line 2652 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_58_58;
#line 2652 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_E_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_E_59_59;
#line 2652 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_F_0__tmp_copy_13 = mercury__list__STATE_VARIABLE_F_60_60;

#line 2652 "list.m"
                  mercury__list__STATE_VARIABLE_F_0_13 = mercury__list__STATE_VARIABLE_F_0__tmp_copy_13;
#line 2652 "list.m"
                  mercury__list__STATE_VARIABLE_E_0_11 = mercury__list__STATE_VARIABLE_E_0__tmp_copy_11;
#line 2652 "list.m"
                  mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2652 "list.m"
                  mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2652 "list.m"
                  mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2652 "list.m"
                  mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2652 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2652 "list.m"
                }
#line 2652 "list.m"
                continue;
#line 2652 "list.m"
              }
#line 2650 "list.m"
          }
#line 2649 "list.m"
        return mercury__list__succeeded;
#line 2649 "list.m"
      }
#line 2649 "list.m"
      break;
#line 2649 "list.m"
    }
#line 913 "list.m"
}

#line 910 "list.m"
MR_bool MR_CALL 
mercury__list__foldl6_14_p_5(
#line 910 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_67,
#line 910 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_68,
#line 910 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_69,
#line 910 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_70,
#line 910 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_71,
#line 910 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_72,
#line 910 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_73,
#line 910 "list.m"
  MR_Word mercury__list__P_1,
#line 910 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 910 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 910 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 910 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 910 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 910 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 910 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 910 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 910 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 910 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 910 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12,
#line 910 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_F_0_13,
#line 910 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_F_14)
#line 910 "list.m"
{
#line 2649 "list.m"
  while (MR_TRUE)
#line 2649 "list.m"
    {
#line 2649 "list.m"
      /* tailcall optimized into a loop */
#line 2649 "list.m"
      {
#line 2649 "list.m"
        MR_bool mercury__list__succeeded;

#line 2649 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2649 "list.m"
          {
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_F_14 = mercury__list__STATE_VARIABLE_F_0_13;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_0_11;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2649 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2649 "list.m"
          }
#line 2649 "list.m"
        else
#line 2650 "list.m"
          {
#line 2650 "list.m"
            MR_Box mercury__list__H_35 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2650 "list.m"
            MR_Word mercury__list__T_36 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_55_55;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_56_56;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_57_57;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_58_58;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_E_59_59;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_F_60_60;
#line 2651 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2651 "list.m"
            {
#line 2651 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_35, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_55_55, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_56_56, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_57_57, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_58_58, mercury__list__STATE_VARIABLE_E_0_11, &mercury__list__STATE_VARIABLE_E_59_59, mercury__list__STATE_VARIABLE_F_0_13, &mercury__list__STATE_VARIABLE_F_60_60);
            }
#line 2650 "list.m"
            if (mercury__list__succeeded)
#line 2652 "list.m"
              {
#line 2652 "list.m"
                /* direct tailcall eliminated */
#line 2652 "list.m"
                {
#line 2652 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_36;
#line 2652 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_55_55;
#line 2652 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_56_56;
#line 2652 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_57_57;
#line 2652 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_58_58;
#line 2652 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_E_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_E_59_59;
#line 2652 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_F_0__tmp_copy_13 = mercury__list__STATE_VARIABLE_F_60_60;

#line 2652 "list.m"
                  mercury__list__STATE_VARIABLE_F_0_13 = mercury__list__STATE_VARIABLE_F_0__tmp_copy_13;
#line 2652 "list.m"
                  mercury__list__STATE_VARIABLE_E_0_11 = mercury__list__STATE_VARIABLE_E_0__tmp_copy_11;
#line 2652 "list.m"
                  mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2652 "list.m"
                  mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2652 "list.m"
                  mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2652 "list.m"
                  mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2652 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2652 "list.m"
                }
#line 2652 "list.m"
                continue;
#line 2652 "list.m"
              }
#line 2650 "list.m"
          }
#line 2649 "list.m"
        return mercury__list__succeeded;
#line 2649 "list.m"
      }
#line 2649 "list.m"
      break;
#line 2649 "list.m"
    }
#line 910 "list.m"
}

#line 907 "list.m"
void MR_CALL 
mercury__list__foldl6_14_p_4(
#line 907 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_67,
#line 907 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_68,
#line 907 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_69,
#line 907 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_70,
#line 907 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_71,
#line 907 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_72,
#line 907 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_73,
#line 907 "list.m"
  MR_Word mercury__list__P_1,
#line 907 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 907 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 907 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 907 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 907 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 907 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 907 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 907 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 907 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 907 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 907 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12,
#line 907 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_F_0_13,
#line 907 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_F_14)
#line 907 "list.m"
{
#line 2649 "list.m"
  while (MR_TRUE)
#line 2649 "list.m"
    {
#line 2649 "list.m"
      /* tailcall optimized into a loop */
#line 2649 "list.m"
      {
#line 2649 "list.m"
        MR_bool mercury__list__succeeded;

#line 2649 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2649 "list.m"
          {
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_F_14 = mercury__list__STATE_VARIABLE_F_0_13;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_0_11;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2649 "list.m"
          }
#line 2649 "list.m"
        else
#line 2650 "list.m"
          {
#line 2650 "list.m"
            MR_Box mercury__list__H_35 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2650 "list.m"
            MR_Word mercury__list__T_36 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_55_55;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_56_56;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_57_57;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_58_58;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_E_59_59;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_F_60_60;
#line 2651 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2651 "list.m"
            {
#line 2651 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_35, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_55_55, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_56_56, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_57_57, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_58_58, mercury__list__STATE_VARIABLE_E_0_11, &mercury__list__STATE_VARIABLE_E_59_59, mercury__list__STATE_VARIABLE_F_0_13, &mercury__list__STATE_VARIABLE_F_60_60);
            }
#line 2652 "list.m"
            /* direct tailcall eliminated */
#line 2652 "list.m"
            {
#line 2652 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_36;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_55_55;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_56_56;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_57_57;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_58_58;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_E_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_E_59_59;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_F_0__tmp_copy_13 = mercury__list__STATE_VARIABLE_F_60_60;

#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_F_0_13 = mercury__list__STATE_VARIABLE_F_0__tmp_copy_13;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_E_0_11 = mercury__list__STATE_VARIABLE_E_0__tmp_copy_11;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2652 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2652 "list.m"
            }
#line 2652 "list.m"
            continue;
#line 2650 "list.m"
          }
#line 2649 "list.m"
      }
#line 2649 "list.m"
      break;
#line 2649 "list.m"
    }
#line 907 "list.m"
}

#line 904 "list.m"
void MR_CALL 
mercury__list__foldl6_14_p_3(
#line 904 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_67,
#line 904 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_68,
#line 904 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_69,
#line 904 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_70,
#line 904 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_71,
#line 904 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_72,
#line 904 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_73,
#line 904 "list.m"
  MR_Word mercury__list__P_1,
#line 904 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 904 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 904 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 904 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 904 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 904 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 904 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 904 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 904 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 904 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 904 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12,
#line 904 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_F_0_13,
#line 904 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_F_14)
#line 904 "list.m"
{
#line 2649 "list.m"
  while (MR_TRUE)
#line 2649 "list.m"
    {
#line 2649 "list.m"
      /* tailcall optimized into a loop */
#line 2649 "list.m"
      {
#line 2649 "list.m"
        MR_bool mercury__list__succeeded;

#line 2649 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2649 "list.m"
          {
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_F_14 = mercury__list__STATE_VARIABLE_F_0_13;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_0_11;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2649 "list.m"
          }
#line 2649 "list.m"
        else
#line 2650 "list.m"
          {
#line 2650 "list.m"
            MR_Box mercury__list__H_35 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2650 "list.m"
            MR_Word mercury__list__T_36 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_55_55;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_56_56;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_57_57;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_58_58;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_E_59_59;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_F_60_60;
#line 2651 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2651 "list.m"
            {
#line 2651 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_35, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_55_55, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_56_56, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_57_57, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_58_58, mercury__list__STATE_VARIABLE_E_0_11, &mercury__list__STATE_VARIABLE_E_59_59, mercury__list__STATE_VARIABLE_F_0_13, &mercury__list__STATE_VARIABLE_F_60_60);
            }
#line 2652 "list.m"
            /* direct tailcall eliminated */
#line 2652 "list.m"
            {
#line 2652 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_36;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_55_55;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_56_56;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_57_57;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_58_58;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_E_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_E_59_59;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_F_0__tmp_copy_13 = mercury__list__STATE_VARIABLE_F_60_60;

#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_F_0_13 = mercury__list__STATE_VARIABLE_F_0__tmp_copy_13;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_E_0_11 = mercury__list__STATE_VARIABLE_E_0__tmp_copy_11;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2652 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2652 "list.m"
            }
#line 2652 "list.m"
            continue;
#line 2650 "list.m"
          }
#line 2649 "list.m"
      }
#line 2649 "list.m"
      break;
#line 2649 "list.m"
    }
#line 904 "list.m"
}

#line 901 "list.m"
void MR_CALL 
mercury__list__foldl6_14_p_2(
#line 901 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_67,
#line 901 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_68,
#line 901 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_69,
#line 901 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_70,
#line 901 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_71,
#line 901 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_72,
#line 901 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_73,
#line 901 "list.m"
  MR_Word mercury__list__P_1,
#line 901 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 901 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 901 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 901 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 901 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 901 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 901 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 901 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 901 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 901 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 901 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12,
#line 901 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_F_0_13,
#line 901 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_F_14)
#line 901 "list.m"
{
#line 2649 "list.m"
  while (MR_TRUE)
#line 2649 "list.m"
    {
#line 2649 "list.m"
      /* tailcall optimized into a loop */
#line 2649 "list.m"
      {
#line 2649 "list.m"
        MR_bool mercury__list__succeeded;

#line 2649 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2649 "list.m"
          {
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_F_14 = mercury__list__STATE_VARIABLE_F_0_13;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_0_11;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2649 "list.m"
          }
#line 2649 "list.m"
        else
#line 2650 "list.m"
          {
#line 2650 "list.m"
            MR_Box mercury__list__H_35 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2650 "list.m"
            MR_Word mercury__list__T_36 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_55_55;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_56_56;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_57_57;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_58_58;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_E_59_59;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_F_60_60;
#line 2651 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2651 "list.m"
            {
#line 2651 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_35, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_55_55, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_56_56, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_57_57, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_58_58, mercury__list__STATE_VARIABLE_E_0_11, &mercury__list__STATE_VARIABLE_E_59_59, mercury__list__STATE_VARIABLE_F_0_13, &mercury__list__STATE_VARIABLE_F_60_60);
            }
#line 2652 "list.m"
            /* direct tailcall eliminated */
#line 2652 "list.m"
            {
#line 2652 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_36;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_55_55;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_56_56;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_57_57;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_58_58;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_E_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_E_59_59;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_F_0__tmp_copy_13 = mercury__list__STATE_VARIABLE_F_60_60;

#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_F_0_13 = mercury__list__STATE_VARIABLE_F_0__tmp_copy_13;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_E_0_11 = mercury__list__STATE_VARIABLE_E_0__tmp_copy_11;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2652 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2652 "list.m"
            }
#line 2652 "list.m"
            continue;
#line 2650 "list.m"
          }
#line 2649 "list.m"
      }
#line 2649 "list.m"
      break;
#line 2649 "list.m"
    }
#line 901 "list.m"
}

#line 898 "list.m"
void MR_CALL 
mercury__list__foldl6_14_p_1(
#line 898 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_67,
#line 898 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_68,
#line 898 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_69,
#line 898 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_70,
#line 898 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_71,
#line 898 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_72,
#line 898 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_73,
#line 898 "list.m"
  MR_Word mercury__list__P_1,
#line 898 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 898 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 898 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 898 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 898 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 898 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 898 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 898 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 898 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 898 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 898 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12,
#line 898 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_F_0_13,
#line 898 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_F_14)
#line 898 "list.m"
{
#line 2649 "list.m"
  while (MR_TRUE)
#line 2649 "list.m"
    {
#line 2649 "list.m"
      /* tailcall optimized into a loop */
#line 2649 "list.m"
      {
#line 2649 "list.m"
        MR_bool mercury__list__succeeded;

#line 2649 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2649 "list.m"
          {
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_F_14 = mercury__list__STATE_VARIABLE_F_0_13;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_0_11;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2649 "list.m"
          }
#line 2649 "list.m"
        else
#line 2650 "list.m"
          {
#line 2650 "list.m"
            MR_Box mercury__list__H_35 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2650 "list.m"
            MR_Word mercury__list__T_36 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_55_55;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_56_56;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_57_57;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_58_58;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_E_59_59;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_F_60_60;
#line 2651 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2651 "list.m"
            {
#line 2651 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_35, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_55_55, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_56_56, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_57_57, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_58_58, mercury__list__STATE_VARIABLE_E_0_11, &mercury__list__STATE_VARIABLE_E_59_59, mercury__list__STATE_VARIABLE_F_0_13, &mercury__list__STATE_VARIABLE_F_60_60);
            }
#line 2652 "list.m"
            /* direct tailcall eliminated */
#line 2652 "list.m"
            {
#line 2652 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_36;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_55_55;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_56_56;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_57_57;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_58_58;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_E_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_E_59_59;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_F_0__tmp_copy_13 = mercury__list__STATE_VARIABLE_F_60_60;

#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_F_0_13 = mercury__list__STATE_VARIABLE_F_0__tmp_copy_13;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_E_0_11 = mercury__list__STATE_VARIABLE_E_0__tmp_copy_11;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2652 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2652 "list.m"
            }
#line 2652 "list.m"
            continue;
#line 2650 "list.m"
          }
#line 2649 "list.m"
      }
#line 2649 "list.m"
      break;
#line 2649 "list.m"
    }
#line 898 "list.m"
}

#line 895 "list.m"
void MR_CALL 
mercury__list__foldl6_14_p_0(
#line 895 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_67,
#line 895 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_68,
#line 895 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_69,
#line 895 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_70,
#line 895 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_71,
#line 895 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_72,
#line 895 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_73,
#line 895 "list.m"
  MR_Word mercury__list__P_1,
#line 895 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 895 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 895 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 895 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 895 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 895 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 895 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 895 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 895 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 895 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 895 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12,
#line 895 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_F_0_13,
#line 895 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_F_14)
#line 895 "list.m"
{
#line 2649 "list.m"
  while (MR_TRUE)
#line 2649 "list.m"
    {
#line 2649 "list.m"
      /* tailcall optimized into a loop */
#line 2649 "list.m"
      {
#line 2649 "list.m"
        MR_bool mercury__list__succeeded;

#line 2649 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2649 "list.m"
          {
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_F_14 = mercury__list__STATE_VARIABLE_F_0_13;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_0_11;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2649 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2649 "list.m"
          }
#line 2649 "list.m"
        else
#line 2650 "list.m"
          {
#line 2650 "list.m"
            MR_Box mercury__list__H_35 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2650 "list.m"
            MR_Word mercury__list__T_36 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_55_55;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_56_56;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_57_57;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_58_58;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_E_59_59;
#line 2650 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_F_60_60;
#line 2651 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2651 "list.m"
            {
#line 2651 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_35, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_55_55, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_56_56, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_57_57, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_58_58, mercury__list__STATE_VARIABLE_E_0_11, &mercury__list__STATE_VARIABLE_E_59_59, mercury__list__STATE_VARIABLE_F_0_13, &mercury__list__STATE_VARIABLE_F_60_60);
            }
#line 2652 "list.m"
            /* direct tailcall eliminated */
#line 2652 "list.m"
            {
#line 2652 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_36;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_55_55;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_56_56;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_57_57;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_58_58;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_E_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_E_59_59;
#line 2652 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_F_0__tmp_copy_13 = mercury__list__STATE_VARIABLE_F_60_60;

#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_F_0_13 = mercury__list__STATE_VARIABLE_F_0__tmp_copy_13;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_E_0_11 = mercury__list__STATE_VARIABLE_E_0__tmp_copy_11;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2652 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2652 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2652 "list.m"
            }
#line 2652 "list.m"
            continue;
#line 2650 "list.m"
          }
#line 2649 "list.m"
      }
#line 2649 "list.m"
      break;
#line 2649 "list.m"
    }
#line 895 "list.m"
}

#line 884 "list.m"
void MR_CALL 
mercury__list__foldl5_12_p_9(
#line 884 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_57,
#line 884 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_58,
#line 884 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_59,
#line 884 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_60,
#line 884 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_61,
#line 884 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_62,
#line 884 "list.m"
  MR_Word mercury__list__P_1,
#line 884 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 884 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 884 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 884 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 884 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 884 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 884 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 884 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 884 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 884 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 884 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12)
#line 884 "list.m"
{
#line 2644 "list.m"
  while (MR_TRUE)
#line 2644 "list.m"
    {
#line 2644 "list.m"
      /* tailcall optimized into a loop */
#line 2644 "list.m"
      {
#line 2644 "list.m"
        MR_bool mercury__list__succeeded;

#line 2644 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2644 "list.m"
          {
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_0_11;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2644 "list.m"
          }
#line 2644 "list.m"
        else
#line 2645 "list.m"
          {
#line 2645 "list.m"
            MR_Box mercury__list__H_30 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2645 "list.m"
            MR_Word mercury__list__T_31 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_47_47;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_48_48;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_49_49;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_50_50;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_E_51_51;
#line 2646 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2646 "list.m"
            {
#line 2646 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_30, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_47_47, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_48_48, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_49_49, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_50_50, mercury__list__STATE_VARIABLE_E_0_11, &mercury__list__STATE_VARIABLE_E_51_51);
            }
#line 2647 "list.m"
            /* direct tailcall eliminated */
#line 2647 "list.m"
            {
#line 2647 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_31;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_47_47;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_48_48;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_49_49;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_50_50;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_E_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_E_51_51;

#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_E_0_11 = mercury__list__STATE_VARIABLE_E_0__tmp_copy_11;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2647 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2647 "list.m"
            }
#line 2647 "list.m"
            continue;
#line 2645 "list.m"
          }
#line 2644 "list.m"
      }
#line 2644 "list.m"
      break;
#line 2644 "list.m"
    }
#line 884 "list.m"
}

#line 881 "list.m"
void MR_CALL 
mercury__list__foldl5_12_p_8(
#line 881 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_57,
#line 881 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_58,
#line 881 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_59,
#line 881 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_60,
#line 881 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_61,
#line 881 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_62,
#line 881 "list.m"
  MR_Word mercury__list__P_1,
#line 881 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 881 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 881 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 881 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 881 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 881 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 881 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 881 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 881 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 881 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 881 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12)
#line 881 "list.m"
{
#line 2644 "list.m"
  while (MR_TRUE)
#line 2644 "list.m"
    {
#line 2644 "list.m"
      /* tailcall optimized into a loop */
#line 2644 "list.m"
      {
#line 2644 "list.m"
        MR_bool mercury__list__succeeded;

#line 2644 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2644 "list.m"
          {
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_0_11;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2644 "list.m"
          }
#line 2644 "list.m"
        else
#line 2645 "list.m"
          {
#line 2645 "list.m"
            MR_Box mercury__list__H_30 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2645 "list.m"
            MR_Word mercury__list__T_31 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_47_47;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_48_48;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_49_49;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_50_50;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_E_51_51;
#line 2646 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2646 "list.m"
            {
#line 2646 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_30, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_47_47, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_48_48, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_49_49, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_50_50, mercury__list__STATE_VARIABLE_E_0_11, &mercury__list__STATE_VARIABLE_E_51_51);
            }
#line 2647 "list.m"
            /* direct tailcall eliminated */
#line 2647 "list.m"
            {
#line 2647 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_31;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_47_47;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_48_48;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_49_49;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_50_50;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_E_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_E_51_51;

#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_E_0_11 = mercury__list__STATE_VARIABLE_E_0__tmp_copy_11;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2647 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2647 "list.m"
            }
#line 2647 "list.m"
            continue;
#line 2645 "list.m"
          }
#line 2644 "list.m"
      }
#line 2644 "list.m"
      break;
#line 2644 "list.m"
    }
#line 881 "list.m"
}

#line 2645 "list.m"
static void MR_CALL 
mercury__list__foldl5_12_p_7_1(
#line 2645 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2645 "list.m"
{
#line 2645 "list.m"
  {
#line 2645 "list.m"
    struct mercury__list__foldl5_12_p_7_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldl5_12_p_7_env_0_s *) mercury__list__env_ptr_arg;

#line 2647 "list.m"
    {
#line 2647 "list.m"
      mercury__list__foldl5_12_p_7((mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__TypeInfo_for_L_57, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__TypeInfo_for_A_58, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__TypeInfo_for_B_59, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__TypeInfo_for_C_60, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__TypeInfo_for_D_61, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__TypeInfo_for_E_62, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__P_1, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__T_31, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_A_47_47, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_B_48_48, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_B_6, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_C_49_49, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_C_8, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_D_50_50, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_D_10, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_E_51_51, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_E_12, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_7_env_0__cont_env_ptr);
#line 2647 "list.m"
      return;
    }
#line 2645 "list.m"
  }
#line 2645 "list.m"
}

#line 878 "list.m"
void MR_CALL 
mercury__list__foldl5_12_p_7(
#line 878 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_57,
#line 878 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_58,
#line 878 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_59,
#line 878 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_60,
#line 878 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_61,
#line 878 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_62,
#line 878 "list.m"
  MR_Word mercury__list__P_1,
#line 878 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 878 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 878 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 878 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 878 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 878 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 878 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 878 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 878 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 878 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 878 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12,
#line 878 "list.m"
  MR_Cont mercury__list__cont,
#line 878 "list.m"
  void * mercury__list__cont_env_ptr)
#line 878 "list.m"
{
#line 878 "list.m"
  {
#line 878 "list.m"
    struct mercury__list__foldl5_12_p_7_env_0_s mercury__list__env;

#line 878 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_7_env_0__TypeInfo_for_L_57 = mercury__list__TypeInfo_for_L_57;
#line 878 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_7_env_0__TypeInfo_for_A_58 = mercury__list__TypeInfo_for_A_58;
#line 878 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_7_env_0__TypeInfo_for_B_59 = mercury__list__TypeInfo_for_B_59;
#line 878 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_7_env_0__TypeInfo_for_C_60 = mercury__list__TypeInfo_for_C_60;
#line 878 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_7_env_0__TypeInfo_for_D_61 = mercury__list__TypeInfo_for_D_61;
#line 878 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_7_env_0__TypeInfo_for_E_62 = mercury__list__TypeInfo_for_E_62;
#line 878 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_7_env_0__P_1 = mercury__list__P_1;
#line 878 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 878 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_6;
#line 878 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_8;
#line 878 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_10;
#line 878 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_12;
#line 878 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_7_env_0__cont = mercury__list__cont;
#line 878 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_7_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2644 "list.m"
    {
#line 2644 "list.m"
      MR_bool mercury__list__succeeded;

#line 2644 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2644 "list.m"
        {
#line 2644 "list.m"
          *((mercury__list__env).mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_E_12) = mercury__list__STATE_VARIABLE_E_0_11;
#line 2644 "list.m"
          *((mercury__list__env).mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_D_10) = mercury__list__STATE_VARIABLE_D_0_9;
#line 2644 "list.m"
          *((mercury__list__env).mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_C_8) = mercury__list__STATE_VARIABLE_C_0_7;
#line 2644 "list.m"
          *((mercury__list__env).mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_B_6) = mercury__list__STATE_VARIABLE_B_0_5;
#line 2644 "list.m"
          *((mercury__list__env).mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2644 "list.m"
          {
#line 2644 "list.m"
            ((mercury__list__env).mercury__list__foldl5_12_p_7_env_0__cont)((mercury__list__env).mercury__list__foldl5_12_p_7_env_0__cont_env_ptr);
#line 2644 "list.m"
            return;
          }
#line 2644 "list.m"
        }
#line 2644 "list.m"
      else
#line 2645 "list.m"
        {
#line 2645 "list.m"
          MR_Box mercury__list__H_30 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2646 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2645 "list.m"
          (mercury__list__env).mercury__list__foldl5_12_p_7_env_0__T_31 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2646 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__foldl5_12_p_7_env_0__P_1, (MR_Integer) 1)));
#line 2646 "list.m"
          {
#line 2646 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__foldl5_12_p_7_env_0__P_1), mercury__list__H_30, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_A_47_47, mercury__list__STATE_VARIABLE_B_0_5, &(mercury__list__env).mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_B_48_48, mercury__list__STATE_VARIABLE_C_0_7, &(mercury__list__env).mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_C_49_49, mercury__list__STATE_VARIABLE_D_0_9, &(mercury__list__env).mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_D_50_50, mercury__list__STATE_VARIABLE_E_0_11, &(mercury__list__env).mercury__list__foldl5_12_p_7_env_0__STATE_VARIABLE_E_51_51, mercury__list__foldl5_12_p_7_1, &mercury__list__env);
          }
#line 2645 "list.m"
        }
#line 2644 "list.m"
    }
#line 878 "list.m"
  }
#line 878 "list.m"
}

#line 2645 "list.m"
static void MR_CALL 
mercury__list__foldl5_12_p_6_1(
#line 2645 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2645 "list.m"
{
#line 2645 "list.m"
  {
#line 2645 "list.m"
    struct mercury__list__foldl5_12_p_6_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldl5_12_p_6_env_0_s *) mercury__list__env_ptr_arg;

#line 2647 "list.m"
    {
#line 2647 "list.m"
      mercury__list__foldl5_12_p_6((mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__TypeInfo_for_L_57, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__TypeInfo_for_A_58, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__TypeInfo_for_B_59, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__TypeInfo_for_C_60, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__TypeInfo_for_D_61, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__TypeInfo_for_E_62, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__P_1, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__T_31, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_A_47_47, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_B_48_48, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_B_6, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_C_49_49, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_C_8, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_D_50_50, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_D_10, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_E_51_51, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_E_12, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldl5_12_p_6_env_0__cont_env_ptr);
#line 2647 "list.m"
      return;
    }
#line 2645 "list.m"
  }
#line 2645 "list.m"
}

#line 875 "list.m"
void MR_CALL 
mercury__list__foldl5_12_p_6(
#line 875 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_57,
#line 875 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_58,
#line 875 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_59,
#line 875 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_60,
#line 875 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_61,
#line 875 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_62,
#line 875 "list.m"
  MR_Word mercury__list__P_1,
#line 875 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 875 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 875 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 875 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 875 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 875 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 875 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 875 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 875 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 875 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 875 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12,
#line 875 "list.m"
  MR_Cont mercury__list__cont,
#line 875 "list.m"
  void * mercury__list__cont_env_ptr)
#line 875 "list.m"
{
#line 875 "list.m"
  {
#line 875 "list.m"
    struct mercury__list__foldl5_12_p_6_env_0_s mercury__list__env;

#line 875 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_6_env_0__TypeInfo_for_L_57 = mercury__list__TypeInfo_for_L_57;
#line 875 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_6_env_0__TypeInfo_for_A_58 = mercury__list__TypeInfo_for_A_58;
#line 875 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_6_env_0__TypeInfo_for_B_59 = mercury__list__TypeInfo_for_B_59;
#line 875 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_6_env_0__TypeInfo_for_C_60 = mercury__list__TypeInfo_for_C_60;
#line 875 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_6_env_0__TypeInfo_for_D_61 = mercury__list__TypeInfo_for_D_61;
#line 875 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_6_env_0__TypeInfo_for_E_62 = mercury__list__TypeInfo_for_E_62;
#line 875 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_6_env_0__P_1 = mercury__list__P_1;
#line 875 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 875 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_6;
#line 875 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_8;
#line 875 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_10;
#line 875 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_12;
#line 875 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_6_env_0__cont = mercury__list__cont;
#line 875 "list.m"
    (mercury__list__env).mercury__list__foldl5_12_p_6_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2644 "list.m"
    {
#line 2644 "list.m"
      MR_bool mercury__list__succeeded;

#line 2644 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2644 "list.m"
        {
#line 2644 "list.m"
          *((mercury__list__env).mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_E_12) = mercury__list__STATE_VARIABLE_E_0_11;
#line 2644 "list.m"
          *((mercury__list__env).mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_D_10) = mercury__list__STATE_VARIABLE_D_0_9;
#line 2644 "list.m"
          *((mercury__list__env).mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_C_8) = mercury__list__STATE_VARIABLE_C_0_7;
#line 2644 "list.m"
          *((mercury__list__env).mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_B_6) = mercury__list__STATE_VARIABLE_B_0_5;
#line 2644 "list.m"
          *((mercury__list__env).mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2644 "list.m"
          {
#line 2644 "list.m"
            ((mercury__list__env).mercury__list__foldl5_12_p_6_env_0__cont)((mercury__list__env).mercury__list__foldl5_12_p_6_env_0__cont_env_ptr);
#line 2644 "list.m"
            return;
          }
#line 2644 "list.m"
        }
#line 2644 "list.m"
      else
#line 2645 "list.m"
        {
#line 2645 "list.m"
          MR_Box mercury__list__H_30 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2646 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2645 "list.m"
          (mercury__list__env).mercury__list__foldl5_12_p_6_env_0__T_31 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2646 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__foldl5_12_p_6_env_0__P_1, (MR_Integer) 1)));
#line 2646 "list.m"
          {
#line 2646 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__foldl5_12_p_6_env_0__P_1), mercury__list__H_30, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_A_47_47, mercury__list__STATE_VARIABLE_B_0_5, &(mercury__list__env).mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_B_48_48, mercury__list__STATE_VARIABLE_C_0_7, &(mercury__list__env).mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_C_49_49, mercury__list__STATE_VARIABLE_D_0_9, &(mercury__list__env).mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_D_50_50, mercury__list__STATE_VARIABLE_E_0_11, &(mercury__list__env).mercury__list__foldl5_12_p_6_env_0__STATE_VARIABLE_E_51_51, mercury__list__foldl5_12_p_6_1, &mercury__list__env);
          }
#line 2645 "list.m"
        }
#line 2644 "list.m"
    }
#line 875 "list.m"
  }
#line 875 "list.m"
}

#line 872 "list.m"
MR_bool MR_CALL 
mercury__list__foldl5_12_p_5(
#line 872 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_57,
#line 872 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_58,
#line 872 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_59,
#line 872 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_60,
#line 872 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_61,
#line 872 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_62,
#line 872 "list.m"
  MR_Word mercury__list__P_1,
#line 872 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 872 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 872 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 872 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 872 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 872 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 872 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 872 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 872 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 872 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 872 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12)
#line 872 "list.m"
{
#line 2644 "list.m"
  while (MR_TRUE)
#line 2644 "list.m"
    {
#line 2644 "list.m"
      /* tailcall optimized into a loop */
#line 2644 "list.m"
      {
#line 2644 "list.m"
        MR_bool mercury__list__succeeded;

#line 2644 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2644 "list.m"
          {
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_0_11;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2644 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2644 "list.m"
          }
#line 2644 "list.m"
        else
#line 2645 "list.m"
          {
#line 2645 "list.m"
            MR_Box mercury__list__H_30 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2645 "list.m"
            MR_Word mercury__list__T_31 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_47_47;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_48_48;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_49_49;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_50_50;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_E_51_51;
#line 2646 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2646 "list.m"
            {
#line 2646 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_30, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_47_47, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_48_48, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_49_49, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_50_50, mercury__list__STATE_VARIABLE_E_0_11, &mercury__list__STATE_VARIABLE_E_51_51);
            }
#line 2645 "list.m"
            if (mercury__list__succeeded)
#line 2647 "list.m"
              {
#line 2647 "list.m"
                /* direct tailcall eliminated */
#line 2647 "list.m"
                {
#line 2647 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_31;
#line 2647 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_47_47;
#line 2647 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_48_48;
#line 2647 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_49_49;
#line 2647 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_50_50;
#line 2647 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_E_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_E_51_51;

#line 2647 "list.m"
                  mercury__list__STATE_VARIABLE_E_0_11 = mercury__list__STATE_VARIABLE_E_0__tmp_copy_11;
#line 2647 "list.m"
                  mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2647 "list.m"
                  mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2647 "list.m"
                  mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2647 "list.m"
                  mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2647 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2647 "list.m"
                }
#line 2647 "list.m"
                continue;
#line 2647 "list.m"
              }
#line 2645 "list.m"
          }
#line 2644 "list.m"
        return mercury__list__succeeded;
#line 2644 "list.m"
      }
#line 2644 "list.m"
      break;
#line 2644 "list.m"
    }
#line 872 "list.m"
}

#line 869 "list.m"
MR_bool MR_CALL 
mercury__list__foldl5_12_p_4(
#line 869 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_57,
#line 869 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_58,
#line 869 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_59,
#line 869 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_60,
#line 869 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_61,
#line 869 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_62,
#line 869 "list.m"
  MR_Word mercury__list__P_1,
#line 869 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 869 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 869 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 869 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 869 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 869 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 869 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 869 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 869 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 869 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 869 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12)
#line 869 "list.m"
{
#line 2644 "list.m"
  while (MR_TRUE)
#line 2644 "list.m"
    {
#line 2644 "list.m"
      /* tailcall optimized into a loop */
#line 2644 "list.m"
      {
#line 2644 "list.m"
        MR_bool mercury__list__succeeded;

#line 2644 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2644 "list.m"
          {
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_0_11;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2644 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2644 "list.m"
          }
#line 2644 "list.m"
        else
#line 2645 "list.m"
          {
#line 2645 "list.m"
            MR_Box mercury__list__H_30 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2645 "list.m"
            MR_Word mercury__list__T_31 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_47_47;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_48_48;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_49_49;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_50_50;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_E_51_51;
#line 2646 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2646 "list.m"
            {
#line 2646 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_30, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_47_47, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_48_48, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_49_49, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_50_50, mercury__list__STATE_VARIABLE_E_0_11, &mercury__list__STATE_VARIABLE_E_51_51);
            }
#line 2645 "list.m"
            if (mercury__list__succeeded)
#line 2647 "list.m"
              {
#line 2647 "list.m"
                /* direct tailcall eliminated */
#line 2647 "list.m"
                {
#line 2647 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_31;
#line 2647 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_47_47;
#line 2647 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_48_48;
#line 2647 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_49_49;
#line 2647 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_50_50;
#line 2647 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_E_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_E_51_51;

#line 2647 "list.m"
                  mercury__list__STATE_VARIABLE_E_0_11 = mercury__list__STATE_VARIABLE_E_0__tmp_copy_11;
#line 2647 "list.m"
                  mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2647 "list.m"
                  mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2647 "list.m"
                  mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2647 "list.m"
                  mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2647 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2647 "list.m"
                }
#line 2647 "list.m"
                continue;
#line 2647 "list.m"
              }
#line 2645 "list.m"
          }
#line 2644 "list.m"
        return mercury__list__succeeded;
#line 2644 "list.m"
      }
#line 2644 "list.m"
      break;
#line 2644 "list.m"
    }
#line 869 "list.m"
}

#line 866 "list.m"
MR_bool MR_CALL 
mercury__list__foldl5_12_p_3(
#line 866 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_57,
#line 866 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_58,
#line 866 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_59,
#line 866 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_60,
#line 866 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_61,
#line 866 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_62,
#line 866 "list.m"
  MR_Word mercury__list__P_1,
#line 866 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 866 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 866 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 866 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 866 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 866 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 866 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 866 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 866 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 866 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 866 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12)
#line 866 "list.m"
{
#line 2644 "list.m"
  while (MR_TRUE)
#line 2644 "list.m"
    {
#line 2644 "list.m"
      /* tailcall optimized into a loop */
#line 2644 "list.m"
      {
#line 2644 "list.m"
        MR_bool mercury__list__succeeded;

#line 2644 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2644 "list.m"
          {
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_0_11;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2644 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2644 "list.m"
          }
#line 2644 "list.m"
        else
#line 2645 "list.m"
          {
#line 2645 "list.m"
            MR_Box mercury__list__H_30 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2645 "list.m"
            MR_Word mercury__list__T_31 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_47_47;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_48_48;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_49_49;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_50_50;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_E_51_51;
#line 2646 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2646 "list.m"
            {
#line 2646 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_30, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_47_47, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_48_48, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_49_49, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_50_50, mercury__list__STATE_VARIABLE_E_0_11, &mercury__list__STATE_VARIABLE_E_51_51);
            }
#line 2645 "list.m"
            if (mercury__list__succeeded)
#line 2647 "list.m"
              {
#line 2647 "list.m"
                /* direct tailcall eliminated */
#line 2647 "list.m"
                {
#line 2647 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_31;
#line 2647 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_47_47;
#line 2647 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_48_48;
#line 2647 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_49_49;
#line 2647 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_50_50;
#line 2647 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_E_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_E_51_51;

#line 2647 "list.m"
                  mercury__list__STATE_VARIABLE_E_0_11 = mercury__list__STATE_VARIABLE_E_0__tmp_copy_11;
#line 2647 "list.m"
                  mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2647 "list.m"
                  mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2647 "list.m"
                  mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2647 "list.m"
                  mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2647 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2647 "list.m"
                }
#line 2647 "list.m"
                continue;
#line 2647 "list.m"
              }
#line 2645 "list.m"
          }
#line 2644 "list.m"
        return mercury__list__succeeded;
#line 2644 "list.m"
      }
#line 2644 "list.m"
      break;
#line 2644 "list.m"
    }
#line 866 "list.m"
}

#line 863 "list.m"
void MR_CALL 
mercury__list__foldl5_12_p_2(
#line 863 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_57,
#line 863 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_58,
#line 863 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_59,
#line 863 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_60,
#line 863 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_61,
#line 863 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_62,
#line 863 "list.m"
  MR_Word mercury__list__P_1,
#line 863 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 863 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 863 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 863 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 863 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 863 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 863 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 863 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 863 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 863 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 863 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12)
#line 863 "list.m"
{
#line 2644 "list.m"
  while (MR_TRUE)
#line 2644 "list.m"
    {
#line 2644 "list.m"
      /* tailcall optimized into a loop */
#line 2644 "list.m"
      {
#line 2644 "list.m"
        MR_bool mercury__list__succeeded;

#line 2644 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2644 "list.m"
          {
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_0_11;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2644 "list.m"
          }
#line 2644 "list.m"
        else
#line 2645 "list.m"
          {
#line 2645 "list.m"
            MR_Box mercury__list__H_30 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2645 "list.m"
            MR_Word mercury__list__T_31 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_47_47;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_48_48;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_49_49;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_50_50;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_E_51_51;
#line 2646 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2646 "list.m"
            {
#line 2646 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_30, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_47_47, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_48_48, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_49_49, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_50_50, mercury__list__STATE_VARIABLE_E_0_11, &mercury__list__STATE_VARIABLE_E_51_51);
            }
#line 2647 "list.m"
            /* direct tailcall eliminated */
#line 2647 "list.m"
            {
#line 2647 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_31;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_47_47;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_48_48;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_49_49;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_50_50;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_E_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_E_51_51;

#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_E_0_11 = mercury__list__STATE_VARIABLE_E_0__tmp_copy_11;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2647 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2647 "list.m"
            }
#line 2647 "list.m"
            continue;
#line 2645 "list.m"
          }
#line 2644 "list.m"
      }
#line 2644 "list.m"
      break;
#line 2644 "list.m"
    }
#line 863 "list.m"
}

#line 860 "list.m"
void MR_CALL 
mercury__list__foldl5_12_p_1(
#line 860 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_57,
#line 860 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_58,
#line 860 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_59,
#line 860 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_60,
#line 860 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_61,
#line 860 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_62,
#line 860 "list.m"
  MR_Word mercury__list__P_1,
#line 860 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 860 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 860 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 860 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 860 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 860 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 860 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 860 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 860 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 860 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 860 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12)
#line 860 "list.m"
{
#line 2644 "list.m"
  while (MR_TRUE)
#line 2644 "list.m"
    {
#line 2644 "list.m"
      /* tailcall optimized into a loop */
#line 2644 "list.m"
      {
#line 2644 "list.m"
        MR_bool mercury__list__succeeded;

#line 2644 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2644 "list.m"
          {
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_0_11;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2644 "list.m"
          }
#line 2644 "list.m"
        else
#line 2645 "list.m"
          {
#line 2645 "list.m"
            MR_Box mercury__list__H_30 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2645 "list.m"
            MR_Word mercury__list__T_31 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_47_47;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_48_48;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_49_49;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_50_50;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_E_51_51;
#line 2646 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2646 "list.m"
            {
#line 2646 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_30, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_47_47, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_48_48, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_49_49, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_50_50, mercury__list__STATE_VARIABLE_E_0_11, &mercury__list__STATE_VARIABLE_E_51_51);
            }
#line 2647 "list.m"
            /* direct tailcall eliminated */
#line 2647 "list.m"
            {
#line 2647 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_31;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_47_47;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_48_48;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_49_49;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_50_50;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_E_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_E_51_51;

#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_E_0_11 = mercury__list__STATE_VARIABLE_E_0__tmp_copy_11;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2647 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2647 "list.m"
            }
#line 2647 "list.m"
            continue;
#line 2645 "list.m"
          }
#line 2644 "list.m"
      }
#line 2644 "list.m"
      break;
#line 2644 "list.m"
    }
#line 860 "list.m"
}

#line 857 "list.m"
void MR_CALL 
mercury__list__foldl5_12_p_0(
#line 857 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_57,
#line 857 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_58,
#line 857 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_59,
#line 857 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_60,
#line 857 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_61,
#line 857 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_62,
#line 857 "list.m"
  MR_Word mercury__list__P_1,
#line 857 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 857 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 857 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 857 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 857 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 857 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 857 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 857 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 857 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 857 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_E_0_11,
#line 857 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_E_12)
#line 857 "list.m"
{
#line 2644 "list.m"
  while (MR_TRUE)
#line 2644 "list.m"
    {
#line 2644 "list.m"
      /* tailcall optimized into a loop */
#line 2644 "list.m"
      {
#line 2644 "list.m"
        MR_bool mercury__list__succeeded;

#line 2644 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2644 "list.m"
          {
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_E_12 = mercury__list__STATE_VARIABLE_E_0_11;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2644 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2644 "list.m"
          }
#line 2644 "list.m"
        else
#line 2645 "list.m"
          {
#line 2645 "list.m"
            MR_Box mercury__list__H_30 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2645 "list.m"
            MR_Word mercury__list__T_31 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_47_47;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_48_48;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_49_49;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_50_50;
#line 2645 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_E_51_51;
#line 2646 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2646 "list.m"
            {
#line 2646 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_30, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_47_47, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_48_48, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_49_49, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_50_50, mercury__list__STATE_VARIABLE_E_0_11, &mercury__list__STATE_VARIABLE_E_51_51);
            }
#line 2647 "list.m"
            /* direct tailcall eliminated */
#line 2647 "list.m"
            {
#line 2647 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_31;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_47_47;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_48_48;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_49_49;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_50_50;
#line 2647 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_E_0__tmp_copy_11 = mercury__list__STATE_VARIABLE_E_51_51;

#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_E_0_11 = mercury__list__STATE_VARIABLE_E_0__tmp_copy_11;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2647 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2647 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2647 "list.m"
            }
#line 2647 "list.m"
            continue;
#line 2645 "list.m"
          }
#line 2644 "list.m"
      }
#line 2644 "list.m"
      break;
#line 2644 "list.m"
    }
#line 857 "list.m"
}

#line 2640 "list.m"
static void MR_CALL 
mercury__list__foldl4_10_p_9_1(
#line 2640 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2640 "list.m"
{
#line 2640 "list.m"
  {
#line 2640 "list.m"
    struct mercury__list__foldl4_10_p_9_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldl4_10_p_9_env_0_s *) mercury__list__env_ptr_arg;

#line 2642 "list.m"
    {
#line 2642 "list.m"
      mercury__list__foldl4_10_p_9((mercury__list__env_ptr)->mercury__list__foldl4_10_p_9_env_0__TypeInfo_for_L_47, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_9_env_0__TypeInfo_for_A_48, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_9_env_0__TypeInfo_for_B_49, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_9_env_0__TypeInfo_for_C_50, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_9_env_0__TypeInfo_for_D_51, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_9_env_0__P_1, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_9_env_0__T_26, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_A_39_39, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_B_40_40, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_B_6, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_C_41_41, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_C_8, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_D_42_42, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_D_10, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_9_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_9_env_0__cont_env_ptr);
#line 2642 "list.m"
      return;
    }
#line 2640 "list.m"
  }
#line 2640 "list.m"
}

#line 847 "list.m"
void MR_CALL 
mercury__list__foldl4_10_p_9(
#line 847 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_47,
#line 847 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_48,
#line 847 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_49,
#line 847 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_50,
#line 847 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_51,
#line 847 "list.m"
  MR_Word mercury__list__P_1,
#line 847 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 847 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 847 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 847 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 847 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 847 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 847 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 847 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 847 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 847 "list.m"
  MR_Cont mercury__list__cont,
#line 847 "list.m"
  void * mercury__list__cont_env_ptr)
#line 847 "list.m"
{
#line 847 "list.m"
  {
#line 847 "list.m"
    struct mercury__list__foldl4_10_p_9_env_0_s mercury__list__env;

#line 847 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_9_env_0__TypeInfo_for_L_47 = mercury__list__TypeInfo_for_L_47;
#line 847 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_9_env_0__TypeInfo_for_A_48 = mercury__list__TypeInfo_for_A_48;
#line 847 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_9_env_0__TypeInfo_for_B_49 = mercury__list__TypeInfo_for_B_49;
#line 847 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_9_env_0__TypeInfo_for_C_50 = mercury__list__TypeInfo_for_C_50;
#line 847 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_9_env_0__TypeInfo_for_D_51 = mercury__list__TypeInfo_for_D_51;
#line 847 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_9_env_0__P_1 = mercury__list__P_1;
#line 847 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 847 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_6;
#line 847 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_8;
#line 847 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_10;
#line 847 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_9_env_0__cont = mercury__list__cont;
#line 847 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_9_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2639 "list.m"
    {
#line 2639 "list.m"
      MR_bool mercury__list__succeeded;

#line 2639 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2639 "list.m"
        {
#line 2639 "list.m"
          *((mercury__list__env).mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_D_10) = mercury__list__STATE_VARIABLE_D_0_9;
#line 2639 "list.m"
          *((mercury__list__env).mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_C_8) = mercury__list__STATE_VARIABLE_C_0_7;
#line 2639 "list.m"
          *((mercury__list__env).mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_B_6) = mercury__list__STATE_VARIABLE_B_0_5;
#line 2639 "list.m"
          *((mercury__list__env).mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2639 "list.m"
          {
#line 2639 "list.m"
            ((mercury__list__env).mercury__list__foldl4_10_p_9_env_0__cont)((mercury__list__env).mercury__list__foldl4_10_p_9_env_0__cont_env_ptr);
#line 2639 "list.m"
            return;
          }
#line 2639 "list.m"
        }
#line 2639 "list.m"
      else
#line 2640 "list.m"
        {
#line 2640 "list.m"
          MR_Box mercury__list__H_25 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2641 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2640 "list.m"
          (mercury__list__env).mercury__list__foldl4_10_p_9_env_0__T_26 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2641 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__foldl4_10_p_9_env_0__P_1, (MR_Integer) 1)));
#line 2641 "list.m"
          {
#line 2641 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__foldl4_10_p_9_env_0__P_1), mercury__list__H_25, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_A_39_39, mercury__list__STATE_VARIABLE_B_0_5, &(mercury__list__env).mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_B_40_40, mercury__list__STATE_VARIABLE_C_0_7, &(mercury__list__env).mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_C_41_41, mercury__list__STATE_VARIABLE_D_0_9, &(mercury__list__env).mercury__list__foldl4_10_p_9_env_0__STATE_VARIABLE_D_42_42, mercury__list__foldl4_10_p_9_1, &mercury__list__env);
          }
#line 2640 "list.m"
        }
#line 2639 "list.m"
    }
#line 847 "list.m"
  }
#line 847 "list.m"
}

#line 2640 "list.m"
static void MR_CALL 
mercury__list__foldl4_10_p_8_1(
#line 2640 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2640 "list.m"
{
#line 2640 "list.m"
  {
#line 2640 "list.m"
    struct mercury__list__foldl4_10_p_8_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldl4_10_p_8_env_0_s *) mercury__list__env_ptr_arg;

#line 2642 "list.m"
    {
#line 2642 "list.m"
      mercury__list__foldl4_10_p_8((mercury__list__env_ptr)->mercury__list__foldl4_10_p_8_env_0__TypeInfo_for_L_47, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_8_env_0__TypeInfo_for_A_48, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_8_env_0__TypeInfo_for_B_49, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_8_env_0__TypeInfo_for_C_50, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_8_env_0__TypeInfo_for_D_51, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_8_env_0__P_1, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_8_env_0__T_26, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_A_39_39, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_B_40_40, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_B_6, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_C_41_41, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_C_8, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_D_42_42, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_D_10, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_8_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldl4_10_p_8_env_0__cont_env_ptr);
#line 2642 "list.m"
      return;
    }
#line 2640 "list.m"
  }
#line 2640 "list.m"
}

#line 845 "list.m"
void MR_CALL 
mercury__list__foldl4_10_p_8(
#line 845 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_47,
#line 845 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_48,
#line 845 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_49,
#line 845 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_50,
#line 845 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_51,
#line 845 "list.m"
  MR_Word mercury__list__P_1,
#line 845 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 845 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 845 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 845 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 845 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 845 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 845 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 845 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 845 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10,
#line 845 "list.m"
  MR_Cont mercury__list__cont,
#line 845 "list.m"
  void * mercury__list__cont_env_ptr)
#line 845 "list.m"
{
#line 845 "list.m"
  {
#line 845 "list.m"
    struct mercury__list__foldl4_10_p_8_env_0_s mercury__list__env;

#line 845 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_8_env_0__TypeInfo_for_L_47 = mercury__list__TypeInfo_for_L_47;
#line 845 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_8_env_0__TypeInfo_for_A_48 = mercury__list__TypeInfo_for_A_48;
#line 845 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_8_env_0__TypeInfo_for_B_49 = mercury__list__TypeInfo_for_B_49;
#line 845 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_8_env_0__TypeInfo_for_C_50 = mercury__list__TypeInfo_for_C_50;
#line 845 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_8_env_0__TypeInfo_for_D_51 = mercury__list__TypeInfo_for_D_51;
#line 845 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_8_env_0__P_1 = mercury__list__P_1;
#line 845 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 845 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_6;
#line 845 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_8;
#line 845 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_10;
#line 845 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_8_env_0__cont = mercury__list__cont;
#line 845 "list.m"
    (mercury__list__env).mercury__list__foldl4_10_p_8_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2639 "list.m"
    {
#line 2639 "list.m"
      MR_bool mercury__list__succeeded;

#line 2639 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2639 "list.m"
        {
#line 2639 "list.m"
          *((mercury__list__env).mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_D_10) = mercury__list__STATE_VARIABLE_D_0_9;
#line 2639 "list.m"
          *((mercury__list__env).mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_C_8) = mercury__list__STATE_VARIABLE_C_0_7;
#line 2639 "list.m"
          *((mercury__list__env).mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_B_6) = mercury__list__STATE_VARIABLE_B_0_5;
#line 2639 "list.m"
          *((mercury__list__env).mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2639 "list.m"
          {
#line 2639 "list.m"
            ((mercury__list__env).mercury__list__foldl4_10_p_8_env_0__cont)((mercury__list__env).mercury__list__foldl4_10_p_8_env_0__cont_env_ptr);
#line 2639 "list.m"
            return;
          }
#line 2639 "list.m"
        }
#line 2639 "list.m"
      else
#line 2640 "list.m"
        {
#line 2640 "list.m"
          MR_Box mercury__list__H_25 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2641 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2640 "list.m"
          (mercury__list__env).mercury__list__foldl4_10_p_8_env_0__T_26 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2641 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__foldl4_10_p_8_env_0__P_1, (MR_Integer) 1)));
#line 2641 "list.m"
          {
#line 2641 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__foldl4_10_p_8_env_0__P_1), mercury__list__H_25, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_A_39_39, mercury__list__STATE_VARIABLE_B_0_5, &(mercury__list__env).mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_B_40_40, mercury__list__STATE_VARIABLE_C_0_7, &(mercury__list__env).mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_C_41_41, mercury__list__STATE_VARIABLE_D_0_9, &(mercury__list__env).mercury__list__foldl4_10_p_8_env_0__STATE_VARIABLE_D_42_42, mercury__list__foldl4_10_p_8_1, &mercury__list__env);
          }
#line 2640 "list.m"
        }
#line 2639 "list.m"
    }
#line 845 "list.m"
  }
#line 845 "list.m"
}

#line 843 "list.m"
MR_bool MR_CALL 
mercury__list__foldl4_10_p_7(
#line 843 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_47,
#line 843 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_48,
#line 843 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_49,
#line 843 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_50,
#line 843 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_51,
#line 843 "list.m"
  MR_Word mercury__list__P_1,
#line 843 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 843 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 843 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 843 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 843 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 843 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 843 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 843 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 843 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10)
#line 843 "list.m"
{
#line 2639 "list.m"
  while (MR_TRUE)
#line 2639 "list.m"
    {
#line 2639 "list.m"
      /* tailcall optimized into a loop */
#line 2639 "list.m"
      {
#line 2639 "list.m"
        MR_bool mercury__list__succeeded;

#line 2639 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2639 "list.m"
          {
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2639 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2639 "list.m"
          }
#line 2639 "list.m"
        else
#line 2640 "list.m"
          {
#line 2640 "list.m"
            MR_Box mercury__list__H_25 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2640 "list.m"
            MR_Word mercury__list__T_26 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_39_39;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_40_40;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_41_41;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_42_42;
#line 2641 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2641 "list.m"
            {
#line 2641 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_25, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_39_39, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_40_40, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_41_41, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_42_42);
            }
#line 2640 "list.m"
            if (mercury__list__succeeded)
#line 2642 "list.m"
              {
#line 2642 "list.m"
                /* direct tailcall eliminated */
#line 2642 "list.m"
                {
#line 2642 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_26;
#line 2642 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_39_39;
#line 2642 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_40_40;
#line 2642 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_41_41;
#line 2642 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_42_42;

#line 2642 "list.m"
                  mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2642 "list.m"
                  mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2642 "list.m"
                  mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2642 "list.m"
                  mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2642 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2642 "list.m"
                }
#line 2642 "list.m"
                continue;
#line 2642 "list.m"
              }
#line 2640 "list.m"
          }
#line 2639 "list.m"
        return mercury__list__succeeded;
#line 2639 "list.m"
      }
#line 2639 "list.m"
      break;
#line 2639 "list.m"
    }
#line 843 "list.m"
}

#line 841 "list.m"
MR_bool MR_CALL 
mercury__list__foldl4_10_p_6(
#line 841 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_47,
#line 841 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_48,
#line 841 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_49,
#line 841 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_50,
#line 841 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_51,
#line 841 "list.m"
  MR_Word mercury__list__P_1,
#line 841 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 841 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 841 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 841 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 841 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 841 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 841 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 841 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 841 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10)
#line 841 "list.m"
{
#line 2639 "list.m"
  while (MR_TRUE)
#line 2639 "list.m"
    {
#line 2639 "list.m"
      /* tailcall optimized into a loop */
#line 2639 "list.m"
      {
#line 2639 "list.m"
        MR_bool mercury__list__succeeded;

#line 2639 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2639 "list.m"
          {
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2639 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2639 "list.m"
          }
#line 2639 "list.m"
        else
#line 2640 "list.m"
          {
#line 2640 "list.m"
            MR_Box mercury__list__H_25 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2640 "list.m"
            MR_Word mercury__list__T_26 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_39_39;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_40_40;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_41_41;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_42_42;
#line 2641 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2641 "list.m"
            {
#line 2641 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_25, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_39_39, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_40_40, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_41_41, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_42_42);
            }
#line 2640 "list.m"
            if (mercury__list__succeeded)
#line 2642 "list.m"
              {
#line 2642 "list.m"
                /* direct tailcall eliminated */
#line 2642 "list.m"
                {
#line 2642 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_26;
#line 2642 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_39_39;
#line 2642 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_40_40;
#line 2642 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_41_41;
#line 2642 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_42_42;

#line 2642 "list.m"
                  mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2642 "list.m"
                  mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2642 "list.m"
                  mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2642 "list.m"
                  mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2642 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2642 "list.m"
                }
#line 2642 "list.m"
                continue;
#line 2642 "list.m"
              }
#line 2640 "list.m"
          }
#line 2639 "list.m"
        return mercury__list__succeeded;
#line 2639 "list.m"
      }
#line 2639 "list.m"
      break;
#line 2639 "list.m"
    }
#line 841 "list.m"
}

#line 839 "list.m"
MR_bool MR_CALL 
mercury__list__foldl4_10_p_5(
#line 839 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_47,
#line 839 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_48,
#line 839 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_49,
#line 839 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_50,
#line 839 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_51,
#line 839 "list.m"
  MR_Word mercury__list__P_1,
#line 839 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 839 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 839 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 839 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 839 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 839 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 839 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 839 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 839 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10)
#line 839 "list.m"
{
#line 2639 "list.m"
  while (MR_TRUE)
#line 2639 "list.m"
    {
#line 2639 "list.m"
      /* tailcall optimized into a loop */
#line 2639 "list.m"
      {
#line 2639 "list.m"
        MR_bool mercury__list__succeeded;

#line 2639 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2639 "list.m"
          {
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2639 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2639 "list.m"
          }
#line 2639 "list.m"
        else
#line 2640 "list.m"
          {
#line 2640 "list.m"
            MR_Box mercury__list__H_25 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2640 "list.m"
            MR_Word mercury__list__T_26 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_39_39;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_40_40;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_41_41;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_42_42;
#line 2641 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2641 "list.m"
            {
#line 2641 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_25, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_39_39, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_40_40, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_41_41, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_42_42);
            }
#line 2640 "list.m"
            if (mercury__list__succeeded)
#line 2642 "list.m"
              {
#line 2642 "list.m"
                /* direct tailcall eliminated */
#line 2642 "list.m"
                {
#line 2642 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_26;
#line 2642 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_39_39;
#line 2642 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_40_40;
#line 2642 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_41_41;
#line 2642 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_42_42;

#line 2642 "list.m"
                  mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2642 "list.m"
                  mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2642 "list.m"
                  mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2642 "list.m"
                  mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2642 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2642 "list.m"
                }
#line 2642 "list.m"
                continue;
#line 2642 "list.m"
              }
#line 2640 "list.m"
          }
#line 2639 "list.m"
        return mercury__list__succeeded;
#line 2639 "list.m"
      }
#line 2639 "list.m"
      break;
#line 2639 "list.m"
    }
#line 839 "list.m"
}

#line 837 "list.m"
void MR_CALL 
mercury__list__foldl4_10_p_4(
#line 837 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_47,
#line 837 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_48,
#line 837 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_49,
#line 837 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_50,
#line 837 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_51,
#line 837 "list.m"
  MR_Word mercury__list__P_1,
#line 837 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 837 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 837 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 837 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 837 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 837 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 837 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 837 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 837 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10)
#line 837 "list.m"
{
#line 2639 "list.m"
  while (MR_TRUE)
#line 2639 "list.m"
    {
#line 2639 "list.m"
      /* tailcall optimized into a loop */
#line 2639 "list.m"
      {
#line 2639 "list.m"
        MR_bool mercury__list__succeeded;

#line 2639 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2639 "list.m"
          {
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2639 "list.m"
          }
#line 2639 "list.m"
        else
#line 2640 "list.m"
          {
#line 2640 "list.m"
            MR_Box mercury__list__H_25 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2640 "list.m"
            MR_Word mercury__list__T_26 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_39_39;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_40_40;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_41_41;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_42_42;
#line 2641 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2641 "list.m"
            {
#line 2641 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_25, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_39_39, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_40_40, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_41_41, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_42_42);
            }
#line 2642 "list.m"
            /* direct tailcall eliminated */
#line 2642 "list.m"
            {
#line 2642 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_26;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_39_39;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_40_40;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_41_41;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_42_42;

#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2642 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2642 "list.m"
            }
#line 2642 "list.m"
            continue;
#line 2640 "list.m"
          }
#line 2639 "list.m"
      }
#line 2639 "list.m"
      break;
#line 2639 "list.m"
    }
#line 837 "list.m"
}

#line 835 "list.m"
void MR_CALL 
mercury__list__foldl4_10_p_3(
#line 835 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_47,
#line 835 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_48,
#line 835 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_49,
#line 835 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_50,
#line 835 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_51,
#line 835 "list.m"
  MR_Word mercury__list__P_1,
#line 835 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 835 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 835 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 835 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 835 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 835 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 835 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 835 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 835 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10)
#line 835 "list.m"
{
#line 2639 "list.m"
  while (MR_TRUE)
#line 2639 "list.m"
    {
#line 2639 "list.m"
      /* tailcall optimized into a loop */
#line 2639 "list.m"
      {
#line 2639 "list.m"
        MR_bool mercury__list__succeeded;

#line 2639 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2639 "list.m"
          {
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2639 "list.m"
          }
#line 2639 "list.m"
        else
#line 2640 "list.m"
          {
#line 2640 "list.m"
            MR_Box mercury__list__H_25 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2640 "list.m"
            MR_Word mercury__list__T_26 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_39_39;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_40_40;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_41_41;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_42_42;
#line 2641 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2641 "list.m"
            {
#line 2641 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_25, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_39_39, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_40_40, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_41_41, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_42_42);
            }
#line 2642 "list.m"
            /* direct tailcall eliminated */
#line 2642 "list.m"
            {
#line 2642 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_26;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_39_39;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_40_40;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_41_41;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_42_42;

#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2642 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2642 "list.m"
            }
#line 2642 "list.m"
            continue;
#line 2640 "list.m"
          }
#line 2639 "list.m"
      }
#line 2639 "list.m"
      break;
#line 2639 "list.m"
    }
#line 835 "list.m"
}

#line 833 "list.m"
void MR_CALL 
mercury__list__foldl4_10_p_2(
#line 833 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_47,
#line 833 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_48,
#line 833 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_49,
#line 833 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_50,
#line 833 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_51,
#line 833 "list.m"
  MR_Word mercury__list__P_1,
#line 833 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 833 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 833 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 833 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 833 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 833 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 833 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 833 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 833 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10)
#line 833 "list.m"
{
#line 2639 "list.m"
  while (MR_TRUE)
#line 2639 "list.m"
    {
#line 2639 "list.m"
      /* tailcall optimized into a loop */
#line 2639 "list.m"
      {
#line 2639 "list.m"
        MR_bool mercury__list__succeeded;

#line 2639 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2639 "list.m"
          {
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2639 "list.m"
          }
#line 2639 "list.m"
        else
#line 2640 "list.m"
          {
#line 2640 "list.m"
            MR_Box mercury__list__H_25 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2640 "list.m"
            MR_Word mercury__list__T_26 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_39_39;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_40_40;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_41_41;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_42_42;
#line 2641 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2641 "list.m"
            {
#line 2641 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_25, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_39_39, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_40_40, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_41_41, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_42_42);
            }
#line 2642 "list.m"
            /* direct tailcall eliminated */
#line 2642 "list.m"
            {
#line 2642 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_26;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_39_39;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_40_40;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_41_41;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_42_42;

#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2642 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2642 "list.m"
            }
#line 2642 "list.m"
            continue;
#line 2640 "list.m"
          }
#line 2639 "list.m"
      }
#line 2639 "list.m"
      break;
#line 2639 "list.m"
    }
#line 833 "list.m"
}

#line 831 "list.m"
void MR_CALL 
mercury__list__foldl4_10_p_1(
#line 831 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_47,
#line 831 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_48,
#line 831 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_49,
#line 831 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_50,
#line 831 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_51,
#line 831 "list.m"
  MR_Word mercury__list__P_1,
#line 831 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 831 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 831 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 831 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 831 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 831 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 831 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 831 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 831 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10)
#line 831 "list.m"
{
#line 2639 "list.m"
  while (MR_TRUE)
#line 2639 "list.m"
    {
#line 2639 "list.m"
      /* tailcall optimized into a loop */
#line 2639 "list.m"
      {
#line 2639 "list.m"
        MR_bool mercury__list__succeeded;

#line 2639 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2639 "list.m"
          {
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2639 "list.m"
          }
#line 2639 "list.m"
        else
#line 2640 "list.m"
          {
#line 2640 "list.m"
            MR_Box mercury__list__H_25 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2640 "list.m"
            MR_Word mercury__list__T_26 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_39_39;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_40_40;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_41_41;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_42_42;
#line 2641 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2641 "list.m"
            {
#line 2641 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_25, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_39_39, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_40_40, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_41_41, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_42_42);
            }
#line 2642 "list.m"
            /* direct tailcall eliminated */
#line 2642 "list.m"
            {
#line 2642 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_26;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_39_39;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_40_40;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_41_41;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_42_42;

#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2642 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2642 "list.m"
            }
#line 2642 "list.m"
            continue;
#line 2640 "list.m"
          }
#line 2639 "list.m"
      }
#line 2639 "list.m"
      break;
#line 2639 "list.m"
    }
#line 831 "list.m"
}

#line 829 "list.m"
void MR_CALL 
mercury__list__foldl4_10_p_0(
#line 829 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_47,
#line 829 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_48,
#line 829 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_49,
#line 829 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_50,
#line 829 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_51,
#line 829 "list.m"
  MR_Word mercury__list__P_1,
#line 829 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 829 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 829 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 829 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 829 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 829 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 829 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 829 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_D_0_9,
#line 829 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_D_10)
#line 829 "list.m"
{
#line 2639 "list.m"
  while (MR_TRUE)
#line 2639 "list.m"
    {
#line 2639 "list.m"
      /* tailcall optimized into a loop */
#line 2639 "list.m"
      {
#line 2639 "list.m"
        MR_bool mercury__list__succeeded;

#line 2639 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2639 "list.m"
          {
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_D_10 = mercury__list__STATE_VARIABLE_D_0_9;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2639 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2639 "list.m"
          }
#line 2639 "list.m"
        else
#line 2640 "list.m"
          {
#line 2640 "list.m"
            MR_Box mercury__list__H_25 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2640 "list.m"
            MR_Word mercury__list__T_26 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_39_39;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_40_40;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_41_41;
#line 2640 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_D_42_42;
#line 2641 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2641 "list.m"
            {
#line 2641 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_25, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_39_39, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_40_40, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_41_41, mercury__list__STATE_VARIABLE_D_0_9, &mercury__list__STATE_VARIABLE_D_42_42);
            }
#line 2642 "list.m"
            /* direct tailcall eliminated */
#line 2642 "list.m"
            {
#line 2642 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_26;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_39_39;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_40_40;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_41_41;
#line 2642 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_D_0__tmp_copy_9 = mercury__list__STATE_VARIABLE_D_42_42;

#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_D_0_9 = mercury__list__STATE_VARIABLE_D_0__tmp_copy_9;
#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2642 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2642 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2642 "list.m"
            }
#line 2642 "list.m"
            continue;
#line 2640 "list.m"
          }
#line 2639 "list.m"
      }
#line 2639 "list.m"
      break;
#line 2639 "list.m"
    }
#line 829 "list.m"
}

#line 819 "list.m"
void MR_CALL 
mercury__list__foldl3_8_p_9(
#line 819 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_37,
#line 819 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_38,
#line 819 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_39,
#line 819 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_40,
#line 819 "list.m"
  MR_Word mercury__list__P_1,
#line 819 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 819 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 819 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 819 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 819 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 819 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 819 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8)
#line 819 "list.m"
{
#line 2634 "list.m"
  while (MR_TRUE)
#line 2634 "list.m"
    {
#line 2634 "list.m"
      /* tailcall optimized into a loop */
#line 2634 "list.m"
      {
#line 2634 "list.m"
        MR_bool mercury__list__succeeded;

#line 2634 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2634 "list.m"
          {
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2634 "list.m"
          }
#line 2634 "list.m"
        else
#line 2635 "list.m"
          {
#line 2635 "list.m"
            MR_Box mercury__list__H_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2635 "list.m"
            MR_Word mercury__list__T_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_31_31;
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_32_32;
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_33_33;
#line 2636 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2636 "list.m"
            {
#line 2636 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_20, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_33_33);
            }
#line 2637 "list.m"
            /* direct tailcall eliminated */
#line 2637 "list.m"
            {
#line 2637 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_21;
#line 2637 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_31_31;
#line 2637 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_32_32;
#line 2637 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_33_33;

#line 2637 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2637 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2637 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2637 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2637 "list.m"
            }
#line 2637 "list.m"
            continue;
#line 2635 "list.m"
          }
#line 2634 "list.m"
      }
#line 2634 "list.m"
      break;
#line 2634 "list.m"
    }
#line 819 "list.m"
}

#line 817 "list.m"
void MR_CALL 
mercury__list__foldl3_8_p_8(
#line 817 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_37,
#line 817 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_38,
#line 817 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_39,
#line 817 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_40,
#line 817 "list.m"
  MR_Word mercury__list__P_1,
#line 817 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 817 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 817 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 817 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 817 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 817 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 817 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8)
#line 817 "list.m"
{
#line 2634 "list.m"
  while (MR_TRUE)
#line 2634 "list.m"
    {
#line 2634 "list.m"
      /* tailcall optimized into a loop */
#line 2634 "list.m"
      {
#line 2634 "list.m"
        MR_bool mercury__list__succeeded;

#line 2634 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2634 "list.m"
          {
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2634 "list.m"
          }
#line 2634 "list.m"
        else
#line 2635 "list.m"
          {
#line 2635 "list.m"
            MR_Box mercury__list__H_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2635 "list.m"
            MR_Word mercury__list__T_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_31_31;
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_32_32;
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_33_33;
#line 2636 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2636 "list.m"
            {
#line 2636 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_20, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_33_33);
            }
#line 2637 "list.m"
            /* direct tailcall eliminated */
#line 2637 "list.m"
            {
#line 2637 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_21;
#line 2637 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_31_31;
#line 2637 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_32_32;
#line 2637 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_33_33;

#line 2637 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2637 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2637 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2637 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2637 "list.m"
            }
#line 2637 "list.m"
            continue;
#line 2635 "list.m"
          }
#line 2634 "list.m"
      }
#line 2634 "list.m"
      break;
#line 2634 "list.m"
    }
#line 817 "list.m"
}

#line 2635 "list.m"
static void MR_CALL 
mercury__list__foldl3_8_p_7_1(
#line 2635 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2635 "list.m"
{
#line 2635 "list.m"
  {
#line 2635 "list.m"
    struct mercury__list__foldl3_8_p_7_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldl3_8_p_7_env_0_s *) mercury__list__env_ptr_arg;

#line 2637 "list.m"
    {
#line 2637 "list.m"
      mercury__list__foldl3_8_p_7((mercury__list__env_ptr)->mercury__list__foldl3_8_p_7_env_0__TypeInfo_for_L_37, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_7_env_0__TypeInfo_for_A_38, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_7_env_0__TypeInfo_for_B_39, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_7_env_0__TypeInfo_for_C_40, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_7_env_0__P_1, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_7_env_0__T_21, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_A_31_31, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_B_32_32, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_B_6, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_C_33_33, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_C_8, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_7_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_7_env_0__cont_env_ptr);
#line 2637 "list.m"
      return;
    }
#line 2635 "list.m"
  }
#line 2635 "list.m"
}

#line 815 "list.m"
void MR_CALL 
mercury__list__foldl3_8_p_7(
#line 815 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_37,
#line 815 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_38,
#line 815 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_39,
#line 815 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_40,
#line 815 "list.m"
  MR_Word mercury__list__P_1,
#line 815 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 815 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 815 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 815 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 815 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 815 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 815 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 815 "list.m"
  MR_Cont mercury__list__cont,
#line 815 "list.m"
  void * mercury__list__cont_env_ptr)
#line 815 "list.m"
{
#line 815 "list.m"
  {
#line 815 "list.m"
    struct mercury__list__foldl3_8_p_7_env_0_s mercury__list__env;

#line 815 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_7_env_0__TypeInfo_for_L_37 = mercury__list__TypeInfo_for_L_37;
#line 815 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_7_env_0__TypeInfo_for_A_38 = mercury__list__TypeInfo_for_A_38;
#line 815 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_7_env_0__TypeInfo_for_B_39 = mercury__list__TypeInfo_for_B_39;
#line 815 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_7_env_0__TypeInfo_for_C_40 = mercury__list__TypeInfo_for_C_40;
#line 815 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_7_env_0__P_1 = mercury__list__P_1;
#line 815 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 815 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_6;
#line 815 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_8;
#line 815 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_7_env_0__cont = mercury__list__cont;
#line 815 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_7_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2634 "list.m"
    {
#line 2634 "list.m"
      MR_bool mercury__list__succeeded;

#line 2634 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2634 "list.m"
        {
#line 2634 "list.m"
          *((mercury__list__env).mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_C_8) = mercury__list__STATE_VARIABLE_C_0_7;
#line 2634 "list.m"
          *((mercury__list__env).mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_B_6) = mercury__list__STATE_VARIABLE_B_0_5;
#line 2634 "list.m"
          *((mercury__list__env).mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2634 "list.m"
          {
#line 2634 "list.m"
            ((mercury__list__env).mercury__list__foldl3_8_p_7_env_0__cont)((mercury__list__env).mercury__list__foldl3_8_p_7_env_0__cont_env_ptr);
#line 2634 "list.m"
            return;
          }
#line 2634 "list.m"
        }
#line 2634 "list.m"
      else
#line 2635 "list.m"
        {
#line 2635 "list.m"
          MR_Box mercury__list__H_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2636 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2635 "list.m"
          (mercury__list__env).mercury__list__foldl3_8_p_7_env_0__T_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2636 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__foldl3_8_p_7_env_0__P_1, (MR_Integer) 1)));
#line 2636 "list.m"
          {
#line 2636 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__foldl3_8_p_7_env_0__P_1), mercury__list__H_20, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_B_0_5, &(mercury__list__env).mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_C_0_7, &(mercury__list__env).mercury__list__foldl3_8_p_7_env_0__STATE_VARIABLE_C_33_33, mercury__list__foldl3_8_p_7_1, &mercury__list__env);
          }
#line 2635 "list.m"
        }
#line 2634 "list.m"
    }
#line 815 "list.m"
  }
#line 815 "list.m"
}

#line 2635 "list.m"
static void MR_CALL 
mercury__list__foldl3_8_p_6_1(
#line 2635 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2635 "list.m"
{
#line 2635 "list.m"
  {
#line 2635 "list.m"
    struct mercury__list__foldl3_8_p_6_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldl3_8_p_6_env_0_s *) mercury__list__env_ptr_arg;

#line 2637 "list.m"
    {
#line 2637 "list.m"
      mercury__list__foldl3_8_p_6((mercury__list__env_ptr)->mercury__list__foldl3_8_p_6_env_0__TypeInfo_for_L_37, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_6_env_0__TypeInfo_for_A_38, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_6_env_0__TypeInfo_for_B_39, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_6_env_0__TypeInfo_for_C_40, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_6_env_0__P_1, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_6_env_0__T_21, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_A_31_31, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_B_32_32, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_B_6, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_C_33_33, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_C_8, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_6_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldl3_8_p_6_env_0__cont_env_ptr);
#line 2637 "list.m"
      return;
    }
#line 2635 "list.m"
  }
#line 2635 "list.m"
}

#line 813 "list.m"
void MR_CALL 
mercury__list__foldl3_8_p_6(
#line 813 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_37,
#line 813 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_38,
#line 813 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_39,
#line 813 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_40,
#line 813 "list.m"
  MR_Word mercury__list__P_1,
#line 813 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 813 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 813 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 813 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 813 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 813 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 813 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8,
#line 813 "list.m"
  MR_Cont mercury__list__cont,
#line 813 "list.m"
  void * mercury__list__cont_env_ptr)
#line 813 "list.m"
{
#line 813 "list.m"
  {
#line 813 "list.m"
    struct mercury__list__foldl3_8_p_6_env_0_s mercury__list__env;

#line 813 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_6_env_0__TypeInfo_for_L_37 = mercury__list__TypeInfo_for_L_37;
#line 813 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_6_env_0__TypeInfo_for_A_38 = mercury__list__TypeInfo_for_A_38;
#line 813 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_6_env_0__TypeInfo_for_B_39 = mercury__list__TypeInfo_for_B_39;
#line 813 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_6_env_0__TypeInfo_for_C_40 = mercury__list__TypeInfo_for_C_40;
#line 813 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_6_env_0__P_1 = mercury__list__P_1;
#line 813 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 813 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_6;
#line 813 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_8;
#line 813 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_6_env_0__cont = mercury__list__cont;
#line 813 "list.m"
    (mercury__list__env).mercury__list__foldl3_8_p_6_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2634 "list.m"
    {
#line 2634 "list.m"
      MR_bool mercury__list__succeeded;

#line 2634 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2634 "list.m"
        {
#line 2634 "list.m"
          *((mercury__list__env).mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_C_8) = mercury__list__STATE_VARIABLE_C_0_7;
#line 2634 "list.m"
          *((mercury__list__env).mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_B_6) = mercury__list__STATE_VARIABLE_B_0_5;
#line 2634 "list.m"
          *((mercury__list__env).mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2634 "list.m"
          {
#line 2634 "list.m"
            ((mercury__list__env).mercury__list__foldl3_8_p_6_env_0__cont)((mercury__list__env).mercury__list__foldl3_8_p_6_env_0__cont_env_ptr);
#line 2634 "list.m"
            return;
          }
#line 2634 "list.m"
        }
#line 2634 "list.m"
      else
#line 2635 "list.m"
        {
#line 2635 "list.m"
          MR_Box mercury__list__H_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2636 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2635 "list.m"
          (mercury__list__env).mercury__list__foldl3_8_p_6_env_0__T_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2636 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__foldl3_8_p_6_env_0__P_1, (MR_Integer) 1)));
#line 2636 "list.m"
          {
#line 2636 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__foldl3_8_p_6_env_0__P_1), mercury__list__H_20, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_B_0_5, &(mercury__list__env).mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_C_0_7, &(mercury__list__env).mercury__list__foldl3_8_p_6_env_0__STATE_VARIABLE_C_33_33, mercury__list__foldl3_8_p_6_1, &mercury__list__env);
          }
#line 2635 "list.m"
        }
#line 2634 "list.m"
    }
#line 813 "list.m"
  }
#line 813 "list.m"
}

#line 811 "list.m"
MR_bool MR_CALL 
mercury__list__foldl3_8_p_5(
#line 811 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_37,
#line 811 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_38,
#line 811 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_39,
#line 811 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_40,
#line 811 "list.m"
  MR_Word mercury__list__P_1,
#line 811 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 811 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 811 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 811 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 811 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 811 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 811 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8)
#line 811 "list.m"
{
#line 2634 "list.m"
  while (MR_TRUE)
#line 2634 "list.m"
    {
#line 2634 "list.m"
      /* tailcall optimized into a loop */
#line 2634 "list.m"
      {
#line 2634 "list.m"
        MR_bool mercury__list__succeeded;

#line 2634 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2634 "list.m"
          {
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2634 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2634 "list.m"
          }
#line 2634 "list.m"
        else
#line 2635 "list.m"
          {
#line 2635 "list.m"
            MR_Box mercury__list__H_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2635 "list.m"
            MR_Word mercury__list__T_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_31_31;
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_32_32;
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_33_33;
#line 2636 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2636 "list.m"
            {
#line 2636 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_20, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_33_33);
            }
#line 2635 "list.m"
            if (mercury__list__succeeded)
#line 2637 "list.m"
              {
#line 2637 "list.m"
                /* direct tailcall eliminated */
#line 2637 "list.m"
                {
#line 2637 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_21;
#line 2637 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_31_31;
#line 2637 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_32_32;
#line 2637 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_33_33;

#line 2637 "list.m"
                  mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2637 "list.m"
                  mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2637 "list.m"
                  mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2637 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2637 "list.m"
                }
#line 2637 "list.m"
                continue;
#line 2637 "list.m"
              }
#line 2635 "list.m"
          }
#line 2634 "list.m"
        return mercury__list__succeeded;
#line 2634 "list.m"
      }
#line 2634 "list.m"
      break;
#line 2634 "list.m"
    }
#line 811 "list.m"
}

#line 809 "list.m"
MR_bool MR_CALL 
mercury__list__foldl3_8_p_4(
#line 809 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_37,
#line 809 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_38,
#line 809 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_39,
#line 809 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_40,
#line 809 "list.m"
  MR_Word mercury__list__P_1,
#line 809 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 809 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 809 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 809 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 809 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 809 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 809 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8)
#line 809 "list.m"
{
#line 2634 "list.m"
  while (MR_TRUE)
#line 2634 "list.m"
    {
#line 2634 "list.m"
      /* tailcall optimized into a loop */
#line 2634 "list.m"
      {
#line 2634 "list.m"
        MR_bool mercury__list__succeeded;

#line 2634 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2634 "list.m"
          {
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2634 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2634 "list.m"
          }
#line 2634 "list.m"
        else
#line 2635 "list.m"
          {
#line 2635 "list.m"
            MR_Box mercury__list__H_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2635 "list.m"
            MR_Word mercury__list__T_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_31_31;
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_32_32;
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_33_33;
#line 2636 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2636 "list.m"
            {
#line 2636 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_20, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_33_33);
            }
#line 2635 "list.m"
            if (mercury__list__succeeded)
#line 2637 "list.m"
              {
#line 2637 "list.m"
                /* direct tailcall eliminated */
#line 2637 "list.m"
                {
#line 2637 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_21;
#line 2637 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_31_31;
#line 2637 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_32_32;
#line 2637 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_33_33;

#line 2637 "list.m"
                  mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2637 "list.m"
                  mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2637 "list.m"
                  mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2637 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2637 "list.m"
                }
#line 2637 "list.m"
                continue;
#line 2637 "list.m"
              }
#line 2635 "list.m"
          }
#line 2634 "list.m"
        return mercury__list__succeeded;
#line 2634 "list.m"
      }
#line 2634 "list.m"
      break;
#line 2634 "list.m"
    }
#line 809 "list.m"
}

#line 807 "list.m"
MR_bool MR_CALL 
mercury__list__foldl3_8_p_3(
#line 807 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_37,
#line 807 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_38,
#line 807 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_39,
#line 807 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_40,
#line 807 "list.m"
  MR_Word mercury__list__P_1,
#line 807 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 807 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 807 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 807 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 807 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 807 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 807 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8)
#line 807 "list.m"
{
#line 2634 "list.m"
  while (MR_TRUE)
#line 2634 "list.m"
    {
#line 2634 "list.m"
      /* tailcall optimized into a loop */
#line 2634 "list.m"
      {
#line 2634 "list.m"
        MR_bool mercury__list__succeeded;

#line 2634 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2634 "list.m"
          {
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2634 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2634 "list.m"
          }
#line 2634 "list.m"
        else
#line 2635 "list.m"
          {
#line 2635 "list.m"
            MR_Box mercury__list__H_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2635 "list.m"
            MR_Word mercury__list__T_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_31_31;
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_32_32;
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_33_33;
#line 2636 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2636 "list.m"
            {
#line 2636 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_20, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_33_33);
            }
#line 2635 "list.m"
            if (mercury__list__succeeded)
#line 2637 "list.m"
              {
#line 2637 "list.m"
                /* direct tailcall eliminated */
#line 2637 "list.m"
                {
#line 2637 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_21;
#line 2637 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_31_31;
#line 2637 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_32_32;
#line 2637 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_33_33;

#line 2637 "list.m"
                  mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2637 "list.m"
                  mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2637 "list.m"
                  mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2637 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2637 "list.m"
                }
#line 2637 "list.m"
                continue;
#line 2637 "list.m"
              }
#line 2635 "list.m"
          }
#line 2634 "list.m"
        return mercury__list__succeeded;
#line 2634 "list.m"
      }
#line 2634 "list.m"
      break;
#line 2634 "list.m"
    }
#line 807 "list.m"
}

#line 805 "list.m"
void MR_CALL 
mercury__list__foldl3_8_p_2(
#line 805 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_37,
#line 805 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_38,
#line 805 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_39,
#line 805 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_40,
#line 805 "list.m"
  MR_Word mercury__list__P_1,
#line 805 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 805 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 805 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 805 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 805 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 805 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 805 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8)
#line 805 "list.m"
{
#line 2634 "list.m"
  while (MR_TRUE)
#line 2634 "list.m"
    {
#line 2634 "list.m"
      /* tailcall optimized into a loop */
#line 2634 "list.m"
      {
#line 2634 "list.m"
        MR_bool mercury__list__succeeded;

#line 2634 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2634 "list.m"
          {
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2634 "list.m"
          }
#line 2634 "list.m"
        else
#line 2635 "list.m"
          {
#line 2635 "list.m"
            MR_Box mercury__list__H_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2635 "list.m"
            MR_Word mercury__list__T_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_31_31;
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_32_32;
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_33_33;
#line 2636 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2636 "list.m"
            {
#line 2636 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_20, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_33_33);
            }
#line 2637 "list.m"
            /* direct tailcall eliminated */
#line 2637 "list.m"
            {
#line 2637 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_21;
#line 2637 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_31_31;
#line 2637 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_32_32;
#line 2637 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_33_33;

#line 2637 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2637 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2637 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2637 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2637 "list.m"
            }
#line 2637 "list.m"
            continue;
#line 2635 "list.m"
          }
#line 2634 "list.m"
      }
#line 2634 "list.m"
      break;
#line 2634 "list.m"
    }
#line 805 "list.m"
}

#line 803 "list.m"
void MR_CALL 
mercury__list__foldl3_8_p_1(
#line 803 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_37,
#line 803 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_38,
#line 803 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_39,
#line 803 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_40,
#line 803 "list.m"
  MR_Word mercury__list__P_1,
#line 803 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 803 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 803 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 803 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 803 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 803 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 803 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8)
#line 803 "list.m"
{
#line 2634 "list.m"
  while (MR_TRUE)
#line 2634 "list.m"
    {
#line 2634 "list.m"
      /* tailcall optimized into a loop */
#line 2634 "list.m"
      {
#line 2634 "list.m"
        MR_bool mercury__list__succeeded;

#line 2634 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2634 "list.m"
          {
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2634 "list.m"
          }
#line 2634 "list.m"
        else
#line 2635 "list.m"
          {
#line 2635 "list.m"
            MR_Box mercury__list__H_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2635 "list.m"
            MR_Word mercury__list__T_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_31_31;
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_32_32;
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_33_33;
#line 2636 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2636 "list.m"
            {
#line 2636 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_20, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_33_33);
            }
#line 2637 "list.m"
            /* direct tailcall eliminated */
#line 2637 "list.m"
            {
#line 2637 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_21;
#line 2637 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_31_31;
#line 2637 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_32_32;
#line 2637 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_33_33;

#line 2637 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2637 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2637 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2637 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2637 "list.m"
            }
#line 2637 "list.m"
            continue;
#line 2635 "list.m"
          }
#line 2634 "list.m"
      }
#line 2634 "list.m"
      break;
#line 2634 "list.m"
    }
#line 803 "list.m"
}

#line 801 "list.m"
void MR_CALL 
mercury__list__foldl3_8_p_0(
#line 801 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_37,
#line 801 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_38,
#line 801 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_39,
#line 801 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_40,
#line 801 "list.m"
  MR_Word mercury__list__P_1,
#line 801 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 801 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 801 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 801 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 801 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 801 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_C_0_7,
#line 801 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_C_8)
#line 801 "list.m"
{
#line 2634 "list.m"
  while (MR_TRUE)
#line 2634 "list.m"
    {
#line 2634 "list.m"
      /* tailcall optimized into a loop */
#line 2634 "list.m"
      {
#line 2634 "list.m"
        MR_bool mercury__list__succeeded;

#line 2634 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2634 "list.m"
          {
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_C_8 = mercury__list__STATE_VARIABLE_C_0_7;
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2634 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2634 "list.m"
          }
#line 2634 "list.m"
        else
#line 2635 "list.m"
          {
#line 2635 "list.m"
            MR_Box mercury__list__H_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2635 "list.m"
            MR_Word mercury__list__T_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_31_31;
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_32_32;
#line 2635 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_C_33_33;
#line 2636 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2636 "list.m"
            {
#line 2636 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_20, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_31_31, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_32_32, mercury__list__STATE_VARIABLE_C_0_7, &mercury__list__STATE_VARIABLE_C_33_33);
            }
#line 2637 "list.m"
            /* direct tailcall eliminated */
#line 2637 "list.m"
            {
#line 2637 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_21;
#line 2637 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_31_31;
#line 2637 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_32_32;
#line 2637 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_C_0__tmp_copy_7 = mercury__list__STATE_VARIABLE_C_33_33;

#line 2637 "list.m"
              mercury__list__STATE_VARIABLE_C_0_7 = mercury__list__STATE_VARIABLE_C_0__tmp_copy_7;
#line 2637 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2637 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2637 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2637 "list.m"
            }
#line 2637 "list.m"
            continue;
#line 2635 "list.m"
          }
#line 2634 "list.m"
      }
#line 2634 "list.m"
      break;
#line 2634 "list.m"
    }
#line 801 "list.m"
}

#line 791 "list.m"
void MR_CALL 
mercury__list__foldl2_6_p_12(
#line 791 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 791 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 791 "list.m"
  MR_Word mercury__list__TypeInfo_for_Z_29,
#line 791 "list.m"
  MR_Word mercury__list__P_1,
#line 791 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 791 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 791 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 791 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 791 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6)
#line 791 "list.m"
{
#line 2629 "list.m"
  while (MR_TRUE)
#line 2629 "list.m"
    {
#line 2629 "list.m"
      /* tailcall optimized into a loop */
#line 2629 "list.m"
      {
#line 2629 "list.m"
        MR_bool mercury__list__succeeded;

#line 2629 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2629 "list.m"
          {
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2629 "list.m"
          }
#line 2629 "list.m"
        else
#line 2630 "list.m"
          {
#line 2630 "list.m"
            MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2630 "list.m"
            MR_Word mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_23_23;
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_24_24;
#line 2631 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2631 "list.m"
            {
#line 2631 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_24_24);
            }
#line 2632 "list.m"
            /* direct tailcall eliminated */
#line 2632 "list.m"
            {
#line 2632 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_16;
#line 2632 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_23_23;
#line 2632 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_24_24;

#line 2632 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2632 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2632 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2632 "list.m"
            }
#line 2632 "list.m"
            continue;
#line 2630 "list.m"
          }
#line 2629 "list.m"
      }
#line 2629 "list.m"
      break;
#line 2629 "list.m"
    }
#line 791 "list.m"
}

#line 789 "list.m"
void MR_CALL 
mercury__list__foldl2_6_p_11(
#line 789 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 789 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 789 "list.m"
  MR_Word mercury__list__TypeInfo_for_Z_29,
#line 789 "list.m"
  MR_Word mercury__list__P_1,
#line 789 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 789 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 789 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 789 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 789 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6)
#line 789 "list.m"
{
#line 2629 "list.m"
  while (MR_TRUE)
#line 2629 "list.m"
    {
#line 2629 "list.m"
      /* tailcall optimized into a loop */
#line 2629 "list.m"
      {
#line 2629 "list.m"
        MR_bool mercury__list__succeeded;

#line 2629 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2629 "list.m"
          {
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2629 "list.m"
          }
#line 2629 "list.m"
        else
#line 2630 "list.m"
          {
#line 2630 "list.m"
            MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2630 "list.m"
            MR_Word mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_23_23;
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_24_24;
#line 2631 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2631 "list.m"
            {
#line 2631 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_24_24);
            }
#line 2632 "list.m"
            /* direct tailcall eliminated */
#line 2632 "list.m"
            {
#line 2632 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_16;
#line 2632 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_23_23;
#line 2632 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_24_24;

#line 2632 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2632 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2632 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2632 "list.m"
            }
#line 2632 "list.m"
            continue;
#line 2630 "list.m"
          }
#line 2629 "list.m"
      }
#line 2629 "list.m"
      break;
#line 2629 "list.m"
    }
#line 789 "list.m"
}

#line 787 "list.m"
void MR_CALL 
mercury__list__foldl2_6_p_10(
#line 787 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 787 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 787 "list.m"
  MR_Word mercury__list__TypeInfo_for_Z_29,
#line 787 "list.m"
  MR_Word mercury__list__P_1,
#line 787 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 787 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 787 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 787 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 787 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6)
#line 787 "list.m"
{
#line 2629 "list.m"
  while (MR_TRUE)
#line 2629 "list.m"
    {
#line 2629 "list.m"
      /* tailcall optimized into a loop */
#line 2629 "list.m"
      {
#line 2629 "list.m"
        MR_bool mercury__list__succeeded;

#line 2629 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2629 "list.m"
          {
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2629 "list.m"
          }
#line 2629 "list.m"
        else
#line 2630 "list.m"
          {
#line 2630 "list.m"
            MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2630 "list.m"
            MR_Word mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_23_23;
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_24_24;
#line 2631 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2631 "list.m"
            {
#line 2631 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_24_24);
            }
#line 2632 "list.m"
            /* direct tailcall eliminated */
#line 2632 "list.m"
            {
#line 2632 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_16;
#line 2632 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_23_23;
#line 2632 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_24_24;

#line 2632 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2632 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2632 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2632 "list.m"
            }
#line 2632 "list.m"
            continue;
#line 2630 "list.m"
          }
#line 2629 "list.m"
      }
#line 2629 "list.m"
      break;
#line 2629 "list.m"
    }
#line 787 "list.m"
}

#line 785 "list.m"
void MR_CALL 
mercury__list__foldl2_6_p_9(
#line 785 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 785 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 785 "list.m"
  MR_Word mercury__list__TypeInfo_for_Z_29,
#line 785 "list.m"
  MR_Word mercury__list__P_1,
#line 785 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 785 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 785 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 785 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 785 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6)
#line 785 "list.m"
{
#line 2629 "list.m"
  while (MR_TRUE)
#line 2629 "list.m"
    {
#line 2629 "list.m"
      /* tailcall optimized into a loop */
#line 2629 "list.m"
      {
#line 2629 "list.m"
        MR_bool mercury__list__succeeded;

#line 2629 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2629 "list.m"
          {
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2629 "list.m"
          }
#line 2629 "list.m"
        else
#line 2630 "list.m"
          {
#line 2630 "list.m"
            MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2630 "list.m"
            MR_Word mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_23_23;
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_24_24;
#line 2631 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2631 "list.m"
            {
#line 2631 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_24_24);
            }
#line 2632 "list.m"
            /* direct tailcall eliminated */
#line 2632 "list.m"
            {
#line 2632 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_16;
#line 2632 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_23_23;
#line 2632 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_24_24;

#line 2632 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2632 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2632 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2632 "list.m"
            }
#line 2632 "list.m"
            continue;
#line 2630 "list.m"
          }
#line 2629 "list.m"
      }
#line 2629 "list.m"
      break;
#line 2629 "list.m"
    }
#line 785 "list.m"
}

#line 2630 "list.m"
static void MR_CALL 
mercury__list__foldl2_6_p_8_1(
#line 2630 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2630 "list.m"
{
#line 2630 "list.m"
  {
#line 2630 "list.m"
    struct mercury__list__foldl2_6_p_8_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldl2_6_p_8_env_0_s *) mercury__list__env_ptr_arg;

#line 2632 "list.m"
    {
#line 2632 "list.m"
      mercury__list__foldl2_6_p_8((mercury__list__env_ptr)->mercury__list__foldl2_6_p_8_env_0__TypeInfo_for_L_27, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_8_env_0__TypeInfo_for_A_28, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_8_env_0__TypeInfo_for_Z_29, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_8_env_0__P_1, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_8_env_0__T_16, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_8_env_0__STATE_VARIABLE_A_23_23, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_8_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_8_env_0__STATE_VARIABLE_B_24_24, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_8_env_0__STATE_VARIABLE_B_6, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_8_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_8_env_0__cont_env_ptr);
#line 2632 "list.m"
      return;
    }
#line 2630 "list.m"
  }
#line 2630 "list.m"
}

#line 783 "list.m"
void MR_CALL 
mercury__list__foldl2_6_p_8(
#line 783 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 783 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 783 "list.m"
  MR_Word mercury__list__TypeInfo_for_Z_29,
#line 783 "list.m"
  MR_Word mercury__list__P_1,
#line 783 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 783 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 783 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 783 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 783 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 783 "list.m"
  MR_Cont mercury__list__cont,
#line 783 "list.m"
  void * mercury__list__cont_env_ptr)
#line 783 "list.m"
{
#line 783 "list.m"
  {
#line 783 "list.m"
    struct mercury__list__foldl2_6_p_8_env_0_s mercury__list__env;

#line 783 "list.m"
    (mercury__list__env).mercury__list__foldl2_6_p_8_env_0__TypeInfo_for_L_27 = mercury__list__TypeInfo_for_L_27;
#line 783 "list.m"
    (mercury__list__env).mercury__list__foldl2_6_p_8_env_0__TypeInfo_for_A_28 = mercury__list__TypeInfo_for_A_28;
#line 783 "list.m"
    (mercury__list__env).mercury__list__foldl2_6_p_8_env_0__TypeInfo_for_Z_29 = mercury__list__TypeInfo_for_Z_29;
#line 783 "list.m"
    (mercury__list__env).mercury__list__foldl2_6_p_8_env_0__P_1 = mercury__list__P_1;
#line 783 "list.m"
    (mercury__list__env).mercury__list__foldl2_6_p_8_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 783 "list.m"
    (mercury__list__env).mercury__list__foldl2_6_p_8_env_0__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_6;
#line 783 "list.m"
    (mercury__list__env).mercury__list__foldl2_6_p_8_env_0__cont = mercury__list__cont;
#line 783 "list.m"
    (mercury__list__env).mercury__list__foldl2_6_p_8_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2629 "list.m"
    {
#line 2629 "list.m"
      MR_bool mercury__list__succeeded;

#line 2629 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2629 "list.m"
        {
#line 2629 "list.m"
          *((mercury__list__env).mercury__list__foldl2_6_p_8_env_0__STATE_VARIABLE_B_6) = mercury__list__STATE_VARIABLE_B_0_5;
#line 2629 "list.m"
          *((mercury__list__env).mercury__list__foldl2_6_p_8_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2629 "list.m"
          {
#line 2629 "list.m"
            ((mercury__list__env).mercury__list__foldl2_6_p_8_env_0__cont)((mercury__list__env).mercury__list__foldl2_6_p_8_env_0__cont_env_ptr);
#line 2629 "list.m"
            return;
          }
#line 2629 "list.m"
        }
#line 2629 "list.m"
      else
#line 2630 "list.m"
        {
#line 2630 "list.m"
          MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2631 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2630 "list.m"
          (mercury__list__env).mercury__list__foldl2_6_p_8_env_0__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2631 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__foldl2_6_p_8_env_0__P_1, (MR_Integer) 1)));
#line 2631 "list.m"
          {
#line 2631 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__foldl2_6_p_8_env_0__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldl2_6_p_8_env_0__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &(mercury__list__env).mercury__list__foldl2_6_p_8_env_0__STATE_VARIABLE_B_24_24, mercury__list__foldl2_6_p_8_1, &mercury__list__env);
          }
#line 2630 "list.m"
        }
#line 2629 "list.m"
    }
#line 783 "list.m"
  }
#line 783 "list.m"
}

#line 2630 "list.m"
static void MR_CALL 
mercury__list__foldl2_6_p_7_1(
#line 2630 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2630 "list.m"
{
#line 2630 "list.m"
  {
#line 2630 "list.m"
    struct mercury__list__foldl2_6_p_7_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldl2_6_p_7_env_0_s *) mercury__list__env_ptr_arg;

#line 2632 "list.m"
    {
#line 2632 "list.m"
      mercury__list__foldl2_6_p_7((mercury__list__env_ptr)->mercury__list__foldl2_6_p_7_env_0__TypeInfo_for_L_27, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_7_env_0__TypeInfo_for_A_28, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_7_env_0__TypeInfo_for_Z_29, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_7_env_0__P_1, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_7_env_0__T_16, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_7_env_0__STATE_VARIABLE_A_23_23, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_7_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_7_env_0__STATE_VARIABLE_B_24_24, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_7_env_0__STATE_VARIABLE_B_6, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_7_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldl2_6_p_7_env_0__cont_env_ptr);
#line 2632 "list.m"
      return;
    }
#line 2630 "list.m"
  }
#line 2630 "list.m"
}

#line 781 "list.m"
void MR_CALL 
mercury__list__foldl2_6_p_7(
#line 781 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 781 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 781 "list.m"
  MR_Word mercury__list__TypeInfo_for_Z_29,
#line 781 "list.m"
  MR_Word mercury__list__P_1,
#line 781 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 781 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 781 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 781 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 781 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6,
#line 781 "list.m"
  MR_Cont mercury__list__cont,
#line 781 "list.m"
  void * mercury__list__cont_env_ptr)
#line 781 "list.m"
{
#line 781 "list.m"
  {
#line 781 "list.m"
    struct mercury__list__foldl2_6_p_7_env_0_s mercury__list__env;

#line 781 "list.m"
    (mercury__list__env).mercury__list__foldl2_6_p_7_env_0__TypeInfo_for_L_27 = mercury__list__TypeInfo_for_L_27;
#line 781 "list.m"
    (mercury__list__env).mercury__list__foldl2_6_p_7_env_0__TypeInfo_for_A_28 = mercury__list__TypeInfo_for_A_28;
#line 781 "list.m"
    (mercury__list__env).mercury__list__foldl2_6_p_7_env_0__TypeInfo_for_Z_29 = mercury__list__TypeInfo_for_Z_29;
#line 781 "list.m"
    (mercury__list__env).mercury__list__foldl2_6_p_7_env_0__P_1 = mercury__list__P_1;
#line 781 "list.m"
    (mercury__list__env).mercury__list__foldl2_6_p_7_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 781 "list.m"
    (mercury__list__env).mercury__list__foldl2_6_p_7_env_0__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_6;
#line 781 "list.m"
    (mercury__list__env).mercury__list__foldl2_6_p_7_env_0__cont = mercury__list__cont;
#line 781 "list.m"
    (mercury__list__env).mercury__list__foldl2_6_p_7_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2629 "list.m"
    {
#line 2629 "list.m"
      MR_bool mercury__list__succeeded;

#line 2629 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2629 "list.m"
        {
#line 2629 "list.m"
          *((mercury__list__env).mercury__list__foldl2_6_p_7_env_0__STATE_VARIABLE_B_6) = mercury__list__STATE_VARIABLE_B_0_5;
#line 2629 "list.m"
          *((mercury__list__env).mercury__list__foldl2_6_p_7_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2629 "list.m"
          {
#line 2629 "list.m"
            ((mercury__list__env).mercury__list__foldl2_6_p_7_env_0__cont)((mercury__list__env).mercury__list__foldl2_6_p_7_env_0__cont_env_ptr);
#line 2629 "list.m"
            return;
          }
#line 2629 "list.m"
        }
#line 2629 "list.m"
      else
#line 2630 "list.m"
        {
#line 2630 "list.m"
          MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2631 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *);

#line 2630 "list.m"
          (mercury__list__env).mercury__list__foldl2_6_p_7_env_0__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2631 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__foldl2_6_p_7_env_0__P_1, (MR_Integer) 1)));
#line 2631 "list.m"
          {
#line 2631 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__foldl2_6_p_7_env_0__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldl2_6_p_7_env_0__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &(mercury__list__env).mercury__list__foldl2_6_p_7_env_0__STATE_VARIABLE_B_24_24, mercury__list__foldl2_6_p_7_1, &mercury__list__env);
          }
#line 2630 "list.m"
        }
#line 2629 "list.m"
    }
#line 781 "list.m"
  }
#line 781 "list.m"
}

#line 779 "list.m"
MR_bool MR_CALL 
mercury__list__foldl2_6_p_6(
#line 779 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 779 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 779 "list.m"
  MR_Word mercury__list__TypeInfo_for_Z_29,
#line 779 "list.m"
  MR_Word mercury__list__P_1,
#line 779 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 779 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 779 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 779 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 779 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6)
#line 779 "list.m"
{
#line 2629 "list.m"
  while (MR_TRUE)
#line 2629 "list.m"
    {
#line 2629 "list.m"
      /* tailcall optimized into a loop */
#line 2629 "list.m"
      {
#line 2629 "list.m"
        MR_bool mercury__list__succeeded;

#line 2629 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2629 "list.m"
          {
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2629 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2629 "list.m"
          }
#line 2629 "list.m"
        else
#line 2630 "list.m"
          {
#line 2630 "list.m"
            MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2630 "list.m"
            MR_Word mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_23_23;
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_24_24;
#line 2631 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2631 "list.m"
            {
#line 2631 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_24_24);
            }
#line 2630 "list.m"
            if (mercury__list__succeeded)
#line 2632 "list.m"
              {
#line 2632 "list.m"
                /* direct tailcall eliminated */
#line 2632 "list.m"
                {
#line 2632 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_16;
#line 2632 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_23_23;
#line 2632 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_24_24;

#line 2632 "list.m"
                  mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2632 "list.m"
                  mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2632 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2632 "list.m"
                }
#line 2632 "list.m"
                continue;
#line 2632 "list.m"
              }
#line 2630 "list.m"
          }
#line 2629 "list.m"
        return mercury__list__succeeded;
#line 2629 "list.m"
      }
#line 2629 "list.m"
      break;
#line 2629 "list.m"
    }
#line 779 "list.m"
}

#line 777 "list.m"
MR_bool MR_CALL 
mercury__list__foldl2_6_p_5(
#line 777 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 777 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 777 "list.m"
  MR_Word mercury__list__TypeInfo_for_Z_29,
#line 777 "list.m"
  MR_Word mercury__list__P_1,
#line 777 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 777 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 777 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 777 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 777 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6)
#line 777 "list.m"
{
#line 2629 "list.m"
  while (MR_TRUE)
#line 2629 "list.m"
    {
#line 2629 "list.m"
      /* tailcall optimized into a loop */
#line 2629 "list.m"
      {
#line 2629 "list.m"
        MR_bool mercury__list__succeeded;

#line 2629 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2629 "list.m"
          {
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2629 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2629 "list.m"
          }
#line 2629 "list.m"
        else
#line 2630 "list.m"
          {
#line 2630 "list.m"
            MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2630 "list.m"
            MR_Word mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_23_23;
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_24_24;
#line 2631 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2631 "list.m"
            {
#line 2631 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_24_24);
            }
#line 2630 "list.m"
            if (mercury__list__succeeded)
#line 2632 "list.m"
              {
#line 2632 "list.m"
                /* direct tailcall eliminated */
#line 2632 "list.m"
                {
#line 2632 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_16;
#line 2632 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_23_23;
#line 2632 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_24_24;

#line 2632 "list.m"
                  mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2632 "list.m"
                  mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2632 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2632 "list.m"
                }
#line 2632 "list.m"
                continue;
#line 2632 "list.m"
              }
#line 2630 "list.m"
          }
#line 2629 "list.m"
        return mercury__list__succeeded;
#line 2629 "list.m"
      }
#line 2629 "list.m"
      break;
#line 2629 "list.m"
    }
#line 777 "list.m"
}

#line 775 "list.m"
MR_bool MR_CALL 
mercury__list__foldl2_6_p_4(
#line 775 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 775 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 775 "list.m"
  MR_Word mercury__list__TypeInfo_for_Z_29,
#line 775 "list.m"
  MR_Word mercury__list__P_1,
#line 775 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 775 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 775 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 775 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 775 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6)
#line 775 "list.m"
{
#line 2629 "list.m"
  while (MR_TRUE)
#line 2629 "list.m"
    {
#line 2629 "list.m"
      /* tailcall optimized into a loop */
#line 2629 "list.m"
      {
#line 2629 "list.m"
        MR_bool mercury__list__succeeded;

#line 2629 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2629 "list.m"
          {
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2629 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2629 "list.m"
          }
#line 2629 "list.m"
        else
#line 2630 "list.m"
          {
#line 2630 "list.m"
            MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2630 "list.m"
            MR_Word mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_23_23;
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_24_24;
#line 2631 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2631 "list.m"
            {
#line 2631 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_24_24);
            }
#line 2630 "list.m"
            if (mercury__list__succeeded)
#line 2632 "list.m"
              {
#line 2632 "list.m"
                /* direct tailcall eliminated */
#line 2632 "list.m"
                {
#line 2632 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_16;
#line 2632 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_23_23;
#line 2632 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_24_24;

#line 2632 "list.m"
                  mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2632 "list.m"
                  mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2632 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2632 "list.m"
                }
#line 2632 "list.m"
                continue;
#line 2632 "list.m"
              }
#line 2630 "list.m"
          }
#line 2629 "list.m"
        return mercury__list__succeeded;
#line 2629 "list.m"
      }
#line 2629 "list.m"
      break;
#line 2629 "list.m"
    }
#line 775 "list.m"
}

#line 773 "list.m"
void MR_CALL 
mercury__list__foldl2_6_p_3(
#line 773 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 773 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 773 "list.m"
  MR_Word mercury__list__TypeInfo_for_Z_29,
#line 773 "list.m"
  MR_Word mercury__list__P_1,
#line 773 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 773 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 773 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 773 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 773 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6)
#line 773 "list.m"
{
#line 2629 "list.m"
  while (MR_TRUE)
#line 2629 "list.m"
    {
#line 2629 "list.m"
      /* tailcall optimized into a loop */
#line 2629 "list.m"
      {
#line 2629 "list.m"
        MR_bool mercury__list__succeeded;

#line 2629 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2629 "list.m"
          {
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2629 "list.m"
          }
#line 2629 "list.m"
        else
#line 2630 "list.m"
          {
#line 2630 "list.m"
            MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2630 "list.m"
            MR_Word mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_23_23;
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_24_24;
#line 2631 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2631 "list.m"
            {
#line 2631 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_24_24);
            }
#line 2632 "list.m"
            /* direct tailcall eliminated */
#line 2632 "list.m"
            {
#line 2632 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_16;
#line 2632 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_23_23;
#line 2632 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_24_24;

#line 2632 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2632 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2632 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2632 "list.m"
            }
#line 2632 "list.m"
            continue;
#line 2630 "list.m"
          }
#line 2629 "list.m"
      }
#line 2629 "list.m"
      break;
#line 2629 "list.m"
    }
#line 773 "list.m"
}

#line 771 "list.m"
void MR_CALL 
mercury__list__foldl2_6_p_2(
#line 771 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 771 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 771 "list.m"
  MR_Word mercury__list__TypeInfo_for_Z_29,
#line 771 "list.m"
  MR_Word mercury__list__P_1,
#line 771 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 771 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 771 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 771 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 771 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6)
#line 771 "list.m"
{
#line 2629 "list.m"
  while (MR_TRUE)
#line 2629 "list.m"
    {
#line 2629 "list.m"
      /* tailcall optimized into a loop */
#line 2629 "list.m"
      {
#line 2629 "list.m"
        MR_bool mercury__list__succeeded;

#line 2629 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2629 "list.m"
          {
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2629 "list.m"
          }
#line 2629 "list.m"
        else
#line 2630 "list.m"
          {
#line 2630 "list.m"
            MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2630 "list.m"
            MR_Word mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_23_23;
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_24_24;
#line 2631 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2631 "list.m"
            {
#line 2631 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_24_24);
            }
#line 2632 "list.m"
            /* direct tailcall eliminated */
#line 2632 "list.m"
            {
#line 2632 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_16;
#line 2632 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_23_23;
#line 2632 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_24_24;

#line 2632 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2632 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2632 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2632 "list.m"
            }
#line 2632 "list.m"
            continue;
#line 2630 "list.m"
          }
#line 2629 "list.m"
      }
#line 2629 "list.m"
      break;
#line 2629 "list.m"
    }
#line 771 "list.m"
}

#line 769 "list.m"
void MR_CALL 
mercury__list__foldl2_6_p_1(
#line 769 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 769 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 769 "list.m"
  MR_Word mercury__list__TypeInfo_for_Z_29,
#line 769 "list.m"
  MR_Word mercury__list__P_1,
#line 769 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 769 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 769 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 769 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 769 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6)
#line 769 "list.m"
{
#line 2629 "list.m"
  while (MR_TRUE)
#line 2629 "list.m"
    {
#line 2629 "list.m"
      /* tailcall optimized into a loop */
#line 2629 "list.m"
      {
#line 2629 "list.m"
        MR_bool mercury__list__succeeded;

#line 2629 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2629 "list.m"
          {
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2629 "list.m"
          }
#line 2629 "list.m"
        else
#line 2630 "list.m"
          {
#line 2630 "list.m"
            MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2630 "list.m"
            MR_Word mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_23_23;
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_24_24;
#line 2631 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2631 "list.m"
            {
#line 2631 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_24_24);
            }
#line 2632 "list.m"
            /* direct tailcall eliminated */
#line 2632 "list.m"
            {
#line 2632 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_16;
#line 2632 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_23_23;
#line 2632 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_24_24;

#line 2632 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2632 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2632 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2632 "list.m"
            }
#line 2632 "list.m"
            continue;
#line 2630 "list.m"
          }
#line 2629 "list.m"
      }
#line 2629 "list.m"
      break;
#line 2629 "list.m"
    }
#line 769 "list.m"
}

#line 767 "list.m"
void MR_CALL 
mercury__list__foldl2_6_p_0(
#line 767 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_27,
#line 767 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 767 "list.m"
  MR_Word mercury__list__TypeInfo_for_Z_29,
#line 767 "list.m"
  MR_Word mercury__list__P_1,
#line 767 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 767 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 767 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 767 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_B_0_5,
#line 767 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_B_6)
#line 767 "list.m"
{
#line 2629 "list.m"
  while (MR_TRUE)
#line 2629 "list.m"
    {
#line 2629 "list.m"
      /* tailcall optimized into a loop */
#line 2629 "list.m"
      {
#line 2629 "list.m"
        MR_bool mercury__list__succeeded;

#line 2629 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2629 "list.m"
          {
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_B_6 = mercury__list__STATE_VARIABLE_B_0_5;
#line 2629 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2629 "list.m"
          }
#line 2629 "list.m"
        else
#line 2630 "list.m"
          {
#line 2630 "list.m"
            MR_Box mercury__list__H_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2630 "list.m"
            MR_Word mercury__list__T_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_23_23;
#line 2630 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_B_24_24;
#line 2631 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2631 "list.m"
            {
#line 2631 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_15, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_23_23, mercury__list__STATE_VARIABLE_B_0_5, &mercury__list__STATE_VARIABLE_B_24_24);
            }
#line 2632 "list.m"
            /* direct tailcall eliminated */
#line 2632 "list.m"
            {
#line 2632 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_16;
#line 2632 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_23_23;
#line 2632 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_B_0__tmp_copy_5 = mercury__list__STATE_VARIABLE_B_24_24;

#line 2632 "list.m"
              mercury__list__STATE_VARIABLE_B_0_5 = mercury__list__STATE_VARIABLE_B_0__tmp_copy_5;
#line 2632 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2632 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2632 "list.m"
            }
#line 2632 "list.m"
            continue;
#line 2630 "list.m"
          }
#line 2629 "list.m"
      }
#line 2629 "list.m"
      break;
#line 2629 "list.m"
    }
#line 767 "list.m"
}

#line 759 "list.m"
MR_Box MR_CALL 
mercury__list__foldl_3_f_0(
#line 759 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_19,
#line 759 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_20,
#line 759 "list.m"
  MR_Word mercury__list__F_5,
#line 759 "list.m"
  MR_Word mercury__list__Xs_6,
#line 759 "list.m"
  MR_Box mercury__list__A_7)
#line 759 "list.m"
{
#line 2622 "list.m"
  {
#line 2622 "list.m"
    MR_bool mercury__list__succeeded;
#line 2622 "list.m"
    MR_Box mercury__list__B_8;

#line 2622 "list.m"
    {
#line 2622 "list.m"
      mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_48_95_95_91_49_44_32_50_44_32_52_44_32_53_44_32_54_93_95_48_4_p_0(mercury__list__F_5, mercury__list__Xs_6, mercury__list__A_7, &mercury__list__B_8);
    }
#line 2622 "list.m"
    return mercury__list__B_8;
#line 2622 "list.m"
  }
#line 759 "list.m"
}

#line 757 "list.m"
void MR_CALL 
mercury__list__foldl_4_p_10(
#line 757 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 757 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 757 "list.m"
  MR_Word mercury__list__P_1,
#line 757 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 757 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 757 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4)
#line 757 "list.m"
{
#line 2624 "list.m"
  while (MR_TRUE)
#line 2624 "list.m"
    {
#line 2624 "list.m"
      /* tailcall optimized into a loop */
#line 2624 "list.m"
      {
#line 2624 "list.m"
        MR_bool mercury__list__succeeded;

#line 2624 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2624 "list.m"
          *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2624 "list.m"
        else
#line 2625 "list.m"
          {
#line 2625 "list.m"
            MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2625 "list.m"
            MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2625 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_15_15;
#line 2626 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2626 "list.m"
            {
#line 2626 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_15_15);
            }
#line 2627 "list.m"
            /* direct tailcall eliminated */
#line 2627 "list.m"
            {
#line 2627 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_11;
#line 2627 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_15_15;

#line 2627 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2627 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2627 "list.m"
            }
#line 2627 "list.m"
            continue;
#line 2625 "list.m"
          }
#line 2624 "list.m"
      }
#line 2624 "list.m"
      break;
#line 2624 "list.m"
    }
#line 757 "list.m"
}

#line 756 "list.m"
void MR_CALL 
mercury__list__foldl_4_p_9(
#line 756 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 756 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 756 "list.m"
  MR_Word mercury__list__P_1,
#line 756 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 756 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 756 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4)
#line 756 "list.m"
{
#line 2624 "list.m"
  while (MR_TRUE)
#line 2624 "list.m"
    {
#line 2624 "list.m"
      /* tailcall optimized into a loop */
#line 2624 "list.m"
      {
#line 2624 "list.m"
        MR_bool mercury__list__succeeded;

#line 2624 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2624 "list.m"
          *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2624 "list.m"
        else
#line 2625 "list.m"
          {
#line 2625 "list.m"
            MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2625 "list.m"
            MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2625 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_15_15;
#line 2626 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2626 "list.m"
            {
#line 2626 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_15_15);
            }
#line 2627 "list.m"
            /* direct tailcall eliminated */
#line 2627 "list.m"
            {
#line 2627 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_11;
#line 2627 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_15_15;

#line 2627 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2627 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2627 "list.m"
            }
#line 2627 "list.m"
            continue;
#line 2625 "list.m"
          }
#line 2624 "list.m"
      }
#line 2624 "list.m"
      break;
#line 2624 "list.m"
    }
#line 756 "list.m"
}

#line 2625 "list.m"
static void MR_CALL 
mercury__list__foldl_4_p_8_1(
#line 2625 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2625 "list.m"
{
#line 2625 "list.m"
  {
#line 2625 "list.m"
    struct mercury__list__foldl_4_p_8_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldl_4_p_8_env_0_s *) mercury__list__env_ptr_arg;

#line 2627 "list.m"
    {
#line 2627 "list.m"
      mercury__list__foldl_4_p_8((mercury__list__env_ptr)->mercury__list__foldl_4_p_8_env_0__TypeInfo_for_L_17, (mercury__list__env_ptr)->mercury__list__foldl_4_p_8_env_0__TypeInfo_for_A_18, (mercury__list__env_ptr)->mercury__list__foldl_4_p_8_env_0__P_1, (mercury__list__env_ptr)->mercury__list__foldl_4_p_8_env_0__T_11, (mercury__list__env_ptr)->mercury__list__foldl_4_p_8_env_0__STATE_VARIABLE_A_15_15, (mercury__list__env_ptr)->mercury__list__foldl_4_p_8_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldl_4_p_8_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldl_4_p_8_env_0__cont_env_ptr);
#line 2627 "list.m"
      return;
    }
#line 2625 "list.m"
  }
#line 2625 "list.m"
}

#line 755 "list.m"
void MR_CALL 
mercury__list__foldl_4_p_8(
#line 755 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 755 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 755 "list.m"
  MR_Word mercury__list__P_1,
#line 755 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 755 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 755 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 755 "list.m"
  MR_Cont mercury__list__cont,
#line 755 "list.m"
  void * mercury__list__cont_env_ptr)
#line 755 "list.m"
{
#line 755 "list.m"
  {
#line 755 "list.m"
    struct mercury__list__foldl_4_p_8_env_0_s mercury__list__env;

#line 755 "list.m"
    (mercury__list__env).mercury__list__foldl_4_p_8_env_0__TypeInfo_for_L_17 = mercury__list__TypeInfo_for_L_17;
#line 755 "list.m"
    (mercury__list__env).mercury__list__foldl_4_p_8_env_0__TypeInfo_for_A_18 = mercury__list__TypeInfo_for_A_18;
#line 755 "list.m"
    (mercury__list__env).mercury__list__foldl_4_p_8_env_0__P_1 = mercury__list__P_1;
#line 755 "list.m"
    (mercury__list__env).mercury__list__foldl_4_p_8_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 755 "list.m"
    (mercury__list__env).mercury__list__foldl_4_p_8_env_0__cont = mercury__list__cont;
#line 755 "list.m"
    (mercury__list__env).mercury__list__foldl_4_p_8_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2624 "list.m"
    {
#line 2624 "list.m"
      MR_bool mercury__list__succeeded;

#line 2624 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2624 "list.m"
        {
#line 2624 "list.m"
          *((mercury__list__env).mercury__list__foldl_4_p_8_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2624 "list.m"
          {
#line 2624 "list.m"
            ((mercury__list__env).mercury__list__foldl_4_p_8_env_0__cont)((mercury__list__env).mercury__list__foldl_4_p_8_env_0__cont_env_ptr);
#line 2624 "list.m"
            return;
          }
#line 2624 "list.m"
        }
#line 2624 "list.m"
      else
#line 2625 "list.m"
        {
#line 2625 "list.m"
          MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2626 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Cont, void *);

#line 2625 "list.m"
          (mercury__list__env).mercury__list__foldl_4_p_8_env_0__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2626 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__foldl_4_p_8_env_0__P_1, (MR_Integer) 1)));
#line 2626 "list.m"
          {
#line 2626 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__foldl_4_p_8_env_0__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldl_4_p_8_env_0__STATE_VARIABLE_A_15_15, mercury__list__foldl_4_p_8_1, &mercury__list__env);
          }
#line 2625 "list.m"
        }
#line 2624 "list.m"
    }
#line 755 "list.m"
  }
#line 755 "list.m"
}

#line 2625 "list.m"
static void MR_CALL 
mercury__list__foldl_4_p_7_1(
#line 2625 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2625 "list.m"
{
#line 2625 "list.m"
  {
#line 2625 "list.m"
    struct mercury__list__foldl_4_p_7_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldl_4_p_7_env_0_s *) mercury__list__env_ptr_arg;

#line 2627 "list.m"
    {
#line 2627 "list.m"
      mercury__list__foldl_4_p_7((mercury__list__env_ptr)->mercury__list__foldl_4_p_7_env_0__TypeInfo_for_L_17, (mercury__list__env_ptr)->mercury__list__foldl_4_p_7_env_0__TypeInfo_for_A_18, (mercury__list__env_ptr)->mercury__list__foldl_4_p_7_env_0__P_1, (mercury__list__env_ptr)->mercury__list__foldl_4_p_7_env_0__T_11, (mercury__list__env_ptr)->mercury__list__foldl_4_p_7_env_0__STATE_VARIABLE_A_15_15, (mercury__list__env_ptr)->mercury__list__foldl_4_p_7_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldl_4_p_7_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldl_4_p_7_env_0__cont_env_ptr);
#line 2627 "list.m"
      return;
    }
#line 2625 "list.m"
  }
#line 2625 "list.m"
}

#line 754 "list.m"
void MR_CALL 
mercury__list__foldl_4_p_7(
#line 754 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 754 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 754 "list.m"
  MR_Word mercury__list__P_1,
#line 754 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 754 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 754 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 754 "list.m"
  MR_Cont mercury__list__cont,
#line 754 "list.m"
  void * mercury__list__cont_env_ptr)
#line 754 "list.m"
{
#line 754 "list.m"
  {
#line 754 "list.m"
    struct mercury__list__foldl_4_p_7_env_0_s mercury__list__env;

#line 754 "list.m"
    (mercury__list__env).mercury__list__foldl_4_p_7_env_0__TypeInfo_for_L_17 = mercury__list__TypeInfo_for_L_17;
#line 754 "list.m"
    (mercury__list__env).mercury__list__foldl_4_p_7_env_0__TypeInfo_for_A_18 = mercury__list__TypeInfo_for_A_18;
#line 754 "list.m"
    (mercury__list__env).mercury__list__foldl_4_p_7_env_0__P_1 = mercury__list__P_1;
#line 754 "list.m"
    (mercury__list__env).mercury__list__foldl_4_p_7_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 754 "list.m"
    (mercury__list__env).mercury__list__foldl_4_p_7_env_0__cont = mercury__list__cont;
#line 754 "list.m"
    (mercury__list__env).mercury__list__foldl_4_p_7_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2624 "list.m"
    {
#line 2624 "list.m"
      MR_bool mercury__list__succeeded;

#line 2624 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2624 "list.m"
        {
#line 2624 "list.m"
          *((mercury__list__env).mercury__list__foldl_4_p_7_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2624 "list.m"
          {
#line 2624 "list.m"
            ((mercury__list__env).mercury__list__foldl_4_p_7_env_0__cont)((mercury__list__env).mercury__list__foldl_4_p_7_env_0__cont_env_ptr);
#line 2624 "list.m"
            return;
          }
#line 2624 "list.m"
        }
#line 2624 "list.m"
      else
#line 2625 "list.m"
        {
#line 2625 "list.m"
          MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2626 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Cont, void *);

#line 2625 "list.m"
          (mercury__list__env).mercury__list__foldl_4_p_7_env_0__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2626 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__foldl_4_p_7_env_0__P_1, (MR_Integer) 1)));
#line 2626 "list.m"
          {
#line 2626 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__foldl_4_p_7_env_0__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldl_4_p_7_env_0__STATE_VARIABLE_A_15_15, mercury__list__foldl_4_p_7_1, &mercury__list__env);
          }
#line 2625 "list.m"
        }
#line 2624 "list.m"
    }
#line 754 "list.m"
  }
#line 754 "list.m"
}

#line 2625 "list.m"
static void MR_CALL 
mercury__list__foldl_4_p_6_1(
#line 2625 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2625 "list.m"
{
#line 2625 "list.m"
  {
#line 2625 "list.m"
    struct mercury__list__foldl_4_p_6_env_0_s * mercury__list__env_ptr = (struct mercury__list__foldl_4_p_6_env_0_s *) mercury__list__env_ptr_arg;

#line 2627 "list.m"
    {
#line 2627 "list.m"
      mercury__list__foldl_4_p_6((mercury__list__env_ptr)->mercury__list__foldl_4_p_6_env_0__TypeInfo_for_L_17, (mercury__list__env_ptr)->mercury__list__foldl_4_p_6_env_0__TypeInfo_for_A_18, (mercury__list__env_ptr)->mercury__list__foldl_4_p_6_env_0__P_1, (mercury__list__env_ptr)->mercury__list__foldl_4_p_6_env_0__T_11, (mercury__list__env_ptr)->mercury__list__foldl_4_p_6_env_0__STATE_VARIABLE_A_15_15, (mercury__list__env_ptr)->mercury__list__foldl_4_p_6_env_0__STATE_VARIABLE_A_4, (mercury__list__env_ptr)->mercury__list__foldl_4_p_6_env_0__cont, (mercury__list__env_ptr)->mercury__list__foldl_4_p_6_env_0__cont_env_ptr);
#line 2627 "list.m"
      return;
    }
#line 2625 "list.m"
  }
#line 2625 "list.m"
}

#line 753 "list.m"
void MR_CALL 
mercury__list__foldl_4_p_6(
#line 753 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 753 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 753 "list.m"
  MR_Word mercury__list__P_1,
#line 753 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 753 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 753 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4,
#line 753 "list.m"
  MR_Cont mercury__list__cont,
#line 753 "list.m"
  void * mercury__list__cont_env_ptr)
#line 753 "list.m"
{
#line 753 "list.m"
  {
#line 753 "list.m"
    struct mercury__list__foldl_4_p_6_env_0_s mercury__list__env;

#line 753 "list.m"
    (mercury__list__env).mercury__list__foldl_4_p_6_env_0__TypeInfo_for_L_17 = mercury__list__TypeInfo_for_L_17;
#line 753 "list.m"
    (mercury__list__env).mercury__list__foldl_4_p_6_env_0__TypeInfo_for_A_18 = mercury__list__TypeInfo_for_A_18;
#line 753 "list.m"
    (mercury__list__env).mercury__list__foldl_4_p_6_env_0__P_1 = mercury__list__P_1;
#line 753 "list.m"
    (mercury__list__env).mercury__list__foldl_4_p_6_env_0__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_4;
#line 753 "list.m"
    (mercury__list__env).mercury__list__foldl_4_p_6_env_0__cont = mercury__list__cont;
#line 753 "list.m"
    (mercury__list__env).mercury__list__foldl_4_p_6_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2624 "list.m"
    {
#line 2624 "list.m"
      MR_bool mercury__list__succeeded;

#line 2624 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2624 "list.m"
        {
#line 2624 "list.m"
          *((mercury__list__env).mercury__list__foldl_4_p_6_env_0__STATE_VARIABLE_A_4) = mercury__list__STATE_VARIABLE_A_0_3;
#line 2624 "list.m"
          {
#line 2624 "list.m"
            ((mercury__list__env).mercury__list__foldl_4_p_6_env_0__cont)((mercury__list__env).mercury__list__foldl_4_p_6_env_0__cont_env_ptr);
#line 2624 "list.m"
            return;
          }
#line 2624 "list.m"
        }
#line 2624 "list.m"
      else
#line 2625 "list.m"
        {
#line 2625 "list.m"
          MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2626 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Cont, void *);

#line 2625 "list.m"
          (mercury__list__env).mercury__list__foldl_4_p_6_env_0__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2626 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__foldl_4_p_6_env_0__P_1, (MR_Integer) 1)));
#line 2626 "list.m"
          {
#line 2626 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__foldl_4_p_6_env_0__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_0_3, &(mercury__list__env).mercury__list__foldl_4_p_6_env_0__STATE_VARIABLE_A_15_15, mercury__list__foldl_4_p_6_1, &mercury__list__env);
          }
#line 2625 "list.m"
        }
#line 2624 "list.m"
    }
#line 753 "list.m"
  }
#line 753 "list.m"
}

#line 752 "list.m"
MR_bool MR_CALL 
mercury__list__foldl_4_p_5(
#line 752 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 752 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 752 "list.m"
  MR_Word mercury__list__P_1,
#line 752 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 752 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 752 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4)
#line 752 "list.m"
{
#line 2624 "list.m"
  while (MR_TRUE)
#line 2624 "list.m"
    {
#line 2624 "list.m"
      /* tailcall optimized into a loop */
#line 2624 "list.m"
      {
#line 2624 "list.m"
        MR_bool mercury__list__succeeded;

#line 2624 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2624 "list.m"
          {
#line 2624 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2624 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2624 "list.m"
          }
#line 2624 "list.m"
        else
#line 2625 "list.m"
          {
#line 2625 "list.m"
            MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2625 "list.m"
            MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2625 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_15_15;
#line 2626 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2626 "list.m"
            {
#line 2626 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_15_15);
            }
#line 2625 "list.m"
            if (mercury__list__succeeded)
#line 2627 "list.m"
              {
#line 2627 "list.m"
                /* direct tailcall eliminated */
#line 2627 "list.m"
                {
#line 2627 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_11;
#line 2627 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_15_15;

#line 2627 "list.m"
                  mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2627 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2627 "list.m"
                }
#line 2627 "list.m"
                continue;
#line 2627 "list.m"
              }
#line 2625 "list.m"
          }
#line 2624 "list.m"
        return mercury__list__succeeded;
#line 2624 "list.m"
      }
#line 2624 "list.m"
      break;
#line 2624 "list.m"
    }
#line 752 "list.m"
}

#line 751 "list.m"
MR_bool MR_CALL 
mercury__list__foldl_4_p_4(
#line 751 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 751 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 751 "list.m"
  MR_Word mercury__list__P_1,
#line 751 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 751 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 751 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4)
#line 751 "list.m"
{
#line 2624 "list.m"
  while (MR_TRUE)
#line 2624 "list.m"
    {
#line 2624 "list.m"
      /* tailcall optimized into a loop */
#line 2624 "list.m"
      {
#line 2624 "list.m"
        MR_bool mercury__list__succeeded;

#line 2624 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2624 "list.m"
          {
#line 2624 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2624 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2624 "list.m"
          }
#line 2624 "list.m"
        else
#line 2625 "list.m"
          {
#line 2625 "list.m"
            MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2625 "list.m"
            MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2625 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_15_15;
#line 2626 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2626 "list.m"
            {
#line 2626 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_15_15);
            }
#line 2625 "list.m"
            if (mercury__list__succeeded)
#line 2627 "list.m"
              {
#line 2627 "list.m"
                /* direct tailcall eliminated */
#line 2627 "list.m"
                {
#line 2627 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_11;
#line 2627 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_15_15;

#line 2627 "list.m"
                  mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2627 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2627 "list.m"
                }
#line 2627 "list.m"
                continue;
#line 2627 "list.m"
              }
#line 2625 "list.m"
          }
#line 2624 "list.m"
        return mercury__list__succeeded;
#line 2624 "list.m"
      }
#line 2624 "list.m"
      break;
#line 2624 "list.m"
    }
#line 751 "list.m"
}

#line 750 "list.m"
MR_bool MR_CALL 
mercury__list__foldl_4_p_3(
#line 750 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 750 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 750 "list.m"
  MR_Word mercury__list__P_1,
#line 750 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 750 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 750 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4)
#line 750 "list.m"
{
#line 2624 "list.m"
  while (MR_TRUE)
#line 2624 "list.m"
    {
#line 2624 "list.m"
      /* tailcall optimized into a loop */
#line 2624 "list.m"
      {
#line 2624 "list.m"
        MR_bool mercury__list__succeeded;

#line 2624 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2624 "list.m"
          {
#line 2624 "list.m"
            *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2624 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2624 "list.m"
          }
#line 2624 "list.m"
        else
#line 2625 "list.m"
          {
#line 2625 "list.m"
            MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2625 "list.m"
            MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2625 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_15_15;
#line 2626 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2626 "list.m"
            {
#line 2626 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_15_15);
            }
#line 2625 "list.m"
            if (mercury__list__succeeded)
#line 2627 "list.m"
              {
#line 2627 "list.m"
                /* direct tailcall eliminated */
#line 2627 "list.m"
                {
#line 2627 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_11;
#line 2627 "list.m"
                  MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_15_15;

#line 2627 "list.m"
                  mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2627 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2627 "list.m"
                }
#line 2627 "list.m"
                continue;
#line 2627 "list.m"
              }
#line 2625 "list.m"
          }
#line 2624 "list.m"
        return mercury__list__succeeded;
#line 2624 "list.m"
      }
#line 2624 "list.m"
      break;
#line 2624 "list.m"
    }
#line 750 "list.m"
}

#line 749 "list.m"
void MR_CALL 
mercury__list__foldl_4_p_2(
#line 749 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 749 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 749 "list.m"
  MR_Word mercury__list__P_1,
#line 749 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 749 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 749 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4)
#line 749 "list.m"
{
#line 2624 "list.m"
  while (MR_TRUE)
#line 2624 "list.m"
    {
#line 2624 "list.m"
      /* tailcall optimized into a loop */
#line 2624 "list.m"
      {
#line 2624 "list.m"
        MR_bool mercury__list__succeeded;

#line 2624 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2624 "list.m"
          *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2624 "list.m"
        else
#line 2625 "list.m"
          {
#line 2625 "list.m"
            MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2625 "list.m"
            MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2625 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_15_15;
#line 2626 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2626 "list.m"
            {
#line 2626 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_15_15);
            }
#line 2627 "list.m"
            /* direct tailcall eliminated */
#line 2627 "list.m"
            {
#line 2627 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_11;
#line 2627 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_15_15;

#line 2627 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2627 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2627 "list.m"
            }
#line 2627 "list.m"
            continue;
#line 2625 "list.m"
          }
#line 2624 "list.m"
      }
#line 2624 "list.m"
      break;
#line 2624 "list.m"
    }
#line 749 "list.m"
}

#line 748 "list.m"
void MR_CALL 
mercury__list__foldl_4_p_1(
#line 748 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 748 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 748 "list.m"
  MR_Word mercury__list__P_1,
#line 748 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 748 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 748 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4)
#line 748 "list.m"
{
#line 2624 "list.m"
  while (MR_TRUE)
#line 2624 "list.m"
    {
#line 2624 "list.m"
      /* tailcall optimized into a loop */
#line 2624 "list.m"
      {
#line 2624 "list.m"
        MR_bool mercury__list__succeeded;

#line 2624 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2624 "list.m"
          *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2624 "list.m"
        else
#line 2625 "list.m"
          {
#line 2625 "list.m"
            MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2625 "list.m"
            MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2625 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_15_15;
#line 2626 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2626 "list.m"
            {
#line 2626 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_15_15);
            }
#line 2627 "list.m"
            /* direct tailcall eliminated */
#line 2627 "list.m"
            {
#line 2627 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_11;
#line 2627 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_15_15;

#line 2627 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2627 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2627 "list.m"
            }
#line 2627 "list.m"
            continue;
#line 2625 "list.m"
          }
#line 2624 "list.m"
      }
#line 2624 "list.m"
      break;
#line 2624 "list.m"
    }
#line 748 "list.m"
}

#line 747 "list.m"
void MR_CALL 
mercury__list__foldl_4_p_0(
#line 747 "list.m"
  MR_Word mercury__list__TypeInfo_for_L_17,
#line 747 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_18,
#line 747 "list.m"
  MR_Word mercury__list__P_1,
#line 747 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 747 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_A_0_3,
#line 747 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_A_4)
#line 747 "list.m"
{
#line 2624 "list.m"
  while (MR_TRUE)
#line 2624 "list.m"
    {
#line 2624 "list.m"
      /* tailcall optimized into a loop */
#line 2624 "list.m"
      {
#line 2624 "list.m"
        MR_bool mercury__list__succeeded;

#line 2624 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2624 "list.m"
          *mercury__list__STATE_VARIABLE_A_4 = mercury__list__STATE_VARIABLE_A_0_3;
#line 2624 "list.m"
        else
#line 2625 "list.m"
          {
#line 2625 "list.m"
            MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2625 "list.m"
            MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2625 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_A_15_15;
#line 2626 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2626 "list.m"
            {
#line 2626 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H_10, mercury__list__STATE_VARIABLE_A_0_3, &mercury__list__STATE_VARIABLE_A_15_15);
            }
#line 2627 "list.m"
            /* direct tailcall eliminated */
#line 2627 "list.m"
            {
#line 2627 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T_11;
#line 2627 "list.m"
              MR_Box mercury__list__STATE_VARIABLE_A_0__tmp_copy_3 = mercury__list__STATE_VARIABLE_A_15_15;

#line 2627 "list.m"
              mercury__list__STATE_VARIABLE_A_0_3 = mercury__list__STATE_VARIABLE_A_0__tmp_copy_3;
#line 2627 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2627 "list.m"
            }
#line 2627 "list.m"
            continue;
#line 2625 "list.m"
          }
#line 2624 "list.m"
      }
#line 2624 "list.m"
      break;
#line 2624 "list.m"
    }
#line 747 "list.m"
}

#line 737 "list.m"
MR_bool MR_CALL 
mercury__list__map_corresponding3_foldl_7_p_5(
#line 737 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_86,
#line 737 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_87,
#line 737 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_88,
#line 737 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_89,
#line 737 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_90,
#line 737 "list.m"
  MR_Word mercury__list__P_1,
#line 737 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 737 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 737 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 737 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 737 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_6,
#line 737 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_7)
#line 737 "list.m"
{
#line 2602 "list.m"
  {
#line 2602 "list.m"
    MR_bool mercury__list__succeeded;

#line 2602 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
      {
#line 2602 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
          if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
            {
#line 2602 "list.m"
              *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2602 "list.m"
              *mercury__list__STATE_VARIABLE_Acc_7 = mercury__list__STATE_VARIABLE_Acc_0_6;
#line 2602 "list.m"
            }
#line 2602 "list.m"
          else
#line 2609 "list.m"
            {
#line 2610 "list.m"
              {
#line 2610 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
              }
#line 2609 "list.m"
            }
#line 2602 "list.m"
        else
#line 2602 "list.m"
          if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2611 "list.m"
            {
#line 2612 "list.m"
              {
#line 2612 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
              }
#line 2611 "list.m"
            }
#line 2602 "list.m"
          else
#line 2603 "list.m"
            {
#line 2604 "list.m"
              {
#line 2604 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
              }
#line 2603 "list.m"
            }
#line 2602 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2602 "list.m"
      }
#line 2602 "list.m"
    else
#line 2602 "list.m"
      {
#line 2602 "list.m"
        MR_Word mercury__list__V_93_93 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2602 "list.m"
        MR_Box mercury__list__V_94_94 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2602 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
          {
#line 2602 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2613 "list.m"
              {
#line 2614 "list.m"
                {
#line 2614 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
                }
#line 2613 "list.m"
              }
#line 2602 "list.m"
            else
#line 2605 "list.m"
              {
#line 2606 "list.m"
                {
#line 2606 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
                }
#line 2605 "list.m"
              }
#line 2602 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2602 "list.m"
          }
#line 2602 "list.m"
        else
#line 2602 "list.m"
          {
#line 2602 "list.m"
            MR_Word mercury__list__V_95_95 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2602 "list.m"
            MR_Box mercury__list__V_96_96 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2602 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2607 "list.m"
              {
#line 2608 "list.m"
                {
#line 2608 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
                }
#line 2607 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2607 "list.m"
              }
#line 2602 "list.m"
            else
#line 2616 "list.m"
              {
#line 2616 "list.m"
                MR_Box mercury__list__C_77 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2616 "list.m"
                MR_Word mercury__list__Cs_78 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2616 "list.m"
                MR_Box mercury__list__D_79;
#line 2616 "list.m"
                MR_Word mercury__list__Ds_80;
#line 2616 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc_84_84;
#line 2617 "list.m"
                MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2617 "list.m"
                {
#line 2617 "list.m"
                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_94_94, mercury__list__V_96_96, mercury__list__C_77, &mercury__list__D_79, mercury__list__STATE_VARIABLE_Acc_0_6, &mercury__list__STATE_VARIABLE_Acc_84_84);
                }
#line 2616 "list.m"
                if (mercury__list__succeeded)
#line 2616 "list.m"
                  {
#line 2618 "list.m"
                    {
#line 2618 "list.m"
                      mercury__list__succeeded = mercury__list__map_corresponding3_foldl_7_p_5(mercury__list__TypeInfo_for_A_86, mercury__list__TypeInfo_for_B_87, mercury__list__TypeInfo_for_C_88, mercury__list__TypeInfo_for_D_89, mercury__list__TypeInfo_for_E_90, mercury__list__P_1, mercury__list__V_93_93, mercury__list__V_95_95, mercury__list__Cs_78, &mercury__list__Ds_80, mercury__list__STATE_VARIABLE_Acc_84_84, mercury__list__STATE_VARIABLE_Acc_7);
                    }
#line 2616 "list.m"
                    if (mercury__list__succeeded)
#line 2616 "list.m"
                      {
#line 2616 "list.m"
                        {
#line 2616 "list.m"
                          MR_Word base;
#line 2616 "list.m"
                          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2616 "list.m"
                          *mercury__list__HeadVar__5_5 = base;
#line 2616 "list.m"
                          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__D_79;
#line 2616 "list.m"
                          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Ds_80));
#line 2616 "list.m"
                        }
#line 2616 "list.m"
                        mercury__list__succeeded = MR_TRUE;
#line 2616 "list.m"
                      }
#line 2616 "list.m"
                  }
#line 2616 "list.m"
              }
#line 2602 "list.m"
          }
#line 2602 "list.m"
      }
#line 2602 "list.m"
    return mercury__list__succeeded;
#line 2602 "list.m"
  }
#line 737 "list.m"
}

#line 734 "list.m"
MR_bool MR_CALL 
mercury__list__map_corresponding3_foldl_7_p_4(
#line 734 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_86,
#line 734 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_87,
#line 734 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_88,
#line 734 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_89,
#line 734 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_90,
#line 734 "list.m"
  MR_Word mercury__list__P_1,
#line 734 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 734 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 734 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 734 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 734 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_6,
#line 734 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_7)
#line 734 "list.m"
{
#line 2602 "list.m"
  {
#line 2602 "list.m"
    MR_bool mercury__list__succeeded;

#line 2602 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
      {
#line 2602 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
          if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
            {
#line 2602 "list.m"
              *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2602 "list.m"
              *mercury__list__STATE_VARIABLE_Acc_7 = mercury__list__STATE_VARIABLE_Acc_0_6;
#line 2602 "list.m"
            }
#line 2602 "list.m"
          else
#line 2609 "list.m"
            {
#line 2610 "list.m"
              {
#line 2610 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
              }
#line 2609 "list.m"
            }
#line 2602 "list.m"
        else
#line 2602 "list.m"
          if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2611 "list.m"
            {
#line 2612 "list.m"
              {
#line 2612 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
              }
#line 2611 "list.m"
            }
#line 2602 "list.m"
          else
#line 2603 "list.m"
            {
#line 2604 "list.m"
              {
#line 2604 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
              }
#line 2603 "list.m"
            }
#line 2602 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2602 "list.m"
      }
#line 2602 "list.m"
    else
#line 2602 "list.m"
      {
#line 2602 "list.m"
        MR_Word mercury__list__V_93_93 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2602 "list.m"
        MR_Box mercury__list__V_94_94 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2602 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
          {
#line 2602 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2613 "list.m"
              {
#line 2614 "list.m"
                {
#line 2614 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
                }
#line 2613 "list.m"
              }
#line 2602 "list.m"
            else
#line 2605 "list.m"
              {
#line 2606 "list.m"
                {
#line 2606 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
                }
#line 2605 "list.m"
              }
#line 2602 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2602 "list.m"
          }
#line 2602 "list.m"
        else
#line 2602 "list.m"
          {
#line 2602 "list.m"
            MR_Word mercury__list__V_95_95 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2602 "list.m"
            MR_Box mercury__list__V_96_96 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2602 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2607 "list.m"
              {
#line 2608 "list.m"
                {
#line 2608 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
                }
#line 2607 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2607 "list.m"
              }
#line 2602 "list.m"
            else
#line 2616 "list.m"
              {
#line 2616 "list.m"
                MR_Box mercury__list__C_77 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2616 "list.m"
                MR_Word mercury__list__Cs_78 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2616 "list.m"
                MR_Box mercury__list__D_79;
#line 2616 "list.m"
                MR_Word mercury__list__Ds_80;
#line 2616 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc_84_84;
#line 2617 "list.m"
                MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2617 "list.m"
                {
#line 2617 "list.m"
                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_94_94, mercury__list__V_96_96, mercury__list__C_77, &mercury__list__D_79, mercury__list__STATE_VARIABLE_Acc_0_6, &mercury__list__STATE_VARIABLE_Acc_84_84);
                }
#line 2616 "list.m"
                if (mercury__list__succeeded)
#line 2616 "list.m"
                  {
#line 2618 "list.m"
                    {
#line 2618 "list.m"
                      mercury__list__succeeded = mercury__list__map_corresponding3_foldl_7_p_4(mercury__list__TypeInfo_for_A_86, mercury__list__TypeInfo_for_B_87, mercury__list__TypeInfo_for_C_88, mercury__list__TypeInfo_for_D_89, mercury__list__TypeInfo_for_E_90, mercury__list__P_1, mercury__list__V_93_93, mercury__list__V_95_95, mercury__list__Cs_78, &mercury__list__Ds_80, mercury__list__STATE_VARIABLE_Acc_84_84, mercury__list__STATE_VARIABLE_Acc_7);
                    }
#line 2616 "list.m"
                    if (mercury__list__succeeded)
#line 2616 "list.m"
                      {
#line 2616 "list.m"
                        {
#line 2616 "list.m"
                          MR_Word base;
#line 2616 "list.m"
                          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2616 "list.m"
                          *mercury__list__HeadVar__5_5 = base;
#line 2616 "list.m"
                          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__D_79;
#line 2616 "list.m"
                          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Ds_80));
#line 2616 "list.m"
                        }
#line 2616 "list.m"
                        mercury__list__succeeded = MR_TRUE;
#line 2616 "list.m"
                      }
#line 2616 "list.m"
                  }
#line 2616 "list.m"
              }
#line 2602 "list.m"
          }
#line 2602 "list.m"
      }
#line 2602 "list.m"
    return mercury__list__succeeded;
#line 2602 "list.m"
  }
#line 734 "list.m"
}

#line 731 "list.m"
MR_bool MR_CALL 
mercury__list__map_corresponding3_foldl_7_p_3(
#line 731 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_86,
#line 731 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_87,
#line 731 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_88,
#line 731 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_89,
#line 731 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_90,
#line 731 "list.m"
  MR_Word mercury__list__P_1,
#line 731 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 731 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 731 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 731 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 731 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_6,
#line 731 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_7)
#line 731 "list.m"
{
#line 2602 "list.m"
  {
#line 2602 "list.m"
    MR_bool mercury__list__succeeded;

#line 2602 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
      {
#line 2602 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
          if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
            {
#line 2602 "list.m"
              *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2602 "list.m"
              *mercury__list__STATE_VARIABLE_Acc_7 = mercury__list__STATE_VARIABLE_Acc_0_6;
#line 2602 "list.m"
            }
#line 2602 "list.m"
          else
#line 2609 "list.m"
            {
#line 2610 "list.m"
              {
#line 2610 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
              }
#line 2609 "list.m"
            }
#line 2602 "list.m"
        else
#line 2602 "list.m"
          if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2611 "list.m"
            {
#line 2612 "list.m"
              {
#line 2612 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
              }
#line 2611 "list.m"
            }
#line 2602 "list.m"
          else
#line 2603 "list.m"
            {
#line 2604 "list.m"
              {
#line 2604 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
              }
#line 2603 "list.m"
            }
#line 2602 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2602 "list.m"
      }
#line 2602 "list.m"
    else
#line 2602 "list.m"
      {
#line 2602 "list.m"
        MR_Word mercury__list__V_93_93 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2602 "list.m"
        MR_Box mercury__list__V_94_94 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2602 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
          {
#line 2602 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2613 "list.m"
              {
#line 2614 "list.m"
                {
#line 2614 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
                }
#line 2613 "list.m"
              }
#line 2602 "list.m"
            else
#line 2605 "list.m"
              {
#line 2606 "list.m"
                {
#line 2606 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
                }
#line 2605 "list.m"
              }
#line 2602 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2602 "list.m"
          }
#line 2602 "list.m"
        else
#line 2602 "list.m"
          {
#line 2602 "list.m"
            MR_Word mercury__list__V_95_95 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2602 "list.m"
            MR_Box mercury__list__V_96_96 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2602 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2607 "list.m"
              {
#line 2608 "list.m"
                {
#line 2608 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
                }
#line 2607 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2607 "list.m"
              }
#line 2602 "list.m"
            else
#line 2616 "list.m"
              {
#line 2616 "list.m"
                MR_Box mercury__list__C_77 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2616 "list.m"
                MR_Word mercury__list__Cs_78 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2616 "list.m"
                MR_Box mercury__list__D_79;
#line 2616 "list.m"
                MR_Word mercury__list__Ds_80;
#line 2616 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc_84_84;
#line 2617 "list.m"
                MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2617 "list.m"
                {
#line 2617 "list.m"
                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_94_94, mercury__list__V_96_96, mercury__list__C_77, &mercury__list__D_79, mercury__list__STATE_VARIABLE_Acc_0_6, &mercury__list__STATE_VARIABLE_Acc_84_84);
                }
#line 2616 "list.m"
                if (mercury__list__succeeded)
#line 2616 "list.m"
                  {
#line 2618 "list.m"
                    {
#line 2618 "list.m"
                      mercury__list__succeeded = mercury__list__map_corresponding3_foldl_7_p_3(mercury__list__TypeInfo_for_A_86, mercury__list__TypeInfo_for_B_87, mercury__list__TypeInfo_for_C_88, mercury__list__TypeInfo_for_D_89, mercury__list__TypeInfo_for_E_90, mercury__list__P_1, mercury__list__V_93_93, mercury__list__V_95_95, mercury__list__Cs_78, &mercury__list__Ds_80, mercury__list__STATE_VARIABLE_Acc_84_84, mercury__list__STATE_VARIABLE_Acc_7);
                    }
#line 2616 "list.m"
                    if (mercury__list__succeeded)
#line 2616 "list.m"
                      {
#line 2616 "list.m"
                        {
#line 2616 "list.m"
                          MR_Word base;
#line 2616 "list.m"
                          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2616 "list.m"
                          *mercury__list__HeadVar__5_5 = base;
#line 2616 "list.m"
                          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__D_79;
#line 2616 "list.m"
                          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Ds_80));
#line 2616 "list.m"
                        }
#line 2616 "list.m"
                        mercury__list__succeeded = MR_TRUE;
#line 2616 "list.m"
                      }
#line 2616 "list.m"
                  }
#line 2616 "list.m"
              }
#line 2602 "list.m"
          }
#line 2602 "list.m"
      }
#line 2602 "list.m"
    return mercury__list__succeeded;
#line 2602 "list.m"
  }
#line 731 "list.m"
}

#line 729 "list.m"
void MR_CALL 
mercury__list__map_corresponding3_foldl_7_p_2(
#line 729 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_86,
#line 729 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_87,
#line 729 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_88,
#line 729 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_89,
#line 729 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_90,
#line 729 "list.m"
  MR_Word mercury__list__P_1,
#line 729 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 729 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 729 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 729 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 729 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_6,
#line 729 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_7)
#line 729 "list.m"
{
#line 2602 "list.m"
  {
#line 2602 "list.m"
    MR_bool mercury__list__succeeded;

#line 2602 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
        if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
          {
#line 2602 "list.m"
            *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2602 "list.m"
            *mercury__list__STATE_VARIABLE_Acc_7 = mercury__list__STATE_VARIABLE_Acc_0_6;
#line 2602 "list.m"
          }
#line 2602 "list.m"
        else
#line 2609 "list.m"
          {
#line 2610 "list.m"
            {
#line 2610 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
#line 2610 "list.m"
              return;
            }
#line 2609 "list.m"
          }
#line 2602 "list.m"
      else
#line 2602 "list.m"
        if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2611 "list.m"
          {
#line 2612 "list.m"
            {
#line 2612 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
#line 2612 "list.m"
              return;
            }
#line 2611 "list.m"
          }
#line 2602 "list.m"
        else
#line 2603 "list.m"
          {
#line 2604 "list.m"
            {
#line 2604 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
#line 2604 "list.m"
              return;
            }
#line 2603 "list.m"
          }
#line 2602 "list.m"
    else
#line 2602 "list.m"
      {
#line 2602 "list.m"
        MR_Word mercury__list__V_93_93 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2602 "list.m"
        MR_Box mercury__list__V_94_94 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2602 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
          if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2613 "list.m"
            {
#line 2614 "list.m"
              {
#line 2614 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
#line 2614 "list.m"
                return;
              }
#line 2613 "list.m"
            }
#line 2602 "list.m"
          else
#line 2605 "list.m"
            {
#line 2606 "list.m"
              {
#line 2606 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
#line 2606 "list.m"
                return;
              }
#line 2605 "list.m"
            }
#line 2602 "list.m"
        else
#line 2602 "list.m"
          {
#line 2602 "list.m"
            MR_Word mercury__list__V_95_95 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2602 "list.m"
            MR_Box mercury__list__V_96_96 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2602 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2607 "list.m"
              {
#line 2608 "list.m"
                {
#line 2608 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
#line 2608 "list.m"
                  return;
                }
#line 2607 "list.m"
              }
#line 2602 "list.m"
            else
#line 2616 "list.m"
              {
#line 2616 "list.m"
                MR_Box mercury__list__C_77 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2616 "list.m"
                MR_Word mercury__list__Cs_78 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2616 "list.m"
                MR_Box mercury__list__D_79;
#line 2616 "list.m"
                MR_Word mercury__list__Ds_80;
#line 2616 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc_84_84;
#line 2617 "list.m"
                void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2617 "list.m"
                {
#line 2617 "list.m"
                  mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_94_94, mercury__list__V_96_96, mercury__list__C_77, &mercury__list__D_79, mercury__list__STATE_VARIABLE_Acc_0_6, &mercury__list__STATE_VARIABLE_Acc_84_84);
                }
#line 2618 "list.m"
                {
#line 2618 "list.m"
                  mercury__list__map_corresponding3_foldl_7_p_2(mercury__list__TypeInfo_for_A_86, mercury__list__TypeInfo_for_B_87, mercury__list__TypeInfo_for_C_88, mercury__list__TypeInfo_for_D_89, mercury__list__TypeInfo_for_E_90, mercury__list__P_1, mercury__list__V_93_93, mercury__list__V_95_95, mercury__list__Cs_78, &mercury__list__Ds_80, mercury__list__STATE_VARIABLE_Acc_84_84, mercury__list__STATE_VARIABLE_Acc_7);
                }
#line 2616 "list.m"
                {
#line 2616 "list.m"
                  MR_Word base;
#line 2616 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2616 "list.m"
                  *mercury__list__HeadVar__5_5 = base;
#line 2616 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__D_79;
#line 2616 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Ds_80));
#line 2616 "list.m"
                }
#line 2616 "list.m"
              }
#line 2602 "list.m"
          }
#line 2602 "list.m"
      }
#line 2602 "list.m"
  }
#line 729 "list.m"
}

#line 727 "list.m"
void MR_CALL 
mercury__list__map_corresponding3_foldl_7_p_1(
#line 727 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_86,
#line 727 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_87,
#line 727 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_88,
#line 727 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_89,
#line 727 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_90,
#line 727 "list.m"
  MR_Word mercury__list__P_1,
#line 727 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 727 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 727 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 727 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 727 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_6,
#line 727 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_7)
#line 727 "list.m"
{
#line 2602 "list.m"
  {
#line 2602 "list.m"
    MR_bool mercury__list__succeeded;

#line 2602 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
        if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
          {
#line 2602 "list.m"
            *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2602 "list.m"
            *mercury__list__STATE_VARIABLE_Acc_7 = mercury__list__STATE_VARIABLE_Acc_0_6;
#line 2602 "list.m"
          }
#line 2602 "list.m"
        else
#line 2609 "list.m"
          {
#line 2610 "list.m"
            {
#line 2610 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
#line 2610 "list.m"
              return;
            }
#line 2609 "list.m"
          }
#line 2602 "list.m"
      else
#line 2602 "list.m"
        if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2611 "list.m"
          {
#line 2612 "list.m"
            {
#line 2612 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
#line 2612 "list.m"
              return;
            }
#line 2611 "list.m"
          }
#line 2602 "list.m"
        else
#line 2603 "list.m"
          {
#line 2604 "list.m"
            {
#line 2604 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
#line 2604 "list.m"
              return;
            }
#line 2603 "list.m"
          }
#line 2602 "list.m"
    else
#line 2602 "list.m"
      {
#line 2602 "list.m"
        MR_Word mercury__list__V_93_93 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2602 "list.m"
        MR_Box mercury__list__V_94_94 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2602 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
          if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2613 "list.m"
            {
#line 2614 "list.m"
              {
#line 2614 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
#line 2614 "list.m"
                return;
              }
#line 2613 "list.m"
            }
#line 2602 "list.m"
          else
#line 2605 "list.m"
            {
#line 2606 "list.m"
              {
#line 2606 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
#line 2606 "list.m"
                return;
              }
#line 2605 "list.m"
            }
#line 2602 "list.m"
        else
#line 2602 "list.m"
          {
#line 2602 "list.m"
            MR_Word mercury__list__V_95_95 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2602 "list.m"
            MR_Box mercury__list__V_96_96 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2602 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2607 "list.m"
              {
#line 2608 "list.m"
                {
#line 2608 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
#line 2608 "list.m"
                  return;
                }
#line 2607 "list.m"
              }
#line 2602 "list.m"
            else
#line 2616 "list.m"
              {
#line 2616 "list.m"
                MR_Box mercury__list__C_77 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2616 "list.m"
                MR_Word mercury__list__Cs_78 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2616 "list.m"
                MR_Box mercury__list__D_79;
#line 2616 "list.m"
                MR_Word mercury__list__Ds_80;
#line 2616 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc_84_84;
#line 2617 "list.m"
                void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2617 "list.m"
                {
#line 2617 "list.m"
                  mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_94_94, mercury__list__V_96_96, mercury__list__C_77, &mercury__list__D_79, mercury__list__STATE_VARIABLE_Acc_0_6, &mercury__list__STATE_VARIABLE_Acc_84_84);
                }
#line 2618 "list.m"
                {
#line 2618 "list.m"
                  mercury__list__map_corresponding3_foldl_7_p_1(mercury__list__TypeInfo_for_A_86, mercury__list__TypeInfo_for_B_87, mercury__list__TypeInfo_for_C_88, mercury__list__TypeInfo_for_D_89, mercury__list__TypeInfo_for_E_90, mercury__list__P_1, mercury__list__V_93_93, mercury__list__V_95_95, mercury__list__Cs_78, &mercury__list__Ds_80, mercury__list__STATE_VARIABLE_Acc_84_84, mercury__list__STATE_VARIABLE_Acc_7);
                }
#line 2616 "list.m"
                {
#line 2616 "list.m"
                  MR_Word base;
#line 2616 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2616 "list.m"
                  *mercury__list__HeadVar__5_5 = base;
#line 2616 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__D_79;
#line 2616 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Ds_80));
#line 2616 "list.m"
                }
#line 2616 "list.m"
              }
#line 2602 "list.m"
          }
#line 2602 "list.m"
      }
#line 2602 "list.m"
  }
#line 727 "list.m"
}

#line 725 "list.m"
void MR_CALL 
mercury__list__map_corresponding3_foldl_7_p_0(
#line 725 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_86,
#line 725 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_87,
#line 725 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_88,
#line 725 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_89,
#line 725 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_90,
#line 725 "list.m"
  MR_Word mercury__list__P_1,
#line 725 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 725 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 725 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 725 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 725 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_6,
#line 725 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_7)
#line 725 "list.m"
{
#line 2602 "list.m"
  {
#line 2602 "list.m"
    MR_bool mercury__list__succeeded;

#line 2602 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
        if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
          {
#line 2602 "list.m"
            *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2602 "list.m"
            *mercury__list__STATE_VARIABLE_Acc_7 = mercury__list__STATE_VARIABLE_Acc_0_6;
#line 2602 "list.m"
          }
#line 2602 "list.m"
        else
#line 2609 "list.m"
          {
#line 2610 "list.m"
            {
#line 2610 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
#line 2610 "list.m"
              return;
            }
#line 2609 "list.m"
          }
#line 2602 "list.m"
      else
#line 2602 "list.m"
        if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2611 "list.m"
          {
#line 2612 "list.m"
            {
#line 2612 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
#line 2612 "list.m"
              return;
            }
#line 2611 "list.m"
          }
#line 2602 "list.m"
        else
#line 2603 "list.m"
          {
#line 2604 "list.m"
            {
#line 2604 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
#line 2604 "list.m"
              return;
            }
#line 2603 "list.m"
          }
#line 2602 "list.m"
    else
#line 2602 "list.m"
      {
#line 2602 "list.m"
        MR_Word mercury__list__V_93_93 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2602 "list.m"
        MR_Box mercury__list__V_94_94 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2602 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "list.m"
          if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2613 "list.m"
            {
#line 2614 "list.m"
              {
#line 2614 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
#line 2614 "list.m"
                return;
              }
#line 2613 "list.m"
            }
#line 2602 "list.m"
          else
#line 2605 "list.m"
            {
#line 2606 "list.m"
              {
#line 2606 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
#line 2606 "list.m"
                return;
              }
#line 2605 "list.m"
            }
#line 2602 "list.m"
        else
#line 2602 "list.m"
          {
#line 2602 "list.m"
            MR_Word mercury__list__V_95_95 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2602 "list.m"
            MR_Box mercury__list__V_96_96 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));

#line 2602 "list.m"
            if ((mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2607 "list.m"
              {
#line 2608 "list.m"
                {
#line 2608 "list.m"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding3_foldl\'/7", (MR_String) "mismatched list lengths");
#line 2608 "list.m"
                  return;
                }
#line 2607 "list.m"
              }
#line 2602 "list.m"
            else
#line 2616 "list.m"
              {
#line 2616 "list.m"
                MR_Box mercury__list__C_77 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2616 "list.m"
                MR_Word mercury__list__Cs_78 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2616 "list.m"
                MR_Box mercury__list__D_79;
#line 2616 "list.m"
                MR_Word mercury__list__Ds_80;
#line 2616 "list.m"
                MR_Box mercury__list__STATE_VARIABLE_Acc_84_84;
#line 2617 "list.m"
                void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2617 "list.m"
                {
#line 2617 "list.m"
                  mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_94_94, mercury__list__V_96_96, mercury__list__C_77, &mercury__list__D_79, mercury__list__STATE_VARIABLE_Acc_0_6, &mercury__list__STATE_VARIABLE_Acc_84_84);
                }
#line 2618 "list.m"
                {
#line 2618 "list.m"
                  mercury__list__map_corresponding3_foldl_7_p_0(mercury__list__TypeInfo_for_A_86, mercury__list__TypeInfo_for_B_87, mercury__list__TypeInfo_for_C_88, mercury__list__TypeInfo_for_D_89, mercury__list__TypeInfo_for_E_90, mercury__list__P_1, mercury__list__V_93_93, mercury__list__V_95_95, mercury__list__Cs_78, &mercury__list__Ds_80, mercury__list__STATE_VARIABLE_Acc_84_84, mercury__list__STATE_VARIABLE_Acc_7);
                }
#line 2616 "list.m"
                {
#line 2616 "list.m"
                  MR_Word base;
#line 2616 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2616 "list.m"
                  *mercury__list__HeadVar__5_5 = base;
#line 2616 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__D_79;
#line 2616 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Ds_80));
#line 2616 "list.m"
                }
#line 2616 "list.m"
              }
#line 2602 "list.m"
          }
#line 2602 "list.m"
      }
#line 2602 "list.m"
  }
#line 725 "list.m"
}

#line 716 "list.m"
MR_bool MR_CALL 
mercury__list__map_corresponding_foldl3_10_p_5(
#line 716 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_69,
#line 716 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_70,
#line 716 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_71,
#line 716 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_72,
#line 716 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_73,
#line 716 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_74,
#line 716 "list.m"
  MR_Word mercury__list__P_1,
#line 716 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 716 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 716 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 716 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 716 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 716 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 716 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8,
#line 716 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_9,
#line 716 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_10)
#line 716 "list.m"
{
#line 2592 "list.m"
  {
#line 2592 "list.m"
    MR_bool mercury__list__succeeded;

#line 2592 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2592 "list.m"
      {
#line 2592 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2592 "list.m"
          {
#line 2592 "list.m"
            *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2592 "list.m"
            *mercury__list__STATE_VARIABLE_Acc3_10 = mercury__list__STATE_VARIABLE_Acc3_0_9;
#line 2592 "list.m"
            *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2592 "list.m"
            *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2592 "list.m"
          }
#line 2592 "list.m"
        else
#line 2593 "list.m"
          {
#line 2594 "list.m"
            {
#line 2594 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl3\'/10", (MR_String) "mismatched list lengths");
            }
#line 2593 "list.m"
          }
#line 2592 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2592 "list.m"
      }
#line 2592 "list.m"
    else
#line 2592 "list.m"
      {
#line 2592 "list.m"
        MR_Word mercury__list__V_75_75 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2592 "list.m"
        MR_Box mercury__list__V_76_76 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2592 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2595 "list.m"
          {
#line 2596 "list.m"
            {
#line 2596 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl3\'/10", (MR_String) "mismatched list lengths");
            }
#line 2595 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2595 "list.m"
          }
#line 2592 "list.m"
        else
#line 2598 "list.m"
          {
#line 2598 "list.m"
            MR_Box mercury__list__B_50 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2598 "list.m"
            MR_Word mercury__list__Bs_51 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2598 "list.m"
            MR_Box mercury__list__C_52;
#line 2598 "list.m"
            MR_Word mercury__list__Cs_53;
#line 2598 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc1_63_63;
#line 2598 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc2_64_64;
#line 2598 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc3_65_65;
#line 2599 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2599 "list.m"
            {
#line 2599 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_76_76, mercury__list__B_50, &mercury__list__C_52, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_63_63, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_64_64, mercury__list__STATE_VARIABLE_Acc3_0_9, &mercury__list__STATE_VARIABLE_Acc3_65_65);
            }
#line 2598 "list.m"
            if (mercury__list__succeeded)
#line 2598 "list.m"
              {
#line 2600 "list.m"
                {
#line 2600 "list.m"
                  mercury__list__succeeded = mercury__list__map_corresponding_foldl3_10_p_5(mercury__list__TypeInfo_for_A_69, mercury__list__TypeInfo_for_B_70, mercury__list__TypeInfo_for_C_71, mercury__list__TypeInfo_for_D_72, mercury__list__TypeInfo_for_E_73, mercury__list__TypeInfo_for_F_74, mercury__list__P_1, mercury__list__V_75_75, mercury__list__Bs_51, &mercury__list__Cs_53, mercury__list__STATE_VARIABLE_Acc1_63_63, mercury__list__STATE_VARIABLE_Acc1_6, mercury__list__STATE_VARIABLE_Acc2_64_64, mercury__list__STATE_VARIABLE_Acc2_8, mercury__list__STATE_VARIABLE_Acc3_65_65, mercury__list__STATE_VARIABLE_Acc3_10);
                }
#line 2598 "list.m"
                if (mercury__list__succeeded)
#line 2598 "list.m"
                  {
#line 2598 "list.m"
                    {
#line 2598 "list.m"
                      MR_Word base;
#line 2598 "list.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2598 "list.m"
                      *mercury__list__HeadVar__4_4 = base;
#line 2598 "list.m"
                      MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_52;
#line 2598 "list.m"
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_53));
#line 2598 "list.m"
                    }
#line 2598 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2598 "list.m"
                  }
#line 2598 "list.m"
              }
#line 2598 "list.m"
          }
#line 2592 "list.m"
      }
#line 2592 "list.m"
    return mercury__list__succeeded;
#line 2592 "list.m"
  }
#line 716 "list.m"
}

#line 713 "list.m"
MR_bool MR_CALL 
mercury__list__map_corresponding_foldl3_10_p_4(
#line 713 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_69,
#line 713 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_70,
#line 713 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_71,
#line 713 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_72,
#line 713 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_73,
#line 713 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_74,
#line 713 "list.m"
  MR_Word mercury__list__P_1,
#line 713 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 713 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 713 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 713 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 713 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 713 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 713 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8,
#line 713 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_9,
#line 713 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_10)
#line 713 "list.m"
{
#line 2592 "list.m"
  {
#line 2592 "list.m"
    MR_bool mercury__list__succeeded;

#line 2592 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2592 "list.m"
      {
#line 2592 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2592 "list.m"
          {
#line 2592 "list.m"
            *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2592 "list.m"
            *mercury__list__STATE_VARIABLE_Acc3_10 = mercury__list__STATE_VARIABLE_Acc3_0_9;
#line 2592 "list.m"
            *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2592 "list.m"
            *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2592 "list.m"
          }
#line 2592 "list.m"
        else
#line 2593 "list.m"
          {
#line 2594 "list.m"
            {
#line 2594 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl3\'/10", (MR_String) "mismatched list lengths");
            }
#line 2593 "list.m"
          }
#line 2592 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2592 "list.m"
      }
#line 2592 "list.m"
    else
#line 2592 "list.m"
      {
#line 2592 "list.m"
        MR_Word mercury__list__V_75_75 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2592 "list.m"
        MR_Box mercury__list__V_76_76 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2592 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2595 "list.m"
          {
#line 2596 "list.m"
            {
#line 2596 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl3\'/10", (MR_String) "mismatched list lengths");
            }
#line 2595 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2595 "list.m"
          }
#line 2592 "list.m"
        else
#line 2598 "list.m"
          {
#line 2598 "list.m"
            MR_Box mercury__list__B_50 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2598 "list.m"
            MR_Word mercury__list__Bs_51 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2598 "list.m"
            MR_Box mercury__list__C_52;
#line 2598 "list.m"
            MR_Word mercury__list__Cs_53;
#line 2598 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc1_63_63;
#line 2598 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc2_64_64;
#line 2598 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc3_65_65;
#line 2599 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2599 "list.m"
            {
#line 2599 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_76_76, mercury__list__B_50, &mercury__list__C_52, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_63_63, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_64_64, mercury__list__STATE_VARIABLE_Acc3_0_9, &mercury__list__STATE_VARIABLE_Acc3_65_65);
            }
#line 2598 "list.m"
            if (mercury__list__succeeded)
#line 2598 "list.m"
              {
#line 2600 "list.m"
                {
#line 2600 "list.m"
                  mercury__list__succeeded = mercury__list__map_corresponding_foldl3_10_p_4(mercury__list__TypeInfo_for_A_69, mercury__list__TypeInfo_for_B_70, mercury__list__TypeInfo_for_C_71, mercury__list__TypeInfo_for_D_72, mercury__list__TypeInfo_for_E_73, mercury__list__TypeInfo_for_F_74, mercury__list__P_1, mercury__list__V_75_75, mercury__list__Bs_51, &mercury__list__Cs_53, mercury__list__STATE_VARIABLE_Acc1_63_63, mercury__list__STATE_VARIABLE_Acc1_6, mercury__list__STATE_VARIABLE_Acc2_64_64, mercury__list__STATE_VARIABLE_Acc2_8, mercury__list__STATE_VARIABLE_Acc3_65_65, mercury__list__STATE_VARIABLE_Acc3_10);
                }
#line 2598 "list.m"
                if (mercury__list__succeeded)
#line 2598 "list.m"
                  {
#line 2598 "list.m"
                    {
#line 2598 "list.m"
                      MR_Word base;
#line 2598 "list.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2598 "list.m"
                      *mercury__list__HeadVar__4_4 = base;
#line 2598 "list.m"
                      MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_52;
#line 2598 "list.m"
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_53));
#line 2598 "list.m"
                    }
#line 2598 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2598 "list.m"
                  }
#line 2598 "list.m"
              }
#line 2598 "list.m"
          }
#line 2592 "list.m"
      }
#line 2592 "list.m"
    return mercury__list__succeeded;
#line 2592 "list.m"
  }
#line 713 "list.m"
}

#line 710 "list.m"
MR_bool MR_CALL 
mercury__list__map_corresponding_foldl3_10_p_3(
#line 710 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_69,
#line 710 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_70,
#line 710 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_71,
#line 710 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_72,
#line 710 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_73,
#line 710 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_74,
#line 710 "list.m"
  MR_Word mercury__list__P_1,
#line 710 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 710 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 710 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 710 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 710 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 710 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 710 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8,
#line 710 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_9,
#line 710 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_10)
#line 710 "list.m"
{
#line 2592 "list.m"
  {
#line 2592 "list.m"
    MR_bool mercury__list__succeeded;

#line 2592 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2592 "list.m"
      {
#line 2592 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2592 "list.m"
          {
#line 2592 "list.m"
            *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2592 "list.m"
            *mercury__list__STATE_VARIABLE_Acc3_10 = mercury__list__STATE_VARIABLE_Acc3_0_9;
#line 2592 "list.m"
            *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2592 "list.m"
            *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2592 "list.m"
          }
#line 2592 "list.m"
        else
#line 2593 "list.m"
          {
#line 2594 "list.m"
            {
#line 2594 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl3\'/10", (MR_String) "mismatched list lengths");
            }
#line 2593 "list.m"
          }
#line 2592 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2592 "list.m"
      }
#line 2592 "list.m"
    else
#line 2592 "list.m"
      {
#line 2592 "list.m"
        MR_Word mercury__list__V_75_75 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2592 "list.m"
        MR_Box mercury__list__V_76_76 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2592 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2595 "list.m"
          {
#line 2596 "list.m"
            {
#line 2596 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl3\'/10", (MR_String) "mismatched list lengths");
            }
#line 2595 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2595 "list.m"
          }
#line 2592 "list.m"
        else
#line 2598 "list.m"
          {
#line 2598 "list.m"
            MR_Box mercury__list__B_50 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2598 "list.m"
            MR_Word mercury__list__Bs_51 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2598 "list.m"
            MR_Box mercury__list__C_52;
#line 2598 "list.m"
            MR_Word mercury__list__Cs_53;
#line 2598 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc1_63_63;
#line 2598 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc2_64_64;
#line 2598 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc3_65_65;
#line 2599 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2599 "list.m"
            {
#line 2599 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_76_76, mercury__list__B_50, &mercury__list__C_52, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_63_63, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_64_64, mercury__list__STATE_VARIABLE_Acc3_0_9, &mercury__list__STATE_VARIABLE_Acc3_65_65);
            }
#line 2598 "list.m"
            if (mercury__list__succeeded)
#line 2598 "list.m"
              {
#line 2600 "list.m"
                {
#line 2600 "list.m"
                  mercury__list__succeeded = mercury__list__map_corresponding_foldl3_10_p_3(mercury__list__TypeInfo_for_A_69, mercury__list__TypeInfo_for_B_70, mercury__list__TypeInfo_for_C_71, mercury__list__TypeInfo_for_D_72, mercury__list__TypeInfo_for_E_73, mercury__list__TypeInfo_for_F_74, mercury__list__P_1, mercury__list__V_75_75, mercury__list__Bs_51, &mercury__list__Cs_53, mercury__list__STATE_VARIABLE_Acc1_63_63, mercury__list__STATE_VARIABLE_Acc1_6, mercury__list__STATE_VARIABLE_Acc2_64_64, mercury__list__STATE_VARIABLE_Acc2_8, mercury__list__STATE_VARIABLE_Acc3_65_65, mercury__list__STATE_VARIABLE_Acc3_10);
                }
#line 2598 "list.m"
                if (mercury__list__succeeded)
#line 2598 "list.m"
                  {
#line 2598 "list.m"
                    {
#line 2598 "list.m"
                      MR_Word base;
#line 2598 "list.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2598 "list.m"
                      *mercury__list__HeadVar__4_4 = base;
#line 2598 "list.m"
                      MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_52;
#line 2598 "list.m"
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_53));
#line 2598 "list.m"
                    }
#line 2598 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2598 "list.m"
                  }
#line 2598 "list.m"
              }
#line 2598 "list.m"
          }
#line 2592 "list.m"
      }
#line 2592 "list.m"
    return mercury__list__succeeded;
#line 2592 "list.m"
  }
#line 710 "list.m"
}

#line 707 "list.m"
void MR_CALL 
mercury__list__map_corresponding_foldl3_10_p_2(
#line 707 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_69,
#line 707 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_70,
#line 707 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_71,
#line 707 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_72,
#line 707 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_73,
#line 707 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_74,
#line 707 "list.m"
  MR_Word mercury__list__P_1,
#line 707 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 707 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 707 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 707 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 707 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 707 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 707 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8,
#line 707 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_9,
#line 707 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_10)
#line 707 "list.m"
{
#line 2592 "list.m"
  {
#line 2592 "list.m"
    MR_bool mercury__list__succeeded;

#line 2592 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2592 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2592 "list.m"
        {
#line 2592 "list.m"
          *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2592 "list.m"
          *mercury__list__STATE_VARIABLE_Acc3_10 = mercury__list__STATE_VARIABLE_Acc3_0_9;
#line 2592 "list.m"
          *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2592 "list.m"
          *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2592 "list.m"
        }
#line 2592 "list.m"
      else
#line 2593 "list.m"
        {
#line 2594 "list.m"
          {
#line 2594 "list.m"
            mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl3\'/10", (MR_String) "mismatched list lengths");
#line 2594 "list.m"
            return;
          }
#line 2593 "list.m"
        }
#line 2592 "list.m"
    else
#line 2592 "list.m"
      {
#line 2592 "list.m"
        MR_Word mercury__list__V_75_75 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2592 "list.m"
        MR_Box mercury__list__V_76_76 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2592 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2595 "list.m"
          {
#line 2596 "list.m"
            {
#line 2596 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl3\'/10", (MR_String) "mismatched list lengths");
#line 2596 "list.m"
              return;
            }
#line 2595 "list.m"
          }
#line 2592 "list.m"
        else
#line 2598 "list.m"
          {
#line 2598 "list.m"
            MR_Box mercury__list__B_50 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2598 "list.m"
            MR_Word mercury__list__Bs_51 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2598 "list.m"
            MR_Box mercury__list__C_52;
#line 2598 "list.m"
            MR_Word mercury__list__Cs_53;
#line 2598 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc1_63_63;
#line 2598 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc2_64_64;
#line 2598 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc3_65_65;
#line 2599 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2599 "list.m"
            {
#line 2599 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_76_76, mercury__list__B_50, &mercury__list__C_52, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_63_63, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_64_64, mercury__list__STATE_VARIABLE_Acc3_0_9, &mercury__list__STATE_VARIABLE_Acc3_65_65);
            }
#line 2600 "list.m"
            {
#line 2600 "list.m"
              mercury__list__map_corresponding_foldl3_10_p_2(mercury__list__TypeInfo_for_A_69, mercury__list__TypeInfo_for_B_70, mercury__list__TypeInfo_for_C_71, mercury__list__TypeInfo_for_D_72, mercury__list__TypeInfo_for_E_73, mercury__list__TypeInfo_for_F_74, mercury__list__P_1, mercury__list__V_75_75, mercury__list__Bs_51, &mercury__list__Cs_53, mercury__list__STATE_VARIABLE_Acc1_63_63, mercury__list__STATE_VARIABLE_Acc1_6, mercury__list__STATE_VARIABLE_Acc2_64_64, mercury__list__STATE_VARIABLE_Acc2_8, mercury__list__STATE_VARIABLE_Acc3_65_65, mercury__list__STATE_VARIABLE_Acc3_10);
            }
#line 2598 "list.m"
            {
#line 2598 "list.m"
              MR_Word base;
#line 2598 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2598 "list.m"
              *mercury__list__HeadVar__4_4 = base;
#line 2598 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_52;
#line 2598 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_53));
#line 2598 "list.m"
            }
#line 2598 "list.m"
          }
#line 2592 "list.m"
      }
#line 2592 "list.m"
  }
#line 707 "list.m"
}

#line 704 "list.m"
void MR_CALL 
mercury__list__map_corresponding_foldl3_10_p_1(
#line 704 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_69,
#line 704 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_70,
#line 704 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_71,
#line 704 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_72,
#line 704 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_73,
#line 704 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_74,
#line 704 "list.m"
  MR_Word mercury__list__P_1,
#line 704 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 704 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 704 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 704 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 704 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 704 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 704 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8,
#line 704 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_9,
#line 704 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_10)
#line 704 "list.m"
{
#line 2592 "list.m"
  {
#line 2592 "list.m"
    MR_bool mercury__list__succeeded;

#line 2592 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2592 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2592 "list.m"
        {
#line 2592 "list.m"
          *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2592 "list.m"
          *mercury__list__STATE_VARIABLE_Acc3_10 = mercury__list__STATE_VARIABLE_Acc3_0_9;
#line 2592 "list.m"
          *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2592 "list.m"
          *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2592 "list.m"
        }
#line 2592 "list.m"
      else
#line 2593 "list.m"
        {
#line 2594 "list.m"
          {
#line 2594 "list.m"
            mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl3\'/10", (MR_String) "mismatched list lengths");
#line 2594 "list.m"
            return;
          }
#line 2593 "list.m"
        }
#line 2592 "list.m"
    else
#line 2592 "list.m"
      {
#line 2592 "list.m"
        MR_Word mercury__list__V_75_75 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2592 "list.m"
        MR_Box mercury__list__V_76_76 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2592 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2595 "list.m"
          {
#line 2596 "list.m"
            {
#line 2596 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl3\'/10", (MR_String) "mismatched list lengths");
#line 2596 "list.m"
              return;
            }
#line 2595 "list.m"
          }
#line 2592 "list.m"
        else
#line 2598 "list.m"
          {
#line 2598 "list.m"
            MR_Box mercury__list__B_50 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2598 "list.m"
            MR_Word mercury__list__Bs_51 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2598 "list.m"
            MR_Box mercury__list__C_52;
#line 2598 "list.m"
            MR_Word mercury__list__Cs_53;
#line 2598 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc1_63_63;
#line 2598 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc2_64_64;
#line 2598 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc3_65_65;
#line 2599 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2599 "list.m"
            {
#line 2599 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_76_76, mercury__list__B_50, &mercury__list__C_52, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_63_63, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_64_64, mercury__list__STATE_VARIABLE_Acc3_0_9, &mercury__list__STATE_VARIABLE_Acc3_65_65);
            }
#line 2600 "list.m"
            {
#line 2600 "list.m"
              mercury__list__map_corresponding_foldl3_10_p_1(mercury__list__TypeInfo_for_A_69, mercury__list__TypeInfo_for_B_70, mercury__list__TypeInfo_for_C_71, mercury__list__TypeInfo_for_D_72, mercury__list__TypeInfo_for_E_73, mercury__list__TypeInfo_for_F_74, mercury__list__P_1, mercury__list__V_75_75, mercury__list__Bs_51, &mercury__list__Cs_53, mercury__list__STATE_VARIABLE_Acc1_63_63, mercury__list__STATE_VARIABLE_Acc1_6, mercury__list__STATE_VARIABLE_Acc2_64_64, mercury__list__STATE_VARIABLE_Acc2_8, mercury__list__STATE_VARIABLE_Acc3_65_65, mercury__list__STATE_VARIABLE_Acc3_10);
            }
#line 2598 "list.m"
            {
#line 2598 "list.m"
              MR_Word base;
#line 2598 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2598 "list.m"
              *mercury__list__HeadVar__4_4 = base;
#line 2598 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_52;
#line 2598 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_53));
#line 2598 "list.m"
            }
#line 2598 "list.m"
          }
#line 2592 "list.m"
      }
#line 2592 "list.m"
  }
#line 704 "list.m"
}

#line 701 "list.m"
void MR_CALL 
mercury__list__map_corresponding_foldl3_10_p_0(
#line 701 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_69,
#line 701 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_70,
#line 701 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_71,
#line 701 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_72,
#line 701 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_73,
#line 701 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_74,
#line 701 "list.m"
  MR_Word mercury__list__P_1,
#line 701 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 701 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 701 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 701 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 701 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 701 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 701 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8,
#line 701 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc3_0_9,
#line 701 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc3_10)
#line 701 "list.m"
{
#line 2592 "list.m"
  {
#line 2592 "list.m"
    MR_bool mercury__list__succeeded;

#line 2592 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2592 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2592 "list.m"
        {
#line 2592 "list.m"
          *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2592 "list.m"
          *mercury__list__STATE_VARIABLE_Acc3_10 = mercury__list__STATE_VARIABLE_Acc3_0_9;
#line 2592 "list.m"
          *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2592 "list.m"
          *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2592 "list.m"
        }
#line 2592 "list.m"
      else
#line 2593 "list.m"
        {
#line 2594 "list.m"
          {
#line 2594 "list.m"
            mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl3\'/10", (MR_String) "mismatched list lengths");
#line 2594 "list.m"
            return;
          }
#line 2593 "list.m"
        }
#line 2592 "list.m"
    else
#line 2592 "list.m"
      {
#line 2592 "list.m"
        MR_Word mercury__list__V_75_75 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2592 "list.m"
        MR_Box mercury__list__V_76_76 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2592 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2595 "list.m"
          {
#line 2596 "list.m"
            {
#line 2596 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl3\'/10", (MR_String) "mismatched list lengths");
#line 2596 "list.m"
              return;
            }
#line 2595 "list.m"
          }
#line 2592 "list.m"
        else
#line 2598 "list.m"
          {
#line 2598 "list.m"
            MR_Box mercury__list__B_50 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2598 "list.m"
            MR_Word mercury__list__Bs_51 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2598 "list.m"
            MR_Box mercury__list__C_52;
#line 2598 "list.m"
            MR_Word mercury__list__Cs_53;
#line 2598 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc1_63_63;
#line 2598 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc2_64_64;
#line 2598 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc3_65_65;
#line 2599 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2599 "list.m"
            {
#line 2599 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_76_76, mercury__list__B_50, &mercury__list__C_52, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_63_63, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_64_64, mercury__list__STATE_VARIABLE_Acc3_0_9, &mercury__list__STATE_VARIABLE_Acc3_65_65);
            }
#line 2600 "list.m"
            {
#line 2600 "list.m"
              mercury__list__map_corresponding_foldl3_10_p_0(mercury__list__TypeInfo_for_A_69, mercury__list__TypeInfo_for_B_70, mercury__list__TypeInfo_for_C_71, mercury__list__TypeInfo_for_D_72, mercury__list__TypeInfo_for_E_73, mercury__list__TypeInfo_for_F_74, mercury__list__P_1, mercury__list__V_75_75, mercury__list__Bs_51, &mercury__list__Cs_53, mercury__list__STATE_VARIABLE_Acc1_63_63, mercury__list__STATE_VARIABLE_Acc1_6, mercury__list__STATE_VARIABLE_Acc2_64_64, mercury__list__STATE_VARIABLE_Acc2_8, mercury__list__STATE_VARIABLE_Acc3_65_65, mercury__list__STATE_VARIABLE_Acc3_10);
            }
#line 2598 "list.m"
            {
#line 2598 "list.m"
              MR_Word base;
#line 2598 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2598 "list.m"
              *mercury__list__HeadVar__4_4 = base;
#line 2598 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_52;
#line 2598 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_53));
#line 2598 "list.m"
            }
#line 2598 "list.m"
          }
#line 2592 "list.m"
      }
#line 2592 "list.m"
  }
#line 701 "list.m"
}

#line 692 "list.m"
MR_bool MR_CALL 
mercury__list__map_corresponding_foldl2_8_p_5(
#line 692 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_55,
#line 692 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_56,
#line 692 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_57,
#line 692 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_58,
#line 692 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_59,
#line 692 "list.m"
  MR_Word mercury__list__P_1,
#line 692 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 692 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 692 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 692 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 692 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 692 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 692 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8)
#line 692 "list.m"
{
#line 2583 "list.m"
  {
#line 2583 "list.m"
    MR_bool mercury__list__succeeded;

#line 2583 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2583 "list.m"
      {
#line 2583 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2583 "list.m"
          {
#line 2583 "list.m"
            *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2583 "list.m"
            *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2583 "list.m"
            *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2583 "list.m"
          }
#line 2583 "list.m"
        else
#line 2584 "list.m"
          {
#line 2585 "list.m"
            {
#line 2585 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl2\'/8", (MR_String) "mismatched list lengths");
            }
#line 2584 "list.m"
          }
#line 2583 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2583 "list.m"
      }
#line 2583 "list.m"
    else
#line 2583 "list.m"
      {
#line 2583 "list.m"
        MR_Word mercury__list__V_60_60 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2583 "list.m"
        MR_Box mercury__list__V_61_61 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2583 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2586 "list.m"
          {
#line 2587 "list.m"
            {
#line 2587 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl2\'/8", (MR_String) "mismatched list lengths");
            }
#line 2586 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2586 "list.m"
          }
#line 2583 "list.m"
        else
#line 2588 "list.m"
          {
#line 2588 "list.m"
            MR_Box mercury__list__B_41 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2588 "list.m"
            MR_Word mercury__list__Bs_42 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2588 "list.m"
            MR_Box mercury__list__C_43;
#line 2588 "list.m"
            MR_Word mercury__list__Cs_44;
#line 2588 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc1_51_51;
#line 2588 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc2_52_52;
#line 2589 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2589 "list.m"
            {
#line 2589 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_61_61, mercury__list__B_41, &mercury__list__C_43, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_51_51, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_52_52);
            }
#line 2588 "list.m"
            if (mercury__list__succeeded)
#line 2588 "list.m"
              {
#line 2590 "list.m"
                {
#line 2590 "list.m"
                  mercury__list__succeeded = mercury__list__map_corresponding_foldl2_8_p_5(mercury__list__TypeInfo_for_A_55, mercury__list__TypeInfo_for_B_56, mercury__list__TypeInfo_for_C_57, mercury__list__TypeInfo_for_D_58, mercury__list__TypeInfo_for_E_59, mercury__list__P_1, mercury__list__V_60_60, mercury__list__Bs_42, &mercury__list__Cs_44, mercury__list__STATE_VARIABLE_Acc1_51_51, mercury__list__STATE_VARIABLE_Acc1_6, mercury__list__STATE_VARIABLE_Acc2_52_52, mercury__list__STATE_VARIABLE_Acc2_8);
                }
#line 2588 "list.m"
                if (mercury__list__succeeded)
#line 2588 "list.m"
                  {
#line 2588 "list.m"
                    {
#line 2588 "list.m"
                      MR_Word base;
#line 2588 "list.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2588 "list.m"
                      *mercury__list__HeadVar__4_4 = base;
#line 2588 "list.m"
                      MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_43;
#line 2588 "list.m"
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_44));
#line 2588 "list.m"
                    }
#line 2588 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2588 "list.m"
                  }
#line 2588 "list.m"
              }
#line 2588 "list.m"
          }
#line 2583 "list.m"
      }
#line 2583 "list.m"
    return mercury__list__succeeded;
#line 2583 "list.m"
  }
#line 692 "list.m"
}

#line 689 "list.m"
MR_bool MR_CALL 
mercury__list__map_corresponding_foldl2_8_p_4(
#line 689 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_55,
#line 689 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_56,
#line 689 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_57,
#line 689 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_58,
#line 689 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_59,
#line 689 "list.m"
  MR_Word mercury__list__P_1,
#line 689 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 689 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 689 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 689 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 689 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 689 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 689 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8)
#line 689 "list.m"
{
#line 2583 "list.m"
  {
#line 2583 "list.m"
    MR_bool mercury__list__succeeded;

#line 2583 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2583 "list.m"
      {
#line 2583 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2583 "list.m"
          {
#line 2583 "list.m"
            *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2583 "list.m"
            *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2583 "list.m"
            *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2583 "list.m"
          }
#line 2583 "list.m"
        else
#line 2584 "list.m"
          {
#line 2585 "list.m"
            {
#line 2585 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl2\'/8", (MR_String) "mismatched list lengths");
            }
#line 2584 "list.m"
          }
#line 2583 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2583 "list.m"
      }
#line 2583 "list.m"
    else
#line 2583 "list.m"
      {
#line 2583 "list.m"
        MR_Word mercury__list__V_60_60 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2583 "list.m"
        MR_Box mercury__list__V_61_61 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2583 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2586 "list.m"
          {
#line 2587 "list.m"
            {
#line 2587 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl2\'/8", (MR_String) "mismatched list lengths");
            }
#line 2586 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2586 "list.m"
          }
#line 2583 "list.m"
        else
#line 2588 "list.m"
          {
#line 2588 "list.m"
            MR_Box mercury__list__B_41 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2588 "list.m"
            MR_Word mercury__list__Bs_42 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2588 "list.m"
            MR_Box mercury__list__C_43;
#line 2588 "list.m"
            MR_Word mercury__list__Cs_44;
#line 2588 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc1_51_51;
#line 2588 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc2_52_52;
#line 2589 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2589 "list.m"
            {
#line 2589 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_61_61, mercury__list__B_41, &mercury__list__C_43, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_51_51, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_52_52);
            }
#line 2588 "list.m"
            if (mercury__list__succeeded)
#line 2588 "list.m"
              {
#line 2590 "list.m"
                {
#line 2590 "list.m"
                  mercury__list__succeeded = mercury__list__map_corresponding_foldl2_8_p_4(mercury__list__TypeInfo_for_A_55, mercury__list__TypeInfo_for_B_56, mercury__list__TypeInfo_for_C_57, mercury__list__TypeInfo_for_D_58, mercury__list__TypeInfo_for_E_59, mercury__list__P_1, mercury__list__V_60_60, mercury__list__Bs_42, &mercury__list__Cs_44, mercury__list__STATE_VARIABLE_Acc1_51_51, mercury__list__STATE_VARIABLE_Acc1_6, mercury__list__STATE_VARIABLE_Acc2_52_52, mercury__list__STATE_VARIABLE_Acc2_8);
                }
#line 2588 "list.m"
                if (mercury__list__succeeded)
#line 2588 "list.m"
                  {
#line 2588 "list.m"
                    {
#line 2588 "list.m"
                      MR_Word base;
#line 2588 "list.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2588 "list.m"
                      *mercury__list__HeadVar__4_4 = base;
#line 2588 "list.m"
                      MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_43;
#line 2588 "list.m"
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_44));
#line 2588 "list.m"
                    }
#line 2588 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2588 "list.m"
                  }
#line 2588 "list.m"
              }
#line 2588 "list.m"
          }
#line 2583 "list.m"
      }
#line 2583 "list.m"
    return mercury__list__succeeded;
#line 2583 "list.m"
  }
#line 689 "list.m"
}

#line 686 "list.m"
MR_bool MR_CALL 
mercury__list__map_corresponding_foldl2_8_p_3(
#line 686 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_55,
#line 686 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_56,
#line 686 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_57,
#line 686 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_58,
#line 686 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_59,
#line 686 "list.m"
  MR_Word mercury__list__P_1,
#line 686 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 686 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 686 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 686 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 686 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 686 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 686 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8)
#line 686 "list.m"
{
#line 2583 "list.m"
  {
#line 2583 "list.m"
    MR_bool mercury__list__succeeded;

#line 2583 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2583 "list.m"
      {
#line 2583 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2583 "list.m"
          {
#line 2583 "list.m"
            *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2583 "list.m"
            *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2583 "list.m"
            *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2583 "list.m"
          }
#line 2583 "list.m"
        else
#line 2584 "list.m"
          {
#line 2585 "list.m"
            {
#line 2585 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl2\'/8", (MR_String) "mismatched list lengths");
            }
#line 2584 "list.m"
          }
#line 2583 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2583 "list.m"
      }
#line 2583 "list.m"
    else
#line 2583 "list.m"
      {
#line 2583 "list.m"
        MR_Word mercury__list__V_60_60 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2583 "list.m"
        MR_Box mercury__list__V_61_61 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2583 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2586 "list.m"
          {
#line 2587 "list.m"
            {
#line 2587 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl2\'/8", (MR_String) "mismatched list lengths");
            }
#line 2586 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2586 "list.m"
          }
#line 2583 "list.m"
        else
#line 2588 "list.m"
          {
#line 2588 "list.m"
            MR_Box mercury__list__B_41 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2588 "list.m"
            MR_Word mercury__list__Bs_42 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2588 "list.m"
            MR_Box mercury__list__C_43;
#line 2588 "list.m"
            MR_Word mercury__list__Cs_44;
#line 2588 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc1_51_51;
#line 2588 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc2_52_52;
#line 2589 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2589 "list.m"
            {
#line 2589 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_61_61, mercury__list__B_41, &mercury__list__C_43, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_51_51, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_52_52);
            }
#line 2588 "list.m"
            if (mercury__list__succeeded)
#line 2588 "list.m"
              {
#line 2590 "list.m"
                {
#line 2590 "list.m"
                  mercury__list__succeeded = mercury__list__map_corresponding_foldl2_8_p_3(mercury__list__TypeInfo_for_A_55, mercury__list__TypeInfo_for_B_56, mercury__list__TypeInfo_for_C_57, mercury__list__TypeInfo_for_D_58, mercury__list__TypeInfo_for_E_59, mercury__list__P_1, mercury__list__V_60_60, mercury__list__Bs_42, &mercury__list__Cs_44, mercury__list__STATE_VARIABLE_Acc1_51_51, mercury__list__STATE_VARIABLE_Acc1_6, mercury__list__STATE_VARIABLE_Acc2_52_52, mercury__list__STATE_VARIABLE_Acc2_8);
                }
#line 2588 "list.m"
                if (mercury__list__succeeded)
#line 2588 "list.m"
                  {
#line 2588 "list.m"
                    {
#line 2588 "list.m"
                      MR_Word base;
#line 2588 "list.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2588 "list.m"
                      *mercury__list__HeadVar__4_4 = base;
#line 2588 "list.m"
                      MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_43;
#line 2588 "list.m"
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_44));
#line 2588 "list.m"
                    }
#line 2588 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2588 "list.m"
                  }
#line 2588 "list.m"
              }
#line 2588 "list.m"
          }
#line 2583 "list.m"
      }
#line 2583 "list.m"
    return mercury__list__succeeded;
#line 2583 "list.m"
  }
#line 686 "list.m"
}

#line 683 "list.m"
void MR_CALL 
mercury__list__map_corresponding_foldl2_8_p_2(
#line 683 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_55,
#line 683 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_56,
#line 683 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_57,
#line 683 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_58,
#line 683 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_59,
#line 683 "list.m"
  MR_Word mercury__list__P_1,
#line 683 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 683 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 683 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 683 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 683 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 683 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 683 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8)
#line 683 "list.m"
{
#line 2583 "list.m"
  {
#line 2583 "list.m"
    MR_bool mercury__list__succeeded;

#line 2583 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2583 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2583 "list.m"
        {
#line 2583 "list.m"
          *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2583 "list.m"
          *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2583 "list.m"
          *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2583 "list.m"
        }
#line 2583 "list.m"
      else
#line 2584 "list.m"
        {
#line 2585 "list.m"
          {
#line 2585 "list.m"
            mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl2\'/8", (MR_String) "mismatched list lengths");
#line 2585 "list.m"
            return;
          }
#line 2584 "list.m"
        }
#line 2583 "list.m"
    else
#line 2583 "list.m"
      {
#line 2583 "list.m"
        MR_Word mercury__list__V_60_60 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2583 "list.m"
        MR_Box mercury__list__V_61_61 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2583 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2586 "list.m"
          {
#line 2587 "list.m"
            {
#line 2587 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl2\'/8", (MR_String) "mismatched list lengths");
#line 2587 "list.m"
              return;
            }
#line 2586 "list.m"
          }
#line 2583 "list.m"
        else
#line 2588 "list.m"
          {
#line 2588 "list.m"
            MR_Box mercury__list__B_41 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2588 "list.m"
            MR_Word mercury__list__Bs_42 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2588 "list.m"
            MR_Box mercury__list__C_43;
#line 2588 "list.m"
            MR_Word mercury__list__Cs_44;
#line 2588 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc1_51_51;
#line 2588 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc2_52_52;
#line 2589 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2589 "list.m"
            {
#line 2589 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_61_61, mercury__list__B_41, &mercury__list__C_43, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_51_51, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_52_52);
            }
#line 2590 "list.m"
            {
#line 2590 "list.m"
              mercury__list__map_corresponding_foldl2_8_p_2(mercury__list__TypeInfo_for_A_55, mercury__list__TypeInfo_for_B_56, mercury__list__TypeInfo_for_C_57, mercury__list__TypeInfo_for_D_58, mercury__list__TypeInfo_for_E_59, mercury__list__P_1, mercury__list__V_60_60, mercury__list__Bs_42, &mercury__list__Cs_44, mercury__list__STATE_VARIABLE_Acc1_51_51, mercury__list__STATE_VARIABLE_Acc1_6, mercury__list__STATE_VARIABLE_Acc2_52_52, mercury__list__STATE_VARIABLE_Acc2_8);
            }
#line 2588 "list.m"
            {
#line 2588 "list.m"
              MR_Word base;
#line 2588 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2588 "list.m"
              *mercury__list__HeadVar__4_4 = base;
#line 2588 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_43;
#line 2588 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_44));
#line 2588 "list.m"
            }
#line 2588 "list.m"
          }
#line 2583 "list.m"
      }
#line 2583 "list.m"
  }
#line 683 "list.m"
}

#line 680 "list.m"
void MR_CALL 
mercury__list__map_corresponding_foldl2_8_p_1(
#line 680 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_55,
#line 680 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_56,
#line 680 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_57,
#line 680 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_58,
#line 680 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_59,
#line 680 "list.m"
  MR_Word mercury__list__P_1,
#line 680 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 680 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 680 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 680 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 680 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 680 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 680 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8)
#line 680 "list.m"
{
#line 2583 "list.m"
  {
#line 2583 "list.m"
    MR_bool mercury__list__succeeded;

#line 2583 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2583 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2583 "list.m"
        {
#line 2583 "list.m"
          *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2583 "list.m"
          *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2583 "list.m"
          *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2583 "list.m"
        }
#line 2583 "list.m"
      else
#line 2584 "list.m"
        {
#line 2585 "list.m"
          {
#line 2585 "list.m"
            mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl2\'/8", (MR_String) "mismatched list lengths");
#line 2585 "list.m"
            return;
          }
#line 2584 "list.m"
        }
#line 2583 "list.m"
    else
#line 2583 "list.m"
      {
#line 2583 "list.m"
        MR_Word mercury__list__V_60_60 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2583 "list.m"
        MR_Box mercury__list__V_61_61 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2583 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2586 "list.m"
          {
#line 2587 "list.m"
            {
#line 2587 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl2\'/8", (MR_String) "mismatched list lengths");
#line 2587 "list.m"
              return;
            }
#line 2586 "list.m"
          }
#line 2583 "list.m"
        else
#line 2588 "list.m"
          {
#line 2588 "list.m"
            MR_Box mercury__list__B_41 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2588 "list.m"
            MR_Word mercury__list__Bs_42 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2588 "list.m"
            MR_Box mercury__list__C_43;
#line 2588 "list.m"
            MR_Word mercury__list__Cs_44;
#line 2588 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc1_51_51;
#line 2588 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc2_52_52;
#line 2589 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2589 "list.m"
            {
#line 2589 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_61_61, mercury__list__B_41, &mercury__list__C_43, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_51_51, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_52_52);
            }
#line 2590 "list.m"
            {
#line 2590 "list.m"
              mercury__list__map_corresponding_foldl2_8_p_1(mercury__list__TypeInfo_for_A_55, mercury__list__TypeInfo_for_B_56, mercury__list__TypeInfo_for_C_57, mercury__list__TypeInfo_for_D_58, mercury__list__TypeInfo_for_E_59, mercury__list__P_1, mercury__list__V_60_60, mercury__list__Bs_42, &mercury__list__Cs_44, mercury__list__STATE_VARIABLE_Acc1_51_51, mercury__list__STATE_VARIABLE_Acc1_6, mercury__list__STATE_VARIABLE_Acc2_52_52, mercury__list__STATE_VARIABLE_Acc2_8);
            }
#line 2588 "list.m"
            {
#line 2588 "list.m"
              MR_Word base;
#line 2588 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2588 "list.m"
              *mercury__list__HeadVar__4_4 = base;
#line 2588 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_43;
#line 2588 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_44));
#line 2588 "list.m"
            }
#line 2588 "list.m"
          }
#line 2583 "list.m"
      }
#line 2583 "list.m"
  }
#line 680 "list.m"
}

#line 677 "list.m"
void MR_CALL 
mercury__list__map_corresponding_foldl2_8_p_0(
#line 677 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_55,
#line 677 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_56,
#line 677 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_57,
#line 677 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_58,
#line 677 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_59,
#line 677 "list.m"
  MR_Word mercury__list__P_1,
#line 677 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 677 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 677 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 677 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc1_0_5,
#line 677 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc1_6,
#line 677 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc2_0_7,
#line 677 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc2_8)
#line 677 "list.m"
{
#line 2583 "list.m"
  {
#line 2583 "list.m"
    MR_bool mercury__list__succeeded;

#line 2583 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2583 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2583 "list.m"
        {
#line 2583 "list.m"
          *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2583 "list.m"
          *mercury__list__STATE_VARIABLE_Acc2_8 = mercury__list__STATE_VARIABLE_Acc2_0_7;
#line 2583 "list.m"
          *mercury__list__STATE_VARIABLE_Acc1_6 = mercury__list__STATE_VARIABLE_Acc1_0_5;
#line 2583 "list.m"
        }
#line 2583 "list.m"
      else
#line 2584 "list.m"
        {
#line 2585 "list.m"
          {
#line 2585 "list.m"
            mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl2\'/8", (MR_String) "mismatched list lengths");
#line 2585 "list.m"
            return;
          }
#line 2584 "list.m"
        }
#line 2583 "list.m"
    else
#line 2583 "list.m"
      {
#line 2583 "list.m"
        MR_Word mercury__list__V_60_60 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2583 "list.m"
        MR_Box mercury__list__V_61_61 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2583 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2586 "list.m"
          {
#line 2587 "list.m"
            {
#line 2587 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl2\'/8", (MR_String) "mismatched list lengths");
#line 2587 "list.m"
              return;
            }
#line 2586 "list.m"
          }
#line 2583 "list.m"
        else
#line 2588 "list.m"
          {
#line 2588 "list.m"
            MR_Box mercury__list__B_41 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2588 "list.m"
            MR_Word mercury__list__Bs_42 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2588 "list.m"
            MR_Box mercury__list__C_43;
#line 2588 "list.m"
            MR_Word mercury__list__Cs_44;
#line 2588 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc1_51_51;
#line 2588 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc2_52_52;
#line 2589 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2589 "list.m"
            {
#line 2589 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_61_61, mercury__list__B_41, &mercury__list__C_43, mercury__list__STATE_VARIABLE_Acc1_0_5, &mercury__list__STATE_VARIABLE_Acc1_51_51, mercury__list__STATE_VARIABLE_Acc2_0_7, &mercury__list__STATE_VARIABLE_Acc2_52_52);
            }
#line 2590 "list.m"
            {
#line 2590 "list.m"
              mercury__list__map_corresponding_foldl2_8_p_0(mercury__list__TypeInfo_for_A_55, mercury__list__TypeInfo_for_B_56, mercury__list__TypeInfo_for_C_57, mercury__list__TypeInfo_for_D_58, mercury__list__TypeInfo_for_E_59, mercury__list__P_1, mercury__list__V_60_60, mercury__list__Bs_42, &mercury__list__Cs_44, mercury__list__STATE_VARIABLE_Acc1_51_51, mercury__list__STATE_VARIABLE_Acc1_6, mercury__list__STATE_VARIABLE_Acc2_52_52, mercury__list__STATE_VARIABLE_Acc2_8);
            }
#line 2588 "list.m"
            {
#line 2588 "list.m"
              MR_Word base;
#line 2588 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2588 "list.m"
              *mercury__list__HeadVar__4_4 = base;
#line 2588 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_43;
#line 2588 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_44));
#line 2588 "list.m"
            }
#line 2588 "list.m"
          }
#line 2583 "list.m"
      }
#line 2583 "list.m"
  }
#line 677 "list.m"
}

#line 669 "list.m"
MR_bool MR_CALL 
mercury__list__map_corresponding_foldl_6_p_5(
#line 669 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_41,
#line 669 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_42,
#line 669 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_43,
#line 669 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_44,
#line 669 "list.m"
  MR_Word mercury__list__P_1,
#line 669 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 669 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 669 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 669 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_5,
#line 669 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_6)
#line 669 "list.m"
{
#line 2574 "list.m"
  {
#line 2574 "list.m"
    MR_bool mercury__list__succeeded;

#line 2574 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2574 "list.m"
      {
#line 2574 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2574 "list.m"
          {
#line 2574 "list.m"
            *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2574 "list.m"
            *mercury__list__STATE_VARIABLE_Acc_6 = mercury__list__STATE_VARIABLE_Acc_0_5;
#line 2574 "list.m"
          }
#line 2574 "list.m"
        else
#line 2575 "list.m"
          {
#line 2576 "list.m"
            {
#line 2576 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl\'/6", (MR_String) "mismatched list lengths");
            }
#line 2575 "list.m"
          }
#line 2574 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2574 "list.m"
      }
#line 2574 "list.m"
    else
#line 2574 "list.m"
      {
#line 2574 "list.m"
        MR_Word mercury__list__V_45_45 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2574 "list.m"
        MR_Box mercury__list__V_46_46 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2574 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2577 "list.m"
          {
#line 2578 "list.m"
            {
#line 2578 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl\'/6", (MR_String) "mismatched list lengths");
            }
#line 2577 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2577 "list.m"
          }
#line 2574 "list.m"
        else
#line 2579 "list.m"
          {
#line 2579 "list.m"
            MR_Box mercury__list__B_32 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2579 "list.m"
            MR_Word mercury__list__Bs_33 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2579 "list.m"
            MR_Box mercury__list__C_34;
#line 2579 "list.m"
            MR_Word mercury__list__Cs_35;
#line 2579 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc_39_39;
#line 2580 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2580 "list.m"
            {
#line 2580 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_46_46, mercury__list__B_32, &mercury__list__C_34, mercury__list__STATE_VARIABLE_Acc_0_5, &mercury__list__STATE_VARIABLE_Acc_39_39);
            }
#line 2579 "list.m"
            if (mercury__list__succeeded)
#line 2579 "list.m"
              {
#line 2581 "list.m"
                {
#line 2581 "list.m"
                  mercury__list__succeeded = mercury__list__map_corresponding_foldl_6_p_5(mercury__list__TypeInfo_for_A_41, mercury__list__TypeInfo_for_B_42, mercury__list__TypeInfo_for_C_43, mercury__list__TypeInfo_for_D_44, mercury__list__P_1, mercury__list__V_45_45, mercury__list__Bs_33, &mercury__list__Cs_35, mercury__list__STATE_VARIABLE_Acc_39_39, mercury__list__STATE_VARIABLE_Acc_6);
                }
#line 2579 "list.m"
                if (mercury__list__succeeded)
#line 2579 "list.m"
                  {
#line 2579 "list.m"
                    {
#line 2579 "list.m"
                      MR_Word base;
#line 2579 "list.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2579 "list.m"
                      *mercury__list__HeadVar__4_4 = base;
#line 2579 "list.m"
                      MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_34;
#line 2579 "list.m"
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_35));
#line 2579 "list.m"
                    }
#line 2579 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2579 "list.m"
                  }
#line 2579 "list.m"
              }
#line 2579 "list.m"
          }
#line 2574 "list.m"
      }
#line 2574 "list.m"
    return mercury__list__succeeded;
#line 2574 "list.m"
  }
#line 669 "list.m"
}

#line 667 "list.m"
MR_bool MR_CALL 
mercury__list__map_corresponding_foldl_6_p_4(
#line 667 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_41,
#line 667 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_42,
#line 667 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_43,
#line 667 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_44,
#line 667 "list.m"
  MR_Word mercury__list__P_1,
#line 667 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 667 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 667 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 667 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_5,
#line 667 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_6)
#line 667 "list.m"
{
#line 2574 "list.m"
  {
#line 2574 "list.m"
    MR_bool mercury__list__succeeded;

#line 2574 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2574 "list.m"
      {
#line 2574 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2574 "list.m"
          {
#line 2574 "list.m"
            *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2574 "list.m"
            *mercury__list__STATE_VARIABLE_Acc_6 = mercury__list__STATE_VARIABLE_Acc_0_5;
#line 2574 "list.m"
          }
#line 2574 "list.m"
        else
#line 2575 "list.m"
          {
#line 2576 "list.m"
            {
#line 2576 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl\'/6", (MR_String) "mismatched list lengths");
            }
#line 2575 "list.m"
          }
#line 2574 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2574 "list.m"
      }
#line 2574 "list.m"
    else
#line 2574 "list.m"
      {
#line 2574 "list.m"
        MR_Word mercury__list__V_45_45 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2574 "list.m"
        MR_Box mercury__list__V_46_46 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2574 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2577 "list.m"
          {
#line 2578 "list.m"
            {
#line 2578 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl\'/6", (MR_String) "mismatched list lengths");
            }
#line 2577 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2577 "list.m"
          }
#line 2574 "list.m"
        else
#line 2579 "list.m"
          {
#line 2579 "list.m"
            MR_Box mercury__list__B_32 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2579 "list.m"
            MR_Word mercury__list__Bs_33 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2579 "list.m"
            MR_Box mercury__list__C_34;
#line 2579 "list.m"
            MR_Word mercury__list__Cs_35;
#line 2579 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc_39_39;
#line 2580 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2580 "list.m"
            {
#line 2580 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_46_46, mercury__list__B_32, &mercury__list__C_34, mercury__list__STATE_VARIABLE_Acc_0_5, &mercury__list__STATE_VARIABLE_Acc_39_39);
            }
#line 2579 "list.m"
            if (mercury__list__succeeded)
#line 2579 "list.m"
              {
#line 2581 "list.m"
                {
#line 2581 "list.m"
                  mercury__list__succeeded = mercury__list__map_corresponding_foldl_6_p_4(mercury__list__TypeInfo_for_A_41, mercury__list__TypeInfo_for_B_42, mercury__list__TypeInfo_for_C_43, mercury__list__TypeInfo_for_D_44, mercury__list__P_1, mercury__list__V_45_45, mercury__list__Bs_33, &mercury__list__Cs_35, mercury__list__STATE_VARIABLE_Acc_39_39, mercury__list__STATE_VARIABLE_Acc_6);
                }
#line 2579 "list.m"
                if (mercury__list__succeeded)
#line 2579 "list.m"
                  {
#line 2579 "list.m"
                    {
#line 2579 "list.m"
                      MR_Word base;
#line 2579 "list.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2579 "list.m"
                      *mercury__list__HeadVar__4_4 = base;
#line 2579 "list.m"
                      MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_34;
#line 2579 "list.m"
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_35));
#line 2579 "list.m"
                    }
#line 2579 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2579 "list.m"
                  }
#line 2579 "list.m"
              }
#line 2579 "list.m"
          }
#line 2574 "list.m"
      }
#line 2574 "list.m"
    return mercury__list__succeeded;
#line 2574 "list.m"
  }
#line 667 "list.m"
}

#line 665 "list.m"
MR_bool MR_CALL 
mercury__list__map_corresponding_foldl_6_p_3(
#line 665 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_41,
#line 665 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_42,
#line 665 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_43,
#line 665 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_44,
#line 665 "list.m"
  MR_Word mercury__list__P_1,
#line 665 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 665 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 665 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 665 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_5,
#line 665 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_6)
#line 665 "list.m"
{
#line 2574 "list.m"
  {
#line 2574 "list.m"
    MR_bool mercury__list__succeeded;

#line 2574 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2574 "list.m"
      {
#line 2574 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2574 "list.m"
          {
#line 2574 "list.m"
            *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2574 "list.m"
            *mercury__list__STATE_VARIABLE_Acc_6 = mercury__list__STATE_VARIABLE_Acc_0_5;
#line 2574 "list.m"
          }
#line 2574 "list.m"
        else
#line 2575 "list.m"
          {
#line 2576 "list.m"
            {
#line 2576 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl\'/6", (MR_String) "mismatched list lengths");
            }
#line 2575 "list.m"
          }
#line 2574 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2574 "list.m"
      }
#line 2574 "list.m"
    else
#line 2574 "list.m"
      {
#line 2574 "list.m"
        MR_Word mercury__list__V_45_45 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2574 "list.m"
        MR_Box mercury__list__V_46_46 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2574 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2577 "list.m"
          {
#line 2578 "list.m"
            {
#line 2578 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl\'/6", (MR_String) "mismatched list lengths");
            }
#line 2577 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2577 "list.m"
          }
#line 2574 "list.m"
        else
#line 2579 "list.m"
          {
#line 2579 "list.m"
            MR_Box mercury__list__B_32 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2579 "list.m"
            MR_Word mercury__list__Bs_33 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2579 "list.m"
            MR_Box mercury__list__C_34;
#line 2579 "list.m"
            MR_Word mercury__list__Cs_35;
#line 2579 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc_39_39;
#line 2580 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2580 "list.m"
            {
#line 2580 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_46_46, mercury__list__B_32, &mercury__list__C_34, mercury__list__STATE_VARIABLE_Acc_0_5, &mercury__list__STATE_VARIABLE_Acc_39_39);
            }
#line 2579 "list.m"
            if (mercury__list__succeeded)
#line 2579 "list.m"
              {
#line 2581 "list.m"
                {
#line 2581 "list.m"
                  mercury__list__succeeded = mercury__list__map_corresponding_foldl_6_p_3(mercury__list__TypeInfo_for_A_41, mercury__list__TypeInfo_for_B_42, mercury__list__TypeInfo_for_C_43, mercury__list__TypeInfo_for_D_44, mercury__list__P_1, mercury__list__V_45_45, mercury__list__Bs_33, &mercury__list__Cs_35, mercury__list__STATE_VARIABLE_Acc_39_39, mercury__list__STATE_VARIABLE_Acc_6);
                }
#line 2579 "list.m"
                if (mercury__list__succeeded)
#line 2579 "list.m"
                  {
#line 2579 "list.m"
                    {
#line 2579 "list.m"
                      MR_Word base;
#line 2579 "list.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2579 "list.m"
                      *mercury__list__HeadVar__4_4 = base;
#line 2579 "list.m"
                      MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_34;
#line 2579 "list.m"
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_35));
#line 2579 "list.m"
                    }
#line 2579 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2579 "list.m"
                  }
#line 2579 "list.m"
              }
#line 2579 "list.m"
          }
#line 2574 "list.m"
      }
#line 2574 "list.m"
    return mercury__list__succeeded;
#line 2574 "list.m"
  }
#line 665 "list.m"
}

#line 663 "list.m"
void MR_CALL 
mercury__list__map_corresponding_foldl_6_p_2(
#line 663 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_41,
#line 663 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_42,
#line 663 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_43,
#line 663 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_44,
#line 663 "list.m"
  MR_Word mercury__list__P_1,
#line 663 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 663 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 663 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 663 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_5,
#line 663 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_6)
#line 663 "list.m"
{
#line 2574 "list.m"
  {
#line 2574 "list.m"
    MR_bool mercury__list__succeeded;

#line 2574 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2574 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2574 "list.m"
        {
#line 2574 "list.m"
          *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2574 "list.m"
          *mercury__list__STATE_VARIABLE_Acc_6 = mercury__list__STATE_VARIABLE_Acc_0_5;
#line 2574 "list.m"
        }
#line 2574 "list.m"
      else
#line 2575 "list.m"
        {
#line 2576 "list.m"
          {
#line 2576 "list.m"
            mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl\'/6", (MR_String) "mismatched list lengths");
#line 2576 "list.m"
            return;
          }
#line 2575 "list.m"
        }
#line 2574 "list.m"
    else
#line 2574 "list.m"
      {
#line 2574 "list.m"
        MR_Word mercury__list__V_45_45 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2574 "list.m"
        MR_Box mercury__list__V_46_46 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2574 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2577 "list.m"
          {
#line 2578 "list.m"
            {
#line 2578 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl\'/6", (MR_String) "mismatched list lengths");
#line 2578 "list.m"
              return;
            }
#line 2577 "list.m"
          }
#line 2574 "list.m"
        else
#line 2579 "list.m"
          {
#line 2579 "list.m"
            MR_Box mercury__list__B_32 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2579 "list.m"
            MR_Word mercury__list__Bs_33 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2579 "list.m"
            MR_Box mercury__list__C_34;
#line 2579 "list.m"
            MR_Word mercury__list__Cs_35;
#line 2579 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc_39_39;
#line 2580 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2580 "list.m"
            {
#line 2580 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_46_46, mercury__list__B_32, &mercury__list__C_34, mercury__list__STATE_VARIABLE_Acc_0_5, &mercury__list__STATE_VARIABLE_Acc_39_39);
            }
#line 2581 "list.m"
            {
#line 2581 "list.m"
              mercury__list__map_corresponding_foldl_6_p_2(mercury__list__TypeInfo_for_A_41, mercury__list__TypeInfo_for_B_42, mercury__list__TypeInfo_for_C_43, mercury__list__TypeInfo_for_D_44, mercury__list__P_1, mercury__list__V_45_45, mercury__list__Bs_33, &mercury__list__Cs_35, mercury__list__STATE_VARIABLE_Acc_39_39, mercury__list__STATE_VARIABLE_Acc_6);
            }
#line 2579 "list.m"
            {
#line 2579 "list.m"
              MR_Word base;
#line 2579 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2579 "list.m"
              *mercury__list__HeadVar__4_4 = base;
#line 2579 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_34;
#line 2579 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_35));
#line 2579 "list.m"
            }
#line 2579 "list.m"
          }
#line 2574 "list.m"
      }
#line 2574 "list.m"
  }
#line 663 "list.m"
}

#line 661 "list.m"
void MR_CALL 
mercury__list__map_corresponding_foldl_6_p_1(
#line 661 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_41,
#line 661 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_42,
#line 661 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_43,
#line 661 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_44,
#line 661 "list.m"
  MR_Word mercury__list__P_1,
#line 661 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 661 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 661 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 661 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_5,
#line 661 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_6)
#line 661 "list.m"
{
#line 2574 "list.m"
  {
#line 2574 "list.m"
    MR_bool mercury__list__succeeded;

#line 2574 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2574 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2574 "list.m"
        {
#line 2574 "list.m"
          *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2574 "list.m"
          *mercury__list__STATE_VARIABLE_Acc_6 = mercury__list__STATE_VARIABLE_Acc_0_5;
#line 2574 "list.m"
        }
#line 2574 "list.m"
      else
#line 2575 "list.m"
        {
#line 2576 "list.m"
          {
#line 2576 "list.m"
            mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl\'/6", (MR_String) "mismatched list lengths");
#line 2576 "list.m"
            return;
          }
#line 2575 "list.m"
        }
#line 2574 "list.m"
    else
#line 2574 "list.m"
      {
#line 2574 "list.m"
        MR_Word mercury__list__V_45_45 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2574 "list.m"
        MR_Box mercury__list__V_46_46 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2574 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2577 "list.m"
          {
#line 2578 "list.m"
            {
#line 2578 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl\'/6", (MR_String) "mismatched list lengths");
#line 2578 "list.m"
              return;
            }
#line 2577 "list.m"
          }
#line 2574 "list.m"
        else
#line 2579 "list.m"
          {
#line 2579 "list.m"
            MR_Box mercury__list__B_32 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2579 "list.m"
            MR_Word mercury__list__Bs_33 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2579 "list.m"
            MR_Box mercury__list__C_34;
#line 2579 "list.m"
            MR_Word mercury__list__Cs_35;
#line 2579 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc_39_39;
#line 2580 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2580 "list.m"
            {
#line 2580 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_46_46, mercury__list__B_32, &mercury__list__C_34, mercury__list__STATE_VARIABLE_Acc_0_5, &mercury__list__STATE_VARIABLE_Acc_39_39);
            }
#line 2581 "list.m"
            {
#line 2581 "list.m"
              mercury__list__map_corresponding_foldl_6_p_1(mercury__list__TypeInfo_for_A_41, mercury__list__TypeInfo_for_B_42, mercury__list__TypeInfo_for_C_43, mercury__list__TypeInfo_for_D_44, mercury__list__P_1, mercury__list__V_45_45, mercury__list__Bs_33, &mercury__list__Cs_35, mercury__list__STATE_VARIABLE_Acc_39_39, mercury__list__STATE_VARIABLE_Acc_6);
            }
#line 2579 "list.m"
            {
#line 2579 "list.m"
              MR_Word base;
#line 2579 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2579 "list.m"
              *mercury__list__HeadVar__4_4 = base;
#line 2579 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_34;
#line 2579 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_35));
#line 2579 "list.m"
            }
#line 2579 "list.m"
          }
#line 2574 "list.m"
      }
#line 2574 "list.m"
  }
#line 661 "list.m"
}

#line 659 "list.m"
void MR_CALL 
mercury__list__map_corresponding_foldl_6_p_0(
#line 659 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_41,
#line 659 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_42,
#line 659 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_43,
#line 659 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_44,
#line 659 "list.m"
  MR_Word mercury__list__P_1,
#line 659 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 659 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 659 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 659 "list.m"
  MR_Box mercury__list__STATE_VARIABLE_Acc_0_5,
#line 659 "list.m"
  MR_Box * mercury__list__STATE_VARIABLE_Acc_6)
#line 659 "list.m"
{
#line 2574 "list.m"
  {
#line 2574 "list.m"
    MR_bool mercury__list__succeeded;

#line 2574 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2574 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2574 "list.m"
        {
#line 2574 "list.m"
          *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2574 "list.m"
          *mercury__list__STATE_VARIABLE_Acc_6 = mercury__list__STATE_VARIABLE_Acc_0_5;
#line 2574 "list.m"
        }
#line 2574 "list.m"
      else
#line 2575 "list.m"
        {
#line 2576 "list.m"
          {
#line 2576 "list.m"
            mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl\'/6", (MR_String) "mismatched list lengths");
#line 2576 "list.m"
            return;
          }
#line 2575 "list.m"
        }
#line 2574 "list.m"
    else
#line 2574 "list.m"
      {
#line 2574 "list.m"
        MR_Word mercury__list__V_45_45 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2574 "list.m"
        MR_Box mercury__list__V_46_46 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2574 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2577 "list.m"
          {
#line 2578 "list.m"
            {
#line 2578 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding_foldl\'/6", (MR_String) "mismatched list lengths");
#line 2578 "list.m"
              return;
            }
#line 2577 "list.m"
          }
#line 2574 "list.m"
        else
#line 2579 "list.m"
          {
#line 2579 "list.m"
            MR_Box mercury__list__B_32 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2579 "list.m"
            MR_Word mercury__list__Bs_33 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2579 "list.m"
            MR_Box mercury__list__C_34;
#line 2579 "list.m"
            MR_Word mercury__list__Cs_35;
#line 2579 "list.m"
            MR_Box mercury__list__STATE_VARIABLE_Acc_39_39;
#line 2580 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2580 "list.m"
            {
#line 2580 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_46_46, mercury__list__B_32, &mercury__list__C_34, mercury__list__STATE_VARIABLE_Acc_0_5, &mercury__list__STATE_VARIABLE_Acc_39_39);
            }
#line 2581 "list.m"
            {
#line 2581 "list.m"
              mercury__list__map_corresponding_foldl_6_p_0(mercury__list__TypeInfo_for_A_41, mercury__list__TypeInfo_for_B_42, mercury__list__TypeInfo_for_C_43, mercury__list__TypeInfo_for_D_44, mercury__list__P_1, mercury__list__V_45_45, mercury__list__Bs_33, &mercury__list__Cs_35, mercury__list__STATE_VARIABLE_Acc_39_39, mercury__list__STATE_VARIABLE_Acc_6);
            }
#line 2579 "list.m"
            {
#line 2579 "list.m"
              MR_Word base;
#line 2579 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2579 "list.m"
              *mercury__list__HeadVar__4_4 = base;
#line 2579 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_34;
#line 2579 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_35));
#line 2579 "list.m"
            }
#line 2579 "list.m"
          }
#line 2574 "list.m"
      }
#line 2574 "list.m"
  }
#line 659 "list.m"
}

#line 651 "list.m"
MR_Word MR_CALL 
mercury__list__filter_map_corresponding3_4_f_0(
#line 651 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_21,
#line 651 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_22,
#line 651 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_23,
#line 651 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_24,
#line 651 "list.m"
  MR_Word mercury__list__F_6,
#line 651 "list.m"
  MR_Word mercury__list__As_7,
#line 651 "list.m"
  MR_Word mercury__list__Bs_8,
#line 651 "list.m"
  MR_Word mercury__list__Cs_9)
#line 651 "list.m"
{
#line 2553 "list.m"
  while (MR_TRUE)
#line 2553 "list.m"
    {
#line 2553 "list.m"
      /* tailcall optimized into a loop */
#line 2553 "list.m"
      {
#line 2553 "list.m"
        MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__As_7)) == (MR_mktag((MR_Integer) 1)));
#line 2553 "list.m"
        MR_Word mercury__list__HeadVar__5_5;
#line 2553 "list.m"
        MR_Box mercury__list__A_10;
#line 2553 "list.m"
        MR_Word mercury__list__As0_11;
#line 2553 "list.m"
        MR_Box mercury__list__B_12;
#line 2553 "list.m"
        MR_Word mercury__list__Bs0_13;
#line 2553 "list.m"
        MR_Box mercury__list__C_14;
#line 2553 "list.m"
        MR_Word mercury__list__Cs0_15;

#line 2555 "list.m"
        if (mercury__list__succeeded)
#line 2555 "list.m"
          {
#line 2555 "list.m"
            mercury__list__A_10 = (MR_hl_field(MR_mktag(1), mercury__list__As_7, (MR_Integer) 0));
#line 2555 "list.m"
            mercury__list__As0_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__As_7, (MR_Integer) 1)));
#line 2556 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__Bs_8)) == (MR_mktag((MR_Integer) 1)));
#line 2556 "list.m"
            if (mercury__list__succeeded)
#line 2556 "list.m"
              {
#line 2556 "list.m"
                mercury__list__B_12 = (MR_hl_field(MR_mktag(1), mercury__list__Bs_8, (MR_Integer) 0));
#line 2556 "list.m"
                mercury__list__Bs0_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__Bs_8, (MR_Integer) 1)));
#line 2557 "list.m"
                mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__Cs_9)) == (MR_mktag((MR_Integer) 1)));
#line 2557 "list.m"
                if (mercury__list__succeeded)
#line 2557 "list.m"
                  {
#line 2557 "list.m"
                    mercury__list__C_14 = (MR_hl_field(MR_mktag(1), mercury__list__Cs_9, (MR_Integer) 0));
#line 2557 "list.m"
                    mercury__list__Cs0_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__Cs_9, (MR_Integer) 1)));
#line 2557 "list.m"
                  }
#line 2556 "list.m"
              }
#line 2555 "list.m"
          }
#line 2553 "list.m"
        if (mercury__list__succeeded)
#line 2553 "list.m"
          {
#line 2553 "list.m"
            MR_Box mercury__list__D_16;
#line 2559 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__F_6, (MR_Integer) 1)));

#line 2559 "list.m"
            {
#line 2559 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__F_6), mercury__list__A_10, mercury__list__B_12, mercury__list__C_14, &mercury__list__D_16);
            }
#line 2553 "list.m"
            if (mercury__list__succeeded)
#line 2560 "list.m"
              {
#line 2560 "list.m"
                MR_Word mercury__list__V_17_17;

#line 2560 "list.m"
                {
#line 2560 "list.m"
                  mercury__list__V_17_17 = mercury__list__filter_map_corresponding3_4_f_0(mercury__list__TypeInfo_for_A_21, mercury__list__TypeInfo_for_B_22, mercury__list__TypeInfo_for_C_23, mercury__list__TypeInfo_for_D_24, mercury__list__F_6, mercury__list__As0_11, mercury__list__Bs0_13, mercury__list__Cs0_15);
                }
#line 2553 "list.m"
                {
#line 2553 "list.m"
                  mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2553 "list.m"
                  MR_hl_field(MR_mktag(1), mercury__list__HeadVar__5_5, 0) = mercury__list__D_16;
#line 2553 "list.m"
                  MR_hl_field(MR_mktag(1), mercury__list__HeadVar__5_5, 1) = ((MR_Box) (mercury__list__V_17_17));
#line 2553 "list.m"
                }
#line 2560 "list.m"
              }
#line 2553 "list.m"
            else
#line 2553 "list.m"
              {
#line 2553 "list.m"
                /* direct tailcall eliminated */
#line 2553 "list.m"
                {
#line 2553 "list.m"
                  MR_Word mercury__list__As__tmp_copy_7 = mercury__list__As0_11;
#line 2553 "list.m"
                  MR_Word mercury__list__Bs__tmp_copy_8 = mercury__list__Bs0_13;
#line 2553 "list.m"
                  MR_Word mercury__list__Cs__tmp_copy_9 = mercury__list__Cs0_15;

#line 2553 "list.m"
                  mercury__list__Cs_9 = mercury__list__Cs__tmp_copy_9;
#line 2553 "list.m"
                  mercury__list__Bs_8 = mercury__list__Bs__tmp_copy_8;
#line 2553 "list.m"
                  mercury__list__As_7 = mercury__list__As__tmp_copy_7;
#line 2553 "list.m"
                }
#line 2553 "list.m"
                continue;
#line 2553 "list.m"
              }
#line 2553 "list.m"
          }
#line 2553 "list.m"
        else
#line 2553 "list.m"
          {
#line 2565 "list.m"
            mercury__list__succeeded = (mercury__list__As_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2565 "list.m"
            if (mercury__list__succeeded)
#line 2565 "list.m"
              {
#line 2566 "list.m"
                mercury__list__succeeded = (mercury__list__Bs_8 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2565 "list.m"
                if (mercury__list__succeeded)
#line 2567 "list.m"
                  mercury__list__succeeded = (mercury__list__Cs_9 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2565 "list.m"
              }
#line 2553 "list.m"
            if (mercury__list__succeeded)
#line 2553 "list.m"
              mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2553 "list.m"
            else
#line 2571 "list.m"
              {
#line 10 "require.opt"
                {
#line 10 "require.opt"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "function \140list.filter_map_corresponding3\'/4", (MR_String) "mismatched list lengths");
                }
#line 2571 "list.m"
              }
#line 2553 "list.m"
          }
#line 2553 "list.m"
        return mercury__list__HeadVar__5_5;
#line 2553 "list.m"
      }
#line 2553 "list.m"
      break;
#line 2553 "list.m"
    }
#line 651 "list.m"
}

#line 641 "list.m"
MR_Word MR_CALL 
mercury__list__filter_map_corresponding_3_f_0(
#line 641 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_25,
#line 641 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_26,
#line 641 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_27,
#line 641 "list.m"
  MR_Word mercury__list__F_1,
#line 641 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 641 "list.m"
  MR_Word mercury__list__HeadVar__3_3)
#line 641 "list.m"
{
#line 2541 "list.m"
  while (MR_TRUE)
#line 2541 "list.m"
    {
#line 2541 "list.m"
      /* tailcall optimized into a loop */
#line 2541 "list.m"
      {
#line 2541 "list.m"
        MR_bool mercury__list__succeeded;
#line 2541 "list.m"
        MR_Word mercury__list__HeadVar__4_4;

#line 2541 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2541 "list.m"
          if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2541 "list.m"
            mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2541 "list.m"
          else
#line 2542 "list.m"
            {
#line 10 "require.opt"
              {
#line 10 "require.opt"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "function \140list.filter_map_corresponding\'/3", (MR_String) "mismatched list lengths");
              }
#line 2542 "list.m"
            }
#line 2541 "list.m"
        else
#line 2541 "list.m"
          {
#line 2541 "list.m"
            MR_Word mercury__list__V_32_32 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2541 "list.m"
            MR_Box mercury__list__V_33_33 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2541 "list.m"
            if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2544 "list.m"
              {
#line 10 "require.opt"
                {
#line 10 "require.opt"
                  mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "function \140list.filter_map_corresponding\'/3", (MR_String) "mismatched list lengths");
                }
#line 2544 "list.m"
              }
#line 2541 "list.m"
            else
#line 2546 "list.m"
              {
#line 2546 "list.m"
                MR_Box mercury__list__B_21 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2546 "list.m"
                MR_Word mercury__list__Bs_22 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2546 "list.m"
                MR_Box mercury__list__C_23;
#line 2547 "list.m"
                MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__F_1, (MR_Integer) 1)));

#line 2547 "list.m"
                {
#line 2547 "list.m"
                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__F_1), mercury__list__V_33_33, mercury__list__B_21, &mercury__list__C_23);
                }
#line 2546 "list.m"
                if (mercury__list__succeeded)
#line 2548 "list.m"
                  {
#line 2548 "list.m"
                    MR_Word mercury__list__V_24_24;

#line 2548 "list.m"
                    {
#line 2548 "list.m"
                      mercury__list__V_24_24 = mercury__list__filter_map_corresponding_3_f_0(mercury__list__TypeInfo_for_A_25, mercury__list__TypeInfo_for_B_26, mercury__list__TypeInfo_for_C_27, mercury__list__F_1, mercury__list__V_32_32, mercury__list__Bs_22);
                    }
#line 2546 "list.m"
                    {
#line 2546 "list.m"
                      mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2546 "list.m"
                      MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, 0) = mercury__list__C_23;
#line 2546 "list.m"
                      MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, 1) = ((MR_Box) (mercury__list__V_24_24));
#line 2546 "list.m"
                    }
#line 2548 "list.m"
                  }
#line 2546 "list.m"
                else
#line 2546 "list.m"
                  {
#line 2546 "list.m"
                    /* direct tailcall eliminated */
#line 2546 "list.m"
                    {
#line 2546 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_32_32;
#line 2546 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Bs_22;

#line 2546 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2546 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2546 "list.m"
                    }
#line 2546 "list.m"
                    continue;
#line 2546 "list.m"
                  }
#line 2546 "list.m"
              }
#line 2541 "list.m"
          }
#line 2541 "list.m"
        return mercury__list__HeadVar__4_4;
#line 2541 "list.m"
      }
#line 2541 "list.m"
      break;
#line 2541 "list.m"
    }
#line 641 "list.m"
}

#line 631 "list.m"
MR_Word MR_CALL 
mercury__list__map_corresponding3_4_f_0(
#line 631 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_21,
#line 631 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_22,
#line 631 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_23,
#line 631 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_24,
#line 631 "list.m"
  MR_Word mercury__list__F_6,
#line 631 "list.m"
  MR_Word mercury__list__As_7,
#line 631 "list.m"
  MR_Word mercury__list__Bs_8,
#line 631 "list.m"
  MR_Word mercury__list__Cs_9)
#line 631 "list.m"
{
#line 2524 "list.m"
  {
#line 2524 "list.m"
    MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__As_7)) == (MR_mktag((MR_Integer) 1)));
#line 2524 "list.m"
    MR_Word mercury__list__HeadVar__5_5;
#line 2524 "list.m"
    MR_Box mercury__list__A_10;
#line 2524 "list.m"
    MR_Word mercury__list__As0_11;
#line 2524 "list.m"
    MR_Box mercury__list__B_12;
#line 2524 "list.m"
    MR_Word mercury__list__Bs0_13;
#line 2524 "list.m"
    MR_Box mercury__list__C_14;
#line 2524 "list.m"
    MR_Word mercury__list__Cs0_15;

#line 2526 "list.m"
    if (mercury__list__succeeded)
#line 2526 "list.m"
      {
#line 2526 "list.m"
        mercury__list__A_10 = (MR_hl_field(MR_mktag(1), mercury__list__As_7, (MR_Integer) 0));
#line 2526 "list.m"
        mercury__list__As0_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__As_7, (MR_Integer) 1)));
#line 2527 "list.m"
        mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__Bs_8)) == (MR_mktag((MR_Integer) 1)));
#line 2527 "list.m"
        if (mercury__list__succeeded)
#line 2527 "list.m"
          {
#line 2527 "list.m"
            mercury__list__B_12 = (MR_hl_field(MR_mktag(1), mercury__list__Bs_8, (MR_Integer) 0));
#line 2527 "list.m"
            mercury__list__Bs0_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__Bs_8, (MR_Integer) 1)));
#line 2528 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__Cs_9)) == (MR_mktag((MR_Integer) 1)));
#line 2528 "list.m"
            if (mercury__list__succeeded)
#line 2528 "list.m"
              {
#line 2528 "list.m"
                mercury__list__C_14 = (MR_hl_field(MR_mktag(1), mercury__list__Cs_9, (MR_Integer) 0));
#line 2528 "list.m"
                mercury__list__Cs0_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__Cs_9, (MR_Integer) 1)));
#line 2528 "list.m"
              }
#line 2527 "list.m"
          }
#line 2526 "list.m"
      }
#line 2524 "list.m"
    if (mercury__list__succeeded)
#line 2530 "list.m"
      {
#line 2530 "list.m"
        MR_Box mercury__list__V_16_16;
#line 2530 "list.m"
        MR_Word mercury__list__V_17_17;
#line 2530 "list.m"
        MR_Box MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box) = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__F_6, (MR_Integer) 1)));

#line 2530 "list.m"
        {
#line 2530 "list.m"
          mercury__list__V_16_16 = mercury__list__func_0(((MR_Box) mercury__list__F_6), mercury__list__A_10, mercury__list__B_12, mercury__list__C_14);
        }
#line 2530 "list.m"
        {
#line 2530 "list.m"
          mercury__list__V_17_17 = mercury__list__map_corresponding3_4_f_0(mercury__list__TypeInfo_for_A_21, mercury__list__TypeInfo_for_B_22, mercury__list__TypeInfo_for_C_23, mercury__list__TypeInfo_for_D_24, mercury__list__F_6, mercury__list__As0_11, mercury__list__Bs0_13, mercury__list__Cs0_15);
        }
#line 2524 "list.m"
        {
#line 2524 "list.m"
          mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2524 "list.m"
          MR_hl_field(MR_mktag(1), mercury__list__HeadVar__5_5, 0) = mercury__list__V_16_16;
#line 2524 "list.m"
          MR_hl_field(MR_mktag(1), mercury__list__HeadVar__5_5, 1) = ((MR_Box) (mercury__list__V_17_17));
#line 2524 "list.m"
        }
#line 2530 "list.m"
      }
#line 2524 "list.m"
    else
#line 2524 "list.m"
      {
#line 2532 "list.m"
        mercury__list__succeeded = (mercury__list__As_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2532 "list.m"
        if (mercury__list__succeeded)
#line 2532 "list.m"
          {
#line 2533 "list.m"
            mercury__list__succeeded = (mercury__list__Bs_8 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2532 "list.m"
            if (mercury__list__succeeded)
#line 2534 "list.m"
              mercury__list__succeeded = (mercury__list__Cs_9 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2532 "list.m"
          }
#line 2524 "list.m"
        if (mercury__list__succeeded)
#line 2524 "list.m"
          mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2524 "list.m"
        else
#line 2538 "list.m"
          {
#line 10 "require.opt"
            {
#line 10 "require.opt"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "function \140list.map_corresponding3\'/4", (MR_String) "mismatched list lengths");
            }
#line 2538 "list.m"
          }
#line 2524 "list.m"
      }
#line 2524 "list.m"
    return mercury__list__HeadVar__5_5;
#line 2524 "list.m"
  }
#line 631 "list.m"
}

#line 623 "list.m"
MR_bool MR_CALL 
mercury__list__map_corresponding_4_p_1(
#line 623 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_27,
#line 623 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_28,
#line 623 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_29,
#line 623 "list.m"
  MR_Word mercury__list__P_1,
#line 623 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 623 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 623 "list.m"
  MR_Word * mercury__list__HeadVar__4_4)
#line 623 "list.m"
{
#line 2515 "list.m"
  {
#line 2515 "list.m"
    MR_bool mercury__list__succeeded;

#line 2515 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2515 "list.m"
      {
#line 2515 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2515 "list.m"
          *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2515 "list.m"
        else
#line 2516 "list.m"
          {
#line 2517 "list.m"
            {
#line 2517 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding\'/4", (MR_String) "mismatched list lengths");
            }
#line 2516 "list.m"
          }
#line 2515 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2515 "list.m"
      }
#line 2515 "list.m"
    else
#line 2515 "list.m"
      {
#line 2515 "list.m"
        MR_Word mercury__list__V_30_30 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2515 "list.m"
        MR_Box mercury__list__V_31_31 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2515 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2518 "list.m"
          {
#line 2519 "list.m"
            {
#line 2519 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding\'/4", (MR_String) "mismatched list lengths");
            }
#line 2518 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2518 "list.m"
          }
#line 2515 "list.m"
        else
#line 2520 "list.m"
          {
#line 2520 "list.m"
            MR_Box mercury__list__B_23 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2520 "list.m"
            MR_Word mercury__list__Bs_24 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2520 "list.m"
            MR_Box mercury__list__C_25;
#line 2520 "list.m"
            MR_Word mercury__list__Cs_26;
#line 2521 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2521 "list.m"
            {
#line 2521 "list.m"
              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_31_31, mercury__list__B_23, &mercury__list__C_25);
            }
#line 2520 "list.m"
            if (mercury__list__succeeded)
#line 2520 "list.m"
              {
#line 2522 "list.m"
                {
#line 2522 "list.m"
                  mercury__list__succeeded = mercury__list__map_corresponding_4_p_1(mercury__list__TypeInfo_for_A_27, mercury__list__TypeInfo_for_B_28, mercury__list__TypeInfo_for_C_29, mercury__list__P_1, mercury__list__V_30_30, mercury__list__Bs_24, &mercury__list__Cs_26);
                }
#line 2520 "list.m"
                if (mercury__list__succeeded)
#line 2520 "list.m"
                  {
#line 2520 "list.m"
                    {
#line 2520 "list.m"
                      MR_Word base;
#line 2520 "list.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2520 "list.m"
                      *mercury__list__HeadVar__4_4 = base;
#line 2520 "list.m"
                      MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_25;
#line 2520 "list.m"
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_26));
#line 2520 "list.m"
                    }
#line 2520 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2520 "list.m"
                  }
#line 2520 "list.m"
              }
#line 2520 "list.m"
          }
#line 2515 "list.m"
      }
#line 2515 "list.m"
    return mercury__list__succeeded;
#line 2515 "list.m"
  }
#line 623 "list.m"
}

#line 621 "list.m"
void MR_CALL 
mercury__list__map_corresponding_4_p_0(
#line 621 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_27,
#line 621 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_28,
#line 621 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_29,
#line 621 "list.m"
  MR_Word mercury__list__P_1,
#line 621 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 621 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 621 "list.m"
  MR_Word * mercury__list__HeadVar__4_4)
#line 621 "list.m"
{
#line 2515 "list.m"
  {
#line 2515 "list.m"
    MR_bool mercury__list__succeeded;

#line 2515 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2515 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2515 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2515 "list.m"
      else
#line 2516 "list.m"
        {
#line 2517 "list.m"
          {
#line 2517 "list.m"
            mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding\'/4", (MR_String) "mismatched list lengths");
#line 2517 "list.m"
            return;
          }
#line 2516 "list.m"
        }
#line 2515 "list.m"
    else
#line 2515 "list.m"
      {
#line 2515 "list.m"
        MR_Word mercury__list__V_30_30 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2515 "list.m"
        MR_Box mercury__list__V_31_31 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2515 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2518 "list.m"
          {
#line 2519 "list.m"
            {
#line 2519 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.map_corresponding\'/4", (MR_String) "mismatched list lengths");
#line 2519 "list.m"
              return;
            }
#line 2518 "list.m"
          }
#line 2515 "list.m"
        else
#line 2520 "list.m"
          {
#line 2520 "list.m"
            MR_Box mercury__list__B_23 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2520 "list.m"
            MR_Word mercury__list__Bs_24 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2520 "list.m"
            MR_Box mercury__list__C_25;
#line 2520 "list.m"
            MR_Word mercury__list__Cs_26;
#line 2521 "list.m"
            void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2521 "list.m"
            {
#line 2521 "list.m"
              mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__V_31_31, mercury__list__B_23, &mercury__list__C_25);
            }
#line 2522 "list.m"
            {
#line 2522 "list.m"
              mercury__list__map_corresponding_4_p_0(mercury__list__TypeInfo_for_A_27, mercury__list__TypeInfo_for_B_28, mercury__list__TypeInfo_for_C_29, mercury__list__P_1, mercury__list__V_30_30, mercury__list__Bs_24, &mercury__list__Cs_26);
            }
#line 2520 "list.m"
            {
#line 2520 "list.m"
              MR_Word base;
#line 2520 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2520 "list.m"
              *mercury__list__HeadVar__4_4 = base;
#line 2520 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__C_25;
#line 2520 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_26));
#line 2520 "list.m"
            }
#line 2520 "list.m"
          }
#line 2515 "list.m"
      }
#line 2515 "list.m"
  }
#line 621 "list.m"
}

#line 619 "list.m"
MR_Word MR_CALL 
mercury__list__map_corresponding_3_f_0(
#line 619 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_25,
#line 619 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_26,
#line 619 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_27,
#line 619 "list.m"
  MR_Word mercury__list__F_1,
#line 619 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 619 "list.m"
  MR_Word mercury__list__HeadVar__3_3)
#line 619 "list.m"
{
#line 2507 "list.m"
  {
#line 2507 "list.m"
    MR_bool mercury__list__succeeded;
#line 2507 "list.m"
    MR_Word mercury__list__HeadVar__4_4;

#line 2507 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2507 "list.m"
      if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2507 "list.m"
        mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2507 "list.m"
      else
#line 2508 "list.m"
        {
#line 10 "require.opt"
          {
#line 10 "require.opt"
            mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "function \140list.map_corresponding\'/3", (MR_String) "mismatched list lengths");
          }
#line 2508 "list.m"
        }
#line 2507 "list.m"
    else
#line 2507 "list.m"
      {
#line 2507 "list.m"
        MR_Word mercury__list__V_32_32 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2507 "list.m"
        MR_Box mercury__list__V_33_33 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));

#line 2507 "list.m"
        if ((mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2510 "list.m"
          {
#line 10 "require.opt"
            {
#line 10 "require.opt"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "function \140list.map_corresponding\'/3", (MR_String) "mismatched list lengths");
            }
#line 2510 "list.m"
          }
#line 2507 "list.m"
        else
#line 2512 "list.m"
          {
#line 2512 "list.m"
            MR_Box mercury__list__B_21 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2512 "list.m"
            MR_Word mercury__list__Bs_22 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2512 "list.m"
            MR_Box mercury__list__V_23_23;
#line 2512 "list.m"
            MR_Word mercury__list__V_24_24;
#line 2513 "list.m"
            MR_Box MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box) = ((MR_Box MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__F_1, (MR_Integer) 1)));

#line 2513 "list.m"
            {
#line 2513 "list.m"
              mercury__list__V_23_23 = mercury__list__func_0(((MR_Box) mercury__list__F_1), mercury__list__V_33_33, mercury__list__B_21);
            }
#line 2513 "list.m"
            {
#line 2513 "list.m"
              mercury__list__V_24_24 = mercury__list__map_corresponding_3_f_0(mercury__list__TypeInfo_for_A_25, mercury__list__TypeInfo_for_B_26, mercury__list__TypeInfo_for_C_27, mercury__list__F_1, mercury__list__V_32_32, mercury__list__Bs_22);
            }
#line 2512 "list.m"
            {
#line 2512 "list.m"
              mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2512 "list.m"
              MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, 0) = mercury__list__V_23_23;
#line 2512 "list.m"
              MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, 1) = ((MR_Box) (mercury__list__V_24_24));
#line 2512 "list.m"
            }
#line 2512 "list.m"
          }
#line 2507 "list.m"
      }
#line 2507 "list.m"
    return mercury__list__HeadVar__4_4;
#line 2507 "list.m"
  }
#line 619 "list.m"
}

#line 611 "list.m"
MR_bool MR_CALL 
mercury__list__map8_10_p_5(
#line 611 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_31,
#line 611 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_32,
#line 611 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_33,
#line 611 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_34,
#line 611 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_35,
#line 611 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_36,
#line 611 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_37,
#line 611 "list.m"
  MR_Word mercury__list__TypeInfo_for_H_38,
#line 611 "list.m"
  MR_Word mercury__list__TypeInfo_for_I_39,
#line 611 "list.m"
  MR_Word mercury__list__P_1,
#line 611 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 611 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 611 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 611 "list.m"
  MR_Word mercury__list__HeadVar__5_5,
#line 611 "list.m"
  MR_Word mercury__list__HeadVar__6_6,
#line 611 "list.m"
  MR_Word mercury__list__HeadVar__7_7,
#line 611 "list.m"
  MR_Word mercury__list__HeadVar__8_8,
#line 611 "list.m"
  MR_Word mercury__list__HeadVar__9_9,
#line 611 "list.m"
  MR_Word mercury__list__HeadVar__10_10)
#line 611 "list.m"
{
#line 2501 "list.m"
  while (MR_TRUE)
#line 2501 "list.m"
    {
#line 2501 "list.m"
      /* tailcall optimized into a loop */
#line 2501 "list.m"
      {
#line 2501 "list.m"
        MR_bool mercury__list__succeeded;

#line 2501 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2501 "list.m"
          {
#line 2501 "list.m"
            mercury__list__succeeded = (mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2501 "list.m"
            if (mercury__list__succeeded)
#line 2501 "list.m"
              {
#line 2501 "list.m"
                mercury__list__succeeded = (mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2501 "list.m"
                if (mercury__list__succeeded)
#line 2501 "list.m"
                  {
#line 2501 "list.m"
                    mercury__list__succeeded = (mercury__list__HeadVar__5_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2501 "list.m"
                    if (mercury__list__succeeded)
#line 2501 "list.m"
                      {
#line 2501 "list.m"
                        mercury__list__succeeded = (mercury__list__HeadVar__6_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2501 "list.m"
                        if (mercury__list__succeeded)
#line 2501 "list.m"
                          {
#line 2501 "list.m"
                            mercury__list__succeeded = (mercury__list__HeadVar__7_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2501 "list.m"
                            if (mercury__list__succeeded)
#line 2501 "list.m"
                              {
#line 2501 "list.m"
                                mercury__list__succeeded = (mercury__list__HeadVar__8_8 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2501 "list.m"
                                if (mercury__list__succeeded)
#line 2501 "list.m"
                                  {
#line 2501 "list.m"
                                    mercury__list__succeeded = (mercury__list__HeadVar__9_9 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2501 "list.m"
                                    if (mercury__list__succeeded)
#line 2501 "list.m"
                                      mercury__list__succeeded = (mercury__list__HeadVar__10_10 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2501 "list.m"
                                  }
#line 2501 "list.m"
                              }
#line 2501 "list.m"
                          }
#line 2501 "list.m"
                      }
#line 2501 "list.m"
                  }
#line 2501 "list.m"
              }
#line 2501 "list.m"
          }
#line 2501 "list.m"
        else
#line 2503 "list.m"
          {
#line 2503 "list.m"
            MR_Box mercury__list__H0_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2503 "list.m"
            MR_Word mercury__list__T0_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2503 "list.m"
            MR_Box mercury__list__H1_15;
#line 2503 "list.m"
            MR_Word mercury__list__T1_16;
#line 2503 "list.m"
            MR_Box mercury__list__H2_17;
#line 2503 "list.m"
            MR_Word mercury__list__T2_18;
#line 2503 "list.m"
            MR_Box mercury__list__H3_19;
#line 2503 "list.m"
            MR_Word mercury__list__T3_20;
#line 2503 "list.m"
            MR_Box mercury__list__H4_21;
#line 2503 "list.m"
            MR_Word mercury__list__T4_22;
#line 2503 "list.m"
            MR_Box mercury__list__H5_23;
#line 2503 "list.m"
            MR_Word mercury__list__T5_24;
#line 2503 "list.m"
            MR_Box mercury__list__H6_25;
#line 2503 "list.m"
            MR_Word mercury__list__T6_26;
#line 2503 "list.m"
            MR_Box mercury__list__H7_27;
#line 2503 "list.m"
            MR_Word mercury__list__T7_28;
#line 2503 "list.m"
            MR_Box mercury__list__H8_29;
#line 2503 "list.m"
            MR_Word mercury__list__T8_30;
#line 2504 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box);

#line 2503 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1)));
#line 2503 "list.m"
            if (mercury__list__succeeded)
#line 2503 "list.m"
              {
#line 2503 "list.m"
                mercury__list__H1_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2503 "list.m"
                mercury__list__T1_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2503 "list.m"
                mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__4_4)) == (MR_mktag((MR_Integer) 1)));
#line 2503 "list.m"
                if (mercury__list__succeeded)
#line 2503 "list.m"
                  {
#line 2503 "list.m"
                    mercury__list__H2_17 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2503 "list.m"
                    mercury__list__T2_18 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2503 "list.m"
                    mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__5_5)) == (MR_mktag((MR_Integer) 1)));
#line 2503 "list.m"
                    if (mercury__list__succeeded)
#line 2503 "list.m"
                      {
#line 2503 "list.m"
                        mercury__list__H3_19 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__5_5, (MR_Integer) 0));
#line 2503 "list.m"
                        mercury__list__T3_20 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__5_5, (MR_Integer) 1)));
#line 2503 "list.m"
                        mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__6_6)) == (MR_mktag((MR_Integer) 1)));
#line 2503 "list.m"
                        if (mercury__list__succeeded)
#line 2503 "list.m"
                          {
#line 2503 "list.m"
                            mercury__list__H4_21 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__6_6, (MR_Integer) 0));
#line 2503 "list.m"
                            mercury__list__T4_22 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__6_6, (MR_Integer) 1)));
#line 2503 "list.m"
                            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__7_7)) == (MR_mktag((MR_Integer) 1)));
#line 2503 "list.m"
                            if (mercury__list__succeeded)
#line 2503 "list.m"
                              {
#line 2503 "list.m"
                                mercury__list__H5_23 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__7_7, (MR_Integer) 0));
#line 2503 "list.m"
                                mercury__list__T5_24 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__7_7, (MR_Integer) 1)));
#line 2503 "list.m"
                                mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__8_8)) == (MR_mktag((MR_Integer) 1)));
#line 2503 "list.m"
                                if (mercury__list__succeeded)
#line 2503 "list.m"
                                  {
#line 2503 "list.m"
                                    mercury__list__H6_25 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__8_8, (MR_Integer) 0));
#line 2503 "list.m"
                                    mercury__list__T6_26 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__8_8, (MR_Integer) 1)));
#line 2503 "list.m"
                                    mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__9_9)) == (MR_mktag((MR_Integer) 1)));
#line 2503 "list.m"
                                    if (mercury__list__succeeded)
#line 2503 "list.m"
                                      {
#line 2503 "list.m"
                                        mercury__list__H7_27 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__9_9, (MR_Integer) 0));
#line 2503 "list.m"
                                        mercury__list__T7_28 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__9_9, (MR_Integer) 1)));
#line 2503 "list.m"
                                        mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__10_10)) == (MR_mktag((MR_Integer) 1)));
#line 2503 "list.m"
                                        if (mercury__list__succeeded)
#line 2503 "list.m"
                                          {
#line 2503 "list.m"
                                            mercury__list__H8_29 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__10_10, (MR_Integer) 0));
#line 2503 "list.m"
                                            mercury__list__T8_30 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__10_10, (MR_Integer) 1)));
#line 2504 "list.m"
                                            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2504 "list.m"
                                            {
#line 2504 "list.m"
                                              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_13, mercury__list__H1_15, mercury__list__H2_17, mercury__list__H3_19, mercury__list__H4_21, mercury__list__H5_23, mercury__list__H6_25, mercury__list__H7_27, mercury__list__H8_29);
                                            }
#line 2503 "list.m"
                                            if (mercury__list__succeeded)
#line 2505 "list.m"
                                              {
#line 2505 "list.m"
                                                /* direct tailcall eliminated */
#line 2505 "list.m"
                                                {
#line 2505 "list.m"
                                                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T0_14;
#line 2505 "list.m"
                                                  MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__T1_16;
#line 2505 "list.m"
                                                  MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__T2_18;
#line 2505 "list.m"
                                                  MR_Word mercury__list__HeadVar__5__tmp_copy_5 = mercury__list__T3_20;
#line 2505 "list.m"
                                                  MR_Word mercury__list__HeadVar__6__tmp_copy_6 = mercury__list__T4_22;
#line 2505 "list.m"
                                                  MR_Word mercury__list__HeadVar__7__tmp_copy_7 = mercury__list__T5_24;
#line 2505 "list.m"
                                                  MR_Word mercury__list__HeadVar__8__tmp_copy_8 = mercury__list__T6_26;
#line 2505 "list.m"
                                                  MR_Word mercury__list__HeadVar__9__tmp_copy_9 = mercury__list__T7_28;
#line 2505 "list.m"
                                                  MR_Word mercury__list__HeadVar__10__tmp_copy_10 = mercury__list__T8_30;

#line 2505 "list.m"
                                                  mercury__list__HeadVar__10_10 = mercury__list__HeadVar__10__tmp_copy_10;
#line 2505 "list.m"
                                                  mercury__list__HeadVar__9_9 = mercury__list__HeadVar__9__tmp_copy_9;
#line 2505 "list.m"
                                                  mercury__list__HeadVar__8_8 = mercury__list__HeadVar__8__tmp_copy_8;
#line 2505 "list.m"
                                                  mercury__list__HeadVar__7_7 = mercury__list__HeadVar__7__tmp_copy_7;
#line 2505 "list.m"
                                                  mercury__list__HeadVar__6_6 = mercury__list__HeadVar__6__tmp_copy_6;
#line 2505 "list.m"
                                                  mercury__list__HeadVar__5_5 = mercury__list__HeadVar__5__tmp_copy_5;
#line 2505 "list.m"
                                                  mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2505 "list.m"
                                                  mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2505 "list.m"
                                                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2505 "list.m"
                                                }
#line 2505 "list.m"
                                                continue;
#line 2505 "list.m"
                                              }
#line 2503 "list.m"
                                          }
#line 2503 "list.m"
                                      }
#line 2503 "list.m"
                                  }
#line 2503 "list.m"
                              }
#line 2503 "list.m"
                          }
#line 2503 "list.m"
                      }
#line 2503 "list.m"
                  }
#line 2503 "list.m"
              }
#line 2503 "list.m"
          }
#line 2501 "list.m"
        return mercury__list__succeeded;
#line 2501 "list.m"
      }
#line 2501 "list.m"
      break;
#line 2501 "list.m"
    }
#line 611 "list.m"
}

#line 2503 "list.m"
static void MR_CALL 
mercury__list__map8_10_p_4_2(
#line 2503 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2503 "list.m"
{
#line 2503 "list.m"
  {
#line 2503 "list.m"
    struct mercury__list__map8_10_p_4_env_0_s * mercury__list__env_ptr = (struct mercury__list__map8_10_p_4_env_0_s *) mercury__list__env_ptr_arg;

#line 2503 "list.m"
    {
#line 2503 "list.m"
      MR_Word base;
#line 2503 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__HeadVar__3_3) = base;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__H1_15;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__T1_16));
#line 2503 "list.m"
    }
#line 2503 "list.m"
    {
#line 2503 "list.m"
      MR_Word base;
#line 2503 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__HeadVar__4_4) = base;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__H2_17;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__T2_18));
#line 2503 "list.m"
    }
#line 2503 "list.m"
    {
#line 2503 "list.m"
      MR_Word base;
#line 2503 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__HeadVar__5_5) = base;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__H3_19;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__T3_20));
#line 2503 "list.m"
    }
#line 2503 "list.m"
    {
#line 2503 "list.m"
      MR_Word base;
#line 2503 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__HeadVar__6_6) = base;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__H4_21;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__T4_22));
#line 2503 "list.m"
    }
#line 2503 "list.m"
    {
#line 2503 "list.m"
      MR_Word base;
#line 2503 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__HeadVar__7_7) = base;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__H5_23;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__T5_24));
#line 2503 "list.m"
    }
#line 2503 "list.m"
    {
#line 2503 "list.m"
      MR_Word base;
#line 2503 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__HeadVar__8_8) = base;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__H6_25;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__T6_26));
#line 2503 "list.m"
    }
#line 2503 "list.m"
    {
#line 2503 "list.m"
      MR_Word base;
#line 2503 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__HeadVar__9_9) = base;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__H7_27;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__T7_28));
#line 2503 "list.m"
    }
#line 2503 "list.m"
    {
#line 2503 "list.m"
      MR_Word base;
#line 2503 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__HeadVar__10_10) = base;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__H8_29;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__T8_30));
#line 2503 "list.m"
    }
#line 2503 "list.m"
    {
#line 2503 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__cont)((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__cont_env_ptr);
#line 2503 "list.m"
      return;
    }
#line 2503 "list.m"
  }
#line 2503 "list.m"
}

#line 2503 "list.m"
static void MR_CALL 
mercury__list__map8_10_p_4_1(
#line 2503 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2503 "list.m"
{
#line 2503 "list.m"
  {
#line 2503 "list.m"
    struct mercury__list__map8_10_p_4_env_0_s * mercury__list__env_ptr = (struct mercury__list__map8_10_p_4_env_0_s *) mercury__list__env_ptr_arg;

#line 2505 "list.m"
    {
#line 2505 "list.m"
      mercury__list__map8_10_p_4((mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__TypeInfo_for_A_31, (mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__TypeInfo_for_B_32, (mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__TypeInfo_for_C_33, (mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__TypeInfo_for_D_34, (mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__TypeInfo_for_E_35, (mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__TypeInfo_for_F_36, (mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__TypeInfo_for_G_37, (mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__TypeInfo_for_H_38, (mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__TypeInfo_for_I_39, (mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__T0_14, &(mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__T1_16, &(mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__T2_18, &(mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__T3_20, &(mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__T4_22, &(mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__T5_24, &(mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__T6_26, &(mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__T7_28, &(mercury__list__env_ptr)->mercury__list__map8_10_p_4_env_0__T8_30, mercury__list__map8_10_p_4_2, mercury__list__env_ptr);
    }
#line 2503 "list.m"
  }
#line 2503 "list.m"
}

#line 609 "list.m"
void MR_CALL 
mercury__list__map8_10_p_4(
#line 609 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_31,
#line 609 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_32,
#line 609 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_33,
#line 609 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_34,
#line 609 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_35,
#line 609 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_36,
#line 609 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_37,
#line 609 "list.m"
  MR_Word mercury__list__TypeInfo_for_H_38,
#line 609 "list.m"
  MR_Word mercury__list__TypeInfo_for_I_39,
#line 609 "list.m"
  MR_Word mercury__list__P_1,
#line 609 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 609 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 609 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 609 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 609 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 609 "list.m"
  MR_Word * mercury__list__HeadVar__7_7,
#line 609 "list.m"
  MR_Word * mercury__list__HeadVar__8_8,
#line 609 "list.m"
  MR_Word * mercury__list__HeadVar__9_9,
#line 609 "list.m"
  MR_Word * mercury__list__HeadVar__10_10,
#line 609 "list.m"
  MR_Cont mercury__list__cont,
#line 609 "list.m"
  void * mercury__list__cont_env_ptr)
#line 609 "list.m"
{
#line 609 "list.m"
  {
#line 609 "list.m"
    struct mercury__list__map8_10_p_4_env_0_s mercury__list__env;

#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__TypeInfo_for_A_31 = mercury__list__TypeInfo_for_A_31;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__TypeInfo_for_B_32 = mercury__list__TypeInfo_for_B_32;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__TypeInfo_for_C_33 = mercury__list__TypeInfo_for_C_33;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__TypeInfo_for_D_34 = mercury__list__TypeInfo_for_D_34;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__TypeInfo_for_E_35 = mercury__list__TypeInfo_for_E_35;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__TypeInfo_for_F_36 = mercury__list__TypeInfo_for_F_36;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__TypeInfo_for_G_37 = mercury__list__TypeInfo_for_G_37;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__TypeInfo_for_H_38 = mercury__list__TypeInfo_for_H_38;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__TypeInfo_for_I_39 = mercury__list__TypeInfo_for_I_39;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__P_1 = mercury__list__P_1;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__HeadVar__5_5 = mercury__list__HeadVar__5_5;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__HeadVar__6_6 = mercury__list__HeadVar__6_6;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__HeadVar__7_7 = mercury__list__HeadVar__7_7;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__HeadVar__8_8 = mercury__list__HeadVar__8_8;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__HeadVar__9_9 = mercury__list__HeadVar__9_9;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__HeadVar__10_10 = mercury__list__HeadVar__10_10;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__cont = mercury__list__cont;
#line 609 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_4_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2501 "list.m"
    {
#line 2501 "list.m"
      MR_bool mercury__list__succeeded;

#line 2501 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2501 "list.m"
        {
#line 2501 "list.m"
          *((mercury__list__env).mercury__list__map8_10_p_4_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
          *((mercury__list__env).mercury__list__map8_10_p_4_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
          *((mercury__list__env).mercury__list__map8_10_p_4_env_0__HeadVar__5_5) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
          *((mercury__list__env).mercury__list__map8_10_p_4_env_0__HeadVar__6_6) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
          *((mercury__list__env).mercury__list__map8_10_p_4_env_0__HeadVar__7_7) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
          *((mercury__list__env).mercury__list__map8_10_p_4_env_0__HeadVar__8_8) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
          *((mercury__list__env).mercury__list__map8_10_p_4_env_0__HeadVar__9_9) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
          *((mercury__list__env).mercury__list__map8_10_p_4_env_0__HeadVar__10_10) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
          {
#line 2501 "list.m"
            ((mercury__list__env).mercury__list__map8_10_p_4_env_0__cont)((mercury__list__env).mercury__list__map8_10_p_4_env_0__cont_env_ptr);
#line 2501 "list.m"
            return;
          }
#line 2501 "list.m"
        }
#line 2501 "list.m"
      else
#line 2503 "list.m"
        {
#line 2503 "list.m"
          MR_Box mercury__list__H0_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2504 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *);

#line 2503 "list.m"
          (mercury__list__env).mercury__list__map8_10_p_4_env_0__T0_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2504 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map8_10_p_4_env_0__P_1, (MR_Integer) 1)));
#line 2504 "list.m"
          {
#line 2504 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map8_10_p_4_env_0__P_1), mercury__list__H0_13, &(mercury__list__env).mercury__list__map8_10_p_4_env_0__H1_15, &(mercury__list__env).mercury__list__map8_10_p_4_env_0__H2_17, &(mercury__list__env).mercury__list__map8_10_p_4_env_0__H3_19, &(mercury__list__env).mercury__list__map8_10_p_4_env_0__H4_21, &(mercury__list__env).mercury__list__map8_10_p_4_env_0__H5_23, &(mercury__list__env).mercury__list__map8_10_p_4_env_0__H6_25, &(mercury__list__env).mercury__list__map8_10_p_4_env_0__H7_27, &(mercury__list__env).mercury__list__map8_10_p_4_env_0__H8_29, mercury__list__map8_10_p_4_1, &mercury__list__env);
          }
#line 2503 "list.m"
        }
#line 2501 "list.m"
    }
#line 609 "list.m"
  }
#line 609 "list.m"
}

#line 2503 "list.m"
static void MR_CALL 
mercury__list__map8_10_p_3_2(
#line 2503 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2503 "list.m"
{
#line 2503 "list.m"
  {
#line 2503 "list.m"
    struct mercury__list__map8_10_p_3_env_0_s * mercury__list__env_ptr = (struct mercury__list__map8_10_p_3_env_0_s *) mercury__list__env_ptr_arg;

#line 2503 "list.m"
    {
#line 2503 "list.m"
      MR_Word base;
#line 2503 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__HeadVar__3_3) = base;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__H1_15;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__T1_16));
#line 2503 "list.m"
    }
#line 2503 "list.m"
    {
#line 2503 "list.m"
      MR_Word base;
#line 2503 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__HeadVar__4_4) = base;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__H2_17;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__T2_18));
#line 2503 "list.m"
    }
#line 2503 "list.m"
    {
#line 2503 "list.m"
      MR_Word base;
#line 2503 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__HeadVar__5_5) = base;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__H3_19;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__T3_20));
#line 2503 "list.m"
    }
#line 2503 "list.m"
    {
#line 2503 "list.m"
      MR_Word base;
#line 2503 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__HeadVar__6_6) = base;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__H4_21;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__T4_22));
#line 2503 "list.m"
    }
#line 2503 "list.m"
    {
#line 2503 "list.m"
      MR_Word base;
#line 2503 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__HeadVar__7_7) = base;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__H5_23;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__T5_24));
#line 2503 "list.m"
    }
#line 2503 "list.m"
    {
#line 2503 "list.m"
      MR_Word base;
#line 2503 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__HeadVar__8_8) = base;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__H6_25;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__T6_26));
#line 2503 "list.m"
    }
#line 2503 "list.m"
    {
#line 2503 "list.m"
      MR_Word base;
#line 2503 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__HeadVar__9_9) = base;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__H7_27;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__T7_28));
#line 2503 "list.m"
    }
#line 2503 "list.m"
    {
#line 2503 "list.m"
      MR_Word base;
#line 2503 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__HeadVar__10_10) = base;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__H8_29;
#line 2503 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__T8_30));
#line 2503 "list.m"
    }
#line 2503 "list.m"
    {
#line 2503 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__cont)((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__cont_env_ptr);
#line 2503 "list.m"
      return;
    }
#line 2503 "list.m"
  }
#line 2503 "list.m"
}

#line 2503 "list.m"
static void MR_CALL 
mercury__list__map8_10_p_3_1(
#line 2503 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2503 "list.m"
{
#line 2503 "list.m"
  {
#line 2503 "list.m"
    struct mercury__list__map8_10_p_3_env_0_s * mercury__list__env_ptr = (struct mercury__list__map8_10_p_3_env_0_s *) mercury__list__env_ptr_arg;

#line 2505 "list.m"
    {
#line 2505 "list.m"
      mercury__list__map8_10_p_3((mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__TypeInfo_for_A_31, (mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__TypeInfo_for_B_32, (mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__TypeInfo_for_C_33, (mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__TypeInfo_for_D_34, (mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__TypeInfo_for_E_35, (mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__TypeInfo_for_F_36, (mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__TypeInfo_for_G_37, (mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__TypeInfo_for_H_38, (mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__TypeInfo_for_I_39, (mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__T0_14, &(mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__T1_16, &(mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__T2_18, &(mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__T3_20, &(mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__T4_22, &(mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__T5_24, &(mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__T6_26, &(mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__T7_28, &(mercury__list__env_ptr)->mercury__list__map8_10_p_3_env_0__T8_30, mercury__list__map8_10_p_3_2, mercury__list__env_ptr);
    }
#line 2503 "list.m"
  }
#line 2503 "list.m"
}

#line 607 "list.m"
void MR_CALL 
mercury__list__map8_10_p_3(
#line 607 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_31,
#line 607 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_32,
#line 607 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_33,
#line 607 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_34,
#line 607 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_35,
#line 607 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_36,
#line 607 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_37,
#line 607 "list.m"
  MR_Word mercury__list__TypeInfo_for_H_38,
#line 607 "list.m"
  MR_Word mercury__list__TypeInfo_for_I_39,
#line 607 "list.m"
  MR_Word mercury__list__P_1,
#line 607 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 607 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 607 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 607 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 607 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 607 "list.m"
  MR_Word * mercury__list__HeadVar__7_7,
#line 607 "list.m"
  MR_Word * mercury__list__HeadVar__8_8,
#line 607 "list.m"
  MR_Word * mercury__list__HeadVar__9_9,
#line 607 "list.m"
  MR_Word * mercury__list__HeadVar__10_10,
#line 607 "list.m"
  MR_Cont mercury__list__cont,
#line 607 "list.m"
  void * mercury__list__cont_env_ptr)
#line 607 "list.m"
{
#line 607 "list.m"
  {
#line 607 "list.m"
    struct mercury__list__map8_10_p_3_env_0_s mercury__list__env;

#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__TypeInfo_for_A_31 = mercury__list__TypeInfo_for_A_31;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__TypeInfo_for_B_32 = mercury__list__TypeInfo_for_B_32;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__TypeInfo_for_C_33 = mercury__list__TypeInfo_for_C_33;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__TypeInfo_for_D_34 = mercury__list__TypeInfo_for_D_34;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__TypeInfo_for_E_35 = mercury__list__TypeInfo_for_E_35;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__TypeInfo_for_F_36 = mercury__list__TypeInfo_for_F_36;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__TypeInfo_for_G_37 = mercury__list__TypeInfo_for_G_37;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__TypeInfo_for_H_38 = mercury__list__TypeInfo_for_H_38;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__TypeInfo_for_I_39 = mercury__list__TypeInfo_for_I_39;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__P_1 = mercury__list__P_1;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__HeadVar__5_5 = mercury__list__HeadVar__5_5;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__HeadVar__6_6 = mercury__list__HeadVar__6_6;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__HeadVar__7_7 = mercury__list__HeadVar__7_7;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__HeadVar__8_8 = mercury__list__HeadVar__8_8;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__HeadVar__9_9 = mercury__list__HeadVar__9_9;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__HeadVar__10_10 = mercury__list__HeadVar__10_10;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__cont = mercury__list__cont;
#line 607 "list.m"
    (mercury__list__env).mercury__list__map8_10_p_3_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2501 "list.m"
    {
#line 2501 "list.m"
      MR_bool mercury__list__succeeded;

#line 2501 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2501 "list.m"
        {
#line 2501 "list.m"
          *((mercury__list__env).mercury__list__map8_10_p_3_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
          *((mercury__list__env).mercury__list__map8_10_p_3_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
          *((mercury__list__env).mercury__list__map8_10_p_3_env_0__HeadVar__5_5) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
          *((mercury__list__env).mercury__list__map8_10_p_3_env_0__HeadVar__6_6) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
          *((mercury__list__env).mercury__list__map8_10_p_3_env_0__HeadVar__7_7) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
          *((mercury__list__env).mercury__list__map8_10_p_3_env_0__HeadVar__8_8) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
          *((mercury__list__env).mercury__list__map8_10_p_3_env_0__HeadVar__9_9) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
          *((mercury__list__env).mercury__list__map8_10_p_3_env_0__HeadVar__10_10) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
          {
#line 2501 "list.m"
            ((mercury__list__env).mercury__list__map8_10_p_3_env_0__cont)((mercury__list__env).mercury__list__map8_10_p_3_env_0__cont_env_ptr);
#line 2501 "list.m"
            return;
          }
#line 2501 "list.m"
        }
#line 2501 "list.m"
      else
#line 2503 "list.m"
        {
#line 2503 "list.m"
          MR_Box mercury__list__H0_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2504 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *);

#line 2503 "list.m"
          (mercury__list__env).mercury__list__map8_10_p_3_env_0__T0_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2504 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map8_10_p_3_env_0__P_1, (MR_Integer) 1)));
#line 2504 "list.m"
          {
#line 2504 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map8_10_p_3_env_0__P_1), mercury__list__H0_13, &(mercury__list__env).mercury__list__map8_10_p_3_env_0__H1_15, &(mercury__list__env).mercury__list__map8_10_p_3_env_0__H2_17, &(mercury__list__env).mercury__list__map8_10_p_3_env_0__H3_19, &(mercury__list__env).mercury__list__map8_10_p_3_env_0__H4_21, &(mercury__list__env).mercury__list__map8_10_p_3_env_0__H5_23, &(mercury__list__env).mercury__list__map8_10_p_3_env_0__H6_25, &(mercury__list__env).mercury__list__map8_10_p_3_env_0__H7_27, &(mercury__list__env).mercury__list__map8_10_p_3_env_0__H8_29, mercury__list__map8_10_p_3_1, &mercury__list__env);
          }
#line 2503 "list.m"
        }
#line 2501 "list.m"
    }
#line 607 "list.m"
  }
#line 607 "list.m"
}

#line 605 "list.m"
MR_bool MR_CALL 
mercury__list__map8_10_p_2(
#line 605 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_31,
#line 605 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_32,
#line 605 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_33,
#line 605 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_34,
#line 605 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_35,
#line 605 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_36,
#line 605 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_37,
#line 605 "list.m"
  MR_Word mercury__list__TypeInfo_for_H_38,
#line 605 "list.m"
  MR_Word mercury__list__TypeInfo_for_I_39,
#line 605 "list.m"
  MR_Word mercury__list__P_1,
#line 605 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 605 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 605 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 605 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 605 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 605 "list.m"
  MR_Word * mercury__list__HeadVar__7_7,
#line 605 "list.m"
  MR_Word * mercury__list__HeadVar__8_8,
#line 605 "list.m"
  MR_Word * mercury__list__HeadVar__9_9,
#line 605 "list.m"
  MR_Word * mercury__list__HeadVar__10_10)
#line 605 "list.m"
{
#line 2501 "list.m"
  {
#line 2501 "list.m"
    MR_bool mercury__list__succeeded;

#line 2501 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2501 "list.m"
      {
#line 2501 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__7_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__8_8 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__9_9 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__10_10 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2501 "list.m"
      }
#line 2501 "list.m"
    else
#line 2503 "list.m"
      {
#line 2503 "list.m"
        MR_Box mercury__list__H0_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2503 "list.m"
        MR_Word mercury__list__T0_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2503 "list.m"
        MR_Box mercury__list__H1_15;
#line 2503 "list.m"
        MR_Word mercury__list__T1_16;
#line 2503 "list.m"
        MR_Box mercury__list__H2_17;
#line 2503 "list.m"
        MR_Word mercury__list__T2_18;
#line 2503 "list.m"
        MR_Box mercury__list__H3_19;
#line 2503 "list.m"
        MR_Word mercury__list__T3_20;
#line 2503 "list.m"
        MR_Box mercury__list__H4_21;
#line 2503 "list.m"
        MR_Word mercury__list__T4_22;
#line 2503 "list.m"
        MR_Box mercury__list__H5_23;
#line 2503 "list.m"
        MR_Word mercury__list__T5_24;
#line 2503 "list.m"
        MR_Box mercury__list__H6_25;
#line 2503 "list.m"
        MR_Word mercury__list__T6_26;
#line 2503 "list.m"
        MR_Box mercury__list__H7_27;
#line 2503 "list.m"
        MR_Word mercury__list__T7_28;
#line 2503 "list.m"
        MR_Box mercury__list__H8_29;
#line 2503 "list.m"
        MR_Word mercury__list__T8_30;
#line 2504 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2504 "list.m"
        {
#line 2504 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_13, &mercury__list__H1_15, &mercury__list__H2_17, &mercury__list__H3_19, &mercury__list__H4_21, &mercury__list__H5_23, &mercury__list__H6_25, &mercury__list__H7_27, &mercury__list__H8_29);
        }
#line 2503 "list.m"
        if (mercury__list__succeeded)
#line 2503 "list.m"
          {
#line 2505 "list.m"
            {
#line 2505 "list.m"
              mercury__list__succeeded = mercury__list__map8_10_p_2(mercury__list__TypeInfo_for_A_31, mercury__list__TypeInfo_for_B_32, mercury__list__TypeInfo_for_C_33, mercury__list__TypeInfo_for_D_34, mercury__list__TypeInfo_for_E_35, mercury__list__TypeInfo_for_F_36, mercury__list__TypeInfo_for_G_37, mercury__list__TypeInfo_for_H_38, mercury__list__TypeInfo_for_I_39, mercury__list__P_1, mercury__list__T0_14, &mercury__list__T1_16, &mercury__list__T2_18, &mercury__list__T3_20, &mercury__list__T4_22, &mercury__list__T5_24, &mercury__list__T6_26, &mercury__list__T7_28, &mercury__list__T8_30);
            }
#line 2503 "list.m"
            if (mercury__list__succeeded)
#line 2503 "list.m"
              {
#line 2503 "list.m"
                {
#line 2503 "list.m"
                  MR_Word base;
#line 2503 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2503 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_15;
#line 2503 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_16));
#line 2503 "list.m"
                }
#line 2503 "list.m"
                {
#line 2503 "list.m"
                  MR_Word base;
#line 2503 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2503 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_17;
#line 2503 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_18));
#line 2503 "list.m"
                }
#line 2503 "list.m"
                {
#line 2503 "list.m"
                  MR_Word base;
#line 2503 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
                  *mercury__list__HeadVar__5_5 = base;
#line 2503 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_19;
#line 2503 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_20));
#line 2503 "list.m"
                }
#line 2503 "list.m"
                {
#line 2503 "list.m"
                  MR_Word base;
#line 2503 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
                  *mercury__list__HeadVar__6_6 = base;
#line 2503 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_21;
#line 2503 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_22));
#line 2503 "list.m"
                }
#line 2503 "list.m"
                {
#line 2503 "list.m"
                  MR_Word base;
#line 2503 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
                  *mercury__list__HeadVar__7_7 = base;
#line 2503 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H5_23;
#line 2503 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T5_24));
#line 2503 "list.m"
                }
#line 2503 "list.m"
                {
#line 2503 "list.m"
                  MR_Word base;
#line 2503 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
                  *mercury__list__HeadVar__8_8 = base;
#line 2503 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H6_25;
#line 2503 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T6_26));
#line 2503 "list.m"
                }
#line 2503 "list.m"
                {
#line 2503 "list.m"
                  MR_Word base;
#line 2503 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
                  *mercury__list__HeadVar__9_9 = base;
#line 2503 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H7_27;
#line 2503 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T7_28));
#line 2503 "list.m"
                }
#line 2503 "list.m"
                {
#line 2503 "list.m"
                  MR_Word base;
#line 2503 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
                  *mercury__list__HeadVar__10_10 = base;
#line 2503 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H8_29;
#line 2503 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T8_30));
#line 2503 "list.m"
                }
#line 2503 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2503 "list.m"
              }
#line 2503 "list.m"
          }
#line 2503 "list.m"
      }
#line 2501 "list.m"
    return mercury__list__succeeded;
#line 2501 "list.m"
  }
#line 605 "list.m"
}

#line 603 "list.m"
void MR_CALL 
mercury__list__map8_10_p_1(
#line 603 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_31,
#line 603 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_32,
#line 603 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_33,
#line 603 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_34,
#line 603 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_35,
#line 603 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_36,
#line 603 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_37,
#line 603 "list.m"
  MR_Word mercury__list__TypeInfo_for_H_38,
#line 603 "list.m"
  MR_Word mercury__list__TypeInfo_for_I_39,
#line 603 "list.m"
  MR_Word mercury__list__P_1,
#line 603 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 603 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 603 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 603 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 603 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 603 "list.m"
  MR_Word * mercury__list__HeadVar__7_7,
#line 603 "list.m"
  MR_Word * mercury__list__HeadVar__8_8,
#line 603 "list.m"
  MR_Word * mercury__list__HeadVar__9_9,
#line 603 "list.m"
  MR_Word * mercury__list__HeadVar__10_10)
#line 603 "list.m"
{
#line 2501 "list.m"
  {
#line 2501 "list.m"
    MR_bool mercury__list__succeeded;

#line 2501 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2501 "list.m"
      {
#line 2501 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__7_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__8_8 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__9_9 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__10_10 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
      }
#line 2501 "list.m"
    else
#line 2503 "list.m"
      {
#line 2503 "list.m"
        MR_Box mercury__list__H0_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2503 "list.m"
        MR_Word mercury__list__T0_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2503 "list.m"
        MR_Box mercury__list__H1_15;
#line 2503 "list.m"
        MR_Word mercury__list__T1_16;
#line 2503 "list.m"
        MR_Box mercury__list__H2_17;
#line 2503 "list.m"
        MR_Word mercury__list__T2_18;
#line 2503 "list.m"
        MR_Box mercury__list__H3_19;
#line 2503 "list.m"
        MR_Word mercury__list__T3_20;
#line 2503 "list.m"
        MR_Box mercury__list__H4_21;
#line 2503 "list.m"
        MR_Word mercury__list__T4_22;
#line 2503 "list.m"
        MR_Box mercury__list__H5_23;
#line 2503 "list.m"
        MR_Word mercury__list__T5_24;
#line 2503 "list.m"
        MR_Box mercury__list__H6_25;
#line 2503 "list.m"
        MR_Word mercury__list__T6_26;
#line 2503 "list.m"
        MR_Box mercury__list__H7_27;
#line 2503 "list.m"
        MR_Word mercury__list__T7_28;
#line 2503 "list.m"
        MR_Box mercury__list__H8_29;
#line 2503 "list.m"
        MR_Word mercury__list__T8_30;
#line 2504 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2504 "list.m"
        {
#line 2504 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_13, &mercury__list__H1_15, &mercury__list__H2_17, &mercury__list__H3_19, &mercury__list__H4_21, &mercury__list__H5_23, &mercury__list__H6_25, &mercury__list__H7_27, &mercury__list__H8_29);
        }
#line 2505 "list.m"
        {
#line 2505 "list.m"
          mercury__list__map8_10_p_1(mercury__list__TypeInfo_for_A_31, mercury__list__TypeInfo_for_B_32, mercury__list__TypeInfo_for_C_33, mercury__list__TypeInfo_for_D_34, mercury__list__TypeInfo_for_E_35, mercury__list__TypeInfo_for_F_36, mercury__list__TypeInfo_for_G_37, mercury__list__TypeInfo_for_H_38, mercury__list__TypeInfo_for_I_39, mercury__list__P_1, mercury__list__T0_14, &mercury__list__T1_16, &mercury__list__T2_18, &mercury__list__T3_20, &mercury__list__T4_22, &mercury__list__T5_24, &mercury__list__T6_26, &mercury__list__T7_28, &mercury__list__T8_30);
        }
#line 2503 "list.m"
        {
#line 2503 "list.m"
          MR_Word base;
#line 2503 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_15;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_16));
#line 2503 "list.m"
        }
#line 2503 "list.m"
        {
#line 2503 "list.m"
          MR_Word base;
#line 2503 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_17;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_18));
#line 2503 "list.m"
        }
#line 2503 "list.m"
        {
#line 2503 "list.m"
          MR_Word base;
#line 2503 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_19;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_20));
#line 2503 "list.m"
        }
#line 2503 "list.m"
        {
#line 2503 "list.m"
          MR_Word base;
#line 2503 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
          *mercury__list__HeadVar__6_6 = base;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_21;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_22));
#line 2503 "list.m"
        }
#line 2503 "list.m"
        {
#line 2503 "list.m"
          MR_Word base;
#line 2503 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
          *mercury__list__HeadVar__7_7 = base;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H5_23;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T5_24));
#line 2503 "list.m"
        }
#line 2503 "list.m"
        {
#line 2503 "list.m"
          MR_Word base;
#line 2503 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
          *mercury__list__HeadVar__8_8 = base;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H6_25;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T6_26));
#line 2503 "list.m"
        }
#line 2503 "list.m"
        {
#line 2503 "list.m"
          MR_Word base;
#line 2503 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
          *mercury__list__HeadVar__9_9 = base;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H7_27;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T7_28));
#line 2503 "list.m"
        }
#line 2503 "list.m"
        {
#line 2503 "list.m"
          MR_Word base;
#line 2503 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
          *mercury__list__HeadVar__10_10 = base;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H8_29;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T8_30));
#line 2503 "list.m"
        }
#line 2503 "list.m"
      }
#line 2501 "list.m"
  }
#line 603 "list.m"
}

#line 601 "list.m"
void MR_CALL 
mercury__list__map8_10_p_0(
#line 601 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_31,
#line 601 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_32,
#line 601 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_33,
#line 601 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_34,
#line 601 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_35,
#line 601 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_36,
#line 601 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_37,
#line 601 "list.m"
  MR_Word mercury__list__TypeInfo_for_H_38,
#line 601 "list.m"
  MR_Word mercury__list__TypeInfo_for_I_39,
#line 601 "list.m"
  MR_Word mercury__list__P_1,
#line 601 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 601 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 601 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 601 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 601 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 601 "list.m"
  MR_Word * mercury__list__HeadVar__7_7,
#line 601 "list.m"
  MR_Word * mercury__list__HeadVar__8_8,
#line 601 "list.m"
  MR_Word * mercury__list__HeadVar__9_9,
#line 601 "list.m"
  MR_Word * mercury__list__HeadVar__10_10)
#line 601 "list.m"
{
#line 2501 "list.m"
  {
#line 2501 "list.m"
    MR_bool mercury__list__succeeded;

#line 2501 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2501 "list.m"
      {
#line 2501 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__7_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__8_8 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__9_9 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
        *mercury__list__HeadVar__10_10 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2501 "list.m"
      }
#line 2501 "list.m"
    else
#line 2503 "list.m"
      {
#line 2503 "list.m"
        MR_Box mercury__list__H0_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2503 "list.m"
        MR_Word mercury__list__T0_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2503 "list.m"
        MR_Box mercury__list__H1_15;
#line 2503 "list.m"
        MR_Word mercury__list__T1_16;
#line 2503 "list.m"
        MR_Box mercury__list__H2_17;
#line 2503 "list.m"
        MR_Word mercury__list__T2_18;
#line 2503 "list.m"
        MR_Box mercury__list__H3_19;
#line 2503 "list.m"
        MR_Word mercury__list__T3_20;
#line 2503 "list.m"
        MR_Box mercury__list__H4_21;
#line 2503 "list.m"
        MR_Word mercury__list__T4_22;
#line 2503 "list.m"
        MR_Box mercury__list__H5_23;
#line 2503 "list.m"
        MR_Word mercury__list__T5_24;
#line 2503 "list.m"
        MR_Box mercury__list__H6_25;
#line 2503 "list.m"
        MR_Word mercury__list__T6_26;
#line 2503 "list.m"
        MR_Box mercury__list__H7_27;
#line 2503 "list.m"
        MR_Word mercury__list__T7_28;
#line 2503 "list.m"
        MR_Box mercury__list__H8_29;
#line 2503 "list.m"
        MR_Word mercury__list__T8_30;
#line 2504 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2504 "list.m"
        {
#line 2504 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_13, &mercury__list__H1_15, &mercury__list__H2_17, &mercury__list__H3_19, &mercury__list__H4_21, &mercury__list__H5_23, &mercury__list__H6_25, &mercury__list__H7_27, &mercury__list__H8_29);
        }
#line 2505 "list.m"
        {
#line 2505 "list.m"
          mercury__list__map8_10_p_0(mercury__list__TypeInfo_for_A_31, mercury__list__TypeInfo_for_B_32, mercury__list__TypeInfo_for_C_33, mercury__list__TypeInfo_for_D_34, mercury__list__TypeInfo_for_E_35, mercury__list__TypeInfo_for_F_36, mercury__list__TypeInfo_for_G_37, mercury__list__TypeInfo_for_H_38, mercury__list__TypeInfo_for_I_39, mercury__list__P_1, mercury__list__T0_14, &mercury__list__T1_16, &mercury__list__T2_18, &mercury__list__T3_20, &mercury__list__T4_22, &mercury__list__T5_24, &mercury__list__T6_26, &mercury__list__T7_28, &mercury__list__T8_30);
        }
#line 2503 "list.m"
        {
#line 2503 "list.m"
          MR_Word base;
#line 2503 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_15;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_16));
#line 2503 "list.m"
        }
#line 2503 "list.m"
        {
#line 2503 "list.m"
          MR_Word base;
#line 2503 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_17;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_18));
#line 2503 "list.m"
        }
#line 2503 "list.m"
        {
#line 2503 "list.m"
          MR_Word base;
#line 2503 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_19;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_20));
#line 2503 "list.m"
        }
#line 2503 "list.m"
        {
#line 2503 "list.m"
          MR_Word base;
#line 2503 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
          *mercury__list__HeadVar__6_6 = base;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_21;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_22));
#line 2503 "list.m"
        }
#line 2503 "list.m"
        {
#line 2503 "list.m"
          MR_Word base;
#line 2503 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
          *mercury__list__HeadVar__7_7 = base;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H5_23;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T5_24));
#line 2503 "list.m"
        }
#line 2503 "list.m"
        {
#line 2503 "list.m"
          MR_Word base;
#line 2503 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
          *mercury__list__HeadVar__8_8 = base;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H6_25;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T6_26));
#line 2503 "list.m"
        }
#line 2503 "list.m"
        {
#line 2503 "list.m"
          MR_Word base;
#line 2503 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
          *mercury__list__HeadVar__9_9 = base;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H7_27;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T7_28));
#line 2503 "list.m"
        }
#line 2503 "list.m"
        {
#line 2503 "list.m"
          MR_Word base;
#line 2503 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2503 "list.m"
          *mercury__list__HeadVar__10_10 = base;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H8_29;
#line 2503 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T8_30));
#line 2503 "list.m"
        }
#line 2503 "list.m"
      }
#line 2501 "list.m"
  }
#line 601 "list.m"
}

#line 592 "list.m"
MR_bool MR_CALL 
mercury__list__map7_9_p_5(
#line 592 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 592 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_29,
#line 592 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_30,
#line 592 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_31,
#line 592 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_32,
#line 592 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_33,
#line 592 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_34,
#line 592 "list.m"
  MR_Word mercury__list__TypeInfo_for_H_35,
#line 592 "list.m"
  MR_Word mercury__list__P_1,
#line 592 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 592 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 592 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 592 "list.m"
  MR_Word mercury__list__HeadVar__5_5,
#line 592 "list.m"
  MR_Word mercury__list__HeadVar__6_6,
#line 592 "list.m"
  MR_Word mercury__list__HeadVar__7_7,
#line 592 "list.m"
  MR_Word mercury__list__HeadVar__8_8,
#line 592 "list.m"
  MR_Word mercury__list__HeadVar__9_9)
#line 592 "list.m"
{
#line 2495 "list.m"
  while (MR_TRUE)
#line 2495 "list.m"
    {
#line 2495 "list.m"
      /* tailcall optimized into a loop */
#line 2495 "list.m"
      {
#line 2495 "list.m"
        MR_bool mercury__list__succeeded;

#line 2495 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2495 "list.m"
          {
#line 2495 "list.m"
            mercury__list__succeeded = (mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2495 "list.m"
            if (mercury__list__succeeded)
#line 2495 "list.m"
              {
#line 2495 "list.m"
                mercury__list__succeeded = (mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2495 "list.m"
                if (mercury__list__succeeded)
#line 2495 "list.m"
                  {
#line 2495 "list.m"
                    mercury__list__succeeded = (mercury__list__HeadVar__5_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2495 "list.m"
                    if (mercury__list__succeeded)
#line 2495 "list.m"
                      {
#line 2495 "list.m"
                        mercury__list__succeeded = (mercury__list__HeadVar__6_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2495 "list.m"
                        if (mercury__list__succeeded)
#line 2495 "list.m"
                          {
#line 2495 "list.m"
                            mercury__list__succeeded = (mercury__list__HeadVar__7_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2495 "list.m"
                            if (mercury__list__succeeded)
#line 2495 "list.m"
                              {
#line 2495 "list.m"
                                mercury__list__succeeded = (mercury__list__HeadVar__8_8 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2495 "list.m"
                                if (mercury__list__succeeded)
#line 2495 "list.m"
                                  mercury__list__succeeded = (mercury__list__HeadVar__9_9 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2495 "list.m"
                              }
#line 2495 "list.m"
                          }
#line 2495 "list.m"
                      }
#line 2495 "list.m"
                  }
#line 2495 "list.m"
              }
#line 2495 "list.m"
          }
#line 2495 "list.m"
        else
#line 2497 "list.m"
          {
#line 2497 "list.m"
            MR_Box mercury__list__H0_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2497 "list.m"
            MR_Word mercury__list__T0_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2497 "list.m"
            MR_Box mercury__list__H1_14;
#line 2497 "list.m"
            MR_Word mercury__list__T1_15;
#line 2497 "list.m"
            MR_Box mercury__list__H2_16;
#line 2497 "list.m"
            MR_Word mercury__list__T2_17;
#line 2497 "list.m"
            MR_Box mercury__list__H3_18;
#line 2497 "list.m"
            MR_Word mercury__list__T3_19;
#line 2497 "list.m"
            MR_Box mercury__list__H4_20;
#line 2497 "list.m"
            MR_Word mercury__list__T4_21;
#line 2497 "list.m"
            MR_Box mercury__list__H5_22;
#line 2497 "list.m"
            MR_Word mercury__list__T5_23;
#line 2497 "list.m"
            MR_Box mercury__list__H6_24;
#line 2497 "list.m"
            MR_Word mercury__list__T6_25;
#line 2497 "list.m"
            MR_Box mercury__list__H7_26;
#line 2497 "list.m"
            MR_Word mercury__list__T7_27;
#line 2498 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box);

#line 2497 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1)));
#line 2497 "list.m"
            if (mercury__list__succeeded)
#line 2497 "list.m"
              {
#line 2497 "list.m"
                mercury__list__H1_14 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2497 "list.m"
                mercury__list__T1_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2497 "list.m"
                mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__4_4)) == (MR_mktag((MR_Integer) 1)));
#line 2497 "list.m"
                if (mercury__list__succeeded)
#line 2497 "list.m"
                  {
#line 2497 "list.m"
                    mercury__list__H2_16 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2497 "list.m"
                    mercury__list__T2_17 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2497 "list.m"
                    mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__5_5)) == (MR_mktag((MR_Integer) 1)));
#line 2497 "list.m"
                    if (mercury__list__succeeded)
#line 2497 "list.m"
                      {
#line 2497 "list.m"
                        mercury__list__H3_18 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__5_5, (MR_Integer) 0));
#line 2497 "list.m"
                        mercury__list__T3_19 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__5_5, (MR_Integer) 1)));
#line 2497 "list.m"
                        mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__6_6)) == (MR_mktag((MR_Integer) 1)));
#line 2497 "list.m"
                        if (mercury__list__succeeded)
#line 2497 "list.m"
                          {
#line 2497 "list.m"
                            mercury__list__H4_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__6_6, (MR_Integer) 0));
#line 2497 "list.m"
                            mercury__list__T4_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__6_6, (MR_Integer) 1)));
#line 2497 "list.m"
                            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__7_7)) == (MR_mktag((MR_Integer) 1)));
#line 2497 "list.m"
                            if (mercury__list__succeeded)
#line 2497 "list.m"
                              {
#line 2497 "list.m"
                                mercury__list__H5_22 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__7_7, (MR_Integer) 0));
#line 2497 "list.m"
                                mercury__list__T5_23 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__7_7, (MR_Integer) 1)));
#line 2497 "list.m"
                                mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__8_8)) == (MR_mktag((MR_Integer) 1)));
#line 2497 "list.m"
                                if (mercury__list__succeeded)
#line 2497 "list.m"
                                  {
#line 2497 "list.m"
                                    mercury__list__H6_24 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__8_8, (MR_Integer) 0));
#line 2497 "list.m"
                                    mercury__list__T6_25 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__8_8, (MR_Integer) 1)));
#line 2497 "list.m"
                                    mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__9_9)) == (MR_mktag((MR_Integer) 1)));
#line 2497 "list.m"
                                    if (mercury__list__succeeded)
#line 2497 "list.m"
                                      {
#line 2497 "list.m"
                                        mercury__list__H7_26 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__9_9, (MR_Integer) 0));
#line 2497 "list.m"
                                        mercury__list__T7_27 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__9_9, (MR_Integer) 1)));
#line 2498 "list.m"
                                        mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2498 "list.m"
                                        {
#line 2498 "list.m"
                                          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_12, mercury__list__H1_14, mercury__list__H2_16, mercury__list__H3_18, mercury__list__H4_20, mercury__list__H5_22, mercury__list__H6_24, mercury__list__H7_26);
                                        }
#line 2497 "list.m"
                                        if (mercury__list__succeeded)
#line 2499 "list.m"
                                          {
#line 2499 "list.m"
                                            /* direct tailcall eliminated */
#line 2499 "list.m"
                                            {
#line 2499 "list.m"
                                              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T0_13;
#line 2499 "list.m"
                                              MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__T1_15;
#line 2499 "list.m"
                                              MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__T2_17;
#line 2499 "list.m"
                                              MR_Word mercury__list__HeadVar__5__tmp_copy_5 = mercury__list__T3_19;
#line 2499 "list.m"
                                              MR_Word mercury__list__HeadVar__6__tmp_copy_6 = mercury__list__T4_21;
#line 2499 "list.m"
                                              MR_Word mercury__list__HeadVar__7__tmp_copy_7 = mercury__list__T5_23;
#line 2499 "list.m"
                                              MR_Word mercury__list__HeadVar__8__tmp_copy_8 = mercury__list__T6_25;
#line 2499 "list.m"
                                              MR_Word mercury__list__HeadVar__9__tmp_copy_9 = mercury__list__T7_27;

#line 2499 "list.m"
                                              mercury__list__HeadVar__9_9 = mercury__list__HeadVar__9__tmp_copy_9;
#line 2499 "list.m"
                                              mercury__list__HeadVar__8_8 = mercury__list__HeadVar__8__tmp_copy_8;
#line 2499 "list.m"
                                              mercury__list__HeadVar__7_7 = mercury__list__HeadVar__7__tmp_copy_7;
#line 2499 "list.m"
                                              mercury__list__HeadVar__6_6 = mercury__list__HeadVar__6__tmp_copy_6;
#line 2499 "list.m"
                                              mercury__list__HeadVar__5_5 = mercury__list__HeadVar__5__tmp_copy_5;
#line 2499 "list.m"
                                              mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2499 "list.m"
                                              mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2499 "list.m"
                                              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2499 "list.m"
                                            }
#line 2499 "list.m"
                                            continue;
#line 2499 "list.m"
                                          }
#line 2497 "list.m"
                                      }
#line 2497 "list.m"
                                  }
#line 2497 "list.m"
                              }
#line 2497 "list.m"
                          }
#line 2497 "list.m"
                      }
#line 2497 "list.m"
                  }
#line 2497 "list.m"
              }
#line 2497 "list.m"
          }
#line 2495 "list.m"
        return mercury__list__succeeded;
#line 2495 "list.m"
      }
#line 2495 "list.m"
      break;
#line 2495 "list.m"
    }
#line 592 "list.m"
}

#line 2497 "list.m"
static void MR_CALL 
mercury__list__map7_9_p_4_2(
#line 2497 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2497 "list.m"
{
#line 2497 "list.m"
  {
#line 2497 "list.m"
    struct mercury__list__map7_9_p_4_env_0_s * mercury__list__env_ptr = (struct mercury__list__map7_9_p_4_env_0_s *) mercury__list__env_ptr_arg;

#line 2497 "list.m"
    {
#line 2497 "list.m"
      MR_Word base;
#line 2497 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__HeadVar__3_3) = base;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__H1_14;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__T1_15));
#line 2497 "list.m"
    }
#line 2497 "list.m"
    {
#line 2497 "list.m"
      MR_Word base;
#line 2497 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__HeadVar__4_4) = base;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__H2_16;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__T2_17));
#line 2497 "list.m"
    }
#line 2497 "list.m"
    {
#line 2497 "list.m"
      MR_Word base;
#line 2497 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__HeadVar__5_5) = base;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__H3_18;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__T3_19));
#line 2497 "list.m"
    }
#line 2497 "list.m"
    {
#line 2497 "list.m"
      MR_Word base;
#line 2497 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__HeadVar__6_6) = base;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__H4_20;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__T4_21));
#line 2497 "list.m"
    }
#line 2497 "list.m"
    {
#line 2497 "list.m"
      MR_Word base;
#line 2497 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__HeadVar__7_7) = base;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__H5_22;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__T5_23));
#line 2497 "list.m"
    }
#line 2497 "list.m"
    {
#line 2497 "list.m"
      MR_Word base;
#line 2497 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__HeadVar__8_8) = base;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__H6_24;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__T6_25));
#line 2497 "list.m"
    }
#line 2497 "list.m"
    {
#line 2497 "list.m"
      MR_Word base;
#line 2497 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__HeadVar__9_9) = base;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__H7_26;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__T7_27));
#line 2497 "list.m"
    }
#line 2497 "list.m"
    {
#line 2497 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__cont)((mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__cont_env_ptr);
#line 2497 "list.m"
      return;
    }
#line 2497 "list.m"
  }
#line 2497 "list.m"
}

#line 2497 "list.m"
static void MR_CALL 
mercury__list__map7_9_p_4_1(
#line 2497 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2497 "list.m"
{
#line 2497 "list.m"
  {
#line 2497 "list.m"
    struct mercury__list__map7_9_p_4_env_0_s * mercury__list__env_ptr = (struct mercury__list__map7_9_p_4_env_0_s *) mercury__list__env_ptr_arg;

#line 2499 "list.m"
    {
#line 2499 "list.m"
      mercury__list__map7_9_p_4((mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__TypeInfo_for_A_28, (mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__TypeInfo_for_B_29, (mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__TypeInfo_for_C_30, (mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__TypeInfo_for_D_31, (mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__TypeInfo_for_E_32, (mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__TypeInfo_for_F_33, (mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__TypeInfo_for_G_34, (mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__TypeInfo_for_H_35, (mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__T0_13, &(mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__T1_15, &(mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__T2_17, &(mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__T3_19, &(mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__T4_21, &(mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__T5_23, &(mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__T6_25, &(mercury__list__env_ptr)->mercury__list__map7_9_p_4_env_0__T7_27, mercury__list__map7_9_p_4_2, mercury__list__env_ptr);
    }
#line 2497 "list.m"
  }
#line 2497 "list.m"
}

#line 590 "list.m"
void MR_CALL 
mercury__list__map7_9_p_4(
#line 590 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 590 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_29,
#line 590 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_30,
#line 590 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_31,
#line 590 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_32,
#line 590 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_33,
#line 590 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_34,
#line 590 "list.m"
  MR_Word mercury__list__TypeInfo_for_H_35,
#line 590 "list.m"
  MR_Word mercury__list__P_1,
#line 590 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 590 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 590 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 590 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 590 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 590 "list.m"
  MR_Word * mercury__list__HeadVar__7_7,
#line 590 "list.m"
  MR_Word * mercury__list__HeadVar__8_8,
#line 590 "list.m"
  MR_Word * mercury__list__HeadVar__9_9,
#line 590 "list.m"
  MR_Cont mercury__list__cont,
#line 590 "list.m"
  void * mercury__list__cont_env_ptr)
#line 590 "list.m"
{
#line 590 "list.m"
  {
#line 590 "list.m"
    struct mercury__list__map7_9_p_4_env_0_s mercury__list__env;

#line 590 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_4_env_0__TypeInfo_for_A_28 = mercury__list__TypeInfo_for_A_28;
#line 590 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_4_env_0__TypeInfo_for_B_29 = mercury__list__TypeInfo_for_B_29;
#line 590 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_4_env_0__TypeInfo_for_C_30 = mercury__list__TypeInfo_for_C_30;
#line 590 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_4_env_0__TypeInfo_for_D_31 = mercury__list__TypeInfo_for_D_31;
#line 590 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_4_env_0__TypeInfo_for_E_32 = mercury__list__TypeInfo_for_E_32;
#line 590 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_4_env_0__TypeInfo_for_F_33 = mercury__list__TypeInfo_for_F_33;
#line 590 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_4_env_0__TypeInfo_for_G_34 = mercury__list__TypeInfo_for_G_34;
#line 590 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_4_env_0__TypeInfo_for_H_35 = mercury__list__TypeInfo_for_H_35;
#line 590 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_4_env_0__P_1 = mercury__list__P_1;
#line 590 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_4_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 590 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_4_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 590 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_4_env_0__HeadVar__5_5 = mercury__list__HeadVar__5_5;
#line 590 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_4_env_0__HeadVar__6_6 = mercury__list__HeadVar__6_6;
#line 590 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_4_env_0__HeadVar__7_7 = mercury__list__HeadVar__7_7;
#line 590 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_4_env_0__HeadVar__8_8 = mercury__list__HeadVar__8_8;
#line 590 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_4_env_0__HeadVar__9_9 = mercury__list__HeadVar__9_9;
#line 590 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_4_env_0__cont = mercury__list__cont;
#line 590 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_4_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2495 "list.m"
    {
#line 2495 "list.m"
      MR_bool mercury__list__succeeded;

#line 2495 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2495 "list.m"
        {
#line 2495 "list.m"
          *((mercury__list__env).mercury__list__map7_9_p_4_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
          *((mercury__list__env).mercury__list__map7_9_p_4_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
          *((mercury__list__env).mercury__list__map7_9_p_4_env_0__HeadVar__5_5) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
          *((mercury__list__env).mercury__list__map7_9_p_4_env_0__HeadVar__6_6) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
          *((mercury__list__env).mercury__list__map7_9_p_4_env_0__HeadVar__7_7) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
          *((mercury__list__env).mercury__list__map7_9_p_4_env_0__HeadVar__8_8) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
          *((mercury__list__env).mercury__list__map7_9_p_4_env_0__HeadVar__9_9) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
          {
#line 2495 "list.m"
            ((mercury__list__env).mercury__list__map7_9_p_4_env_0__cont)((mercury__list__env).mercury__list__map7_9_p_4_env_0__cont_env_ptr);
#line 2495 "list.m"
            return;
          }
#line 2495 "list.m"
        }
#line 2495 "list.m"
      else
#line 2497 "list.m"
        {
#line 2497 "list.m"
          MR_Box mercury__list__H0_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2498 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *);

#line 2497 "list.m"
          (mercury__list__env).mercury__list__map7_9_p_4_env_0__T0_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2498 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map7_9_p_4_env_0__P_1, (MR_Integer) 1)));
#line 2498 "list.m"
          {
#line 2498 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map7_9_p_4_env_0__P_1), mercury__list__H0_12, &(mercury__list__env).mercury__list__map7_9_p_4_env_0__H1_14, &(mercury__list__env).mercury__list__map7_9_p_4_env_0__H2_16, &(mercury__list__env).mercury__list__map7_9_p_4_env_0__H3_18, &(mercury__list__env).mercury__list__map7_9_p_4_env_0__H4_20, &(mercury__list__env).mercury__list__map7_9_p_4_env_0__H5_22, &(mercury__list__env).mercury__list__map7_9_p_4_env_0__H6_24, &(mercury__list__env).mercury__list__map7_9_p_4_env_0__H7_26, mercury__list__map7_9_p_4_1, &mercury__list__env);
          }
#line 2497 "list.m"
        }
#line 2495 "list.m"
    }
#line 590 "list.m"
  }
#line 590 "list.m"
}

#line 2497 "list.m"
static void MR_CALL 
mercury__list__map7_9_p_3_2(
#line 2497 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2497 "list.m"
{
#line 2497 "list.m"
  {
#line 2497 "list.m"
    struct mercury__list__map7_9_p_3_env_0_s * mercury__list__env_ptr = (struct mercury__list__map7_9_p_3_env_0_s *) mercury__list__env_ptr_arg;

#line 2497 "list.m"
    {
#line 2497 "list.m"
      MR_Word base;
#line 2497 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__HeadVar__3_3) = base;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__H1_14;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__T1_15));
#line 2497 "list.m"
    }
#line 2497 "list.m"
    {
#line 2497 "list.m"
      MR_Word base;
#line 2497 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__HeadVar__4_4) = base;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__H2_16;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__T2_17));
#line 2497 "list.m"
    }
#line 2497 "list.m"
    {
#line 2497 "list.m"
      MR_Word base;
#line 2497 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__HeadVar__5_5) = base;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__H3_18;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__T3_19));
#line 2497 "list.m"
    }
#line 2497 "list.m"
    {
#line 2497 "list.m"
      MR_Word base;
#line 2497 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__HeadVar__6_6) = base;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__H4_20;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__T4_21));
#line 2497 "list.m"
    }
#line 2497 "list.m"
    {
#line 2497 "list.m"
      MR_Word base;
#line 2497 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__HeadVar__7_7) = base;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__H5_22;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__T5_23));
#line 2497 "list.m"
    }
#line 2497 "list.m"
    {
#line 2497 "list.m"
      MR_Word base;
#line 2497 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__HeadVar__8_8) = base;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__H6_24;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__T6_25));
#line 2497 "list.m"
    }
#line 2497 "list.m"
    {
#line 2497 "list.m"
      MR_Word base;
#line 2497 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__HeadVar__9_9) = base;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__H7_26;
#line 2497 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__T7_27));
#line 2497 "list.m"
    }
#line 2497 "list.m"
    {
#line 2497 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__cont)((mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__cont_env_ptr);
#line 2497 "list.m"
      return;
    }
#line 2497 "list.m"
  }
#line 2497 "list.m"
}

#line 2497 "list.m"
static void MR_CALL 
mercury__list__map7_9_p_3_1(
#line 2497 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2497 "list.m"
{
#line 2497 "list.m"
  {
#line 2497 "list.m"
    struct mercury__list__map7_9_p_3_env_0_s * mercury__list__env_ptr = (struct mercury__list__map7_9_p_3_env_0_s *) mercury__list__env_ptr_arg;

#line 2499 "list.m"
    {
#line 2499 "list.m"
      mercury__list__map7_9_p_3((mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__TypeInfo_for_A_28, (mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__TypeInfo_for_B_29, (mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__TypeInfo_for_C_30, (mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__TypeInfo_for_D_31, (mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__TypeInfo_for_E_32, (mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__TypeInfo_for_F_33, (mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__TypeInfo_for_G_34, (mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__TypeInfo_for_H_35, (mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__T0_13, &(mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__T1_15, &(mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__T2_17, &(mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__T3_19, &(mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__T4_21, &(mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__T5_23, &(mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__T6_25, &(mercury__list__env_ptr)->mercury__list__map7_9_p_3_env_0__T7_27, mercury__list__map7_9_p_3_2, mercury__list__env_ptr);
    }
#line 2497 "list.m"
  }
#line 2497 "list.m"
}

#line 588 "list.m"
void MR_CALL 
mercury__list__map7_9_p_3(
#line 588 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 588 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_29,
#line 588 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_30,
#line 588 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_31,
#line 588 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_32,
#line 588 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_33,
#line 588 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_34,
#line 588 "list.m"
  MR_Word mercury__list__TypeInfo_for_H_35,
#line 588 "list.m"
  MR_Word mercury__list__P_1,
#line 588 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 588 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 588 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 588 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 588 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 588 "list.m"
  MR_Word * mercury__list__HeadVar__7_7,
#line 588 "list.m"
  MR_Word * mercury__list__HeadVar__8_8,
#line 588 "list.m"
  MR_Word * mercury__list__HeadVar__9_9,
#line 588 "list.m"
  MR_Cont mercury__list__cont,
#line 588 "list.m"
  void * mercury__list__cont_env_ptr)
#line 588 "list.m"
{
#line 588 "list.m"
  {
#line 588 "list.m"
    struct mercury__list__map7_9_p_3_env_0_s mercury__list__env;

#line 588 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_3_env_0__TypeInfo_for_A_28 = mercury__list__TypeInfo_for_A_28;
#line 588 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_3_env_0__TypeInfo_for_B_29 = mercury__list__TypeInfo_for_B_29;
#line 588 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_3_env_0__TypeInfo_for_C_30 = mercury__list__TypeInfo_for_C_30;
#line 588 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_3_env_0__TypeInfo_for_D_31 = mercury__list__TypeInfo_for_D_31;
#line 588 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_3_env_0__TypeInfo_for_E_32 = mercury__list__TypeInfo_for_E_32;
#line 588 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_3_env_0__TypeInfo_for_F_33 = mercury__list__TypeInfo_for_F_33;
#line 588 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_3_env_0__TypeInfo_for_G_34 = mercury__list__TypeInfo_for_G_34;
#line 588 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_3_env_0__TypeInfo_for_H_35 = mercury__list__TypeInfo_for_H_35;
#line 588 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_3_env_0__P_1 = mercury__list__P_1;
#line 588 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_3_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 588 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_3_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 588 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_3_env_0__HeadVar__5_5 = mercury__list__HeadVar__5_5;
#line 588 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_3_env_0__HeadVar__6_6 = mercury__list__HeadVar__6_6;
#line 588 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_3_env_0__HeadVar__7_7 = mercury__list__HeadVar__7_7;
#line 588 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_3_env_0__HeadVar__8_8 = mercury__list__HeadVar__8_8;
#line 588 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_3_env_0__HeadVar__9_9 = mercury__list__HeadVar__9_9;
#line 588 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_3_env_0__cont = mercury__list__cont;
#line 588 "list.m"
    (mercury__list__env).mercury__list__map7_9_p_3_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2495 "list.m"
    {
#line 2495 "list.m"
      MR_bool mercury__list__succeeded;

#line 2495 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2495 "list.m"
        {
#line 2495 "list.m"
          *((mercury__list__env).mercury__list__map7_9_p_3_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
          *((mercury__list__env).mercury__list__map7_9_p_3_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
          *((mercury__list__env).mercury__list__map7_9_p_3_env_0__HeadVar__5_5) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
          *((mercury__list__env).mercury__list__map7_9_p_3_env_0__HeadVar__6_6) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
          *((mercury__list__env).mercury__list__map7_9_p_3_env_0__HeadVar__7_7) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
          *((mercury__list__env).mercury__list__map7_9_p_3_env_0__HeadVar__8_8) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
          *((mercury__list__env).mercury__list__map7_9_p_3_env_0__HeadVar__9_9) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
          {
#line 2495 "list.m"
            ((mercury__list__env).mercury__list__map7_9_p_3_env_0__cont)((mercury__list__env).mercury__list__map7_9_p_3_env_0__cont_env_ptr);
#line 2495 "list.m"
            return;
          }
#line 2495 "list.m"
        }
#line 2495 "list.m"
      else
#line 2497 "list.m"
        {
#line 2497 "list.m"
          MR_Box mercury__list__H0_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2498 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *);

#line 2497 "list.m"
          (mercury__list__env).mercury__list__map7_9_p_3_env_0__T0_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2498 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map7_9_p_3_env_0__P_1, (MR_Integer) 1)));
#line 2498 "list.m"
          {
#line 2498 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map7_9_p_3_env_0__P_1), mercury__list__H0_12, &(mercury__list__env).mercury__list__map7_9_p_3_env_0__H1_14, &(mercury__list__env).mercury__list__map7_9_p_3_env_0__H2_16, &(mercury__list__env).mercury__list__map7_9_p_3_env_0__H3_18, &(mercury__list__env).mercury__list__map7_9_p_3_env_0__H4_20, &(mercury__list__env).mercury__list__map7_9_p_3_env_0__H5_22, &(mercury__list__env).mercury__list__map7_9_p_3_env_0__H6_24, &(mercury__list__env).mercury__list__map7_9_p_3_env_0__H7_26, mercury__list__map7_9_p_3_1, &mercury__list__env);
          }
#line 2497 "list.m"
        }
#line 2495 "list.m"
    }
#line 588 "list.m"
  }
#line 588 "list.m"
}

#line 586 "list.m"
MR_bool MR_CALL 
mercury__list__map7_9_p_2(
#line 586 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 586 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_29,
#line 586 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_30,
#line 586 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_31,
#line 586 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_32,
#line 586 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_33,
#line 586 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_34,
#line 586 "list.m"
  MR_Word mercury__list__TypeInfo_for_H_35,
#line 586 "list.m"
  MR_Word mercury__list__P_1,
#line 586 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 586 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 586 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 586 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 586 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 586 "list.m"
  MR_Word * mercury__list__HeadVar__7_7,
#line 586 "list.m"
  MR_Word * mercury__list__HeadVar__8_8,
#line 586 "list.m"
  MR_Word * mercury__list__HeadVar__9_9)
#line 586 "list.m"
{
#line 2495 "list.m"
  {
#line 2495 "list.m"
    MR_bool mercury__list__succeeded;

#line 2495 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2495 "list.m"
      {
#line 2495 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        *mercury__list__HeadVar__7_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        *mercury__list__HeadVar__8_8 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        *mercury__list__HeadVar__9_9 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2495 "list.m"
      }
#line 2495 "list.m"
    else
#line 2497 "list.m"
      {
#line 2497 "list.m"
        MR_Box mercury__list__H0_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2497 "list.m"
        MR_Word mercury__list__T0_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2497 "list.m"
        MR_Box mercury__list__H1_14;
#line 2497 "list.m"
        MR_Word mercury__list__T1_15;
#line 2497 "list.m"
        MR_Box mercury__list__H2_16;
#line 2497 "list.m"
        MR_Word mercury__list__T2_17;
#line 2497 "list.m"
        MR_Box mercury__list__H3_18;
#line 2497 "list.m"
        MR_Word mercury__list__T3_19;
#line 2497 "list.m"
        MR_Box mercury__list__H4_20;
#line 2497 "list.m"
        MR_Word mercury__list__T4_21;
#line 2497 "list.m"
        MR_Box mercury__list__H5_22;
#line 2497 "list.m"
        MR_Word mercury__list__T5_23;
#line 2497 "list.m"
        MR_Box mercury__list__H6_24;
#line 2497 "list.m"
        MR_Word mercury__list__T6_25;
#line 2497 "list.m"
        MR_Box mercury__list__H7_26;
#line 2497 "list.m"
        MR_Word mercury__list__T7_27;
#line 2498 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2498 "list.m"
        {
#line 2498 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_12, &mercury__list__H1_14, &mercury__list__H2_16, &mercury__list__H3_18, &mercury__list__H4_20, &mercury__list__H5_22, &mercury__list__H6_24, &mercury__list__H7_26);
        }
#line 2497 "list.m"
        if (mercury__list__succeeded)
#line 2497 "list.m"
          {
#line 2499 "list.m"
            {
#line 2499 "list.m"
              mercury__list__succeeded = mercury__list__map7_9_p_2(mercury__list__TypeInfo_for_A_28, mercury__list__TypeInfo_for_B_29, mercury__list__TypeInfo_for_C_30, mercury__list__TypeInfo_for_D_31, mercury__list__TypeInfo_for_E_32, mercury__list__TypeInfo_for_F_33, mercury__list__TypeInfo_for_G_34, mercury__list__TypeInfo_for_H_35, mercury__list__P_1, mercury__list__T0_13, &mercury__list__T1_15, &mercury__list__T2_17, &mercury__list__T3_19, &mercury__list__T4_21, &mercury__list__T5_23, &mercury__list__T6_25, &mercury__list__T7_27);
            }
#line 2497 "list.m"
            if (mercury__list__succeeded)
#line 2497 "list.m"
              {
#line 2497 "list.m"
                {
#line 2497 "list.m"
                  MR_Word base;
#line 2497 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2497 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_14;
#line 2497 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_15));
#line 2497 "list.m"
                }
#line 2497 "list.m"
                {
#line 2497 "list.m"
                  MR_Word base;
#line 2497 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2497 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_16;
#line 2497 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_17));
#line 2497 "list.m"
                }
#line 2497 "list.m"
                {
#line 2497 "list.m"
                  MR_Word base;
#line 2497 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
                  *mercury__list__HeadVar__5_5 = base;
#line 2497 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_18;
#line 2497 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_19));
#line 2497 "list.m"
                }
#line 2497 "list.m"
                {
#line 2497 "list.m"
                  MR_Word base;
#line 2497 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
                  *mercury__list__HeadVar__6_6 = base;
#line 2497 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_20;
#line 2497 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_21));
#line 2497 "list.m"
                }
#line 2497 "list.m"
                {
#line 2497 "list.m"
                  MR_Word base;
#line 2497 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
                  *mercury__list__HeadVar__7_7 = base;
#line 2497 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H5_22;
#line 2497 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T5_23));
#line 2497 "list.m"
                }
#line 2497 "list.m"
                {
#line 2497 "list.m"
                  MR_Word base;
#line 2497 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
                  *mercury__list__HeadVar__8_8 = base;
#line 2497 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H6_24;
#line 2497 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T6_25));
#line 2497 "list.m"
                }
#line 2497 "list.m"
                {
#line 2497 "list.m"
                  MR_Word base;
#line 2497 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
                  *mercury__list__HeadVar__9_9 = base;
#line 2497 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H7_26;
#line 2497 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T7_27));
#line 2497 "list.m"
                }
#line 2497 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2497 "list.m"
              }
#line 2497 "list.m"
          }
#line 2497 "list.m"
      }
#line 2495 "list.m"
    return mercury__list__succeeded;
#line 2495 "list.m"
  }
#line 586 "list.m"
}

#line 584 "list.m"
void MR_CALL 
mercury__list__map7_9_p_1(
#line 584 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 584 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_29,
#line 584 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_30,
#line 584 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_31,
#line 584 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_32,
#line 584 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_33,
#line 584 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_34,
#line 584 "list.m"
  MR_Word mercury__list__TypeInfo_for_H_35,
#line 584 "list.m"
  MR_Word mercury__list__P_1,
#line 584 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 584 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 584 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 584 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 584 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 584 "list.m"
  MR_Word * mercury__list__HeadVar__7_7,
#line 584 "list.m"
  MR_Word * mercury__list__HeadVar__8_8,
#line 584 "list.m"
  MR_Word * mercury__list__HeadVar__9_9)
#line 584 "list.m"
{
#line 2495 "list.m"
  {
#line 2495 "list.m"
    MR_bool mercury__list__succeeded;

#line 2495 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2495 "list.m"
      {
#line 2495 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        *mercury__list__HeadVar__7_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        *mercury__list__HeadVar__8_8 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        *mercury__list__HeadVar__9_9 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
      }
#line 2495 "list.m"
    else
#line 2497 "list.m"
      {
#line 2497 "list.m"
        MR_Box mercury__list__H0_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2497 "list.m"
        MR_Word mercury__list__T0_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2497 "list.m"
        MR_Box mercury__list__H1_14;
#line 2497 "list.m"
        MR_Word mercury__list__T1_15;
#line 2497 "list.m"
        MR_Box mercury__list__H2_16;
#line 2497 "list.m"
        MR_Word mercury__list__T2_17;
#line 2497 "list.m"
        MR_Box mercury__list__H3_18;
#line 2497 "list.m"
        MR_Word mercury__list__T3_19;
#line 2497 "list.m"
        MR_Box mercury__list__H4_20;
#line 2497 "list.m"
        MR_Word mercury__list__T4_21;
#line 2497 "list.m"
        MR_Box mercury__list__H5_22;
#line 2497 "list.m"
        MR_Word mercury__list__T5_23;
#line 2497 "list.m"
        MR_Box mercury__list__H6_24;
#line 2497 "list.m"
        MR_Word mercury__list__T6_25;
#line 2497 "list.m"
        MR_Box mercury__list__H7_26;
#line 2497 "list.m"
        MR_Word mercury__list__T7_27;
#line 2498 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2498 "list.m"
        {
#line 2498 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_12, &mercury__list__H1_14, &mercury__list__H2_16, &mercury__list__H3_18, &mercury__list__H4_20, &mercury__list__H5_22, &mercury__list__H6_24, &mercury__list__H7_26);
        }
#line 2499 "list.m"
        {
#line 2499 "list.m"
          mercury__list__map7_9_p_1(mercury__list__TypeInfo_for_A_28, mercury__list__TypeInfo_for_B_29, mercury__list__TypeInfo_for_C_30, mercury__list__TypeInfo_for_D_31, mercury__list__TypeInfo_for_E_32, mercury__list__TypeInfo_for_F_33, mercury__list__TypeInfo_for_G_34, mercury__list__TypeInfo_for_H_35, mercury__list__P_1, mercury__list__T0_13, &mercury__list__T1_15, &mercury__list__T2_17, &mercury__list__T3_19, &mercury__list__T4_21, &mercury__list__T5_23, &mercury__list__T6_25, &mercury__list__T7_27);
        }
#line 2497 "list.m"
        {
#line 2497 "list.m"
          MR_Word base;
#line 2497 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_14;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_15));
#line 2497 "list.m"
        }
#line 2497 "list.m"
        {
#line 2497 "list.m"
          MR_Word base;
#line 2497 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_16;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_17));
#line 2497 "list.m"
        }
#line 2497 "list.m"
        {
#line 2497 "list.m"
          MR_Word base;
#line 2497 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_18;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_19));
#line 2497 "list.m"
        }
#line 2497 "list.m"
        {
#line 2497 "list.m"
          MR_Word base;
#line 2497 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
          *mercury__list__HeadVar__6_6 = base;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_20;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_21));
#line 2497 "list.m"
        }
#line 2497 "list.m"
        {
#line 2497 "list.m"
          MR_Word base;
#line 2497 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
          *mercury__list__HeadVar__7_7 = base;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H5_22;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T5_23));
#line 2497 "list.m"
        }
#line 2497 "list.m"
        {
#line 2497 "list.m"
          MR_Word base;
#line 2497 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
          *mercury__list__HeadVar__8_8 = base;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H6_24;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T6_25));
#line 2497 "list.m"
        }
#line 2497 "list.m"
        {
#line 2497 "list.m"
          MR_Word base;
#line 2497 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
          *mercury__list__HeadVar__9_9 = base;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H7_26;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T7_27));
#line 2497 "list.m"
        }
#line 2497 "list.m"
      }
#line 2495 "list.m"
  }
#line 584 "list.m"
}

#line 582 "list.m"
void MR_CALL 
mercury__list__map7_9_p_0(
#line 582 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_28,
#line 582 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_29,
#line 582 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_30,
#line 582 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_31,
#line 582 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_32,
#line 582 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_33,
#line 582 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_34,
#line 582 "list.m"
  MR_Word mercury__list__TypeInfo_for_H_35,
#line 582 "list.m"
  MR_Word mercury__list__P_1,
#line 582 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 582 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 582 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 582 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 582 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 582 "list.m"
  MR_Word * mercury__list__HeadVar__7_7,
#line 582 "list.m"
  MR_Word * mercury__list__HeadVar__8_8,
#line 582 "list.m"
  MR_Word * mercury__list__HeadVar__9_9)
#line 582 "list.m"
{
#line 2495 "list.m"
  {
#line 2495 "list.m"
    MR_bool mercury__list__succeeded;

#line 2495 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2495 "list.m"
      {
#line 2495 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        *mercury__list__HeadVar__7_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        *mercury__list__HeadVar__8_8 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
        *mercury__list__HeadVar__9_9 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2495 "list.m"
      }
#line 2495 "list.m"
    else
#line 2497 "list.m"
      {
#line 2497 "list.m"
        MR_Box mercury__list__H0_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2497 "list.m"
        MR_Word mercury__list__T0_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2497 "list.m"
        MR_Box mercury__list__H1_14;
#line 2497 "list.m"
        MR_Word mercury__list__T1_15;
#line 2497 "list.m"
        MR_Box mercury__list__H2_16;
#line 2497 "list.m"
        MR_Word mercury__list__T2_17;
#line 2497 "list.m"
        MR_Box mercury__list__H3_18;
#line 2497 "list.m"
        MR_Word mercury__list__T3_19;
#line 2497 "list.m"
        MR_Box mercury__list__H4_20;
#line 2497 "list.m"
        MR_Word mercury__list__T4_21;
#line 2497 "list.m"
        MR_Box mercury__list__H5_22;
#line 2497 "list.m"
        MR_Word mercury__list__T5_23;
#line 2497 "list.m"
        MR_Box mercury__list__H6_24;
#line 2497 "list.m"
        MR_Word mercury__list__T6_25;
#line 2497 "list.m"
        MR_Box mercury__list__H7_26;
#line 2497 "list.m"
        MR_Word mercury__list__T7_27;
#line 2498 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2498 "list.m"
        {
#line 2498 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_12, &mercury__list__H1_14, &mercury__list__H2_16, &mercury__list__H3_18, &mercury__list__H4_20, &mercury__list__H5_22, &mercury__list__H6_24, &mercury__list__H7_26);
        }
#line 2499 "list.m"
        {
#line 2499 "list.m"
          mercury__list__map7_9_p_0(mercury__list__TypeInfo_for_A_28, mercury__list__TypeInfo_for_B_29, mercury__list__TypeInfo_for_C_30, mercury__list__TypeInfo_for_D_31, mercury__list__TypeInfo_for_E_32, mercury__list__TypeInfo_for_F_33, mercury__list__TypeInfo_for_G_34, mercury__list__TypeInfo_for_H_35, mercury__list__P_1, mercury__list__T0_13, &mercury__list__T1_15, &mercury__list__T2_17, &mercury__list__T3_19, &mercury__list__T4_21, &mercury__list__T5_23, &mercury__list__T6_25, &mercury__list__T7_27);
        }
#line 2497 "list.m"
        {
#line 2497 "list.m"
          MR_Word base;
#line 2497 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_14;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_15));
#line 2497 "list.m"
        }
#line 2497 "list.m"
        {
#line 2497 "list.m"
          MR_Word base;
#line 2497 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_16;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_17));
#line 2497 "list.m"
        }
#line 2497 "list.m"
        {
#line 2497 "list.m"
          MR_Word base;
#line 2497 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_18;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_19));
#line 2497 "list.m"
        }
#line 2497 "list.m"
        {
#line 2497 "list.m"
          MR_Word base;
#line 2497 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
          *mercury__list__HeadVar__6_6 = base;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_20;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_21));
#line 2497 "list.m"
        }
#line 2497 "list.m"
        {
#line 2497 "list.m"
          MR_Word base;
#line 2497 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
          *mercury__list__HeadVar__7_7 = base;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H5_22;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T5_23));
#line 2497 "list.m"
        }
#line 2497 "list.m"
        {
#line 2497 "list.m"
          MR_Word base;
#line 2497 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
          *mercury__list__HeadVar__8_8 = base;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H6_24;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T6_25));
#line 2497 "list.m"
        }
#line 2497 "list.m"
        {
#line 2497 "list.m"
          MR_Word base;
#line 2497 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2497 "list.m"
          *mercury__list__HeadVar__9_9 = base;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H7_26;
#line 2497 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T7_27));
#line 2497 "list.m"
        }
#line 2497 "list.m"
      }
#line 2495 "list.m"
  }
#line 582 "list.m"
}

#line 573 "list.m"
MR_bool MR_CALL 
mercury__list__map6_8_p_5(
#line 573 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_25,
#line 573 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_26,
#line 573 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_27,
#line 573 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_28,
#line 573 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_29,
#line 573 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_30,
#line 573 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_31,
#line 573 "list.m"
  MR_Word mercury__list__P_1,
#line 573 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 573 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 573 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 573 "list.m"
  MR_Word mercury__list__HeadVar__5_5,
#line 573 "list.m"
  MR_Word mercury__list__HeadVar__6_6,
#line 573 "list.m"
  MR_Word mercury__list__HeadVar__7_7,
#line 573 "list.m"
  MR_Word mercury__list__HeadVar__8_8)
#line 573 "list.m"
{
#line 2489 "list.m"
  while (MR_TRUE)
#line 2489 "list.m"
    {
#line 2489 "list.m"
      /* tailcall optimized into a loop */
#line 2489 "list.m"
      {
#line 2489 "list.m"
        MR_bool mercury__list__succeeded;

#line 2489 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2489 "list.m"
          {
#line 2489 "list.m"
            mercury__list__succeeded = (mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2489 "list.m"
            if (mercury__list__succeeded)
#line 2489 "list.m"
              {
#line 2489 "list.m"
                mercury__list__succeeded = (mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2489 "list.m"
                if (mercury__list__succeeded)
#line 2489 "list.m"
                  {
#line 2489 "list.m"
                    mercury__list__succeeded = (mercury__list__HeadVar__5_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2489 "list.m"
                    if (mercury__list__succeeded)
#line 2489 "list.m"
                      {
#line 2489 "list.m"
                        mercury__list__succeeded = (mercury__list__HeadVar__6_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2489 "list.m"
                        if (mercury__list__succeeded)
#line 2489 "list.m"
                          {
#line 2489 "list.m"
                            mercury__list__succeeded = (mercury__list__HeadVar__7_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2489 "list.m"
                            if (mercury__list__succeeded)
#line 2489 "list.m"
                              mercury__list__succeeded = (mercury__list__HeadVar__8_8 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2489 "list.m"
                          }
#line 2489 "list.m"
                      }
#line 2489 "list.m"
                  }
#line 2489 "list.m"
              }
#line 2489 "list.m"
          }
#line 2489 "list.m"
        else
#line 2491 "list.m"
          {
#line 2491 "list.m"
            MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2491 "list.m"
            MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2491 "list.m"
            MR_Box mercury__list__H1_13;
#line 2491 "list.m"
            MR_Word mercury__list__T1_14;
#line 2491 "list.m"
            MR_Box mercury__list__H2_15;
#line 2491 "list.m"
            MR_Word mercury__list__T2_16;
#line 2491 "list.m"
            MR_Box mercury__list__H3_17;
#line 2491 "list.m"
            MR_Word mercury__list__T3_18;
#line 2491 "list.m"
            MR_Box mercury__list__H4_19;
#line 2491 "list.m"
            MR_Word mercury__list__T4_20;
#line 2491 "list.m"
            MR_Box mercury__list__H5_21;
#line 2491 "list.m"
            MR_Word mercury__list__T5_22;
#line 2491 "list.m"
            MR_Box mercury__list__H6_23;
#line 2491 "list.m"
            MR_Word mercury__list__T6_24;
#line 2492 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box);

#line 2491 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1)));
#line 2491 "list.m"
            if (mercury__list__succeeded)
#line 2491 "list.m"
              {
#line 2491 "list.m"
                mercury__list__H1_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2491 "list.m"
                mercury__list__T1_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2491 "list.m"
                mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__4_4)) == (MR_mktag((MR_Integer) 1)));
#line 2491 "list.m"
                if (mercury__list__succeeded)
#line 2491 "list.m"
                  {
#line 2491 "list.m"
                    mercury__list__H2_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2491 "list.m"
                    mercury__list__T2_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2491 "list.m"
                    mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__5_5)) == (MR_mktag((MR_Integer) 1)));
#line 2491 "list.m"
                    if (mercury__list__succeeded)
#line 2491 "list.m"
                      {
#line 2491 "list.m"
                        mercury__list__H3_17 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__5_5, (MR_Integer) 0));
#line 2491 "list.m"
                        mercury__list__T3_18 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__5_5, (MR_Integer) 1)));
#line 2491 "list.m"
                        mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__6_6)) == (MR_mktag((MR_Integer) 1)));
#line 2491 "list.m"
                        if (mercury__list__succeeded)
#line 2491 "list.m"
                          {
#line 2491 "list.m"
                            mercury__list__H4_19 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__6_6, (MR_Integer) 0));
#line 2491 "list.m"
                            mercury__list__T4_20 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__6_6, (MR_Integer) 1)));
#line 2491 "list.m"
                            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__7_7)) == (MR_mktag((MR_Integer) 1)));
#line 2491 "list.m"
                            if (mercury__list__succeeded)
#line 2491 "list.m"
                              {
#line 2491 "list.m"
                                mercury__list__H5_21 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__7_7, (MR_Integer) 0));
#line 2491 "list.m"
                                mercury__list__T5_22 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__7_7, (MR_Integer) 1)));
#line 2491 "list.m"
                                mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__8_8)) == (MR_mktag((MR_Integer) 1)));
#line 2491 "list.m"
                                if (mercury__list__succeeded)
#line 2491 "list.m"
                                  {
#line 2491 "list.m"
                                    mercury__list__H6_23 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__8_8, (MR_Integer) 0));
#line 2491 "list.m"
                                    mercury__list__T6_24 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__8_8, (MR_Integer) 1)));
#line 2492 "list.m"
                                    mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2492 "list.m"
                                    {
#line 2492 "list.m"
                                      mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, mercury__list__H1_13, mercury__list__H2_15, mercury__list__H3_17, mercury__list__H4_19, mercury__list__H5_21, mercury__list__H6_23);
                                    }
#line 2491 "list.m"
                                    if (mercury__list__succeeded)
#line 2493 "list.m"
                                      {
#line 2493 "list.m"
                                        /* direct tailcall eliminated */
#line 2493 "list.m"
                                        {
#line 2493 "list.m"
                                          MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T0_12;
#line 2493 "list.m"
                                          MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__T1_14;
#line 2493 "list.m"
                                          MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__T2_16;
#line 2493 "list.m"
                                          MR_Word mercury__list__HeadVar__5__tmp_copy_5 = mercury__list__T3_18;
#line 2493 "list.m"
                                          MR_Word mercury__list__HeadVar__6__tmp_copy_6 = mercury__list__T4_20;
#line 2493 "list.m"
                                          MR_Word mercury__list__HeadVar__7__tmp_copy_7 = mercury__list__T5_22;
#line 2493 "list.m"
                                          MR_Word mercury__list__HeadVar__8__tmp_copy_8 = mercury__list__T6_24;

#line 2493 "list.m"
                                          mercury__list__HeadVar__8_8 = mercury__list__HeadVar__8__tmp_copy_8;
#line 2493 "list.m"
                                          mercury__list__HeadVar__7_7 = mercury__list__HeadVar__7__tmp_copy_7;
#line 2493 "list.m"
                                          mercury__list__HeadVar__6_6 = mercury__list__HeadVar__6__tmp_copy_6;
#line 2493 "list.m"
                                          mercury__list__HeadVar__5_5 = mercury__list__HeadVar__5__tmp_copy_5;
#line 2493 "list.m"
                                          mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2493 "list.m"
                                          mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2493 "list.m"
                                          mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2493 "list.m"
                                        }
#line 2493 "list.m"
                                        continue;
#line 2493 "list.m"
                                      }
#line 2491 "list.m"
                                  }
#line 2491 "list.m"
                              }
#line 2491 "list.m"
                          }
#line 2491 "list.m"
                      }
#line 2491 "list.m"
                  }
#line 2491 "list.m"
              }
#line 2491 "list.m"
          }
#line 2489 "list.m"
        return mercury__list__succeeded;
#line 2489 "list.m"
      }
#line 2489 "list.m"
      break;
#line 2489 "list.m"
    }
#line 573 "list.m"
}

#line 2491 "list.m"
static void MR_CALL 
mercury__list__map6_8_p_4_2(
#line 2491 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2491 "list.m"
{
#line 2491 "list.m"
  {
#line 2491 "list.m"
    struct mercury__list__map6_8_p_4_env_0_s * mercury__list__env_ptr = (struct mercury__list__map6_8_p_4_env_0_s *) mercury__list__env_ptr_arg;

#line 2491 "list.m"
    {
#line 2491 "list.m"
      MR_Word base;
#line 2491 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__HeadVar__3_3) = base;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__H1_13;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__T1_14));
#line 2491 "list.m"
    }
#line 2491 "list.m"
    {
#line 2491 "list.m"
      MR_Word base;
#line 2491 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__HeadVar__4_4) = base;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__H2_15;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__T2_16));
#line 2491 "list.m"
    }
#line 2491 "list.m"
    {
#line 2491 "list.m"
      MR_Word base;
#line 2491 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__HeadVar__5_5) = base;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__H3_17;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__T3_18));
#line 2491 "list.m"
    }
#line 2491 "list.m"
    {
#line 2491 "list.m"
      MR_Word base;
#line 2491 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__HeadVar__6_6) = base;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__H4_19;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__T4_20));
#line 2491 "list.m"
    }
#line 2491 "list.m"
    {
#line 2491 "list.m"
      MR_Word base;
#line 2491 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__HeadVar__7_7) = base;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__H5_21;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__T5_22));
#line 2491 "list.m"
    }
#line 2491 "list.m"
    {
#line 2491 "list.m"
      MR_Word base;
#line 2491 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__HeadVar__8_8) = base;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__H6_23;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__T6_24));
#line 2491 "list.m"
    }
#line 2491 "list.m"
    {
#line 2491 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__cont)((mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__cont_env_ptr);
#line 2491 "list.m"
      return;
    }
#line 2491 "list.m"
  }
#line 2491 "list.m"
}

#line 2491 "list.m"
static void MR_CALL 
mercury__list__map6_8_p_4_1(
#line 2491 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2491 "list.m"
{
#line 2491 "list.m"
  {
#line 2491 "list.m"
    struct mercury__list__map6_8_p_4_env_0_s * mercury__list__env_ptr = (struct mercury__list__map6_8_p_4_env_0_s *) mercury__list__env_ptr_arg;

#line 2493 "list.m"
    {
#line 2493 "list.m"
      mercury__list__map6_8_p_4((mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__TypeInfo_for_A_25, (mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__TypeInfo_for_B_26, (mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__TypeInfo_for_C_27, (mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__TypeInfo_for_D_28, (mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__TypeInfo_for_E_29, (mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__TypeInfo_for_F_30, (mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__TypeInfo_for_G_31, (mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__T0_12, &(mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__T1_14, &(mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__T2_16, &(mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__T3_18, &(mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__T4_20, &(mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__T5_22, &(mercury__list__env_ptr)->mercury__list__map6_8_p_4_env_0__T6_24, mercury__list__map6_8_p_4_2, mercury__list__env_ptr);
    }
#line 2491 "list.m"
  }
#line 2491 "list.m"
}

#line 571 "list.m"
void MR_CALL 
mercury__list__map6_8_p_4(
#line 571 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_25,
#line 571 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_26,
#line 571 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_27,
#line 571 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_28,
#line 571 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_29,
#line 571 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_30,
#line 571 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_31,
#line 571 "list.m"
  MR_Word mercury__list__P_1,
#line 571 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 571 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 571 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 571 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 571 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 571 "list.m"
  MR_Word * mercury__list__HeadVar__7_7,
#line 571 "list.m"
  MR_Word * mercury__list__HeadVar__8_8,
#line 571 "list.m"
  MR_Cont mercury__list__cont,
#line 571 "list.m"
  void * mercury__list__cont_env_ptr)
#line 571 "list.m"
{
#line 571 "list.m"
  {
#line 571 "list.m"
    struct mercury__list__map6_8_p_4_env_0_s mercury__list__env;

#line 571 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_4_env_0__TypeInfo_for_A_25 = mercury__list__TypeInfo_for_A_25;
#line 571 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_4_env_0__TypeInfo_for_B_26 = mercury__list__TypeInfo_for_B_26;
#line 571 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_4_env_0__TypeInfo_for_C_27 = mercury__list__TypeInfo_for_C_27;
#line 571 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_4_env_0__TypeInfo_for_D_28 = mercury__list__TypeInfo_for_D_28;
#line 571 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_4_env_0__TypeInfo_for_E_29 = mercury__list__TypeInfo_for_E_29;
#line 571 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_4_env_0__TypeInfo_for_F_30 = mercury__list__TypeInfo_for_F_30;
#line 571 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_4_env_0__TypeInfo_for_G_31 = mercury__list__TypeInfo_for_G_31;
#line 571 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_4_env_0__P_1 = mercury__list__P_1;
#line 571 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_4_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 571 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_4_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 571 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_4_env_0__HeadVar__5_5 = mercury__list__HeadVar__5_5;
#line 571 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_4_env_0__HeadVar__6_6 = mercury__list__HeadVar__6_6;
#line 571 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_4_env_0__HeadVar__7_7 = mercury__list__HeadVar__7_7;
#line 571 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_4_env_0__HeadVar__8_8 = mercury__list__HeadVar__8_8;
#line 571 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_4_env_0__cont = mercury__list__cont;
#line 571 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_4_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2489 "list.m"
    {
#line 2489 "list.m"
      MR_bool mercury__list__succeeded;

#line 2489 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2489 "list.m"
        {
#line 2489 "list.m"
          *((mercury__list__env).mercury__list__map6_8_p_4_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
          *((mercury__list__env).mercury__list__map6_8_p_4_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
          *((mercury__list__env).mercury__list__map6_8_p_4_env_0__HeadVar__5_5) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
          *((mercury__list__env).mercury__list__map6_8_p_4_env_0__HeadVar__6_6) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
          *((mercury__list__env).mercury__list__map6_8_p_4_env_0__HeadVar__7_7) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
          *((mercury__list__env).mercury__list__map6_8_p_4_env_0__HeadVar__8_8) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
          {
#line 2489 "list.m"
            ((mercury__list__env).mercury__list__map6_8_p_4_env_0__cont)((mercury__list__env).mercury__list__map6_8_p_4_env_0__cont_env_ptr);
#line 2489 "list.m"
            return;
          }
#line 2489 "list.m"
        }
#line 2489 "list.m"
      else
#line 2491 "list.m"
        {
#line 2491 "list.m"
          MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2492 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *);

#line 2491 "list.m"
          (mercury__list__env).mercury__list__map6_8_p_4_env_0__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2492 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map6_8_p_4_env_0__P_1, (MR_Integer) 1)));
#line 2492 "list.m"
          {
#line 2492 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map6_8_p_4_env_0__P_1), mercury__list__H0_11, &(mercury__list__env).mercury__list__map6_8_p_4_env_0__H1_13, &(mercury__list__env).mercury__list__map6_8_p_4_env_0__H2_15, &(mercury__list__env).mercury__list__map6_8_p_4_env_0__H3_17, &(mercury__list__env).mercury__list__map6_8_p_4_env_0__H4_19, &(mercury__list__env).mercury__list__map6_8_p_4_env_0__H5_21, &(mercury__list__env).mercury__list__map6_8_p_4_env_0__H6_23, mercury__list__map6_8_p_4_1, &mercury__list__env);
          }
#line 2491 "list.m"
        }
#line 2489 "list.m"
    }
#line 571 "list.m"
  }
#line 571 "list.m"
}

#line 2491 "list.m"
static void MR_CALL 
mercury__list__map6_8_p_3_2(
#line 2491 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2491 "list.m"
{
#line 2491 "list.m"
  {
#line 2491 "list.m"
    struct mercury__list__map6_8_p_3_env_0_s * mercury__list__env_ptr = (struct mercury__list__map6_8_p_3_env_0_s *) mercury__list__env_ptr_arg;

#line 2491 "list.m"
    {
#line 2491 "list.m"
      MR_Word base;
#line 2491 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__HeadVar__3_3) = base;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__H1_13;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__T1_14));
#line 2491 "list.m"
    }
#line 2491 "list.m"
    {
#line 2491 "list.m"
      MR_Word base;
#line 2491 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__HeadVar__4_4) = base;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__H2_15;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__T2_16));
#line 2491 "list.m"
    }
#line 2491 "list.m"
    {
#line 2491 "list.m"
      MR_Word base;
#line 2491 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__HeadVar__5_5) = base;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__H3_17;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__T3_18));
#line 2491 "list.m"
    }
#line 2491 "list.m"
    {
#line 2491 "list.m"
      MR_Word base;
#line 2491 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__HeadVar__6_6) = base;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__H4_19;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__T4_20));
#line 2491 "list.m"
    }
#line 2491 "list.m"
    {
#line 2491 "list.m"
      MR_Word base;
#line 2491 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__HeadVar__7_7) = base;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__H5_21;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__T5_22));
#line 2491 "list.m"
    }
#line 2491 "list.m"
    {
#line 2491 "list.m"
      MR_Word base;
#line 2491 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__HeadVar__8_8) = base;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__H6_23;
#line 2491 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__T6_24));
#line 2491 "list.m"
    }
#line 2491 "list.m"
    {
#line 2491 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__cont)((mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__cont_env_ptr);
#line 2491 "list.m"
      return;
    }
#line 2491 "list.m"
  }
#line 2491 "list.m"
}

#line 2491 "list.m"
static void MR_CALL 
mercury__list__map6_8_p_3_1(
#line 2491 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2491 "list.m"
{
#line 2491 "list.m"
  {
#line 2491 "list.m"
    struct mercury__list__map6_8_p_3_env_0_s * mercury__list__env_ptr = (struct mercury__list__map6_8_p_3_env_0_s *) mercury__list__env_ptr_arg;

#line 2493 "list.m"
    {
#line 2493 "list.m"
      mercury__list__map6_8_p_3((mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__TypeInfo_for_A_25, (mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__TypeInfo_for_B_26, (mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__TypeInfo_for_C_27, (mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__TypeInfo_for_D_28, (mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__TypeInfo_for_E_29, (mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__TypeInfo_for_F_30, (mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__TypeInfo_for_G_31, (mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__T0_12, &(mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__T1_14, &(mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__T2_16, &(mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__T3_18, &(mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__T4_20, &(mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__T5_22, &(mercury__list__env_ptr)->mercury__list__map6_8_p_3_env_0__T6_24, mercury__list__map6_8_p_3_2, mercury__list__env_ptr);
    }
#line 2491 "list.m"
  }
#line 2491 "list.m"
}

#line 569 "list.m"
void MR_CALL 
mercury__list__map6_8_p_3(
#line 569 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_25,
#line 569 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_26,
#line 569 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_27,
#line 569 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_28,
#line 569 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_29,
#line 569 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_30,
#line 569 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_31,
#line 569 "list.m"
  MR_Word mercury__list__P_1,
#line 569 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 569 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 569 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 569 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 569 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 569 "list.m"
  MR_Word * mercury__list__HeadVar__7_7,
#line 569 "list.m"
  MR_Word * mercury__list__HeadVar__8_8,
#line 569 "list.m"
  MR_Cont mercury__list__cont,
#line 569 "list.m"
  void * mercury__list__cont_env_ptr)
#line 569 "list.m"
{
#line 569 "list.m"
  {
#line 569 "list.m"
    struct mercury__list__map6_8_p_3_env_0_s mercury__list__env;

#line 569 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_3_env_0__TypeInfo_for_A_25 = mercury__list__TypeInfo_for_A_25;
#line 569 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_3_env_0__TypeInfo_for_B_26 = mercury__list__TypeInfo_for_B_26;
#line 569 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_3_env_0__TypeInfo_for_C_27 = mercury__list__TypeInfo_for_C_27;
#line 569 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_3_env_0__TypeInfo_for_D_28 = mercury__list__TypeInfo_for_D_28;
#line 569 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_3_env_0__TypeInfo_for_E_29 = mercury__list__TypeInfo_for_E_29;
#line 569 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_3_env_0__TypeInfo_for_F_30 = mercury__list__TypeInfo_for_F_30;
#line 569 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_3_env_0__TypeInfo_for_G_31 = mercury__list__TypeInfo_for_G_31;
#line 569 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_3_env_0__P_1 = mercury__list__P_1;
#line 569 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_3_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 569 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_3_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 569 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_3_env_0__HeadVar__5_5 = mercury__list__HeadVar__5_5;
#line 569 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_3_env_0__HeadVar__6_6 = mercury__list__HeadVar__6_6;
#line 569 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_3_env_0__HeadVar__7_7 = mercury__list__HeadVar__7_7;
#line 569 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_3_env_0__HeadVar__8_8 = mercury__list__HeadVar__8_8;
#line 569 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_3_env_0__cont = mercury__list__cont;
#line 569 "list.m"
    (mercury__list__env).mercury__list__map6_8_p_3_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2489 "list.m"
    {
#line 2489 "list.m"
      MR_bool mercury__list__succeeded;

#line 2489 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2489 "list.m"
        {
#line 2489 "list.m"
          *((mercury__list__env).mercury__list__map6_8_p_3_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
          *((mercury__list__env).mercury__list__map6_8_p_3_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
          *((mercury__list__env).mercury__list__map6_8_p_3_env_0__HeadVar__5_5) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
          *((mercury__list__env).mercury__list__map6_8_p_3_env_0__HeadVar__6_6) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
          *((mercury__list__env).mercury__list__map6_8_p_3_env_0__HeadVar__7_7) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
          *((mercury__list__env).mercury__list__map6_8_p_3_env_0__HeadVar__8_8) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
          {
#line 2489 "list.m"
            ((mercury__list__env).mercury__list__map6_8_p_3_env_0__cont)((mercury__list__env).mercury__list__map6_8_p_3_env_0__cont_env_ptr);
#line 2489 "list.m"
            return;
          }
#line 2489 "list.m"
        }
#line 2489 "list.m"
      else
#line 2491 "list.m"
        {
#line 2491 "list.m"
          MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2492 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *);

#line 2491 "list.m"
          (mercury__list__env).mercury__list__map6_8_p_3_env_0__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2492 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map6_8_p_3_env_0__P_1, (MR_Integer) 1)));
#line 2492 "list.m"
          {
#line 2492 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map6_8_p_3_env_0__P_1), mercury__list__H0_11, &(mercury__list__env).mercury__list__map6_8_p_3_env_0__H1_13, &(mercury__list__env).mercury__list__map6_8_p_3_env_0__H2_15, &(mercury__list__env).mercury__list__map6_8_p_3_env_0__H3_17, &(mercury__list__env).mercury__list__map6_8_p_3_env_0__H4_19, &(mercury__list__env).mercury__list__map6_8_p_3_env_0__H5_21, &(mercury__list__env).mercury__list__map6_8_p_3_env_0__H6_23, mercury__list__map6_8_p_3_1, &mercury__list__env);
          }
#line 2491 "list.m"
        }
#line 2489 "list.m"
    }
#line 569 "list.m"
  }
#line 569 "list.m"
}

#line 567 "list.m"
MR_bool MR_CALL 
mercury__list__map6_8_p_2(
#line 567 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_25,
#line 567 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_26,
#line 567 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_27,
#line 567 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_28,
#line 567 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_29,
#line 567 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_30,
#line 567 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_31,
#line 567 "list.m"
  MR_Word mercury__list__P_1,
#line 567 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 567 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 567 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 567 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 567 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 567 "list.m"
  MR_Word * mercury__list__HeadVar__7_7,
#line 567 "list.m"
  MR_Word * mercury__list__HeadVar__8_8)
#line 567 "list.m"
{
#line 2489 "list.m"
  {
#line 2489 "list.m"
    MR_bool mercury__list__succeeded;

#line 2489 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2489 "list.m"
      {
#line 2489 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
        *mercury__list__HeadVar__7_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
        *mercury__list__HeadVar__8_8 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2489 "list.m"
      }
#line 2489 "list.m"
    else
#line 2491 "list.m"
      {
#line 2491 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2491 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2491 "list.m"
        MR_Box mercury__list__H1_13;
#line 2491 "list.m"
        MR_Word mercury__list__T1_14;
#line 2491 "list.m"
        MR_Box mercury__list__H2_15;
#line 2491 "list.m"
        MR_Word mercury__list__T2_16;
#line 2491 "list.m"
        MR_Box mercury__list__H3_17;
#line 2491 "list.m"
        MR_Word mercury__list__T3_18;
#line 2491 "list.m"
        MR_Box mercury__list__H4_19;
#line 2491 "list.m"
        MR_Word mercury__list__T4_20;
#line 2491 "list.m"
        MR_Box mercury__list__H5_21;
#line 2491 "list.m"
        MR_Word mercury__list__T5_22;
#line 2491 "list.m"
        MR_Box mercury__list__H6_23;
#line 2491 "list.m"
        MR_Word mercury__list__T6_24;
#line 2492 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2492 "list.m"
        {
#line 2492 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, &mercury__list__H1_13, &mercury__list__H2_15, &mercury__list__H3_17, &mercury__list__H4_19, &mercury__list__H5_21, &mercury__list__H6_23);
        }
#line 2491 "list.m"
        if (mercury__list__succeeded)
#line 2491 "list.m"
          {
#line 2493 "list.m"
            {
#line 2493 "list.m"
              mercury__list__succeeded = mercury__list__map6_8_p_2(mercury__list__TypeInfo_for_A_25, mercury__list__TypeInfo_for_B_26, mercury__list__TypeInfo_for_C_27, mercury__list__TypeInfo_for_D_28, mercury__list__TypeInfo_for_E_29, mercury__list__TypeInfo_for_F_30, mercury__list__TypeInfo_for_G_31, mercury__list__P_1, mercury__list__T0_12, &mercury__list__T1_14, &mercury__list__T2_16, &mercury__list__T3_18, &mercury__list__T4_20, &mercury__list__T5_22, &mercury__list__T6_24);
            }
#line 2491 "list.m"
            if (mercury__list__succeeded)
#line 2491 "list.m"
              {
#line 2491 "list.m"
                {
#line 2491 "list.m"
                  MR_Word base;
#line 2491 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2491 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_13;
#line 2491 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_14));
#line 2491 "list.m"
                }
#line 2491 "list.m"
                {
#line 2491 "list.m"
                  MR_Word base;
#line 2491 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2491 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_15;
#line 2491 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_16));
#line 2491 "list.m"
                }
#line 2491 "list.m"
                {
#line 2491 "list.m"
                  MR_Word base;
#line 2491 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
                  *mercury__list__HeadVar__5_5 = base;
#line 2491 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_17;
#line 2491 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_18));
#line 2491 "list.m"
                }
#line 2491 "list.m"
                {
#line 2491 "list.m"
                  MR_Word base;
#line 2491 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
                  *mercury__list__HeadVar__6_6 = base;
#line 2491 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_19;
#line 2491 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_20));
#line 2491 "list.m"
                }
#line 2491 "list.m"
                {
#line 2491 "list.m"
                  MR_Word base;
#line 2491 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
                  *mercury__list__HeadVar__7_7 = base;
#line 2491 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H5_21;
#line 2491 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T5_22));
#line 2491 "list.m"
                }
#line 2491 "list.m"
                {
#line 2491 "list.m"
                  MR_Word base;
#line 2491 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
                  *mercury__list__HeadVar__8_8 = base;
#line 2491 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H6_23;
#line 2491 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T6_24));
#line 2491 "list.m"
                }
#line 2491 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2491 "list.m"
              }
#line 2491 "list.m"
          }
#line 2491 "list.m"
      }
#line 2489 "list.m"
    return mercury__list__succeeded;
#line 2489 "list.m"
  }
#line 567 "list.m"
}

#line 565 "list.m"
void MR_CALL 
mercury__list__map6_8_p_1(
#line 565 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_25,
#line 565 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_26,
#line 565 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_27,
#line 565 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_28,
#line 565 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_29,
#line 565 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_30,
#line 565 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_31,
#line 565 "list.m"
  MR_Word mercury__list__P_1,
#line 565 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 565 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 565 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 565 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 565 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 565 "list.m"
  MR_Word * mercury__list__HeadVar__7_7,
#line 565 "list.m"
  MR_Word * mercury__list__HeadVar__8_8)
#line 565 "list.m"
{
#line 2489 "list.m"
  {
#line 2489 "list.m"
    MR_bool mercury__list__succeeded;

#line 2489 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2489 "list.m"
      {
#line 2489 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
        *mercury__list__HeadVar__7_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
        *mercury__list__HeadVar__8_8 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
      }
#line 2489 "list.m"
    else
#line 2491 "list.m"
      {
#line 2491 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2491 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2491 "list.m"
        MR_Box mercury__list__H1_13;
#line 2491 "list.m"
        MR_Word mercury__list__T1_14;
#line 2491 "list.m"
        MR_Box mercury__list__H2_15;
#line 2491 "list.m"
        MR_Word mercury__list__T2_16;
#line 2491 "list.m"
        MR_Box mercury__list__H3_17;
#line 2491 "list.m"
        MR_Word mercury__list__T3_18;
#line 2491 "list.m"
        MR_Box mercury__list__H4_19;
#line 2491 "list.m"
        MR_Word mercury__list__T4_20;
#line 2491 "list.m"
        MR_Box mercury__list__H5_21;
#line 2491 "list.m"
        MR_Word mercury__list__T5_22;
#line 2491 "list.m"
        MR_Box mercury__list__H6_23;
#line 2491 "list.m"
        MR_Word mercury__list__T6_24;
#line 2492 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2492 "list.m"
        {
#line 2492 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, &mercury__list__H1_13, &mercury__list__H2_15, &mercury__list__H3_17, &mercury__list__H4_19, &mercury__list__H5_21, &mercury__list__H6_23);
        }
#line 2493 "list.m"
        {
#line 2493 "list.m"
          mercury__list__map6_8_p_1(mercury__list__TypeInfo_for_A_25, mercury__list__TypeInfo_for_B_26, mercury__list__TypeInfo_for_C_27, mercury__list__TypeInfo_for_D_28, mercury__list__TypeInfo_for_E_29, mercury__list__TypeInfo_for_F_30, mercury__list__TypeInfo_for_G_31, mercury__list__P_1, mercury__list__T0_12, &mercury__list__T1_14, &mercury__list__T2_16, &mercury__list__T3_18, &mercury__list__T4_20, &mercury__list__T5_22, &mercury__list__T6_24);
        }
#line 2491 "list.m"
        {
#line 2491 "list.m"
          MR_Word base;
#line 2491 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_13;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_14));
#line 2491 "list.m"
        }
#line 2491 "list.m"
        {
#line 2491 "list.m"
          MR_Word base;
#line 2491 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_15;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_16));
#line 2491 "list.m"
        }
#line 2491 "list.m"
        {
#line 2491 "list.m"
          MR_Word base;
#line 2491 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_17;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_18));
#line 2491 "list.m"
        }
#line 2491 "list.m"
        {
#line 2491 "list.m"
          MR_Word base;
#line 2491 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
          *mercury__list__HeadVar__6_6 = base;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_19;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_20));
#line 2491 "list.m"
        }
#line 2491 "list.m"
        {
#line 2491 "list.m"
          MR_Word base;
#line 2491 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
          *mercury__list__HeadVar__7_7 = base;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H5_21;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T5_22));
#line 2491 "list.m"
        }
#line 2491 "list.m"
        {
#line 2491 "list.m"
          MR_Word base;
#line 2491 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
          *mercury__list__HeadVar__8_8 = base;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H6_23;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T6_24));
#line 2491 "list.m"
        }
#line 2491 "list.m"
      }
#line 2489 "list.m"
  }
#line 565 "list.m"
}

#line 563 "list.m"
void MR_CALL 
mercury__list__map6_8_p_0(
#line 563 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_25,
#line 563 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_26,
#line 563 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_27,
#line 563 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_28,
#line 563 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_29,
#line 563 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_30,
#line 563 "list.m"
  MR_Word mercury__list__TypeInfo_for_G_31,
#line 563 "list.m"
  MR_Word mercury__list__P_1,
#line 563 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 563 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 563 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 563 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 563 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 563 "list.m"
  MR_Word * mercury__list__HeadVar__7_7,
#line 563 "list.m"
  MR_Word * mercury__list__HeadVar__8_8)
#line 563 "list.m"
{
#line 2489 "list.m"
  {
#line 2489 "list.m"
    MR_bool mercury__list__succeeded;

#line 2489 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2489 "list.m"
      {
#line 2489 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
        *mercury__list__HeadVar__7_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
        *mercury__list__HeadVar__8_8 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2489 "list.m"
      }
#line 2489 "list.m"
    else
#line 2491 "list.m"
      {
#line 2491 "list.m"
        MR_Box mercury__list__H0_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2491 "list.m"
        MR_Word mercury__list__T0_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2491 "list.m"
        MR_Box mercury__list__H1_13;
#line 2491 "list.m"
        MR_Word mercury__list__T1_14;
#line 2491 "list.m"
        MR_Box mercury__list__H2_15;
#line 2491 "list.m"
        MR_Word mercury__list__T2_16;
#line 2491 "list.m"
        MR_Box mercury__list__H3_17;
#line 2491 "list.m"
        MR_Word mercury__list__T3_18;
#line 2491 "list.m"
        MR_Box mercury__list__H4_19;
#line 2491 "list.m"
        MR_Word mercury__list__T4_20;
#line 2491 "list.m"
        MR_Box mercury__list__H5_21;
#line 2491 "list.m"
        MR_Word mercury__list__T5_22;
#line 2491 "list.m"
        MR_Box mercury__list__H6_23;
#line 2491 "list.m"
        MR_Word mercury__list__T6_24;
#line 2492 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2492 "list.m"
        {
#line 2492 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_11, &mercury__list__H1_13, &mercury__list__H2_15, &mercury__list__H3_17, &mercury__list__H4_19, &mercury__list__H5_21, &mercury__list__H6_23);
        }
#line 2493 "list.m"
        {
#line 2493 "list.m"
          mercury__list__map6_8_p_0(mercury__list__TypeInfo_for_A_25, mercury__list__TypeInfo_for_B_26, mercury__list__TypeInfo_for_C_27, mercury__list__TypeInfo_for_D_28, mercury__list__TypeInfo_for_E_29, mercury__list__TypeInfo_for_F_30, mercury__list__TypeInfo_for_G_31, mercury__list__P_1, mercury__list__T0_12, &mercury__list__T1_14, &mercury__list__T2_16, &mercury__list__T3_18, &mercury__list__T4_20, &mercury__list__T5_22, &mercury__list__T6_24);
        }
#line 2491 "list.m"
        {
#line 2491 "list.m"
          MR_Word base;
#line 2491 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_13;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_14));
#line 2491 "list.m"
        }
#line 2491 "list.m"
        {
#line 2491 "list.m"
          MR_Word base;
#line 2491 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_15;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_16));
#line 2491 "list.m"
        }
#line 2491 "list.m"
        {
#line 2491 "list.m"
          MR_Word base;
#line 2491 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_17;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_18));
#line 2491 "list.m"
        }
#line 2491 "list.m"
        {
#line 2491 "list.m"
          MR_Word base;
#line 2491 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
          *mercury__list__HeadVar__6_6 = base;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_19;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_20));
#line 2491 "list.m"
        }
#line 2491 "list.m"
        {
#line 2491 "list.m"
          MR_Word base;
#line 2491 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
          *mercury__list__HeadVar__7_7 = base;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H5_21;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T5_22));
#line 2491 "list.m"
        }
#line 2491 "list.m"
        {
#line 2491 "list.m"
          MR_Word base;
#line 2491 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2491 "list.m"
          *mercury__list__HeadVar__8_8 = base;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H6_23;
#line 2491 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T6_24));
#line 2491 "list.m"
        }
#line 2491 "list.m"
      }
#line 2489 "list.m"
  }
#line 563 "list.m"
}

#line 554 "list.m"
MR_bool MR_CALL 
mercury__list__map5_7_p_5(
#line 554 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 554 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_23,
#line 554 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_24,
#line 554 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_25,
#line 554 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_26,
#line 554 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_27,
#line 554 "list.m"
  MR_Word mercury__list__P_1,
#line 554 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 554 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 554 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 554 "list.m"
  MR_Word mercury__list__HeadVar__5_5,
#line 554 "list.m"
  MR_Word mercury__list__HeadVar__6_6,
#line 554 "list.m"
  MR_Word mercury__list__HeadVar__7_7)
#line 554 "list.m"
{
#line 2483 "list.m"
  while (MR_TRUE)
#line 2483 "list.m"
    {
#line 2483 "list.m"
      /* tailcall optimized into a loop */
#line 2483 "list.m"
      {
#line 2483 "list.m"
        MR_bool mercury__list__succeeded;

#line 2483 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2483 "list.m"
          {
#line 2483 "list.m"
            mercury__list__succeeded = (mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2483 "list.m"
            if (mercury__list__succeeded)
#line 2483 "list.m"
              {
#line 2483 "list.m"
                mercury__list__succeeded = (mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2483 "list.m"
                if (mercury__list__succeeded)
#line 2483 "list.m"
                  {
#line 2483 "list.m"
                    mercury__list__succeeded = (mercury__list__HeadVar__5_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2483 "list.m"
                    if (mercury__list__succeeded)
#line 2483 "list.m"
                      {
#line 2483 "list.m"
                        mercury__list__succeeded = (mercury__list__HeadVar__6_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2483 "list.m"
                        if (mercury__list__succeeded)
#line 2483 "list.m"
                          mercury__list__succeeded = (mercury__list__HeadVar__7_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2483 "list.m"
                      }
#line 2483 "list.m"
                  }
#line 2483 "list.m"
              }
#line 2483 "list.m"
          }
#line 2483 "list.m"
        else
#line 2485 "list.m"
          {
#line 2485 "list.m"
            MR_Box mercury__list__H0_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2485 "list.m"
            MR_Word mercury__list__T0_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2485 "list.m"
            MR_Box mercury__list__H1_12;
#line 2485 "list.m"
            MR_Word mercury__list__T1_13;
#line 2485 "list.m"
            MR_Box mercury__list__H2_14;
#line 2485 "list.m"
            MR_Word mercury__list__T2_15;
#line 2485 "list.m"
            MR_Box mercury__list__H3_16;
#line 2485 "list.m"
            MR_Word mercury__list__T3_17;
#line 2485 "list.m"
            MR_Box mercury__list__H4_18;
#line 2485 "list.m"
            MR_Word mercury__list__T4_19;
#line 2485 "list.m"
            MR_Box mercury__list__H5_20;
#line 2485 "list.m"
            MR_Word mercury__list__T5_21;
#line 2486 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box);

#line 2485 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1)));
#line 2485 "list.m"
            if (mercury__list__succeeded)
#line 2485 "list.m"
              {
#line 2485 "list.m"
                mercury__list__H1_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2485 "list.m"
                mercury__list__T1_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2485 "list.m"
                mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__4_4)) == (MR_mktag((MR_Integer) 1)));
#line 2485 "list.m"
                if (mercury__list__succeeded)
#line 2485 "list.m"
                  {
#line 2485 "list.m"
                    mercury__list__H2_14 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2485 "list.m"
                    mercury__list__T2_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2485 "list.m"
                    mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__5_5)) == (MR_mktag((MR_Integer) 1)));
#line 2485 "list.m"
                    if (mercury__list__succeeded)
#line 2485 "list.m"
                      {
#line 2485 "list.m"
                        mercury__list__H3_16 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__5_5, (MR_Integer) 0));
#line 2485 "list.m"
                        mercury__list__T3_17 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__5_5, (MR_Integer) 1)));
#line 2485 "list.m"
                        mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__6_6)) == (MR_mktag((MR_Integer) 1)));
#line 2485 "list.m"
                        if (mercury__list__succeeded)
#line 2485 "list.m"
                          {
#line 2485 "list.m"
                            mercury__list__H4_18 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__6_6, (MR_Integer) 0));
#line 2485 "list.m"
                            mercury__list__T4_19 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__6_6, (MR_Integer) 1)));
#line 2485 "list.m"
                            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__7_7)) == (MR_mktag((MR_Integer) 1)));
#line 2485 "list.m"
                            if (mercury__list__succeeded)
#line 2485 "list.m"
                              {
#line 2485 "list.m"
                                mercury__list__H5_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__7_7, (MR_Integer) 0));
#line 2485 "list.m"
                                mercury__list__T5_21 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__7_7, (MR_Integer) 1)));
#line 2486 "list.m"
                                mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2486 "list.m"
                                {
#line 2486 "list.m"
                                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_10, mercury__list__H1_12, mercury__list__H2_14, mercury__list__H3_16, mercury__list__H4_18, mercury__list__H5_20);
                                }
#line 2485 "list.m"
                                if (mercury__list__succeeded)
#line 2487 "list.m"
                                  {
#line 2487 "list.m"
                                    /* direct tailcall eliminated */
#line 2487 "list.m"
                                    {
#line 2487 "list.m"
                                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T0_11;
#line 2487 "list.m"
                                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__T1_13;
#line 2487 "list.m"
                                      MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__T2_15;
#line 2487 "list.m"
                                      MR_Word mercury__list__HeadVar__5__tmp_copy_5 = mercury__list__T3_17;
#line 2487 "list.m"
                                      MR_Word mercury__list__HeadVar__6__tmp_copy_6 = mercury__list__T4_19;
#line 2487 "list.m"
                                      MR_Word mercury__list__HeadVar__7__tmp_copy_7 = mercury__list__T5_21;

#line 2487 "list.m"
                                      mercury__list__HeadVar__7_7 = mercury__list__HeadVar__7__tmp_copy_7;
#line 2487 "list.m"
                                      mercury__list__HeadVar__6_6 = mercury__list__HeadVar__6__tmp_copy_6;
#line 2487 "list.m"
                                      mercury__list__HeadVar__5_5 = mercury__list__HeadVar__5__tmp_copy_5;
#line 2487 "list.m"
                                      mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2487 "list.m"
                                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2487 "list.m"
                                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2487 "list.m"
                                    }
#line 2487 "list.m"
                                    continue;
#line 2487 "list.m"
                                  }
#line 2485 "list.m"
                              }
#line 2485 "list.m"
                          }
#line 2485 "list.m"
                      }
#line 2485 "list.m"
                  }
#line 2485 "list.m"
              }
#line 2485 "list.m"
          }
#line 2483 "list.m"
        return mercury__list__succeeded;
#line 2483 "list.m"
      }
#line 2483 "list.m"
      break;
#line 2483 "list.m"
    }
#line 554 "list.m"
}

#line 2485 "list.m"
static void MR_CALL 
mercury__list__map5_7_p_4_2(
#line 2485 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2485 "list.m"
{
#line 2485 "list.m"
  {
#line 2485 "list.m"
    struct mercury__list__map5_7_p_4_env_0_s * mercury__list__env_ptr = (struct mercury__list__map5_7_p_4_env_0_s *) mercury__list__env_ptr_arg;

#line 2485 "list.m"
    {
#line 2485 "list.m"
      MR_Word base;
#line 2485 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__HeadVar__3_3) = base;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__H1_12;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__T1_13));
#line 2485 "list.m"
    }
#line 2485 "list.m"
    {
#line 2485 "list.m"
      MR_Word base;
#line 2485 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__HeadVar__4_4) = base;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__H2_14;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__T2_15));
#line 2485 "list.m"
    }
#line 2485 "list.m"
    {
#line 2485 "list.m"
      MR_Word base;
#line 2485 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__HeadVar__5_5) = base;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__H3_16;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__T3_17));
#line 2485 "list.m"
    }
#line 2485 "list.m"
    {
#line 2485 "list.m"
      MR_Word base;
#line 2485 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__HeadVar__6_6) = base;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__H4_18;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__T4_19));
#line 2485 "list.m"
    }
#line 2485 "list.m"
    {
#line 2485 "list.m"
      MR_Word base;
#line 2485 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__HeadVar__7_7) = base;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__H5_20;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__T5_21));
#line 2485 "list.m"
    }
#line 2485 "list.m"
    {
#line 2485 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__cont)((mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__cont_env_ptr);
#line 2485 "list.m"
      return;
    }
#line 2485 "list.m"
  }
#line 2485 "list.m"
}

#line 2485 "list.m"
static void MR_CALL 
mercury__list__map5_7_p_4_1(
#line 2485 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2485 "list.m"
{
#line 2485 "list.m"
  {
#line 2485 "list.m"
    struct mercury__list__map5_7_p_4_env_0_s * mercury__list__env_ptr = (struct mercury__list__map5_7_p_4_env_0_s *) mercury__list__env_ptr_arg;

#line 2487 "list.m"
    {
#line 2487 "list.m"
      mercury__list__map5_7_p_4((mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__TypeInfo_for_A_22, (mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__TypeInfo_for_B_23, (mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__TypeInfo_for_C_24, (mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__TypeInfo_for_D_25, (mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__TypeInfo_for_E_26, (mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__TypeInfo_for_F_27, (mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__T0_11, &(mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__T1_13, &(mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__T2_15, &(mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__T3_17, &(mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__T4_19, &(mercury__list__env_ptr)->mercury__list__map5_7_p_4_env_0__T5_21, mercury__list__map5_7_p_4_2, mercury__list__env_ptr);
    }
#line 2485 "list.m"
  }
#line 2485 "list.m"
}

#line 552 "list.m"
void MR_CALL 
mercury__list__map5_7_p_4(
#line 552 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 552 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_23,
#line 552 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_24,
#line 552 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_25,
#line 552 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_26,
#line 552 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_27,
#line 552 "list.m"
  MR_Word mercury__list__P_1,
#line 552 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 552 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 552 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 552 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 552 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 552 "list.m"
  MR_Word * mercury__list__HeadVar__7_7,
#line 552 "list.m"
  MR_Cont mercury__list__cont,
#line 552 "list.m"
  void * mercury__list__cont_env_ptr)
#line 552 "list.m"
{
#line 552 "list.m"
  {
#line 552 "list.m"
    struct mercury__list__map5_7_p_4_env_0_s mercury__list__env;

#line 552 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_4_env_0__TypeInfo_for_A_22 = mercury__list__TypeInfo_for_A_22;
#line 552 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_4_env_0__TypeInfo_for_B_23 = mercury__list__TypeInfo_for_B_23;
#line 552 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_4_env_0__TypeInfo_for_C_24 = mercury__list__TypeInfo_for_C_24;
#line 552 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_4_env_0__TypeInfo_for_D_25 = mercury__list__TypeInfo_for_D_25;
#line 552 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_4_env_0__TypeInfo_for_E_26 = mercury__list__TypeInfo_for_E_26;
#line 552 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_4_env_0__TypeInfo_for_F_27 = mercury__list__TypeInfo_for_F_27;
#line 552 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_4_env_0__P_1 = mercury__list__P_1;
#line 552 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_4_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 552 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_4_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 552 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_4_env_0__HeadVar__5_5 = mercury__list__HeadVar__5_5;
#line 552 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_4_env_0__HeadVar__6_6 = mercury__list__HeadVar__6_6;
#line 552 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_4_env_0__HeadVar__7_7 = mercury__list__HeadVar__7_7;
#line 552 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_4_env_0__cont = mercury__list__cont;
#line 552 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_4_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2483 "list.m"
    {
#line 2483 "list.m"
      MR_bool mercury__list__succeeded;

#line 2483 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2483 "list.m"
        {
#line 2483 "list.m"
          *((mercury__list__env).mercury__list__map5_7_p_4_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
          *((mercury__list__env).mercury__list__map5_7_p_4_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
          *((mercury__list__env).mercury__list__map5_7_p_4_env_0__HeadVar__5_5) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
          *((mercury__list__env).mercury__list__map5_7_p_4_env_0__HeadVar__6_6) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
          *((mercury__list__env).mercury__list__map5_7_p_4_env_0__HeadVar__7_7) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
          {
#line 2483 "list.m"
            ((mercury__list__env).mercury__list__map5_7_p_4_env_0__cont)((mercury__list__env).mercury__list__map5_7_p_4_env_0__cont_env_ptr);
#line 2483 "list.m"
            return;
          }
#line 2483 "list.m"
        }
#line 2483 "list.m"
      else
#line 2485 "list.m"
        {
#line 2485 "list.m"
          MR_Box mercury__list__H0_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2486 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *);

#line 2485 "list.m"
          (mercury__list__env).mercury__list__map5_7_p_4_env_0__T0_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2486 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map5_7_p_4_env_0__P_1, (MR_Integer) 1)));
#line 2486 "list.m"
          {
#line 2486 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map5_7_p_4_env_0__P_1), mercury__list__H0_10, &(mercury__list__env).mercury__list__map5_7_p_4_env_0__H1_12, &(mercury__list__env).mercury__list__map5_7_p_4_env_0__H2_14, &(mercury__list__env).mercury__list__map5_7_p_4_env_0__H3_16, &(mercury__list__env).mercury__list__map5_7_p_4_env_0__H4_18, &(mercury__list__env).mercury__list__map5_7_p_4_env_0__H5_20, mercury__list__map5_7_p_4_1, &mercury__list__env);
          }
#line 2485 "list.m"
        }
#line 2483 "list.m"
    }
#line 552 "list.m"
  }
#line 552 "list.m"
}

#line 2485 "list.m"
static void MR_CALL 
mercury__list__map5_7_p_3_2(
#line 2485 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2485 "list.m"
{
#line 2485 "list.m"
  {
#line 2485 "list.m"
    struct mercury__list__map5_7_p_3_env_0_s * mercury__list__env_ptr = (struct mercury__list__map5_7_p_3_env_0_s *) mercury__list__env_ptr_arg;

#line 2485 "list.m"
    {
#line 2485 "list.m"
      MR_Word base;
#line 2485 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__HeadVar__3_3) = base;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__H1_12;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__T1_13));
#line 2485 "list.m"
    }
#line 2485 "list.m"
    {
#line 2485 "list.m"
      MR_Word base;
#line 2485 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__HeadVar__4_4) = base;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__H2_14;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__T2_15));
#line 2485 "list.m"
    }
#line 2485 "list.m"
    {
#line 2485 "list.m"
      MR_Word base;
#line 2485 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__HeadVar__5_5) = base;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__H3_16;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__T3_17));
#line 2485 "list.m"
    }
#line 2485 "list.m"
    {
#line 2485 "list.m"
      MR_Word base;
#line 2485 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__HeadVar__6_6) = base;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__H4_18;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__T4_19));
#line 2485 "list.m"
    }
#line 2485 "list.m"
    {
#line 2485 "list.m"
      MR_Word base;
#line 2485 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__HeadVar__7_7) = base;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__H5_20;
#line 2485 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__T5_21));
#line 2485 "list.m"
    }
#line 2485 "list.m"
    {
#line 2485 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__cont)((mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__cont_env_ptr);
#line 2485 "list.m"
      return;
    }
#line 2485 "list.m"
  }
#line 2485 "list.m"
}

#line 2485 "list.m"
static void MR_CALL 
mercury__list__map5_7_p_3_1(
#line 2485 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2485 "list.m"
{
#line 2485 "list.m"
  {
#line 2485 "list.m"
    struct mercury__list__map5_7_p_3_env_0_s * mercury__list__env_ptr = (struct mercury__list__map5_7_p_3_env_0_s *) mercury__list__env_ptr_arg;

#line 2487 "list.m"
    {
#line 2487 "list.m"
      mercury__list__map5_7_p_3((mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__TypeInfo_for_A_22, (mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__TypeInfo_for_B_23, (mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__TypeInfo_for_C_24, (mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__TypeInfo_for_D_25, (mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__TypeInfo_for_E_26, (mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__TypeInfo_for_F_27, (mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__T0_11, &(mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__T1_13, &(mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__T2_15, &(mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__T3_17, &(mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__T4_19, &(mercury__list__env_ptr)->mercury__list__map5_7_p_3_env_0__T5_21, mercury__list__map5_7_p_3_2, mercury__list__env_ptr);
    }
#line 2485 "list.m"
  }
#line 2485 "list.m"
}

#line 550 "list.m"
void MR_CALL 
mercury__list__map5_7_p_3(
#line 550 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 550 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_23,
#line 550 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_24,
#line 550 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_25,
#line 550 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_26,
#line 550 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_27,
#line 550 "list.m"
  MR_Word mercury__list__P_1,
#line 550 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 550 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 550 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 550 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 550 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 550 "list.m"
  MR_Word * mercury__list__HeadVar__7_7,
#line 550 "list.m"
  MR_Cont mercury__list__cont,
#line 550 "list.m"
  void * mercury__list__cont_env_ptr)
#line 550 "list.m"
{
#line 550 "list.m"
  {
#line 550 "list.m"
    struct mercury__list__map5_7_p_3_env_0_s mercury__list__env;

#line 550 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_3_env_0__TypeInfo_for_A_22 = mercury__list__TypeInfo_for_A_22;
#line 550 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_3_env_0__TypeInfo_for_B_23 = mercury__list__TypeInfo_for_B_23;
#line 550 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_3_env_0__TypeInfo_for_C_24 = mercury__list__TypeInfo_for_C_24;
#line 550 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_3_env_0__TypeInfo_for_D_25 = mercury__list__TypeInfo_for_D_25;
#line 550 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_3_env_0__TypeInfo_for_E_26 = mercury__list__TypeInfo_for_E_26;
#line 550 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_3_env_0__TypeInfo_for_F_27 = mercury__list__TypeInfo_for_F_27;
#line 550 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_3_env_0__P_1 = mercury__list__P_1;
#line 550 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_3_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 550 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_3_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 550 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_3_env_0__HeadVar__5_5 = mercury__list__HeadVar__5_5;
#line 550 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_3_env_0__HeadVar__6_6 = mercury__list__HeadVar__6_6;
#line 550 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_3_env_0__HeadVar__7_7 = mercury__list__HeadVar__7_7;
#line 550 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_3_env_0__cont = mercury__list__cont;
#line 550 "list.m"
    (mercury__list__env).mercury__list__map5_7_p_3_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2483 "list.m"
    {
#line 2483 "list.m"
      MR_bool mercury__list__succeeded;

#line 2483 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2483 "list.m"
        {
#line 2483 "list.m"
          *((mercury__list__env).mercury__list__map5_7_p_3_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
          *((mercury__list__env).mercury__list__map5_7_p_3_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
          *((mercury__list__env).mercury__list__map5_7_p_3_env_0__HeadVar__5_5) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
          *((mercury__list__env).mercury__list__map5_7_p_3_env_0__HeadVar__6_6) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
          *((mercury__list__env).mercury__list__map5_7_p_3_env_0__HeadVar__7_7) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
          {
#line 2483 "list.m"
            ((mercury__list__env).mercury__list__map5_7_p_3_env_0__cont)((mercury__list__env).mercury__list__map5_7_p_3_env_0__cont_env_ptr);
#line 2483 "list.m"
            return;
          }
#line 2483 "list.m"
        }
#line 2483 "list.m"
      else
#line 2485 "list.m"
        {
#line 2485 "list.m"
          MR_Box mercury__list__H0_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2486 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *);

#line 2485 "list.m"
          (mercury__list__env).mercury__list__map5_7_p_3_env_0__T0_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2486 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map5_7_p_3_env_0__P_1, (MR_Integer) 1)));
#line 2486 "list.m"
          {
#line 2486 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map5_7_p_3_env_0__P_1), mercury__list__H0_10, &(mercury__list__env).mercury__list__map5_7_p_3_env_0__H1_12, &(mercury__list__env).mercury__list__map5_7_p_3_env_0__H2_14, &(mercury__list__env).mercury__list__map5_7_p_3_env_0__H3_16, &(mercury__list__env).mercury__list__map5_7_p_3_env_0__H4_18, &(mercury__list__env).mercury__list__map5_7_p_3_env_0__H5_20, mercury__list__map5_7_p_3_1, &mercury__list__env);
          }
#line 2485 "list.m"
        }
#line 2483 "list.m"
    }
#line 550 "list.m"
  }
#line 550 "list.m"
}

#line 548 "list.m"
MR_bool MR_CALL 
mercury__list__map5_7_p_2(
#line 548 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 548 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_23,
#line 548 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_24,
#line 548 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_25,
#line 548 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_26,
#line 548 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_27,
#line 548 "list.m"
  MR_Word mercury__list__P_1,
#line 548 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 548 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 548 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 548 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 548 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 548 "list.m"
  MR_Word * mercury__list__HeadVar__7_7)
#line 548 "list.m"
{
#line 2483 "list.m"
  {
#line 2483 "list.m"
    MR_bool mercury__list__succeeded;

#line 2483 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2483 "list.m"
      {
#line 2483 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
        *mercury__list__HeadVar__7_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2483 "list.m"
      }
#line 2483 "list.m"
    else
#line 2485 "list.m"
      {
#line 2485 "list.m"
        MR_Box mercury__list__H0_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2485 "list.m"
        MR_Word mercury__list__T0_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2485 "list.m"
        MR_Box mercury__list__H1_12;
#line 2485 "list.m"
        MR_Word mercury__list__T1_13;
#line 2485 "list.m"
        MR_Box mercury__list__H2_14;
#line 2485 "list.m"
        MR_Word mercury__list__T2_15;
#line 2485 "list.m"
        MR_Box mercury__list__H3_16;
#line 2485 "list.m"
        MR_Word mercury__list__T3_17;
#line 2485 "list.m"
        MR_Box mercury__list__H4_18;
#line 2485 "list.m"
        MR_Word mercury__list__T4_19;
#line 2485 "list.m"
        MR_Box mercury__list__H5_20;
#line 2485 "list.m"
        MR_Word mercury__list__T5_21;
#line 2486 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2486 "list.m"
        {
#line 2486 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_10, &mercury__list__H1_12, &mercury__list__H2_14, &mercury__list__H3_16, &mercury__list__H4_18, &mercury__list__H5_20);
        }
#line 2485 "list.m"
        if (mercury__list__succeeded)
#line 2485 "list.m"
          {
#line 2487 "list.m"
            {
#line 2487 "list.m"
              mercury__list__succeeded = mercury__list__map5_7_p_2(mercury__list__TypeInfo_for_A_22, mercury__list__TypeInfo_for_B_23, mercury__list__TypeInfo_for_C_24, mercury__list__TypeInfo_for_D_25, mercury__list__TypeInfo_for_E_26, mercury__list__TypeInfo_for_F_27, mercury__list__P_1, mercury__list__T0_11, &mercury__list__T1_13, &mercury__list__T2_15, &mercury__list__T3_17, &mercury__list__T4_19, &mercury__list__T5_21);
            }
#line 2485 "list.m"
            if (mercury__list__succeeded)
#line 2485 "list.m"
              {
#line 2485 "list.m"
                {
#line 2485 "list.m"
                  MR_Word base;
#line 2485 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2485 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_12;
#line 2485 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_13));
#line 2485 "list.m"
                }
#line 2485 "list.m"
                {
#line 2485 "list.m"
                  MR_Word base;
#line 2485 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2485 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_14;
#line 2485 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_15));
#line 2485 "list.m"
                }
#line 2485 "list.m"
                {
#line 2485 "list.m"
                  MR_Word base;
#line 2485 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
                  *mercury__list__HeadVar__5_5 = base;
#line 2485 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_16;
#line 2485 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_17));
#line 2485 "list.m"
                }
#line 2485 "list.m"
                {
#line 2485 "list.m"
                  MR_Word base;
#line 2485 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
                  *mercury__list__HeadVar__6_6 = base;
#line 2485 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_18;
#line 2485 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_19));
#line 2485 "list.m"
                }
#line 2485 "list.m"
                {
#line 2485 "list.m"
                  MR_Word base;
#line 2485 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
                  *mercury__list__HeadVar__7_7 = base;
#line 2485 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H5_20;
#line 2485 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T5_21));
#line 2485 "list.m"
                }
#line 2485 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2485 "list.m"
              }
#line 2485 "list.m"
          }
#line 2485 "list.m"
      }
#line 2483 "list.m"
    return mercury__list__succeeded;
#line 2483 "list.m"
  }
#line 548 "list.m"
}

#line 546 "list.m"
void MR_CALL 
mercury__list__map5_7_p_1(
#line 546 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 546 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_23,
#line 546 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_24,
#line 546 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_25,
#line 546 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_26,
#line 546 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_27,
#line 546 "list.m"
  MR_Word mercury__list__P_1,
#line 546 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 546 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 546 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 546 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 546 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 546 "list.m"
  MR_Word * mercury__list__HeadVar__7_7)
#line 546 "list.m"
{
#line 2483 "list.m"
  {
#line 2483 "list.m"
    MR_bool mercury__list__succeeded;

#line 2483 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2483 "list.m"
      {
#line 2483 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
        *mercury__list__HeadVar__7_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
      }
#line 2483 "list.m"
    else
#line 2485 "list.m"
      {
#line 2485 "list.m"
        MR_Box mercury__list__H0_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2485 "list.m"
        MR_Word mercury__list__T0_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2485 "list.m"
        MR_Box mercury__list__H1_12;
#line 2485 "list.m"
        MR_Word mercury__list__T1_13;
#line 2485 "list.m"
        MR_Box mercury__list__H2_14;
#line 2485 "list.m"
        MR_Word mercury__list__T2_15;
#line 2485 "list.m"
        MR_Box mercury__list__H3_16;
#line 2485 "list.m"
        MR_Word mercury__list__T3_17;
#line 2485 "list.m"
        MR_Box mercury__list__H4_18;
#line 2485 "list.m"
        MR_Word mercury__list__T4_19;
#line 2485 "list.m"
        MR_Box mercury__list__H5_20;
#line 2485 "list.m"
        MR_Word mercury__list__T5_21;
#line 2486 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2486 "list.m"
        {
#line 2486 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_10, &mercury__list__H1_12, &mercury__list__H2_14, &mercury__list__H3_16, &mercury__list__H4_18, &mercury__list__H5_20);
        }
#line 2487 "list.m"
        {
#line 2487 "list.m"
          mercury__list__map5_7_p_1(mercury__list__TypeInfo_for_A_22, mercury__list__TypeInfo_for_B_23, mercury__list__TypeInfo_for_C_24, mercury__list__TypeInfo_for_D_25, mercury__list__TypeInfo_for_E_26, mercury__list__TypeInfo_for_F_27, mercury__list__P_1, mercury__list__T0_11, &mercury__list__T1_13, &mercury__list__T2_15, &mercury__list__T3_17, &mercury__list__T4_19, &mercury__list__T5_21);
        }
#line 2485 "list.m"
        {
#line 2485 "list.m"
          MR_Word base;
#line 2485 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_12;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_13));
#line 2485 "list.m"
        }
#line 2485 "list.m"
        {
#line 2485 "list.m"
          MR_Word base;
#line 2485 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_14;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_15));
#line 2485 "list.m"
        }
#line 2485 "list.m"
        {
#line 2485 "list.m"
          MR_Word base;
#line 2485 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_16;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_17));
#line 2485 "list.m"
        }
#line 2485 "list.m"
        {
#line 2485 "list.m"
          MR_Word base;
#line 2485 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
          *mercury__list__HeadVar__6_6 = base;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_18;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_19));
#line 2485 "list.m"
        }
#line 2485 "list.m"
        {
#line 2485 "list.m"
          MR_Word base;
#line 2485 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
          *mercury__list__HeadVar__7_7 = base;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H5_20;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T5_21));
#line 2485 "list.m"
        }
#line 2485 "list.m"
      }
#line 2483 "list.m"
  }
#line 546 "list.m"
}

#line 544 "list.m"
void MR_CALL 
mercury__list__map5_7_p_0(
#line 544 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_22,
#line 544 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_23,
#line 544 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_24,
#line 544 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_25,
#line 544 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_26,
#line 544 "list.m"
  MR_Word mercury__list__TypeInfo_for_F_27,
#line 544 "list.m"
  MR_Word mercury__list__P_1,
#line 544 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 544 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 544 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 544 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 544 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 544 "list.m"
  MR_Word * mercury__list__HeadVar__7_7)
#line 544 "list.m"
{
#line 2483 "list.m"
  {
#line 2483 "list.m"
    MR_bool mercury__list__succeeded;

#line 2483 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2483 "list.m"
      {
#line 2483 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
        *mercury__list__HeadVar__7_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2483 "list.m"
      }
#line 2483 "list.m"
    else
#line 2485 "list.m"
      {
#line 2485 "list.m"
        MR_Box mercury__list__H0_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2485 "list.m"
        MR_Word mercury__list__T0_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2485 "list.m"
        MR_Box mercury__list__H1_12;
#line 2485 "list.m"
        MR_Word mercury__list__T1_13;
#line 2485 "list.m"
        MR_Box mercury__list__H2_14;
#line 2485 "list.m"
        MR_Word mercury__list__T2_15;
#line 2485 "list.m"
        MR_Box mercury__list__H3_16;
#line 2485 "list.m"
        MR_Word mercury__list__T3_17;
#line 2485 "list.m"
        MR_Box mercury__list__H4_18;
#line 2485 "list.m"
        MR_Word mercury__list__T4_19;
#line 2485 "list.m"
        MR_Box mercury__list__H5_20;
#line 2485 "list.m"
        MR_Word mercury__list__T5_21;
#line 2486 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2486 "list.m"
        {
#line 2486 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_10, &mercury__list__H1_12, &mercury__list__H2_14, &mercury__list__H3_16, &mercury__list__H4_18, &mercury__list__H5_20);
        }
#line 2487 "list.m"
        {
#line 2487 "list.m"
          mercury__list__map5_7_p_0(mercury__list__TypeInfo_for_A_22, mercury__list__TypeInfo_for_B_23, mercury__list__TypeInfo_for_C_24, mercury__list__TypeInfo_for_D_25, mercury__list__TypeInfo_for_E_26, mercury__list__TypeInfo_for_F_27, mercury__list__P_1, mercury__list__T0_11, &mercury__list__T1_13, &mercury__list__T2_15, &mercury__list__T3_17, &mercury__list__T4_19, &mercury__list__T5_21);
        }
#line 2485 "list.m"
        {
#line 2485 "list.m"
          MR_Word base;
#line 2485 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_12;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_13));
#line 2485 "list.m"
        }
#line 2485 "list.m"
        {
#line 2485 "list.m"
          MR_Word base;
#line 2485 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_14;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_15));
#line 2485 "list.m"
        }
#line 2485 "list.m"
        {
#line 2485 "list.m"
          MR_Word base;
#line 2485 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_16;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_17));
#line 2485 "list.m"
        }
#line 2485 "list.m"
        {
#line 2485 "list.m"
          MR_Word base;
#line 2485 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
          *mercury__list__HeadVar__6_6 = base;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_18;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_19));
#line 2485 "list.m"
        }
#line 2485 "list.m"
        {
#line 2485 "list.m"
          MR_Word base;
#line 2485 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2485 "list.m"
          *mercury__list__HeadVar__7_7 = base;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H5_20;
#line 2485 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T5_21));
#line 2485 "list.m"
        }
#line 2485 "list.m"
      }
#line 2483 "list.m"
  }
#line 544 "list.m"
}

#line 535 "list.m"
MR_bool MR_CALL 
mercury__list__map4_6_p_5(
#line 535 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_19,
#line 535 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_20,
#line 535 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_21,
#line 535 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_22,
#line 535 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_23,
#line 535 "list.m"
  MR_Word mercury__list__P_1,
#line 535 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 535 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 535 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 535 "list.m"
  MR_Word mercury__list__HeadVar__5_5,
#line 535 "list.m"
  MR_Word mercury__list__HeadVar__6_6)
#line 535 "list.m"
{
#line 2478 "list.m"
  while (MR_TRUE)
#line 2478 "list.m"
    {
#line 2478 "list.m"
      /* tailcall optimized into a loop */
#line 2478 "list.m"
      {
#line 2478 "list.m"
        MR_bool mercury__list__succeeded;

#line 2478 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2478 "list.m"
          {
#line 2478 "list.m"
            mercury__list__succeeded = (mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2478 "list.m"
            if (mercury__list__succeeded)
#line 2478 "list.m"
              {
#line 2478 "list.m"
                mercury__list__succeeded = (mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2478 "list.m"
                if (mercury__list__succeeded)
#line 2478 "list.m"
                  {
#line 2478 "list.m"
                    mercury__list__succeeded = (mercury__list__HeadVar__5_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2478 "list.m"
                    if (mercury__list__succeeded)
#line 2478 "list.m"
                      mercury__list__succeeded = (mercury__list__HeadVar__6_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2478 "list.m"
                  }
#line 2478 "list.m"
              }
#line 2478 "list.m"
          }
#line 2478 "list.m"
        else
#line 2479 "list.m"
          {
#line 2479 "list.m"
            MR_Box mercury__list__H0_9 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2479 "list.m"
            MR_Word mercury__list__T0_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2479 "list.m"
            MR_Box mercury__list__H1_11;
#line 2479 "list.m"
            MR_Word mercury__list__T1_12;
#line 2479 "list.m"
            MR_Box mercury__list__H2_13;
#line 2479 "list.m"
            MR_Word mercury__list__T2_14;
#line 2479 "list.m"
            MR_Box mercury__list__H3_15;
#line 2479 "list.m"
            MR_Word mercury__list__T3_16;
#line 2479 "list.m"
            MR_Box mercury__list__H4_17;
#line 2479 "list.m"
            MR_Word mercury__list__T4_18;
#line 2480 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box);

#line 2479 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1)));
#line 2479 "list.m"
            if (mercury__list__succeeded)
#line 2479 "list.m"
              {
#line 2479 "list.m"
                mercury__list__H1_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2479 "list.m"
                mercury__list__T1_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2479 "list.m"
                mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__4_4)) == (MR_mktag((MR_Integer) 1)));
#line 2479 "list.m"
                if (mercury__list__succeeded)
#line 2479 "list.m"
                  {
#line 2479 "list.m"
                    mercury__list__H2_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2479 "list.m"
                    mercury__list__T2_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2479 "list.m"
                    mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__5_5)) == (MR_mktag((MR_Integer) 1)));
#line 2479 "list.m"
                    if (mercury__list__succeeded)
#line 2479 "list.m"
                      {
#line 2479 "list.m"
                        mercury__list__H3_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__5_5, (MR_Integer) 0));
#line 2479 "list.m"
                        mercury__list__T3_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__5_5, (MR_Integer) 1)));
#line 2479 "list.m"
                        mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__6_6)) == (MR_mktag((MR_Integer) 1)));
#line 2479 "list.m"
                        if (mercury__list__succeeded)
#line 2479 "list.m"
                          {
#line 2479 "list.m"
                            mercury__list__H4_17 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__6_6, (MR_Integer) 0));
#line 2479 "list.m"
                            mercury__list__T4_18 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__6_6, (MR_Integer) 1)));
#line 2480 "list.m"
                            mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2480 "list.m"
                            {
#line 2480 "list.m"
                              mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_9, mercury__list__H1_11, mercury__list__H2_13, mercury__list__H3_15, mercury__list__H4_17);
                            }
#line 2479 "list.m"
                            if (mercury__list__succeeded)
#line 2481 "list.m"
                              {
#line 2481 "list.m"
                                /* direct tailcall eliminated */
#line 2481 "list.m"
                                {
#line 2481 "list.m"
                                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T0_10;
#line 2481 "list.m"
                                  MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__T1_12;
#line 2481 "list.m"
                                  MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__T2_14;
#line 2481 "list.m"
                                  MR_Word mercury__list__HeadVar__5__tmp_copy_5 = mercury__list__T3_16;
#line 2481 "list.m"
                                  MR_Word mercury__list__HeadVar__6__tmp_copy_6 = mercury__list__T4_18;

#line 2481 "list.m"
                                  mercury__list__HeadVar__6_6 = mercury__list__HeadVar__6__tmp_copy_6;
#line 2481 "list.m"
                                  mercury__list__HeadVar__5_5 = mercury__list__HeadVar__5__tmp_copy_5;
#line 2481 "list.m"
                                  mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2481 "list.m"
                                  mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2481 "list.m"
                                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2481 "list.m"
                                }
#line 2481 "list.m"
                                continue;
#line 2481 "list.m"
                              }
#line 2479 "list.m"
                          }
#line 2479 "list.m"
                      }
#line 2479 "list.m"
                  }
#line 2479 "list.m"
              }
#line 2479 "list.m"
          }
#line 2478 "list.m"
        return mercury__list__succeeded;
#line 2478 "list.m"
      }
#line 2478 "list.m"
      break;
#line 2478 "list.m"
    }
#line 535 "list.m"
}

#line 2479 "list.m"
static void MR_CALL 
mercury__list__map4_6_p_4_2(
#line 2479 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2479 "list.m"
{
#line 2479 "list.m"
  {
#line 2479 "list.m"
    struct mercury__list__map4_6_p_4_env_0_s * mercury__list__env_ptr = (struct mercury__list__map4_6_p_4_env_0_s *) mercury__list__env_ptr_arg;

#line 2479 "list.m"
    {
#line 2479 "list.m"
      MR_Word base;
#line 2479 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__HeadVar__3_3) = base;
#line 2479 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__H1_11;
#line 2479 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__T1_12));
#line 2479 "list.m"
    }
#line 2479 "list.m"
    {
#line 2479 "list.m"
      MR_Word base;
#line 2479 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__HeadVar__4_4) = base;
#line 2479 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__H2_13;
#line 2479 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__T2_14));
#line 2479 "list.m"
    }
#line 2479 "list.m"
    {
#line 2479 "list.m"
      MR_Word base;
#line 2479 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__HeadVar__5_5) = base;
#line 2479 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__H3_15;
#line 2479 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__T3_16));
#line 2479 "list.m"
    }
#line 2479 "list.m"
    {
#line 2479 "list.m"
      MR_Word base;
#line 2479 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__HeadVar__6_6) = base;
#line 2479 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__H4_17;
#line 2479 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__T4_18));
#line 2479 "list.m"
    }
#line 2479 "list.m"
    {
#line 2479 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__cont)((mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__cont_env_ptr);
#line 2479 "list.m"
      return;
    }
#line 2479 "list.m"
  }
#line 2479 "list.m"
}

#line 2479 "list.m"
static void MR_CALL 
mercury__list__map4_6_p_4_1(
#line 2479 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2479 "list.m"
{
#line 2479 "list.m"
  {
#line 2479 "list.m"
    struct mercury__list__map4_6_p_4_env_0_s * mercury__list__env_ptr = (struct mercury__list__map4_6_p_4_env_0_s *) mercury__list__env_ptr_arg;

#line 2481 "list.m"
    {
#line 2481 "list.m"
      mercury__list__map4_6_p_4((mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__TypeInfo_for_A_19, (mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__TypeInfo_for_B_20, (mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__TypeInfo_for_C_21, (mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__TypeInfo_for_D_22, (mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__TypeInfo_for_E_23, (mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__T0_10, &(mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__T1_12, &(mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__T2_14, &(mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__T3_16, &(mercury__list__env_ptr)->mercury__list__map4_6_p_4_env_0__T4_18, mercury__list__map4_6_p_4_2, mercury__list__env_ptr);
    }
#line 2479 "list.m"
  }
#line 2479 "list.m"
}

#line 533 "list.m"
void MR_CALL 
mercury__list__map4_6_p_4(
#line 533 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_19,
#line 533 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_20,
#line 533 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_21,
#line 533 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_22,
#line 533 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_23,
#line 533 "list.m"
  MR_Word mercury__list__P_1,
#line 533 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 533 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 533 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 533 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 533 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 533 "list.m"
  MR_Cont mercury__list__cont,
#line 533 "list.m"
  void * mercury__list__cont_env_ptr)
#line 533 "list.m"
{
#line 533 "list.m"
  {
#line 533 "list.m"
    struct mercury__list__map4_6_p_4_env_0_s mercury__list__env;

#line 533 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_4_env_0__TypeInfo_for_A_19 = mercury__list__TypeInfo_for_A_19;
#line 533 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_4_env_0__TypeInfo_for_B_20 = mercury__list__TypeInfo_for_B_20;
#line 533 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_4_env_0__TypeInfo_for_C_21 = mercury__list__TypeInfo_for_C_21;
#line 533 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_4_env_0__TypeInfo_for_D_22 = mercury__list__TypeInfo_for_D_22;
#line 533 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_4_env_0__TypeInfo_for_E_23 = mercury__list__TypeInfo_for_E_23;
#line 533 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_4_env_0__P_1 = mercury__list__P_1;
#line 533 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_4_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 533 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_4_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 533 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_4_env_0__HeadVar__5_5 = mercury__list__HeadVar__5_5;
#line 533 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_4_env_0__HeadVar__6_6 = mercury__list__HeadVar__6_6;
#line 533 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_4_env_0__cont = mercury__list__cont;
#line 533 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_4_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2478 "list.m"
    {
#line 2478 "list.m"
      MR_bool mercury__list__succeeded;

#line 2478 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2478 "list.m"
        {
#line 2478 "list.m"
          *((mercury__list__env).mercury__list__map4_6_p_4_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
          *((mercury__list__env).mercury__list__map4_6_p_4_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
          *((mercury__list__env).mercury__list__map4_6_p_4_env_0__HeadVar__5_5) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
          *((mercury__list__env).mercury__list__map4_6_p_4_env_0__HeadVar__6_6) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
          {
#line 2478 "list.m"
            ((mercury__list__env).mercury__list__map4_6_p_4_env_0__cont)((mercury__list__env).mercury__list__map4_6_p_4_env_0__cont_env_ptr);
#line 2478 "list.m"
            return;
          }
#line 2478 "list.m"
        }
#line 2478 "list.m"
      else
#line 2479 "list.m"
        {
#line 2479 "list.m"
          MR_Box mercury__list__H0_9 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2480 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *);

#line 2479 "list.m"
          (mercury__list__env).mercury__list__map4_6_p_4_env_0__T0_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2480 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map4_6_p_4_env_0__P_1, (MR_Integer) 1)));
#line 2480 "list.m"
          {
#line 2480 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map4_6_p_4_env_0__P_1), mercury__list__H0_9, &(mercury__list__env).mercury__list__map4_6_p_4_env_0__H1_11, &(mercury__list__env).mercury__list__map4_6_p_4_env_0__H2_13, &(mercury__list__env).mercury__list__map4_6_p_4_env_0__H3_15, &(mercury__list__env).mercury__list__map4_6_p_4_env_0__H4_17, mercury__list__map4_6_p_4_1, &mercury__list__env);
          }
#line 2479 "list.m"
        }
#line 2478 "list.m"
    }
#line 533 "list.m"
  }
#line 533 "list.m"
}

#line 2479 "list.m"
static void MR_CALL 
mercury__list__map4_6_p_3_2(
#line 2479 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2479 "list.m"
{
#line 2479 "list.m"
  {
#line 2479 "list.m"
    struct mercury__list__map4_6_p_3_env_0_s * mercury__list__env_ptr = (struct mercury__list__map4_6_p_3_env_0_s *) mercury__list__env_ptr_arg;

#line 2479 "list.m"
    {
#line 2479 "list.m"
      MR_Word base;
#line 2479 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__HeadVar__3_3) = base;
#line 2479 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__H1_11;
#line 2479 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__T1_12));
#line 2479 "list.m"
    }
#line 2479 "list.m"
    {
#line 2479 "list.m"
      MR_Word base;
#line 2479 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__HeadVar__4_4) = base;
#line 2479 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__H2_13;
#line 2479 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__T2_14));
#line 2479 "list.m"
    }
#line 2479 "list.m"
    {
#line 2479 "list.m"
      MR_Word base;
#line 2479 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__HeadVar__5_5) = base;
#line 2479 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__H3_15;
#line 2479 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__T3_16));
#line 2479 "list.m"
    }
#line 2479 "list.m"
    {
#line 2479 "list.m"
      MR_Word base;
#line 2479 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__HeadVar__6_6) = base;
#line 2479 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__H4_17;
#line 2479 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__T4_18));
#line 2479 "list.m"
    }
#line 2479 "list.m"
    {
#line 2479 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__cont)((mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__cont_env_ptr);
#line 2479 "list.m"
      return;
    }
#line 2479 "list.m"
  }
#line 2479 "list.m"
}

#line 2479 "list.m"
static void MR_CALL 
mercury__list__map4_6_p_3_1(
#line 2479 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2479 "list.m"
{
#line 2479 "list.m"
  {
#line 2479 "list.m"
    struct mercury__list__map4_6_p_3_env_0_s * mercury__list__env_ptr = (struct mercury__list__map4_6_p_3_env_0_s *) mercury__list__env_ptr_arg;

#line 2481 "list.m"
    {
#line 2481 "list.m"
      mercury__list__map4_6_p_3((mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__TypeInfo_for_A_19, (mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__TypeInfo_for_B_20, (mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__TypeInfo_for_C_21, (mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__TypeInfo_for_D_22, (mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__TypeInfo_for_E_23, (mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__T0_10, &(mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__T1_12, &(mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__T2_14, &(mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__T3_16, &(mercury__list__env_ptr)->mercury__list__map4_6_p_3_env_0__T4_18, mercury__list__map4_6_p_3_2, mercury__list__env_ptr);
    }
#line 2479 "list.m"
  }
#line 2479 "list.m"
}

#line 531 "list.m"
void MR_CALL 
mercury__list__map4_6_p_3(
#line 531 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_19,
#line 531 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_20,
#line 531 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_21,
#line 531 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_22,
#line 531 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_23,
#line 531 "list.m"
  MR_Word mercury__list__P_1,
#line 531 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 531 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 531 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 531 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 531 "list.m"
  MR_Word * mercury__list__HeadVar__6_6,
#line 531 "list.m"
  MR_Cont mercury__list__cont,
#line 531 "list.m"
  void * mercury__list__cont_env_ptr)
#line 531 "list.m"
{
#line 531 "list.m"
  {
#line 531 "list.m"
    struct mercury__list__map4_6_p_3_env_0_s mercury__list__env;

#line 531 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_3_env_0__TypeInfo_for_A_19 = mercury__list__TypeInfo_for_A_19;
#line 531 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_3_env_0__TypeInfo_for_B_20 = mercury__list__TypeInfo_for_B_20;
#line 531 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_3_env_0__TypeInfo_for_C_21 = mercury__list__TypeInfo_for_C_21;
#line 531 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_3_env_0__TypeInfo_for_D_22 = mercury__list__TypeInfo_for_D_22;
#line 531 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_3_env_0__TypeInfo_for_E_23 = mercury__list__TypeInfo_for_E_23;
#line 531 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_3_env_0__P_1 = mercury__list__P_1;
#line 531 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_3_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 531 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_3_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 531 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_3_env_0__HeadVar__5_5 = mercury__list__HeadVar__5_5;
#line 531 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_3_env_0__HeadVar__6_6 = mercury__list__HeadVar__6_6;
#line 531 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_3_env_0__cont = mercury__list__cont;
#line 531 "list.m"
    (mercury__list__env).mercury__list__map4_6_p_3_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2478 "list.m"
    {
#line 2478 "list.m"
      MR_bool mercury__list__succeeded;

#line 2478 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2478 "list.m"
        {
#line 2478 "list.m"
          *((mercury__list__env).mercury__list__map4_6_p_3_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
          *((mercury__list__env).mercury__list__map4_6_p_3_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
          *((mercury__list__env).mercury__list__map4_6_p_3_env_0__HeadVar__5_5) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
          *((mercury__list__env).mercury__list__map4_6_p_3_env_0__HeadVar__6_6) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
          {
#line 2478 "list.m"
            ((mercury__list__env).mercury__list__map4_6_p_3_env_0__cont)((mercury__list__env).mercury__list__map4_6_p_3_env_0__cont_env_ptr);
#line 2478 "list.m"
            return;
          }
#line 2478 "list.m"
        }
#line 2478 "list.m"
      else
#line 2479 "list.m"
        {
#line 2479 "list.m"
          MR_Box mercury__list__H0_9 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2480 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *);

#line 2479 "list.m"
          (mercury__list__env).mercury__list__map4_6_p_3_env_0__T0_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2480 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map4_6_p_3_env_0__P_1, (MR_Integer) 1)));
#line 2480 "list.m"
          {
#line 2480 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map4_6_p_3_env_0__P_1), mercury__list__H0_9, &(mercury__list__env).mercury__list__map4_6_p_3_env_0__H1_11, &(mercury__list__env).mercury__list__map4_6_p_3_env_0__H2_13, &(mercury__list__env).mercury__list__map4_6_p_3_env_0__H3_15, &(mercury__list__env).mercury__list__map4_6_p_3_env_0__H4_17, mercury__list__map4_6_p_3_1, &mercury__list__env);
          }
#line 2479 "list.m"
        }
#line 2478 "list.m"
    }
#line 531 "list.m"
  }
#line 531 "list.m"
}

#line 529 "list.m"
MR_bool MR_CALL 
mercury__list__map4_6_p_2(
#line 529 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_19,
#line 529 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_20,
#line 529 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_21,
#line 529 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_22,
#line 529 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_23,
#line 529 "list.m"
  MR_Word mercury__list__P_1,
#line 529 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 529 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 529 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 529 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 529 "list.m"
  MR_Word * mercury__list__HeadVar__6_6)
#line 529 "list.m"
{
#line 2478 "list.m"
  {
#line 2478 "list.m"
    MR_bool mercury__list__succeeded;

#line 2478 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2478 "list.m"
      {
#line 2478 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2478 "list.m"
      }
#line 2478 "list.m"
    else
#line 2479 "list.m"
      {
#line 2479 "list.m"
        MR_Box mercury__list__H0_9 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2479 "list.m"
        MR_Word mercury__list__T0_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2479 "list.m"
        MR_Box mercury__list__H1_11;
#line 2479 "list.m"
        MR_Word mercury__list__T1_12;
#line 2479 "list.m"
        MR_Box mercury__list__H2_13;
#line 2479 "list.m"
        MR_Word mercury__list__T2_14;
#line 2479 "list.m"
        MR_Box mercury__list__H3_15;
#line 2479 "list.m"
        MR_Word mercury__list__T3_16;
#line 2479 "list.m"
        MR_Box mercury__list__H4_17;
#line 2479 "list.m"
        MR_Word mercury__list__T4_18;
#line 2480 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2480 "list.m"
        {
#line 2480 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_9, &mercury__list__H1_11, &mercury__list__H2_13, &mercury__list__H3_15, &mercury__list__H4_17);
        }
#line 2479 "list.m"
        if (mercury__list__succeeded)
#line 2479 "list.m"
          {
#line 2481 "list.m"
            {
#line 2481 "list.m"
              mercury__list__succeeded = mercury__list__map4_6_p_2(mercury__list__TypeInfo_for_A_19, mercury__list__TypeInfo_for_B_20, mercury__list__TypeInfo_for_C_21, mercury__list__TypeInfo_for_D_22, mercury__list__TypeInfo_for_E_23, mercury__list__P_1, mercury__list__T0_10, &mercury__list__T1_12, &mercury__list__T2_14, &mercury__list__T3_16, &mercury__list__T4_18);
            }
#line 2479 "list.m"
            if (mercury__list__succeeded)
#line 2479 "list.m"
              {
#line 2479 "list.m"
                {
#line 2479 "list.m"
                  MR_Word base;
#line 2479 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2479 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_11;
#line 2479 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_12));
#line 2479 "list.m"
                }
#line 2479 "list.m"
                {
#line 2479 "list.m"
                  MR_Word base;
#line 2479 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2479 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_13;
#line 2479 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_14));
#line 2479 "list.m"
                }
#line 2479 "list.m"
                {
#line 2479 "list.m"
                  MR_Word base;
#line 2479 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
                  *mercury__list__HeadVar__5_5 = base;
#line 2479 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_15;
#line 2479 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_16));
#line 2479 "list.m"
                }
#line 2479 "list.m"
                {
#line 2479 "list.m"
                  MR_Word base;
#line 2479 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
                  *mercury__list__HeadVar__6_6 = base;
#line 2479 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_17;
#line 2479 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_18));
#line 2479 "list.m"
                }
#line 2479 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2479 "list.m"
              }
#line 2479 "list.m"
          }
#line 2479 "list.m"
      }
#line 2478 "list.m"
    return mercury__list__succeeded;
#line 2478 "list.m"
  }
#line 529 "list.m"
}

#line 527 "list.m"
void MR_CALL 
mercury__list__map4_6_p_1(
#line 527 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_19,
#line 527 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_20,
#line 527 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_21,
#line 527 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_22,
#line 527 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_23,
#line 527 "list.m"
  MR_Word mercury__list__P_1,
#line 527 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 527 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 527 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 527 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 527 "list.m"
  MR_Word * mercury__list__HeadVar__6_6)
#line 527 "list.m"
{
#line 2478 "list.m"
  {
#line 2478 "list.m"
    MR_bool mercury__list__succeeded;

#line 2478 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2478 "list.m"
      {
#line 2478 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
      }
#line 2478 "list.m"
    else
#line 2479 "list.m"
      {
#line 2479 "list.m"
        MR_Box mercury__list__H0_9 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2479 "list.m"
        MR_Word mercury__list__T0_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2479 "list.m"
        MR_Box mercury__list__H1_11;
#line 2479 "list.m"
        MR_Word mercury__list__T1_12;
#line 2479 "list.m"
        MR_Box mercury__list__H2_13;
#line 2479 "list.m"
        MR_Word mercury__list__T2_14;
#line 2479 "list.m"
        MR_Box mercury__list__H3_15;
#line 2479 "list.m"
        MR_Word mercury__list__T3_16;
#line 2479 "list.m"
        MR_Box mercury__list__H4_17;
#line 2479 "list.m"
        MR_Word mercury__list__T4_18;
#line 2480 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2480 "list.m"
        {
#line 2480 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_9, &mercury__list__H1_11, &mercury__list__H2_13, &mercury__list__H3_15, &mercury__list__H4_17);
        }
#line 2481 "list.m"
        {
#line 2481 "list.m"
          mercury__list__map4_6_p_1(mercury__list__TypeInfo_for_A_19, mercury__list__TypeInfo_for_B_20, mercury__list__TypeInfo_for_C_21, mercury__list__TypeInfo_for_D_22, mercury__list__TypeInfo_for_E_23, mercury__list__P_1, mercury__list__T0_10, &mercury__list__T1_12, &mercury__list__T2_14, &mercury__list__T3_16, &mercury__list__T4_18);
        }
#line 2479 "list.m"
        {
#line 2479 "list.m"
          MR_Word base;
#line 2479 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2479 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_11;
#line 2479 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_12));
#line 2479 "list.m"
        }
#line 2479 "list.m"
        {
#line 2479 "list.m"
          MR_Word base;
#line 2479 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2479 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_13;
#line 2479 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_14));
#line 2479 "list.m"
        }
#line 2479 "list.m"
        {
#line 2479 "list.m"
          MR_Word base;
#line 2479 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2479 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_15;
#line 2479 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_16));
#line 2479 "list.m"
        }
#line 2479 "list.m"
        {
#line 2479 "list.m"
          MR_Word base;
#line 2479 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
          *mercury__list__HeadVar__6_6 = base;
#line 2479 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_17;
#line 2479 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_18));
#line 2479 "list.m"
        }
#line 2479 "list.m"
      }
#line 2478 "list.m"
  }
#line 527 "list.m"
}

#line 525 "list.m"
void MR_CALL 
mercury__list__map4_6_p_0(
#line 525 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_19,
#line 525 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_20,
#line 525 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_21,
#line 525 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_22,
#line 525 "list.m"
  MR_Word mercury__list__TypeInfo_for_E_23,
#line 525 "list.m"
  MR_Word mercury__list__P_1,
#line 525 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 525 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 525 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 525 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 525 "list.m"
  MR_Word * mercury__list__HeadVar__6_6)
#line 525 "list.m"
{
#line 2478 "list.m"
  {
#line 2478 "list.m"
    MR_bool mercury__list__succeeded;

#line 2478 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2478 "list.m"
      {
#line 2478 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
        *mercury__list__HeadVar__6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2478 "list.m"
      }
#line 2478 "list.m"
    else
#line 2479 "list.m"
      {
#line 2479 "list.m"
        MR_Box mercury__list__H0_9 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2479 "list.m"
        MR_Word mercury__list__T0_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2479 "list.m"
        MR_Box mercury__list__H1_11;
#line 2479 "list.m"
        MR_Word mercury__list__T1_12;
#line 2479 "list.m"
        MR_Box mercury__list__H2_13;
#line 2479 "list.m"
        MR_Word mercury__list__T2_14;
#line 2479 "list.m"
        MR_Box mercury__list__H3_15;
#line 2479 "list.m"
        MR_Word mercury__list__T3_16;
#line 2479 "list.m"
        MR_Box mercury__list__H4_17;
#line 2479 "list.m"
        MR_Word mercury__list__T4_18;
#line 2480 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2480 "list.m"
        {
#line 2480 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_9, &mercury__list__H1_11, &mercury__list__H2_13, &mercury__list__H3_15, &mercury__list__H4_17);
        }
#line 2481 "list.m"
        {
#line 2481 "list.m"
          mercury__list__map4_6_p_0(mercury__list__TypeInfo_for_A_19, mercury__list__TypeInfo_for_B_20, mercury__list__TypeInfo_for_C_21, mercury__list__TypeInfo_for_D_22, mercury__list__TypeInfo_for_E_23, mercury__list__P_1, mercury__list__T0_10, &mercury__list__T1_12, &mercury__list__T2_14, &mercury__list__T3_16, &mercury__list__T4_18);
        }
#line 2479 "list.m"
        {
#line 2479 "list.m"
          MR_Word base;
#line 2479 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2479 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_11;
#line 2479 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_12));
#line 2479 "list.m"
        }
#line 2479 "list.m"
        {
#line 2479 "list.m"
          MR_Word base;
#line 2479 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2479 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_13;
#line 2479 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_14));
#line 2479 "list.m"
        }
#line 2479 "list.m"
        {
#line 2479 "list.m"
          MR_Word base;
#line 2479 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2479 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_15;
#line 2479 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_16));
#line 2479 "list.m"
        }
#line 2479 "list.m"
        {
#line 2479 "list.m"
          MR_Word base;
#line 2479 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2479 "list.m"
          *mercury__list__HeadVar__6_6 = base;
#line 2479 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H4_17;
#line 2479 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T4_18));
#line 2479 "list.m"
        }
#line 2479 "list.m"
      }
#line 2478 "list.m"
  }
#line 525 "list.m"
}

#line 518 "list.m"
MR_bool MR_CALL 
mercury__list__map3_5_p_5(
#line 518 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_16,
#line 518 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_17,
#line 518 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_18,
#line 518 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_19,
#line 518 "list.m"
  MR_Word mercury__list__P_1,
#line 518 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 518 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 518 "list.m"
  MR_Word mercury__list__HeadVar__4_4,
#line 518 "list.m"
  MR_Word mercury__list__HeadVar__5_5)
#line 518 "list.m"
{
#line 2473 "list.m"
  while (MR_TRUE)
#line 2473 "list.m"
    {
#line 2473 "list.m"
      /* tailcall optimized into a loop */
#line 2473 "list.m"
      {
#line 2473 "list.m"
        MR_bool mercury__list__succeeded;

#line 2473 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2473 "list.m"
          {
#line 2473 "list.m"
            mercury__list__succeeded = (mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2473 "list.m"
            if (mercury__list__succeeded)
#line 2473 "list.m"
              {
#line 2473 "list.m"
                mercury__list__succeeded = (mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2473 "list.m"
                if (mercury__list__succeeded)
#line 2473 "list.m"
                  mercury__list__succeeded = (mercury__list__HeadVar__5_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2473 "list.m"
              }
#line 2473 "list.m"
          }
#line 2473 "list.m"
        else
#line 2474 "list.m"
          {
#line 2474 "list.m"
            MR_Box mercury__list__H0_8 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2474 "list.m"
            MR_Word mercury__list__T0_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2474 "list.m"
            MR_Box mercury__list__H1_10;
#line 2474 "list.m"
            MR_Word mercury__list__T1_11;
#line 2474 "list.m"
            MR_Box mercury__list__H2_12;
#line 2474 "list.m"
            MR_Word mercury__list__T2_13;
#line 2474 "list.m"
            MR_Box mercury__list__H3_14;
#line 2474 "list.m"
            MR_Word mercury__list__T3_15;
#line 2475 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box);

#line 2474 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1)));
#line 2474 "list.m"
            if (mercury__list__succeeded)
#line 2474 "list.m"
              {
#line 2474 "list.m"
                mercury__list__H1_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2474 "list.m"
                mercury__list__T1_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2474 "list.m"
                mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__4_4)) == (MR_mktag((MR_Integer) 1)));
#line 2474 "list.m"
                if (mercury__list__succeeded)
#line 2474 "list.m"
                  {
#line 2474 "list.m"
                    mercury__list__H2_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2474 "list.m"
                    mercury__list__T2_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2474 "list.m"
                    mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__5_5)) == (MR_mktag((MR_Integer) 1)));
#line 2474 "list.m"
                    if (mercury__list__succeeded)
#line 2474 "list.m"
                      {
#line 2474 "list.m"
                        mercury__list__H3_14 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__5_5, (MR_Integer) 0));
#line 2474 "list.m"
                        mercury__list__T3_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__5_5, (MR_Integer) 1)));
#line 2475 "list.m"
                        mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2475 "list.m"
                        {
#line 2475 "list.m"
                          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_8, mercury__list__H1_10, mercury__list__H2_12, mercury__list__H3_14);
                        }
#line 2474 "list.m"
                        if (mercury__list__succeeded)
#line 2476 "list.m"
                          {
#line 2476 "list.m"
                            /* direct tailcall eliminated */
#line 2476 "list.m"
                            {
#line 2476 "list.m"
                              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T0_9;
#line 2476 "list.m"
                              MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__T1_11;
#line 2476 "list.m"
                              MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__T2_13;
#line 2476 "list.m"
                              MR_Word mercury__list__HeadVar__5__tmp_copy_5 = mercury__list__T3_15;

#line 2476 "list.m"
                              mercury__list__HeadVar__5_5 = mercury__list__HeadVar__5__tmp_copy_5;
#line 2476 "list.m"
                              mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2476 "list.m"
                              mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2476 "list.m"
                              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2476 "list.m"
                            }
#line 2476 "list.m"
                            continue;
#line 2476 "list.m"
                          }
#line 2474 "list.m"
                      }
#line 2474 "list.m"
                  }
#line 2474 "list.m"
              }
#line 2474 "list.m"
          }
#line 2473 "list.m"
        return mercury__list__succeeded;
#line 2473 "list.m"
      }
#line 2473 "list.m"
      break;
#line 2473 "list.m"
    }
#line 518 "list.m"
}

#line 2474 "list.m"
static void MR_CALL 
mercury__list__map3_5_p_4_2(
#line 2474 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2474 "list.m"
{
#line 2474 "list.m"
  {
#line 2474 "list.m"
    struct mercury__list__map3_5_p_4_env_0_s * mercury__list__env_ptr = (struct mercury__list__map3_5_p_4_env_0_s *) mercury__list__env_ptr_arg;

#line 2474 "list.m"
    {
#line 2474 "list.m"
      MR_Word base;
#line 2474 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2474 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__HeadVar__3_3) = base;
#line 2474 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__H1_10;
#line 2474 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__T1_11));
#line 2474 "list.m"
    }
#line 2474 "list.m"
    {
#line 2474 "list.m"
      MR_Word base;
#line 2474 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2474 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__HeadVar__4_4) = base;
#line 2474 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__H2_12;
#line 2474 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__T2_13));
#line 2474 "list.m"
    }
#line 2474 "list.m"
    {
#line 2474 "list.m"
      MR_Word base;
#line 2474 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2474 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__HeadVar__5_5) = base;
#line 2474 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__H3_14;
#line 2474 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__T3_15));
#line 2474 "list.m"
    }
#line 2474 "list.m"
    {
#line 2474 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__cont)((mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__cont_env_ptr);
#line 2474 "list.m"
      return;
    }
#line 2474 "list.m"
  }
#line 2474 "list.m"
}

#line 2474 "list.m"
static void MR_CALL 
mercury__list__map3_5_p_4_1(
#line 2474 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2474 "list.m"
{
#line 2474 "list.m"
  {
#line 2474 "list.m"
    struct mercury__list__map3_5_p_4_env_0_s * mercury__list__env_ptr = (struct mercury__list__map3_5_p_4_env_0_s *) mercury__list__env_ptr_arg;

#line 2476 "list.m"
    {
#line 2476 "list.m"
      mercury__list__map3_5_p_4((mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__TypeInfo_for_A_16, (mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__TypeInfo_for_B_17, (mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__TypeInfo_for_C_18, (mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__TypeInfo_for_D_19, (mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__T0_9, &(mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__T1_11, &(mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__T2_13, &(mercury__list__env_ptr)->mercury__list__map3_5_p_4_env_0__T3_15, mercury__list__map3_5_p_4_2, mercury__list__env_ptr);
    }
#line 2474 "list.m"
  }
#line 2474 "list.m"
}

#line 516 "list.m"
void MR_CALL 
mercury__list__map3_5_p_4(
#line 516 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_16,
#line 516 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_17,
#line 516 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_18,
#line 516 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_19,
#line 516 "list.m"
  MR_Word mercury__list__P_1,
#line 516 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 516 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 516 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 516 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 516 "list.m"
  MR_Cont mercury__list__cont,
#line 516 "list.m"
  void * mercury__list__cont_env_ptr)
#line 516 "list.m"
{
#line 516 "list.m"
  {
#line 516 "list.m"
    struct mercury__list__map3_5_p_4_env_0_s mercury__list__env;

#line 516 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_4_env_0__TypeInfo_for_A_16 = mercury__list__TypeInfo_for_A_16;
#line 516 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_4_env_0__TypeInfo_for_B_17 = mercury__list__TypeInfo_for_B_17;
#line 516 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_4_env_0__TypeInfo_for_C_18 = mercury__list__TypeInfo_for_C_18;
#line 516 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_4_env_0__TypeInfo_for_D_19 = mercury__list__TypeInfo_for_D_19;
#line 516 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_4_env_0__P_1 = mercury__list__P_1;
#line 516 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_4_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 516 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_4_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 516 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_4_env_0__HeadVar__5_5 = mercury__list__HeadVar__5_5;
#line 516 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_4_env_0__cont = mercury__list__cont;
#line 516 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_4_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2473 "list.m"
    {
#line 2473 "list.m"
      MR_bool mercury__list__succeeded;

#line 2473 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2473 "list.m"
        {
#line 2473 "list.m"
          *((mercury__list__env).mercury__list__map3_5_p_4_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2473 "list.m"
          *((mercury__list__env).mercury__list__map3_5_p_4_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2473 "list.m"
          *((mercury__list__env).mercury__list__map3_5_p_4_env_0__HeadVar__5_5) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2473 "list.m"
          {
#line 2473 "list.m"
            ((mercury__list__env).mercury__list__map3_5_p_4_env_0__cont)((mercury__list__env).mercury__list__map3_5_p_4_env_0__cont_env_ptr);
#line 2473 "list.m"
            return;
          }
#line 2473 "list.m"
        }
#line 2473 "list.m"
      else
#line 2474 "list.m"
        {
#line 2474 "list.m"
          MR_Box mercury__list__H0_8 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2475 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *);

#line 2474 "list.m"
          (mercury__list__env).mercury__list__map3_5_p_4_env_0__T0_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2475 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map3_5_p_4_env_0__P_1, (MR_Integer) 1)));
#line 2475 "list.m"
          {
#line 2475 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map3_5_p_4_env_0__P_1), mercury__list__H0_8, &(mercury__list__env).mercury__list__map3_5_p_4_env_0__H1_10, &(mercury__list__env).mercury__list__map3_5_p_4_env_0__H2_12, &(mercury__list__env).mercury__list__map3_5_p_4_env_0__H3_14, mercury__list__map3_5_p_4_1, &mercury__list__env);
          }
#line 2474 "list.m"
        }
#line 2473 "list.m"
    }
#line 516 "list.m"
  }
#line 516 "list.m"
}

#line 2474 "list.m"
static void MR_CALL 
mercury__list__map3_5_p_3_2(
#line 2474 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2474 "list.m"
{
#line 2474 "list.m"
  {
#line 2474 "list.m"
    struct mercury__list__map3_5_p_3_env_0_s * mercury__list__env_ptr = (struct mercury__list__map3_5_p_3_env_0_s *) mercury__list__env_ptr_arg;

#line 2474 "list.m"
    {
#line 2474 "list.m"
      MR_Word base;
#line 2474 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2474 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__HeadVar__3_3) = base;
#line 2474 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__H1_10;
#line 2474 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__T1_11));
#line 2474 "list.m"
    }
#line 2474 "list.m"
    {
#line 2474 "list.m"
      MR_Word base;
#line 2474 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2474 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__HeadVar__4_4) = base;
#line 2474 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__H2_12;
#line 2474 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__T2_13));
#line 2474 "list.m"
    }
#line 2474 "list.m"
    {
#line 2474 "list.m"
      MR_Word base;
#line 2474 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2474 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__HeadVar__5_5) = base;
#line 2474 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__H3_14;
#line 2474 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__T3_15));
#line 2474 "list.m"
    }
#line 2474 "list.m"
    {
#line 2474 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__cont)((mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__cont_env_ptr);
#line 2474 "list.m"
      return;
    }
#line 2474 "list.m"
  }
#line 2474 "list.m"
}

#line 2474 "list.m"
static void MR_CALL 
mercury__list__map3_5_p_3_1(
#line 2474 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2474 "list.m"
{
#line 2474 "list.m"
  {
#line 2474 "list.m"
    struct mercury__list__map3_5_p_3_env_0_s * mercury__list__env_ptr = (struct mercury__list__map3_5_p_3_env_0_s *) mercury__list__env_ptr_arg;

#line 2476 "list.m"
    {
#line 2476 "list.m"
      mercury__list__map3_5_p_3((mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__TypeInfo_for_A_16, (mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__TypeInfo_for_B_17, (mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__TypeInfo_for_C_18, (mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__TypeInfo_for_D_19, (mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__T0_9, &(mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__T1_11, &(mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__T2_13, &(mercury__list__env_ptr)->mercury__list__map3_5_p_3_env_0__T3_15, mercury__list__map3_5_p_3_2, mercury__list__env_ptr);
    }
#line 2474 "list.m"
  }
#line 2474 "list.m"
}

#line 514 "list.m"
void MR_CALL 
mercury__list__map3_5_p_3(
#line 514 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_16,
#line 514 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_17,
#line 514 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_18,
#line 514 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_19,
#line 514 "list.m"
  MR_Word mercury__list__P_1,
#line 514 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 514 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 514 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 514 "list.m"
  MR_Word * mercury__list__HeadVar__5_5,
#line 514 "list.m"
  MR_Cont mercury__list__cont,
#line 514 "list.m"
  void * mercury__list__cont_env_ptr)
#line 514 "list.m"
{
#line 514 "list.m"
  {
#line 514 "list.m"
    struct mercury__list__map3_5_p_3_env_0_s mercury__list__env;

#line 514 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_3_env_0__TypeInfo_for_A_16 = mercury__list__TypeInfo_for_A_16;
#line 514 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_3_env_0__TypeInfo_for_B_17 = mercury__list__TypeInfo_for_B_17;
#line 514 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_3_env_0__TypeInfo_for_C_18 = mercury__list__TypeInfo_for_C_18;
#line 514 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_3_env_0__TypeInfo_for_D_19 = mercury__list__TypeInfo_for_D_19;
#line 514 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_3_env_0__P_1 = mercury__list__P_1;
#line 514 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_3_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 514 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_3_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 514 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_3_env_0__HeadVar__5_5 = mercury__list__HeadVar__5_5;
#line 514 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_3_env_0__cont = mercury__list__cont;
#line 514 "list.m"
    (mercury__list__env).mercury__list__map3_5_p_3_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2473 "list.m"
    {
#line 2473 "list.m"
      MR_bool mercury__list__succeeded;

#line 2473 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2473 "list.m"
        {
#line 2473 "list.m"
          *((mercury__list__env).mercury__list__map3_5_p_3_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2473 "list.m"
          *((mercury__list__env).mercury__list__map3_5_p_3_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2473 "list.m"
          *((mercury__list__env).mercury__list__map3_5_p_3_env_0__HeadVar__5_5) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2473 "list.m"
          {
#line 2473 "list.m"
            ((mercury__list__env).mercury__list__map3_5_p_3_env_0__cont)((mercury__list__env).mercury__list__map3_5_p_3_env_0__cont_env_ptr);
#line 2473 "list.m"
            return;
          }
#line 2473 "list.m"
        }
#line 2473 "list.m"
      else
#line 2474 "list.m"
        {
#line 2474 "list.m"
          MR_Box mercury__list__H0_8 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2475 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *);

#line 2474 "list.m"
          (mercury__list__env).mercury__list__map3_5_p_3_env_0__T0_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2475 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map3_5_p_3_env_0__P_1, (MR_Integer) 1)));
#line 2475 "list.m"
          {
#line 2475 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map3_5_p_3_env_0__P_1), mercury__list__H0_8, &(mercury__list__env).mercury__list__map3_5_p_3_env_0__H1_10, &(mercury__list__env).mercury__list__map3_5_p_3_env_0__H2_12, &(mercury__list__env).mercury__list__map3_5_p_3_env_0__H3_14, mercury__list__map3_5_p_3_1, &mercury__list__env);
          }
#line 2474 "list.m"
        }
#line 2473 "list.m"
    }
#line 514 "list.m"
  }
#line 514 "list.m"
}

#line 512 "list.m"
MR_bool MR_CALL 
mercury__list__map3_5_p_2(
#line 512 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_16,
#line 512 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_17,
#line 512 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_18,
#line 512 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_19,
#line 512 "list.m"
  MR_Word mercury__list__P_1,
#line 512 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 512 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 512 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 512 "list.m"
  MR_Word * mercury__list__HeadVar__5_5)
#line 512 "list.m"
{
#line 2473 "list.m"
  {
#line 2473 "list.m"
    MR_bool mercury__list__succeeded;

#line 2473 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2473 "list.m"
      {
#line 2473 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2473 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2473 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2473 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2473 "list.m"
      }
#line 2473 "list.m"
    else
#line 2474 "list.m"
      {
#line 2474 "list.m"
        MR_Box mercury__list__H0_8 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2474 "list.m"
        MR_Word mercury__list__T0_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2474 "list.m"
        MR_Box mercury__list__H1_10;
#line 2474 "list.m"
        MR_Word mercury__list__T1_11;
#line 2474 "list.m"
        MR_Box mercury__list__H2_12;
#line 2474 "list.m"
        MR_Word mercury__list__T2_13;
#line 2474 "list.m"
        MR_Box mercury__list__H3_14;
#line 2474 "list.m"
        MR_Word mercury__list__T3_15;
#line 2475 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2475 "list.m"
        {
#line 2475 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_8, &mercury__list__H1_10, &mercury__list__H2_12, &mercury__list__H3_14);
        }
#line 2474 "list.m"
        if (mercury__list__succeeded)
#line 2474 "list.m"
          {
#line 2476 "list.m"
            {
#line 2476 "list.m"
              mercury__list__succeeded = mercury__list__map3_5_p_2(mercury__list__TypeInfo_for_A_16, mercury__list__TypeInfo_for_B_17, mercury__list__TypeInfo_for_C_18, mercury__list__TypeInfo_for_D_19, mercury__list__P_1, mercury__list__T0_9, &mercury__list__T1_11, &mercury__list__T2_13, &mercury__list__T3_15);
            }
#line 2474 "list.m"
            if (mercury__list__succeeded)
#line 2474 "list.m"
              {
#line 2474 "list.m"
                {
#line 2474 "list.m"
                  MR_Word base;
#line 2474 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2474 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2474 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_10;
#line 2474 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_11));
#line 2474 "list.m"
                }
#line 2474 "list.m"
                {
#line 2474 "list.m"
                  MR_Word base;
#line 2474 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2474 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2474 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_12;
#line 2474 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_13));
#line 2474 "list.m"
                }
#line 2474 "list.m"
                {
#line 2474 "list.m"
                  MR_Word base;
#line 2474 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2474 "list.m"
                  *mercury__list__HeadVar__5_5 = base;
#line 2474 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_14;
#line 2474 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_15));
#line 2474 "list.m"
                }
#line 2474 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2474 "list.m"
              }
#line 2474 "list.m"
          }
#line 2474 "list.m"
      }
#line 2473 "list.m"
    return mercury__list__succeeded;
#line 2473 "list.m"
  }
#line 512 "list.m"
}

#line 510 "list.m"
void MR_CALL 
mercury__list__map3_5_p_1(
#line 510 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_16,
#line 510 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_17,
#line 510 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_18,
#line 510 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_19,
#line 510 "list.m"
  MR_Word mercury__list__P_1,
#line 510 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 510 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 510 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 510 "list.m"
  MR_Word * mercury__list__HeadVar__5_5)
#line 510 "list.m"
{
#line 2473 "list.m"
  {
#line 2473 "list.m"
    MR_bool mercury__list__succeeded;

#line 2473 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2473 "list.m"
      {
#line 2473 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2473 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2473 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2473 "list.m"
      }
#line 2473 "list.m"
    else
#line 2474 "list.m"
      {
#line 2474 "list.m"
        MR_Box mercury__list__H0_8 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2474 "list.m"
        MR_Word mercury__list__T0_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2474 "list.m"
        MR_Box mercury__list__H1_10;
#line 2474 "list.m"
        MR_Word mercury__list__T1_11;
#line 2474 "list.m"
        MR_Box mercury__list__H2_12;
#line 2474 "list.m"
        MR_Word mercury__list__T2_13;
#line 2474 "list.m"
        MR_Box mercury__list__H3_14;
#line 2474 "list.m"
        MR_Word mercury__list__T3_15;
#line 2475 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2475 "list.m"
        {
#line 2475 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_8, &mercury__list__H1_10, &mercury__list__H2_12, &mercury__list__H3_14);
        }
#line 2476 "list.m"
        {
#line 2476 "list.m"
          mercury__list__map3_5_p_1(mercury__list__TypeInfo_for_A_16, mercury__list__TypeInfo_for_B_17, mercury__list__TypeInfo_for_C_18, mercury__list__TypeInfo_for_D_19, mercury__list__P_1, mercury__list__T0_9, &mercury__list__T1_11, &mercury__list__T2_13, &mercury__list__T3_15);
        }
#line 2474 "list.m"
        {
#line 2474 "list.m"
          MR_Word base;
#line 2474 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2474 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2474 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_10;
#line 2474 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_11));
#line 2474 "list.m"
        }
#line 2474 "list.m"
        {
#line 2474 "list.m"
          MR_Word base;
#line 2474 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2474 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2474 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_12;
#line 2474 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_13));
#line 2474 "list.m"
        }
#line 2474 "list.m"
        {
#line 2474 "list.m"
          MR_Word base;
#line 2474 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2474 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2474 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_14;
#line 2474 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_15));
#line 2474 "list.m"
        }
#line 2474 "list.m"
      }
#line 2473 "list.m"
  }
#line 510 "list.m"
}

#line 509 "list.m"
void MR_CALL 
mercury__list__map3_5_p_0(
#line 509 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_16,
#line 509 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_17,
#line 509 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_18,
#line 509 "list.m"
  MR_Word mercury__list__TypeInfo_for_D_19,
#line 509 "list.m"
  MR_Word mercury__list__P_1,
#line 509 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 509 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 509 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 509 "list.m"
  MR_Word * mercury__list__HeadVar__5_5)
#line 509 "list.m"
{
#line 2473 "list.m"
  {
#line 2473 "list.m"
    MR_bool mercury__list__succeeded;

#line 2473 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2473 "list.m"
      {
#line 2473 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2473 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2473 "list.m"
        *mercury__list__HeadVar__5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2473 "list.m"
      }
#line 2473 "list.m"
    else
#line 2474 "list.m"
      {
#line 2474 "list.m"
        MR_Box mercury__list__H0_8 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2474 "list.m"
        MR_Word mercury__list__T0_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2474 "list.m"
        MR_Box mercury__list__H1_10;
#line 2474 "list.m"
        MR_Word mercury__list__T1_11;
#line 2474 "list.m"
        MR_Box mercury__list__H2_12;
#line 2474 "list.m"
        MR_Word mercury__list__T2_13;
#line 2474 "list.m"
        MR_Box mercury__list__H3_14;
#line 2474 "list.m"
        MR_Word mercury__list__T3_15;
#line 2475 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2475 "list.m"
        {
#line 2475 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_8, &mercury__list__H1_10, &mercury__list__H2_12, &mercury__list__H3_14);
        }
#line 2476 "list.m"
        {
#line 2476 "list.m"
          mercury__list__map3_5_p_0(mercury__list__TypeInfo_for_A_16, mercury__list__TypeInfo_for_B_17, mercury__list__TypeInfo_for_C_18, mercury__list__TypeInfo_for_D_19, mercury__list__P_1, mercury__list__T0_9, &mercury__list__T1_11, &mercury__list__T2_13, &mercury__list__T3_15);
        }
#line 2474 "list.m"
        {
#line 2474 "list.m"
          MR_Word base;
#line 2474 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2474 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2474 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_10;
#line 2474 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_11));
#line 2474 "list.m"
        }
#line 2474 "list.m"
        {
#line 2474 "list.m"
          MR_Word base;
#line 2474 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2474 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2474 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_12;
#line 2474 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_13));
#line 2474 "list.m"
        }
#line 2474 "list.m"
        {
#line 2474 "list.m"
          MR_Word base;
#line 2474 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2474 "list.m"
          *mercury__list__HeadVar__5_5 = base;
#line 2474 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H3_14;
#line 2474 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T3_15));
#line 2474 "list.m"
        }
#line 2474 "list.m"
      }
#line 2473 "list.m"
  }
#line 509 "list.m"
}

#line 503 "list.m"
MR_bool MR_CALL 
mercury__list__map2_4_p_5(
#line 503 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_13,
#line 503 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_14,
#line 503 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_15,
#line 503 "list.m"
  MR_Word mercury__list__P_1,
#line 503 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 503 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 503 "list.m"
  MR_Word mercury__list__HeadVar__4_4)
#line 503 "list.m"
{
#line 2468 "list.m"
  while (MR_TRUE)
#line 2468 "list.m"
    {
#line 2468 "list.m"
      /* tailcall optimized into a loop */
#line 2468 "list.m"
      {
#line 2468 "list.m"
        MR_bool mercury__list__succeeded;

#line 2468 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2468 "list.m"
          {
#line 2468 "list.m"
            mercury__list__succeeded = (mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2468 "list.m"
            if (mercury__list__succeeded)
#line 2468 "list.m"
              mercury__list__succeeded = (mercury__list__HeadVar__4_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2468 "list.m"
          }
#line 2468 "list.m"
        else
#line 2469 "list.m"
          {
#line 2469 "list.m"
            MR_Box mercury__list__H0_7 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2469 "list.m"
            MR_Word mercury__list__T0_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2469 "list.m"
            MR_Box mercury__list__H1_9;
#line 2469 "list.m"
            MR_Word mercury__list__T1_10;
#line 2469 "list.m"
            MR_Box mercury__list__H2_11;
#line 2469 "list.m"
            MR_Word mercury__list__T2_12;
#line 2470 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box, MR_Box);

#line 2469 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1)));
#line 2469 "list.m"
            if (mercury__list__succeeded)
#line 2469 "list.m"
              {
#line 2469 "list.m"
                mercury__list__H1_9 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2469 "list.m"
                mercury__list__T1_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2469 "list.m"
                mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__4_4)) == (MR_mktag((MR_Integer) 1)));
#line 2469 "list.m"
                if (mercury__list__succeeded)
#line 2469 "list.m"
                  {
#line 2469 "list.m"
                    mercury__list__H2_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 2469 "list.m"
                    mercury__list__T2_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 2470 "list.m"
                    mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2470 "list.m"
                    {
#line 2470 "list.m"
                      mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_7, mercury__list__H1_9, mercury__list__H2_11);
                    }
#line 2469 "list.m"
                    if (mercury__list__succeeded)
#line 2471 "list.m"
                      {
#line 2471 "list.m"
                        /* direct tailcall eliminated */
#line 2471 "list.m"
                        {
#line 2471 "list.m"
                          MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T0_8;
#line 2471 "list.m"
                          MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__T1_10;
#line 2471 "list.m"
                          MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__T2_12;

#line 2471 "list.m"
                          mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 2471 "list.m"
                          mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2471 "list.m"
                          mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2471 "list.m"
                        }
#line 2471 "list.m"
                        continue;
#line 2471 "list.m"
                      }
#line 2469 "list.m"
                  }
#line 2469 "list.m"
              }
#line 2469 "list.m"
          }
#line 2468 "list.m"
        return mercury__list__succeeded;
#line 2468 "list.m"
      }
#line 2468 "list.m"
      break;
#line 2468 "list.m"
    }
#line 503 "list.m"
}

#line 2469 "list.m"
static void MR_CALL 
mercury__list__map2_4_p_4_2(
#line 2469 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2469 "list.m"
{
#line 2469 "list.m"
  {
#line 2469 "list.m"
    struct mercury__list__map2_4_p_4_env_0_s * mercury__list__env_ptr = (struct mercury__list__map2_4_p_4_env_0_s *) mercury__list__env_ptr_arg;

#line 2469 "list.m"
    {
#line 2469 "list.m"
      MR_Word base;
#line 2469 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2469 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map2_4_p_4_env_0__HeadVar__3_3) = base;
#line 2469 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map2_4_p_4_env_0__H1_9;
#line 2469 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map2_4_p_4_env_0__T1_10));
#line 2469 "list.m"
    }
#line 2469 "list.m"
    {
#line 2469 "list.m"
      MR_Word base;
#line 2469 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2469 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map2_4_p_4_env_0__HeadVar__4_4) = base;
#line 2469 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map2_4_p_4_env_0__H2_11;
#line 2469 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map2_4_p_4_env_0__T2_12));
#line 2469 "list.m"
    }
#line 2469 "list.m"
    {
#line 2469 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map2_4_p_4_env_0__cont)((mercury__list__env_ptr)->mercury__list__map2_4_p_4_env_0__cont_env_ptr);
#line 2469 "list.m"
      return;
    }
#line 2469 "list.m"
  }
#line 2469 "list.m"
}

#line 2469 "list.m"
static void MR_CALL 
mercury__list__map2_4_p_4_1(
#line 2469 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2469 "list.m"
{
#line 2469 "list.m"
  {
#line 2469 "list.m"
    struct mercury__list__map2_4_p_4_env_0_s * mercury__list__env_ptr = (struct mercury__list__map2_4_p_4_env_0_s *) mercury__list__env_ptr_arg;

#line 2471 "list.m"
    {
#line 2471 "list.m"
      mercury__list__map2_4_p_4((mercury__list__env_ptr)->mercury__list__map2_4_p_4_env_0__TypeInfo_for_A_13, (mercury__list__env_ptr)->mercury__list__map2_4_p_4_env_0__TypeInfo_for_B_14, (mercury__list__env_ptr)->mercury__list__map2_4_p_4_env_0__TypeInfo_for_C_15, (mercury__list__env_ptr)->mercury__list__map2_4_p_4_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map2_4_p_4_env_0__T0_8, &(mercury__list__env_ptr)->mercury__list__map2_4_p_4_env_0__T1_10, &(mercury__list__env_ptr)->mercury__list__map2_4_p_4_env_0__T2_12, mercury__list__map2_4_p_4_2, mercury__list__env_ptr);
    }
#line 2469 "list.m"
  }
#line 2469 "list.m"
}

#line 502 "list.m"
void MR_CALL 
mercury__list__map2_4_p_4(
#line 502 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_13,
#line 502 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_14,
#line 502 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_15,
#line 502 "list.m"
  MR_Word mercury__list__P_1,
#line 502 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 502 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 502 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 502 "list.m"
  MR_Cont mercury__list__cont,
#line 502 "list.m"
  void * mercury__list__cont_env_ptr)
#line 502 "list.m"
{
#line 502 "list.m"
  {
#line 502 "list.m"
    struct mercury__list__map2_4_p_4_env_0_s mercury__list__env;

#line 502 "list.m"
    (mercury__list__env).mercury__list__map2_4_p_4_env_0__TypeInfo_for_A_13 = mercury__list__TypeInfo_for_A_13;
#line 502 "list.m"
    (mercury__list__env).mercury__list__map2_4_p_4_env_0__TypeInfo_for_B_14 = mercury__list__TypeInfo_for_B_14;
#line 502 "list.m"
    (mercury__list__env).mercury__list__map2_4_p_4_env_0__TypeInfo_for_C_15 = mercury__list__TypeInfo_for_C_15;
#line 502 "list.m"
    (mercury__list__env).mercury__list__map2_4_p_4_env_0__P_1 = mercury__list__P_1;
#line 502 "list.m"
    (mercury__list__env).mercury__list__map2_4_p_4_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 502 "list.m"
    (mercury__list__env).mercury__list__map2_4_p_4_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 502 "list.m"
    (mercury__list__env).mercury__list__map2_4_p_4_env_0__cont = mercury__list__cont;
#line 502 "list.m"
    (mercury__list__env).mercury__list__map2_4_p_4_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2468 "list.m"
    {
#line 2468 "list.m"
      MR_bool mercury__list__succeeded;

#line 2468 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2468 "list.m"
        {
#line 2468 "list.m"
          *((mercury__list__env).mercury__list__map2_4_p_4_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2468 "list.m"
          *((mercury__list__env).mercury__list__map2_4_p_4_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2468 "list.m"
          {
#line 2468 "list.m"
            ((mercury__list__env).mercury__list__map2_4_p_4_env_0__cont)((mercury__list__env).mercury__list__map2_4_p_4_env_0__cont_env_ptr);
#line 2468 "list.m"
            return;
          }
#line 2468 "list.m"
        }
#line 2468 "list.m"
      else
#line 2469 "list.m"
        {
#line 2469 "list.m"
          MR_Box mercury__list__H0_7 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2470 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Cont, void *);

#line 2469 "list.m"
          (mercury__list__env).mercury__list__map2_4_p_4_env_0__T0_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2470 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map2_4_p_4_env_0__P_1, (MR_Integer) 1)));
#line 2470 "list.m"
          {
#line 2470 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map2_4_p_4_env_0__P_1), mercury__list__H0_7, &(mercury__list__env).mercury__list__map2_4_p_4_env_0__H1_9, &(mercury__list__env).mercury__list__map2_4_p_4_env_0__H2_11, mercury__list__map2_4_p_4_1, &mercury__list__env);
          }
#line 2469 "list.m"
        }
#line 2468 "list.m"
    }
#line 502 "list.m"
  }
#line 502 "list.m"
}

#line 2469 "list.m"
static void MR_CALL 
mercury__list__map2_4_p_3_2(
#line 2469 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2469 "list.m"
{
#line 2469 "list.m"
  {
#line 2469 "list.m"
    struct mercury__list__map2_4_p_3_env_0_s * mercury__list__env_ptr = (struct mercury__list__map2_4_p_3_env_0_s *) mercury__list__env_ptr_arg;

#line 2469 "list.m"
    {
#line 2469 "list.m"
      MR_Word base;
#line 2469 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2469 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map2_4_p_3_env_0__HeadVar__3_3) = base;
#line 2469 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map2_4_p_3_env_0__H1_9;
#line 2469 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map2_4_p_3_env_0__T1_10));
#line 2469 "list.m"
    }
#line 2469 "list.m"
    {
#line 2469 "list.m"
      MR_Word base;
#line 2469 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2469 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map2_4_p_3_env_0__HeadVar__4_4) = base;
#line 2469 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map2_4_p_3_env_0__H2_11;
#line 2469 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map2_4_p_3_env_0__T2_12));
#line 2469 "list.m"
    }
#line 2469 "list.m"
    {
#line 2469 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map2_4_p_3_env_0__cont)((mercury__list__env_ptr)->mercury__list__map2_4_p_3_env_0__cont_env_ptr);
#line 2469 "list.m"
      return;
    }
#line 2469 "list.m"
  }
#line 2469 "list.m"
}

#line 2469 "list.m"
static void MR_CALL 
mercury__list__map2_4_p_3_1(
#line 2469 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2469 "list.m"
{
#line 2469 "list.m"
  {
#line 2469 "list.m"
    struct mercury__list__map2_4_p_3_env_0_s * mercury__list__env_ptr = (struct mercury__list__map2_4_p_3_env_0_s *) mercury__list__env_ptr_arg;

#line 2471 "list.m"
    {
#line 2471 "list.m"
      mercury__list__map2_4_p_3((mercury__list__env_ptr)->mercury__list__map2_4_p_3_env_0__TypeInfo_for_A_13, (mercury__list__env_ptr)->mercury__list__map2_4_p_3_env_0__TypeInfo_for_B_14, (mercury__list__env_ptr)->mercury__list__map2_4_p_3_env_0__TypeInfo_for_C_15, (mercury__list__env_ptr)->mercury__list__map2_4_p_3_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map2_4_p_3_env_0__T0_8, &(mercury__list__env_ptr)->mercury__list__map2_4_p_3_env_0__T1_10, &(mercury__list__env_ptr)->mercury__list__map2_4_p_3_env_0__T2_12, mercury__list__map2_4_p_3_2, mercury__list__env_ptr);
    }
#line 2469 "list.m"
  }
#line 2469 "list.m"
}

#line 501 "list.m"
void MR_CALL 
mercury__list__map2_4_p_3(
#line 501 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_13,
#line 501 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_14,
#line 501 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_15,
#line 501 "list.m"
  MR_Word mercury__list__P_1,
#line 501 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 501 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 501 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 501 "list.m"
  MR_Cont mercury__list__cont,
#line 501 "list.m"
  void * mercury__list__cont_env_ptr)
#line 501 "list.m"
{
#line 501 "list.m"
  {
#line 501 "list.m"
    struct mercury__list__map2_4_p_3_env_0_s mercury__list__env;

#line 501 "list.m"
    (mercury__list__env).mercury__list__map2_4_p_3_env_0__TypeInfo_for_A_13 = mercury__list__TypeInfo_for_A_13;
#line 501 "list.m"
    (mercury__list__env).mercury__list__map2_4_p_3_env_0__TypeInfo_for_B_14 = mercury__list__TypeInfo_for_B_14;
#line 501 "list.m"
    (mercury__list__env).mercury__list__map2_4_p_3_env_0__TypeInfo_for_C_15 = mercury__list__TypeInfo_for_C_15;
#line 501 "list.m"
    (mercury__list__env).mercury__list__map2_4_p_3_env_0__P_1 = mercury__list__P_1;
#line 501 "list.m"
    (mercury__list__env).mercury__list__map2_4_p_3_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 501 "list.m"
    (mercury__list__env).mercury__list__map2_4_p_3_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 501 "list.m"
    (mercury__list__env).mercury__list__map2_4_p_3_env_0__cont = mercury__list__cont;
#line 501 "list.m"
    (mercury__list__env).mercury__list__map2_4_p_3_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2468 "list.m"
    {
#line 2468 "list.m"
      MR_bool mercury__list__succeeded;

#line 2468 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2468 "list.m"
        {
#line 2468 "list.m"
          *((mercury__list__env).mercury__list__map2_4_p_3_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2468 "list.m"
          *((mercury__list__env).mercury__list__map2_4_p_3_env_0__HeadVar__4_4) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2468 "list.m"
          {
#line 2468 "list.m"
            ((mercury__list__env).mercury__list__map2_4_p_3_env_0__cont)((mercury__list__env).mercury__list__map2_4_p_3_env_0__cont_env_ptr);
#line 2468 "list.m"
            return;
          }
#line 2468 "list.m"
        }
#line 2468 "list.m"
      else
#line 2469 "list.m"
        {
#line 2469 "list.m"
          MR_Box mercury__list__H0_7 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2470 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Cont, void *);

#line 2469 "list.m"
          (mercury__list__env).mercury__list__map2_4_p_3_env_0__T0_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2470 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map2_4_p_3_env_0__P_1, (MR_Integer) 1)));
#line 2470 "list.m"
          {
#line 2470 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map2_4_p_3_env_0__P_1), mercury__list__H0_7, &(mercury__list__env).mercury__list__map2_4_p_3_env_0__H1_9, &(mercury__list__env).mercury__list__map2_4_p_3_env_0__H2_11, mercury__list__map2_4_p_3_1, &mercury__list__env);
          }
#line 2469 "list.m"
        }
#line 2468 "list.m"
    }
#line 501 "list.m"
  }
#line 501 "list.m"
}

#line 500 "list.m"
MR_bool MR_CALL 
mercury__list__map2_4_p_2(
#line 500 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_13,
#line 500 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_14,
#line 500 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_15,
#line 500 "list.m"
  MR_Word mercury__list__P_1,
#line 500 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 500 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 500 "list.m"
  MR_Word * mercury__list__HeadVar__4_4)
#line 500 "list.m"
{
#line 2468 "list.m"
  {
#line 2468 "list.m"
    MR_bool mercury__list__succeeded;

#line 2468 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2468 "list.m"
      {
#line 2468 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2468 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2468 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2468 "list.m"
      }
#line 2468 "list.m"
    else
#line 2469 "list.m"
      {
#line 2469 "list.m"
        MR_Box mercury__list__H0_7 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2469 "list.m"
        MR_Word mercury__list__T0_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2469 "list.m"
        MR_Box mercury__list__H1_9;
#line 2469 "list.m"
        MR_Word mercury__list__T1_10;
#line 2469 "list.m"
        MR_Box mercury__list__H2_11;
#line 2469 "list.m"
        MR_Word mercury__list__T2_12;
#line 2470 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2470 "list.m"
        {
#line 2470 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_7, &mercury__list__H1_9, &mercury__list__H2_11);
        }
#line 2469 "list.m"
        if (mercury__list__succeeded)
#line 2469 "list.m"
          {
#line 2471 "list.m"
            {
#line 2471 "list.m"
              mercury__list__succeeded = mercury__list__map2_4_p_2(mercury__list__TypeInfo_for_A_13, mercury__list__TypeInfo_for_B_14, mercury__list__TypeInfo_for_C_15, mercury__list__P_1, mercury__list__T0_8, &mercury__list__T1_10, &mercury__list__T2_12);
            }
#line 2469 "list.m"
            if (mercury__list__succeeded)
#line 2469 "list.m"
              {
#line 2469 "list.m"
                {
#line 2469 "list.m"
                  MR_Word base;
#line 2469 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2469 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2469 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_9;
#line 2469 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_10));
#line 2469 "list.m"
                }
#line 2469 "list.m"
                {
#line 2469 "list.m"
                  MR_Word base;
#line 2469 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2469 "list.m"
                  *mercury__list__HeadVar__4_4 = base;
#line 2469 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_11;
#line 2469 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_12));
#line 2469 "list.m"
                }
#line 2469 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2469 "list.m"
              }
#line 2469 "list.m"
          }
#line 2469 "list.m"
      }
#line 2468 "list.m"
    return mercury__list__succeeded;
#line 2468 "list.m"
  }
#line 500 "list.m"
}

#line 499 "list.m"
void MR_CALL 
mercury__list__map2_4_p_1(
#line 499 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_13,
#line 499 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_14,
#line 499 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_15,
#line 499 "list.m"
  MR_Word mercury__list__P_1,
#line 499 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 499 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 499 "list.m"
  MR_Word * mercury__list__HeadVar__4_4)
#line 499 "list.m"
{
#line 2468 "list.m"
  {
#line 2468 "list.m"
    MR_bool mercury__list__succeeded;

#line 2468 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2468 "list.m"
      {
#line 2468 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2468 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2468 "list.m"
      }
#line 2468 "list.m"
    else
#line 2469 "list.m"
      {
#line 2469 "list.m"
        MR_Box mercury__list__H0_7 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2469 "list.m"
        MR_Word mercury__list__T0_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2469 "list.m"
        MR_Box mercury__list__H1_9;
#line 2469 "list.m"
        MR_Word mercury__list__T1_10;
#line 2469 "list.m"
        MR_Box mercury__list__H2_11;
#line 2469 "list.m"
        MR_Word mercury__list__T2_12;
#line 2470 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2470 "list.m"
        {
#line 2470 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_7, &mercury__list__H1_9, &mercury__list__H2_11);
        }
#line 2471 "list.m"
        {
#line 2471 "list.m"
          mercury__list__map2_4_p_1(mercury__list__TypeInfo_for_A_13, mercury__list__TypeInfo_for_B_14, mercury__list__TypeInfo_for_C_15, mercury__list__P_1, mercury__list__T0_8, &mercury__list__T1_10, &mercury__list__T2_12);
        }
#line 2469 "list.m"
        {
#line 2469 "list.m"
          MR_Word base;
#line 2469 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2469 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2469 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_9;
#line 2469 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_10));
#line 2469 "list.m"
        }
#line 2469 "list.m"
        {
#line 2469 "list.m"
          MR_Word base;
#line 2469 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2469 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2469 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_11;
#line 2469 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_12));
#line 2469 "list.m"
        }
#line 2469 "list.m"
      }
#line 2468 "list.m"
  }
#line 499 "list.m"
}

#line 498 "list.m"
void MR_CALL 
mercury__list__map2_4_p_0(
#line 498 "list.m"
  MR_Word mercury__list__TypeInfo_for_A_13,
#line 498 "list.m"
  MR_Word mercury__list__TypeInfo_for_B_14,
#line 498 "list.m"
  MR_Word mercury__list__TypeInfo_for_C_15,
#line 498 "list.m"
  MR_Word mercury__list__P_1,
#line 498 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 498 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 498 "list.m"
  MR_Word * mercury__list__HeadVar__4_4)
#line 498 "list.m"
{
#line 2468 "list.m"
  {
#line 2468 "list.m"
    MR_bool mercury__list__succeeded;

#line 2468 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2468 "list.m"
      {
#line 2468 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2468 "list.m"
        *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2468 "list.m"
      }
#line 2468 "list.m"
    else
#line 2469 "list.m"
      {
#line 2469 "list.m"
        MR_Box mercury__list__H0_7 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2469 "list.m"
        MR_Word mercury__list__T0_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2469 "list.m"
        MR_Box mercury__list__H1_9;
#line 2469 "list.m"
        MR_Word mercury__list__T1_10;
#line 2469 "list.m"
        MR_Box mercury__list__H2_11;
#line 2469 "list.m"
        MR_Word mercury__list__T2_12;
#line 2470 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2470 "list.m"
        {
#line 2470 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_7, &mercury__list__H1_9, &mercury__list__H2_11);
        }
#line 2471 "list.m"
        {
#line 2471 "list.m"
          mercury__list__map2_4_p_0(mercury__list__TypeInfo_for_A_13, mercury__list__TypeInfo_for_B_14, mercury__list__TypeInfo_for_C_15, mercury__list__P_1, mercury__list__T0_8, &mercury__list__T1_10, &mercury__list__T2_12);
        }
#line 2469 "list.m"
        {
#line 2469 "list.m"
          MR_Word base;
#line 2469 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2469 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2469 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H1_9;
#line 2469 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T1_10));
#line 2469 "list.m"
        }
#line 2469 "list.m"
        {
#line 2469 "list.m"
          MR_Word base;
#line 2469 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2469 "list.m"
          *mercury__list__HeadVar__4_4 = base;
#line 2469 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H2_11;
#line 2469 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T2_12));
#line 2469 "list.m"
        }
#line 2469 "list.m"
      }
#line 2468 "list.m"
  }
#line 498 "list.m"
}

#line 492 "list.m"
MR_Word MR_CALL 
mercury__list__map_2_f_0(
#line 492 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_10,
#line 492 "list.m"
  MR_Word mercury__list__TypeInfo_for_Y_11,
#line 492 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 492 "list.m"
  MR_Word mercury__list__HeadVar__2_2)
#line 492 "list.m"
{
#line 2460 "list.m"
  {
#line 2460 "list.m"
    MR_bool mercury__list__succeeded;
#line 2460 "list.m"
    MR_Word mercury__list__HeadVar__3_3;

#line 2460 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2460 "list.m"
      mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2460 "list.m"
    else
#line 2461 "list.m"
      {
#line 2461 "list.m"
        MR_Box mercury__list__H_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2461 "list.m"
        MR_Word mercury__list__T_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2461 "list.m"
        MR_Box mercury__list__V_8_8;
#line 2461 "list.m"
        MR_Word mercury__list__V_9_9;
#line 2461 "list.m"
        MR_Box MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box) = ((MR_Box MR_CALL (*)(MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__HeadVar__1_1, (MR_Integer) 1)));

#line 2461 "list.m"
        {
#line 2461 "list.m"
          mercury__list__V_8_8 = mercury__list__func_0(((MR_Box) mercury__list__HeadVar__1_1), mercury__list__H_6);
        }
#line 2461 "list.m"
        {
#line 2461 "list.m"
          mercury__list__V_9_9 = mercury__list__map_2_f_0(mercury__list__TypeInfo_for_X_10, mercury__list__TypeInfo_for_Y_11, mercury__list__HeadVar__1_1, mercury__list__T_7);
        }
#line 2461 "list.m"
        {
#line 2461 "list.m"
          mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2461 "list.m"
          MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, 0) = mercury__list__V_8_8;
#line 2461 "list.m"
          MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, 1) = ((MR_Box) (mercury__list__V_9_9));
#line 2461 "list.m"
        }
#line 2461 "list.m"
      }
#line 2460 "list.m"
    return mercury__list__HeadVar__3_3;
#line 2460 "list.m"
  }
#line 492 "list.m"
}

#line 490 "list.m"
MR_bool MR_CALL 
mercury__list__map_3_p_5(
#line 490 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_10,
#line 490 "list.m"
  MR_Word mercury__list__TypeInfo_for_Y_11,
#line 490 "list.m"
  MR_Word mercury__list__P_1,
#line 490 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 490 "list.m"
  MR_Word mercury__list__HeadVar__3_3)
#line 490 "list.m"
{
#line 2463 "list.m"
  while (MR_TRUE)
#line 2463 "list.m"
    {
#line 2463 "list.m"
      /* tailcall optimized into a loop */
#line 2463 "list.m"
      {
#line 2463 "list.m"
        MR_bool mercury__list__succeeded;

#line 2463 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2463 "list.m"
          mercury__list__succeeded = (mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2463 "list.m"
        else
#line 2464 "list.m"
          {
#line 2464 "list.m"
            MR_Box mercury__list__H0_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2464 "list.m"
            MR_Word mercury__list__T0_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2464 "list.m"
            MR_Box mercury__list__H_8;
#line 2464 "list.m"
            MR_Word mercury__list__T_9;
#line 2465 "list.m"
            MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box);

#line 2464 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1)));
#line 2464 "list.m"
            if (mercury__list__succeeded)
#line 2464 "list.m"
              {
#line 2464 "list.m"
                mercury__list__H_8 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 2464 "list.m"
                mercury__list__T_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 2465 "list.m"
                mercury__list__func_0 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));
#line 2465 "list.m"
                {
#line 2465 "list.m"
                  mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_6, mercury__list__H_8);
                }
#line 2464 "list.m"
                if (mercury__list__succeeded)
#line 2466 "list.m"
                  {
#line 2466 "list.m"
                    /* direct tailcall eliminated */
#line 2466 "list.m"
                    {
#line 2466 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__T0_7;
#line 2466 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__T_9;

#line 2466 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2466 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2466 "list.m"
                    }
#line 2466 "list.m"
                    continue;
#line 2466 "list.m"
                  }
#line 2464 "list.m"
              }
#line 2464 "list.m"
          }
#line 2463 "list.m"
        return mercury__list__succeeded;
#line 2463 "list.m"
      }
#line 2463 "list.m"
      break;
#line 2463 "list.m"
    }
#line 490 "list.m"
}

#line 2464 "list.m"
static void MR_CALL 
mercury__list__map_3_p_4_2(
#line 2464 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2464 "list.m"
{
#line 2464 "list.m"
  {
#line 2464 "list.m"
    struct mercury__list__map_3_p_4_env_0_s * mercury__list__env_ptr = (struct mercury__list__map_3_p_4_env_0_s *) mercury__list__env_ptr_arg;

#line 2464 "list.m"
    {
#line 2464 "list.m"
      MR_Word base;
#line 2464 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2464 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map_3_p_4_env_0__HeadVar__3_3) = base;
#line 2464 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map_3_p_4_env_0__H_8;
#line 2464 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map_3_p_4_env_0__T_9));
#line 2464 "list.m"
    }
#line 2464 "list.m"
    {
#line 2464 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map_3_p_4_env_0__cont)((mercury__list__env_ptr)->mercury__list__map_3_p_4_env_0__cont_env_ptr);
#line 2464 "list.m"
      return;
    }
#line 2464 "list.m"
  }
#line 2464 "list.m"
}

#line 2464 "list.m"
static void MR_CALL 
mercury__list__map_3_p_4_1(
#line 2464 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2464 "list.m"
{
#line 2464 "list.m"
  {
#line 2464 "list.m"
    struct mercury__list__map_3_p_4_env_0_s * mercury__list__env_ptr = (struct mercury__list__map_3_p_4_env_0_s *) mercury__list__env_ptr_arg;

#line 2466 "list.m"
    {
#line 2466 "list.m"
      mercury__list__map_3_p_4((mercury__list__env_ptr)->mercury__list__map_3_p_4_env_0__TypeInfo_for_X_10, (mercury__list__env_ptr)->mercury__list__map_3_p_4_env_0__TypeInfo_for_Y_11, (mercury__list__env_ptr)->mercury__list__map_3_p_4_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map_3_p_4_env_0__T0_7, &(mercury__list__env_ptr)->mercury__list__map_3_p_4_env_0__T_9, mercury__list__map_3_p_4_2, mercury__list__env_ptr);
    }
#line 2464 "list.m"
  }
#line 2464 "list.m"
}

#line 489 "list.m"
void MR_CALL 
mercury__list__map_3_p_4(
#line 489 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_10,
#line 489 "list.m"
  MR_Word mercury__list__TypeInfo_for_Y_11,
#line 489 "list.m"
  MR_Word mercury__list__P_1,
#line 489 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 489 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 489 "list.m"
  MR_Cont mercury__list__cont,
#line 489 "list.m"
  void * mercury__list__cont_env_ptr)
#line 489 "list.m"
{
#line 489 "list.m"
  {
#line 489 "list.m"
    struct mercury__list__map_3_p_4_env_0_s mercury__list__env;

#line 489 "list.m"
    (mercury__list__env).mercury__list__map_3_p_4_env_0__TypeInfo_for_X_10 = mercury__list__TypeInfo_for_X_10;
#line 489 "list.m"
    (mercury__list__env).mercury__list__map_3_p_4_env_0__TypeInfo_for_Y_11 = mercury__list__TypeInfo_for_Y_11;
#line 489 "list.m"
    (mercury__list__env).mercury__list__map_3_p_4_env_0__P_1 = mercury__list__P_1;
#line 489 "list.m"
    (mercury__list__env).mercury__list__map_3_p_4_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 489 "list.m"
    (mercury__list__env).mercury__list__map_3_p_4_env_0__cont = mercury__list__cont;
#line 489 "list.m"
    (mercury__list__env).mercury__list__map_3_p_4_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2463 "list.m"
    {
#line 2463 "list.m"
      MR_bool mercury__list__succeeded;

#line 2463 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2463 "list.m"
        {
#line 2463 "list.m"
          *((mercury__list__env).mercury__list__map_3_p_4_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2463 "list.m"
          {
#line 2463 "list.m"
            ((mercury__list__env).mercury__list__map_3_p_4_env_0__cont)((mercury__list__env).mercury__list__map_3_p_4_env_0__cont_env_ptr);
#line 2463 "list.m"
            return;
          }
#line 2463 "list.m"
        }
#line 2463 "list.m"
      else
#line 2464 "list.m"
        {
#line 2464 "list.m"
          MR_Box mercury__list__H0_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2465 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Cont, void *);

#line 2464 "list.m"
          (mercury__list__env).mercury__list__map_3_p_4_env_0__T0_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2465 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map_3_p_4_env_0__P_1, (MR_Integer) 1)));
#line 2465 "list.m"
          {
#line 2465 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map_3_p_4_env_0__P_1), mercury__list__H0_6, &(mercury__list__env).mercury__list__map_3_p_4_env_0__H_8, mercury__list__map_3_p_4_1, &mercury__list__env);
          }
#line 2464 "list.m"
        }
#line 2463 "list.m"
    }
#line 489 "list.m"
  }
#line 489 "list.m"
}

#line 2464 "list.m"
static void MR_CALL 
mercury__list__map_3_p_3_2(
#line 2464 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2464 "list.m"
{
#line 2464 "list.m"
  {
#line 2464 "list.m"
    struct mercury__list__map_3_p_3_env_0_s * mercury__list__env_ptr = (struct mercury__list__map_3_p_3_env_0_s *) mercury__list__env_ptr_arg;

#line 2464 "list.m"
    {
#line 2464 "list.m"
      MR_Word base;
#line 2464 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2464 "list.m"
      *((mercury__list__env_ptr)->mercury__list__map_3_p_3_env_0__HeadVar__3_3) = base;
#line 2464 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__map_3_p_3_env_0__H_8;
#line 2464 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__map_3_p_3_env_0__T_9));
#line 2464 "list.m"
    }
#line 2464 "list.m"
    {
#line 2464 "list.m"
      ((mercury__list__env_ptr)->mercury__list__map_3_p_3_env_0__cont)((mercury__list__env_ptr)->mercury__list__map_3_p_3_env_0__cont_env_ptr);
#line 2464 "list.m"
      return;
    }
#line 2464 "list.m"
  }
#line 2464 "list.m"
}

#line 2464 "list.m"
static void MR_CALL 
mercury__list__map_3_p_3_1(
#line 2464 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2464 "list.m"
{
#line 2464 "list.m"
  {
#line 2464 "list.m"
    struct mercury__list__map_3_p_3_env_0_s * mercury__list__env_ptr = (struct mercury__list__map_3_p_3_env_0_s *) mercury__list__env_ptr_arg;

#line 2466 "list.m"
    {
#line 2466 "list.m"
      mercury__list__map_3_p_3((mercury__list__env_ptr)->mercury__list__map_3_p_3_env_0__TypeInfo_for_X_10, (mercury__list__env_ptr)->mercury__list__map_3_p_3_env_0__TypeInfo_for_Y_11, (mercury__list__env_ptr)->mercury__list__map_3_p_3_env_0__P_1, (mercury__list__env_ptr)->mercury__list__map_3_p_3_env_0__T0_7, &(mercury__list__env_ptr)->mercury__list__map_3_p_3_env_0__T_9, mercury__list__map_3_p_3_2, mercury__list__env_ptr);
    }
#line 2464 "list.m"
  }
#line 2464 "list.m"
}

#line 488 "list.m"
void MR_CALL 
mercury__list__map_3_p_3(
#line 488 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_10,
#line 488 "list.m"
  MR_Word mercury__list__TypeInfo_for_Y_11,
#line 488 "list.m"
  MR_Word mercury__list__P_1,
#line 488 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 488 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 488 "list.m"
  MR_Cont mercury__list__cont,
#line 488 "list.m"
  void * mercury__list__cont_env_ptr)
#line 488 "list.m"
{
#line 488 "list.m"
  {
#line 488 "list.m"
    struct mercury__list__map_3_p_3_env_0_s mercury__list__env;

#line 488 "list.m"
    (mercury__list__env).mercury__list__map_3_p_3_env_0__TypeInfo_for_X_10 = mercury__list__TypeInfo_for_X_10;
#line 488 "list.m"
    (mercury__list__env).mercury__list__map_3_p_3_env_0__TypeInfo_for_Y_11 = mercury__list__TypeInfo_for_Y_11;
#line 488 "list.m"
    (mercury__list__env).mercury__list__map_3_p_3_env_0__P_1 = mercury__list__P_1;
#line 488 "list.m"
    (mercury__list__env).mercury__list__map_3_p_3_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 488 "list.m"
    (mercury__list__env).mercury__list__map_3_p_3_env_0__cont = mercury__list__cont;
#line 488 "list.m"
    (mercury__list__env).mercury__list__map_3_p_3_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2463 "list.m"
    {
#line 2463 "list.m"
      MR_bool mercury__list__succeeded;

#line 2463 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2463 "list.m"
        {
#line 2463 "list.m"
          *((mercury__list__env).mercury__list__map_3_p_3_env_0__HeadVar__3_3) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2463 "list.m"
          {
#line 2463 "list.m"
            ((mercury__list__env).mercury__list__map_3_p_3_env_0__cont)((mercury__list__env).mercury__list__map_3_p_3_env_0__cont_env_ptr);
#line 2463 "list.m"
            return;
          }
#line 2463 "list.m"
        }
#line 2463 "list.m"
      else
#line 2464 "list.m"
        {
#line 2464 "list.m"
          MR_Box mercury__list__H0_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2465 "list.m"
          void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *, MR_Cont, void *);

#line 2464 "list.m"
          (mercury__list__env).mercury__list__map_3_p_3_env_0__T0_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2465 "list.m"
          mercury__list__func_0 = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), (mercury__list__env).mercury__list__map_3_p_3_env_0__P_1, (MR_Integer) 1)));
#line 2465 "list.m"
          {
#line 2465 "list.m"
            mercury__list__func_0(((MR_Box) (mercury__list__env).mercury__list__map_3_p_3_env_0__P_1), mercury__list__H0_6, &(mercury__list__env).mercury__list__map_3_p_3_env_0__H_8, mercury__list__map_3_p_3_1, &mercury__list__env);
          }
#line 2464 "list.m"
        }
#line 2463 "list.m"
    }
#line 488 "list.m"
  }
#line 488 "list.m"
}

#line 487 "list.m"
MR_bool MR_CALL 
mercury__list__map_3_p_2(
#line 487 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_10,
#line 487 "list.m"
  MR_Word mercury__list__TypeInfo_for_Y_11,
#line 487 "list.m"
  MR_Word mercury__list__P_1,
#line 487 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 487 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 487 "list.m"
{
#line 2463 "list.m"
  {
#line 2463 "list.m"
    MR_bool mercury__list__succeeded;

#line 2463 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2463 "list.m"
      {
#line 2463 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2463 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2463 "list.m"
      }
#line 2463 "list.m"
    else
#line 2464 "list.m"
      {
#line 2464 "list.m"
        MR_Box mercury__list__H0_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2464 "list.m"
        MR_Word mercury__list__T0_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2464 "list.m"
        MR_Box mercury__list__H_8;
#line 2464 "list.m"
        MR_Word mercury__list__T_9;
#line 2465 "list.m"
        MR_bool MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2465 "list.m"
        {
#line 2465 "list.m"
          mercury__list__succeeded = mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_6, &mercury__list__H_8);
        }
#line 2464 "list.m"
        if (mercury__list__succeeded)
#line 2464 "list.m"
          {
#line 2466 "list.m"
            {
#line 2466 "list.m"
              mercury__list__succeeded = mercury__list__map_3_p_2(mercury__list__TypeInfo_for_X_10, mercury__list__TypeInfo_for_Y_11, mercury__list__P_1, mercury__list__T0_7, &mercury__list__T_9);
            }
#line 2464 "list.m"
            if (mercury__list__succeeded)
#line 2464 "list.m"
              {
#line 2464 "list.m"
                {
#line 2464 "list.m"
                  MR_Word base;
#line 2464 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2464 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2464 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_8;
#line 2464 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_9));
#line 2464 "list.m"
                }
#line 2464 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2464 "list.m"
              }
#line 2464 "list.m"
          }
#line 2464 "list.m"
      }
#line 2463 "list.m"
    return mercury__list__succeeded;
#line 2463 "list.m"
  }
#line 487 "list.m"
}

#line 486 "list.m"
void MR_CALL 
mercury__list__map_3_p_1(
#line 486 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_10,
#line 486 "list.m"
  MR_Word mercury__list__TypeInfo_for_Y_11,
#line 486 "list.m"
  MR_Word mercury__list__P_1,
#line 486 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 486 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 486 "list.m"
{
#line 2463 "list.m"
  {
#line 2463 "list.m"
    MR_bool mercury__list__succeeded;

#line 2463 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2463 "list.m"
      *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2463 "list.m"
    else
#line 2464 "list.m"
      {
#line 2464 "list.m"
        MR_Box mercury__list__H0_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2464 "list.m"
        MR_Word mercury__list__T0_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2464 "list.m"
        MR_Box mercury__list__H_8;
#line 2464 "list.m"
        MR_Word mercury__list__T_9;
#line 2465 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2465 "list.m"
        {
#line 2465 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_6, &mercury__list__H_8);
        }
#line 2466 "list.m"
        {
#line 2466 "list.m"
          mercury__list__map_3_p_1(mercury__list__TypeInfo_for_X_10, mercury__list__TypeInfo_for_Y_11, mercury__list__P_1, mercury__list__T0_7, &mercury__list__T_9);
        }
#line 2464 "list.m"
        {
#line 2464 "list.m"
          MR_Word base;
#line 2464 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2464 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2464 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_8;
#line 2464 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_9));
#line 2464 "list.m"
        }
#line 2464 "list.m"
      }
#line 2463 "list.m"
  }
#line 486 "list.m"
}

#line 485 "list.m"
void MR_CALL 
mercury__list__map_3_p_0(
#line 485 "list.m"
  MR_Word mercury__list__TypeInfo_for_X_10,
#line 485 "list.m"
  MR_Word mercury__list__TypeInfo_for_Y_11,
#line 485 "list.m"
  MR_Word mercury__list__P_1,
#line 485 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 485 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 485 "list.m"
{
#line 2463 "list.m"
  {
#line 2463 "list.m"
    MR_bool mercury__list__succeeded;

#line 2463 "list.m"
    if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2463 "list.m"
      *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2463 "list.m"
    else
#line 2464 "list.m"
      {
#line 2464 "list.m"
        MR_Box mercury__list__H0_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2464 "list.m"
        MR_Word mercury__list__T0_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2464 "list.m"
        MR_Box mercury__list__H_8;
#line 2464 "list.m"
        MR_Word mercury__list__T_9;
#line 2465 "list.m"
        void MR_CALL (* mercury__list__func_0)(MR_Box, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__list__P_1, (MR_Integer) 1)));

#line 2465 "list.m"
        {
#line 2465 "list.m"
          mercury__list__func_0(((MR_Box) mercury__list__P_1), mercury__list__H0_6, &mercury__list__H_8);
        }
#line 2466 "list.m"
        {
#line 2466 "list.m"
          mercury__list__map_3_p_0(mercury__list__TypeInfo_for_X_10, mercury__list__TypeInfo_for_Y_11, mercury__list__P_1, mercury__list__T0_7, &mercury__list__T_9);
        }
#line 2464 "list.m"
        {
#line 2464 "list.m"
          MR_Word base;
#line 2464 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2464 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2464 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_8;
#line 2464 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_9));
#line 2464 "list.m"
        }
#line 2464 "list.m"
      }
#line 2463 "list.m"
  }
#line 485 "list.m"
}

#line 471 "list.m"
void MR_CALL 
mercury__list__det_split_last_3_p_0(
#line 471 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_16,
#line 471 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 471 "list.m"
  MR_Word * mercury__list__AllButLast_2,
#line 471 "list.m"
  MR_Box * mercury__list__Last_3)
#line 471 "list.m"
{
#line 2432 "list.m"
  {
#line 2432 "list.m"
    MR_bool mercury__list__succeeded;

#line 2432 "list.m"
    if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2432 "list.m"
      {
#line 2433 "list.m"
        {
#line 2433 "list.m"
          mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.det_split_last\'/3", (MR_String) "empty list");
#line 2433 "list.m"
          return;
        }
#line 2432 "list.m"
      }
#line 2432 "list.m"
    else
#line 2434 "list.m"
      {
#line 2434 "list.m"
        MR_Box mercury__list__H_9 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 2434 "list.m"
        MR_Word mercury__list__T_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));

#line 2439 "list.m"
        if ((mercury__list__T_10 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2436 "list.m"
          {
#line 2437 "list.m"
            *mercury__list__AllButLast_2 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2438 "list.m"
            *mercury__list__Last_3 = mercury__list__H_9;
#line 2436 "list.m"
          }
#line 2439 "list.m"
        else
#line 2440 "list.m"
          {
#line 2440 "list.m"
            MR_Box mercury__list__TH_13 = (MR_hl_field(MR_mktag(1), mercury__list__T_10, (MR_Integer) 0));
#line 2440 "list.m"
            MR_Word mercury__list__TT_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__T_10, (MR_Integer) 1)));
#line 2440 "list.m"
            MR_Word mercury__list__AllButLastTail_15;

#line 2441 "list.m"
            {
#line 2441 "list.m"
              mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_101_116_95_115_112_108_105_116_95_108_97_115_116_95_50_95_95_91_49_93_95_48_4_p_0(mercury__list__TH_13, mercury__list__TT_14, &mercury__list__AllButLastTail_15, mercury__list__Last_3);
            }
#line 2442 "list.m"
            {
#line 2442 "list.m"
              MR_Word base;
#line 2442 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2442 "list.m"
              *mercury__list__AllButLast_2 = base;
#line 2442 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_9;
#line 2442 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__AllButLastTail_15));
#line 2442 "list.m"
            }
#line 2440 "list.m"
          }
#line 2434 "list.m"
      }
#line 2432 "list.m"
  }
#line 471 "list.m"
}

#line 466 "list.m"
MR_bool MR_CALL 
mercury__list__split_last_3_p_0(
#line 466 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_11,
#line 466 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 466 "list.m"
  MR_Word * mercury__list__AllButLast_6,
#line 466 "list.m"
  MR_Box * mercury__list__Last_7)
#line 466 "list.m"
{
#line 2421 "list.m"
  {
#line 2421 "list.m"
    MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1)));
#line 2421 "list.m"
    MR_Box mercury__list__H_4;
#line 2421 "list.m"
    MR_Word mercury__list__T_5;

#line 2421 "list.m"
    if (mercury__list__succeeded)
#line 2421 "list.m"
      {
#line 2421 "list.m"
        mercury__list__H_4 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 2421 "list.m"
        mercury__list__T_5 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 2426 "list.m"
        if ((mercury__list__T_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2423 "list.m"
          {
#line 2424 "list.m"
            *mercury__list__AllButLast_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2425 "list.m"
            *mercury__list__Last_7 = mercury__list__H_4;
#line 2423 "list.m"
          }
#line 2426 "list.m"
        else
#line 2427 "list.m"
          {
#line 2427 "list.m"
            MR_Box mercury__list__TH_8 = (MR_hl_field(MR_mktag(1), mercury__list__T_5, (MR_Integer) 0));
#line 2427 "list.m"
            MR_Word mercury__list__TT_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__T_5, (MR_Integer) 1)));
#line 2427 "list.m"
            MR_Word mercury__list__AllButLastTail_10;

#line 2428 "list.m"
            {
#line 2428 "list.m"
              mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_101_116_95_115_112_108_105_116_95_108_97_115_116_95_50_95_95_91_49_93_95_48_4_p_0(mercury__list__TH_8, mercury__list__TT_9, &mercury__list__AllButLastTail_10, mercury__list__Last_7);
            }
#line 2429 "list.m"
            {
#line 2429 "list.m"
              MR_Word base;
#line 2429 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2429 "list.m"
              *mercury__list__AllButLast_6 = base;
#line 2429 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_4;
#line 2429 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__AllButLastTail_10));
#line 2429 "list.m"
            }
#line 2427 "list.m"
          }
#line 2426 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2421 "list.m"
      }
#line 2421 "list.m"
    return mercury__list__succeeded;
#line 2421 "list.m"
  }
#line 466 "list.m"
}

#line 461 "list.m"
MR_Box MR_CALL 
mercury__list__det_last_1_f_0(
#line 461 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_5,
#line 461 "list.m"
  MR_Word mercury__list__List_3)
#line 461 "list.m"
{
#line 2405 "list.m"
  {
#line 2405 "list.m"
    MR_bool mercury__list__succeeded;
#line 2405 "list.m"
    MR_Box mercury__list__Last_4;

#line 2405 "list.m"
    if ((mercury__list__List_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2405 "list.m"
      {
#line 2406 "list.m"
        {
#line 2406 "list.m"
          mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.det_last\'/2", (MR_String) "empty list");
        }
#line 2405 "list.m"
      }
#line 2405 "list.m"
    else
#line 2407 "list.m"
      {
#line 2407 "list.m"
        MR_Box mercury__list__H_10 = (MR_hl_field(MR_mktag(1), mercury__list__List_3, (MR_Integer) 0));
#line 2407 "list.m"
        MR_Word mercury__list__T_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__List_3, (MR_Integer) 1)));

#line 2408 "list.m"
        {
#line 2408 "list.m"
          mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_101_116_95_108_97_115_116_95_50_95_95_91_49_93_95_48_3_p_0(mercury__list__H_10, mercury__list__T_11, &mercury__list__Last_4);
        }
#line 2407 "list.m"
      }
#line 2405 "list.m"
    return mercury__list__Last_4;
#line 2405 "list.m"
  }
#line 461 "list.m"
}

#line 460 "list.m"
void MR_CALL 
mercury__list__det_last_2_p_0(
#line 460 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_10,
#line 460 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 460 "list.m"
  MR_Box * mercury__list__Last_2)
#line 460 "list.m"
{
#line 2405 "list.m"
  {
#line 2405 "list.m"
    MR_bool mercury__list__succeeded;

#line 2405 "list.m"
    if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2405 "list.m"
      {
#line 2406 "list.m"
        {
#line 2406 "list.m"
          mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.det_last\'/2", (MR_String) "empty list");
#line 2406 "list.m"
          return;
        }
#line 2405 "list.m"
      }
#line 2405 "list.m"
    else
#line 2407 "list.m"
      {
#line 2407 "list.m"
        MR_Box mercury__list__H_7 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 2407 "list.m"
        MR_Word mercury__list__T_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));

#line 2408 "list.m"
        {
#line 2408 "list.m"
          mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_100_101_116_95_108_97_115_116_95_50_95_95_91_49_93_95_48_3_p_0(mercury__list__H_7, mercury__list__T_8, mercury__list__Last_2);
#line 2408 "list.m"
          return;
        }
#line 2407 "list.m"
      }
#line 2405 "list.m"
  }
#line 460 "list.m"
}

#line 455 "list.m"
MR_bool MR_CALL 
mercury__list__last_2_p_0(
#line 455 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_8,
#line 455 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 455 "list.m"
  MR_Box * mercury__list__Last_5)
#line 455 "list.m"
{
#line 2393 "list.m"
  while (MR_TRUE)
#line 2393 "list.m"
    {
#line 2393 "list.m"
      /* tailcall optimized into a loop */
#line 2393 "list.m"
      {
#line 2393 "list.m"
        MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1)));
#line 2393 "list.m"
        MR_Box mercury__list__H_3;
#line 2393 "list.m"
        MR_Word mercury__list__T_4;

#line 2393 "list.m"
        if (mercury__list__succeeded)
#line 2393 "list.m"
          {
#line 2393 "list.m"
            mercury__list__H_3 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 2393 "list.m"
            mercury__list__T_4 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 2397 "list.m"
            if ((mercury__list__T_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2396 "list.m"
              {
#line 2396 "list.m"
                *mercury__list__Last_5 = mercury__list__H_3;
#line 2396 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2396 "list.m"
              }
#line 2397 "list.m"
            else
#line 2399 "list.m"
              {
#line 2399 "list.m"
                /* direct tailcall eliminated */
#line 2399 "list.m"
                {
#line 2399 "list.m"
                  MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__T_4;

#line 2399 "list.m"
                  mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 2399 "list.m"
                }
#line 2399 "list.m"
                continue;
#line 2399 "list.m"
              }
#line 2393 "list.m"
          }
#line 2393 "list.m"
        return mercury__list__succeeded;
#line 2393 "list.m"
      }
#line 2393 "list.m"
      break;
#line 2393 "list.m"
    }
#line 455 "list.m"
}

#line 451 "list.m"
MR_bool MR_CALL 
mercury__list__all_same_1_p_0(
#line 451 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_4,
#line 451 "list.m"
  MR_Word mercury__list__HeadVar__1_1)
#line 451 "list.m"
{
#line 2381 "list.m"
  {
#line 2381 "list.m"
    MR_bool mercury__list__succeeded;

#line 2381 "list.m"
    if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2381 "list.m"
      mercury__list__succeeded = MR_TRUE;
#line 2381 "list.m"
    else
#line 2382 "list.m"
      {
#line 2382 "list.m"
        MR_Box mercury__list__H_2 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 2382 "list.m"
        MR_Word mercury__list__T_3 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));

#line 2383 "list.m"
        {
#line 2383 "list.m"
          return mercury__list__succeeded = mercury__list__all_same_2_2_p_0(mercury__list__TypeInfo_for_T_4, mercury__list__H_2, mercury__list__T_3);
        }
#line 2382 "list.m"
      }
#line 2381 "list.m"
    return mercury__list__succeeded;
#line 2381 "list.m"
  }
#line 451 "list.m"
}

#line 447 "list.m"
MR_bool MR_CALL 
mercury__list__sublist_2_p_0(
#line 447 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 447 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 447 "list.m"
  MR_Word mercury__list__HeadVar__2_2)
#line 447 "list.m"
{
#line 2371 "list.m"
  while (MR_TRUE)
#line 2371 "list.m"
    {
#line 2371 "list.m"
      /* tailcall optimized into a loop */
#line 2371 "list.m"
      {
#line 2371 "list.m"
        MR_bool mercury__list__succeeded;

#line 2371 "list.m"
        if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2371 "list.m"
          mercury__list__succeeded = MR_TRUE;
#line 2371 "list.m"
        else
#line 2372 "list.m"
          {
#line 2372 "list.m"
            MR_Box mercury__list__SH_4 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 2372 "list.m"
            MR_Word mercury__list__ST_5 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 2372 "list.m"
            MR_Box mercury__list__FH_6;
#line 2372 "list.m"
            MR_Word mercury__list__FT_7;

#line 2372 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 2372 "list.m"
            if (mercury__list__succeeded)
#line 2372 "list.m"
              {
#line 2372 "list.m"
                mercury__list__FH_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2372 "list.m"
                mercury__list__FT_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2373 "list.m"
                {
#line 2373 "list.m"
                  mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_9, mercury__list__SH_4, mercury__list__FH_6);
                }
#line 2375 "list.m"
                if (mercury__list__succeeded)
#line 2374 "list.m"
                  {
#line 2374 "list.m"
                    /* direct tailcall eliminated */
#line 2374 "list.m"
                    {
#line 2374 "list.m"
                      MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__ST_5;
#line 2374 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__FT_7;

#line 2374 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2374 "list.m"
                      mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 2374 "list.m"
                    }
#line 2374 "list.m"
                    continue;
#line 2374 "list.m"
                  }
#line 2375 "list.m"
                else
#line 2376 "list.m"
                  {
#line 2376 "list.m"
                    /* direct tailcall eliminated */
#line 2376 "list.m"
                    {
#line 2376 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__FT_7;

#line 2376 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2376 "list.m"
                    }
#line 2376 "list.m"
                    continue;
#line 2376 "list.m"
                  }
#line 2372 "list.m"
              }
#line 2372 "list.m"
          }
#line 2371 "list.m"
        return mercury__list__succeeded;
#line 2371 "list.m"
      }
#line 2371 "list.m"
      break;
#line 2371 "list.m"
    }
#line 447 "list.m"
}

#line 442 "list.m"
MR_Word MR_CALL 
mercury__list__chunk_2_f_0(
#line 442 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 442 "list.m"
  MR_Word mercury__list__Xs_4,
#line 442 "list.m"
  MR_Integer mercury__list__N_5)
#line 442 "list.m"
{
#line 2338 "list.m"
  {
#line 2338 "list.m"
    MR_bool mercury__list__succeeded;
#line 2338 "list.m"
    MR_Word mercury__list__Ys_6;
#line 2338 "list.m"
    MR_Word mercury__list__V_11_11 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 2339 "list.m"
    {
#line 2339 "list.m"
      mercury__list__chunk_2_5_p_0(mercury__list__TypeInfo_for_T_7, mercury__list__Xs_4, mercury__list__N_5, mercury__list__V_11_11, mercury__list__N_5, &mercury__list__Ys_6);
    }
#line 2338 "list.m"
    return mercury__list__Ys_6;
#line 2338 "list.m"
  }
#line 442 "list.m"
}

#line 441 "list.m"
void MR_CALL 
mercury__list__chunk_3_p_0(
#line 441 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 441 "list.m"
  MR_Word mercury__list__List_4,
#line 441 "list.m"
  MR_Integer mercury__list__ChunkSize_5,
#line 441 "list.m"
  MR_Word * mercury__list__ListOfSmallLists_6)
#line 441 "list.m"
{
#line 2338 "list.m"
  {
#line 2338 "list.m"
    MR_bool mercury__list__succeeded;
#line 2338 "list.m"
    MR_Word mercury__list__V_7_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 2339 "list.m"
    {
#line 2339 "list.m"
      mercury__list__chunk_2_5_p_0(mercury__list__TypeInfo_for_T_9, mercury__list__List_4, mercury__list__ChunkSize_5, mercury__list__V_7_7, mercury__list__ChunkSize_5, mercury__list__ListOfSmallLists_6);
#line 2339 "list.m"
      return;
    }
#line 2338 "list.m"
  }
#line 441 "list.m"
}

#line 431 "list.m"
MR_Word MR_CALL 
mercury__list__condense_1_f_0(
#line 431 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_5,
#line 431 "list.m"
  MR_Word mercury__list__Xss_3)
#line 431 "list.m"
{
#line 1894 "list.m"
  {
#line 1894 "list.m"
    MR_bool mercury__list__succeeded;
#line 1894 "list.m"
    MR_Word mercury__list__Ys_4;
#line 1894 "list.m"
    MR_Word mercury__list__RevXss_8;
#line 1894 "list.m"
    MR_Word mercury__list__V_9_9;
#line 1894 "list.m"
    MR_Word mercury__list__V_14_14 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2107 "list.m"
    MR_Word mercury__list__conv0_RevXss_8;

#line 2107 "list.m"
    {
#line 2107 "list.m"
      mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_114_101_118_101_114_115_101_95_50_95_95_91_49_93_95_48_3_p_0((MR_Word) mercury__list__Xss_3, (MR_Word) mercury__list__V_14_14, &mercury__list__conv0_RevXss_8);
    }
#line 2107 "list.m"
    mercury__list__RevXss_8 = (MR_Word) mercury__list__conv0_RevXss_8;
#line 1896 "list.m"
    mercury__list__V_9_9 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1896 "list.m"
    {
#line 1896 "list.m"
      mercury__list__condense_2_3_p_0(mercury__list__TypeInfo_for_T_5, mercury__list__RevXss_8, mercury__list__V_9_9, &mercury__list__Ys_4);
    }
#line 1894 "list.m"
    return mercury__list__Ys_4;
#line 1894 "list.m"
  }
#line 431 "list.m"
}

#line 430 "list.m"
void MR_CALL 
mercury__list__condense_2_p_0(
#line 430 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 430 "list.m"
  MR_Word mercury__list__Xss_3,
#line 430 "list.m"
  MR_Word * mercury__list__Ys_4)
#line 430 "list.m"
{
#line 1894 "list.m"
  {
#line 1894 "list.m"
    MR_bool mercury__list__succeeded;
#line 1894 "list.m"
    MR_Word mercury__list__RevXss_5;
#line 1894 "list.m"
    MR_Word mercury__list__V_6_6;
#line 1894 "list.m"
    MR_Word mercury__list__V_12_12 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2107 "list.m"
    MR_Word mercury__list__conv0_RevXss_5;

#line 2107 "list.m"
    {
#line 2107 "list.m"
      mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_114_101_118_101_114_115_101_95_50_95_95_91_49_93_95_48_3_p_0((MR_Word) mercury__list__Xss_3, (MR_Word) mercury__list__V_12_12, &mercury__list__conv0_RevXss_5);
    }
#line 2107 "list.m"
    mercury__list__RevXss_5 = (MR_Word) mercury__list__conv0_RevXss_5;
#line 1896 "list.m"
    mercury__list__V_6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1896 "list.m"
    {
#line 1896 "list.m"
      mercury__list__condense_2_3_p_0(mercury__list__TypeInfo_for_T_7, mercury__list__RevXss_5, mercury__list__V_6_6, mercury__list__Ys_4);
#line 1896 "list.m"
      return;
    }
#line 1894 "list.m"
  }
#line 430 "list.m"
}

#line 424 "list.m"
MR_Word MR_CALL 
mercury__list__duplicate_2_f_0(
#line 424 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 424 "list.m"
  MR_Integer mercury__list__N_4,
#line 424 "list.m"
  MR_Box mercury__list__A_5)
#line 424 "list.m"
{
#line 2322 "list.m"
  {
#line 2322 "list.m"
    MR_bool mercury__list__succeeded;
#line 2322 "list.m"
    MR_Word mercury__list__Xs_6;
#line 2322 "list.m"
    MR_Word mercury__list__V_10_10 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 2322 "list.m"
    {
#line 2322 "list.m"
      return mercury__list__Xs_6 = mercury__list__duplicate_2_3_f_0(mercury__list__TypeInfo_for_T_7, mercury__list__N_4, mercury__list__A_5, mercury__list__V_10_10);
    }
#line 2322 "list.m"
    return mercury__list__Xs_6;
#line 2322 "list.m"
  }
#line 424 "list.m"
}

#line 423 "list.m"
void MR_CALL 
mercury__list__duplicate_3_p_0(
#line 423 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 423 "list.m"
  MR_Integer mercury__list__N_4,
#line 423 "list.m"
  MR_Box mercury__list__X_5,
#line 423 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 423 "list.m"
{
#line 2322 "list.m"
  {
#line 2322 "list.m"
    MR_bool mercury__list__succeeded;
#line 2322 "list.m"
    MR_Word mercury__list__V_6_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 2322 "list.m"
    {
#line 2322 "list.m"
      *mercury__list__HeadVar__3_3 = mercury__list__duplicate_2_3_f_0(mercury__list__TypeInfo_for_T_7, mercury__list__N_4, mercury__list__X_5, mercury__list__V_6_6);
    }
#line 2322 "list.m"
  }
#line 423 "list.m"
}

#line 418 "list.m"
MR_Word MR_CALL 
mercury__list__zip_2_f_0(
#line 418 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 418 "list.m"
  MR_Word mercury__list__Xs_4,
#line 418 "list.m"
  MR_Word mercury__list__Ys_5)
#line 418 "list.m"
{
#line 2226 "list.m"
  {
#line 2226 "list.m"
    MR_bool mercury__list__succeeded;
#line 2226 "list.m"
    MR_Word mercury__list__Zs_6;

#line 2226 "list.m"
    if ((mercury__list__Xs_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2226 "list.m"
      mercury__list__Zs_6 = mercury__list__Ys_5;
#line 2226 "list.m"
    else
#line 2227 "list.m"
      {
#line 2227 "list.m"
        MR_Box mercury__list__A_9 = (MR_hl_field(MR_mktag(1), mercury__list__Xs_4, (MR_Integer) 0));
#line 2227 "list.m"
        MR_Word mercury__list__As_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__Xs_4, (MR_Integer) 1)));
#line 2227 "list.m"
        MR_Word mercury__list__Cs_12;

#line 2228 "list.m"
        {
#line 2228 "list.m"
          mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_122_105_112_50_95_95_91_49_93_95_48_3_p_0(mercury__list__As_10, mercury__list__Ys_5, &mercury__list__Cs_12);
        }
#line 2227 "list.m"
        {
#line 2227 "list.m"
          mercury__list__Zs_6 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2227 "list.m"
          MR_hl_field(MR_mktag(1), mercury__list__Zs_6, 0) = mercury__list__A_9;
#line 2227 "list.m"
          MR_hl_field(MR_mktag(1), mercury__list__Zs_6, 1) = ((MR_Box) (mercury__list__Cs_12));
#line 2227 "list.m"
        }
#line 2227 "list.m"
      }
#line 2226 "list.m"
    return mercury__list__Zs_6;
#line 2226 "list.m"
  }
#line 418 "list.m"
}

#line 417 "list.m"
void MR_CALL 
mercury__list__zip_3_p_0(
#line 417 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 417 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 417 "list.m"
  MR_Word mercury__list__Bs_2,
#line 417 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 417 "list.m"
{
#line 2226 "list.m"
  {
#line 2226 "list.m"
    MR_bool mercury__list__succeeded;

#line 2226 "list.m"
    if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2226 "list.m"
      *mercury__list__HeadVar__3_3 = mercury__list__Bs_2;
#line 2226 "list.m"
    else
#line 2227 "list.m"
      {
#line 2227 "list.m"
        MR_Box mercury__list__A_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 2227 "list.m"
        MR_Word mercury__list__As_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 2227 "list.m"
        MR_Word mercury__list__Cs_8;

#line 2228 "list.m"
        {
#line 2228 "list.m"
          mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_122_105_112_50_95_95_91_49_93_95_48_3_p_0(mercury__list__As_6, mercury__list__Bs_2, &mercury__list__Cs_8);
        }
#line 2227 "list.m"
        {
#line 2227 "list.m"
          MR_Word base;
#line 2227 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2227 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 2227 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__A_5;
#line 2227 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs_8));
#line 2227 "list.m"
        }
#line 2227 "list.m"
      }
#line 2226 "list.m"
  }
#line 417 "list.m"
}

#line 407 "list.m"
MR_Integer MR_CALL 
mercury__list__det_index1_of_first_occurrence_2_f_0(
#line 407 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_11,
#line 407 "list.m"
  MR_Word mercury__list__List_4,
#line 407 "list.m"
  MR_Box mercury__list__Elem_5)
#line 407 "list.m"
{
#line 1885 "list.m"
  {
#line 1885 "list.m"
    MR_bool mercury__list__succeeded;
#line 1885 "list.m"
    MR_Integer mercury__list__N_6;
#line 1885 "list.m"
    MR_Integer mercury__list__N0_7;
#line 1872 "list.m"
    MR_Integer mercury__list__N_14;

#line 1862 "list.m"
    {
#line 1862 "list.m"
      mercury__list__succeeded = mercury__list__index0_of_first_occurrence_2_4_p_0(mercury__list__TypeInfo_for_T_11, mercury__list__List_4, mercury__list__Elem_5, (MR_Integer) 0, &mercury__list__N_14);
    }
#line 1872 "list.m"
    if (mercury__list__succeeded)
#line 1872 "list.m"
      {
#line 1872 "list.m"
        mercury__list__N0_7 = (mercury__list__N_14 + (MR_Integer) 1);
#line 1872 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 1872 "list.m"
      }
#line 1885 "list.m"
    if (mercury__list__succeeded)
#line 1884 "list.m"
      mercury__list__N_6 = mercury__list__N0_7;
#line 1885 "list.m"
    else
#line 1886 "list.m"
      {
#line 1886 "list.m"
        {
#line 1886 "list.m"
          mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "function \140list.det_index1_of_first_occurrence\'/2", (MR_String) "item not found");
        }
#line 1886 "list.m"
      }
#line 1885 "list.m"
    return mercury__list__N_6;
#line 1885 "list.m"
  }
#line 407 "list.m"
}

#line 406 "list.m"
MR_Integer MR_CALL 
mercury__list__det_index0_of_first_occurrence_2_f_0(
#line 406 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_11,
#line 406 "list.m"
  MR_Word mercury__list__List_4,
#line 406 "list.m"
  MR_Box mercury__list__Elem_5)
#line 406 "list.m"
{
#line 1878 "list.m"
  {
#line 1878 "list.m"
    MR_bool mercury__list__succeeded;
#line 1878 "list.m"
    MR_Integer mercury__list__N_6;
#line 1878 "list.m"
    MR_Integer mercury__list__N0_7;

#line 1862 "list.m"
    {
#line 1862 "list.m"
      mercury__list__succeeded = mercury__list__index0_of_first_occurrence_2_4_p_0(mercury__list__TypeInfo_for_T_11, mercury__list__List_4, mercury__list__Elem_5, (MR_Integer) 0, &mercury__list__N0_7);
    }
#line 1878 "list.m"
    if (mercury__list__succeeded)
#line 1877 "list.m"
      mercury__list__N_6 = mercury__list__N0_7;
#line 1878 "list.m"
    else
#line 1879 "list.m"
      {
#line 1879 "list.m"
        {
#line 1879 "list.m"
          mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "function \140list.det_index0_of_first_occurrence\'/2", (MR_String) "item not found");
        }
#line 1879 "list.m"
      }
#line 1878 "list.m"
    return mercury__list__N_6;
#line 1878 "list.m"
  }
#line 406 "list.m"
}

#line 404 "list.m"
MR_bool MR_CALL 
mercury__list__index1_of_first_occurrence_3_p_0(
#line 404 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_8,
#line 404 "list.m"
  MR_Word mercury__list__List_4,
#line 404 "list.m"
  MR_Box mercury__list__Elem_5,
#line 404 "list.m"
  MR_Integer * mercury__list__HeadVar__3_3)
#line 404 "list.m"
{
#line 1872 "list.m"
  {
#line 1872 "list.m"
    MR_bool mercury__list__succeeded;
#line 1872 "list.m"
    MR_Integer mercury__list__N_6;

#line 1862 "list.m"
    {
#line 1862 "list.m"
      mercury__list__succeeded = mercury__list__index0_of_first_occurrence_2_4_p_0(mercury__list__TypeInfo_for_T_8, mercury__list__List_4, mercury__list__Elem_5, (MR_Integer) 0, &mercury__list__N_6);
    }
#line 1872 "list.m"
    if (mercury__list__succeeded)
#line 1872 "list.m"
      {
#line 1872 "list.m"
        *mercury__list__HeadVar__3_3 = (mercury__list__N_6 + (MR_Integer) 1);
#line 1872 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 1872 "list.m"
      }
#line 1872 "list.m"
    return mercury__list__succeeded;
#line 1872 "list.m"
  }
#line 404 "list.m"
}

#line 402 "list.m"
MR_bool MR_CALL 
mercury__list__index0_of_first_occurrence_3_p_0(
#line 402 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_8,
#line 402 "list.m"
  MR_Word mercury__list__List_4,
#line 402 "list.m"
  MR_Box mercury__list__Elem_5,
#line 402 "list.m"
  MR_Integer * mercury__list__N_6)
#line 402 "list.m"
{
#line 1861 "list.m"
  {
#line 1861 "list.m"
    MR_bool mercury__list__succeeded;

#line 1862 "list.m"
    {
#line 1862 "list.m"
      return mercury__list__succeeded = mercury__list__index0_of_first_occurrence_2_4_p_0(mercury__list__TypeInfo_for_T_8, mercury__list__List_4, mercury__list__Elem_5, (MR_Integer) 0, mercury__list__N_6);
    }
#line 1861 "list.m"
    return mercury__list__succeeded;
#line 1861 "list.m"
  }
#line 402 "list.m"
}

#line 394 "list.m"
MR_Box MR_CALL 
mercury__list__det_index1_2_f_0(
#line 394 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 394 "list.m"
  MR_Word mercury__list__Xs_4,
#line 394 "list.m"
  MR_Integer mercury__list__N_5)
#line 394 "list.m"
{
#line 1854 "list.m"
  {
#line 1854 "list.m"
    MR_bool mercury__list__succeeded;
#line 1854 "list.m"
    MR_Box mercury__list__A_6;

#line 1854 "list.m"
    {
#line 1854 "list.m"
      mercury__list__det_index1_3_p_0(mercury__list__TypeInfo_for_T_7, mercury__list__Xs_4, mercury__list__N_5, &mercury__list__A_6);
    }
#line 1854 "list.m"
    return mercury__list__A_6;
#line 1854 "list.m"
  }
#line 394 "list.m"
}

#line 393 "list.m"
MR_Box MR_CALL 
mercury__list__det_index0_2_f_0(
#line 393 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 393 "list.m"
  MR_Word mercury__list__Xs_4,
#line 393 "list.m"
  MR_Integer mercury__list__N_5)
#line 393 "list.m"
{
#line 1846 "list.m"
  {
#line 1846 "list.m"
    MR_bool mercury__list__succeeded;
#line 1846 "list.m"
    MR_Box mercury__list__A_6;
#line 1846 "list.m"
    MR_Box mercury__list__Elem0_11;

#line 1844 "list.m"
    {
#line 1844 "list.m"
      mercury__list__succeeded = mercury__list__index0_3_p_0(mercury__list__TypeInfo_for_T_7, mercury__list__Xs_4, mercury__list__N_5, &mercury__list__Elem0_11);
    }
#line 1846 "list.m"
    if (mercury__list__succeeded)
#line 1845 "list.m"
      mercury__list__A_6 = mercury__list__Elem0_11;
#line 1846 "list.m"
    else
#line 1847 "list.m"
      {
#line 1847 "list.m"
        {
#line 1847 "list.m"
          mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.det_index0\'/3", (MR_String) "index out of range");
        }
#line 1847 "list.m"
      }
#line 1846 "list.m"
    return mercury__list__A_6;
#line 1846 "list.m"
  }
#line 393 "list.m"
}

#line 391 "list.m"
void MR_CALL 
mercury__list__det_index1_3_p_0(
#line 391 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 391 "list.m"
  MR_Word mercury__list__List_4,
#line 391 "list.m"
  MR_Integer mercury__list__N_5,
#line 391 "list.m"
  MR_Box * mercury__list__Elem_6)
#line 391 "list.m"
{
#line 1856 "list.m"
  {
#line 1856 "list.m"
    MR_bool mercury__list__succeeded;
#line 1856 "list.m"
    MR_Integer mercury__list__V_7_7 = (mercury__list__N_5 - (MR_Integer) 1);
#line 1846 "list.m"
    MR_Box mercury__list__Elem0_13;

#line 1844 "list.m"
    {
#line 1844 "list.m"
      mercury__list__succeeded = mercury__list__index0_3_p_0(mercury__list__TypeInfo_for_T_9, mercury__list__List_4, mercury__list__V_7_7, &mercury__list__Elem0_13);
    }
#line 1846 "list.m"
    if (mercury__list__succeeded)
#line 1845 "list.m"
      *mercury__list__Elem_6 = mercury__list__Elem0_13;
#line 1846 "list.m"
    else
#line 1847 "list.m"
      {
#line 1847 "list.m"
        {
#line 1847 "list.m"
          mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.det_index0\'/3", (MR_String) "index out of range");
#line 1847 "list.m"
          return;
        }
#line 1847 "list.m"
      }
#line 1856 "list.m"
  }
#line 391 "list.m"
}

#line 390 "list.m"
void MR_CALL 
mercury__list__det_index0_3_p_0(
#line 390 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_11,
#line 390 "list.m"
  MR_Word mercury__list__List_4,
#line 390 "list.m"
  MR_Integer mercury__list__N_5,
#line 390 "list.m"
  MR_Box * mercury__list__Elem_6)
#line 390 "list.m"
{
#line 1846 "list.m"
  {
#line 1846 "list.m"
    MR_bool mercury__list__succeeded;
#line 1846 "list.m"
    MR_Box mercury__list__Elem0_7;

#line 1844 "list.m"
    {
#line 1844 "list.m"
      mercury__list__succeeded = mercury__list__index0_3_p_0(mercury__list__TypeInfo_for_T_11, mercury__list__List_4, mercury__list__N_5, &mercury__list__Elem0_7);
    }
#line 1846 "list.m"
    if (mercury__list__succeeded)
#line 1845 "list.m"
      *mercury__list__Elem_6 = mercury__list__Elem0_7;
#line 1846 "list.m"
    else
#line 1847 "list.m"
      {
#line 1847 "list.m"
        {
#line 1847 "list.m"
          mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.det_index0\'/3", (MR_String) "index out of range");
#line 1847 "list.m"
          return;
        }
#line 1847 "list.m"
      }
#line 1846 "list.m"
  }
#line 390 "list.m"
}

#line 389 "list.m"
MR_bool MR_CALL 
mercury__list__index1_3_p_0(
#line 389 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 389 "list.m"
  MR_Word mercury__list__List_4,
#line 389 "list.m"
  MR_Integer mercury__list__N_5,
#line 389 "list.m"
  MR_Box * mercury__list__Elem_6)
#line 389 "list.m"
{
#line 1850 "list.m"
  {
#line 1850 "list.m"
    MR_bool mercury__list__succeeded;
#line 1850 "list.m"
    MR_Integer mercury__list__V_7_7 = (mercury__list__N_5 - (MR_Integer) 1);

#line 1851 "list.m"
    {
#line 1851 "list.m"
      return mercury__list__succeeded = mercury__list__index0_3_p_0(mercury__list__TypeInfo_for_T_9, mercury__list__List_4, mercury__list__V_7_7, mercury__list__Elem_6);
    }
#line 1850 "list.m"
    return mercury__list__succeeded;
#line 1850 "list.m"
  }
#line 389 "list.m"
}

#line 388 "list.m"
MR_bool MR_CALL 
mercury__list__index0_3_p_0(
#line 388 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_10,
#line 388 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 388 "list.m"
  MR_Integer mercury__list__N_6,
#line 388 "list.m"
  MR_Box * mercury__list__Elem_7)
#line 388 "list.m"
{
#line 1833 "list.m"
  while (MR_TRUE)
#line 1833 "list.m"
    {
#line 1833 "list.m"
      /* tailcall optimized into a loop */
#line 1833 "list.m"
      {
#line 1833 "list.m"
        MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1)));
#line 1833 "list.m"
        MR_Box mercury__list__X_4;
#line 1833 "list.m"
        MR_Word mercury__list__Xs_5;

#line 1833 "list.m"
        if (mercury__list__succeeded)
#line 1833 "list.m"
          {
#line 1833 "list.m"
            mercury__list__X_4 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1833 "list.m"
            mercury__list__Xs_5 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1834 "list.m"
            mercury__list__succeeded = (mercury__list__N_6 == (MR_Integer) 0);
#line 1836 "list.m"
            if (mercury__list__succeeded)
#line 1835 "list.m"
              {
#line 1835 "list.m"
                *mercury__list__Elem_7 = mercury__list__X_4;
#line 1835 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 1835 "list.m"
              }
#line 1836 "list.m"
            else
#line 1837 "list.m"
              {
#line 1837 "list.m"
                MR_Integer mercury__list__V_8_8 = (mercury__list__N_6 - (MR_Integer) 1);

#line 1837 "list.m"
                /* direct tailcall eliminated */
#line 1837 "list.m"
                {
#line 1837 "list.m"
                  MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__Xs_5;
#line 1837 "list.m"
                  MR_Integer mercury__list__N__tmp_copy_6 = mercury__list__V_8_8;

#line 1837 "list.m"
                  mercury__list__N_6 = mercury__list__N__tmp_copy_6;
#line 1837 "list.m"
                  mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 1837 "list.m"
                }
#line 1837 "list.m"
                continue;
#line 1837 "list.m"
              }
#line 1833 "list.m"
          }
#line 1833 "list.m"
        return mercury__list__succeeded;
#line 1833 "list.m"
      }
#line 1833 "list.m"
      break;
#line 1833 "list.m"
    }
#line 388 "list.m"
}

#line 377 "list.m"
void MR_CALL 
mercury__list__nth_member_lookup_3_p_0(
#line 377 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_11,
#line 377 "list.m"
  MR_Word mercury__list__List_4,
#line 377 "list.m"
  MR_Box mercury__list__Elem_5,
#line 377 "list.m"
  MR_Integer * mercury__list__Position_6)
#line 377 "list.m"
{
#line 1827 "list.m"
  {
#line 1827 "list.m"
    MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__List_4)) == (MR_mktag((MR_Integer) 1)));
#line 1827 "list.m"
    MR_Integer mercury__list__PositionPrime_7;
#line 1811 "list.m"
    MR_Integer mercury__list__V_17_17;
#line 1811 "list.m"
    MR_Box mercury__list__X_14;
#line 1811 "list.m"
    MR_Word mercury__list__Xs_15;

#line 1811 "list.m"
    if (mercury__list__succeeded)
#line 1811 "list.m"
      {
#line 1811 "list.m"
        mercury__list__X_14 = (MR_hl_field(MR_mktag(1), mercury__list__List_4, (MR_Integer) 0));
#line 1811 "list.m"
        mercury__list__Xs_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__List_4, (MR_Integer) 1)));
#line 1812 "list.m"
        mercury__list__V_17_17 = (MR_Integer) 1;
#line 1812 "list.m"
        {
#line 1812 "list.m"
          mercury__list__succeeded = mercury__list__nth_member_search_2_4_p_0(mercury__list__TypeInfo_for_T_11, mercury__list__List_4, mercury__list__Elem_5, mercury__list__V_17_17, &mercury__list__PositionPrime_7);
        }
#line 1811 "list.m"
      }
#line 1827 "list.m"
    if (mercury__list__succeeded)
#line 1826 "list.m"
      *mercury__list__Position_6 = mercury__list__PositionPrime_7;
#line 1827 "list.m"
    else
#line 1828 "list.m"
      {
#line 1828 "list.m"
        {
#line 1828 "list.m"
          mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.nth_member_lookup\'/3", (MR_String) "element not in list");
#line 1828 "list.m"
          return;
        }
#line 1828 "list.m"
      }
#line 1827 "list.m"
  }
#line 377 "list.m"
}

#line 372 "list.m"
MR_bool MR_CALL 
mercury__list__nth_member_search_3_p_0(
#line 372 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_10,
#line 372 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 372 "list.m"
  MR_Box mercury__list__Y_6,
#line 372 "list.m"
  MR_Integer * mercury__list__N_7)
#line 372 "list.m"
{
#line 1811 "list.m"
  {
#line 1811 "list.m"
    MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1)));
#line 1811 "list.m"
    MR_Integer mercury__list__V_9_9;
#line 1811 "list.m"
    MR_Box mercury__list__X_4;
#line 1811 "list.m"
    MR_Word mercury__list__Xs_5;

#line 1811 "list.m"
    if (mercury__list__succeeded)
#line 1811 "list.m"
      {
#line 1811 "list.m"
        mercury__list__X_4 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1811 "list.m"
        mercury__list__Xs_5 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1812 "list.m"
        mercury__list__V_9_9 = (MR_Integer) 1;
#line 1812 "list.m"
        {
#line 1812 "list.m"
          return mercury__list__succeeded = mercury__list__nth_member_search_2_4_p_0(mercury__list__TypeInfo_for_T_10, mercury__list__HeadVar__1_1, mercury__list__Y_6, mercury__list__V_9_9, mercury__list__N_7);
        }
#line 1811 "list.m"
      }
#line 1811 "list.m"
    return mercury__list__succeeded;
#line 1811 "list.m"
  }
#line 372 "list.m"
}

#line 2365 "list.m"
static void MR_CALL 
mercury__list__perm_2_p_0_1(
#line 2365 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2365 "list.m"
{
#line 2365 "list.m"
  {
#line 2365 "list.m"
    struct mercury__list__perm_2_p_0_env_0_s * mercury__list__env_ptr = (struct mercury__list__perm_2_p_0_env_0_s *) mercury__list__env_ptr_arg;

#line 1918 "list.m"
    {
#line 1918 "list.m"
      mercury__list__delete_3_p_3((mercury__list__env_ptr)->mercury__list__perm_2_p_0_env_0__TypeInfo_for_T_7, (mercury__list__env_ptr)->mercury__list__perm_2_p_0_env_0__HeadVar__2_2, (mercury__list__env_ptr)->mercury__list__perm_2_p_0_env_0__X_3, (mercury__list__env_ptr)->mercury__list__perm_2_p_0_env_0__Ys0_6, (mercury__list__env_ptr)->mercury__list__perm_2_p_0_env_0__cont, (mercury__list__env_ptr)->mercury__list__perm_2_p_0_env_0__cont_env_ptr);
#line 1918 "list.m"
      return;
    }
#line 2365 "list.m"
  }
#line 2365 "list.m"
}

#line 365 "list.m"
void MR_CALL 
mercury__list__perm_2_p_0(
#line 365 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 365 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 365 "list.m"
  MR_Word * mercury__list__HeadVar__2_2,
#line 365 "list.m"
  MR_Cont mercury__list__cont,
#line 365 "list.m"
  void * mercury__list__cont_env_ptr)
#line 365 "list.m"
{
#line 365 "list.m"
  {
#line 365 "list.m"
    struct mercury__list__perm_2_p_0_env_0_s mercury__list__env;

#line 365 "list.m"
    (mercury__list__env).mercury__list__perm_2_p_0_env_0__TypeInfo_for_T_7 = mercury__list__TypeInfo_for_T_7;
#line 365 "list.m"
    (mercury__list__env).mercury__list__perm_2_p_0_env_0__HeadVar__2_2 = mercury__list__HeadVar__2_2;
#line 365 "list.m"
    (mercury__list__env).mercury__list__perm_2_p_0_env_0__cont = mercury__list__cont;
#line 365 "list.m"
    (mercury__list__env).mercury__list__perm_2_p_0_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2364 "list.m"
    {
#line 2364 "list.m"
      MR_bool mercury__list__succeeded;

#line 2364 "list.m"
      if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2364 "list.m"
        {
#line 2364 "list.m"
          *((mercury__list__env).mercury__list__perm_2_p_0_env_0__HeadVar__2_2) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2364 "list.m"
          {
#line 2364 "list.m"
            ((mercury__list__env).mercury__list__perm_2_p_0_env_0__cont)((mercury__list__env).mercury__list__perm_2_p_0_env_0__cont_env_ptr);
#line 2364 "list.m"
            return;
          }
#line 2364 "list.m"
        }
#line 2364 "list.m"
      else
#line 2365 "list.m"
        {
#line 2365 "list.m"
          MR_Word mercury__list__Xs_4;

#line 2365 "list.m"
          (mercury__list__env).mercury__list__perm_2_p_0_env_0__X_3 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 2365 "list.m"
          mercury__list__Xs_4 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 2366 "list.m"
          {
#line 2366 "list.m"
            mercury__list__perm_2_p_0((mercury__list__env).mercury__list__perm_2_p_0_env_0__TypeInfo_for_T_7, mercury__list__Xs_4, &(mercury__list__env).mercury__list__perm_2_p_0_env_0__Ys0_6, mercury__list__perm_2_p_0_1, &mercury__list__env);
          }
#line 2365 "list.m"
        }
#line 2364 "list.m"
    }
#line 365 "list.m"
  }
#line 365 "list.m"
}

#line 359 "list.m"
MR_Word MR_CALL 
mercury__list__reverse_1_f_0(
#line 359 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_5,
#line 359 "list.m"
  MR_Word mercury__list__Xs_3)
#line 359 "list.m"
{
#line 2106 "list.m"
  {
#line 2106 "list.m"
    MR_bool mercury__list__succeeded;
#line 2106 "list.m"
    MR_Word mercury__list__Ys_4;
#line 2106 "list.m"
    MR_Word mercury__list__V_8_8 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 2107 "list.m"
    {
#line 2107 "list.m"
      mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_114_101_118_101_114_115_101_95_50_95_95_91_49_93_95_48_3_p_0(mercury__list__Xs_3, mercury__list__V_8_8, &mercury__list__Ys_4);
    }
#line 2106 "list.m"
    return mercury__list__Ys_4;
#line 2106 "list.m"
  }
#line 359 "list.m"
}

#line 357 "list.m"
void MR_CALL 
mercury__list__reverse_2_p_1(
#line 357 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 357 "list.m"
  MR_Word * mercury__list__HeadVar__1_1,
#line 357 "list.m"
  MR_Word mercury__list__HeadVar__2_2)
#line 357 "list.m"
{
#line 2109 "list.m"
  {
#line 2109 "list.m"
    MR_bool mercury__list__succeeded;
#line 2109 "list.m"
    MR_Word mercury__list__V_8_8 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 2110 "list.m"
    {
#line 2110 "list.m"
      mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_114_101_118_101_114_115_101_95_50_95_95_91_49_93_95_48_3_p_0(mercury__list__HeadVar__2_2, mercury__list__V_8_8, mercury__list__HeadVar__1_1);
#line 2110 "list.m"
      return;
    }
#line 2109 "list.m"
  }
#line 357 "list.m"
}

#line 356 "list.m"
void MR_CALL 
mercury__list__reverse_2_p_0(
#line 356 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 356 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 356 "list.m"
  MR_Word * mercury__list__HeadVar__2_2)
#line 356 "list.m"
{
#line 2106 "list.m"
  {
#line 2106 "list.m"
    MR_bool mercury__list__succeeded;
#line 2106 "list.m"
    MR_Word mercury__list__V_5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 2107 "list.m"
    {
#line 2107 "list.m"
      mercury__list__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_114_101_118_101_114_115_101_95_50_95_95_91_49_93_95_48_3_p_0(mercury__list__HeadVar__1_1, mercury__list__V_5_5, mercury__list__HeadVar__2_2);
#line 2107 "list.m"
      return;
    }
#line 2106 "list.m"
  }
#line 356 "list.m"
}

#line 348 "list.m"
MR_Word MR_CALL 
mercury__list__sort_1_f_0(
#line 348 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_5,
#line 348 "list.m"
  MR_Word mercury__list__Xs_3)
#line 348 "list.m"
{
#line 2134 "list.m"
  {
#line 2134 "list.m"
    MR_bool mercury__list__succeeded;
#line 2134 "list.m"
    MR_Word mercury__list__Ys_4;
#line 2134 "list.m"
    MR_Integer mercury__list__V_10_10;

#line 2081 "list.m"
    {
#line 2081 "list.m"
      mercury__list__length_2_3_p_0(mercury__list__TypeInfo_for_T_5, mercury__list__Xs_3, (MR_Integer) 0, &mercury__list__V_10_10);
    }
#line 2135 "list.m"
    {
#line 2135 "list.m"
      mercury__list__merge_sort_2_3_p_0(mercury__list__TypeInfo_for_T_5, mercury__list__V_10_10, mercury__list__Xs_3, &mercury__list__Ys_4);
    }
#line 2134 "list.m"
    return mercury__list__Ys_4;
#line 2134 "list.m"
  }
#line 348 "list.m"
}

#line 347 "list.m"
void MR_CALL 
mercury__list__sort_2_p_0(
#line 347 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_5,
#line 347 "list.m"
  MR_Word mercury__list__L0_3,
#line 347 "list.m"
  MR_Word * mercury__list__L_4)
#line 347 "list.m"
{
#line 2134 "list.m"
  {
#line 2134 "list.m"
    MR_bool mercury__list__succeeded;
#line 2134 "list.m"
    MR_Integer mercury__list__V_8_8;

#line 2081 "list.m"
    {
#line 2081 "list.m"
      mercury__list__length_2_3_p_0(mercury__list__TypeInfo_for_T_5, mercury__list__L0_3, (MR_Integer) 0, &mercury__list__V_8_8);
    }
#line 2135 "list.m"
    {
#line 2135 "list.m"
      mercury__list__merge_sort_2_3_p_0(mercury__list__TypeInfo_for_T_5, mercury__list__V_8_8, mercury__list__L0_3, mercury__list__L_4);
#line 2135 "list.m"
      return;
    }
#line 2134 "list.m"
  }
#line 347 "list.m"
}

#line 341 "list.m"
MR_Word MR_CALL 
mercury__list__sort_and_remove_dups_1_f_0(
#line 341 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_5,
#line 341 "list.m"
  MR_Word mercury__list__Xs_3)
#line 341 "list.m"
{
#line 2128 "list.m"
  {
#line 2128 "list.m"
    MR_bool mercury__list__succeeded;
#line 2128 "list.m"
    MR_Word mercury__list__Ys_4;
#line 2128 "list.m"
    MR_Integer mercury__list__V_8_8;

#line 2081 "list.m"
    {
#line 2081 "list.m"
      mercury__list__length_2_3_p_0(mercury__list__TypeInfo_for_T_5, mercury__list__Xs_3, (MR_Integer) 0, &mercury__list__V_8_8);
    }
#line 2129 "list.m"
    {
#line 2129 "list.m"
      mercury__list__merge_sort_and_remove_dups_2_3_p_0(mercury__list__TypeInfo_for_T_5, mercury__list__V_8_8, mercury__list__Xs_3, &mercury__list__Ys_4);
    }
#line 2128 "list.m"
    return mercury__list__Ys_4;
#line 2128 "list.m"
  }
#line 341 "list.m"
}

#line 340 "list.m"
void MR_CALL 
mercury__list__sort_and_remove_dups_2_p_0(
#line 340 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_6,
#line 340 "list.m"
  MR_Word mercury__list__L0_3,
#line 340 "list.m"
  MR_Word * mercury__list__L_4)
#line 340 "list.m"
{
#line 2128 "list.m"
  {
#line 2128 "list.m"
    MR_bool mercury__list__succeeded;
#line 2128 "list.m"
    MR_Integer mercury__list__V_5_5;

#line 2081 "list.m"
    {
#line 2081 "list.m"
      mercury__list__length_2_3_p_0(mercury__list__TypeInfo_for_T_6, mercury__list__L0_3, (MR_Integer) 0, &mercury__list__V_5_5);
    }
#line 2129 "list.m"
    {
#line 2129 "list.m"
      mercury__list__merge_sort_and_remove_dups_2_3_p_0(mercury__list__TypeInfo_for_T_6, mercury__list__V_5_5, mercury__list__L0_3, mercury__list__L_4);
#line 2129 "list.m"
      return;
    }
#line 2128 "list.m"
  }
#line 340 "list.m"
}

#line 333 "list.m"
MR_Word MR_CALL 
mercury__list__det_replace_nth_3_f_0(
#line 333 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 333 "list.m"
  MR_Word mercury__list__Xs_5,
#line 333 "list.m"
  MR_Integer mercury__list__N_6,
#line 333 "list.m"
  MR_Box mercury__list__A_7)
#line 333 "list.m"
{
#line 1986 "list.m"
  {
#line 1986 "list.m"
    MR_bool mercury__list__succeeded;
#line 1986 "list.m"
    MR_Word mercury__list__Ys_8;

#line 1986 "list.m"
    {
#line 1986 "list.m"
      mercury__list__det_replace_nth_4_p_0(mercury__list__TypeInfo_for_T_9, mercury__list__Xs_5, mercury__list__N_6, mercury__list__A_7, &mercury__list__Ys_8);
    }
#line 1986 "list.m"
    return mercury__list__Ys_8;
#line 1986 "list.m"
  }
#line 333 "list.m"
}

#line 332 "list.m"
void MR_CALL 
mercury__list__det_replace_nth_4_p_0(
#line 332 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_21,
#line 332 "list.m"
  MR_Word mercury__list__Xs_5,
#line 332 "list.m"
  MR_Integer mercury__list__P_6,
#line 332 "list.m"
  MR_Box mercury__list__R_7,
#line 332 "list.m"
  MR_Word * mercury__list__L_8)
#line 332 "list.m"
{
#line 1997 "list.m"
  {
#line 1997 "list.m"
    MR_bool mercury__list__succeeded = (mercury__list__P_6 > (MR_Integer) 0);

#line 1997 "list.m"
    if (mercury__list__succeeded)
#line 1992 "list.m"
      {
#line 1992 "list.m"
        MR_Word mercury__list__L0_9;

#line 1990 "list.m"
        {
#line 1990 "list.m"
          mercury__list__succeeded = mercury__list__replace_nth_2_4_p_0(mercury__list__TypeInfo_for_T_21, mercury__list__Xs_5, mercury__list__P_6, mercury__list__R_7, &mercury__list__L0_9);
        }
#line 1992 "list.m"
        if (mercury__list__succeeded)
#line 1991 "list.m"
          *mercury__list__L_8 = mercury__list__L0_9;
#line 1992 "list.m"
        else
#line 1993 "list.m"
          {
#line 1993 "list.m"
            {
#line 1993 "list.m"
              mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.det_replace_nth\'/4", (MR_String) "Cannot replace element whose index position is past the end of the list");
#line 1993 "list.m"
              return;
            }
#line 1993 "list.m"
          }
#line 1992 "list.m"
      }
#line 1997 "list.m"
    else
#line 1998 "list.m"
      {
#line 1998 "list.m"
        {
#line 1998 "list.m"
          mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.det_replace_nth\'/4", (MR_String) "Cannot replace element whose index position is less than 1.");
#line 1998 "list.m"
          return;
        }
#line 1998 "list.m"
      }
#line 1997 "list.m"
  }
#line 332 "list.m"
}

#line 324 "list.m"
MR_bool MR_CALL 
mercury__list__replace_nth_4_p_0(
#line 324 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_10,
#line 324 "list.m"
  MR_Word mercury__list__Xs_5,
#line 324 "list.m"
  MR_Integer mercury__list__P_6,
#line 324 "list.m"
  MR_Box mercury__list__R_7,
#line 324 "list.m"
  MR_Word * mercury__list__L_8)
#line 324 "list.m"
{
#line 1981 "list.m"
  {
#line 1981 "list.m"
    MR_bool mercury__list__succeeded = (mercury__list__P_6 > (MR_Integer) 0);

#line 1981 "list.m"
    if (mercury__list__succeeded)
#line 1983 "list.m"
      {
#line 1983 "list.m"
        return mercury__list__succeeded = mercury__list__replace_nth_2_4_p_0(mercury__list__TypeInfo_for_T_10, mercury__list__Xs_5, mercury__list__P_6, mercury__list__R_7, mercury__list__L_8);
      }
#line 1981 "list.m"
    return mercury__list__succeeded;
#line 1981 "list.m"
  }
#line 324 "list.m"
}

#line 317 "list.m"
MR_Word MR_CALL 
mercury__list__replace_all_3_f_0(
#line 317 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 317 "list.m"
  MR_Word mercury__list__Xs_5,
#line 317 "list.m"
  MR_Box mercury__list__A_6,
#line 317 "list.m"
  MR_Box mercury__list__B_7)
#line 317 "list.m"
{
#line 1969 "list.m"
  {
#line 1969 "list.m"
    MR_bool mercury__list__succeeded;
#line 1969 "list.m"
    MR_Word mercury__list__Ys_8;

#line 1969 "list.m"
    {
#line 1969 "list.m"
      mercury__list__replace_all_4_p_0(mercury__list__TypeInfo_for_T_9, mercury__list__Xs_5, mercury__list__A_6, mercury__list__B_7, &mercury__list__Ys_8);
    }
#line 1969 "list.m"
    return mercury__list__Ys_8;
#line 1969 "list.m"
  }
#line 317 "list.m"
}

#line 316 "list.m"
void MR_CALL 
mercury__list__replace_all_4_p_0(
#line 316 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_14,
#line 316 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 316 "list.m"
  MR_Box mercury__list__Y_2,
#line 316 "list.m"
  MR_Box mercury__list__Z_3,
#line 316 "list.m"
  MR_Word * mercury__list__HeadVar__4_4)
#line 316 "list.m"
{
#line 1971 "list.m"
  {
#line 1971 "list.m"
    MR_bool mercury__list__succeeded;

#line 1971 "list.m"
    if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1971 "list.m"
      *mercury__list__HeadVar__4_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1971 "list.m"
    else
#line 1972 "list.m"
      {
#line 1972 "list.m"
        MR_Box mercury__list__X_7 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1972 "list.m"
        MR_Word mercury__list__Xs_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));

#line 1973 "list.m"
        {
#line 1973 "list.m"
          mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_14, mercury__list__X_7, mercury__list__Y_2);
        }
#line 1976 "list.m"
        if (mercury__list__succeeded)
#line 1974 "list.m"
          {
#line 1974 "list.m"
            MR_Word mercury__list__L0_12;

#line 1974 "list.m"
            {
#line 1974 "list.m"
              mercury__list__replace_all_4_p_0(mercury__list__TypeInfo_for_T_14, mercury__list__Xs_8, mercury__list__Y_2, mercury__list__Z_3, &mercury__list__L0_12);
            }
#line 1975 "list.m"
            {
#line 1975 "list.m"
              MR_Word base;
#line 1975 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1975 "list.m"
              *mercury__list__HeadVar__4_4 = base;
#line 1975 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__Z_3;
#line 1975 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__L0_12));
#line 1975 "list.m"
            }
#line 1974 "list.m"
          }
#line 1976 "list.m"
        else
#line 1977 "list.m"
          {
#line 1977 "list.m"
            MR_Word mercury__list__L0_13;

#line 1977 "list.m"
            {
#line 1977 "list.m"
              mercury__list__replace_all_4_p_0(mercury__list__TypeInfo_for_T_14, mercury__list__Xs_8, mercury__list__Y_2, mercury__list__Z_3, &mercury__list__L0_13);
            }
#line 1978 "list.m"
            {
#line 1978 "list.m"
              MR_Word base;
#line 1978 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1978 "list.m"
              *mercury__list__HeadVar__4_4 = base;
#line 1978 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__X_7;
#line 1978 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__L0_13));
#line 1978 "list.m"
            }
#line 1977 "list.m"
          }
#line 1972 "list.m"
      }
#line 1971 "list.m"
  }
#line 316 "list.m"
}

#line 310 "list.m"
MR_bool MR_CALL 
mercury__list__replace_first_4_p_0(
#line 310 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_11,
#line 310 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 310 "list.m"
  MR_Box mercury__list__Y_7,
#line 310 "list.m"
  MR_Box mercury__list__Z_8,
#line 310 "list.m"
  MR_Word * mercury__list__List_9)
#line 310 "list.m"
{
#line 1960 "list.m"
  {
#line 1960 "list.m"
    MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1)));
#line 1960 "list.m"
    MR_Box mercury__list__X_5;
#line 1960 "list.m"
    MR_Word mercury__list__Xs_6;

#line 1960 "list.m"
    if (mercury__list__succeeded)
#line 1960 "list.m"
      {
#line 1960 "list.m"
        mercury__list__X_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1960 "list.m"
        mercury__list__Xs_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1961 "list.m"
        {
#line 1961 "list.m"
          mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_11, mercury__list__X_5, mercury__list__Y_7);
        }
#line 1963 "list.m"
        if (mercury__list__succeeded)
#line 1962 "list.m"
          {
#line 1962 "list.m"
            {
#line 1962 "list.m"
              MR_Word base;
#line 1962 "list.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1962 "list.m"
              *mercury__list__List_9 = base;
#line 1962 "list.m"
              MR_hl_field(MR_mktag(1), base, 0) = mercury__list__Z_8;
#line 1962 "list.m"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Xs_6));
#line 1962 "list.m"
            }
#line 1962 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 1962 "list.m"
          }
#line 1963 "list.m"
        else
#line 1964 "list.m"
          {
#line 1964 "list.m"
            MR_Word mercury__list__L1_10;

#line 1964 "list.m"
            {
#line 1964 "list.m"
              mercury__list__succeeded = mercury__list__replace_first_4_p_0(mercury__list__TypeInfo_for_T_11, mercury__list__Xs_6, mercury__list__Y_7, mercury__list__Z_8, &mercury__list__L1_10);
            }
#line 1964 "list.m"
            if (mercury__list__succeeded)
#line 1964 "list.m"
              {
#line 1965 "list.m"
                {
#line 1965 "list.m"
                  MR_Word base;
#line 1965 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1965 "list.m"
                  *mercury__list__List_9 = base;
#line 1965 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__X_5;
#line 1965 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__L1_10));
#line 1965 "list.m"
                }
#line 1965 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 1964 "list.m"
              }
#line 1964 "list.m"
          }
#line 1960 "list.m"
      }
#line 1960 "list.m"
    return mercury__list__succeeded;
#line 1960 "list.m"
  }
#line 310 "list.m"
}

#line 1957 "list.m"
static void MR_CALL 
mercury__list__replace_4_p_1_1(
#line 1957 "list.m"
  void * mercury__list__env_ptr_arg)
#line 1957 "list.m"
{
#line 1957 "list.m"
  {
#line 1957 "list.m"
    struct mercury__list__replace_4_p_1_env_0_s * mercury__list__env_ptr = (struct mercury__list__replace_4_p_1_env_0_s *) mercury__list__env_ptr_arg;

#line 1957 "list.m"
    {
#line 1957 "list.m"
      MR_Word base;
#line 1957 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1957 "list.m"
      *((mercury__list__env_ptr)->mercury__list__replace_4_p_1_env_0__HeadVar__4_4) = base;
#line 1957 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__replace_4_p_1_env_0__V_15_15;
#line 1957 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__replace_4_p_1_env_0__L_12));
#line 1957 "list.m"
    }
#line 1957 "list.m"
    {
#line 1957 "list.m"
      ((mercury__list__env_ptr)->mercury__list__replace_4_p_1_env_0__cont)((mercury__list__env_ptr)->mercury__list__replace_4_p_1_env_0__cont_env_ptr);
#line 1957 "list.m"
      return;
    }
#line 1957 "list.m"
  }
#line 1957 "list.m"
}

#line 305 "list.m"
void MR_CALL 
mercury__list__replace_4_p_1(
#line 305 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_13,
#line 305 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 305 "list.m"
  MR_Box mercury__list__HeadVar__2_2,
#line 305 "list.m"
  MR_Box mercury__list__Z_3,
#line 305 "list.m"
  MR_Word * mercury__list__HeadVar__4_4,
#line 305 "list.m"
  MR_Cont mercury__list__cont,
#line 305 "list.m"
  void * mercury__list__cont_env_ptr)
#line 305 "list.m"
{
#line 305 "list.m"
  {
#line 305 "list.m"
    struct mercury__list__replace_4_p_1_env_0_s mercury__list__env;

#line 305 "list.m"
    (mercury__list__env).mercury__list__replace_4_p_1_env_0__HeadVar__4_4 = mercury__list__HeadVar__4_4;
#line 305 "list.m"
    (mercury__list__env).mercury__list__replace_4_p_1_env_0__cont = mercury__list__cont;
#line 305 "list.m"
    (mercury__list__env).mercury__list__replace_4_p_1_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 1956 "list.m"
    {
#line 1956 "list.m"
      MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1)));
#line 1956 "list.m"
      MR_Word mercury__list__V_14_14;

#line 1956 "list.m"
      if (mercury__list__succeeded)
#line 1956 "list.m"
        {
#line 1956 "list.m"
          (mercury__list__env).mercury__list__replace_4_p_1_env_0__V_15_15 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1956 "list.m"
          mercury__list__V_14_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1956 "list.m"
          {
#line 1956 "list.m"
            mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_13, mercury__list__HeadVar__2_2, (mercury__list__env).mercury__list__replace_4_p_1_env_0__V_15_15);
          }
#line 1956 "list.m"
          if (mercury__list__succeeded)
#line 1956 "list.m"
            {
#line 1956 "list.m"
              {
#line 1956 "list.m"
                MR_Word base;
#line 1956 "list.m"
                base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1956 "list.m"
                *((mercury__list__env).mercury__list__replace_4_p_1_env_0__HeadVar__4_4) = base;
#line 1956 "list.m"
                MR_hl_field(MR_mktag(1), base, 0) = mercury__list__Z_3;
#line 1956 "list.m"
                MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__V_14_14));
#line 1956 "list.m"
              }
#line 1956 "list.m"
              mercury__list__succeeded = MR_TRUE;
#line 1956 "list.m"
            }
#line 1956 "list.m"
          if (mercury__list__succeeded)
#line 1956 "list.m"
            {
#line 1956 "list.m"
              ((mercury__list__env).mercury__list__replace_4_p_1_env_0__cont)((mercury__list__env).mercury__list__replace_4_p_1_env_0__cont_env_ptr);
            }
#line 1957 "list.m"
          {
#line 1958 "list.m"
            {
#line 1958 "list.m"
              mercury__list__replace_4_p_1(mercury__list__TypeInfo_for_T_13, mercury__list__V_14_14, mercury__list__HeadVar__2_2, mercury__list__Z_3, &(mercury__list__env).mercury__list__replace_4_p_1_env_0__L_12, mercury__list__replace_4_p_1_1, &mercury__list__env);
            }
#line 1957 "list.m"
          }
#line 1956 "list.m"
        }
#line 1956 "list.m"
    }
#line 305 "list.m"
  }
#line 305 "list.m"
}

#line 304 "list.m"
MR_bool MR_CALL 
mercury__list__replace_4_p_0(
#line 304 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_13,
#line 304 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 304 "list.m"
  MR_Box mercury__list__HeadVar__2_2,
#line 304 "list.m"
  MR_Box mercury__list__Z_3,
#line 304 "list.m"
  MR_Word mercury__list__HeadVar__4_4)
#line 304 "list.m"
{
#line 1956 "list.m"
  while (MR_TRUE)
#line 1956 "list.m"
    {
#line 1956 "list.m"
      /* tailcall optimized into a loop */
#line 1956 "list.m"
      {
#line 1956 "list.m"
        MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1)));
#line 1956 "list.m"
        MR_Word mercury__list__V_17_17;
#line 1956 "list.m"
        MR_Box mercury__list__V_18_18;
#line 1956 "list.m"
        MR_Word mercury__list__V_19_19;
#line 1956 "list.m"
        MR_Box mercury__list__V_20_20;

#line 1956 "list.m"
        if (mercury__list__succeeded)
#line 1956 "list.m"
          {
#line 1956 "list.m"
            mercury__list__V_18_18 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1956 "list.m"
            mercury__list__V_17_17 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1956 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__4_4)) == (MR_mktag((MR_Integer) 1)));
#line 1956 "list.m"
            if (mercury__list__succeeded)
#line 1956 "list.m"
              {
#line 1956 "list.m"
                mercury__list__V_20_20 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 0));
#line 1956 "list.m"
                mercury__list__V_19_19 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__4_4, (MR_Integer) 1)));
#line 1956 "list.m"
                {
#line 1956 "list.m"
                  mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_13, mercury__list__HeadVar__2_2, mercury__list__V_18_18);
                }
#line 1956 "list.m"
                if (mercury__list__succeeded)
#line 1956 "list.m"
                  {
#line 1956 "list.m"
                    {
#line 1956 "list.m"
                      mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_13, mercury__list__Z_3, mercury__list__V_20_20);
                    }
#line 1956 "list.m"
                    if (mercury__list__succeeded)
#line 1956 "list.m"
                      {
#line 1956 "list.m"
                        mercury__list__succeeded = mercury__list____Unify____list_1_0(mercury__list__TypeInfo_for_T_13, mercury__list__V_17_17, mercury__list__V_19_19);
                      }
#line 1956 "list.m"
                  }
#line 1956 "list.m"
                if (!(mercury__list__succeeded))
#line 1957 "list.m"
                  {
#line 1957 "list.m"
                    {
#line 1957 "list.m"
                      mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_13, mercury__list__V_18_18, mercury__list__V_20_20);
                    }
#line 1957 "list.m"
                    if (mercury__list__succeeded)
#line 1958 "list.m"
                      {
#line 1958 "list.m"
                        /* direct tailcall eliminated */
#line 1958 "list.m"
                        {
#line 1958 "list.m"
                          MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__V_17_17;
#line 1958 "list.m"
                          MR_Word mercury__list__HeadVar__4__tmp_copy_4 = mercury__list__V_19_19;

#line 1958 "list.m"
                          mercury__list__HeadVar__4_4 = mercury__list__HeadVar__4__tmp_copy_4;
#line 1958 "list.m"
                          mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 1958 "list.m"
                        }
#line 1958 "list.m"
                        continue;
#line 1958 "list.m"
                      }
#line 1957 "list.m"
                  }
#line 1956 "list.m"
              }
#line 1956 "list.m"
          }
#line 1956 "list.m"
        return mercury__list__succeeded;
#line 1956 "list.m"
      }
#line 1956 "list.m"
      break;
#line 1956 "list.m"
    }
#line 304 "list.m"
}

#line 298 "list.m"
MR_Word MR_CALL 
mercury__list__delete_elems_2_f_0(
#line 298 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 298 "list.m"
  MR_Word mercury__list__Xs_4,
#line 298 "list.m"
  MR_Word mercury__list__Ys_5)
#line 298 "list.m"
{
#line 1947 "list.m"
  {
#line 1947 "list.m"
    MR_bool mercury__list__succeeded;
#line 1947 "list.m"
    MR_Word mercury__list__Zs_6;

#line 1947 "list.m"
    {
#line 1947 "list.m"
      mercury__list__delete_elems_3_p_0(mercury__list__TypeInfo_for_T_7, mercury__list__Xs_4, mercury__list__Ys_5, &mercury__list__Zs_6);
    }
#line 1947 "list.m"
    return mercury__list__Zs_6;
#line 1947 "list.m"
  }
#line 298 "list.m"
}

#line 297 "list.m"
void MR_CALL 
mercury__list__delete_elems_3_p_0(
#line 297 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_10,
#line 297 "list.m"
  MR_Word mercury__list__Xs_1,
#line 297 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 297 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 297 "list.m"
{
#line 1949 "list.m"
  while (MR_TRUE)
#line 1949 "list.m"
    {
#line 1949 "list.m"
      /* tailcall optimized into a loop */
#line 1949 "list.m"
      {
#line 1949 "list.m"
        MR_bool mercury__list__succeeded;

#line 1949 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1949 "list.m"
          *mercury__list__HeadVar__3_3 = mercury__list__Xs_1;
#line 1949 "list.m"
        else
#line 1950 "list.m"
          {
#line 1950 "list.m"
            MR_Box mercury__list__E_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 1950 "list.m"
            MR_Word mercury__list__Es_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 1950 "list.m"
            MR_Word mercury__list__Ys_9;

#line 1951 "list.m"
            {
#line 1951 "list.m"
              mercury__list__delete_all_3_p_1(mercury__list__TypeInfo_for_T_10, mercury__list__Xs_1, mercury__list__E_6, &mercury__list__Ys_9);
            }
#line 1952 "list.m"
            /* direct tailcall eliminated */
#line 1952 "list.m"
            {
#line 1952 "list.m"
              MR_Word mercury__list__Xs__tmp_copy_1 = mercury__list__Ys_9;
#line 1952 "list.m"
              MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__Es_7;

#line 1952 "list.m"
              mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 1952 "list.m"
              mercury__list__Xs_1 = mercury__list__Xs__tmp_copy_1;
#line 1952 "list.m"
            }
#line 1952 "list.m"
            continue;
#line 1950 "list.m"
          }
#line 1949 "list.m"
      }
#line 1949 "list.m"
      break;
#line 1949 "list.m"
    }
#line 297 "list.m"
}

#line 292 "list.m"
void MR_CALL 
mercury__list__delete_all_3_p_1(
#line 292 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_10,
#line 292 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 292 "list.m"
  MR_Box mercury__list__Y_2,
#line 292 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 292 "list.m"
{
#line 1937 "list.m"
  while (MR_TRUE)
#line 1937 "list.m"
    {
#line 1937 "list.m"
      /* tailcall optimized into a loop */
#line 1937 "list.m"
      {
#line 1937 "list.m"
        MR_bool mercury__list__succeeded;

#line 1937 "list.m"
        if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1937 "list.m"
          *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1937 "list.m"
        else
#line 1938 "list.m"
          {
#line 1938 "list.m"
            MR_Box mercury__list__X_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1938 "list.m"
            MR_Word mercury__list__Xs_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));

#line 1939 "list.m"
            {
#line 1939 "list.m"
              mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_10, mercury__list__X_5, mercury__list__Y_2);
            }
#line 1941 "list.m"
            if (mercury__list__succeeded)
#line 1940 "list.m"
              {
#line 1940 "list.m"
                /* direct tailcall eliminated */
#line 1940 "list.m"
                {
#line 1940 "list.m"
                  MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__Xs_6;

#line 1940 "list.m"
                  mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 1940 "list.m"
                }
#line 1940 "list.m"
                continue;
#line 1940 "list.m"
              }
#line 1941 "list.m"
            else
#line 1942 "list.m"
              {
#line 1942 "list.m"
                MR_Word mercury__list__Zs1_9;

#line 1942 "list.m"
                {
#line 1942 "list.m"
                  mercury__list__delete_all_3_p_1(mercury__list__TypeInfo_for_T_10, mercury__list__Xs_6, mercury__list__Y_2, &mercury__list__Zs1_9);
                }
#line 1943 "list.m"
                {
#line 1943 "list.m"
                  MR_Word base;
#line 1943 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1943 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 1943 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__X_5;
#line 1943 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Zs1_9));
#line 1943 "list.m"
                }
#line 1942 "list.m"
              }
#line 1938 "list.m"
          }
#line 1937 "list.m"
      }
#line 1937 "list.m"
      break;
#line 1937 "list.m"
    }
#line 292 "list.m"
}

#line 291 "list.m"
void MR_CALL 
mercury__list__delete_all_3_p_0(
#line 291 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_10,
#line 291 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 291 "list.m"
  MR_Box mercury__list__Y_2,
#line 291 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 291 "list.m"
{
#line 1937 "list.m"
  while (MR_TRUE)
#line 1937 "list.m"
    {
#line 1937 "list.m"
      /* tailcall optimized into a loop */
#line 1937 "list.m"
      {
#line 1937 "list.m"
        MR_bool mercury__list__succeeded;

#line 1937 "list.m"
        if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1937 "list.m"
          *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1937 "list.m"
        else
#line 1938 "list.m"
          {
#line 1938 "list.m"
            MR_Box mercury__list__X_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1938 "list.m"
            MR_Word mercury__list__Xs_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));

#line 1939 "list.m"
            {
#line 1939 "list.m"
              mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_10, mercury__list__X_5, mercury__list__Y_2);
            }
#line 1941 "list.m"
            if (mercury__list__succeeded)
#line 1940 "list.m"
              {
#line 1940 "list.m"
                /* direct tailcall eliminated */
#line 1940 "list.m"
                {
#line 1940 "list.m"
                  MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__Xs_6;

#line 1940 "list.m"
                  mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 1940 "list.m"
                }
#line 1940 "list.m"
                continue;
#line 1940 "list.m"
              }
#line 1941 "list.m"
            else
#line 1942 "list.m"
              {
#line 1942 "list.m"
                MR_Word mercury__list__Zs1_9;

#line 1942 "list.m"
                {
#line 1942 "list.m"
                  mercury__list__delete_all_3_p_0(mercury__list__TypeInfo_for_T_10, mercury__list__Xs_6, mercury__list__Y_2, &mercury__list__Zs1_9);
                }
#line 1943 "list.m"
                {
#line 1943 "list.m"
                  MR_Word base;
#line 1943 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1943 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 1943 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__X_5;
#line 1943 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Zs1_9));
#line 1943 "list.m"
                }
#line 1942 "list.m"
              }
#line 1938 "list.m"
          }
#line 1937 "list.m"
      }
#line 1937 "list.m"
      break;
#line 1937 "list.m"
    }
#line 291 "list.m"
}

#line 285 "list.m"
MR_bool MR_CALL 
mercury__list__delete_first_3_p_0(
#line 285 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 285 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 285 "list.m"
  MR_Box mercury__list__Y_6,
#line 285 "list.m"
  MR_Word * mercury__list__Zs_7)
#line 285 "list.m"
{
#line 1926 "list.m"
  {
#line 1926 "list.m"
    MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1)));
#line 1926 "list.m"
    MR_Box mercury__list__X_4;
#line 1926 "list.m"
    MR_Word mercury__list__Xs_5;

#line 1926 "list.m"
    if (mercury__list__succeeded)
#line 1926 "list.m"
      {
#line 1926 "list.m"
        mercury__list__X_4 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1926 "list.m"
        mercury__list__Xs_5 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1927 "list.m"
        {
#line 1927 "list.m"
          mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_9, mercury__list__X_4, mercury__list__Y_6);
        }
#line 1929 "list.m"
        if (mercury__list__succeeded)
#line 1928 "list.m"
          {
#line 1928 "list.m"
            *mercury__list__Zs_7 = mercury__list__Xs_5;
#line 1928 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 1928 "list.m"
          }
#line 1929 "list.m"
        else
#line 1930 "list.m"
          {
#line 1930 "list.m"
            MR_Word mercury__list__Zs1_8;

#line 1930 "list.m"
            {
#line 1930 "list.m"
              mercury__list__succeeded = mercury__list__delete_first_3_p_0(mercury__list__TypeInfo_for_T_9, mercury__list__Xs_5, mercury__list__Y_6, &mercury__list__Zs1_8);
            }
#line 1930 "list.m"
            if (mercury__list__succeeded)
#line 1930 "list.m"
              {
#line 1931 "list.m"
                {
#line 1931 "list.m"
                  MR_Word base;
#line 1931 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1931 "list.m"
                  *mercury__list__Zs_7 = base;
#line 1931 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__X_4;
#line 1931 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Zs1_8));
#line 1931 "list.m"
                }
#line 1931 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 1930 "list.m"
              }
#line 1930 "list.m"
          }
#line 1926 "list.m"
      }
#line 1926 "list.m"
    return mercury__list__succeeded;
#line 1926 "list.m"
  }
#line 285 "list.m"
}

#line 280 "list.m"
MR_Word MR_CALL 
mercury__list__delete_all_2_f_0(
#line 280 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 280 "list.m"
  MR_Word mercury__list__Xs_4,
#line 280 "list.m"
  MR_Box mercury__list__A_5)
#line 280 "list.m"
{
#line 1935 "list.m"
  {
#line 1935 "list.m"
    MR_bool mercury__list__succeeded;
#line 1935 "list.m"
    MR_Word mercury__list__Ys_6;

#line 1935 "list.m"
    {
#line 1935 "list.m"
      mercury__list__delete_all_3_p_1(mercury__list__TypeInfo_for_T_7, mercury__list__Xs_4, mercury__list__A_5, &mercury__list__Ys_6);
    }
#line 1935 "list.m"
    return mercury__list__Ys_6;
#line 1935 "list.m"
  }
#line 280 "list.m"
}

#line 1923 "list.m"
static void MR_CALL 
mercury__list__delete_3_p_3_1(
#line 1923 "list.m"
  void * mercury__list__env_ptr_arg)
#line 1923 "list.m"
{
#line 1923 "list.m"
  {
#line 1923 "list.m"
    struct mercury__list__delete_3_p_3_env_0_s * mercury__list__env_ptr = (struct mercury__list__delete_3_p_3_env_0_s *) mercury__list__env_ptr_arg;

#line 1923 "list.m"
    {
#line 1923 "list.m"
      MR_Word base;
#line 1923 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1923 "list.m"
      *((mercury__list__env_ptr)->mercury__list__delete_3_p_3_env_0__HeadVar__1_1) = base;
#line 1923 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__delete_3_p_3_env_0__X_6;
#line 1923 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__delete_3_p_3_env_0__Xs_7));
#line 1923 "list.m"
    }
#line 1923 "list.m"
    {
#line 1923 "list.m"
      ((mercury__list__env_ptr)->mercury__list__delete_3_p_3_env_0__cont)((mercury__list__env_ptr)->mercury__list__delete_3_p_3_env_0__cont_env_ptr);
#line 1923 "list.m"
      return;
    }
#line 1923 "list.m"
  }
#line 1923 "list.m"
}

#line 278 "list.m"
void MR_CALL 
mercury__list__delete_3_p_3(
#line 278 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_10,
#line 278 "list.m"
  MR_Word * mercury__list__HeadVar__1_1,
#line 278 "list.m"
  MR_Box mercury__list__HeadVar__2_2,
#line 278 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 278 "list.m"
  MR_Cont mercury__list__cont,
#line 278 "list.m"
  void * mercury__list__cont_env_ptr)
#line 278 "list.m"
{
#line 278 "list.m"
  {
#line 278 "list.m"
    struct mercury__list__delete_3_p_3_env_0_s mercury__list__env;

#line 278 "list.m"
    (mercury__list__env).mercury__list__delete_3_p_3_env_0__HeadVar__1_1 = mercury__list__HeadVar__1_1;
#line 278 "list.m"
    (mercury__list__env).mercury__list__delete_3_p_3_env_0__cont = mercury__list__cont;
#line 278 "list.m"
    (mercury__list__env).mercury__list__delete_3_p_3_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 1922 "list.m"
    {
#line 1922 "list.m"
      MR_bool mercury__list__succeeded;

#line 1922 "list.m"
      {
#line 1922 "list.m"
        MR_Word base;
#line 1922 "list.m"
        base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1922 "list.m"
        *((mercury__list__env).mercury__list__delete_3_p_3_env_0__HeadVar__1_1) = base;
#line 1922 "list.m"
        MR_hl_field(MR_mktag(1), base, 0) = mercury__list__HeadVar__2_2;
#line 1922 "list.m"
        MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__HeadVar__3_3));
#line 1922 "list.m"
      }
#line 1922 "list.m"
      {
#line 1922 "list.m"
        ((mercury__list__env).mercury__list__delete_3_p_3_env_0__cont)((mercury__list__env).mercury__list__delete_3_p_3_env_0__cont_env_ptr);
      }
#line 1923 "list.m"
      {
#line 1923 "list.m"
        MR_Word mercury__list__L_9;

#line 1923 "list.m"
        mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1)));
#line 1923 "list.m"
        if (mercury__list__succeeded)
#line 1923 "list.m"
          {
#line 1923 "list.m"
            (mercury__list__env).mercury__list__delete_3_p_3_env_0__X_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 1923 "list.m"
            mercury__list__L_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 1924 "list.m"
            {
#line 1924 "list.m"
              mercury__list__delete_3_p_3(mercury__list__TypeInfo_for_T_10, &(mercury__list__env).mercury__list__delete_3_p_3_env_0__Xs_7, mercury__list__HeadVar__2_2, mercury__list__L_9, mercury__list__delete_3_p_3_1, &mercury__list__env);
            }
#line 1923 "list.m"
          }
#line 1923 "list.m"
      }
#line 1922 "list.m"
    }
#line 278 "list.m"
  }
#line 278 "list.m"
}

#line 1923 "list.m"
static void MR_CALL 
mercury__list__delete_3_p_2_1(
#line 1923 "list.m"
  void * mercury__list__env_ptr_arg)
#line 1923 "list.m"
{
#line 1923 "list.m"
  {
#line 1923 "list.m"
    struct mercury__list__delete_3_p_2_env_0_s * mercury__list__env_ptr = (struct mercury__list__delete_3_p_2_env_0_s *) mercury__list__env_ptr_arg;

#line 1923 "list.m"
    {
#line 1923 "list.m"
      MR_Word base;
#line 1923 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1923 "list.m"
      *((mercury__list__env_ptr)->mercury__list__delete_3_p_2_env_0__HeadVar__3_3) = base;
#line 1923 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__delete_3_p_2_env_0__V_12_12;
#line 1923 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__delete_3_p_2_env_0__L_9));
#line 1923 "list.m"
    }
#line 1923 "list.m"
    {
#line 1923 "list.m"
      ((mercury__list__env_ptr)->mercury__list__delete_3_p_2_env_0__cont)((mercury__list__env_ptr)->mercury__list__delete_3_p_2_env_0__cont_env_ptr);
#line 1923 "list.m"
      return;
    }
#line 1923 "list.m"
  }
#line 1923 "list.m"
}

#line 277 "list.m"
void MR_CALL 
mercury__list__delete_3_p_2(
#line 277 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_10,
#line 277 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 277 "list.m"
  MR_Box * mercury__list__HeadVar__2_2,
#line 277 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 277 "list.m"
  MR_Cont mercury__list__cont,
#line 277 "list.m"
  void * mercury__list__cont_env_ptr)
#line 277 "list.m"
{
#line 277 "list.m"
  {
#line 277 "list.m"
    struct mercury__list__delete_3_p_2_env_0_s mercury__list__env;

#line 277 "list.m"
    (mercury__list__env).mercury__list__delete_3_p_2_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 277 "list.m"
    (mercury__list__env).mercury__list__delete_3_p_2_env_0__cont = mercury__list__cont;
#line 277 "list.m"
    (mercury__list__env).mercury__list__delete_3_p_2_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 1922 "list.m"
    {
#line 1922 "list.m"
      MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1)));
#line 1922 "list.m"
      MR_Word mercury__list__V_11_11;

#line 1922 "list.m"
      if (mercury__list__succeeded)
#line 1922 "list.m"
        {
#line 1922 "list.m"
          (mercury__list__env).mercury__list__delete_3_p_2_env_0__V_12_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1922 "list.m"
          mercury__list__V_11_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1922 "list.m"
          *mercury__list__HeadVar__2_2 = (mercury__list__env).mercury__list__delete_3_p_2_env_0__V_12_12;
#line 1922 "list.m"
          *((mercury__list__env).mercury__list__delete_3_p_2_env_0__HeadVar__3_3) = mercury__list__V_11_11;
#line 1922 "list.m"
          {
#line 1922 "list.m"
            ((mercury__list__env).mercury__list__delete_3_p_2_env_0__cont)((mercury__list__env).mercury__list__delete_3_p_2_env_0__cont_env_ptr);
          }
#line 1923 "list.m"
          {
#line 1924 "list.m"
            {
#line 1924 "list.m"
              mercury__list__delete_3_p_2(mercury__list__TypeInfo_for_T_10, mercury__list__V_11_11, mercury__list__HeadVar__2_2, &(mercury__list__env).mercury__list__delete_3_p_2_env_0__L_9, mercury__list__delete_3_p_2_1, &mercury__list__env);
            }
#line 1923 "list.m"
          }
#line 1922 "list.m"
        }
#line 1922 "list.m"
    }
#line 277 "list.m"
  }
#line 277 "list.m"
}

#line 1923 "list.m"
static void MR_CALL 
mercury__list__delete_3_p_1_1(
#line 1923 "list.m"
  void * mercury__list__env_ptr_arg)
#line 1923 "list.m"
{
#line 1923 "list.m"
  {
#line 1923 "list.m"
    struct mercury__list__delete_3_p_1_env_0_s * mercury__list__env_ptr = (struct mercury__list__delete_3_p_1_env_0_s *) mercury__list__env_ptr_arg;

#line 1923 "list.m"
    {
#line 1923 "list.m"
      MR_Word base;
#line 1923 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1923 "list.m"
      *((mercury__list__env_ptr)->mercury__list__delete_3_p_1_env_0__HeadVar__3_3) = base;
#line 1923 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__delete_3_p_1_env_0__V_12_12;
#line 1923 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__delete_3_p_1_env_0__L_9));
#line 1923 "list.m"
    }
#line 1923 "list.m"
    {
#line 1923 "list.m"
      ((mercury__list__env_ptr)->mercury__list__delete_3_p_1_env_0__cont)((mercury__list__env_ptr)->mercury__list__delete_3_p_1_env_0__cont_env_ptr);
#line 1923 "list.m"
      return;
    }
#line 1923 "list.m"
  }
#line 1923 "list.m"
}

#line 276 "list.m"
void MR_CALL 
mercury__list__delete_3_p_1(
#line 276 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_10,
#line 276 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 276 "list.m"
  MR_Box mercury__list__HeadVar__2_2,
#line 276 "list.m"
  MR_Word * mercury__list__HeadVar__3_3,
#line 276 "list.m"
  MR_Cont mercury__list__cont,
#line 276 "list.m"
  void * mercury__list__cont_env_ptr)
#line 276 "list.m"
{
#line 276 "list.m"
  {
#line 276 "list.m"
    struct mercury__list__delete_3_p_1_env_0_s mercury__list__env;

#line 276 "list.m"
    (mercury__list__env).mercury__list__delete_3_p_1_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 276 "list.m"
    (mercury__list__env).mercury__list__delete_3_p_1_env_0__cont = mercury__list__cont;
#line 276 "list.m"
    (mercury__list__env).mercury__list__delete_3_p_1_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 1922 "list.m"
    {
#line 1922 "list.m"
      MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1)));
#line 1922 "list.m"
      MR_Word mercury__list__V_11_11;

#line 1922 "list.m"
      if (mercury__list__succeeded)
#line 1922 "list.m"
        {
#line 1922 "list.m"
          (mercury__list__env).mercury__list__delete_3_p_1_env_0__V_12_12 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1922 "list.m"
          mercury__list__V_11_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1922 "list.m"
          {
#line 1922 "list.m"
            mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_10, mercury__list__HeadVar__2_2, (mercury__list__env).mercury__list__delete_3_p_1_env_0__V_12_12);
          }
#line 1922 "list.m"
          if (mercury__list__succeeded)
#line 1922 "list.m"
            {
#line 1922 "list.m"
              *((mercury__list__env).mercury__list__delete_3_p_1_env_0__HeadVar__3_3) = mercury__list__V_11_11;
#line 1922 "list.m"
              mercury__list__succeeded = MR_TRUE;
#line 1922 "list.m"
            }
#line 1922 "list.m"
          if (mercury__list__succeeded)
#line 1922 "list.m"
            {
#line 1922 "list.m"
              ((mercury__list__env).mercury__list__delete_3_p_1_env_0__cont)((mercury__list__env).mercury__list__delete_3_p_1_env_0__cont_env_ptr);
            }
#line 1923 "list.m"
          {
#line 1924 "list.m"
            {
#line 1924 "list.m"
              mercury__list__delete_3_p_1(mercury__list__TypeInfo_for_T_10, mercury__list__V_11_11, mercury__list__HeadVar__2_2, &(mercury__list__env).mercury__list__delete_3_p_1_env_0__L_9, mercury__list__delete_3_p_1_1, &mercury__list__env);
            }
#line 1923 "list.m"
          }
#line 1922 "list.m"
        }
#line 1922 "list.m"
    }
#line 276 "list.m"
  }
#line 276 "list.m"
}

#line 275 "list.m"
MR_bool MR_CALL 
mercury__list__delete_3_p_0(
#line 275 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_10,
#line 275 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 275 "list.m"
  MR_Box mercury__list__HeadVar__2_2,
#line 275 "list.m"
  MR_Word mercury__list__HeadVar__3_3)
#line 275 "list.m"
{
#line 1922 "list.m"
  while (MR_TRUE)
#line 1922 "list.m"
    {
#line 1922 "list.m"
      /* tailcall optimized into a loop */
#line 1922 "list.m"
      {
#line 1922 "list.m"
        MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1)));
#line 1922 "list.m"
        MR_Word mercury__list__V_12_12;
#line 1922 "list.m"
        MR_Box mercury__list__V_13_13;

#line 1922 "list.m"
        if (mercury__list__succeeded)
#line 1922 "list.m"
          {
#line 1922 "list.m"
            mercury__list__V_13_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1922 "list.m"
            mercury__list__V_12_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1922 "list.m"
            {
#line 1922 "list.m"
              mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_10, mercury__list__HeadVar__2_2, mercury__list__V_13_13);
            }
#line 1922 "list.m"
            if (mercury__list__succeeded)
#line 1922 "list.m"
              {
#line 1922 "list.m"
                mercury__list__succeeded = mercury__list____Unify____list_1_0(mercury__list__TypeInfo_for_T_10, mercury__list__HeadVar__3_3, mercury__list__V_12_12);
              }
#line 1922 "list.m"
            if (!(mercury__list__succeeded))
#line 1923 "list.m"
              {
#line 1923 "list.m"
                MR_Word mercury__list__L_9;
#line 1923 "list.m"
                MR_Box mercury__list__V_11_11;

#line 1923 "list.m"
                mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1)));
#line 1923 "list.m"
                if (mercury__list__succeeded)
#line 1923 "list.m"
                  {
#line 1923 "list.m"
                    mercury__list__V_11_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 1923 "list.m"
                    mercury__list__L_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 1923 "list.m"
                    {
#line 1923 "list.m"
                      mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_10, mercury__list__V_13_13, mercury__list__V_11_11);
                    }
#line 1923 "list.m"
                    if (mercury__list__succeeded)
#line 1924 "list.m"
                      {
#line 1924 "list.m"
                        /* direct tailcall eliminated */
#line 1924 "list.m"
                        {
#line 1924 "list.m"
                          MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__V_12_12;
#line 1924 "list.m"
                          MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__L_9;

#line 1924 "list.m"
                          mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 1924 "list.m"
                          mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 1924 "list.m"
                        }
#line 1924 "list.m"
                        continue;
#line 1924 "list.m"
                      }
#line 1923 "list.m"
                  }
#line 1923 "list.m"
              }
#line 1922 "list.m"
          }
#line 1922 "list.m"
        return mercury__list__succeeded;
#line 1922 "list.m"
      }
#line 1922 "list.m"
      break;
#line 1922 "list.m"
    }
#line 275 "list.m"
}

#line 267 "list.m"
void MR_CALL 
mercury__list__insert_3_p_3(
#line 267 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 267 "list.m"
  MR_Box mercury__list__Elem_4,
#line 267 "list.m"
  MR_Word mercury__list__List0_5,
#line 267 "list.m"
  MR_Word * mercury__list__List_6,
#line 267 "list.m"
  MR_Cont mercury__list__cont,
#line 267 "list.m"
  void * mercury__list__cont_env_ptr)
#line 267 "list.m"
{
#line 1918 "list.m"
  {
#line 1918 "list.m"
    MR_bool mercury__list__succeeded;

#line 1918 "list.m"
    {
#line 1918 "list.m"
      mercury__list__delete_3_p_3(mercury__list__TypeInfo_for_T_7, mercury__list__List_6, mercury__list__Elem_4, mercury__list__List0_5, mercury__list__cont, mercury__list__cont_env_ptr);
#line 1918 "list.m"
      return;
    }
#line 1918 "list.m"
  }
#line 267 "list.m"
}

#line 266 "list.m"
void MR_CALL 
mercury__list__insert_3_p_2(
#line 266 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 266 "list.m"
  MR_Box * mercury__list__Elem_4,
#line 266 "list.m"
  MR_Word * mercury__list__List0_5,
#line 266 "list.m"
  MR_Word mercury__list__List_6,
#line 266 "list.m"
  MR_Cont mercury__list__cont,
#line 266 "list.m"
  void * mercury__list__cont_env_ptr)
#line 266 "list.m"
{
#line 1918 "list.m"
  {
#line 1918 "list.m"
    MR_bool mercury__list__succeeded;

#line 1918 "list.m"
    {
#line 1918 "list.m"
      mercury__list__delete_3_p_2(mercury__list__TypeInfo_for_T_7, mercury__list__List_6, mercury__list__Elem_4, mercury__list__List0_5, mercury__list__cont, mercury__list__cont_env_ptr);
#line 1918 "list.m"
      return;
    }
#line 1918 "list.m"
  }
#line 266 "list.m"
}

#line 265 "list.m"
void MR_CALL 
mercury__list__insert_3_p_1(
#line 265 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 265 "list.m"
  MR_Box mercury__list__Elem_4,
#line 265 "list.m"
  MR_Word * mercury__list__List0_5,
#line 265 "list.m"
  MR_Word mercury__list__List_6,
#line 265 "list.m"
  MR_Cont mercury__list__cont,
#line 265 "list.m"
  void * mercury__list__cont_env_ptr)
#line 265 "list.m"
{
#line 1918 "list.m"
  {
#line 1918 "list.m"
    MR_bool mercury__list__succeeded;

#line 1918 "list.m"
    {
#line 1918 "list.m"
      mercury__list__delete_3_p_1(mercury__list__TypeInfo_for_T_7, mercury__list__List_6, mercury__list__Elem_4, mercury__list__List0_5, mercury__list__cont, mercury__list__cont_env_ptr);
#line 1918 "list.m"
      return;
    }
#line 1918 "list.m"
  }
#line 265 "list.m"
}

#line 264 "list.m"
MR_bool MR_CALL 
mercury__list__insert_3_p_0(
#line 264 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 264 "list.m"
  MR_Box mercury__list__Elem_4,
#line 264 "list.m"
  MR_Word mercury__list__List0_5,
#line 264 "list.m"
  MR_Word mercury__list__List_6)
#line 264 "list.m"
{
#line 1918 "list.m"
  {
#line 1918 "list.m"
    MR_bool mercury__list__succeeded;

#line 1918 "list.m"
    {
#line 1918 "list.m"
      return mercury__list__succeeded = mercury__list__delete_3_p_0(mercury__list__TypeInfo_for_T_7, mercury__list__List_6, mercury__list__Elem_4, mercury__list__List0_5);
    }
#line 1918 "list.m"
    return mercury__list__succeeded;
#line 1918 "list.m"
  }
#line 264 "list.m"
}

#line 256 "list.m"
void MR_CALL 
mercury__list__det_drop_3_p_0(
#line 256 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_15,
#line 256 "list.m"
  MR_Integer mercury__list__N_4,
#line 256 "list.m"
  MR_Word mercury__list__As_5,
#line 256 "list.m"
  MR_Word * mercury__list__Bs_6)
#line 256 "list.m"
{
#line 2313 "list.m"
  while (MR_TRUE)
#line 2313 "list.m"
    {
#line 2313 "list.m"
      /* tailcall optimized into a loop */
#line 2313 "list.m"
      {
#line 2313 "list.m"
        MR_bool mercury__list__succeeded = (mercury__list__N_4 > (MR_Integer) 0);

#line 2313 "list.m"
        if (mercury__list__succeeded)
#line 2309 "list.m"
          if ((mercury__list__As_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2310 "list.m"
            {
#line 2311 "list.m"
              {
#line 2311 "list.m"
                mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.det_drop\'/3", (MR_String) "not enough elements");
#line 2311 "list.m"
                return;
              }
#line 2310 "list.m"
            }
#line 2309 "list.m"
          else
#line 2307 "list.m"
            {
#line 2307 "list.m"
              MR_Word mercury__list__TailAs_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__As_5, (MR_Integer) 1)));
#line 2307 "list.m"
              MR_Integer mercury__list__V_13_13 = (mercury__list__N_4 - (MR_Integer) 1);
#line 2307 "list.m"
              MR_Box mercury__list__V_7_7 = (MR_hl_field(MR_mktag(1), mercury__list__As_5, (MR_Integer) 0));

#line 2308 "list.m"
              /* direct tailcall eliminated */
#line 2308 "list.m"
              {
#line 2308 "list.m"
                MR_Integer mercury__list__N__tmp_copy_4 = mercury__list__V_13_13;
#line 2308 "list.m"
                MR_Word mercury__list__As__tmp_copy_5 = mercury__list__TailAs_8;

#line 2308 "list.m"
                mercury__list__As_5 = mercury__list__As__tmp_copy_5;
#line 2308 "list.m"
                mercury__list__N_4 = mercury__list__N__tmp_copy_4;
#line 2308 "list.m"
              }
#line 2308 "list.m"
              continue;
#line 2307 "list.m"
            }
#line 2313 "list.m"
        else
#line 2314 "list.m"
          *mercury__list__Bs_6 = mercury__list__As_5;
#line 2313 "list.m"
      }
#line 2313 "list.m"
      break;
#line 2313 "list.m"
    }
#line 256 "list.m"
}

#line 248 "list.m"
MR_bool MR_CALL 
mercury__list__drop_3_p_0(
#line 248 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_12,
#line 248 "list.m"
  MR_Integer mercury__list__N_4,
#line 248 "list.m"
  MR_Word mercury__list__As_5,
#line 248 "list.m"
  MR_Word * mercury__list__Bs_6)
#line 248 "list.m"
{
#line 2300 "list.m"
  while (MR_TRUE)
#line 2300 "list.m"
    {
#line 2300 "list.m"
      /* tailcall optimized into a loop */
#line 2300 "list.m"
      {
#line 2300 "list.m"
        MR_bool mercury__list__succeeded = (mercury__list__N_4 > (MR_Integer) 0);

#line 2300 "list.m"
        if (mercury__list__succeeded)
#line 2298 "list.m"
          {
#line 2298 "list.m"
            MR_Word mercury__list__TailAs_8;
#line 2298 "list.m"
            MR_Integer mercury__list__V_10_10;
#line 2298 "list.m"
            MR_Integer mercury__list__V_11_11;
#line 2298 "list.m"
            MR_Box mercury__list__V_7_7;

#line 2298 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__As_5)) == (MR_mktag((MR_Integer) 1)));
#line 2298 "list.m"
            if (mercury__list__succeeded)
#line 2298 "list.m"
              {
#line 2298 "list.m"
                mercury__list__V_7_7 = (MR_hl_field(MR_mktag(1), mercury__list__As_5, (MR_Integer) 0));
#line 2298 "list.m"
                mercury__list__TailAs_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__As_5, (MR_Integer) 1)));
#line 2299 "list.m"
                mercury__list__V_11_11 = (MR_Integer) 1;
#line 2299 "list.m"
                mercury__list__V_10_10 = (mercury__list__N_4 - mercury__list__V_11_11);
#line 2299 "list.m"
                {
#line 2299 "list.m"
                  /* direct tailcall eliminated */
#line 2299 "list.m"
                  {
#line 2299 "list.m"
                    MR_Integer mercury__list__N__tmp_copy_4 = mercury__list__V_10_10;
#line 2299 "list.m"
                    MR_Word mercury__list__As__tmp_copy_5 = mercury__list__TailAs_8;

#line 2299 "list.m"
                    mercury__list__As_5 = mercury__list__As__tmp_copy_5;
#line 2299 "list.m"
                    mercury__list__N_4 = mercury__list__N__tmp_copy_4;
#line 2299 "list.m"
                  }
#line 2299 "list.m"
                  continue;
#line 2299 "list.m"
                }
#line 2298 "list.m"
              }
#line 2298 "list.m"
          }
#line 2300 "list.m"
        else
#line 2301 "list.m"
          {
#line 2301 "list.m"
            *mercury__list__Bs_6 = mercury__list__As_5;
#line 2301 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 2301 "list.m"
          }
#line 2300 "list.m"
        return mercury__list__succeeded;
#line 2300 "list.m"
      }
#line 2300 "list.m"
      break;
#line 2300 "list.m"
    }
#line 248 "list.m"
}

#line 240 "list.m"
MR_Word MR_CALL 
mercury__list__take_upto_2_f_0(
#line 240 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 240 "list.m"
  MR_Integer mercury__list__N_4,
#line 240 "list.m"
  MR_Word mercury__list__Xs_5)
#line 240 "list.m"
{
#line 2292 "list.m"
  {
#line 2292 "list.m"
    MR_bool mercury__list__succeeded;
#line 2292 "list.m"
    MR_Word mercury__list__Ys_6;
#line 2292 "list.m"
    MR_Word mercury__list__Bs0_11;

#line 2290 "list.m"
    {
#line 2290 "list.m"
      mercury__list__succeeded = mercury__list__take_3_p_0(mercury__list__TypeInfo_for_T_7, mercury__list__N_4, mercury__list__Xs_5, &mercury__list__Bs0_11);
    }
#line 2292 "list.m"
    if (mercury__list__succeeded)
#line 2291 "list.m"
      mercury__list__Ys_6 = mercury__list__Bs0_11;
#line 2292 "list.m"
    else
#line 2293 "list.m"
      mercury__list__Ys_6 = mercury__list__Xs_5;
#line 2292 "list.m"
    return mercury__list__Ys_6;
#line 2292 "list.m"
  }
#line 240 "list.m"
}

#line 239 "list.m"
void MR_CALL 
mercury__list__take_upto_3_p_0(
#line 239 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_8,
#line 239 "list.m"
  MR_Integer mercury__list__N_4,
#line 239 "list.m"
  MR_Word mercury__list__As_5,
#line 239 "list.m"
  MR_Word * mercury__list__Bs_6)
#line 239 "list.m"
{
#line 2292 "list.m"
  {
#line 2292 "list.m"
    MR_bool mercury__list__succeeded;
#line 2292 "list.m"
    MR_Word mercury__list__Bs0_7;

#line 2290 "list.m"
    {
#line 2290 "list.m"
      mercury__list__succeeded = mercury__list__take_3_p_0(mercury__list__TypeInfo_for_T_8, mercury__list__N_4, mercury__list__As_5, &mercury__list__Bs0_7);
    }
#line 2292 "list.m"
    if (mercury__list__succeeded)
#line 2291 "list.m"
      *mercury__list__Bs_6 = mercury__list__Bs0_7;
#line 2292 "list.m"
    else
#line 2293 "list.m"
      *mercury__list__Bs_6 = mercury__list__As_5;
#line 2292 "list.m"
  }
#line 239 "list.m"
}

#line 232 "list.m"
void MR_CALL 
mercury__list__det_take_3_p_0(
#line 232 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_11,
#line 232 "list.m"
  MR_Integer mercury__list__N_4,
#line 232 "list.m"
  MR_Word mercury__list__As_5,
#line 232 "list.m"
  MR_Word * mercury__list__Bs_6)
#line 232 "list.m"
{
#line 2282 "list.m"
  {
#line 2282 "list.m"
    MR_bool mercury__list__succeeded;
#line 2282 "list.m"
    MR_Word mercury__list__BsPrime_7;

#line 2280 "list.m"
    {
#line 2280 "list.m"
      mercury__list__succeeded = mercury__list__take_3_p_0(mercury__list__TypeInfo_for_T_11, mercury__list__N_4, mercury__list__As_5, &mercury__list__BsPrime_7);
    }
#line 2282 "list.m"
    if (mercury__list__succeeded)
#line 2281 "list.m"
      *mercury__list__Bs_6 = mercury__list__BsPrime_7;
#line 2282 "list.m"
    else
#line 2283 "list.m"
      {
#line 2283 "list.m"
        {
#line 2283 "list.m"
          mercury__require__unexpected_3_p_0((MR_String) "list.m", (MR_String) "predicate \140list.det_take\'/3", (MR_String) "not enough elements");
#line 2283 "list.m"
          return;
        }
#line 2283 "list.m"
      }
#line 2282 "list.m"
  }
#line 232 "list.m"
}

#line 226 "list.m"
MR_bool MR_CALL 
mercury__list__take_3_p_0(
#line 226 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_13,
#line 226 "list.m"
  MR_Integer mercury__list__N_4,
#line 226 "list.m"
  MR_Word mercury__list__Xs0_5,
#line 226 "list.m"
  MR_Word * mercury__list__Xs_6)
#line 226 "list.m"
{
#line 2275 "list.m"
  {
#line 2275 "list.m"
    MR_bool mercury__list__succeeded = (mercury__list__N_4 > (MR_Integer) 0);

#line 2275 "list.m"
    if (mercury__list__succeeded)
#line 2272 "list.m"
      {
#line 2272 "list.m"
        MR_Box mercury__list__X_7;
#line 2272 "list.m"
        MR_Word mercury__list__Xs1_8;
#line 2272 "list.m"
        MR_Word mercury__list__Xs2_9;
#line 2272 "list.m"
        MR_Integer mercury__list__V_11_11;
#line 2272 "list.m"
        MR_Integer mercury__list__V_12_12;

#line 2272 "list.m"
        mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__Xs0_5)) == (MR_mktag((MR_Integer) 1)));
#line 2272 "list.m"
        if (mercury__list__succeeded)
#line 2272 "list.m"
          {
#line 2272 "list.m"
            mercury__list__X_7 = (MR_hl_field(MR_mktag(1), mercury__list__Xs0_5, (MR_Integer) 0));
#line 2272 "list.m"
            mercury__list__Xs1_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__Xs0_5, (MR_Integer) 1)));
#line 2273 "list.m"
            mercury__list__V_12_12 = (MR_Integer) 1;
#line 2273 "list.m"
            mercury__list__V_11_11 = (mercury__list__N_4 - mercury__list__V_12_12);
#line 2273 "list.m"
            {
#line 2273 "list.m"
              mercury__list__succeeded = mercury__list__take_3_p_0(mercury__list__TypeInfo_for_T_13, mercury__list__V_11_11, mercury__list__Xs1_8, &mercury__list__Xs2_9);
            }
#line 2272 "list.m"
            if (mercury__list__succeeded)
#line 2272 "list.m"
              {
#line 2274 "list.m"
                {
#line 2274 "list.m"
                  MR_Word base;
#line 2274 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2274 "list.m"
                  *mercury__list__Xs_6 = base;
#line 2274 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__X_7;
#line 2274 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Xs2_9));
#line 2274 "list.m"
                }
#line 2274 "list.m"
                mercury__list__succeeded = MR_TRUE;
#line 2272 "list.m"
              }
#line 2272 "list.m"
          }
#line 2272 "list.m"
      }
#line 2275 "list.m"
    else
#line 2276 "list.m"
      {
#line 2276 "list.m"
        *mercury__list__Xs_6 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2276 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2276 "list.m"
      }
#line 2275 "list.m"
    return mercury__list__succeeded;
#line 2275 "list.m"
  }
#line 226 "list.m"
}

#line 218 "list.m"
void MR_CALL 
mercury__list__split_upto_4_p_0(
#line 218 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_15,
#line 218 "list.m"
  MR_Integer mercury__list__N_5,
#line 218 "list.m"
  MR_Word mercury__list__List_6,
#line 218 "list.m"
  MR_Word * mercury__list__Start_7,
#line 218 "list.m"
  MR_Word * mercury__list__End_8)
#line 218 "list.m"
{
#line 2265 "list.m"
  {
#line 2265 "list.m"
    MR_bool mercury__list__succeeded = (mercury__list__N_5 > (MR_Integer) 0);
#line 2265 "list.m"
    MR_Box mercury__list__Head_9;
#line 2265 "list.m"
    MR_Word mercury__list__List1_10;

#line 2260 "list.m"
    if (mercury__list__succeeded)
#line 2260 "list.m"
      {
#line 2261 "list.m"
        mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__List_6)) == (MR_mktag((MR_Integer) 1)));
#line 2261 "list.m"
        if (mercury__list__succeeded)
#line 2261 "list.m"
          {
#line 2261 "list.m"
            mercury__list__Head_9 = (MR_hl_field(MR_mktag(1), mercury__list__List_6, (MR_Integer) 0));
#line 2261 "list.m"
            mercury__list__List1_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__List_6, (MR_Integer) 1)));
#line 2261 "list.m"
          }
#line 2260 "list.m"
      }
#line 2265 "list.m"
    if (mercury__list__succeeded)
#line 2263 "list.m"
      {
#line 2263 "list.m"
        MR_Word mercury__list__Start1_11;
#line 2263 "list.m"
        MR_Integer mercury__list__V_13_13 = (mercury__list__N_5 - (MR_Integer) 1);

#line 2263 "list.m"
        {
#line 2263 "list.m"
          mercury__list__split_upto_4_p_0(mercury__list__TypeInfo_for_T_15, mercury__list__V_13_13, mercury__list__List1_10, &mercury__list__Start1_11, mercury__list__End_8);
        }
#line 2264 "list.m"
        {
#line 2264 "list.m"
          MR_Word base;
#line 2264 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2264 "list.m"
          *mercury__list__Start_7 = base;
#line 2264 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__Head_9;
#line 2264 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Start1_11));
#line 2264 "list.m"
        }
#line 2263 "list.m"
      }
#line 2265 "list.m"
    else
#line 2266 "list.m"
      {
#line 2266 "list.m"
        *mercury__list__Start_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2267 "list.m"
        *mercury__list__End_8 = mercury__list__List_6;
#line 2266 "list.m"
      }
#line 2265 "list.m"
  }
#line 218 "list.m"
}

#line 210 "list.m"
void MR_CALL 
mercury__list__det_split_list_4_p_0(
#line 210 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_14,
#line 210 "list.m"
  MR_Integer mercury__list__N_5,
#line 210 "list.m"
  MR_Word mercury__list__List_6,
#line 210 "list.m"
  MR_Word * mercury__list__Start_7,
#line 210 "list.m"
  MR_Word * mercury__list__End_8)
#line 210 "list.m"
{
#line 2254 "list.m"
  {
#line 2254 "list.m"
    MR_bool mercury__list__succeeded;
#line 2254 "list.m"
    MR_Word mercury__list__Start0_9;
#line 2254 "list.m"
    MR_Word mercury__list__End0_10;

#line 2251 "list.m"
    {
#line 2251 "list.m"
      mercury__list__succeeded = mercury__list__split_list_4_p_0(mercury__list__TypeInfo_for_T_14, mercury__list__N_5, mercury__list__List_6, &mercury__list__Start0_9, &mercury__list__End0_10);
    }
#line 2254 "list.m"
    if (mercury__list__succeeded)
#line 2252 "list.m"
      {
#line 2252 "list.m"
        *mercury__list__Start_7 = mercury__list__Start0_9;
#line 2253 "list.m"
        *mercury__list__End_8 = mercury__list__End0_10;
#line 2252 "list.m"
      }
#line 2254 "list.m"
    else
#line 2255 "list.m"
      {
#line 2255 "list.m"
        {
#line 2255 "list.m"
          mercury__require__unexpected_3_p_0((MR_String) "list", (MR_String) "predicate \140list.det_split_list\'/4", (MR_String) "index out of range");
#line 2255 "list.m"
          return;
        }
#line 2255 "list.m"
      }
#line 2254 "list.m"
  }
#line 210 "list.m"
}

#line 202 "list.m"
MR_bool MR_CALL 
mercury__list__split_list_4_p_0(
#line 202 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_15,
#line 202 "list.m"
  MR_Integer mercury__list__N_5,
#line 202 "list.m"
  MR_Word mercury__list__List_6,
#line 202 "list.m"
  MR_Word * mercury__list__Start_7,
#line 202 "list.m"
  MR_Word * mercury__list__End_8)
#line 202 "list.m"
{
#line 2243 "list.m"
  {
#line 2243 "list.m"
    MR_bool mercury__list__succeeded = (mercury__list__N_5 == (MR_Integer) 0);

#line 2243 "list.m"
    if (mercury__list__succeeded)
#line 2241 "list.m"
      {
#line 2241 "list.m"
        *mercury__list__Start_7 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2242 "list.m"
        *mercury__list__End_8 = mercury__list__List_6;
#line 2241 "list.m"
        mercury__list__succeeded = MR_TRUE;
#line 2241 "list.m"
      }
#line 2243 "list.m"
    else
#line 2244 "list.m"
      {
#line 2244 "list.m"
        MR_Box mercury__list__Head_9;
#line 2244 "list.m"
        MR_Word mercury__list__List1_10;
#line 2244 "list.m"
        MR_Word mercury__list__Start1_11;
#line 2244 "list.m"
        MR_Integer mercury__list__V_13_13;
#line 2244 "list.m"
        MR_Integer mercury__list__V_14_14;

#line 2244 "list.m"
        mercury__list__succeeded = (mercury__list__N_5 > (MR_Integer) 0);
#line 2244 "list.m"
        if (mercury__list__succeeded)
#line 2244 "list.m"
          {
#line 2245 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__List_6)) == (MR_mktag((MR_Integer) 1)));
#line 2245 "list.m"
            if (mercury__list__succeeded)
#line 2245 "list.m"
              {
#line 2245 "list.m"
                mercury__list__Head_9 = (MR_hl_field(MR_mktag(1), mercury__list__List_6, (MR_Integer) 0));
#line 2245 "list.m"
                mercury__list__List1_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__List_6, (MR_Integer) 1)));
#line 2247 "list.m"
                mercury__list__V_14_14 = (MR_Integer) 1;
#line 2247 "list.m"
                mercury__list__V_13_13 = (mercury__list__N_5 - mercury__list__V_14_14);
#line 2247 "list.m"
                {
#line 2247 "list.m"
                  mercury__list__succeeded = mercury__list__split_list_4_p_0(mercury__list__TypeInfo_for_T_15, mercury__list__V_13_13, mercury__list__List1_10, &mercury__list__Start1_11, mercury__list__End_8);
                }
#line 2244 "list.m"
                if (mercury__list__succeeded)
#line 2244 "list.m"
                  {
#line 2246 "list.m"
                    {
#line 2246 "list.m"
                      MR_Word base;
#line 2246 "list.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2246 "list.m"
                      *mercury__list__Start_7 = base;
#line 2246 "list.m"
                      MR_hl_field(MR_mktag(1), base, 0) = mercury__list__Head_9;
#line 2246 "list.m"
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Start1_11));
#line 2246 "list.m"
                    }
#line 2246 "list.m"
                    mercury__list__succeeded = MR_TRUE;
#line 2244 "list.m"
                  }
#line 2245 "list.m"
              }
#line 2244 "list.m"
          }
#line 2244 "list.m"
      }
#line 2243 "list.m"
    return mercury__list__succeeded;
#line 2243 "list.m"
  }
#line 202 "list.m"
}

#line 194 "list.m"
MR_bool MR_CALL 
mercury__list__same_length3_3_p_0(
#line 194 "list.m"
  MR_Word mercury__list__TypeInfo_for_T1_10,
#line 194 "list.m"
  MR_Word mercury__list__TypeInfo_for_T2_11,
#line 194 "list.m"
  MR_Word mercury__list__TypeInfo_for_T3_12,
#line 194 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 194 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 194 "list.m"
  MR_Word mercury__list__HeadVar__3_3)
#line 194 "list.m"
{
#line 1911 "list.m"
  while (MR_TRUE)
#line 1911 "list.m"
    {
#line 1911 "list.m"
      /* tailcall optimized into a loop */
#line 1911 "list.m"
      {
#line 1911 "list.m"
        MR_bool mercury__list__succeeded;

#line 1911 "list.m"
        if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1911 "list.m"
          {
#line 1911 "list.m"
            mercury__list__succeeded = (mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 1911 "list.m"
            if (mercury__list__succeeded)
#line 1911 "list.m"
              mercury__list__succeeded = (mercury__list__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 1911 "list.m"
          }
#line 1911 "list.m"
        else
#line 1912 "list.m"
          {
#line 1912 "list.m"
            MR_Word mercury__list__L1_5 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1912 "list.m"
            MR_Word mercury__list__L2_7;
#line 1912 "list.m"
            MR_Word mercury__list__L3_9;
#line 1912 "list.m"
            MR_Box mercury__list__V_4_4 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1912 "list.m"
            MR_Box mercury__list__V_6_6;
#line 1912 "list.m"
            MR_Box mercury__list__V_8_8;

#line 1912 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 1912 "list.m"
            if (mercury__list__succeeded)
#line 1912 "list.m"
              {
#line 1912 "list.m"
                mercury__list__V_6_6 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 1912 "list.m"
                mercury__list__L2_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 1912 "list.m"
                mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1)));
#line 1912 "list.m"
                if (mercury__list__succeeded)
#line 1912 "list.m"
                  {
#line 1912 "list.m"
                    mercury__list__V_8_8 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 1912 "list.m"
                    mercury__list__L3_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 1913 "list.m"
                    /* direct tailcall eliminated */
#line 1913 "list.m"
                    {
#line 1913 "list.m"
                      MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__L1_5;
#line 1913 "list.m"
                      MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__L2_7;
#line 1913 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__L3_9;

#line 1913 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 1913 "list.m"
                      mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 1913 "list.m"
                      mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 1913 "list.m"
                    }
#line 1913 "list.m"
                    continue;
#line 1912 "list.m"
                  }
#line 1912 "list.m"
              }
#line 1912 "list.m"
          }
#line 1911 "list.m"
        return mercury__list__succeeded;
#line 1911 "list.m"
      }
#line 1911 "list.m"
      break;
#line 1911 "list.m"
    }
#line 194 "list.m"
}

#line 187 "list.m"
MR_bool MR_CALL 
mercury__list__same_length_2_p_0(
#line 187 "list.m"
  MR_Word mercury__list__TypeInfo_for_T1_7,
#line 187 "list.m"
  MR_Word mercury__list__TypeInfo_for_T2_8,
#line 187 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 187 "list.m"
  MR_Word mercury__list__HeadVar__2_2)
#line 187 "list.m"
{
#line 1907 "list.m"
  while (MR_TRUE)
#line 1907 "list.m"
    {
#line 1907 "list.m"
      /* tailcall optimized into a loop */
#line 1907 "list.m"
      {
#line 1907 "list.m"
        MR_bool mercury__list__succeeded;

#line 1907 "list.m"
        if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1907 "list.m"
          mercury__list__succeeded = (mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 1907 "list.m"
        else
#line 1908 "list.m"
          {
#line 1908 "list.m"
            MR_Word mercury__list__L1_4 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1908 "list.m"
            MR_Word mercury__list__L2_6;
#line 1908 "list.m"
            MR_Box mercury__list__V_3_3 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1908 "list.m"
            MR_Box mercury__list__V_5_5;

#line 1908 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 1908 "list.m"
            if (mercury__list__succeeded)
#line 1908 "list.m"
              {
#line 1908 "list.m"
                mercury__list__V_5_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 1908 "list.m"
                mercury__list__L2_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 1909 "list.m"
                /* direct tailcall eliminated */
#line 1909 "list.m"
                {
#line 1909 "list.m"
                  MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__L1_4;
#line 1909 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__L2_6;

#line 1909 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 1909 "list.m"
                  mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 1909 "list.m"
                }
#line 1909 "list.m"
                continue;
#line 1908 "list.m"
              }
#line 1908 "list.m"
          }
#line 1907 "list.m"
        return mercury__list__succeeded;
#line 1907 "list.m"
      }
#line 1907 "list.m"
      break;
#line 1907 "list.m"
    }
#line 187 "list.m"
}

#line 176 "list.m"
MR_Integer MR_CALL 
mercury__list__length_1_f_0(
#line 176 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_5,
#line 176 "list.m"
  MR_Word mercury__list__Xs_3)
#line 176 "list.m"
{
#line 2080 "list.m"
  {
#line 2080 "list.m"
    MR_bool mercury__list__succeeded;
#line 2080 "list.m"
    MR_Integer mercury__list__N_4;

#line 2081 "list.m"
    {
#line 2081 "list.m"
      mercury__list__length_2_3_p_0(mercury__list__TypeInfo_for_T_5, mercury__list__Xs_3, (MR_Integer) 0, &mercury__list__N_4);
    }
#line 2080 "list.m"
    return mercury__list__N_4;
#line 2080 "list.m"
  }
#line 176 "list.m"
}

#line 172 "list.m"
void MR_CALL 
mercury__list__length_2_p_0(
#line 172 "list.m"
  MR_Word mercury__list__TypeInfo_for__T_6,
#line 172 "list.m"
  MR_Word mercury__list__L_3,
#line 172 "list.m"
  MR_Integer * mercury__list__N_4)
#line 172 "list.m"
{
#line 2080 "list.m"
  {
#line 2080 "list.m"
    MR_bool mercury__list__succeeded;

#line 2081 "list.m"
    {
#line 2081 "list.m"
      mercury__list__length_2_3_p_0(mercury__list__TypeInfo_for__T_6, mercury__list__L_3, (MR_Integer) 0, mercury__list__N_4);
#line 2081 "list.m"
      return;
    }
#line 2080 "list.m"
  }
#line 172 "list.m"
}

#line 164 "list.m"
MR_bool MR_CALL 
mercury__list__contains_2_p_0(
#line 164 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_5,
#line 164 "list.m"
  MR_Word mercury__list__List_3,
#line 164 "list.m"
  MR_Box mercury__list__Elem_4)
#line 164 "list.m"
{
#line 2029 "list.m"
  {
#line 2029 "list.m"
    MR_bool mercury__list__succeeded;

#line 2029 "list.m"
    {
#line 2029 "list.m"
      return mercury__list__succeeded = mercury__list__member_2_p_0(mercury__list__TypeInfo_for_T_5, mercury__list__Elem_4, mercury__list__List_3);
    }
#line 2029 "list.m"
    return mercury__list__succeeded;
#line 2029 "list.m"
  }
#line 164 "list.m"
}

#line 2025 "list.m"
static void MR_CALL 
mercury__list__member_index0_3_p_2_1(
#line 2025 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2025 "list.m"
{
#line 2025 "list.m"
  {
#line 2025 "list.m"
    struct mercury__list__member_index0_3_p_2_env_0_s * mercury__list__env_ptr = (struct mercury__list__member_index0_3_p_2_env_0_s *) mercury__list__env_ptr_arg;

#line 2025 "list.m"
    *((mercury__list__env_ptr)->mercury__list__member_index0_3_p_2_env_0__HeadVar__3_3) = ((mercury__list__env_ptr)->mercury__list__member_index0_3_p_2_env_0__Index_9 + (MR_Integer) 1);
#line 2025 "list.m"
    {
#line 2025 "list.m"
      ((mercury__list__env_ptr)->mercury__list__member_index0_3_p_2_env_0__cont)((mercury__list__env_ptr)->mercury__list__member_index0_3_p_2_env_0__cont_env_ptr);
#line 2025 "list.m"
      return;
    }
#line 2025 "list.m"
  }
#line 2025 "list.m"
}

#line 158 "list.m"
void MR_CALL 
mercury__list__member_index0_3_p_2(
#line 158 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_11,
#line 158 "list.m"
  MR_Box * mercury__list__X_1,
#line 158 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 158 "list.m"
  MR_Integer * mercury__list__HeadVar__3_3,
#line 158 "list.m"
  MR_Cont mercury__list__cont,
#line 158 "list.m"
  void * mercury__list__cont_env_ptr)
#line 158 "list.m"
{
#line 158 "list.m"
  {
#line 158 "list.m"
    struct mercury__list__member_index0_3_p_2_env_0_s mercury__list__env;

#line 158 "list.m"
    (mercury__list__env).mercury__list__member_index0_3_p_2_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 158 "list.m"
    (mercury__list__env).mercury__list__member_index0_3_p_2_env_0__cont = mercury__list__cont;
#line 158 "list.m"
    (mercury__list__env).mercury__list__member_index0_3_p_2_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2024 "list.m"
    {
#line 2024 "list.m"
      MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 2024 "list.m"
      MR_Word mercury__list__V_12_12;
#line 2024 "list.m"
      MR_Box mercury__list__V_13_13;

#line 2024 "list.m"
      if (mercury__list__succeeded)
#line 2024 "list.m"
        {
#line 2024 "list.m"
          mercury__list__V_13_13 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2024 "list.m"
          mercury__list__V_12_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2024 "list.m"
          *mercury__list__X_1 = mercury__list__V_13_13;
#line 2024 "list.m"
          *((mercury__list__env).mercury__list__member_index0_3_p_2_env_0__HeadVar__3_3) = (MR_Integer) 0;
#line 2024 "list.m"
          {
#line 2024 "list.m"
            ((mercury__list__env).mercury__list__member_index0_3_p_2_env_0__cont)((mercury__list__env).mercury__list__member_index0_3_p_2_env_0__cont_env_ptr);
          }
#line 2025 "list.m"
          {
#line 2026 "list.m"
            {
#line 2026 "list.m"
              mercury__list__member_index0_3_p_2(mercury__list__TypeInfo_for_T_11, mercury__list__X_1, mercury__list__V_12_12, &(mercury__list__env).mercury__list__member_index0_3_p_2_env_0__Index_9, mercury__list__member_index0_3_p_2_1, &mercury__list__env);
            }
#line 2025 "list.m"
          }
#line 2024 "list.m"
        }
#line 2024 "list.m"
    }
#line 158 "list.m"
  }
#line 158 "list.m"
}

#line 2025 "list.m"
static void MR_CALL 
mercury__list__member_index0_3_p_1_1(
#line 2025 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2025 "list.m"
{
#line 2025 "list.m"
  {
#line 2025 "list.m"
    struct mercury__list__member_index0_3_p_1_env_0_s * mercury__list__env_ptr = (struct mercury__list__member_index0_3_p_1_env_0_s *) mercury__list__env_ptr_arg;

#line 2025 "list.m"
    *((mercury__list__env_ptr)->mercury__list__member_index0_3_p_1_env_0__HeadVar__3_3) = ((mercury__list__env_ptr)->mercury__list__member_index0_3_p_1_env_0__Index_9 + (MR_Integer) 1);
#line 2025 "list.m"
    {
#line 2025 "list.m"
      ((mercury__list__env_ptr)->mercury__list__member_index0_3_p_1_env_0__cont)((mercury__list__env_ptr)->mercury__list__member_index0_3_p_1_env_0__cont_env_ptr);
#line 2025 "list.m"
      return;
    }
#line 2025 "list.m"
  }
#line 2025 "list.m"
}

#line 157 "list.m"
void MR_CALL 
mercury__list__member_index0_3_p_1(
#line 157 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_11,
#line 157 "list.m"
  MR_Box mercury__list__X_1,
#line 157 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 157 "list.m"
  MR_Integer * mercury__list__HeadVar__3_3,
#line 157 "list.m"
  MR_Cont mercury__list__cont,
#line 157 "list.m"
  void * mercury__list__cont_env_ptr)
#line 157 "list.m"
{
#line 157 "list.m"
  {
#line 157 "list.m"
    struct mercury__list__member_index0_3_p_1_env_0_s mercury__list__env;

#line 157 "list.m"
    (mercury__list__env).mercury__list__member_index0_3_p_1_env_0__HeadVar__3_3 = mercury__list__HeadVar__3_3;
#line 157 "list.m"
    (mercury__list__env).mercury__list__member_index0_3_p_1_env_0__cont = mercury__list__cont;
#line 157 "list.m"
    (mercury__list__env).mercury__list__member_index0_3_p_1_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2024 "list.m"
    {
#line 2024 "list.m"
      MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 2024 "list.m"
      MR_Word mercury__list__V_13_13;
#line 2024 "list.m"
      MR_Box mercury__list__V_14_14;

#line 2024 "list.m"
      if (mercury__list__succeeded)
#line 2024 "list.m"
        {
#line 2024 "list.m"
          mercury__list__V_14_14 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2024 "list.m"
          mercury__list__V_13_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2024 "list.m"
          {
#line 2024 "list.m"
            mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_11, mercury__list__X_1, mercury__list__V_14_14);
          }
#line 2024 "list.m"
          if (mercury__list__succeeded)
#line 2024 "list.m"
            {
#line 2024 "list.m"
              *((mercury__list__env).mercury__list__member_index0_3_p_1_env_0__HeadVar__3_3) = (MR_Integer) 0;
#line 2024 "list.m"
              mercury__list__succeeded = MR_TRUE;
#line 2024 "list.m"
            }
#line 2024 "list.m"
          if (mercury__list__succeeded)
#line 2024 "list.m"
            {
#line 2024 "list.m"
              ((mercury__list__env).mercury__list__member_index0_3_p_1_env_0__cont)((mercury__list__env).mercury__list__member_index0_3_p_1_env_0__cont_env_ptr);
            }
#line 2025 "list.m"
          {
#line 2026 "list.m"
            {
#line 2026 "list.m"
              mercury__list__member_index0_3_p_1(mercury__list__TypeInfo_for_T_11, mercury__list__X_1, mercury__list__V_13_13, &(mercury__list__env).mercury__list__member_index0_3_p_1_env_0__Index_9, mercury__list__member_index0_3_p_1_1, &mercury__list__env);
            }
#line 2025 "list.m"
          }
#line 2024 "list.m"
        }
#line 2024 "list.m"
    }
#line 157 "list.m"
  }
#line 157 "list.m"
}

#line 156 "list.m"
MR_bool MR_CALL 
mercury__list__member_index0_3_p_0(
#line 156 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_11,
#line 156 "list.m"
  MR_Box mercury__list__X_1,
#line 156 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 156 "list.m"
  MR_Integer mercury__list__HeadVar__3_3)
#line 156 "list.m"
{
#line 2024 "list.m"
  while (MR_TRUE)
#line 2024 "list.m"
    {
#line 2024 "list.m"
      /* tailcall optimized into a loop */
#line 2024 "list.m"
      {
#line 2024 "list.m"
        MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 2024 "list.m"
        MR_Word mercury__list__V_13_13;
#line 2024 "list.m"
        MR_Box mercury__list__V_14_14;

#line 2024 "list.m"
        if (mercury__list__succeeded)
#line 2024 "list.m"
          {
#line 2024 "list.m"
            mercury__list__V_14_14 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2024 "list.m"
            mercury__list__V_13_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2024 "list.m"
            {
#line 2024 "list.m"
              mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_11, mercury__list__X_1, mercury__list__V_14_14);
            }
#line 2024 "list.m"
            if (mercury__list__succeeded)
#line 2024 "list.m"
              mercury__list__succeeded = (mercury__list__HeadVar__3_3 == (MR_Integer) 0);
#line 2024 "list.m"
            if (!(mercury__list__succeeded))
#line 2025 "list.m"
              {
#line 2025 "list.m"
                MR_Integer mercury__list__Index_9 = (mercury__list__HeadVar__3_3 - (MR_Integer) 1);

#line 2026 "list.m"
                /* direct tailcall eliminated */
#line 2026 "list.m"
                {
#line 2026 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_13_13;
#line 2026 "list.m"
                  MR_Integer mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Index_9;

#line 2026 "list.m"
                  mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 2026 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2026 "list.m"
                }
#line 2026 "list.m"
                continue;
#line 2025 "list.m"
              }
#line 2024 "list.m"
          }
#line 2024 "list.m"
        return mercury__list__succeeded;
#line 2024 "list.m"
      }
#line 2024 "list.m"
      break;
#line 2024 "list.m"
    }
#line 156 "list.m"
}

#line 2020 "list.m"
static void MR_CALL 
mercury__list__member_3_p_0_1(
#line 2020 "list.m"
  void * mercury__list__env_ptr_arg)
#line 2020 "list.m"
{
#line 2020 "list.m"
  {
#line 2020 "list.m"
    struct mercury__list__member_3_p_0_env_0_s * mercury__list__env_ptr = (struct mercury__list__member_3_p_0_env_0_s *) mercury__list__env_ptr_arg;

#line 2020 "list.m"
    {
#line 2021 "list.m"
      MR_Word mercury__list__V_7_7;

#line 2021 "list.m"
      (mercury__list__env_ptr)->mercury__list__member_3_p_0_env_0__succeeded = ((MR_tag((MR_Word) *((mercury__list__env_ptr)->mercury__list__member_3_p_0_env_0__SubList_6))) == (MR_mktag((MR_Integer) 1)));
#line 2021 "list.m"
      if ((mercury__list__env_ptr)->mercury__list__member_3_p_0_env_0__succeeded)
#line 2021 "list.m"
        {
#line 2021 "list.m"
          {
#line 2021 "list.m"
            *((mercury__list__env_ptr)->mercury__list__member_3_p_0_env_0__Element_4) = (MR_hl_field(MR_mktag(1), *((mercury__list__env_ptr)->mercury__list__member_3_p_0_env_0__SubList_6), (MR_Integer) 0));
#line 2021 "list.m"
            mercury__list__V_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), *((mercury__list__env_ptr)->mercury__list__member_3_p_0_env_0__SubList_6), (MR_Integer) 1)));
#line 2021 "list.m"
          }
#line 2021 "list.m"
          {
#line 2021 "list.m"
            ((mercury__list__env_ptr)->mercury__list__member_3_p_0_env_0__cont)((mercury__list__env_ptr)->mercury__list__member_3_p_0_env_0__cont_env_ptr);
#line 2021 "list.m"
            return;
          }
#line 2021 "list.m"
        }
#line 2020 "list.m"
    }
#line 2020 "list.m"
  }
#line 2020 "list.m"
}

#line 149 "list.m"
void MR_CALL 
mercury__list__member_3_p_0(
#line 149 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 149 "list.m"
  MR_Box * mercury__list__Element_4,
#line 149 "list.m"
  MR_Word mercury__list__List_5,
#line 149 "list.m"
  MR_Word * mercury__list__SubList_6,
#line 149 "list.m"
  MR_Cont mercury__list__cont,
#line 149 "list.m"
  void * mercury__list__cont_env_ptr)
#line 149 "list.m"
{
#line 149 "list.m"
  {
#line 149 "list.m"
    struct mercury__list__member_3_p_0_env_0_s mercury__list__env;

#line 149 "list.m"
    (mercury__list__env).mercury__list__member_3_p_0_env_0__Element_4 = mercury__list__Element_4;
#line 149 "list.m"
    (mercury__list__env).mercury__list__member_3_p_0_env_0__SubList_6 = mercury__list__SubList_6;
#line 149 "list.m"
    (mercury__list__env).mercury__list__member_3_p_0_env_0__cont = mercury__list__cont;
#line 149 "list.m"
    (mercury__list__env).mercury__list__member_3_p_0_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 2020 "list.m"
    {
#line 2022 "list.m"
      MR_Word mercury__list__V_8_8;

#line 2022 "list.m"
      {
#line 2022 "list.m"
        mercury__list__append_3_p_4(mercury__list__TypeInfo_for_T_9, &mercury__list__V_8_8, (mercury__list__env).mercury__list__member_3_p_0_env_0__SubList_6, mercury__list__List_5, mercury__list__member_3_p_0_1, &mercury__list__env);
      }
#line 2020 "list.m"
    }
#line 149 "list.m"
  }
#line 149 "list.m"
}

#line 141 "list.m"
void MR_CALL 
mercury__list__member_2_p_1(
#line 141 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_8,
#line 141 "list.m"
  MR_Box * mercury__list__X_1,
#line 141 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 141 "list.m"
  MR_Cont mercury__list__cont,
#line 141 "list.m"
  void * mercury__list__cont_env_ptr)
#line 141 "list.m"
{
#line 2016 "list.m"
  while (MR_TRUE)
#line 2016 "list.m"
    {
#line 2016 "list.m"
      /* tailcall optimized into a loop */
#line 2016 "list.m"
      {
#line 2016 "list.m"
        MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 2016 "list.m"
        MR_Word mercury__list__V_9_9;
#line 2016 "list.m"
        MR_Box mercury__list__V_10_10;

#line 2016 "list.m"
        if (mercury__list__succeeded)
#line 2016 "list.m"
          {
#line 2016 "list.m"
            mercury__list__V_10_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2016 "list.m"
            mercury__list__V_9_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2016 "list.m"
            *mercury__list__X_1 = mercury__list__V_10_10;
#line 2016 "list.m"
            {
#line 2016 "list.m"
              mercury__list__cont(mercury__list__cont_env_ptr);
            }
#line 2018 "list.m"
            {
#line 2018 "list.m"
              /* direct tailcall eliminated */
#line 2018 "list.m"
              {
#line 2018 "list.m"
                MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_9_9;

#line 2018 "list.m"
                mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2018 "list.m"
              }
#line 2018 "list.m"
              continue;
#line 2018 "list.m"
            }
#line 2016 "list.m"
          }
#line 2016 "list.m"
      }
#line 2016 "list.m"
      break;
#line 2016 "list.m"
    }
#line 141 "list.m"
}

#line 140 "list.m"
MR_bool MR_CALL 
mercury__list__member_2_p_0(
#line 140 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_8,
#line 140 "list.m"
  MR_Box mercury__list__X_1,
#line 140 "list.m"
  MR_Word mercury__list__HeadVar__2_2)
#line 140 "list.m"
{
#line 2016 "list.m"
  while (MR_TRUE)
#line 2016 "list.m"
    {
#line 2016 "list.m"
      /* tailcall optimized into a loop */
#line 2016 "list.m"
      {
#line 2016 "list.m"
        MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 2016 "list.m"
        MR_Word mercury__list__V_10_10;
#line 2016 "list.m"
        MR_Box mercury__list__V_11_11;

#line 2016 "list.m"
        if (mercury__list__succeeded)
#line 2016 "list.m"
          {
#line 2016 "list.m"
            mercury__list__V_11_11 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2016 "list.m"
            mercury__list__V_10_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2016 "list.m"
            {
#line 2016 "list.m"
              mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_8, mercury__list__X_1, mercury__list__V_11_11);
            }
#line 2016 "list.m"
            if (!(mercury__list__succeeded))
#line 2018 "list.m"
              {
#line 2018 "list.m"
                /* direct tailcall eliminated */
#line 2018 "list.m"
                {
#line 2018 "list.m"
                  MR_Word mercury__list__HeadVar__2__tmp_copy_2 = mercury__list__V_10_10;

#line 2018 "list.m"
                  mercury__list__HeadVar__2_2 = mercury__list__HeadVar__2__tmp_copy_2;
#line 2018 "list.m"
                }
#line 2018 "list.m"
                continue;
#line 2018 "list.m"
              }
#line 2016 "list.m"
          }
#line 2016 "list.m"
        return mercury__list__succeeded;
#line 2016 "list.m"
      }
#line 2016 "list.m"
      break;
#line 2016 "list.m"
    }
#line 140 "list.m"
}

#line 133 "list.m"
MR_Word MR_CALL 
mercury__list__remove_dups_1_f_0(
#line 133 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_5,
#line 133 "list.m"
  MR_Word mercury__list__Xs_3)
#line 133 "list.m"
{
#line 2184 "list.m"
  {
#line 2184 "list.m"
    MR_bool mercury__list__succeeded;
#line 2184 "list.m"
    MR_Word mercury__list__Ys_4;
#line 2184 "list.m"
    MR_Word mercury__list__V_8_8 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 2185 "list.m"
    {
#line 2185 "list.m"
      mercury__list__remove_dups_2_3_p_0(mercury__list__TypeInfo_for_T_5, mercury__list__Xs_3, mercury__list__V_8_8, &mercury__list__Ys_4);
    }
#line 2184 "list.m"
    return mercury__list__Ys_4;
#line 2184 "list.m"
  }
#line 133 "list.m"
}

#line 132 "list.m"
void MR_CALL 
mercury__list__remove_dups_2_p_0(
#line 132 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_6,
#line 132 "list.m"
  MR_Word mercury__list__Xs_3,
#line 132 "list.m"
  MR_Word * mercury__list__Ys_4)
#line 132 "list.m"
{
#line 2184 "list.m"
  {
#line 2184 "list.m"
    MR_bool mercury__list__succeeded;
#line 2184 "list.m"
    MR_Word mercury__list__V_5_5 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 2185 "list.m"
    {
#line 2185 "list.m"
      mercury__list__remove_dups_2_3_p_0(mercury__list__TypeInfo_for_T_6, mercury__list__Xs_3, mercury__list__V_5_5, mercury__list__Ys_4);
#line 2185 "list.m"
      return;
    }
#line 2184 "list.m"
  }
#line 132 "list.m"
}

#line 125 "list.m"
MR_Word MR_CALL 
mercury__list__remove_adjacent_dups_1_f_0(
#line 125 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_5,
#line 125 "list.m"
  MR_Word mercury__list__Xs_3)
#line 125 "list.m"
{
#line 2205 "list.m"
  {
#line 2205 "list.m"
    MR_bool mercury__list__succeeded;
#line 2205 "list.m"
    MR_Word mercury__list__Ys_4;

#line 2205 "list.m"
    if ((mercury__list__Xs_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2205 "list.m"
      mercury__list__Ys_4 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2205 "list.m"
    else
#line 2206 "list.m"
      {
#line 2206 "list.m"
        MR_Box mercury__list__X_6 = (MR_hl_field(MR_mktag(1), mercury__list__Xs_3, (MR_Integer) 0));
#line 2206 "list.m"
        MR_Word mercury__list__Xs_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__Xs_3, (MR_Integer) 1)));

#line 2207 "list.m"
        {
#line 2207 "list.m"
          mercury__list__remove_adjacent_dups_2_3_p_0(mercury__list__TypeInfo_for_T_5, mercury__list__Xs_7, mercury__list__X_6, &mercury__list__Ys_4);
        }
#line 2206 "list.m"
      }
#line 2205 "list.m"
    return mercury__list__Ys_4;
#line 2205 "list.m"
  }
#line 125 "list.m"
}

#line 124 "list.m"
void MR_CALL 
mercury__list__remove_adjacent_dups_2_p_0(
#line 124 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_6,
#line 124 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 124 "list.m"
  MR_Word * mercury__list__HeadVar__2_2)
#line 124 "list.m"
{
#line 2205 "list.m"
  {
#line 2205 "list.m"
    MR_bool mercury__list__succeeded;

#line 2205 "list.m"
    if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2205 "list.m"
      *mercury__list__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2205 "list.m"
    else
#line 2206 "list.m"
      {
#line 2206 "list.m"
        MR_Box mercury__list__X_3 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 2206 "list.m"
        MR_Word mercury__list__Xs_4 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));

#line 2207 "list.m"
        {
#line 2207 "list.m"
          mercury__list__remove_adjacent_dups_2_3_p_0(mercury__list__TypeInfo_for_T_6, mercury__list__Xs_4, mercury__list__X_3, mercury__list__HeadVar__2_2);
#line 2207 "list.m"
          return;
        }
#line 2206 "list.m"
      }
#line 2205 "list.m"
  }
#line 124 "list.m"
}

#line 117 "list.m"
MR_Word MR_CALL 
mercury__list__merge_and_remove_dups_2_f_0(
#line 117 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 117 "list.m"
  MR_Word mercury__list__Xs_4,
#line 117 "list.m"
  MR_Word mercury__list__Ys_5)
#line 117 "list.m"
{
#line 2050 "list.m"
  {
#line 2050 "list.m"
    MR_bool mercury__list__succeeded;
#line 2050 "list.m"
    MR_Word mercury__list__Zs_6;

#line 2050 "list.m"
    {
#line 2050 "list.m"
      mercury__list__merge_and_remove_dups_3_p_0(mercury__list__TypeInfo_for_T_7, mercury__list__Xs_4, mercury__list__Ys_5, &mercury__list__Zs_6);
    }
#line 2050 "list.m"
    return mercury__list__Zs_6;
#line 2050 "list.m"
  }
#line 117 "list.m"
}

#line 115 "list.m"
void MR_CALL 
mercury__list__merge_and_remove_dups_3_p_0(
#line 115 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_19,
#line 115 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 115 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 115 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 115 "list.m"
{
#line 2052 "list.m"
  {
#line 2052 "list.m"
    MR_bool mercury__list__succeeded;

#line 2052 "list.m"
    if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2052 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2052 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2052 "list.m"
      else
#line 2054 "list.m"
        *mercury__list__HeadVar__3_3 = mercury__list__HeadVar__2_2;
#line 2052 "list.m"
    else
#line 2052 "list.m"
      {
#line 2052 "list.m"
        MR_Word mercury__list__V_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 2052 "list.m"
        MR_Box mercury__list__V_21_21 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));

#line 2052 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2053 "list.m"
          *mercury__list__HeadVar__3_3 = mercury__list__HeadVar__1_1;
#line 2052 "list.m"
        else
#line 2055 "list.m"
          {
#line 2055 "list.m"
            MR_Box mercury__list__B_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2055 "list.m"
            MR_Word mercury__list__Bs_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2055 "list.m"
            MR_Word mercury__list__Res_13;

#line 2056 "list.m"
            {
#line 2056 "list.m"
              mercury__builtin__compare_3_p_0(mercury__list__TypeInfo_for_T_19, &mercury__list__Res_13, mercury__list__V_21_21, mercury__list__B_10);
            }
#line 2061 "list.m"
            if ((mercury__list__Res_13 == (MR_Integer) 1))
#line 2058 "list.m"
              {
#line 2058 "list.m"
                MR_Word mercury__list__Cs0_14;

#line 2059 "list.m"
                {
#line 2059 "list.m"
                  mercury__list__merge_and_remove_dups_3_p_0(mercury__list__TypeInfo_for_T_19, mercury__list__V_20_20, mercury__list__HeadVar__2_2, &mercury__list__Cs0_14);
                }
#line 2060 "list.m"
                {
#line 2060 "list.m"
                  MR_Word base;
#line 2060 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2060 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2060 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__V_21_21;
#line 2060 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs0_14));
#line 2060 "list.m"
                }
#line 2058 "list.m"
              }
#line 2061 "list.m"
            else
#line 2061 "list.m"
              if ((mercury__list__Res_13 == (MR_Integer) 0))
#line 2062 "list.m"
                {
#line 2062 "list.m"
                  MR_Word mercury__list__Cs0_17;

#line 2063 "list.m"
                  {
#line 2063 "list.m"
                    mercury__list__merge_and_remove_dups_3_p_0(mercury__list__TypeInfo_for_T_19, mercury__list__V_20_20, mercury__list__Bs_11, &mercury__list__Cs0_17);
                  }
#line 2064 "list.m"
                  {
#line 2064 "list.m"
                    MR_Word base;
#line 2064 "list.m"
                    base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2064 "list.m"
                    *mercury__list__HeadVar__3_3 = base;
#line 2064 "list.m"
                    MR_hl_field(MR_mktag(1), base, 0) = mercury__list__V_21_21;
#line 2064 "list.m"
                    MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs0_17));
#line 2064 "list.m"
                  }
#line 2062 "list.m"
                }
#line 2061 "list.m"
              else
#line 2066 "list.m"
                {
#line 2066 "list.m"
                  MR_Word mercury__list__Cs0_18;

#line 2067 "list.m"
                  {
#line 2067 "list.m"
                    mercury__list__merge_and_remove_dups_3_p_0(mercury__list__TypeInfo_for_T_19, mercury__list__HeadVar__1_1, mercury__list__Bs_11, &mercury__list__Cs0_18);
                  }
#line 2068 "list.m"
                  {
#line 2068 "list.m"
                    MR_Word base;
#line 2068 "list.m"
                    base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2068 "list.m"
                    *mercury__list__HeadVar__3_3 = base;
#line 2068 "list.m"
                    MR_hl_field(MR_mktag(1), base, 0) = mercury__list__B_10;
#line 2068 "list.m"
                    MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs0_18));
#line 2068 "list.m"
                  }
#line 2066 "list.m"
                }
#line 2055 "list.m"
          }
#line 2052 "list.m"
      }
#line 2052 "list.m"
  }
#line 115 "list.m"
}

#line 107 "list.m"
MR_Word MR_CALL 
mercury__list__merge_2_f_0(
#line 107 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 107 "list.m"
  MR_Word mercury__list__Xs_4,
#line 107 "list.m"
  MR_Word mercury__list__Ys_5)
#line 107 "list.m"
{
#line 2034 "list.m"
  {
#line 2034 "list.m"
    MR_bool mercury__list__succeeded;
#line 2034 "list.m"
    MR_Word mercury__list__Zs_6;

#line 2034 "list.m"
    {
#line 2034 "list.m"
      mercury__list__merge_3_p_0(mercury__list__TypeInfo_for_T_7, mercury__list__Xs_4, mercury__list__Ys_5, &mercury__list__Zs_6);
    }
#line 2034 "list.m"
    return mercury__list__Zs_6;
#line 2034 "list.m"
  }
#line 107 "list.m"
}

#line 106 "list.m"
void MR_CALL 
mercury__list__merge_3_p_0(
#line 106 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_18,
#line 106 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 106 "list.m"
  MR_Word mercury__list__HeadVar__2_2,
#line 106 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 106 "list.m"
{
#line 2036 "list.m"
  {
#line 2036 "list.m"
    MR_bool mercury__list__succeeded;

#line 2036 "list.m"
    if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2036 "list.m"
      if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2036 "list.m"
        *mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2036 "list.m"
      else
#line 2038 "list.m"
        *mercury__list__HeadVar__3_3 = mercury__list__HeadVar__2_2;
#line 2036 "list.m"
    else
#line 2036 "list.m"
      {
#line 2036 "list.m"
        MR_Word mercury__list__V_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 2036 "list.m"
        MR_Box mercury__list__V_21_21 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));

#line 2036 "list.m"
        if ((mercury__list__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2037 "list.m"
          *mercury__list__HeadVar__3_3 = mercury__list__HeadVar__1_1;
#line 2036 "list.m"
        else
#line 2039 "list.m"
          {
#line 2039 "list.m"
            MR_Box mercury__list__B_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 0));
#line 2039 "list.m"
            MR_Word mercury__list__Bs_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__2_2, (MR_Integer) 1)));
#line 2040 "list.m"
            MR_Word mercury__list__V_19_19;

#line 2040 "list.m"
            {
#line 2040 "list.m"
              mercury__builtin__compare_3_p_0(mercury__list__TypeInfo_for_T_18, &mercury__list__V_19_19, mercury__list__V_21_21, mercury__list__B_10);
            }
#line 2040 "list.m"
            mercury__list__succeeded = ((MR_Integer) 2 == mercury__list__V_19_19);
#line 2043 "list.m"
            if (mercury__list__succeeded)
#line 2041 "list.m"
              {
#line 2041 "list.m"
                MR_Word mercury__list__Cs0_13;

#line 2041 "list.m"
                {
#line 2041 "list.m"
                  mercury__list__merge_3_p_0(mercury__list__TypeInfo_for_T_18, mercury__list__HeadVar__1_1, mercury__list__Bs_11, &mercury__list__Cs0_13);
                }
#line 2042 "list.m"
                {
#line 2042 "list.m"
                  MR_Word base;
#line 2042 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2042 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2042 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__B_10;
#line 2042 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs0_13));
#line 2042 "list.m"
                }
#line 2041 "list.m"
              }
#line 2043 "list.m"
            else
#line 2045 "list.m"
              {
#line 2045 "list.m"
                MR_Word mercury__list__Cs0_17;

#line 2045 "list.m"
                {
#line 2045 "list.m"
                  mercury__list__merge_3_p_0(mercury__list__TypeInfo_for_T_18, mercury__list__V_20_20, mercury__list__HeadVar__2_2, &mercury__list__Cs0_17);
                }
#line 2046 "list.m"
                {
#line 2046 "list.m"
                  MR_Word base;
#line 2046 "list.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2046 "list.m"
                  *mercury__list__HeadVar__3_3 = base;
#line 2046 "list.m"
                  MR_hl_field(MR_mktag(1), base, 0) = mercury__list__V_21_21;
#line 2046 "list.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Cs0_17));
#line 2046 "list.m"
                }
#line 2045 "list.m"
              }
#line 2039 "list.m"
          }
#line 2036 "list.m"
      }
#line 2036 "list.m"
  }
#line 106 "list.m"
}

#line 99 "list.m"
MR_bool MR_CALL 
mercury__list__remove_suffix_3_p_0(
#line 99 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_10,
#line 99 "list.m"
  MR_Word mercury__list__List_4,
#line 99 "list.m"
  MR_Word mercury__list__Suffix_5,
#line 99 "list.m"
  MR_Word * mercury__list__Prefix_6)
#line 99 "list.m"
{
#line 1803 "list.m"
  {
#line 1803 "list.m"
    MR_bool mercury__list__succeeded;
#line 1803 "list.m"
    MR_Integer mercury__list__ListLength_7;
#line 1803 "list.m"
    MR_Integer mercury__list__SuffixLength_8;
#line 1803 "list.m"
    MR_Integer mercury__list__PrefixLength_9;
#line 1803 "list.m"
    MR_Word mercury__list__V_11_11;

#line 2081 "list.m"
    {
#line 2081 "list.m"
      mercury__list__length_2_3_p_0(mercury__list__TypeInfo_for_T_10, mercury__list__List_4, (MR_Integer) 0, &mercury__list__ListLength_7);
    }
#line 2081 "list.m"
    {
#line 2081 "list.m"
      mercury__list__length_2_3_p_0(mercury__list__TypeInfo_for_T_10, mercury__list__Suffix_5, (MR_Integer) 0, &mercury__list__SuffixLength_8);
    }
#line 1806 "list.m"
    mercury__list__PrefixLength_9 = (mercury__list__ListLength_7 - mercury__list__SuffixLength_8);
#line 1807 "list.m"
    {
#line 1807 "list.m"
      mercury__list__succeeded = mercury__list__split_list_4_p_0(mercury__list__TypeInfo_for_T_10, mercury__list__PrefixLength_9, mercury__list__List_4, mercury__list__Prefix_6, &mercury__list__V_11_11);
    }
#line 1803 "list.m"
    if (mercury__list__succeeded)
#line 1807 "list.m"
      {
#line 1807 "list.m"
        return mercury__list__succeeded = mercury__list____Unify____list_1_0(mercury__list__TypeInfo_for_T_10, mercury__list__Suffix_5, mercury__list__V_11_11);
      }
#line 1803 "list.m"
    return mercury__list__succeeded;
#line 1803 "list.m"
  }
#line 99 "list.m"
}

#line 92 "list.m"
MR_Word MR_CALL 
mercury__list__f_43_43_2_f_0(
#line 92 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_6,
#line 92 "list.m"
  MR_Word mercury__list__L1_4,
#line 92 "list.m"
  MR_Word mercury__list__L2_5)
#line 92 "list.m"
{
#line 1797 "list.m"
  {
#line 1797 "list.m"
    MR_bool mercury__list__succeeded;
#line 1797 "list.m"
    MR_Word mercury__list__HeadVar__3_3;

#line 1797 "list.m"
    {
#line 1797 "list.m"
      mercury__list__append_3_p_1(mercury__list__TypeInfo_for_T_6, mercury__list__L1_4, mercury__list__L2_5, &mercury__list__HeadVar__3_3);
    }
#line 1797 "list.m"
    return mercury__list__HeadVar__3_3;
#line 1797 "list.m"
  }
#line 92 "list.m"
}

#line 76 "list.m"
MR_Word MR_CALL 
mercury__list__append_2_f_0(
#line 76 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_7,
#line 76 "list.m"
  MR_Word mercury__list__Xs_4,
#line 76 "list.m"
  MR_Word mercury__list__Ys_5)
#line 76 "list.m"
{
#line 1797 "list.m"
  {
#line 1797 "list.m"
    MR_bool mercury__list__succeeded;
#line 1797 "list.m"
    MR_Word mercury__list__Zs_6;

#line 1797 "list.m"
    {
#line 1797 "list.m"
      mercury__list__append_3_p_1(mercury__list__TypeInfo_for_T_7, mercury__list__Xs_4, mercury__list__Ys_5, &mercury__list__Zs_6);
    }
#line 1797 "list.m"
    return mercury__list__Zs_6;
#line 1797 "list.m"
  }
#line 76 "list.m"
}

#line 1800 "list.m"
static void MR_CALL 
mercury__list__append_3_p_4_1(
#line 1800 "list.m"
  void * mercury__list__env_ptr_arg)
#line 1800 "list.m"
{
#line 1800 "list.m"
  {
#line 1800 "list.m"
    struct mercury__list__append_3_p_4_env_0_s * mercury__list__env_ptr = (struct mercury__list__append_3_p_4_env_0_s *) mercury__list__env_ptr_arg;

#line 1800 "list.m"
    {
#line 1800 "list.m"
      MR_Word base;
#line 1800 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1800 "list.m"
      *((mercury__list__env_ptr)->mercury__list__append_3_p_4_env_0__HeadVar__1_1) = base;
#line 1800 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = (mercury__list__env_ptr)->mercury__list__append_3_p_4_env_0__X_5;
#line 1800 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) ((mercury__list__env_ptr)->mercury__list__append_3_p_4_env_0__Xs_6));
#line 1800 "list.m"
    }
#line 1800 "list.m"
    {
#line 1800 "list.m"
      ((mercury__list__env_ptr)->mercury__list__append_3_p_4_env_0__cont)((mercury__list__env_ptr)->mercury__list__append_3_p_4_env_0__cont_env_ptr);
#line 1800 "list.m"
      return;
    }
#line 1800 "list.m"
  }
#line 1800 "list.m"
}

#line 69 "list.m"
void MR_CALL 
mercury__list__append_3_p_4(
#line 69 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 69 "list.m"
  MR_Word * mercury__list__HeadVar__1_1,
#line 69 "list.m"
  MR_Word * mercury__list__Ys_2,
#line 69 "list.m"
  MR_Word mercury__list__HeadVar__3_3,
#line 69 "list.m"
  MR_Cont mercury__list__cont,
#line 69 "list.m"
  void * mercury__list__cont_env_ptr)
#line 69 "list.m"
{
#line 69 "list.m"
  {
#line 69 "list.m"
    struct mercury__list__append_3_p_4_env_0_s mercury__list__env;

#line 69 "list.m"
    (mercury__list__env).mercury__list__append_3_p_4_env_0__HeadVar__1_1 = mercury__list__HeadVar__1_1;
#line 69 "list.m"
    (mercury__list__env).mercury__list__append_3_p_4_env_0__cont = mercury__list__cont;
#line 69 "list.m"
    (mercury__list__env).mercury__list__append_3_p_4_env_0__cont_env_ptr = mercury__list__cont_env_ptr;
#line 1799 "list.m"
    {
#line 1799 "list.m"
      MR_bool mercury__list__succeeded;

#line 1799 "list.m"
      *((mercury__list__env).mercury__list__append_3_p_4_env_0__HeadVar__1_1) = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1799 "list.m"
      *mercury__list__Ys_2 = mercury__list__HeadVar__3_3;
#line 1799 "list.m"
      {
#line 1799 "list.m"
        ((mercury__list__env).mercury__list__append_3_p_4_env_0__cont)((mercury__list__env).mercury__list__append_3_p_4_env_0__cont_env_ptr);
      }
#line 1800 "list.m"
      {
#line 1800 "list.m"
        MR_Word mercury__list__Zs_8;

#line 1800 "list.m"
        mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1)));
#line 1800 "list.m"
        if (mercury__list__succeeded)
#line 1800 "list.m"
          {
#line 1800 "list.m"
            (mercury__list__env).mercury__list__append_3_p_4_env_0__X_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 1800 "list.m"
            mercury__list__Zs_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 1801 "list.m"
            {
#line 1801 "list.m"
              mercury__list__append_3_p_4(mercury__list__TypeInfo_for_T_9, &(mercury__list__env).mercury__list__append_3_p_4_env_0__Xs_6, mercury__list__Ys_2, mercury__list__Zs_8, mercury__list__append_3_p_4_1, &mercury__list__env);
            }
#line 1800 "list.m"
          }
#line 1800 "list.m"
      }
#line 1799 "list.m"
    }
#line 69 "list.m"
  }
#line 69 "list.m"
}

#line 68 "list.m"
MR_bool MR_CALL 
mercury__list__append_3_p_3(
#line 68 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 68 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 68 "list.m"
  MR_Word * mercury__list__Ys_2,
#line 68 "list.m"
  MR_Word mercury__list__HeadVar__3_3)
#line 68 "list.m"
{
#line 1799 "list.m"
  while (MR_TRUE)
#line 1799 "list.m"
    {
#line 1799 "list.m"
      /* tailcall optimized into a loop */
#line 1799 "list.m"
      {
#line 1799 "list.m"
        MR_bool mercury__list__succeeded;

#line 1799 "list.m"
        if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1799 "list.m"
          {
#line 1799 "list.m"
            *mercury__list__Ys_2 = mercury__list__HeadVar__3_3;
#line 1799 "list.m"
            mercury__list__succeeded = MR_TRUE;
#line 1799 "list.m"
          }
#line 1799 "list.m"
        else
#line 1800 "list.m"
          {
#line 1800 "list.m"
            MR_Box mercury__list__X_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1800 "list.m"
            MR_Word mercury__list__Xs_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1800 "list.m"
            MR_Word mercury__list__Zs_8;
#line 1800 "list.m"
            MR_Box mercury__list__V_10_10;

#line 1800 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1)));
#line 1800 "list.m"
            if (mercury__list__succeeded)
#line 1800 "list.m"
              {
#line 1800 "list.m"
                mercury__list__V_10_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 1800 "list.m"
                mercury__list__Zs_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 1800 "list.m"
                {
#line 1800 "list.m"
                  mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_9, mercury__list__X_5, mercury__list__V_10_10);
                }
#line 1800 "list.m"
                if (mercury__list__succeeded)
#line 1801 "list.m"
                  {
#line 1801 "list.m"
                    /* direct tailcall eliminated */
#line 1801 "list.m"
                    {
#line 1801 "list.m"
                      MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__Xs_6;
#line 1801 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Zs_8;

#line 1801 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 1801 "list.m"
                      mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 1801 "list.m"
                    }
#line 1801 "list.m"
                    continue;
#line 1801 "list.m"
                  }
#line 1800 "list.m"
              }
#line 1800 "list.m"
          }
#line 1799 "list.m"
        return mercury__list__succeeded;
#line 1799 "list.m"
      }
#line 1799 "list.m"
      break;
#line 1799 "list.m"
    }
#line 68 "list.m"
}

#line 67 "list.m"
MR_bool MR_CALL 
mercury__list__append_3_p_2(
#line 67 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 67 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 67 "list.m"
  MR_Word mercury__list__Ys_2,
#line 67 "list.m"
  MR_Word mercury__list__HeadVar__3_3)
#line 67 "list.m"
{
#line 1799 "list.m"
  while (MR_TRUE)
#line 1799 "list.m"
    {
#line 1799 "list.m"
      /* tailcall optimized into a loop */
#line 1799 "list.m"
      {
#line 1799 "list.m"
        MR_bool mercury__list__succeeded;

#line 1799 "list.m"
        if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1799 "list.m"
          {
#line 1799 "list.m"
            return mercury__list__succeeded = mercury__list____Unify____list_1_0(mercury__list__TypeInfo_for_T_9, mercury__list__HeadVar__3_3, mercury__list__Ys_2);
          }
#line 1799 "list.m"
        else
#line 1800 "list.m"
          {
#line 1800 "list.m"
            MR_Box mercury__list__X_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1800 "list.m"
            MR_Word mercury__list__Xs_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1800 "list.m"
            MR_Word mercury__list__Zs_8;
#line 1800 "list.m"
            MR_Box mercury__list__V_10_10;

#line 1800 "list.m"
            mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1)));
#line 1800 "list.m"
            if (mercury__list__succeeded)
#line 1800 "list.m"
              {
#line 1800 "list.m"
                mercury__list__V_10_10 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 0));
#line 1800 "list.m"
                mercury__list__Zs_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, (MR_Integer) 1)));
#line 1800 "list.m"
                {
#line 1800 "list.m"
                  mercury__list__succeeded = mercury__builtin__unify_2_p_0(mercury__list__TypeInfo_for_T_9, mercury__list__X_5, mercury__list__V_10_10);
                }
#line 1800 "list.m"
                if (mercury__list__succeeded)
#line 1801 "list.m"
                  {
#line 1801 "list.m"
                    /* direct tailcall eliminated */
#line 1801 "list.m"
                    {
#line 1801 "list.m"
                      MR_Word mercury__list__HeadVar__1__tmp_copy_1 = mercury__list__Xs_6;
#line 1801 "list.m"
                      MR_Word mercury__list__HeadVar__3__tmp_copy_3 = mercury__list__Zs_8;

#line 1801 "list.m"
                      mercury__list__HeadVar__3_3 = mercury__list__HeadVar__3__tmp_copy_3;
#line 1801 "list.m"
                      mercury__list__HeadVar__1_1 = mercury__list__HeadVar__1__tmp_copy_1;
#line 1801 "list.m"
                    }
#line 1801 "list.m"
                    continue;
#line 1801 "list.m"
                  }
#line 1800 "list.m"
              }
#line 1800 "list.m"
          }
#line 1799 "list.m"
        return mercury__list__succeeded;
#line 1799 "list.m"
      }
#line 1799 "list.m"
      break;
#line 1799 "list.m"
    }
#line 67 "list.m"
}

#line 66 "list.m"
void MR_CALL 
mercury__list__append_3_p_1(
#line 66 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 66 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 66 "list.m"
  MR_Word mercury__list__Ys_2,
#line 66 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 66 "list.m"
{
#line 1799 "list.m"
  {
#line 1799 "list.m"
    MR_bool mercury__list__succeeded;

#line 1799 "list.m"
    if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1799 "list.m"
      *mercury__list__HeadVar__3_3 = mercury__list__Ys_2;
#line 1799 "list.m"
    else
#line 1800 "list.m"
      {
#line 1800 "list.m"
        MR_Box mercury__list__X_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1800 "list.m"
        MR_Word mercury__list__Xs_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1800 "list.m"
        MR_Word mercury__list__Zs_8;

#line 1801 "list.m"
        {
#line 1801 "list.m"
          mercury__list__append_3_p_1(mercury__list__TypeInfo_for_T_9, mercury__list__Xs_6, mercury__list__Ys_2, &mercury__list__Zs_8);
        }
#line 1800 "list.m"
        {
#line 1800 "list.m"
          MR_Word base;
#line 1800 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1800 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 1800 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__X_5;
#line 1800 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Zs_8));
#line 1800 "list.m"
        }
#line 1800 "list.m"
      }
#line 1799 "list.m"
  }
#line 66 "list.m"
}

#line 65 "list.m"
void MR_CALL 
mercury__list__append_3_p_0(
#line 65 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_9,
#line 65 "list.m"
  MR_Word mercury__list__HeadVar__1_1,
#line 65 "list.m"
  MR_Word mercury__list__Ys_2,
#line 65 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 65 "list.m"
{
#line 1799 "list.m"
  {
#line 1799 "list.m"
    MR_bool mercury__list__succeeded;

#line 1799 "list.m"
    if ((mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1799 "list.m"
      *mercury__list__HeadVar__3_3 = mercury__list__Ys_2;
#line 1799 "list.m"
    else
#line 1800 "list.m"
      {
#line 1800 "list.m"
        MR_Box mercury__list__X_5 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1800 "list.m"
        MR_Word mercury__list__Xs_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1800 "list.m"
        MR_Word mercury__list__Zs_8;

#line 1801 "list.m"
        {
#line 1801 "list.m"
          mercury__list__append_3_p_0(mercury__list__TypeInfo_for_T_9, mercury__list__Xs_6, mercury__list__Ys_2, &mercury__list__Zs_8);
        }
#line 1800 "list.m"
        {
#line 1800 "list.m"
          MR_Word base;
#line 1800 "list.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1800 "list.m"
          *mercury__list__HeadVar__3_3 = base;
#line 1800 "list.m"
          MR_hl_field(MR_mktag(1), base, 0) = mercury__list__X_5;
#line 1800 "list.m"
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__Zs_8));
#line 1800 "list.m"
        }
#line 1800 "list.m"
      }
#line 1799 "list.m"
  }
#line 65 "list.m"
}

#line 58 "list.m"
MR_Word MR_CALL 
mercury__list__cons_2_f_0(
#line 58 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_6,
#line 58 "list.m"
  MR_Box mercury__list__H_4,
#line 58 "list.m"
  MR_Word mercury__list__T_5)
#line 58 "list.m"
{
#line 1794 "list.m"
  {
#line 1794 "list.m"
    MR_bool mercury__list__succeeded;
#line 1794 "list.m"
    MR_Word mercury__list__HeadVar__3_3;

#line 1794 "list.m"
    {
#line 1794 "list.m"
      mercury__list__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1794 "list.m"
      MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, 0) = mercury__list__H_4;
#line 1794 "list.m"
      MR_hl_field(MR_mktag(1), mercury__list__HeadVar__3_3, 1) = ((MR_Box) (mercury__list__T_5));
#line 1794 "list.m"
    }
#line 1794 "list.m"
    return mercury__list__HeadVar__3_3;
#line 1794 "list.m"
  }
#line 58 "list.m"
}

#line 57 "list.m"
void MR_CALL 
mercury__list__cons_3_p_0(
#line 57 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_6,
#line 57 "list.m"
  MR_Box mercury__list__H_4,
#line 57 "list.m"
  MR_Word mercury__list__T_5,
#line 57 "list.m"
  MR_Word * mercury__list__HeadVar__3_3)
#line 57 "list.m"
{
#line 1792 "list.m"
  {
#line 1792 "list.m"
    MR_bool mercury__list__succeeded;

#line 1792 "list.m"
    {
#line 1792 "list.m"
      MR_Word base;
#line 1792 "list.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1792 "list.m"
      *mercury__list__HeadVar__3_3 = base;
#line 1792 "list.m"
      MR_hl_field(MR_mktag(1), base, 0) = mercury__list__H_4;
#line 1792 "list.m"
      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__list__T_5));
#line 1792 "list.m"
    }
#line 1792 "list.m"
  }
#line 57 "list.m"
}

#line 53 "list.m"
MR_bool MR_CALL 
mercury__list__is_not_empty_1_p_0(
#line 53 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_4,
#line 53 "list.m"
  MR_Word mercury__list__HeadVar__1_1)
#line 53 "list.m"
{
#line 1790 "list.m"
  {
#line 1790 "list.m"
    MR_bool mercury__list__succeeded = ((MR_tag((MR_Word) mercury__list__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1)));
#line 1790 "list.m"
    MR_Box mercury__list__V_2_2;
#line 1790 "list.m"
    MR_Word mercury__list__V_3_3;

#line 1790 "list.m"
    if (mercury__list__succeeded)
#line 1790 "list.m"
      {
#line 1790 "list.m"
        mercury__list__V_2_2 = (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 0));
#line 1790 "list.m"
        mercury__list__V_3_3 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__list__HeadVar__1_1, (MR_Integer) 1)));
#line 1790 "list.m"
      }
#line 1790 "list.m"
    return mercury__list__succeeded;
#line 1790 "list.m"
  }
#line 53 "list.m"
}

#line 51 "list.m"
MR_bool MR_CALL 
mercury__list__is_empty_1_p_0(
#line 51 "list.m"
  MR_Word mercury__list__TypeInfo_for_T_2,
#line 51 "list.m"
  MR_Word mercury__list__HeadVar__1_1)
#line 51 "list.m"
{
#line 1788 "list.m"
  {
#line 1788 "list.m"
    MR_bool mercury__list__succeeded = (mercury__list__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));

#line 1788 "list.m"
    return mercury__list__succeeded;
#line 1788 "list.m"
  }
#line 51 "list.m"
}

void mercury__list__init(void)
{
}

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

	MR_register_type_ctor_info(&mercury__list__list__type_ctor_info_list_1);
}

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

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

/* :- end_module list. */
