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

/*
INIT mercury__getopt_io__init
ENDINIT
*/

#include "getopt_io.mih"


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



#line 354 "getopt_io.m"
struct mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0_s {
#line 354 "getopt_io.m"
  MR_Word * mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0__HeadVar__3_10;
#line 354 "getopt_io.m"
  MR_Cont mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0__cont;
#line 354 "getopt_io.m"
  void * mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0__cont_env_ptr;
#line 354 "getopt_io.m"
  MR_Box mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0__Option_6;
#line 354 "getopt_io.m"
  MR_Word mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0__OptionData_7;
#line 356 "getopt_io.m"
  MR_Box mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0__conv1_OptionData_7;
#line 354 "getopt_io.m"
};

#line 347 "getopt_io.m"
struct mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0_s {
#line 347 "getopt_io.m"
  MR_Word * mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0__HeadVar__3_10;
#line 347 "getopt_io.m"
  MR_Cont mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0__cont;
#line 347 "getopt_io.m"
  void * mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0__cont_env_ptr;
#line 347 "getopt_io.m"
  MR_Box mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0__Option_6;
#line 347 "getopt_io.m"
  MR_Word mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0__OptionData_7;
#line 349 "getopt_io.m"
  MR_Box mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0__conv1_OptionData_7;
#line 347 "getopt_io.m"
};

#line 354 "getopt_io.m"
struct mercury__getopt_io__init_option_table_multi_2_p_0_2_env_0_s {
#line 354 "getopt_io.m"
  MR_Box * mercury__getopt_io__init_option_table_multi_2_p_0_2_env_0__wrapper_arg_1;
#line 354 "getopt_io.m"
  MR_Cont mercury__getopt_io__init_option_table_multi_2_p_0_2_env_0__cont;
#line 354 "getopt_io.m"
  void * mercury__getopt_io__init_option_table_multi_2_p_0_2_env_0__cont_env_ptr;
#line 354 "getopt_io.m"
  MR_Word mercury__getopt_io__init_option_table_multi_2_p_0_2_env_0__conv0_HeadVar__3_10;
#line 354 "getopt_io.m"
};

#line 347 "getopt_io.m"
struct mercury__getopt_io__init_option_table_2_p_0_2_env_0_s {
#line 347 "getopt_io.m"
  MR_Box * mercury__getopt_io__init_option_table_2_p_0_2_env_0__wrapper_arg_1;
#line 347 "getopt_io.m"
  MR_Cont mercury__getopt_io__init_option_table_2_p_0_2_env_0__cont;
#line 347 "getopt_io.m"
  void * mercury__getopt_io__init_option_table_2_p_0_2_env_0__cont_env_ptr;
#line 347 "getopt_io.m"
  MR_Word mercury__getopt_io__init_option_table_2_p_0_2_env_0__conv0_HeadVar__3_10;
#line 347 "getopt_io.m"
};


#line 146 "getopt_io.c"
static const MR_VA_PseudoTypeInfo_Struct2 mercury__getopt_io____vpti_pred_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0;

#line 149 "getopt_io.c"
static const MR_FA_PseudoTypeInfo_Struct2 mercury__getopt_io__pair__pti_pair_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0;

#line 152 "getopt_io.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__getopt_io__list__pti_list_1__pseudo_1;

#line 155 "getopt_io.c"
static const MR_FA_PseudoTypeInfo_Struct2 mercury__getopt_io__tree234__pti_tree234_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0;

#line 158 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_maybe_option_table_1_0[1];

#line 161 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_maybe_option_table_1_0;

#line 164 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_maybe_option_table_1_1[1];

#line 167 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_maybe_option_table_1_1;

#line 170 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_maybe_option_table_1_0[1];

#line 173 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_maybe_option_table_1_1[1];

#line 176 "getopt_io.c"
static const MR_DuPtagLayout mercury__getopt_io__getopt_io__du_ptag_ordered_maybe_option_table_1[2];

#line 179 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_name_ordered_maybe_option_table_1[2];

#line 182 "getopt_io.c"
static const MR_Integer mercury__getopt_io__getopt_io__functor_number_map_maybe_option_table_1[2];

#line 185 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_data_0_0[1];

#line 188 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_0;

#line 191 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_data_0_1[1];

#line 194 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_1;

#line 197 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_data_0_2[1];

#line 200 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_2;

#line 203 "getopt_io.c"
static const MR_FA_TypeInfo_Struct1 mercury__getopt_io__maybe__ti_maybe_1builtin__type_ctor_info_int_0;

#line 206 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_data_0_3[1];

#line 209 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_3;

#line 212 "getopt_io.c"
static const MR_FA_TypeInfo_Struct1 mercury__getopt_io__maybe__ti_maybe_1builtin__type_ctor_info_string_0;

#line 215 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_data_0_4[1];

#line 218 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_4;

#line 221 "getopt_io.c"
static const MR_FA_TypeInfo_Struct1 mercury__getopt_io__list__ti_list_1builtin__type_ctor_info_string_0;

#line 224 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_data_0_5[1];

#line 227 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_5;

#line 230 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_6;

#line 233 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_7;

#line 236 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_8;

#line 239 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_9;

#line 242 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_10;

#line 245 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_11;

#line 248 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_data_0_0[6];

#line 251 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_data_0_1[1];

#line 254 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_data_0_2[1];

#line 257 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_data_0_3[4];

#line 260 "getopt_io.c"
static const MR_DuPtagLayout mercury__getopt_io__getopt_io__du_ptag_ordered_option_data_0[4];

#line 263 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_name_ordered_option_data_0[12];

#line 266 "getopt_io.c"
static const MR_Integer mercury__getopt_io__getopt_io__functor_number_map_option_data_0[12];

#line 269 "getopt_io.c"
static const MR_VA_PseudoTypeInfo_Struct2 mercury__getopt_io____vpti_pred_2__plain_builtin__type_ctor_info_character_0__pseudo_1;

#line 272 "getopt_io.c"
static const MR_VA_PseudoTypeInfo_Struct2 mercury__getopt_io____vpti_pred_2__plain_builtin__type_ctor_info_string_0__pseudo_1;

#line 275 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_ops_1_0[3];

#line 278 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_ops_1_0;

#line 281 "getopt_io.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__getopt_io__getopt_io__pti_maybe_option_table_1__pseudo_1;

#line 284 "getopt_io.c"
static const MR_VA_PseudoTypeInfo_Struct4 mercury__getopt_io____vpti_pred_4__pseudo_1__plain_getopt_io__type_ctor_info_special_data_0__pseudo_tree234__pti_tree234_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0__pseudo_getopt_io__pti_maybe_option_table_1__pseudo_1;

#line 287 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_ops_1_1[4];

#line 290 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_ops_1_1;

#line 293 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_ops_1_2[3];

#line 296 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_ops_1_2;

#line 299 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_ops_1_3[4];

#line 302 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_ops_1_3;

#line 305 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_1_0[1];

#line 308 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_1_1[1];

#line 311 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_1_2[1];

#line 314 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_1_3[1];

#line 317 "getopt_io.c"
static const MR_DuPtagLayout mercury__getopt_io__getopt_io__du_ptag_ordered_option_ops_1[4];

#line 320 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_name_ordered_option_ops_1[4];

#line 323 "getopt_io.c"
static const MR_Integer mercury__getopt_io__getopt_io__functor_number_map_option_ops_1[4];

#line 326 "getopt_io.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__getopt_io__getopt_io__pti_option_ops_special_1__pseudo_1;

#line 329 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_ops_internal_1_0[3];

#line 332 "getopt_io.c"
static const MR_ConstString mercury__getopt_io__getopt_io__field_names_option_ops_internal_1_0[3];

#line 335 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_ops_internal_1_0;

#line 338 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_internal_1_0[1];

#line 341 "getopt_io.c"
static const MR_DuPtagLayout mercury__getopt_io__getopt_io__du_ptag_ordered_option_ops_internal_1[1];

#line 344 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_name_ordered_option_ops_internal_1[1];

#line 347 "getopt_io.c"
static const MR_Integer mercury__getopt_io__getopt_io__functor_number_map_option_ops_internal_1[1];

#line 350 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_ops_special_1_0;

#line 353 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_ops_special_1_1[1];

#line 356 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_ops_special_1_1;

#line 359 "getopt_io.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__getopt_io__set_ordlist__pti_set_ordlist_1__pseudo_1;

#line 362 "getopt_io.c"
static const MR_VA_PseudoTypeInfo_Struct5 mercury__getopt_io____vpti_pred_5__pseudo_1__plain_getopt_io__type_ctor_info_special_data_0__pseudo_tree234__pti_tree234_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0__pseudo_getopt_io__pti_maybe_option_table_1__pseudo_1__pseudo_set_ordlist__pti_set_ordlist_1__pseudo_1;

#line 365 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_ops_special_1_2[1];

#line 368 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_ops_special_1_2;

#line 371 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_special_1_0[1];

#line 374 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_special_1_1[1];

#line 377 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_special_1_2[1];

#line 380 "getopt_io.c"
static const MR_DuPtagLayout mercury__getopt_io__getopt_io__du_ptag_ordered_option_ops_special_1[3];

#line 383 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_name_ordered_option_ops_special_1[3];

#line 386 "getopt_io.c"
static const MR_Integer mercury__getopt_io__getopt_io__functor_number_map_option_ops_special_1[3];

#line 389 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_ops_track_1_0[3];

#line 392 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_ops_track_1_0;

#line 395 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_track_1_0[1];

#line 398 "getopt_io.c"
static const MR_DuPtagLayout mercury__getopt_io__getopt_io__du_ptag_ordered_option_ops_track_1[1];

#line 401 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_name_ordered_option_ops_track_1[1];

#line 404 "getopt_io.c"
static const MR_Integer mercury__getopt_io__getopt_io__functor_number_map_option_ops_track_1[1];

#line 407 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_0;

#line 410 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_special_data_0_1[1];

#line 413 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_1;

#line 416 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_special_data_0_2[1];

#line 419 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_2;

#line 422 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_special_data_0_3[1];

#line 425 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_3;

#line 428 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_special_data_0_4[1];

#line 431 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_4;

#line 434 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_special_data_0_0[1];

#line 437 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_special_data_0_1[1];

#line 440 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_special_data_0_2[1];

#line 443 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_special_data_0_3[2];

#line 446 "getopt_io.c"
static const MR_DuPtagLayout mercury__getopt_io__getopt_io__du_ptag_ordered_special_data_0[4];

#line 449 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_name_ordered_special_data_0[5];

#line 452 "getopt_io.c"
static const MR_Integer mercury__getopt_io__getopt_io__functor_number_map_special_data_0[5];

#line 455 "getopt_io.c"
static MR_bool MR_CALL 
mercury__getopt_io____Unify____maybe_option_table_1_0_10001(
#line 458 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 460 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 462 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3);

#line 465 "getopt_io.c"
static void MR_CALL 
mercury__getopt_io____Compare____maybe_option_table_1_0_10001(
#line 468 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 470 "getopt_io.c"
  MR_Box * mercury__getopt_io__wrapper_arg_2,
#line 472 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3,
#line 474 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_4);

#line 477 "getopt_io.c"
static MR_bool MR_CALL 
mercury__getopt_io____Unify____option_data_0_0_10001(
#line 480 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 482 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2);

#line 485 "getopt_io.c"
static void MR_CALL 
mercury__getopt_io____Compare____option_data_0_0_10001(
#line 488 "getopt_io.c"
  MR_Box * mercury__getopt_io__wrapper_arg_1,
#line 490 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 492 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3);

#line 495 "getopt_io.c"
static MR_bool MR_CALL 
mercury__getopt_io____Unify____option_ops_1_0_10001(
#line 498 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 500 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 502 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3);

#line 505 "getopt_io.c"
static void MR_CALL 
mercury__getopt_io____Compare____option_ops_1_0_10001(
#line 508 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 510 "getopt_io.c"
  MR_Box * mercury__getopt_io__wrapper_arg_2,
#line 512 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3,
#line 514 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_4);

#line 517 "getopt_io.c"
static MR_bool MR_CALL 
mercury__getopt_io____Unify____option_ops_internal_1_0_10001(
#line 520 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 522 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 524 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3);

#line 527 "getopt_io.c"
static void MR_CALL 
mercury__getopt_io____Compare____option_ops_internal_1_0_10001(
#line 530 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 532 "getopt_io.c"
  MR_Box * mercury__getopt_io__wrapper_arg_2,
#line 534 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3,
#line 536 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_4);

#line 539 "getopt_io.c"
static MR_bool MR_CALL 
mercury__getopt_io____Unify____option_ops_special_1_0_10001(
#line 542 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 544 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 546 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3);

#line 549 "getopt_io.c"
static void MR_CALL 
mercury__getopt_io____Compare____option_ops_special_1_0_10001(
#line 552 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 554 "getopt_io.c"
  MR_Box * mercury__getopt_io__wrapper_arg_2,
#line 556 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3,
#line 558 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_4);

#line 561 "getopt_io.c"
static MR_bool MR_CALL 
mercury__getopt_io____Unify____option_ops_track_1_0_10001(
#line 564 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 566 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 568 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3);

#line 571 "getopt_io.c"
static void MR_CALL 
mercury__getopt_io____Compare____option_ops_track_1_0_10001(
#line 574 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 576 "getopt_io.c"
  MR_Box * mercury__getopt_io__wrapper_arg_2,
#line 578 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3,
#line 580 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_4);

#line 583 "getopt_io.c"
static MR_bool MR_CALL 
mercury__getopt_io____Unify____option_table_1_0_10001(
#line 586 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 588 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 590 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3);

#line 593 "getopt_io.c"
static void MR_CALL 
mercury__getopt_io____Compare____option_table_1_0_10001(
#line 596 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 598 "getopt_io.c"
  MR_Box * mercury__getopt_io__wrapper_arg_2,
#line 600 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3,
#line 602 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_4);

#line 605 "getopt_io.c"
static MR_bool MR_CALL 
mercury__getopt_io____Unify____special_data_0_0_10001(
#line 608 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 610 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2);

#line 613 "getopt_io.c"
static void MR_CALL 
mercury__getopt_io____Compare____special_data_0_0_10001(
#line 616 "getopt_io.c"
  MR_Box * mercury__getopt_io__wrapper_arg_1,
#line 618 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 620 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3);

#line 13 "ops.opt"
static MR_Integer MR_CALL 
mercury__getopt_io__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 967 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_110_117_109_101_114_105_99_95_97_114_103_117_109_101_110_116_95_95_91_49_93_95_48_3_p_0(
#line 967 "getopt_io.m"
  MR_String mercury__getopt_io__Option_4,
#line 967 "getopt_io.m"
  MR_String mercury__getopt_io__Arg_5,
#line 967 "getopt_io.m"
  MR_Word * mercury__getopt_io__Result_6);

#line 190 "string.opt"
static void MR_CALL 
mercury__getopt_io__next_boundary__ho5__ho21_4_p_in__string_0(
#line 190 "string.opt"
  MR_String mercury__getopt_io__String_6_6,
#line 190 "string.opt"
  MR_Integer mercury__getopt_io__I0_7_7,
#line 190 "string.opt"
  MR_Integer * mercury__getopt_io__I_8_8);

#line 188 "string.opt"
static void MR_CALL 
mercury__getopt_io__words_2__ho20_4_p_in__string_0(
#line 188 "string.opt"
  MR_String mercury__getopt_io__String_6_6,
#line 188 "string.opt"
  MR_Integer mercury__getopt_io__WordStart_7_7,
#line 188 "string.opt"
  MR_Word * mercury__getopt_io__Words_8_8);

#line 190 "string.opt"
static void MR_CALL 
mercury__getopt_io__next_boundary__ho19_4_p_in__string_0(
#line 190 "string.opt"
  MR_String mercury__getopt_io__String_6_6,
#line 190 "string.opt"
  MR_Integer mercury__getopt_io__I0_7_7,
#line 190 "string.opt"
  MR_Integer * mercury__getopt_io__I_8_8);

#line 356 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_2(
#line 356 "getopt_io.m"
  void * mercury__getopt_io__env_ptr_arg);

#line 354 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_1(
#line 354 "getopt_io.m"
  void * mercury__getopt_io__env_ptr_arg);

#line 354 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0(
#line 354 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_12,
#line 354 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionDefaultsPred_3,
#line 354 "getopt_io.m"
  MR_Word * mercury__getopt_io__HeadVar__3_10,
#line 354 "getopt_io.m"
  MR_Cont mercury__getopt_io__cont,
#line 354 "getopt_io.m"
  void * mercury__getopt_io__cont_env_ptr);

#line 349 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_2(
#line 349 "getopt_io.m"
  void * mercury__getopt_io__env_ptr_arg);

#line 347 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_1(
#line 347 "getopt_io.m"
  void * mercury__getopt_io__env_ptr_arg);

#line 347 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0(
#line 347 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_12,
#line 347 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionDefaultsPred_3,
#line 347 "getopt_io.m"
  MR_Word * mercury__getopt_io__HeadVar__3_10,
#line 347 "getopt_io.m"
  MR_Cont mercury__getopt_io__cont,
#line 347 "getopt_io.m"
  void * mercury__getopt_io__cont_env_ptr);

#line 912 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__process_special_8_p_0(
#line 912 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_48,
#line 912 "getopt_io.m"
  MR_String mercury__getopt_io__Option_9,
#line 912 "getopt_io.m"
  MR_Box mercury__getopt_io__Flag_10,
#line 912 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionData_11,
#line 912 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionOps_12,
#line 912 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionTable0_13,
#line 912 "getopt_io.m"
  MR_Word * mercury__getopt_io__Result_14,
#line 912 "getopt_io.m"
  MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_22,
#line 912 "getopt_io.m"
  MR_Word * mercury__getopt_io__STATE_VARIABLE_OptionsSet_23);

#line 837 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__process_negated_option_7_p_0(
#line 837 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_90,
#line 837 "getopt_io.m"
  MR_String mercury__getopt_io__Option_8,
#line 837 "getopt_io.m"
  MR_Box mercury__getopt_io__Flag_9,
#line 837 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionOps_10,
#line 837 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionTable0_11,
#line 837 "getopt_io.m"
  MR_Word * mercury__getopt_io__Result_12,
#line 837 "getopt_io.m"
  MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_23,
#line 837 "getopt_io.m"
  MR_Word * mercury__getopt_io__STATE_VARIABLE_OptionsSet_24);

#line 658 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__process_option_11_p_0(
#line 658 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_287,
#line 658 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__1_1,
#line 658 "getopt_io.m"
  MR_String mercury__getopt_io__HeadVar__2_2,
#line 658 "getopt_io.m"
  MR_Box mercury__getopt_io__HeadVar__3_3,
#line 658 "getopt_io.m"
  MR_Word mercury__getopt_io__MaybeArg_4,
#line 658 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__5_5,
#line 658 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__6_6,
#line 658 "getopt_io.m"
  MR_Word * mercury__getopt_io__Result_7,
#line 658 "getopt_io.m"
  MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8,
#line 658 "getopt_io.m"
  MR_Word * mercury__getopt_io__STATE_VARIABLE_OptionsSet_9);

#line 585 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__handle_short_options_12_p_0(
#line 585 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_71,
#line 585 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__1_1,
#line 585 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionOps_2,
#line 585 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__3_3,
#line 585 "getopt_io.m"
  MR_Word * mercury__getopt_io__Args_4,
#line 585 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__5_5,
#line 585 "getopt_io.m"
  MR_Word * mercury__getopt_io__OptionArgs_6,
#line 585 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__7_7,
#line 585 "getopt_io.m"
  MR_Word * mercury__getopt_io__HeadVar__8_8,
#line 585 "getopt_io.m"
  MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_9,
#line 585 "getopt_io.m"
  MR_Word * mercury__getopt_io__STATE_VARIABLE_OptionsSet_10);

#line 522 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__handle_long_option_15_p_0(
#line 522 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_58,
#line 522 "getopt_io.m"
  MR_String mercury__getopt_io__Option_16,
#line 522 "getopt_io.m"
  MR_Box mercury__getopt_io__Flag_17,
#line 522 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionData_18,
#line 522 "getopt_io.m"
  MR_Word mercury__getopt_io__MaybeOptionArg0_19,
#line 522 "getopt_io.m"
  MR_Word mercury__getopt_io__Args0_20,
#line 522 "getopt_io.m"
  MR_Word * mercury__getopt_io__Args_21,
#line 522 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionOps_22,
#line 522 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionArgs0_23,
#line 522 "getopt_io.m"
  MR_Word * mercury__getopt_io__OptionArgs_24,
#line 522 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionTable0_25,
#line 522 "getopt_io.m"
  MR_Word * mercury__getopt_io__Result_26,
#line 522 "getopt_io.m"
  MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_40,
#line 522 "getopt_io.m"
  MR_Word * mercury__getopt_io__STATE_VARIABLE_OptionsSet_41);

#line 69 "solutions.opt"
static void MR_CALL 
mercury__getopt_io__init_option_table_multi_2_p_0_3(
#line 69 "solutions.opt"
  MR_Box mercury__getopt_io__closure_arg,
#line 69 "solutions.opt"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 69 "solutions.opt"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 69 "solutions.opt"
  MR_Box * mercury__getopt_io__wrapper_arg_3);

#line 354 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__init_option_table_multi_2_p_0_1(
#line 354 "getopt_io.m"
  void * mercury__getopt_io__env_ptr_arg);

#line 354 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__init_option_table_multi_2_p_0_2(
#line 354 "getopt_io.m"
  MR_Box mercury__getopt_io__closure_arg,
#line 354 "getopt_io.m"
  MR_Box * mercury__getopt_io__wrapper_arg_1,
#line 354 "getopt_io.m"
  MR_Cont mercury__getopt_io__cont,
#line 354 "getopt_io.m"
  void * mercury__getopt_io__cont_env_ptr);

#line 69 "solutions.opt"
static void MR_CALL 
mercury__getopt_io__init_option_table_2_p_0_3(
#line 69 "solutions.opt"
  MR_Box mercury__getopt_io__closure_arg,
#line 69 "solutions.opt"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 69 "solutions.opt"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 69 "solutions.opt"
  MR_Box * mercury__getopt_io__wrapper_arg_3);

#line 347 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__init_option_table_2_p_0_1(
#line 347 "getopt_io.m"
  void * mercury__getopt_io__env_ptr_arg);

#line 347 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__init_option_table_2_p_0_2(
#line 347 "getopt_io.m"
  MR_Box mercury__getopt_io__closure_arg,
#line 347 "getopt_io.m"
  MR_Box * mercury__getopt_io__wrapper_arg_1,
#line 347 "getopt_io.m"
  MR_Cont mercury__getopt_io__cont,
#line 347 "getopt_io.m"
  void * mercury__getopt_io__cont_env_ptr);


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

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

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

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

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

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

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

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




static /* final */ const MR_Box mercury__getopt_io_scalar_common_1[9][2] = {
  /* row 0 */
  {
    ((MR_Box) (&mercury__list__list__type_ctor_info_list_1)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0))
  },
  /* row 1 */
  {
    ((MR_Box) (&mercury__maybe__maybe__type_ctor_info_maybe_1)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0))
  },
  /* row 2 */
  {
    ((MR_Box) (&mercury__maybe__maybe__type_ctor_info_maybe_1)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0))
  },
  /* row 3 */
  {
    ((MR_Box) (MR_Word) ((MR_Integer) 1)),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))
  },
  /* row 4 */
  {
    ((MR_Box) (MR_Word) ((MR_Integer) 3)),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))
  },
  /* row 5 */
  {
    ((MR_Box) (MR_Word) ((MR_Integer) 1)),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))
  },
  /* row 6 */
  {
    ((MR_Box) (MR_Word) ((MR_Integer) 2)),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))
  },
  /* row 7 */
  {
    ((MR_Box) ((MR_String) "\'")),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))
  },
  /* row 8 */
  {
    ((MR_Box) ((MR_String) "\' failed")),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))
  },
};

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

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

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

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

static /* final */ const MR_Box mercury__getopt_io_scalar_common_6[1][6] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (&mercury__getopt_io_scalar_common_5[0])),
    ((MR_Box) (MR_Word) ((MR_Integer) 3)),
    ((MR_Box) (&mercury__private_builtin__private_builtin__type_ctor_info_type_info_0)),
    ((MR_Box) (&mercury__getopt_io____vpti_pred_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0)),
    ((MR_Box) (&mercury__getopt_io__pair__pti_pair_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0))
  },
};

static /* final */ const MR_Box mercury__getopt_io_scalar_common_7[1][7] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (&mercury__getopt_io_scalar_common_5[0])),
    ((MR_Box) (MR_Word) ((MR_Integer) 4)),
    ((MR_Box) (&mercury__private_builtin__private_builtin__type_ctor_info_type_info_0)),
    ((MR_Box) (MR_Word) ((MR_Integer) 1)),
    ((MR_Box) (&mercury__getopt_io__list__pti_list_1__pseudo_1)),
    ((MR_Box) (&mercury__getopt_io__list__pti_list_1__pseudo_1))
  },
};

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



#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "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 "stm_builtin.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "store.mh"
#include "store.mh"
#include "store.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "pretty_printer.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "array.mh"
#include "array.mh"
#include "version_array.mh"
#include "version_array.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "float.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "array.mh"
#include "array.mh"
#include "math.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "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 "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 "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 "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 "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 "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 "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "array.mh"
#include "array.mh"
#include "dir.mh"
#include "dir.mh"
#include "table_builtin.mh"
#include "table_builtin.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "benchmarking.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "array.mh"
#include "array.mh"
#include "dir.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "array.mh"
#include "array.mh"
#include "table_builtin.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "time.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "array.mh"
#include "array.mh"
#include "private_builtin.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "time.mh"
#include "time.mh"
#include "array.mh"
#include "array.mh"
#include "array.mh"
#include "array.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "version_array.mh"
#include "version_array.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "time.mh"
#include "time.mh"
#include "array.mh"
#include "array.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "dir.mh"
#include "dir.mh"
#include "stm_builtin.mh"
#include "stm_builtin.mh"
#include "store.mh"
#include "store.mh"
#include "table_builtin.mh"
#include "table_builtin.mh"
#include "time.mh"
#include "time.mh"
#include "version_array.mh"
#include "version_array.mh"



#line 1363 "getopt_io.c"
static const MR_VA_PseudoTypeInfo_Struct2 mercury__getopt_io____vpti_pred_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0 = {
  &mercury__builtin__builtin__type_ctor_info_pred_0,
  (MR_Integer) 2,
  {
    (MR_PseudoTypeInfo) (MR_Integer) 1,
    (MR_PseudoTypeInfo) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0
  }
};

#line 1373 "getopt_io.c"
static const MR_FA_PseudoTypeInfo_Struct2 mercury__getopt_io__pair__pti_pair_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0 = {
  &mercury__pair__pair__type_ctor_info_pair_2,
  {
    (MR_PseudoTypeInfo) (MR_Integer) 1,
    (MR_PseudoTypeInfo) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0
  }
};

#line 1382 "getopt_io.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__getopt_io__list__pti_list_1__pseudo_1 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_PseudoTypeInfo) (MR_Integer) 1
  }
};

#line 1390 "getopt_io.c"
static const MR_FA_PseudoTypeInfo_Struct2 mercury__getopt_io__tree234__pti_tree234_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_PseudoTypeInfo) (MR_Integer) 1,
    (MR_PseudoTypeInfo) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0
  }
};

#line 1399 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_maybe_option_table_1_0[1] = {
  (MR_PseudoTypeInfo) &mercury__getopt_io__tree234__pti_tree234_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0
};

#line 1404 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_maybe_option_table_1_0 = {
  (MR_String) "ok",
  (MR_Integer) 1,
  (MR_Integer) 1,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 0,
  (MR_Integer) -1,
  (MR_Integer) 0,
  mercury__getopt_io__getopt_io__field_types_maybe_option_table_1_0,
  NULL,
  NULL,
  NULL
};

#line 1419 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_maybe_option_table_1_1[1] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_string_0
};

#line 1424 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_maybe_option_table_1_1 = {
  (MR_String) "error",
  (MR_Integer) 1,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 1,
  (MR_Integer) -1,
  (MR_Integer) 1,
  mercury__getopt_io__getopt_io__field_types_maybe_option_table_1_1,
  NULL,
  NULL,
  NULL
};

#line 1439 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_maybe_option_table_1_0[1] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_maybe_option_table_1_0
};

#line 1444 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_maybe_option_table_1_1[1] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_maybe_option_table_1_1
};

#line 1449 "getopt_io.c"
static const MR_DuPtagLayout mercury__getopt_io__getopt_io__du_ptag_ordered_maybe_option_table_1[2] = {
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__getopt_io__getopt_io__du_stag_ordered_maybe_option_table_1_0
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__getopt_io__getopt_io__du_stag_ordered_maybe_option_table_1_1
  }
};

#line 1463 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_name_ordered_maybe_option_table_1[2] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_maybe_option_table_1_1,
  &mercury__getopt_io__getopt_io__du_functor_desc_maybe_option_table_1_0
};

#line 1469 "getopt_io.c"
static const MR_Integer mercury__getopt_io__getopt_io__functor_number_map_maybe_option_table_1[2] = {
  (MR_Integer) 1,
  (MR_Integer) 0
};

#line 1475 "getopt_io.c"
const MR_TypeCtorInfo_Struct mercury__getopt_io__getopt_io__type_ctor_info_maybe_option_table_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) 2,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (mercury__getopt_io____Unify____maybe_option_table_1_0_10001)),
  ((MR_Box) (mercury__getopt_io____Compare____maybe_option_table_1_0_10001)),
  (MR_String) "getopt_io",
  (MR_String) "maybe_option_table",
  {
    mercury__getopt_io__getopt_io__du_name_ordered_maybe_option_table_1
  },
  {
    mercury__getopt_io__getopt_io__du_ptag_ordered_maybe_option_table_1
  },
  (MR_Integer) 2,
  (MR_Integer) 4,
  mercury__getopt_io__getopt_io__functor_number_map_maybe_option_table_1
};

#line 1496 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_data_0_0[1] = {
  (MR_PseudoTypeInfo) &mercury__bool__bool__type_ctor_info_bool_0
};

#line 1501 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_0 = {
  (MR_String) "bool",
  (MR_Integer) 1,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 1,
  (MR_Integer) -1,
  (MR_Integer) 0,
  mercury__getopt_io__getopt_io__field_types_option_data_0_0,
  NULL,
  NULL,
  NULL
};

#line 1516 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_data_0_1[1] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0
};

#line 1521 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_1 = {
  (MR_String) "int",
  (MR_Integer) 1,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 2,
  (MR_Integer) -1,
  (MR_Integer) 1,
  mercury__getopt_io__getopt_io__field_types_option_data_0_1,
  NULL,
  NULL,
  NULL
};

#line 1536 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_data_0_2[1] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_string_0
};

#line 1541 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_2 = {
  (MR_String) "string",
  (MR_Integer) 1,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_REMOTE,
  (MR_Integer) 3,
  (MR_Integer) 0,
  (MR_Integer) 2,
  mercury__getopt_io__getopt_io__field_types_option_data_0_2,
  NULL,
  NULL,
  NULL
};

#line 1556 "getopt_io.c"
static const MR_FA_TypeInfo_Struct1 mercury__getopt_io__maybe__ti_maybe_1builtin__type_ctor_info_int_0 = {
  &mercury__maybe__maybe__type_ctor_info_maybe_1,
  {
    (MR_TypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0
  }
};

#line 1564 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_data_0_3[1] = {
  (MR_PseudoTypeInfo) &mercury__getopt_io__maybe__ti_maybe_1builtin__type_ctor_info_int_0
};

#line 1569 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_3 = {
  (MR_String) "maybe_int",
  (MR_Integer) 1,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_REMOTE,
  (MR_Integer) 3,
  (MR_Integer) 1,
  (MR_Integer) 3,
  mercury__getopt_io__getopt_io__field_types_option_data_0_3,
  NULL,
  NULL,
  NULL
};

#line 1584 "getopt_io.c"
static const MR_FA_TypeInfo_Struct1 mercury__getopt_io__maybe__ti_maybe_1builtin__type_ctor_info_string_0 = {
  &mercury__maybe__maybe__type_ctor_info_maybe_1,
  {
    (MR_TypeInfo) &mercury__builtin__builtin__type_ctor_info_string_0
  }
};

#line 1592 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_data_0_4[1] = {
  (MR_PseudoTypeInfo) &mercury__getopt_io__maybe__ti_maybe_1builtin__type_ctor_info_string_0
};

#line 1597 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_4 = {
  (MR_String) "maybe_string",
  (MR_Integer) 1,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_REMOTE,
  (MR_Integer) 3,
  (MR_Integer) 2,
  (MR_Integer) 4,
  mercury__getopt_io__getopt_io__field_types_option_data_0_4,
  NULL,
  NULL,
  NULL
};

#line 1612 "getopt_io.c"
static const MR_FA_TypeInfo_Struct1 mercury__getopt_io__list__ti_list_1builtin__type_ctor_info_string_0 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_TypeInfo) &mercury__builtin__builtin__type_ctor_info_string_0
  }
};

#line 1620 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_data_0_5[1] = {
  (MR_PseudoTypeInfo) &mercury__getopt_io__list__ti_list_1builtin__type_ctor_info_string_0
};

#line 1625 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_5 = {
  (MR_String) "accumulating",
  (MR_Integer) 1,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_REMOTE,
  (MR_Integer) 3,
  (MR_Integer) 3,
  (MR_Integer) 5,
  mercury__getopt_io__getopt_io__field_types_option_data_0_5,
  NULL,
  NULL,
  NULL
};

#line 1640 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_6 = {
  (MR_String) "special",
  (MR_Integer) 0,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_LOCAL,
  (MR_Integer) 0,
  (MR_Integer) 0,
  (MR_Integer) 6,
  NULL,
  NULL,
  NULL,
  NULL
};

#line 1655 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_7 = {
  (MR_String) "bool_special",
  (MR_Integer) 0,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_LOCAL,
  (MR_Integer) 0,
  (MR_Integer) 1,
  (MR_Integer) 7,
  NULL,
  NULL,
  NULL,
  NULL
};

#line 1670 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_8 = {
  (MR_String) "int_special",
  (MR_Integer) 0,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_LOCAL,
  (MR_Integer) 0,
  (MR_Integer) 2,
  (MR_Integer) 8,
  NULL,
  NULL,
  NULL,
  NULL
};

#line 1685 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_9 = {
  (MR_String) "string_special",
  (MR_Integer) 0,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_LOCAL,
  (MR_Integer) 0,
  (MR_Integer) 3,
  (MR_Integer) 9,
  NULL,
  NULL,
  NULL,
  NULL
};

#line 1700 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_10 = {
  (MR_String) "maybe_string_special",
  (MR_Integer) 0,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_LOCAL,
  (MR_Integer) 0,
  (MR_Integer) 4,
  (MR_Integer) 10,
  NULL,
  NULL,
  NULL,
  NULL
};

#line 1715 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_11 = {
  (MR_String) "file_special",
  (MR_Integer) 0,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_LOCAL,
  (MR_Integer) 0,
  (MR_Integer) 5,
  (MR_Integer) 11,
  NULL,
  NULL,
  NULL,
  NULL
};

#line 1730 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_data_0_0[6] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_6,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_7,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_8,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_9,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_10,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_11
};

#line 1740 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_data_0_1[1] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_0
};

#line 1745 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_data_0_2[1] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_1
};

#line 1750 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_data_0_3[4] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_2,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_3,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_4,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_5
};

#line 1758 "getopt_io.c"
static const MR_DuPtagLayout mercury__getopt_io__getopt_io__du_ptag_ordered_option_data_0[4] = {
  {
    (MR_Integer) 6,
    mercury__private_builtin__MR_SECTAG_LOCAL,
    mercury__getopt_io__getopt_io__du_stag_ordered_option_data_0_0
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__getopt_io__getopt_io__du_stag_ordered_option_data_0_1
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__getopt_io__getopt_io__du_stag_ordered_option_data_0_2
  },
  {
    (MR_Integer) 4,
    mercury__private_builtin__MR_SECTAG_REMOTE,
    mercury__getopt_io__getopt_io__du_stag_ordered_option_data_0_3
  }
};

#line 1782 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_name_ordered_option_data_0[12] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_5,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_0,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_7,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_11,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_1,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_8,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_3,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_4,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_10,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_6,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_2,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_data_0_9
};

#line 1798 "getopt_io.c"
static const MR_Integer mercury__getopt_io__getopt_io__functor_number_map_option_data_0[12] = {
  (MR_Integer) 1,
  (MR_Integer) 4,
  (MR_Integer) 10,
  (MR_Integer) 6,
  (MR_Integer) 7,
  (MR_Integer) 0,
  (MR_Integer) 9,
  (MR_Integer) 2,
  (MR_Integer) 5,
  (MR_Integer) 11,
  (MR_Integer) 8,
  (MR_Integer) 3
};

#line 1814 "getopt_io.c"
const MR_TypeCtorInfo_Struct mercury__getopt_io__getopt_io__type_ctor_info_option_data_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) 4,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (mercury__getopt_io____Unify____option_data_0_0_10001)),
  ((MR_Box) (mercury__getopt_io____Compare____option_data_0_0_10001)),
  (MR_String) "getopt_io",
  (MR_String) "option_data",
  {
    mercury__getopt_io__getopt_io__du_name_ordered_option_data_0
  },
  {
    mercury__getopt_io__getopt_io__du_ptag_ordered_option_data_0
  },
  (MR_Integer) 12,
  (MR_Integer) 4,
  mercury__getopt_io__getopt_io__functor_number_map_option_data_0
};

#line 1835 "getopt_io.c"
static const MR_VA_PseudoTypeInfo_Struct2 mercury__getopt_io____vpti_pred_2__plain_builtin__type_ctor_info_character_0__pseudo_1 = {
  &mercury__builtin__builtin__type_ctor_info_pred_0,
  (MR_Integer) 2,
  {
    (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_character_0,
    (MR_PseudoTypeInfo) (MR_Integer) 1
  }
};

#line 1845 "getopt_io.c"
static const MR_VA_PseudoTypeInfo_Struct2 mercury__getopt_io____vpti_pred_2__plain_builtin__type_ctor_info_string_0__pseudo_1 = {
  &mercury__builtin__builtin__type_ctor_info_pred_0,
  (MR_Integer) 2,
  {
    (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_string_0,
    (MR_PseudoTypeInfo) (MR_Integer) 1
  }
};

#line 1855 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_ops_1_0[3] = {
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_2__plain_builtin__type_ctor_info_character_0__pseudo_1,
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_2__plain_builtin__type_ctor_info_string_0__pseudo_1,
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0
};

#line 1862 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_ops_1_0 = {
  (MR_String) "option_ops",
  (MR_Integer) 3,
  (MR_Integer) 7,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 0,
  (MR_Integer) -1,
  (MR_Integer) 0,
  mercury__getopt_io__getopt_io__field_types_option_ops_1_0,
  NULL,
  NULL,
  NULL
};

#line 1877 "getopt_io.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__getopt_io__getopt_io__pti_maybe_option_table_1__pseudo_1 = {
  &mercury__getopt_io__getopt_io__type_ctor_info_maybe_option_table_1,
  {
    (MR_PseudoTypeInfo) (MR_Integer) 1
  }
};

#line 1885 "getopt_io.c"
static const MR_VA_PseudoTypeInfo_Struct4 mercury__getopt_io____vpti_pred_4__pseudo_1__plain_getopt_io__type_ctor_info_special_data_0__pseudo_tree234__pti_tree234_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0__pseudo_getopt_io__pti_maybe_option_table_1__pseudo_1 = {
  &mercury__builtin__builtin__type_ctor_info_pred_0,
  (MR_Integer) 4,
  {
    (MR_PseudoTypeInfo) (MR_Integer) 1,
    (MR_PseudoTypeInfo) &mercury__getopt_io__getopt_io__type_ctor_info_special_data_0,
    (MR_PseudoTypeInfo) &mercury__getopt_io__tree234__pti_tree234_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0,
    (MR_PseudoTypeInfo) &mercury__getopt_io__getopt_io__pti_maybe_option_table_1__pseudo_1
  }
};

#line 1897 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_ops_1_1[4] = {
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_2__plain_builtin__type_ctor_info_character_0__pseudo_1,
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_2__plain_builtin__type_ctor_info_string_0__pseudo_1,
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0,
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_4__pseudo_1__plain_getopt_io__type_ctor_info_special_data_0__pseudo_tree234__pti_tree234_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0__pseudo_getopt_io__pti_maybe_option_table_1__pseudo_1
};

#line 1905 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_ops_1_1 = {
  (MR_String) "option_ops",
  (MR_Integer) 4,
  (MR_Integer) 15,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 1,
  (MR_Integer) -1,
  (MR_Integer) 1,
  mercury__getopt_io__getopt_io__field_types_option_ops_1_1,
  NULL,
  NULL,
  NULL
};

#line 1920 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_ops_1_2[3] = {
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_2__plain_builtin__type_ctor_info_character_0__pseudo_1,
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_2__plain_builtin__type_ctor_info_string_0__pseudo_1,
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0
};

#line 1927 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_ops_1_2 = {
  (MR_String) "option_ops_multi",
  (MR_Integer) 3,
  (MR_Integer) 7,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 2,
  (MR_Integer) -1,
  (MR_Integer) 2,
  mercury__getopt_io__getopt_io__field_types_option_ops_1_2,
  NULL,
  NULL,
  NULL
};

#line 1942 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_ops_1_3[4] = {
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_2__plain_builtin__type_ctor_info_character_0__pseudo_1,
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_2__plain_builtin__type_ctor_info_string_0__pseudo_1,
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0,
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_4__pseudo_1__plain_getopt_io__type_ctor_info_special_data_0__pseudo_tree234__pti_tree234_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0__pseudo_getopt_io__pti_maybe_option_table_1__pseudo_1
};

#line 1950 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_ops_1_3 = {
  (MR_String) "option_ops_multi",
  (MR_Integer) 4,
  (MR_Integer) 15,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 3,
  (MR_Integer) -1,
  (MR_Integer) 3,
  mercury__getopt_io__getopt_io__field_types_option_ops_1_3,
  NULL,
  NULL,
  NULL
};

#line 1965 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_1_0[1] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_option_ops_1_0
};

#line 1970 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_1_1[1] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_option_ops_1_1
};

#line 1975 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_1_2[1] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_option_ops_1_2
};

#line 1980 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_1_3[1] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_option_ops_1_3
};

#line 1985 "getopt_io.c"
static const MR_DuPtagLayout mercury__getopt_io__getopt_io__du_ptag_ordered_option_ops_1[4] = {
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_1_0
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_1_1
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_1_2
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_1_3
  }
};

#line 2009 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_name_ordered_option_ops_1[4] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_option_ops_1_0,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_ops_1_1,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_ops_1_2,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_ops_1_3
};

#line 2017 "getopt_io.c"
static const MR_Integer mercury__getopt_io__getopt_io__functor_number_map_option_ops_1[4] = {
  (MR_Integer) 0,
  (MR_Integer) 1,
  (MR_Integer) 2,
  (MR_Integer) 3
};

#line 2025 "getopt_io.c"
const MR_TypeCtorInfo_Struct mercury__getopt_io__getopt_io__type_ctor_info_option_ops_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) 4,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (mercury__getopt_io____Unify____option_ops_1_0_10001)),
  ((MR_Box) (mercury__getopt_io____Compare____option_ops_1_0_10001)),
  (MR_String) "getopt_io",
  (MR_String) "option_ops",
  {
    mercury__getopt_io__getopt_io__du_name_ordered_option_ops_1
  },
  {
    mercury__getopt_io__getopt_io__du_ptag_ordered_option_ops_1
  },
  (MR_Integer) 4,
  (MR_Integer) 4,
  mercury__getopt_io__getopt_io__functor_number_map_option_ops_1
};

#line 2046 "getopt_io.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__getopt_io__getopt_io__pti_option_ops_special_1__pseudo_1 = {
  &mercury__getopt_io__getopt_io__type_ctor_info_option_ops_special_1,
  {
    (MR_PseudoTypeInfo) (MR_Integer) 1
  }
};

#line 2054 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_ops_internal_1_0[3] = {
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_2__plain_builtin__type_ctor_info_character_0__pseudo_1,
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_2__plain_builtin__type_ctor_info_string_0__pseudo_1,
  (MR_PseudoTypeInfo) &mercury__getopt_io__getopt_io__pti_option_ops_special_1__pseudo_1
};

#line 2061 "getopt_io.c"
static const MR_ConstString mercury__getopt_io__getopt_io__field_names_option_ops_internal_1_0[3] = {
  (MR_String) "short_option",
  (MR_String) "long_option",
  (MR_String) "special_handler"
};

#line 2068 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_ops_internal_1_0 = {
  (MR_String) "option_ops_internal",
  (MR_Integer) 3,
  (MR_Integer) 7,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 0,
  (MR_Integer) -1,
  (MR_Integer) 0,
  mercury__getopt_io__getopt_io__field_types_option_ops_internal_1_0,
  mercury__getopt_io__getopt_io__field_names_option_ops_internal_1_0,
  NULL,
  NULL
};

#line 2083 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_internal_1_0[1] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_option_ops_internal_1_0
};

#line 2088 "getopt_io.c"
static const MR_DuPtagLayout mercury__getopt_io__getopt_io__du_ptag_ordered_option_ops_internal_1[1] = {
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_internal_1_0
  }
};

#line 2097 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_name_ordered_option_ops_internal_1[1] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_option_ops_internal_1_0
};

#line 2102 "getopt_io.c"
static const MR_Integer mercury__getopt_io__getopt_io__functor_number_map_option_ops_internal_1[1] = {
  (MR_Integer) 0
};

#line 2107 "getopt_io.c"
const MR_TypeCtorInfo_Struct mercury__getopt_io__getopt_io__type_ctor_info_option_ops_internal_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) 1,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (mercury__getopt_io____Unify____option_ops_internal_1_0_10001)),
  ((MR_Box) (mercury__getopt_io____Compare____option_ops_internal_1_0_10001)),
  (MR_String) "getopt_io",
  (MR_String) "option_ops_internal",
  {
    mercury__getopt_io__getopt_io__du_name_ordered_option_ops_internal_1
  },
  {
    mercury__getopt_io__getopt_io__du_ptag_ordered_option_ops_internal_1
  },
  (MR_Integer) 1,
  (MR_Integer) 4,
  mercury__getopt_io__getopt_io__functor_number_map_option_ops_internal_1
};

#line 2128 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_ops_special_1_0 = {
  (MR_String) "none",
  (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 2143 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_ops_special_1_1[1] = {
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_4__pseudo_1__plain_getopt_io__type_ctor_info_special_data_0__pseudo_tree234__pti_tree234_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0__pseudo_getopt_io__pti_maybe_option_table_1__pseudo_1
};

#line 2148 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_ops_special_1_1 = {
  (MR_String) "notrack",
  (MR_Integer) 1,
  (MR_Integer) 1,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 1,
  (MR_Integer) -1,
  (MR_Integer) 1,
  mercury__getopt_io__getopt_io__field_types_option_ops_special_1_1,
  NULL,
  NULL,
  NULL
};

#line 2163 "getopt_io.c"
static const MR_FA_PseudoTypeInfo_Struct1 mercury__getopt_io__set_ordlist__pti_set_ordlist_1__pseudo_1 = {
  &mercury__set_ordlist__set_ordlist__type_ctor_info_set_ordlist_1,
  {
    (MR_PseudoTypeInfo) (MR_Integer) 1
  }
};

#line 2171 "getopt_io.c"
static const MR_VA_PseudoTypeInfo_Struct5 mercury__getopt_io____vpti_pred_5__pseudo_1__plain_getopt_io__type_ctor_info_special_data_0__pseudo_tree234__pti_tree234_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0__pseudo_getopt_io__pti_maybe_option_table_1__pseudo_1__pseudo_set_ordlist__pti_set_ordlist_1__pseudo_1 = {
  &mercury__builtin__builtin__type_ctor_info_pred_0,
  (MR_Integer) 5,
  {
    (MR_PseudoTypeInfo) (MR_Integer) 1,
    (MR_PseudoTypeInfo) &mercury__getopt_io__getopt_io__type_ctor_info_special_data_0,
    (MR_PseudoTypeInfo) &mercury__getopt_io__tree234__pti_tree234_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0,
    (MR_PseudoTypeInfo) &mercury__getopt_io__getopt_io__pti_maybe_option_table_1__pseudo_1,
    (MR_PseudoTypeInfo) &mercury__getopt_io__set_ordlist__pti_set_ordlist_1__pseudo_1
  }
};

#line 2184 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_ops_special_1_2[1] = {
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_5__pseudo_1__plain_getopt_io__type_ctor_info_special_data_0__pseudo_tree234__pti_tree234_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0__pseudo_getopt_io__pti_maybe_option_table_1__pseudo_1__pseudo_set_ordlist__pti_set_ordlist_1__pseudo_1
};

#line 2189 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_ops_special_1_2 = {
  (MR_String) "track",
  (MR_Integer) 1,
  (MR_Integer) 1,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 2,
  (MR_Integer) -1,
  (MR_Integer) 2,
  mercury__getopt_io__getopt_io__field_types_option_ops_special_1_2,
  NULL,
  NULL,
  NULL
};

#line 2204 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_special_1_0[1] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_option_ops_special_1_0
};

#line 2209 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_special_1_1[1] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_option_ops_special_1_1
};

#line 2214 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_special_1_2[1] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_option_ops_special_1_2
};

#line 2219 "getopt_io.c"
static const MR_DuPtagLayout mercury__getopt_io__getopt_io__du_ptag_ordered_option_ops_special_1[3] = {
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_LOCAL,
    mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_special_1_0
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_special_1_1
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_special_1_2
  }
};

#line 2238 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_name_ordered_option_ops_special_1[3] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_option_ops_special_1_0,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_ops_special_1_1,
  &mercury__getopt_io__getopt_io__du_functor_desc_option_ops_special_1_2
};

#line 2245 "getopt_io.c"
static const MR_Integer mercury__getopt_io__getopt_io__functor_number_map_option_ops_special_1[3] = {
  (MR_Integer) 0,
  (MR_Integer) 1,
  (MR_Integer) 2
};

#line 2252 "getopt_io.c"
const MR_TypeCtorInfo_Struct mercury__getopt_io__getopt_io__type_ctor_info_option_ops_special_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) 3,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (mercury__getopt_io____Unify____option_ops_special_1_0_10001)),
  ((MR_Box) (mercury__getopt_io____Compare____option_ops_special_1_0_10001)),
  (MR_String) "getopt_io",
  (MR_String) "option_ops_special",
  {
    mercury__getopt_io__getopt_io__du_name_ordered_option_ops_special_1
  },
  {
    mercury__getopt_io__getopt_io__du_ptag_ordered_option_ops_special_1
  },
  (MR_Integer) 3,
  (MR_Integer) 4,
  mercury__getopt_io__getopt_io__functor_number_map_option_ops_special_1
};

#line 2273 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_option_ops_track_1_0[3] = {
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_2__plain_builtin__type_ctor_info_character_0__pseudo_1,
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_2__plain_builtin__type_ctor_info_string_0__pseudo_1,
  (MR_PseudoTypeInfo) &mercury__getopt_io____vpti_pred_5__pseudo_1__plain_getopt_io__type_ctor_info_special_data_0__pseudo_tree234__pti_tree234_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0__pseudo_getopt_io__pti_maybe_option_table_1__pseudo_1__pseudo_set_ordlist__pti_set_ordlist_1__pseudo_1
};

#line 2280 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_option_ops_track_1_0 = {
  (MR_String) "option_ops_track",
  (MR_Integer) 3,
  (MR_Integer) 7,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 0,
  (MR_Integer) -1,
  (MR_Integer) 0,
  mercury__getopt_io__getopt_io__field_types_option_ops_track_1_0,
  NULL,
  NULL,
  NULL
};

#line 2295 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_track_1_0[1] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_option_ops_track_1_0
};

#line 2300 "getopt_io.c"
static const MR_DuPtagLayout mercury__getopt_io__getopt_io__du_ptag_ordered_option_ops_track_1[1] = {
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__getopt_io__getopt_io__du_stag_ordered_option_ops_track_1_0
  }
};

#line 2309 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_name_ordered_option_ops_track_1[1] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_option_ops_track_1_0
};

#line 2314 "getopt_io.c"
static const MR_Integer mercury__getopt_io__getopt_io__functor_number_map_option_ops_track_1[1] = {
  (MR_Integer) 0
};

#line 2319 "getopt_io.c"
const MR_TypeCtorInfo_Struct mercury__getopt_io__getopt_io__type_ctor_info_option_ops_track_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) 1,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (mercury__getopt_io____Unify____option_ops_track_1_0_10001)),
  ((MR_Box) (mercury__getopt_io____Compare____option_ops_track_1_0_10001)),
  (MR_String) "getopt_io",
  (MR_String) "option_ops_track",
  {
    mercury__getopt_io__getopt_io__du_name_ordered_option_ops_track_1
  },
  {
    mercury__getopt_io__getopt_io__du_ptag_ordered_option_ops_track_1
  },
  (MR_Integer) 1,
  (MR_Integer) 4,
  mercury__getopt_io__getopt_io__functor_number_map_option_ops_track_1
};

#line 2340 "getopt_io.c"
const MR_TypeCtorInfo_Struct mercury__getopt_io__getopt_io__type_ctor_info_option_table_1 = {
  (MR_Integer) 1,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_EQUIV,
  ((MR_Box) (mercury__getopt_io____Unify____option_table_1_0_10001)),
  ((MR_Box) (mercury__getopt_io____Compare____option_table_1_0_10001)),
  (MR_String) "getopt_io",
  (MR_String) "option_table",
  {
    NULL
  },
  {
    (MR_PseudoTypeInfo) &mercury__getopt_io__tree234__pti_tree234_2__pseudo_1__plain_getopt_io__type_ctor_info_option_data_0
  },
  (MR_Integer) -1,
  (MR_Integer) 0,
  NULL
};

#line 2361 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_0 = {
  (MR_String) "none",
  (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 2376 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_special_data_0_1[1] = {
  (MR_PseudoTypeInfo) &mercury__bool__bool__type_ctor_info_bool_0
};

#line 2381 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_1 = {
  (MR_String) "bool",
  (MR_Integer) 1,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 1,
  (MR_Integer) -1,
  (MR_Integer) 1,
  mercury__getopt_io__getopt_io__field_types_special_data_0_1,
  NULL,
  NULL,
  NULL
};

#line 2396 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_special_data_0_2[1] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0
};

#line 2401 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_2 = {
  (MR_String) "int",
  (MR_Integer) 1,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 2,
  (MR_Integer) -1,
  (MR_Integer) 2,
  mercury__getopt_io__getopt_io__field_types_special_data_0_2,
  NULL,
  NULL,
  NULL
};

#line 2416 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_special_data_0_3[1] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_string_0
};

#line 2421 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_3 = {
  (MR_String) "string",
  (MR_Integer) 1,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_REMOTE,
  (MR_Integer) 3,
  (MR_Integer) 0,
  (MR_Integer) 3,
  mercury__getopt_io__getopt_io__field_types_special_data_0_3,
  NULL,
  NULL,
  NULL
};

#line 2436 "getopt_io.c"
static const MR_PseudoTypeInfo mercury__getopt_io__getopt_io__field_types_special_data_0_4[1] = {
  (MR_PseudoTypeInfo) &mercury__getopt_io__maybe__ti_maybe_1builtin__type_ctor_info_string_0
};

#line 2441 "getopt_io.c"
static const MR_DuFunctorDesc mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_4 = {
  (MR_String) "maybe_string",
  (MR_Integer) 1,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_REMOTE,
  (MR_Integer) 3,
  (MR_Integer) 1,
  (MR_Integer) 4,
  mercury__getopt_io__getopt_io__field_types_special_data_0_4,
  NULL,
  NULL,
  NULL
};

#line 2456 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_special_data_0_0[1] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_0
};

#line 2461 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_special_data_0_1[1] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_1
};

#line 2466 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_special_data_0_2[1] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_2
};

#line 2471 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_stag_ordered_special_data_0_3[2] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_3,
  &mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_4
};

#line 2477 "getopt_io.c"
static const MR_DuPtagLayout mercury__getopt_io__getopt_io__du_ptag_ordered_special_data_0[4] = {
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_LOCAL,
    mercury__getopt_io__getopt_io__du_stag_ordered_special_data_0_0
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__getopt_io__getopt_io__du_stag_ordered_special_data_0_1
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    mercury__getopt_io__getopt_io__du_stag_ordered_special_data_0_2
  },
  {
    (MR_Integer) 2,
    mercury__private_builtin__MR_SECTAG_REMOTE,
    mercury__getopt_io__getopt_io__du_stag_ordered_special_data_0_3
  }
};

#line 2501 "getopt_io.c"
static const MR_DuFunctorDescPtr mercury__getopt_io__getopt_io__du_name_ordered_special_data_0[5] = {
  &mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_1,
  &mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_2,
  &mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_4,
  &mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_0,
  &mercury__getopt_io__getopt_io__du_functor_desc_special_data_0_3
};

#line 2510 "getopt_io.c"
static const MR_Integer mercury__getopt_io__getopt_io__functor_number_map_special_data_0[5] = {
  (MR_Integer) 3,
  (MR_Integer) 0,
  (MR_Integer) 1,
  (MR_Integer) 4,
  (MR_Integer) 2
};

#line 2519 "getopt_io.c"
const MR_TypeCtorInfo_Struct mercury__getopt_io__getopt_io__type_ctor_info_special_data_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) 4,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (mercury__getopt_io____Unify____special_data_0_0_10001)),
  ((MR_Box) (mercury__getopt_io____Compare____special_data_0_0_10001)),
  (MR_String) "getopt_io",
  (MR_String) "special_data",
  {
    mercury__getopt_io__getopt_io__du_name_ordered_special_data_0
  },
  {
    mercury__getopt_io__getopt_io__du_ptag_ordered_special_data_0
  },
  (MR_Integer) 5,
  (MR_Integer) 4,
  mercury__getopt_io__getopt_io__functor_number_map_special_data_0
};

#line 2540 "getopt_io.c"
static MR_bool MR_CALL 
mercury__getopt_io____Unify____maybe_option_table_1_0_10001(
#line 2543 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 2545 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 2547 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3)
#line 2549 "getopt_io.c"
{
#line 2551 "getopt_io.c"
  {
#line 2553 "getopt_io.c"
    MR_bool mercury__getopt_io__succeeded;

#line 2556 "getopt_io.c"
    {
#line 2558 "getopt_io.c"
      mercury__getopt_io__succeeded = mercury__getopt_io____Unify____maybe_option_table_1_0(((MR_Word) mercury__getopt_io__wrapper_arg_1), ((MR_Word) mercury__getopt_io__wrapper_arg_2), ((MR_Word) mercury__getopt_io__wrapper_arg_3));
    }
#line 2561 "getopt_io.c"
    return mercury__getopt_io__succeeded;
#line 2563 "getopt_io.c"
  }
#line 2565 "getopt_io.c"
}

#line 2568 "getopt_io.c"
static void MR_CALL 
mercury__getopt_io____Compare____maybe_option_table_1_0_10001(
#line 2571 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 2573 "getopt_io.c"
  MR_Box * mercury__getopt_io__wrapper_arg_2,
#line 2575 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3,
#line 2577 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_4)
#line 2579 "getopt_io.c"
{
#line 2581 "getopt_io.c"
  {
#line 2583 "getopt_io.c"
    MR_Word mercury__getopt_io__conv0_HeadVar__1_1;

#line 2586 "getopt_io.c"
    {
#line 2588 "getopt_io.c"
      mercury__getopt_io____Compare____maybe_option_table_1_0(((MR_Word) mercury__getopt_io__wrapper_arg_1), &mercury__getopt_io__conv0_HeadVar__1_1, ((MR_Word) mercury__getopt_io__wrapper_arg_3), ((MR_Word) mercury__getopt_io__wrapper_arg_4));
    }
#line 2591 "getopt_io.c"
    *mercury__getopt_io__wrapper_arg_2 = ((MR_Box) (mercury__getopt_io__conv0_HeadVar__1_1));
#line 2593 "getopt_io.c"
  }
#line 2595 "getopt_io.c"
}

#line 2598 "getopt_io.c"
static MR_bool MR_CALL 
mercury__getopt_io____Unify____option_data_0_0_10001(
#line 2601 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 2603 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2)
#line 2605 "getopt_io.c"
{
#line 2607 "getopt_io.c"
  {
#line 2609 "getopt_io.c"
    MR_bool mercury__getopt_io__succeeded;

#line 2612 "getopt_io.c"
    {
#line 2614 "getopt_io.c"
      mercury__getopt_io__succeeded = mercury__getopt_io____Unify____option_data_0_0(((MR_Word) mercury__getopt_io__wrapper_arg_1), ((MR_Word) mercury__getopt_io__wrapper_arg_2));
    }
#line 2617 "getopt_io.c"
    return mercury__getopt_io__succeeded;
#line 2619 "getopt_io.c"
  }
#line 2621 "getopt_io.c"
}

#line 2624 "getopt_io.c"
static void MR_CALL 
mercury__getopt_io____Compare____option_data_0_0_10001(
#line 2627 "getopt_io.c"
  MR_Box * mercury__getopt_io__wrapper_arg_1,
#line 2629 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 2631 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3)
#line 2633 "getopt_io.c"
{
#line 2635 "getopt_io.c"
  {
#line 2637 "getopt_io.c"
    MR_Word mercury__getopt_io__conv0_HeadVar__1_1;

#line 2640 "getopt_io.c"
    {
#line 2642 "getopt_io.c"
      mercury__getopt_io____Compare____option_data_0_0(&mercury__getopt_io__conv0_HeadVar__1_1, ((MR_Word) mercury__getopt_io__wrapper_arg_2), ((MR_Word) mercury__getopt_io__wrapper_arg_3));
    }
#line 2645 "getopt_io.c"
    *mercury__getopt_io__wrapper_arg_1 = ((MR_Box) (mercury__getopt_io__conv0_HeadVar__1_1));
#line 2647 "getopt_io.c"
  }
#line 2649 "getopt_io.c"
}

#line 2652 "getopt_io.c"
static MR_bool MR_CALL 
mercury__getopt_io____Unify____option_ops_1_0_10001(
#line 2655 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 2657 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 2659 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3)
#line 2661 "getopt_io.c"
{
#line 2663 "getopt_io.c"
  {
#line 2665 "getopt_io.c"
    MR_bool mercury__getopt_io__succeeded;

#line 2668 "getopt_io.c"
    {
#line 2670 "getopt_io.c"
      mercury__getopt_io__succeeded = mercury__getopt_io____Unify____option_ops_1_0(((MR_Word) mercury__getopt_io__wrapper_arg_1), ((MR_Word) mercury__getopt_io__wrapper_arg_2), ((MR_Word) mercury__getopt_io__wrapper_arg_3));
    }
#line 2673 "getopt_io.c"
    return mercury__getopt_io__succeeded;
#line 2675 "getopt_io.c"
  }
#line 2677 "getopt_io.c"
}

#line 2680 "getopt_io.c"
static void MR_CALL 
mercury__getopt_io____Compare____option_ops_1_0_10001(
#line 2683 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 2685 "getopt_io.c"
  MR_Box * mercury__getopt_io__wrapper_arg_2,
#line 2687 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3,
#line 2689 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_4)
#line 2691 "getopt_io.c"
{
#line 2693 "getopt_io.c"
  {
#line 2695 "getopt_io.c"
    MR_Word mercury__getopt_io__conv0_HeadVar__1_1;

#line 2698 "getopt_io.c"
    {
#line 2700 "getopt_io.c"
      mercury__getopt_io____Compare____option_ops_1_0(((MR_Word) mercury__getopt_io__wrapper_arg_1), &mercury__getopt_io__conv0_HeadVar__1_1, ((MR_Word) mercury__getopt_io__wrapper_arg_3), ((MR_Word) mercury__getopt_io__wrapper_arg_4));
    }
#line 2703 "getopt_io.c"
    *mercury__getopt_io__wrapper_arg_2 = ((MR_Box) (mercury__getopt_io__conv0_HeadVar__1_1));
#line 2705 "getopt_io.c"
  }
#line 2707 "getopt_io.c"
}

#line 2710 "getopt_io.c"
static MR_bool MR_CALL 
mercury__getopt_io____Unify____option_ops_internal_1_0_10001(
#line 2713 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 2715 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 2717 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3)
#line 2719 "getopt_io.c"
{
#line 2721 "getopt_io.c"
  {
#line 2723 "getopt_io.c"
    MR_bool mercury__getopt_io__succeeded;

#line 2726 "getopt_io.c"
    {
#line 2728 "getopt_io.c"
      mercury__getopt_io__succeeded = mercury__getopt_io____Unify____option_ops_internal_1_0(((MR_Word) mercury__getopt_io__wrapper_arg_1), ((MR_Word) mercury__getopt_io__wrapper_arg_2), ((MR_Word) mercury__getopt_io__wrapper_arg_3));
    }
#line 2731 "getopt_io.c"
    return mercury__getopt_io__succeeded;
#line 2733 "getopt_io.c"
  }
#line 2735 "getopt_io.c"
}

#line 2738 "getopt_io.c"
static void MR_CALL 
mercury__getopt_io____Compare____option_ops_internal_1_0_10001(
#line 2741 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 2743 "getopt_io.c"
  MR_Box * mercury__getopt_io__wrapper_arg_2,
#line 2745 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3,
#line 2747 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_4)
#line 2749 "getopt_io.c"
{
#line 2751 "getopt_io.c"
  {
#line 2753 "getopt_io.c"
    MR_Word mercury__getopt_io__conv0_HeadVar__1_1;

#line 2756 "getopt_io.c"
    {
#line 2758 "getopt_io.c"
      mercury__getopt_io____Compare____option_ops_internal_1_0(((MR_Word) mercury__getopt_io__wrapper_arg_1), &mercury__getopt_io__conv0_HeadVar__1_1, ((MR_Word) mercury__getopt_io__wrapper_arg_3), ((MR_Word) mercury__getopt_io__wrapper_arg_4));
    }
#line 2761 "getopt_io.c"
    *mercury__getopt_io__wrapper_arg_2 = ((MR_Box) (mercury__getopt_io__conv0_HeadVar__1_1));
#line 2763 "getopt_io.c"
  }
#line 2765 "getopt_io.c"
}

#line 2768 "getopt_io.c"
static MR_bool MR_CALL 
mercury__getopt_io____Unify____option_ops_special_1_0_10001(
#line 2771 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 2773 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 2775 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3)
#line 2777 "getopt_io.c"
{
#line 2779 "getopt_io.c"
  {
#line 2781 "getopt_io.c"
    MR_bool mercury__getopt_io__succeeded;

#line 2784 "getopt_io.c"
    {
#line 2786 "getopt_io.c"
      mercury__getopt_io__succeeded = mercury__getopt_io____Unify____option_ops_special_1_0(((MR_Word) mercury__getopt_io__wrapper_arg_1), ((MR_Word) mercury__getopt_io__wrapper_arg_2), ((MR_Word) mercury__getopt_io__wrapper_arg_3));
    }
#line 2789 "getopt_io.c"
    return mercury__getopt_io__succeeded;
#line 2791 "getopt_io.c"
  }
#line 2793 "getopt_io.c"
}

#line 2796 "getopt_io.c"
static void MR_CALL 
mercury__getopt_io____Compare____option_ops_special_1_0_10001(
#line 2799 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 2801 "getopt_io.c"
  MR_Box * mercury__getopt_io__wrapper_arg_2,
#line 2803 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3,
#line 2805 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_4)
#line 2807 "getopt_io.c"
{
#line 2809 "getopt_io.c"
  {
#line 2811 "getopt_io.c"
    MR_Word mercury__getopt_io__conv0_HeadVar__1_1;

#line 2814 "getopt_io.c"
    {
#line 2816 "getopt_io.c"
      mercury__getopt_io____Compare____option_ops_special_1_0(((MR_Word) mercury__getopt_io__wrapper_arg_1), &mercury__getopt_io__conv0_HeadVar__1_1, ((MR_Word) mercury__getopt_io__wrapper_arg_3), ((MR_Word) mercury__getopt_io__wrapper_arg_4));
    }
#line 2819 "getopt_io.c"
    *mercury__getopt_io__wrapper_arg_2 = ((MR_Box) (mercury__getopt_io__conv0_HeadVar__1_1));
#line 2821 "getopt_io.c"
  }
#line 2823 "getopt_io.c"
}

#line 2826 "getopt_io.c"
static MR_bool MR_CALL 
mercury__getopt_io____Unify____option_ops_track_1_0_10001(
#line 2829 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 2831 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 2833 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3)
#line 2835 "getopt_io.c"
{
#line 2837 "getopt_io.c"
  {
#line 2839 "getopt_io.c"
    MR_bool mercury__getopt_io__succeeded;

#line 2842 "getopt_io.c"
    {
#line 2844 "getopt_io.c"
      mercury__getopt_io__succeeded = mercury__getopt_io____Unify____option_ops_track_1_0(((MR_Word) mercury__getopt_io__wrapper_arg_1), ((MR_Word) mercury__getopt_io__wrapper_arg_2), ((MR_Word) mercury__getopt_io__wrapper_arg_3));
    }
#line 2847 "getopt_io.c"
    return mercury__getopt_io__succeeded;
#line 2849 "getopt_io.c"
  }
#line 2851 "getopt_io.c"
}

#line 2854 "getopt_io.c"
static void MR_CALL 
mercury__getopt_io____Compare____option_ops_track_1_0_10001(
#line 2857 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 2859 "getopt_io.c"
  MR_Box * mercury__getopt_io__wrapper_arg_2,
#line 2861 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3,
#line 2863 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_4)
#line 2865 "getopt_io.c"
{
#line 2867 "getopt_io.c"
  {
#line 2869 "getopt_io.c"
    MR_Word mercury__getopt_io__conv0_HeadVar__1_1;

#line 2872 "getopt_io.c"
    {
#line 2874 "getopt_io.c"
      mercury__getopt_io____Compare____option_ops_track_1_0(((MR_Word) mercury__getopt_io__wrapper_arg_1), &mercury__getopt_io__conv0_HeadVar__1_1, ((MR_Word) mercury__getopt_io__wrapper_arg_3), ((MR_Word) mercury__getopt_io__wrapper_arg_4));
    }
#line 2877 "getopt_io.c"
    *mercury__getopt_io__wrapper_arg_2 = ((MR_Box) (mercury__getopt_io__conv0_HeadVar__1_1));
#line 2879 "getopt_io.c"
  }
#line 2881 "getopt_io.c"
}

#line 2884 "getopt_io.c"
static MR_bool MR_CALL 
mercury__getopt_io____Unify____option_table_1_0_10001(
#line 2887 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 2889 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 2891 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3)
#line 2893 "getopt_io.c"
{
#line 2895 "getopt_io.c"
  {
#line 2897 "getopt_io.c"
    MR_bool mercury__getopt_io__succeeded;

#line 2900 "getopt_io.c"
    {
#line 2902 "getopt_io.c"
      mercury__getopt_io__succeeded = mercury__getopt_io____Unify____option_table_1_0(((MR_Word) mercury__getopt_io__wrapper_arg_1), ((MR_Word) mercury__getopt_io__wrapper_arg_2), ((MR_Word) mercury__getopt_io__wrapper_arg_3));
    }
#line 2905 "getopt_io.c"
    return mercury__getopt_io__succeeded;
#line 2907 "getopt_io.c"
  }
#line 2909 "getopt_io.c"
}

#line 2912 "getopt_io.c"
static void MR_CALL 
mercury__getopt_io____Compare____option_table_1_0_10001(
#line 2915 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 2917 "getopt_io.c"
  MR_Box * mercury__getopt_io__wrapper_arg_2,
#line 2919 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3,
#line 2921 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_4)
#line 2923 "getopt_io.c"
{
#line 2925 "getopt_io.c"
  {
#line 2927 "getopt_io.c"
    MR_Word mercury__getopt_io__conv0_HeadVar__1_1;

#line 2930 "getopt_io.c"
    {
#line 2932 "getopt_io.c"
      mercury__getopt_io____Compare____option_table_1_0(((MR_Word) mercury__getopt_io__wrapper_arg_1), &mercury__getopt_io__conv0_HeadVar__1_1, ((MR_Word) mercury__getopt_io__wrapper_arg_3), ((MR_Word) mercury__getopt_io__wrapper_arg_4));
    }
#line 2935 "getopt_io.c"
    *mercury__getopt_io__wrapper_arg_2 = ((MR_Box) (mercury__getopt_io__conv0_HeadVar__1_1));
#line 2937 "getopt_io.c"
  }
#line 2939 "getopt_io.c"
}

#line 2942 "getopt_io.c"
static MR_bool MR_CALL 
mercury__getopt_io____Unify____special_data_0_0_10001(
#line 2945 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 2947 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2)
#line 2949 "getopt_io.c"
{
#line 2951 "getopt_io.c"
  {
#line 2953 "getopt_io.c"
    MR_bool mercury__getopt_io__succeeded;

#line 2956 "getopt_io.c"
    {
#line 2958 "getopt_io.c"
      mercury__getopt_io__succeeded = mercury__getopt_io____Unify____special_data_0_0(((MR_Word) mercury__getopt_io__wrapper_arg_1), ((MR_Word) mercury__getopt_io__wrapper_arg_2));
    }
#line 2961 "getopt_io.c"
    return mercury__getopt_io__succeeded;
#line 2963 "getopt_io.c"
  }
#line 2965 "getopt_io.c"
}

#line 2968 "getopt_io.c"
static void MR_CALL 
mercury__getopt_io____Compare____special_data_0_0_10001(
#line 2971 "getopt_io.c"
  MR_Box * mercury__getopt_io__wrapper_arg_1,
#line 2973 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 2975 "getopt_io.c"
  MR_Box mercury__getopt_io__wrapper_arg_3)
#line 2977 "getopt_io.c"
{
#line 2979 "getopt_io.c"
  {
#line 2981 "getopt_io.c"
    MR_Word mercury__getopt_io__conv0_HeadVar__1_1;

#line 2984 "getopt_io.c"
    {
#line 2986 "getopt_io.c"
      mercury__getopt_io____Compare____special_data_0_0(&mercury__getopt_io__conv0_HeadVar__1_1, ((MR_Word) mercury__getopt_io__wrapper_arg_2), ((MR_Word) mercury__getopt_io__wrapper_arg_3));
    }
#line 2989 "getopt_io.c"
    *mercury__getopt_io__wrapper_arg_1 = ((MR_Box) (mercury__getopt_io__conv0_HeadVar__1_1));
#line 2991 "getopt_io.c"
  }
#line 2993 "getopt_io.c"
}

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

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

#line 967 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_110_117_109_101_114_105_99_95_97_114_103_117_109_101_110_116_95_95_91_49_93_95_48_3_p_0(
#line 967 "getopt_io.m"
  MR_String mercury__getopt_io__Option_4,
#line 967 "getopt_io.m"
  MR_String mercury__getopt_io__Arg_5,
#line 967 "getopt_io.m"
  MR_Word * mercury__getopt_io__Result_6)
#line 967 "getopt_io.m"
{
#line 970 "getopt_io.m"
  {
#line 970 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 970 "getopt_io.m"
    MR_String mercury__getopt_io__ErrorMsg_7;
#line 970 "getopt_io.m"
    MR_String mercury__getopt_io__V_9_9;
#line 970 "getopt_io.m"
    MR_String mercury__getopt_io__V_10_10;
#line 970 "getopt_io.m"
    MR_String mercury__getopt_io__V_12_12;

#line 260 "string.opt"
    {
#line 260 "string.opt"
      mercury__string__append_3_p_2(mercury__getopt_io__Arg_5, (MR_String) "\' is not numeric", &mercury__getopt_io__V_12_12);
    }
#line 260 "string.opt"
    {
#line 260 "string.opt"
      mercury__string__append_3_p_2((MR_String) "\' requires a numeric argument; \140", mercury__getopt_io__V_12_12, &mercury__getopt_io__V_10_10);
    }
#line 260 "string.opt"
    {
#line 260 "string.opt"
      mercury__string__append_3_p_2(mercury__getopt_io__Option_4, mercury__getopt_io__V_10_10, &mercury__getopt_io__V_9_9);
    }
#line 260 "string.opt"
    {
#line 260 "string.opt"
      mercury__string__append_3_p_2((MR_String) "option \140", mercury__getopt_io__V_9_9, &mercury__getopt_io__ErrorMsg_7);
    }
#line 973 "getopt_io.m"
    {
#line 973 "getopt_io.m"
      MR_Word base;
#line 973 "getopt_io.m"
      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 973 "getopt_io.m"
      *mercury__getopt_io__Result_6 = base;
#line 973 "getopt_io.m"
      MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_7));
#line 973 "getopt_io.m"
    }
#line 970 "getopt_io.m"
  }
#line 967 "getopt_io.m"
}

#line 190 "string.opt"
static void MR_CALL 
mercury__getopt_io__next_boundary__ho5__ho21_4_p_in__string_0(
#line 190 "string.opt"
  MR_String mercury__getopt_io__String_6_6,
#line 190 "string.opt"
  MR_Integer mercury__getopt_io__I0_7_7,
#line 190 "string.opt"
  MR_Integer * mercury__getopt_io__I_8_8)
#line 190 "string.opt"
{
#line 1149 "string.opt"
  while (MR_TRUE)
#line 1149 "string.opt"
    {
#line 1149 "string.opt"
      /* tailcall optimized into a loop */
#line 1149 "string.opt"
      {
#line 1149 "string.opt"
        MR_bool mercury__getopt_io__succeeded;
#line 1149 "string.opt"
        MR_Integer mercury__getopt_io__I1_9_9;
#line 1145 "string.opt"
        MR_Char mercury__getopt_io__Char_10_10;

#line 593 "string.opt"
{
#define MR_PROC_LABEL mercury__getopt_io__next_boundary__ho5__ho21_4_p_in__string_0

	MR_String Str;
	MR_Integer Index;
	MR_Integer NextIndex;
	MR_Char Ch;
	MR_bool SUCCESS_INDICATOR;

	Str =  mercury__getopt_io__String_6_6 ;
	Index =  mercury__getopt_io__I0_7_7 ;
		{
#line 593 "string.opt"

    Ch = Str[Index];
    if (MR_is_ascii(Ch)) {
        NextIndex = Index + 1;
        SUCCESS_INDICATOR = (Ch != 0);
    } else {
        NextIndex = Index;
        Ch = MR_utf8_get_next_mb(Str, &NextIndex);
        SUCCESS_INDICATOR = (Ch > 0);
    }

#line 3125 "getopt_io.c"

		;}
#undef MR_PROC_LABEL
	if (SUCCESS_INDICATOR) {
	 mercury__getopt_io__I1_9_9  = NextIndex;
	 mercury__getopt_io__Char_10_10  = Ch;
#line 593 "string.opt"
	}
mercury__getopt_io__succeeded  = SUCCESS_INDICATOR;
}
#line 1145 "string.opt"
        if (mercury__getopt_io__succeeded)
#line 1145 "string.opt"
          {
#line 38 "std_util.opt"
            {
#line 38 "std_util.opt"
              mercury__getopt_io__succeeded = mercury__char__is_whitespace_1_p_0(mercury__getopt_io__Char_10_10);
            }
#line 37 "std_util.opt"
            mercury__getopt_io__succeeded = !(mercury__getopt_io__succeeded);
#line 1145 "string.opt"
          }
#line 1149 "string.opt"
        if (mercury__getopt_io__succeeded)
#line 1148 "string.opt"
          {
#line 1148 "string.opt"
            /* direct tailcall eliminated */
#line 1148 "string.opt"
            {
#line 1148 "string.opt"
              MR_Integer mercury__getopt_io__I0_7__tmp_copy_7 = mercury__getopt_io__I1_9_9;

#line 1148 "string.opt"
              mercury__getopt_io__I0_7_7 = mercury__getopt_io__I0_7__tmp_copy_7;
#line 1148 "string.opt"
            }
#line 1148 "string.opt"
            continue;
#line 1148 "string.opt"
          }
#line 1149 "string.opt"
        else
#line 1150 "string.opt"
          *mercury__getopt_io__I_8_8 = mercury__getopt_io__I0_7_7;
#line 1149 "string.opt"
      }
#line 1149 "string.opt"
      break;
#line 1149 "string.opt"
    }
#line 190 "string.opt"
}

#line 188 "string.opt"
static void MR_CALL 
mercury__getopt_io__words_2__ho20_4_p_in__string_0(
#line 188 "string.opt"
  MR_String mercury__getopt_io__String_6_6,
#line 188 "string.opt"
  MR_Integer mercury__getopt_io__WordStart_7_7,
#line 188 "string.opt"
  MR_Word * mercury__getopt_io__Words_8_8)
#line 188 "string.opt"
{
#line 1123 "string.opt"
  {
#line 1123 "string.opt"
    MR_bool mercury__getopt_io__succeeded;
#line 1123 "string.opt"
    MR_Integer mercury__getopt_io__WordEnd_9_10;

#line 1125 "string.opt"
    {
#line 1125 "string.opt"
      mercury__getopt_io__next_boundary__ho5__ho21_4_p_in__string_0(mercury__getopt_io__String_6_6, mercury__getopt_io__WordStart_7_7, &mercury__getopt_io__WordEnd_9_10);
    }
#line 1127 "string.opt"
    mercury__getopt_io__succeeded = (mercury__getopt_io__WordEnd_9_10 == mercury__getopt_io__WordStart_7_7);
#line 1130 "string.opt"
    if (mercury__getopt_io__succeeded)
#line 1129 "string.opt"
      *mercury__getopt_io__Words_8_8 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1130 "string.opt"
    else
#line 1131 "string.opt"
      {
#line 1131 "string.opt"
        MR_String mercury__getopt_io__Word_10_11;
#line 1131 "string.opt"
        MR_Integer mercury__getopt_io__NextWordStart_11_12;

#line 800 "string.opt"
{
#define MR_PROC_LABEL mercury__getopt_io__words_2__ho20_4_p_in__string_0

	MR_String Str;
	MR_Integer Start;
	MR_Integer End;
	MR_String SubString;

	Str =  mercury__getopt_io__String_6_6 ;
	Start =  mercury__getopt_io__WordStart_7_7 ;
	End =  mercury__getopt_io__WordEnd_9_10 ;
		{
#line 800 "string.opt"
{
    MR_Integer Count;

    Count = End - Start;
    MR_allocate_aligned_string_msg(SubString, Count, MR_ALLOC_ID);
    MR_memcpy(SubString, Str + Start, Count);
    SubString[Count] = '\0';
}
#line 3241 "getopt_io.c"

		;}
#undef MR_PROC_LABEL
	 mercury__getopt_io__Word_10_11  = SubString;
#line 800 "string.opt"
}
#line 1132 "string.opt"
        {
#line 1132 "string.opt"
          mercury__getopt_io__next_boundary__ho19_4_p_in__string_0(mercury__getopt_io__String_6_6, mercury__getopt_io__WordEnd_9_10, &mercury__getopt_io__NextWordStart_11_12);
        }
#line 1134 "string.opt"
        mercury__getopt_io__succeeded = (mercury__getopt_io__WordEnd_9_10 == mercury__getopt_io__NextWordStart_11_12);
#line 1138 "string.opt"
        if (mercury__getopt_io__succeeded)
#line 1136 "string.opt"
          {
#line 1136 "string.opt"
            MR_Word mercury__getopt_io__V_14_13 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 1136 "string.opt"
            {
#line 1136 "string.opt"
              MR_Word base;
#line 1136 "string.opt"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1136 "string.opt"
              *mercury__getopt_io__Words_8_8 = base;
#line 1136 "string.opt"
              MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__Word_10_11));
#line 1136 "string.opt"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__getopt_io__V_14_13));
#line 1136 "string.opt"
            }
#line 1136 "string.opt"
          }
#line 1138 "string.opt"
        else
#line 1139 "string.opt"
          {
#line 1139 "string.opt"
            MR_Word mercury__getopt_io__Words0_12_14;

#line 1139 "string.opt"
            {
#line 1139 "string.opt"
              mercury__getopt_io__words_2__ho20_4_p_in__string_0(mercury__getopt_io__String_6_6, mercury__getopt_io__NextWordStart_11_12, &mercury__getopt_io__Words0_12_14);
            }
#line 1140 "string.opt"
            {
#line 1140 "string.opt"
              MR_Word base;
#line 1140 "string.opt"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1140 "string.opt"
              *mercury__getopt_io__Words_8_8 = base;
#line 1140 "string.opt"
              MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__Word_10_11));
#line 1140 "string.opt"
              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__getopt_io__Words0_12_14));
#line 1140 "string.opt"
            }
#line 1139 "string.opt"
          }
#line 1131 "string.opt"
      }
#line 1123 "string.opt"
  }
#line 188 "string.opt"
}

#line 190 "string.opt"
static void MR_CALL 
mercury__getopt_io__next_boundary__ho19_4_p_in__string_0(
#line 190 "string.opt"
  MR_String mercury__getopt_io__String_6_6,
#line 190 "string.opt"
  MR_Integer mercury__getopt_io__I0_7_7,
#line 190 "string.opt"
  MR_Integer * mercury__getopt_io__I_8_8)
#line 190 "string.opt"
{
#line 1149 "string.opt"
  while (MR_TRUE)
#line 1149 "string.opt"
    {
#line 1149 "string.opt"
      /* tailcall optimized into a loop */
#line 1149 "string.opt"
      {
#line 1149 "string.opt"
        MR_bool mercury__getopt_io__succeeded;
#line 1149 "string.opt"
        MR_Integer mercury__getopt_io__I1_9_9;
#line 1145 "string.opt"
        MR_Char mercury__getopt_io__Char_10_10;

#line 593 "string.opt"
{
#define MR_PROC_LABEL mercury__getopt_io__next_boundary__ho19_4_p_in__string_0

	MR_String Str;
	MR_Integer Index;
	MR_Integer NextIndex;
	MR_Char Ch;
	MR_bool SUCCESS_INDICATOR;

	Str =  mercury__getopt_io__String_6_6 ;
	Index =  mercury__getopt_io__I0_7_7 ;
		{
#line 593 "string.opt"

    Ch = Str[Index];
    if (MR_is_ascii(Ch)) {
        NextIndex = Index + 1;
        SUCCESS_INDICATOR = (Ch != 0);
    } else {
        NextIndex = Index;
        Ch = MR_utf8_get_next_mb(Str, &NextIndex);
        SUCCESS_INDICATOR = (Ch > 0);
    }

#line 3364 "getopt_io.c"

		;}
#undef MR_PROC_LABEL
	if (SUCCESS_INDICATOR) {
	 mercury__getopt_io__I1_9_9  = NextIndex;
	 mercury__getopt_io__Char_10_10  = Ch;
#line 593 "string.opt"
	}
mercury__getopt_io__succeeded  = SUCCESS_INDICATOR;
}
#line 1145 "string.opt"
        if (mercury__getopt_io__succeeded)
#line 1146 "string.opt"
          {
#line 1146 "string.opt"
            mercury__getopt_io__succeeded = mercury__char__is_whitespace_1_p_0(mercury__getopt_io__Char_10_10);
          }
#line 1149 "string.opt"
        if (mercury__getopt_io__succeeded)
#line 1148 "string.opt"
          {
#line 1148 "string.opt"
            /* direct tailcall eliminated */
#line 1148 "string.opt"
            {
#line 1148 "string.opt"
              MR_Integer mercury__getopt_io__I0_7__tmp_copy_7 = mercury__getopt_io__I1_9_9;

#line 1148 "string.opt"
              mercury__getopt_io__I0_7_7 = mercury__getopt_io__I0_7__tmp_copy_7;
#line 1148 "string.opt"
            }
#line 1148 "string.opt"
            continue;
#line 1148 "string.opt"
          }
#line 1149 "string.opt"
        else
#line 1150 "string.opt"
          *mercury__getopt_io__I_8_8 = mercury__getopt_io__I0_7_7;
#line 1149 "string.opt"
      }
#line 1149 "string.opt"
      break;
#line 1149 "string.opt"
    }
#line 190 "string.opt"
}

#line 356 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_2(
#line 356 "getopt_io.m"
  void * mercury__getopt_io__env_ptr_arg)
#line 356 "getopt_io.m"
{
#line 356 "getopt_io.m"
  {
#line 356 "getopt_io.m"
    struct mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0_s * mercury__getopt_io__env_ptr = (struct mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0_s *) mercury__getopt_io__env_ptr_arg;

#line 356 "getopt_io.m"
    (mercury__getopt_io__env_ptr)->mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0__OptionData_7 = ((MR_Word) (mercury__getopt_io__env_ptr)->mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0__conv1_OptionData_7);
#line 356 "getopt_io.m"
    {
#line 356 "getopt_io.m"
      mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_1(mercury__getopt_io__env_ptr);
#line 356 "getopt_io.m"
      return;
    }
#line 356 "getopt_io.m"
  }
#line 356 "getopt_io.m"
}

#line 354 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_1(
#line 354 "getopt_io.m"
  void * mercury__getopt_io__env_ptr_arg)
#line 354 "getopt_io.m"
{
#line 354 "getopt_io.m"
  {
#line 354 "getopt_io.m"
    struct mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0_s * mercury__getopt_io__env_ptr = (struct mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0_s *) mercury__getopt_io__env_ptr_arg;

#line 355 "getopt_io.m"
    {
#line 355 "getopt_io.m"
      MR_Word base;
#line 355 "getopt_io.m"
      base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 355 "getopt_io.m"
      *((mercury__getopt_io__env_ptr)->mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0__HeadVar__3_10) = base;
#line 355 "getopt_io.m"
      MR_hl_field(MR_mktag(0), base, 0) = (mercury__getopt_io__env_ptr)->mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0__Option_6;
#line 355 "getopt_io.m"
      MR_hl_field(MR_mktag(0), base, 1) = ((MR_Box) ((mercury__getopt_io__env_ptr)->mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0__OptionData_7));
#line 355 "getopt_io.m"
    }
#line 355 "getopt_io.m"
    {
#line 355 "getopt_io.m"
      ((mercury__getopt_io__env_ptr)->mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0__cont)((mercury__getopt_io__env_ptr)->mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0__cont_env_ptr);
#line 355 "getopt_io.m"
      return;
    }
#line 354 "getopt_io.m"
  }
#line 354 "getopt_io.m"
}

#line 354 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0(
#line 354 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_12,
#line 354 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionDefaultsPred_3,
#line 354 "getopt_io.m"
  MR_Word * mercury__getopt_io__HeadVar__3_10,
#line 354 "getopt_io.m"
  MR_Cont mercury__getopt_io__cont,
#line 354 "getopt_io.m"
  void * mercury__getopt_io__cont_env_ptr)
#line 354 "getopt_io.m"
{
#line 354 "getopt_io.m"
  {
#line 354 "getopt_io.m"
    struct mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0_s mercury__getopt_io__env;

#line 354 "getopt_io.m"
    (mercury__getopt_io__env).mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0__HeadVar__3_10 = mercury__getopt_io__HeadVar__3_10;
#line 354 "getopt_io.m"
    (mercury__getopt_io__env).mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0__cont = mercury__getopt_io__cont;
#line 354 "getopt_io.m"
    (mercury__getopt_io__env).mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0__cont_env_ptr = mercury__getopt_io__cont_env_ptr;
#line 354 "getopt_io.m"
    {
#line 354 "getopt_io.m"
      MR_bool mercury__getopt_io__succeeded;
#line 356 "getopt_io.m"
      void MR_CALL (* mercury__getopt_io__func_0)(MR_Box, MR_Box *, MR_Box *, MR_Cont, void *) = ((void MR_CALL (*)(MR_Box, MR_Box *, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionDefaultsPred_3, (MR_Integer) 1)));

#line 356 "getopt_io.m"
      {
#line 356 "getopt_io.m"
        mercury__getopt_io__func_0(((MR_Box) mercury__getopt_io__OptionDefaultsPred_3), &(mercury__getopt_io__env).mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0__Option_6, &(mercury__getopt_io__env).mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_env_0__conv1_OptionData_7, mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0_2, &mercury__getopt_io__env);
      }
#line 354 "getopt_io.m"
    }
#line 354 "getopt_io.m"
  }
#line 354 "getopt_io.m"
}

#line 349 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_2(
#line 349 "getopt_io.m"
  void * mercury__getopt_io__env_ptr_arg)
#line 349 "getopt_io.m"
{
#line 349 "getopt_io.m"
  {
#line 349 "getopt_io.m"
    struct mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0_s * mercury__getopt_io__env_ptr = (struct mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0_s *) mercury__getopt_io__env_ptr_arg;

#line 349 "getopt_io.m"
    (mercury__getopt_io__env_ptr)->mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0__OptionData_7 = ((MR_Word) (mercury__getopt_io__env_ptr)->mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0__conv1_OptionData_7);
#line 349 "getopt_io.m"
    {
#line 349 "getopt_io.m"
      mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_1(mercury__getopt_io__env_ptr);
#line 349 "getopt_io.m"
      return;
    }
#line 349 "getopt_io.m"
  }
#line 349 "getopt_io.m"
}

#line 347 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_1(
#line 347 "getopt_io.m"
  void * mercury__getopt_io__env_ptr_arg)
#line 347 "getopt_io.m"
{
#line 347 "getopt_io.m"
  {
#line 347 "getopt_io.m"
    struct mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0_s * mercury__getopt_io__env_ptr = (struct mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0_s *) mercury__getopt_io__env_ptr_arg;

#line 348 "getopt_io.m"
    {
#line 348 "getopt_io.m"
      MR_Word base;
#line 348 "getopt_io.m"
      base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 348 "getopt_io.m"
      *((mercury__getopt_io__env_ptr)->mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0__HeadVar__3_10) = base;
#line 348 "getopt_io.m"
      MR_hl_field(MR_mktag(0), base, 0) = (mercury__getopt_io__env_ptr)->mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0__Option_6;
#line 348 "getopt_io.m"
      MR_hl_field(MR_mktag(0), base, 1) = ((MR_Box) ((mercury__getopt_io__env_ptr)->mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0__OptionData_7));
#line 348 "getopt_io.m"
    }
#line 348 "getopt_io.m"
    {
#line 348 "getopt_io.m"
      ((mercury__getopt_io__env_ptr)->mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0__cont)((mercury__getopt_io__env_ptr)->mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0__cont_env_ptr);
#line 348 "getopt_io.m"
      return;
    }
#line 347 "getopt_io.m"
  }
#line 347 "getopt_io.m"
}

#line 347 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0(
#line 347 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_12,
#line 347 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionDefaultsPred_3,
#line 347 "getopt_io.m"
  MR_Word * mercury__getopt_io__HeadVar__3_10,
#line 347 "getopt_io.m"
  MR_Cont mercury__getopt_io__cont,
#line 347 "getopt_io.m"
  void * mercury__getopt_io__cont_env_ptr)
#line 347 "getopt_io.m"
{
#line 347 "getopt_io.m"
  {
#line 347 "getopt_io.m"
    struct mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0_s mercury__getopt_io__env;

#line 347 "getopt_io.m"
    (mercury__getopt_io__env).mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0__HeadVar__3_10 = mercury__getopt_io__HeadVar__3_10;
#line 347 "getopt_io.m"
    (mercury__getopt_io__env).mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0__cont = mercury__getopt_io__cont;
#line 347 "getopt_io.m"
    (mercury__getopt_io__env).mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0__cont_env_ptr = mercury__getopt_io__cont_env_ptr;
#line 347 "getopt_io.m"
    {
#line 347 "getopt_io.m"
      MR_bool mercury__getopt_io__succeeded;
#line 349 "getopt_io.m"
      void MR_CALL (* mercury__getopt_io__func_0)(MR_Box, MR_Box *, MR_Box *, MR_Cont, void *) = ((void MR_CALL (*)(MR_Box, MR_Box *, MR_Box *, MR_Cont, void *)) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionDefaultsPred_3, (MR_Integer) 1)));

#line 349 "getopt_io.m"
      {
#line 349 "getopt_io.m"
        mercury__getopt_io__func_0(((MR_Box) mercury__getopt_io__OptionDefaultsPred_3), &(mercury__getopt_io__env).mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0__Option_6, &(mercury__getopt_io__env).mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_env_0__conv1_OptionData_7, mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0_2, &mercury__getopt_io__env);
      }
#line 347 "getopt_io.m"
    }
#line 347 "getopt_io.m"
  }
#line 347 "getopt_io.m"
}

#line 251 "getopt_io.m"
void MR_CALL 
mercury__getopt_io____Compare____special_data_0_0(
#line 251 "getopt_io.m"
  MR_Word * mercury__getopt_io__HeadVar__1_1,
#line 251 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__2_2,
#line 251 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__3_3)
#line 251 "getopt_io.m"
{
#line 251 "getopt_io.m"
  {
#line 251 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 251 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastX_44 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;
#line 251 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastY_45 = (MR_Integer) mercury__getopt_io__HeadVar__3_3;

#line 251 "getopt_io.m"
    mercury__getopt_io__succeeded = (mercury__getopt_io__CastX_44 == mercury__getopt_io__CastY_45);
#line 251 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 3656 "getopt_io.c"
      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 251 "getopt_io.m"
    else
#line 251 "getopt_io.m"
      if ((mercury__getopt_io__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 251 "getopt_io.m"
        if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 251 "getopt_io.m"
          *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 251 "getopt_io.m"
        else
#line 251 "getopt_io.m"
          if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 3670 "getopt_io.c"
            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 251 "getopt_io.m"
          else
#line 251 "getopt_io.m"
            if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 3676 "getopt_io.c"
              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 251 "getopt_io.m"
            else
#line 251 "getopt_io.m"
              if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 3682 "getopt_io.c"
                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 251 "getopt_io.m"
              else
#line 3686 "getopt_io.c"
                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 251 "getopt_io.m"
      else
#line 251 "getopt_io.m"
        if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1))))
#line 251 "getopt_io.m"
          {
#line 251 "getopt_io.m"
            MR_Word mercury__getopt_io__V_50_50 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));

#line 251 "getopt_io.m"
            if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3699 "getopt_io.c"
              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 251 "getopt_io.m"
            else
#line 251 "getopt_io.m"
              if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 251 "getopt_io.m"
                {
#line 251 "getopt_io.m"
                  MR_Word mercury__getopt_io__V_10_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)));
#line 251 "getopt_io.m"
                  MR_Integer mercury__getopt_io__V_54_54 = (MR_Integer) mercury__getopt_io__V_50_50;
#line 251 "getopt_io.m"
                  MR_Integer mercury__getopt_io__V_55_55 = (MR_Integer) mercury__getopt_io__V_10_10;

#line 66 "private_builtin.opt"
                  mercury__getopt_io__succeeded = (mercury__getopt_io__V_54_54 < mercury__getopt_io__V_55_55);
#line 69 "private_builtin.opt"
                  if (mercury__getopt_io__succeeded)
#line 68 "private_builtin.opt"
                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
                  else
#line 74 "private_builtin.opt"
                    {
#line 71 "private_builtin.opt"
                      mercury__getopt_io__succeeded = (mercury__getopt_io__V_54_54 == mercury__getopt_io__V_55_55);
#line 74 "private_builtin.opt"
                      if (mercury__getopt_io__succeeded)
#line 73 "private_builtin.opt"
                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
                      else
#line 75 "private_builtin.opt"
                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
                    }
#line 251 "getopt_io.m"
                }
#line 251 "getopt_io.m"
              else
#line 251 "getopt_io.m"
                if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 3742 "getopt_io.c"
                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 251 "getopt_io.m"
                else
#line 251 "getopt_io.m"
                  if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 3748 "getopt_io.c"
                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 251 "getopt_io.m"
                  else
#line 3752 "getopt_io.c"
                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 251 "getopt_io.m"
          }
#line 251 "getopt_io.m"
        else
#line 251 "getopt_io.m"
          if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2))))
#line 251 "getopt_io.m"
            {
#line 251 "getopt_io.m"
              MR_Integer mercury__getopt_io__V_51_51 = ((MR_Integer) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));

#line 251 "getopt_io.m"
              if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3767 "getopt_io.c"
                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 251 "getopt_io.m"
              else
#line 251 "getopt_io.m"
                if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 3773 "getopt_io.c"
                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 251 "getopt_io.m"
                else
#line 251 "getopt_io.m"
                  if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 251 "getopt_io.m"
                    {
#line 251 "getopt_io.m"
                      MR_Integer mercury__getopt_io__V_21_21 = ((MR_Integer) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)));

#line 66 "private_builtin.opt"
                      mercury__getopt_io__succeeded = (mercury__getopt_io__V_51_51 < mercury__getopt_io__V_21_21);
#line 69 "private_builtin.opt"
                      if (mercury__getopt_io__succeeded)
#line 68 "private_builtin.opt"
                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
                      else
#line 74 "private_builtin.opt"
                        {
#line 71 "private_builtin.opt"
                          mercury__getopt_io__succeeded = (mercury__getopt_io__V_51_51 == mercury__getopt_io__V_21_21);
#line 74 "private_builtin.opt"
                          if (mercury__getopt_io__succeeded)
#line 73 "private_builtin.opt"
                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
                          else
#line 75 "private_builtin.opt"
                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
                        }
#line 251 "getopt_io.m"
                    }
#line 251 "getopt_io.m"
                  else
#line 251 "getopt_io.m"
                    if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 3812 "getopt_io.c"
                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 251 "getopt_io.m"
                    else
#line 3816 "getopt_io.c"
                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 251 "getopt_io.m"
            }
#line 251 "getopt_io.m"
          else
#line 251 "getopt_io.m"
            if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 251 "getopt_io.m"
              {
#line 251 "getopt_io.m"
                MR_Word mercury__getopt_io__V_52_52 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));

#line 251 "getopt_io.m"
                if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3831 "getopt_io.c"
                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 251 "getopt_io.m"
                else
#line 251 "getopt_io.m"
                  if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 3837 "getopt_io.c"
                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 251 "getopt_io.m"
                  else
#line 251 "getopt_io.m"
                    if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 3843 "getopt_io.c"
                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 251 "getopt_io.m"
                    else
#line 251 "getopt_io.m"
                      if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 251 "getopt_io.m"
                        {
#line 251 "getopt_io.m"
                          MR_Word mercury__getopt_io__TypeInfo_46_46 = (MR_Word) &mercury__getopt_io_scalar_common_1[1];
#line 251 "getopt_io.m"
                          MR_Word mercury__getopt_io__V_43_43 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 1)));

#line 251 "getopt_io.m"
                          {
#line 251 "getopt_io.m"
                            mercury__builtin__compare_3_p_0(mercury__getopt_io__TypeInfo_46_46, mercury__getopt_io__HeadVar__1_1, ((MR_Box) (mercury__getopt_io__V_52_52)), ((MR_Box) (mercury__getopt_io__V_43_43)));
#line 251 "getopt_io.m"
                            return;
                          }
#line 251 "getopt_io.m"
                        }
#line 251 "getopt_io.m"
                      else
#line 3867 "getopt_io.c"
                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 251 "getopt_io.m"
              }
#line 251 "getopt_io.m"
            else
#line 251 "getopt_io.m"
              {
#line 251 "getopt_io.m"
                MR_String mercury__getopt_io__V_53_53 = ((MR_String) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));

#line 251 "getopt_io.m"
                if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3880 "getopt_io.c"
                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 251 "getopt_io.m"
                else
#line 251 "getopt_io.m"
                  if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 3886 "getopt_io.c"
                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 251 "getopt_io.m"
                  else
#line 251 "getopt_io.m"
                    if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 3892 "getopt_io.c"
                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 251 "getopt_io.m"
                    else
#line 251 "getopt_io.m"
                      if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 3898 "getopt_io.c"
                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 251 "getopt_io.m"
                      else
#line 251 "getopt_io.m"
                        {
#line 251 "getopt_io.m"
                          MR_String mercury__getopt_io__V_32_32 = ((MR_String) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 1)));
#line 251 "getopt_io.m"
                          MR_Integer mercury__getopt_io__Res_7_65;

#line 134 "private_builtin.opt"
{
#define MR_PROC_LABEL mercury__getopt_io____Compare____special_data_0_0

	MR_Integer Res;
	MR_String S1;
	MR_String S2;

	S1 =  mercury__getopt_io__V_53_53 ;
	S2 =  mercury__getopt_io__V_32_32 ;
		{
#line 134 "private_builtin.opt"

    Res = strcmp(S1, S2);

#line 3924 "getopt_io.c"

		;}
#undef MR_PROC_LABEL
	 mercury__getopt_io__Res_7_65  = Res;
#line 134 "private_builtin.opt"
}
#line 102 "private_builtin.opt"
                          mercury__getopt_io__succeeded = (mercury__getopt_io__Res_7_65 < (MR_Integer) 0);
#line 105 "private_builtin.opt"
                          if (mercury__getopt_io__succeeded)
#line 104 "private_builtin.opt"
                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 105 "private_builtin.opt"
                          else
#line 110 "private_builtin.opt"
                            {
#line 107 "private_builtin.opt"
                              mercury__getopt_io__succeeded = (mercury__getopt_io__Res_7_65 == (MR_Integer) 0);
#line 110 "private_builtin.opt"
                              if (mercury__getopt_io__succeeded)
#line 109 "private_builtin.opt"
                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 110 "private_builtin.opt"
                              else
#line 111 "private_builtin.opt"
                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 110 "private_builtin.opt"
                            }
#line 251 "getopt_io.m"
                        }
#line 251 "getopt_io.m"
              }
#line 251 "getopt_io.m"
  }
#line 251 "getopt_io.m"
}

#line 251 "getopt_io.m"
MR_bool MR_CALL 
mercury__getopt_io____Unify____special_data_0_0(
#line 251 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__1_1,
#line 251 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__2_2)
#line 251 "getopt_io.m"
{
#line 251 "getopt_io.m"
  {
#line 251 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 251 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastX_13 = (MR_Integer) mercury__getopt_io__HeadVar__1_1;
#line 251 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastY_14 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;

#line 251 "getopt_io.m"
    mercury__getopt_io__succeeded = (mercury__getopt_io__CastX_13 == mercury__getopt_io__CastY_14);
#line 251 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 251 "getopt_io.m"
      mercury__getopt_io__succeeded = MR_TRUE;
#line 251 "getopt_io.m"
    else
#line 251 "getopt_io.m"
      if ((mercury__getopt_io__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 251 "getopt_io.m"
        {
#line 251 "getopt_io.m"
          MR_Integer mercury__getopt_io__CastX_3 = (MR_Integer) mercury__getopt_io__HeadVar__1_1;
#line 251 "getopt_io.m"
          MR_Integer mercury__getopt_io__CastY_4 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;

#line 251 "getopt_io.m"
          mercury__getopt_io__succeeded = (mercury__getopt_io__CastY_4 == mercury__getopt_io__CastX_3);
#line 251 "getopt_io.m"
        }
#line 251 "getopt_io.m"
      else
#line 251 "getopt_io.m"
        if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1))))
#line 251 "getopt_io.m"
          {
#line 251 "getopt_io.m"
            MR_Word mercury__getopt_io__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)));
#line 251 "getopt_io.m"
            MR_Word mercury__getopt_io__V_6_6;

#line 251 "getopt_io.m"
            mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 251 "getopt_io.m"
            if (mercury__getopt_io__succeeded)
#line 251 "getopt_io.m"
              {
#line 251 "getopt_io.m"
                mercury__getopt_io__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));
#line 4020 "getopt_io.c"
                mercury__getopt_io__succeeded = (mercury__getopt_io__V_5_5 == mercury__getopt_io__V_6_6);
#line 251 "getopt_io.m"
              }
#line 251 "getopt_io.m"
          }
#line 251 "getopt_io.m"
        else
#line 251 "getopt_io.m"
          if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__1_1)) == (MR_mktag((MR_Integer) 2))))
#line 251 "getopt_io.m"
            {
#line 251 "getopt_io.m"
              MR_Integer mercury__getopt_io__V_7_7 = ((MR_Integer) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)));
#line 251 "getopt_io.m"
              MR_Integer mercury__getopt_io__V_8_8;

#line 251 "getopt_io.m"
              mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2)));
#line 251 "getopt_io.m"
              if (mercury__getopt_io__succeeded)
#line 251 "getopt_io.m"
                {
#line 251 "getopt_io.m"
                  mercury__getopt_io__V_8_8 = ((MR_Integer) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));
#line 4045 "getopt_io.c"
                  mercury__getopt_io__succeeded = (mercury__getopt_io__V_7_7 == mercury__getopt_io__V_8_8);
#line 251 "getopt_io.m"
                }
#line 251 "getopt_io.m"
            }
#line 251 "getopt_io.m"
          else
#line 251 "getopt_io.m"
            if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__1_1)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 251 "getopt_io.m"
              {
#line 251 "getopt_io.m"
                MR_Word mercury__getopt_io__TypeInfo_15_15;
#line 251 "getopt_io.m"
                MR_Word mercury__getopt_io__V_11_11 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 1)));
#line 251 "getopt_io.m"
                MR_Word mercury__getopt_io__V_12_12;

#line 251 "getopt_io.m"
                mercury__getopt_io__succeeded = ((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 1)));
#line 251 "getopt_io.m"
                if (mercury__getopt_io__succeeded)
#line 251 "getopt_io.m"
                  {
#line 251 "getopt_io.m"
                    mercury__getopt_io__V_12_12 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));
#line 4072 "getopt_io.c"
                    mercury__getopt_io__TypeInfo_15_15 = (MR_Word) &mercury__getopt_io_scalar_common_1[1];
#line 4074 "getopt_io.c"
                    {
#line 4076 "getopt_io.c"
                      return mercury__getopt_io__succeeded = mercury__builtin__unify_2_p_0(mercury__getopt_io__TypeInfo_15_15, ((MR_Box) (mercury__getopt_io__V_11_11)), ((MR_Box) (mercury__getopt_io__V_12_12)));
                    }
#line 251 "getopt_io.m"
                  }
#line 251 "getopt_io.m"
              }
#line 251 "getopt_io.m"
            else
#line 251 "getopt_io.m"
              {
#line 251 "getopt_io.m"
                MR_String mercury__getopt_io__V_9_9 = ((MR_String) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 1)));
#line 251 "getopt_io.m"
                MR_String mercury__getopt_io__V_10_10;

#line 251 "getopt_io.m"
                mercury__getopt_io__succeeded = ((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 0)));
#line 251 "getopt_io.m"
                if (mercury__getopt_io__succeeded)
#line 251 "getopt_io.m"
                  {
#line 251 "getopt_io.m"
                    mercury__getopt_io__V_10_10 = ((MR_String) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));
#line 4100 "getopt_io.c"
                    mercury__getopt_io__succeeded = (strcmp(mercury__getopt_io__V_9_9, mercury__getopt_io__V_10_10) == 0);
#line 251 "getopt_io.m"
                  }
#line 251 "getopt_io.m"
              }
#line 251 "getopt_io.m"
    return mercury__getopt_io__succeeded;
#line 251 "getopt_io.m"
  }
#line 251 "getopt_io.m"
}

#line 258 "getopt_io.m"
void MR_CALL 
mercury__getopt_io____Compare____option_table_1_0(
#line 258 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_6,
#line 258 "getopt_io.m"
  MR_Word * mercury__getopt_io__HeadVar__1_1,
#line 258 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__2_2,
#line 258 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__3_3)
#line 258 "getopt_io.m"
{
#line 258 "getopt_io.m"
  {
#line 258 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 258 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_7_7 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 258 "getopt_io.m"
    MR_Word mercury__getopt_io__Cast_HeadVar1_4 = mercury__getopt_io__HeadVar__2_2;
#line 258 "getopt_io.m"
    MR_Word mercury__getopt_io__Cast_HeadVar2_5 = mercury__getopt_io__HeadVar__3_3;

#line 258 "getopt_io.m"
    {
#line 258 "getopt_io.m"
      mercury__tree234____Compare____tree234_2_0(mercury__getopt_io__TypeInfo_for_OptionType_6, mercury__getopt_io__TypeCtorInfo_7_7, mercury__getopt_io__HeadVar__1_1, mercury__getopt_io__Cast_HeadVar1_4, mercury__getopt_io__Cast_HeadVar2_5);
#line 258 "getopt_io.m"
      return;
    }
#line 258 "getopt_io.m"
  }
#line 258 "getopt_io.m"
}

#line 258 "getopt_io.m"
MR_bool MR_CALL 
mercury__getopt_io____Unify____option_table_1_0(
#line 258 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_5,
#line 258 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__1_1,
#line 258 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__2_2)
#line 258 "getopt_io.m"
{
#line 258 "getopt_io.m"
  {
#line 258 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 258 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_6_6 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 258 "getopt_io.m"
    MR_Word mercury__getopt_io__Cast_HeadVar1_3 = mercury__getopt_io__HeadVar__1_1;
#line 258 "getopt_io.m"
    MR_Word mercury__getopt_io__Cast_HeadVar2_4 = mercury__getopt_io__HeadVar__2_2;

#line 258 "getopt_io.m"
    {
#line 258 "getopt_io.m"
      return mercury__getopt_io__succeeded = mercury__tree234____Unify____tree234_2_0(mercury__getopt_io__TypeInfo_for_OptionType_5, mercury__getopt_io__TypeCtorInfo_6_6, mercury__getopt_io__Cast_HeadVar1_3, mercury__getopt_io__Cast_HeadVar2_4);
    }
#line 258 "getopt_io.m"
    return mercury__getopt_io__succeeded;
#line 258 "getopt_io.m"
  }
#line 258 "getopt_io.m"
}

#line 192 "getopt_io.m"
void MR_CALL 
mercury__getopt_io____Compare____option_ops_track_1_0(
#line 192 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_14,
#line 192 "getopt_io.m"
  MR_Word * mercury__getopt_io__HeadVar__1_1,
#line 192 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__2_2,
#line 192 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__3_3)
#line 192 "getopt_io.m"
{
#line 192 "getopt_io.m"
  {
#line 192 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 192 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastX_12 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;
#line 192 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastY_13 = (MR_Integer) mercury__getopt_io__HeadVar__3_3;

#line 192 "getopt_io.m"
    mercury__getopt_io__succeeded = (mercury__getopt_io__CastX_12 == mercury__getopt_io__CastY_13);
#line 192 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 4209 "getopt_io.c"
      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 192 "getopt_io.m"
    else
#line 192 "getopt_io.m"
      {
#line 192 "getopt_io.m"
        MR_Word mercury__getopt_io__V_4_4 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));
#line 192 "getopt_io.m"
        MR_Word mercury__getopt_io__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));
#line 192 "getopt_io.m"
        MR_Word mercury__getopt_io__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 2)));
#line 192 "getopt_io.m"
        MR_Word mercury__getopt_io__V_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)));
#line 192 "getopt_io.m"
        MR_Word mercury__getopt_io__V_8_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 1)));
#line 192 "getopt_io.m"
        MR_Word mercury__getopt_io__V_9_9 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 2)));
#line 192 "getopt_io.m"
        MR_Word mercury__getopt_io__V_10_10;

#line 192 "getopt_io.m"
        {
#line 192 "getopt_io.m"
          mercury__private_builtin__builtin_compare_pred_3_p_0(&mercury__getopt_io__V_10_10, (MR_Word) mercury__getopt_io__V_4_4, (MR_Word) mercury__getopt_io__V_7_7);
        }
#line 4235 "getopt_io.c"
        mercury__getopt_io__succeeded = (mercury__getopt_io__V_10_10 == (MR_Integer) 0);
#line 192 "getopt_io.m"
        mercury__getopt_io__succeeded = !(mercury__getopt_io__succeeded);
#line 192 "getopt_io.m"
        if (mercury__getopt_io__succeeded)
#line 192 "getopt_io.m"
          *mercury__getopt_io__HeadVar__1_1 = mercury__getopt_io__V_10_10;
#line 192 "getopt_io.m"
        else
#line 192 "getopt_io.m"
          {
#line 192 "getopt_io.m"
            MR_Word mercury__getopt_io__V_11_11;

#line 192 "getopt_io.m"
            {
#line 192 "getopt_io.m"
              mercury__private_builtin__builtin_compare_pred_3_p_0(&mercury__getopt_io__V_11_11, (MR_Word) mercury__getopt_io__V_5_5, (MR_Word) mercury__getopt_io__V_8_8);
            }
#line 4255 "getopt_io.c"
            mercury__getopt_io__succeeded = (mercury__getopt_io__V_11_11 == (MR_Integer) 0);
#line 192 "getopt_io.m"
            mercury__getopt_io__succeeded = !(mercury__getopt_io__succeeded);
#line 192 "getopt_io.m"
            if (mercury__getopt_io__succeeded)
#line 192 "getopt_io.m"
              *mercury__getopt_io__HeadVar__1_1 = mercury__getopt_io__V_11_11;
#line 192 "getopt_io.m"
            else
#line 192 "getopt_io.m"
              {
#line 192 "getopt_io.m"
                mercury__private_builtin__builtin_compare_pred_3_p_0(mercury__getopt_io__HeadVar__1_1, (MR_Word) mercury__getopt_io__V_6_6, (MR_Word) mercury__getopt_io__V_9_9);
#line 192 "getopt_io.m"
                return;
              }
#line 192 "getopt_io.m"
          }
#line 192 "getopt_io.m"
      }
#line 192 "getopt_io.m"
  }
#line 192 "getopt_io.m"
}

#line 192 "getopt_io.m"
MR_bool MR_CALL 
mercury__getopt_io____Unify____option_ops_track_1_0(
#line 192 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_11,
#line 192 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__1_1,
#line 192 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__2_2)
#line 192 "getopt_io.m"
{
#line 192 "getopt_io.m"
  {
#line 192 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 192 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastX_9 = (MR_Integer) mercury__getopt_io__HeadVar__1_1;
#line 192 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastY_10 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;

#line 192 "getopt_io.m"
    mercury__getopt_io__succeeded = (mercury__getopt_io__CastX_9 == mercury__getopt_io__CastY_10);
#line 192 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 192 "getopt_io.m"
      mercury__getopt_io__succeeded = MR_TRUE;
#line 192 "getopt_io.m"
    else
#line 192 "getopt_io.m"
      {
#line 192 "getopt_io.m"
        MR_Word mercury__getopt_io__V_3_3 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)));
#line 192 "getopt_io.m"
        MR_Word mercury__getopt_io__V_4_4 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 1)));
#line 192 "getopt_io.m"
        MR_Word mercury__getopt_io__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 2)));
#line 192 "getopt_io.m"
        MR_Word mercury__getopt_io__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));
#line 192 "getopt_io.m"
        MR_Word mercury__getopt_io__V_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));
#line 192 "getopt_io.m"
        MR_Word mercury__getopt_io__V_8_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 2)));

#line 4324 "getopt_io.c"
        {
#line 4326 "getopt_io.c"
          mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_3_3, (MR_Word) mercury__getopt_io__V_6_6);
        }
#line 192 "getopt_io.m"
        if (mercury__getopt_io__succeeded)
#line 192 "getopt_io.m"
          {
#line 4333 "getopt_io.c"
            {
#line 4335 "getopt_io.c"
              mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_4_4, (MR_Word) mercury__getopt_io__V_7_7);
            }
#line 192 "getopt_io.m"
            if (mercury__getopt_io__succeeded)
#line 4340 "getopt_io.c"
              {
#line 4342 "getopt_io.c"
                return mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_5_5, (MR_Word) mercury__getopt_io__V_8_8);
              }
#line 192 "getopt_io.m"
          }
#line 192 "getopt_io.m"
      }
#line 192 "getopt_io.m"
    return mercury__getopt_io__succeeded;
#line 192 "getopt_io.m"
  }
#line 192 "getopt_io.m"
}

#line 310 "getopt_io.m"
void MR_CALL 
mercury__getopt_io____Compare____option_ops_special_1_0(
#line 310 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_18,
#line 310 "getopt_io.m"
  MR_Word * mercury__getopt_io__HeadVar__1_1,
#line 310 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__2_2,
#line 310 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__3_3)
#line 310 "getopt_io.m"
{
#line 310 "getopt_io.m"
  {
#line 310 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 310 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastX_16 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;
#line 310 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastY_17 = (MR_Integer) mercury__getopt_io__HeadVar__3_3;

#line 310 "getopt_io.m"
    mercury__getopt_io__succeeded = (mercury__getopt_io__CastX_16 == mercury__getopt_io__CastY_17);
#line 310 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 4382 "getopt_io.c"
      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 310 "getopt_io.m"
    else
#line 310 "getopt_io.m"
      if ((mercury__getopt_io__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 310 "getopt_io.m"
        if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 310 "getopt_io.m"
          *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 310 "getopt_io.m"
        else
#line 310 "getopt_io.m"
          if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 4396 "getopt_io.c"
            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 310 "getopt_io.m"
          else
#line 4400 "getopt_io.c"
            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 310 "getopt_io.m"
      else
#line 310 "getopt_io.m"
        if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1))))
#line 310 "getopt_io.m"
          {
#line 310 "getopt_io.m"
            MR_Word mercury__getopt_io__V_39_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));

#line 310 "getopt_io.m"
            if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 4413 "getopt_io.c"
              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 310 "getopt_io.m"
            else
#line 310 "getopt_io.m"
              if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 310 "getopt_io.m"
                {
#line 310 "getopt_io.m"
                  MR_Word mercury__getopt_io__V_8_8 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)));

#line 310 "getopt_io.m"
                  {
#line 310 "getopt_io.m"
                    mercury__private_builtin__builtin_compare_pred_3_p_0(mercury__getopt_io__HeadVar__1_1, (MR_Word) mercury__getopt_io__V_39_39, (MR_Word) mercury__getopt_io__V_8_8);
#line 310 "getopt_io.m"
                    return;
                  }
#line 310 "getopt_io.m"
                }
#line 310 "getopt_io.m"
              else
#line 4435 "getopt_io.c"
                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 310 "getopt_io.m"
          }
#line 310 "getopt_io.m"
        else
#line 310 "getopt_io.m"
          {
#line 310 "getopt_io.m"
            MR_Word mercury__getopt_io__V_40_40 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));

#line 310 "getopt_io.m"
            if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 4448 "getopt_io.c"
              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 310 "getopt_io.m"
            else
#line 310 "getopt_io.m"
              if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 4454 "getopt_io.c"
                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 310 "getopt_io.m"
              else
#line 310 "getopt_io.m"
                {
#line 310 "getopt_io.m"
                  MR_Word mercury__getopt_io__V_15_15 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)));

#line 310 "getopt_io.m"
                  {
#line 310 "getopt_io.m"
                    mercury__private_builtin__builtin_compare_pred_3_p_0(mercury__getopt_io__HeadVar__1_1, (MR_Word) mercury__getopt_io__V_40_40, (MR_Word) mercury__getopt_io__V_15_15);
#line 310 "getopt_io.m"
                    return;
                  }
#line 310 "getopt_io.m"
                }
#line 310 "getopt_io.m"
          }
#line 310 "getopt_io.m"
  }
#line 310 "getopt_io.m"
}

#line 310 "getopt_io.m"
MR_bool MR_CALL 
mercury__getopt_io____Unify____option_ops_special_1_0(
#line 310 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_11,
#line 310 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__1_1,
#line 310 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__2_2)
#line 310 "getopt_io.m"
{
#line 310 "getopt_io.m"
  {
#line 310 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 310 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastX_9 = (MR_Integer) mercury__getopt_io__HeadVar__1_1;
#line 310 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastY_10 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;

#line 310 "getopt_io.m"
    mercury__getopt_io__succeeded = (mercury__getopt_io__CastX_9 == mercury__getopt_io__CastY_10);
#line 310 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 310 "getopt_io.m"
      mercury__getopt_io__succeeded = MR_TRUE;
#line 310 "getopt_io.m"
    else
#line 310 "getopt_io.m"
      if ((mercury__getopt_io__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 310 "getopt_io.m"
        {
#line 310 "getopt_io.m"
          MR_Integer mercury__getopt_io__CastX_3 = (MR_Integer) mercury__getopt_io__HeadVar__1_1;
#line 310 "getopt_io.m"
          MR_Integer mercury__getopt_io__CastY_4 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;

#line 310 "getopt_io.m"
          mercury__getopt_io__succeeded = (mercury__getopt_io__CastY_4 == mercury__getopt_io__CastX_3);
#line 310 "getopt_io.m"
        }
#line 310 "getopt_io.m"
      else
#line 310 "getopt_io.m"
        if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1))))
#line 310 "getopt_io.m"
          {
#line 310 "getopt_io.m"
            MR_Word mercury__getopt_io__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)));
#line 310 "getopt_io.m"
            MR_Word mercury__getopt_io__V_6_6;

#line 310 "getopt_io.m"
            mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 310 "getopt_io.m"
            if (mercury__getopt_io__succeeded)
#line 310 "getopt_io.m"
              {
#line 310 "getopt_io.m"
                mercury__getopt_io__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));
#line 4539 "getopt_io.c"
                {
#line 4541 "getopt_io.c"
                  return mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_5_5, (MR_Word) mercury__getopt_io__V_6_6);
                }
#line 310 "getopt_io.m"
              }
#line 310 "getopt_io.m"
          }
#line 310 "getopt_io.m"
        else
#line 310 "getopt_io.m"
          {
#line 310 "getopt_io.m"
            MR_Word mercury__getopt_io__V_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)));
#line 310 "getopt_io.m"
            MR_Word mercury__getopt_io__V_8_8;

#line 310 "getopt_io.m"
            mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2)));
#line 310 "getopt_io.m"
            if (mercury__getopt_io__succeeded)
#line 310 "getopt_io.m"
              {
#line 310 "getopt_io.m"
                mercury__getopt_io__V_8_8 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));
#line 4565 "getopt_io.c"
                {
#line 4567 "getopt_io.c"
                  return mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_7_7, (MR_Word) mercury__getopt_io__V_8_8);
                }
#line 310 "getopt_io.m"
              }
#line 310 "getopt_io.m"
          }
#line 310 "getopt_io.m"
    return mercury__getopt_io__succeeded;
#line 310 "getopt_io.m"
  }
#line 310 "getopt_io.m"
}

#line 324 "getopt_io.m"
void MR_CALL 
mercury__getopt_io____Compare____option_ops_internal_1_0(
#line 324 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_14,
#line 324 "getopt_io.m"
  MR_Word * mercury__getopt_io__HeadVar__1_1,
#line 324 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__2_2,
#line 324 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__3_3)
#line 324 "getopt_io.m"
{
#line 324 "getopt_io.m"
  {
#line 324 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 324 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastX_12 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;
#line 324 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastY_13 = (MR_Integer) mercury__getopt_io__HeadVar__3_3;

#line 324 "getopt_io.m"
    mercury__getopt_io__succeeded = (mercury__getopt_io__CastX_12 == mercury__getopt_io__CastY_13);
#line 324 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 4607 "getopt_io.c"
      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 324 "getopt_io.m"
    else
#line 324 "getopt_io.m"
      {
#line 324 "getopt_io.m"
        MR_Word mercury__getopt_io__V_4_4 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));
#line 324 "getopt_io.m"
        MR_Word mercury__getopt_io__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));
#line 324 "getopt_io.m"
        MR_Word mercury__getopt_io__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 2)));
#line 324 "getopt_io.m"
        MR_Word mercury__getopt_io__V_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)));
#line 324 "getopt_io.m"
        MR_Word mercury__getopt_io__V_8_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 1)));
#line 324 "getopt_io.m"
        MR_Word mercury__getopt_io__V_9_9 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 2)));
#line 324 "getopt_io.m"
        MR_Word mercury__getopt_io__V_10_10;

#line 324 "getopt_io.m"
        {
#line 324 "getopt_io.m"
          mercury__private_builtin__builtin_compare_pred_3_p_0(&mercury__getopt_io__V_10_10, (MR_Word) mercury__getopt_io__V_4_4, (MR_Word) mercury__getopt_io__V_7_7);
        }
#line 4633 "getopt_io.c"
        mercury__getopt_io__succeeded = (mercury__getopt_io__V_10_10 == (MR_Integer) 0);
#line 324 "getopt_io.m"
        mercury__getopt_io__succeeded = !(mercury__getopt_io__succeeded);
#line 324 "getopt_io.m"
        if (mercury__getopt_io__succeeded)
#line 324 "getopt_io.m"
          *mercury__getopt_io__HeadVar__1_1 = mercury__getopt_io__V_10_10;
#line 324 "getopt_io.m"
        else
#line 324 "getopt_io.m"
          {
#line 324 "getopt_io.m"
            MR_Word mercury__getopt_io__V_11_11;

#line 324 "getopt_io.m"
            {
#line 324 "getopt_io.m"
              mercury__private_builtin__builtin_compare_pred_3_p_0(&mercury__getopt_io__V_11_11, (MR_Word) mercury__getopt_io__V_5_5, (MR_Word) mercury__getopt_io__V_8_8);
            }
#line 4653 "getopt_io.c"
            mercury__getopt_io__succeeded = (mercury__getopt_io__V_11_11 == (MR_Integer) 0);
#line 324 "getopt_io.m"
            mercury__getopt_io__succeeded = !(mercury__getopt_io__succeeded);
#line 324 "getopt_io.m"
            if (mercury__getopt_io__succeeded)
#line 324 "getopt_io.m"
              *mercury__getopt_io__HeadVar__1_1 = mercury__getopt_io__V_11_11;
#line 324 "getopt_io.m"
            else
#line 324 "getopt_io.m"
              {
#line 324 "getopt_io.m"
                mercury__getopt_io____Compare____option_ops_special_1_0(mercury__getopt_io__TypeInfo_for_OptionType_14, mercury__getopt_io__HeadVar__1_1, mercury__getopt_io__V_6_6, mercury__getopt_io__V_9_9);
#line 324 "getopt_io.m"
                return;
              }
#line 324 "getopt_io.m"
          }
#line 324 "getopt_io.m"
      }
#line 324 "getopt_io.m"
  }
#line 324 "getopt_io.m"
}

#line 324 "getopt_io.m"
MR_bool MR_CALL 
mercury__getopt_io____Unify____option_ops_internal_1_0(
#line 324 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_11,
#line 324 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__1_1,
#line 324 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__2_2)
#line 324 "getopt_io.m"
{
#line 324 "getopt_io.m"
  {
#line 324 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 324 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastX_9 = (MR_Integer) mercury__getopt_io__HeadVar__1_1;
#line 324 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastY_10 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;

#line 324 "getopt_io.m"
    mercury__getopt_io__succeeded = (mercury__getopt_io__CastX_9 == mercury__getopt_io__CastY_10);
#line 324 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 324 "getopt_io.m"
      mercury__getopt_io__succeeded = MR_TRUE;
#line 324 "getopt_io.m"
    else
#line 324 "getopt_io.m"
      {
#line 324 "getopt_io.m"
        MR_Word mercury__getopt_io__V_3_3 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)));
#line 324 "getopt_io.m"
        MR_Word mercury__getopt_io__V_4_4 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 1)));
#line 324 "getopt_io.m"
        MR_Word mercury__getopt_io__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 2)));
#line 324 "getopt_io.m"
        MR_Word mercury__getopt_io__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));
#line 324 "getopt_io.m"
        MR_Word mercury__getopt_io__V_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));
#line 324 "getopt_io.m"
        MR_Word mercury__getopt_io__V_8_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 2)));

#line 4722 "getopt_io.c"
        {
#line 4724 "getopt_io.c"
          mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_3_3, (MR_Word) mercury__getopt_io__V_6_6);
        }
#line 324 "getopt_io.m"
        if (mercury__getopt_io__succeeded)
#line 324 "getopt_io.m"
          {
#line 4731 "getopt_io.c"
            {
#line 4733 "getopt_io.c"
              mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_4_4, (MR_Word) mercury__getopt_io__V_7_7);
            }
#line 324 "getopt_io.m"
            if (mercury__getopt_io__succeeded)
#line 4738 "getopt_io.c"
              {
#line 4740 "getopt_io.c"
                return mercury__getopt_io__succeeded = mercury__getopt_io____Unify____option_ops_special_1_0(mercury__getopt_io__TypeInfo_for_OptionType_11, mercury__getopt_io__V_5_5, mercury__getopt_io__V_8_8);
              }
#line 324 "getopt_io.m"
          }
#line 324 "getopt_io.m"
      }
#line 324 "getopt_io.m"
    return mercury__getopt_io__succeeded;
#line 324 "getopt_io.m"
  }
#line 324 "getopt_io.m"
}

#line 164 "getopt_io.m"
void MR_CALL 
mercury__getopt_io____Compare____option_ops_1_0(
#line 164 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_128,
#line 164 "getopt_io.m"
  MR_Word * mercury__getopt_io__HeadVar__1_1,
#line 164 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__2_2,
#line 164 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__3_3)
#line 164 "getopt_io.m"
{
#line 164 "getopt_io.m"
  {
#line 164 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 164 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastX_126 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;
#line 164 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastY_127 = (MR_Integer) mercury__getopt_io__HeadVar__3_3;

#line 164 "getopt_io.m"
    mercury__getopt_io__succeeded = (mercury__getopt_io__CastX_126 == mercury__getopt_io__CastY_127);
#line 164 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 4780 "getopt_io.c"
      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 164 "getopt_io.m"
    else
#line 164 "getopt_io.m"
      if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 0))))
#line 164 "getopt_io.m"
        {
#line 164 "getopt_io.m"
          MR_Word mercury__getopt_io__V_195_195 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 2)));
#line 164 "getopt_io.m"
          MR_Word mercury__getopt_io__V_196_196 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));
#line 164 "getopt_io.m"
          MR_Word mercury__getopt_io__V_197_197 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));

#line 164 "getopt_io.m"
          if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 0))))
#line 164 "getopt_io.m"
            {
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)));
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_8_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 1)));
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_9_9 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 2)));
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_10_10;

#line 164 "getopt_io.m"
              {
#line 164 "getopt_io.m"
                mercury__private_builtin__builtin_compare_pred_3_p_0(&mercury__getopt_io__V_10_10, (MR_Word) mercury__getopt_io__V_197_197, (MR_Word) mercury__getopt_io__V_7_7);
              }
#line 4813 "getopt_io.c"
              mercury__getopt_io__succeeded = (mercury__getopt_io__V_10_10 == (MR_Integer) 0);
#line 164 "getopt_io.m"
              mercury__getopt_io__succeeded = !(mercury__getopt_io__succeeded);
#line 164 "getopt_io.m"
              if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
                *mercury__getopt_io__HeadVar__1_1 = mercury__getopt_io__V_10_10;
#line 164 "getopt_io.m"
              else
#line 164 "getopt_io.m"
                {
#line 164 "getopt_io.m"
                  MR_Word mercury__getopt_io__V_11_11;

#line 164 "getopt_io.m"
                  {
#line 164 "getopt_io.m"
                    mercury__private_builtin__builtin_compare_pred_3_p_0(&mercury__getopt_io__V_11_11, (MR_Word) mercury__getopt_io__V_196_196, (MR_Word) mercury__getopt_io__V_8_8);
                  }
#line 4833 "getopt_io.c"
                  mercury__getopt_io__succeeded = (mercury__getopt_io__V_11_11 == (MR_Integer) 0);
#line 164 "getopt_io.m"
                  mercury__getopt_io__succeeded = !(mercury__getopt_io__succeeded);
#line 164 "getopt_io.m"
                  if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
                    *mercury__getopt_io__HeadVar__1_1 = mercury__getopt_io__V_11_11;
#line 164 "getopt_io.m"
                  else
#line 164 "getopt_io.m"
                    {
#line 164 "getopt_io.m"
                      mercury__private_builtin__builtin_compare_pred_3_p_0(mercury__getopt_io__HeadVar__1_1, (MR_Word) mercury__getopt_io__V_195_195, (MR_Word) mercury__getopt_io__V_9_9);
#line 164 "getopt_io.m"
                      return;
                    }
#line 164 "getopt_io.m"
                }
#line 164 "getopt_io.m"
            }
#line 164 "getopt_io.m"
          else
#line 164 "getopt_io.m"
            if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 4858 "getopt_io.c"
              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 164 "getopt_io.m"
            else
#line 164 "getopt_io.m"
              if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 4864 "getopt_io.c"
                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 164 "getopt_io.m"
              else
#line 4868 "getopt_io.c"
                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 164 "getopt_io.m"
        }
#line 164 "getopt_io.m"
      else
#line 164 "getopt_io.m"
        if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1))))
#line 164 "getopt_io.m"
          {
#line 164 "getopt_io.m"
            MR_Word mercury__getopt_io__V_198_198 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 3)));
#line 164 "getopt_io.m"
            MR_Word mercury__getopt_io__V_199_199 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 2)));
#line 164 "getopt_io.m"
            MR_Word mercury__getopt_io__V_200_200 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));
#line 164 "getopt_io.m"
            MR_Word mercury__getopt_io__V_201_201 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));

#line 164 "getopt_io.m"
            if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 0))))
#line 4889 "getopt_io.c"
              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 164 "getopt_io.m"
            else
#line 164 "getopt_io.m"
              if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 164 "getopt_io.m"
                {
#line 164 "getopt_io.m"
                  MR_Word mercury__getopt_io__V_43_43 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)));
#line 164 "getopt_io.m"
                  MR_Word mercury__getopt_io__V_44_44 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 1)));
#line 164 "getopt_io.m"
                  MR_Word mercury__getopt_io__V_45_45 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 2)));
#line 164 "getopt_io.m"
                  MR_Word mercury__getopt_io__V_46_46 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 3)));
#line 164 "getopt_io.m"
                  MR_Word mercury__getopt_io__V_47_47;

#line 164 "getopt_io.m"
                  {
#line 164 "getopt_io.m"
                    mercury__private_builtin__builtin_compare_pred_3_p_0(&mercury__getopt_io__V_47_47, (MR_Word) mercury__getopt_io__V_201_201, (MR_Word) mercury__getopt_io__V_43_43);
                  }
#line 4913 "getopt_io.c"
                  mercury__getopt_io__succeeded = (mercury__getopt_io__V_47_47 == (MR_Integer) 0);
#line 164 "getopt_io.m"
                  mercury__getopt_io__succeeded = !(mercury__getopt_io__succeeded);
#line 164 "getopt_io.m"
                  if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
                    *mercury__getopt_io__HeadVar__1_1 = mercury__getopt_io__V_47_47;
#line 164 "getopt_io.m"
                  else
#line 164 "getopt_io.m"
                    {
#line 164 "getopt_io.m"
                      MR_Word mercury__getopt_io__V_48_48;

#line 164 "getopt_io.m"
                      {
#line 164 "getopt_io.m"
                        mercury__private_builtin__builtin_compare_pred_3_p_0(&mercury__getopt_io__V_48_48, (MR_Word) mercury__getopt_io__V_200_200, (MR_Word) mercury__getopt_io__V_44_44);
                      }
#line 4933 "getopt_io.c"
                      mercury__getopt_io__succeeded = (mercury__getopt_io__V_48_48 == (MR_Integer) 0);
#line 164 "getopt_io.m"
                      mercury__getopt_io__succeeded = !(mercury__getopt_io__succeeded);
#line 164 "getopt_io.m"
                      if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
                        *mercury__getopt_io__HeadVar__1_1 = mercury__getopt_io__V_48_48;
#line 164 "getopt_io.m"
                      else
#line 164 "getopt_io.m"
                        {
#line 164 "getopt_io.m"
                          MR_Word mercury__getopt_io__V_49_49;

#line 164 "getopt_io.m"
                          {
#line 164 "getopt_io.m"
                            mercury__private_builtin__builtin_compare_pred_3_p_0(&mercury__getopt_io__V_49_49, (MR_Word) mercury__getopt_io__V_199_199, (MR_Word) mercury__getopt_io__V_45_45);
                          }
#line 4953 "getopt_io.c"
                          mercury__getopt_io__succeeded = (mercury__getopt_io__V_49_49 == (MR_Integer) 0);
#line 164 "getopt_io.m"
                          mercury__getopt_io__succeeded = !(mercury__getopt_io__succeeded);
#line 164 "getopt_io.m"
                          if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
                            *mercury__getopt_io__HeadVar__1_1 = mercury__getopt_io__V_49_49;
#line 164 "getopt_io.m"
                          else
#line 164 "getopt_io.m"
                            {
#line 164 "getopt_io.m"
                              mercury__private_builtin__builtin_compare_pred_3_p_0(mercury__getopt_io__HeadVar__1_1, (MR_Word) mercury__getopt_io__V_198_198, (MR_Word) mercury__getopt_io__V_46_46);
#line 164 "getopt_io.m"
                              return;
                            }
#line 164 "getopt_io.m"
                        }
#line 164 "getopt_io.m"
                    }
#line 164 "getopt_io.m"
                }
#line 164 "getopt_io.m"
              else
#line 164 "getopt_io.m"
                if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 4980 "getopt_io.c"
                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 164 "getopt_io.m"
                else
#line 4984 "getopt_io.c"
                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 164 "getopt_io.m"
          }
#line 164 "getopt_io.m"
        else
#line 164 "getopt_io.m"
          if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2))))
#line 164 "getopt_io.m"
            {
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_202_202 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 2)));
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_203_203 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_204_204 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));

#line 164 "getopt_io.m"
              if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 0))))
#line 5003 "getopt_io.c"
                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 164 "getopt_io.m"
              else
#line 164 "getopt_io.m"
                if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 5009 "getopt_io.c"
                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 164 "getopt_io.m"
                else
#line 164 "getopt_io.m"
                  if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 164 "getopt_io.m"
                    {
#line 164 "getopt_io.m"
                      MR_Word mercury__getopt_io__V_81_81 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)));
#line 164 "getopt_io.m"
                      MR_Word mercury__getopt_io__V_82_82 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 1)));
#line 164 "getopt_io.m"
                      MR_Word mercury__getopt_io__V_83_83 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 2)));
#line 164 "getopt_io.m"
                      MR_Word mercury__getopt_io__V_84_84;

#line 164 "getopt_io.m"
                      {
#line 164 "getopt_io.m"
                        mercury__private_builtin__builtin_compare_pred_3_p_0(&mercury__getopt_io__V_84_84, (MR_Word) mercury__getopt_io__V_204_204, (MR_Word) mercury__getopt_io__V_81_81);
                      }
#line 5031 "getopt_io.c"
                      mercury__getopt_io__succeeded = (mercury__getopt_io__V_84_84 == (MR_Integer) 0);
#line 164 "getopt_io.m"
                      mercury__getopt_io__succeeded = !(mercury__getopt_io__succeeded);
#line 164 "getopt_io.m"
                      if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
                        *mercury__getopt_io__HeadVar__1_1 = mercury__getopt_io__V_84_84;
#line 164 "getopt_io.m"
                      else
#line 164 "getopt_io.m"
                        {
#line 164 "getopt_io.m"
                          MR_Word mercury__getopt_io__V_85_85;

#line 164 "getopt_io.m"
                          {
#line 164 "getopt_io.m"
                            mercury__private_builtin__builtin_compare_pred_3_p_0(&mercury__getopt_io__V_85_85, (MR_Word) mercury__getopt_io__V_203_203, (MR_Word) mercury__getopt_io__V_82_82);
                          }
#line 5051 "getopt_io.c"
                          mercury__getopt_io__succeeded = (mercury__getopt_io__V_85_85 == (MR_Integer) 0);
#line 164 "getopt_io.m"
                          mercury__getopt_io__succeeded = !(mercury__getopt_io__succeeded);
#line 164 "getopt_io.m"
                          if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
                            *mercury__getopt_io__HeadVar__1_1 = mercury__getopt_io__V_85_85;
#line 164 "getopt_io.m"
                          else
#line 164 "getopt_io.m"
                            {
#line 164 "getopt_io.m"
                              mercury__private_builtin__builtin_compare_pred_3_p_0(mercury__getopt_io__HeadVar__1_1, (MR_Word) mercury__getopt_io__V_202_202, (MR_Word) mercury__getopt_io__V_83_83);
#line 164 "getopt_io.m"
                              return;
                            }
#line 164 "getopt_io.m"
                        }
#line 164 "getopt_io.m"
                    }
#line 164 "getopt_io.m"
                  else
#line 5074 "getopt_io.c"
                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 164 "getopt_io.m"
            }
#line 164 "getopt_io.m"
          else
#line 164 "getopt_io.m"
            {
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_205_205 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 3)));
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_206_206 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 2)));
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_207_207 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_208_208 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));

#line 164 "getopt_io.m"
              if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 0))))
#line 5093 "getopt_io.c"
                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 164 "getopt_io.m"
              else
#line 164 "getopt_io.m"
                if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 5099 "getopt_io.c"
                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 164 "getopt_io.m"
                else
#line 164 "getopt_io.m"
                  if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 5105 "getopt_io.c"
                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 164 "getopt_io.m"
                  else
#line 164 "getopt_io.m"
                    {
#line 164 "getopt_io.m"
                      MR_Word mercury__getopt_io__V_119_119 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)));
#line 164 "getopt_io.m"
                      MR_Word mercury__getopt_io__V_120_120 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 1)));
#line 164 "getopt_io.m"
                      MR_Word mercury__getopt_io__V_121_121 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 2)));
#line 164 "getopt_io.m"
                      MR_Word mercury__getopt_io__V_122_122 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 3)));
#line 164 "getopt_io.m"
                      MR_Word mercury__getopt_io__V_123_123;

#line 164 "getopt_io.m"
                      {
#line 164 "getopt_io.m"
                        mercury__private_builtin__builtin_compare_pred_3_p_0(&mercury__getopt_io__V_123_123, (MR_Word) mercury__getopt_io__V_208_208, (MR_Word) mercury__getopt_io__V_119_119);
                      }
#line 5127 "getopt_io.c"
                      mercury__getopt_io__succeeded = (mercury__getopt_io__V_123_123 == (MR_Integer) 0);
#line 164 "getopt_io.m"
                      mercury__getopt_io__succeeded = !(mercury__getopt_io__succeeded);
#line 164 "getopt_io.m"
                      if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
                        *mercury__getopt_io__HeadVar__1_1 = mercury__getopt_io__V_123_123;
#line 164 "getopt_io.m"
                      else
#line 164 "getopt_io.m"
                        {
#line 164 "getopt_io.m"
                          MR_Word mercury__getopt_io__V_124_124;

#line 164 "getopt_io.m"
                          {
#line 164 "getopt_io.m"
                            mercury__private_builtin__builtin_compare_pred_3_p_0(&mercury__getopt_io__V_124_124, (MR_Word) mercury__getopt_io__V_207_207, (MR_Word) mercury__getopt_io__V_120_120);
                          }
#line 5147 "getopt_io.c"
                          mercury__getopt_io__succeeded = (mercury__getopt_io__V_124_124 == (MR_Integer) 0);
#line 164 "getopt_io.m"
                          mercury__getopt_io__succeeded = !(mercury__getopt_io__succeeded);
#line 164 "getopt_io.m"
                          if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
                            *mercury__getopt_io__HeadVar__1_1 = mercury__getopt_io__V_124_124;
#line 164 "getopt_io.m"
                          else
#line 164 "getopt_io.m"
                            {
#line 164 "getopt_io.m"
                              MR_Word mercury__getopt_io__V_125_125;

#line 164 "getopt_io.m"
                              {
#line 164 "getopt_io.m"
                                mercury__private_builtin__builtin_compare_pred_3_p_0(&mercury__getopt_io__V_125_125, (MR_Word) mercury__getopt_io__V_206_206, (MR_Word) mercury__getopt_io__V_121_121);
                              }
#line 5167 "getopt_io.c"
                              mercury__getopt_io__succeeded = (mercury__getopt_io__V_125_125 == (MR_Integer) 0);
#line 164 "getopt_io.m"
                              mercury__getopt_io__succeeded = !(mercury__getopt_io__succeeded);
#line 164 "getopt_io.m"
                              if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
                                *mercury__getopt_io__HeadVar__1_1 = mercury__getopt_io__V_125_125;
#line 164 "getopt_io.m"
                              else
#line 164 "getopt_io.m"
                                {
#line 164 "getopt_io.m"
                                  mercury__private_builtin__builtin_compare_pred_3_p_0(mercury__getopt_io__HeadVar__1_1, (MR_Word) mercury__getopt_io__V_205_205, (MR_Word) mercury__getopt_io__V_122_122);
#line 164 "getopt_io.m"
                                  return;
                                }
#line 164 "getopt_io.m"
                            }
#line 164 "getopt_io.m"
                        }
#line 164 "getopt_io.m"
                    }
#line 164 "getopt_io.m"
            }
#line 164 "getopt_io.m"
  }
#line 164 "getopt_io.m"
}

#line 164 "getopt_io.m"
MR_bool MR_CALL 
mercury__getopt_io____Unify____option_ops_1_0(
#line 164 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_33,
#line 164 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__1_1,
#line 164 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__2_2)
#line 164 "getopt_io.m"
{
#line 164 "getopt_io.m"
  {
#line 164 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 164 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastX_31 = (MR_Integer) mercury__getopt_io__HeadVar__1_1;
#line 164 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastY_32 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;

#line 164 "getopt_io.m"
    mercury__getopt_io__succeeded = (mercury__getopt_io__CastX_31 == mercury__getopt_io__CastY_32);
#line 164 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
      mercury__getopt_io__succeeded = MR_TRUE;
#line 164 "getopt_io.m"
    else
#line 164 "getopt_io.m"
      if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__1_1)) == (MR_mktag((MR_Integer) 0))))
#line 164 "getopt_io.m"
        {
#line 164 "getopt_io.m"
          MR_Word mercury__getopt_io__V_3_3 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)));
#line 164 "getopt_io.m"
          MR_Word mercury__getopt_io__V_4_4 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 1)));
#line 164 "getopt_io.m"
          MR_Word mercury__getopt_io__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 2)));
#line 164 "getopt_io.m"
          MR_Word mercury__getopt_io__V_6_6;
#line 164 "getopt_io.m"
          MR_Word mercury__getopt_io__V_7_7;
#line 164 "getopt_io.m"
          MR_Word mercury__getopt_io__V_8_8;

#line 164 "getopt_io.m"
          mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 0)));
#line 164 "getopt_io.m"
          if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
            {
#line 164 "getopt_io.m"
              mercury__getopt_io__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));
#line 164 "getopt_io.m"
              mercury__getopt_io__V_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));
#line 164 "getopt_io.m"
              mercury__getopt_io__V_8_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 2)));
#line 5254 "getopt_io.c"
              {
#line 5256 "getopt_io.c"
                mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_3_3, (MR_Word) mercury__getopt_io__V_6_6);
              }
#line 164 "getopt_io.m"
              if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
                {
#line 5263 "getopt_io.c"
                  {
#line 5265 "getopt_io.c"
                    mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_4_4, (MR_Word) mercury__getopt_io__V_7_7);
                  }
#line 164 "getopt_io.m"
                  if (mercury__getopt_io__succeeded)
#line 5270 "getopt_io.c"
                    {
#line 5272 "getopt_io.c"
                      return mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_5_5, (MR_Word) mercury__getopt_io__V_8_8);
                    }
#line 164 "getopt_io.m"
                }
#line 164 "getopt_io.m"
            }
#line 164 "getopt_io.m"
        }
#line 164 "getopt_io.m"
      else
#line 164 "getopt_io.m"
        if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1))))
#line 164 "getopt_io.m"
          {
#line 164 "getopt_io.m"
            MR_Word mercury__getopt_io__V_9_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)));
#line 164 "getopt_io.m"
            MR_Word mercury__getopt_io__V_10_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 1)));
#line 164 "getopt_io.m"
            MR_Word mercury__getopt_io__V_11_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 2)));
#line 164 "getopt_io.m"
            MR_Word mercury__getopt_io__V_12_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 3)));
#line 164 "getopt_io.m"
            MR_Word mercury__getopt_io__V_13_13;
#line 164 "getopt_io.m"
            MR_Word mercury__getopt_io__V_14_14;
#line 164 "getopt_io.m"
            MR_Word mercury__getopt_io__V_15_15;
#line 164 "getopt_io.m"
            MR_Word mercury__getopt_io__V_16_16;

#line 164 "getopt_io.m"
            mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 164 "getopt_io.m"
            if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
              {
#line 164 "getopt_io.m"
                mercury__getopt_io__V_13_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));
#line 164 "getopt_io.m"
                mercury__getopt_io__V_14_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));
#line 164 "getopt_io.m"
                mercury__getopt_io__V_15_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 2)));
#line 164 "getopt_io.m"
                mercury__getopt_io__V_16_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 3)));
#line 5318 "getopt_io.c"
                {
#line 5320 "getopt_io.c"
                  mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_9_9, (MR_Word) mercury__getopt_io__V_13_13);
                }
#line 164 "getopt_io.m"
                if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
                  {
#line 5327 "getopt_io.c"
                    {
#line 5329 "getopt_io.c"
                      mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_10_10, (MR_Word) mercury__getopt_io__V_14_14);
                    }
#line 164 "getopt_io.m"
                    if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
                      {
#line 5336 "getopt_io.c"
                        {
#line 5338 "getopt_io.c"
                          mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_11_11, (MR_Word) mercury__getopt_io__V_15_15);
                        }
#line 164 "getopt_io.m"
                        if (mercury__getopt_io__succeeded)
#line 5343 "getopt_io.c"
                          {
#line 5345 "getopt_io.c"
                            return mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_12_12, (MR_Word) mercury__getopt_io__V_16_16);
                          }
#line 164 "getopt_io.m"
                      }
#line 164 "getopt_io.m"
                  }
#line 164 "getopt_io.m"
              }
#line 164 "getopt_io.m"
          }
#line 164 "getopt_io.m"
        else
#line 164 "getopt_io.m"
          if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__1_1)) == (MR_mktag((MR_Integer) 2))))
#line 164 "getopt_io.m"
            {
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_17_17 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)));
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_18_18 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 1)));
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_19_19 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 2)));
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_20_20;
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_21_21;
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_22_22;

#line 164 "getopt_io.m"
              mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2)));
#line 164 "getopt_io.m"
              if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
                {
#line 164 "getopt_io.m"
                  mercury__getopt_io__V_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));
#line 164 "getopt_io.m"
                  mercury__getopt_io__V_21_21 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));
#line 164 "getopt_io.m"
                  mercury__getopt_io__V_22_22 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 2)));
#line 5387 "getopt_io.c"
                  {
#line 5389 "getopt_io.c"
                    mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_17_17, (MR_Word) mercury__getopt_io__V_20_20);
                  }
#line 164 "getopt_io.m"
                  if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
                    {
#line 5396 "getopt_io.c"
                      {
#line 5398 "getopt_io.c"
                        mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_18_18, (MR_Word) mercury__getopt_io__V_21_21);
                      }
#line 164 "getopt_io.m"
                      if (mercury__getopt_io__succeeded)
#line 5403 "getopt_io.c"
                        {
#line 5405 "getopt_io.c"
                          return mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_19_19, (MR_Word) mercury__getopt_io__V_22_22);
                        }
#line 164 "getopt_io.m"
                    }
#line 164 "getopt_io.m"
                }
#line 164 "getopt_io.m"
            }
#line 164 "getopt_io.m"
          else
#line 164 "getopt_io.m"
            {
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_23_23 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)));
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_24_24 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 1)));
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_25_25 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 2)));
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_26_26 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 3)));
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_27_27;
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_28_28;
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_29_29;
#line 164 "getopt_io.m"
              MR_Word mercury__getopt_io__V_30_30;

#line 164 "getopt_io.m"
              mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3)));
#line 164 "getopt_io.m"
              if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
                {
#line 164 "getopt_io.m"
                  mercury__getopt_io__V_27_27 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));
#line 164 "getopt_io.m"
                  mercury__getopt_io__V_28_28 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));
#line 164 "getopt_io.m"
                  mercury__getopt_io__V_29_29 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 2)));
#line 164 "getopt_io.m"
                  mercury__getopt_io__V_30_30 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 3)));
#line 5449 "getopt_io.c"
                  {
#line 5451 "getopt_io.c"
                    mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_23_23, (MR_Word) mercury__getopt_io__V_27_27);
                  }
#line 164 "getopt_io.m"
                  if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
                    {
#line 5458 "getopt_io.c"
                      {
#line 5460 "getopt_io.c"
                        mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_24_24, (MR_Word) mercury__getopt_io__V_28_28);
                      }
#line 164 "getopt_io.m"
                      if (mercury__getopt_io__succeeded)
#line 164 "getopt_io.m"
                        {
#line 5467 "getopt_io.c"
                          {
#line 5469 "getopt_io.c"
                            mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_25_25, (MR_Word) mercury__getopt_io__V_29_29);
                          }
#line 164 "getopt_io.m"
                          if (mercury__getopt_io__succeeded)
#line 5474 "getopt_io.c"
                            {
#line 5476 "getopt_io.c"
                              return mercury__getopt_io__succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) mercury__getopt_io__V_26_26, (MR_Word) mercury__getopt_io__V_30_30);
                            }
#line 164 "getopt_io.m"
                        }
#line 164 "getopt_io.m"
                    }
#line 164 "getopt_io.m"
                }
#line 164 "getopt_io.m"
            }
#line 164 "getopt_io.m"
    return mercury__getopt_io__succeeded;
#line 164 "getopt_io.m"
  }
#line 164 "getopt_io.m"
}

#line 237 "getopt_io.m"
void MR_CALL 
mercury__getopt_io____Compare____option_data_0_0(
#line 237 "getopt_io.m"
  MR_Word * mercury__getopt_io__HeadVar__1_1,
#line 237 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__2_2,
#line 237 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__3_3)
#line 237 "getopt_io.m"
{
#line 237 "getopt_io.m"
  {
#line 237 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 237 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastX_148 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;
#line 237 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastY_149 = (MR_Integer) mercury__getopt_io__HeadVar__3_3;

#line 237 "getopt_io.m"
    mercury__getopt_io__succeeded = (mercury__getopt_io__CastX_148 == mercury__getopt_io__CastY_149);
#line 237 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 5518 "getopt_io.c"
      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 237 "getopt_io.m"
    else
#line 237 "getopt_io.m"
      if ((mercury__getopt_io__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 237 "getopt_io.m"
        if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 237 "getopt_io.m"
          *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 237 "getopt_io.m"
        else
#line 237 "getopt_io.m"
          if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 237 "getopt_io.m"
            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
          else
#line 237 "getopt_io.m"
            if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 237 "getopt_io.m"
              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
            else
#line 237 "getopt_io.m"
              if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 237 "getopt_io.m"
                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
              else
#line 237 "getopt_io.m"
                if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 237 "getopt_io.m"
                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                else
#line 237 "getopt_io.m"
                  if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 237 "getopt_io.m"
                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                  else
#line 237 "getopt_io.m"
                    if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 5562 "getopt_io.c"
                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                    else
#line 237 "getopt_io.m"
                      if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 5568 "getopt_io.c"
                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                      else
#line 237 "getopt_io.m"
                        if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 5574 "getopt_io.c"
                          *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                        else
#line 237 "getopt_io.m"
                          if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 5580 "getopt_io.c"
                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                          else
#line 237 "getopt_io.m"
                            if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 5586 "getopt_io.c"
                              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                            else
#line 5590 "getopt_io.c"
                              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
      else
#line 237 "getopt_io.m"
        if ((mercury__getopt_io__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 237 "getopt_io.m"
          if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 237 "getopt_io.m"
            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
          else
#line 237 "getopt_io.m"
            if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 237 "getopt_io.m"
              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 237 "getopt_io.m"
            else
#line 237 "getopt_io.m"
              if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 237 "getopt_io.m"
                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
              else
#line 237 "getopt_io.m"
                if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 237 "getopt_io.m"
                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                else
#line 237 "getopt_io.m"
                  if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 237 "getopt_io.m"
                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                  else
#line 237 "getopt_io.m"
                    if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 237 "getopt_io.m"
                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                    else
#line 237 "getopt_io.m"
                      if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 5634 "getopt_io.c"
                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                      else
#line 237 "getopt_io.m"
                        if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 5640 "getopt_io.c"
                          *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                        else
#line 237 "getopt_io.m"
                          if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 5646 "getopt_io.c"
                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                          else
#line 237 "getopt_io.m"
                            if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 5652 "getopt_io.c"
                              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                            else
#line 237 "getopt_io.m"
                              if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 5658 "getopt_io.c"
                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                              else
#line 5662 "getopt_io.c"
                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
        else
#line 237 "getopt_io.m"
          if ((mercury__getopt_io__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 237 "getopt_io.m"
            if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 237 "getopt_io.m"
              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
            else
#line 237 "getopt_io.m"
              if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 237 "getopt_io.m"
                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
              else
#line 237 "getopt_io.m"
                if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 237 "getopt_io.m"
                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 237 "getopt_io.m"
                else
#line 237 "getopt_io.m"
                  if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 237 "getopt_io.m"
                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                  else
#line 237 "getopt_io.m"
                    if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 237 "getopt_io.m"
                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                    else
#line 237 "getopt_io.m"
                      if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 237 "getopt_io.m"
                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                      else
#line 237 "getopt_io.m"
                        if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 5706 "getopt_io.c"
                          *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                        else
#line 237 "getopt_io.m"
                          if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 5712 "getopt_io.c"
                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                          else
#line 237 "getopt_io.m"
                            if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 5718 "getopt_io.c"
                              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                            else
#line 237 "getopt_io.m"
                              if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 5724 "getopt_io.c"
                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                              else
#line 237 "getopt_io.m"
                                if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 5730 "getopt_io.c"
                                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                else
#line 5734 "getopt_io.c"
                                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
          else
#line 237 "getopt_io.m"
            if ((mercury__getopt_io__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 237 "getopt_io.m"
              if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 237 "getopt_io.m"
                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
              else
#line 237 "getopt_io.m"
                if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 237 "getopt_io.m"
                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                else
#line 237 "getopt_io.m"
                  if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 237 "getopt_io.m"
                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                  else
#line 237 "getopt_io.m"
                    if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 237 "getopt_io.m"
                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 237 "getopt_io.m"
                    else
#line 237 "getopt_io.m"
                      if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 237 "getopt_io.m"
                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                      else
#line 237 "getopt_io.m"
                        if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 237 "getopt_io.m"
                          *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                        else
#line 237 "getopt_io.m"
                          if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 5778 "getopt_io.c"
                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                          else
#line 237 "getopt_io.m"
                            if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 5784 "getopt_io.c"
                              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                            else
#line 237 "getopt_io.m"
                              if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 5790 "getopt_io.c"
                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                              else
#line 237 "getopt_io.m"
                                if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 5796 "getopt_io.c"
                                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                else
#line 237 "getopt_io.m"
                                  if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 5802 "getopt_io.c"
                                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                  else
#line 5806 "getopt_io.c"
                                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
            else
#line 237 "getopt_io.m"
              if ((mercury__getopt_io__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 237 "getopt_io.m"
                if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 237 "getopt_io.m"
                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                else
#line 237 "getopt_io.m"
                  if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 237 "getopt_io.m"
                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                  else
#line 237 "getopt_io.m"
                    if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 237 "getopt_io.m"
                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                    else
#line 237 "getopt_io.m"
                      if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 237 "getopt_io.m"
                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                      else
#line 237 "getopt_io.m"
                        if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 237 "getopt_io.m"
                          *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 237 "getopt_io.m"
                        else
#line 237 "getopt_io.m"
                          if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 237 "getopt_io.m"
                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                          else
#line 237 "getopt_io.m"
                            if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 5850 "getopt_io.c"
                              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                            else
#line 237 "getopt_io.m"
                              if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 5856 "getopt_io.c"
                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                              else
#line 237 "getopt_io.m"
                                if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 5862 "getopt_io.c"
                                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                else
#line 237 "getopt_io.m"
                                  if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 5868 "getopt_io.c"
                                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                  else
#line 237 "getopt_io.m"
                                    if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 5874 "getopt_io.c"
                                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                    else
#line 5878 "getopt_io.c"
                                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
              else
#line 237 "getopt_io.m"
                if ((mercury__getopt_io__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 237 "getopt_io.m"
                  if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 237 "getopt_io.m"
                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                  else
#line 237 "getopt_io.m"
                    if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 237 "getopt_io.m"
                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                    else
#line 237 "getopt_io.m"
                      if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 237 "getopt_io.m"
                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                      else
#line 237 "getopt_io.m"
                        if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 237 "getopt_io.m"
                          *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                        else
#line 237 "getopt_io.m"
                          if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 237 "getopt_io.m"
                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                          else
#line 237 "getopt_io.m"
                            if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 237 "getopt_io.m"
                              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 237 "getopt_io.m"
                            else
#line 237 "getopt_io.m"
                              if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 5922 "getopt_io.c"
                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                              else
#line 237 "getopt_io.m"
                                if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 5928 "getopt_io.c"
                                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                else
#line 237 "getopt_io.m"
                                  if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 5934 "getopt_io.c"
                                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                  else
#line 237 "getopt_io.m"
                                    if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 5940 "getopt_io.c"
                                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                    else
#line 237 "getopt_io.m"
                                      if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 5946 "getopt_io.c"
                                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                      else
#line 5950 "getopt_io.c"
                                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                else
#line 237 "getopt_io.m"
                  if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1))))
#line 237 "getopt_io.m"
                    {
#line 237 "getopt_io.m"
                      MR_Word mercury__getopt_io__V_157_157 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));

#line 237 "getopt_io.m"
                      if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 5963 "getopt_io.c"
                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                      else
#line 237 "getopt_io.m"
                        if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 5969 "getopt_io.c"
                          *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                        else
#line 237 "getopt_io.m"
                          if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 5975 "getopt_io.c"
                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                          else
#line 237 "getopt_io.m"
                            if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 5981 "getopt_io.c"
                              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                            else
#line 237 "getopt_io.m"
                              if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 5987 "getopt_io.c"
                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                              else
#line 237 "getopt_io.m"
                                if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 5993 "getopt_io.c"
                                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                else
#line 237 "getopt_io.m"
                                  if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 237 "getopt_io.m"
                                    {
#line 237 "getopt_io.m"
                                      MR_Word mercury__getopt_io__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)));
#line 237 "getopt_io.m"
                                      MR_Integer mercury__getopt_io__V_162_162 = (MR_Integer) mercury__getopt_io__V_157_157;
#line 237 "getopt_io.m"
                                      MR_Integer mercury__getopt_io__V_163_163 = (MR_Integer) mercury__getopt_io__V_5_5;

#line 66 "private_builtin.opt"
                                      mercury__getopt_io__succeeded = (mercury__getopt_io__V_162_162 < mercury__getopt_io__V_163_163);
#line 69 "private_builtin.opt"
                                      if (mercury__getopt_io__succeeded)
#line 68 "private_builtin.opt"
                                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
                                      else
#line 74 "private_builtin.opt"
                                        {
#line 71 "private_builtin.opt"
                                          mercury__getopt_io__succeeded = (mercury__getopt_io__V_162_162 == mercury__getopt_io__V_163_163);
#line 74 "private_builtin.opt"
                                          if (mercury__getopt_io__succeeded)
#line 73 "private_builtin.opt"
                                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
                                          else
#line 75 "private_builtin.opt"
                                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
                                        }
#line 237 "getopt_io.m"
                                    }
#line 237 "getopt_io.m"
                                  else
#line 237 "getopt_io.m"
                                    if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 6036 "getopt_io.c"
                                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                    else
#line 237 "getopt_io.m"
                                      if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 6042 "getopt_io.c"
                                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                      else
#line 237 "getopt_io.m"
                                        if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 6048 "getopt_io.c"
                                          *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                        else
#line 237 "getopt_io.m"
                                          if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 6054 "getopt_io.c"
                                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                          else
#line 6058 "getopt_io.c"
                                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                    }
#line 237 "getopt_io.m"
                  else
#line 237 "getopt_io.m"
                    if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2))))
#line 237 "getopt_io.m"
                      {
#line 237 "getopt_io.m"
                        MR_Integer mercury__getopt_io__V_158_158 = ((MR_Integer) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));

#line 237 "getopt_io.m"
                        if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 6073 "getopt_io.c"
                          *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                        else
#line 237 "getopt_io.m"
                          if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 6079 "getopt_io.c"
                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                          else
#line 237 "getopt_io.m"
                            if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 6085 "getopt_io.c"
                              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                            else
#line 237 "getopt_io.m"
                              if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 6091 "getopt_io.c"
                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                              else
#line 237 "getopt_io.m"
                                if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 6097 "getopt_io.c"
                                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                else
#line 237 "getopt_io.m"
                                  if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 6103 "getopt_io.c"
                                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                  else
#line 237 "getopt_io.m"
                                    if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 6109 "getopt_io.c"
                                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                    else
#line 237 "getopt_io.m"
                                      if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 237 "getopt_io.m"
                                        {
#line 237 "getopt_io.m"
                                          MR_Integer mercury__getopt_io__V_25_25 = ((MR_Integer) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)));

#line 66 "private_builtin.opt"
                                          mercury__getopt_io__succeeded = (mercury__getopt_io__V_158_158 < mercury__getopt_io__V_25_25);
#line 69 "private_builtin.opt"
                                          if (mercury__getopt_io__succeeded)
#line 68 "private_builtin.opt"
                                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 69 "private_builtin.opt"
                                          else
#line 74 "private_builtin.opt"
                                            {
#line 71 "private_builtin.opt"
                                              mercury__getopt_io__succeeded = (mercury__getopt_io__V_158_158 == mercury__getopt_io__V_25_25);
#line 74 "private_builtin.opt"
                                              if (mercury__getopt_io__succeeded)
#line 73 "private_builtin.opt"
                                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 74 "private_builtin.opt"
                                              else
#line 75 "private_builtin.opt"
                                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 74 "private_builtin.opt"
                                            }
#line 237 "getopt_io.m"
                                        }
#line 237 "getopt_io.m"
                                      else
#line 237 "getopt_io.m"
                                        if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 6148 "getopt_io.c"
                                          *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                        else
#line 237 "getopt_io.m"
                                          if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 6154 "getopt_io.c"
                                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                          else
#line 237 "getopt_io.m"
                                            if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 6160 "getopt_io.c"
                                              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                            else
#line 6164 "getopt_io.c"
                                              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                      }
#line 237 "getopt_io.m"
                    else
#line 237 "getopt_io.m"
                      if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 237 "getopt_io.m"
                        {
#line 237 "getopt_io.m"
                          MR_Word mercury__getopt_io__V_156_156 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));

#line 237 "getopt_io.m"
                          if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 6179 "getopt_io.c"
                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                          else
#line 237 "getopt_io.m"
                            if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 6185 "getopt_io.c"
                              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                            else
#line 237 "getopt_io.m"
                              if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 6191 "getopt_io.c"
                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                              else
#line 237 "getopt_io.m"
                                if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 6197 "getopt_io.c"
                                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                else
#line 237 "getopt_io.m"
                                  if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 6203 "getopt_io.c"
                                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                  else
#line 237 "getopt_io.m"
                                    if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 6209 "getopt_io.c"
                                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                    else
#line 237 "getopt_io.m"
                                      if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 6215 "getopt_io.c"
                                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                      else
#line 237 "getopt_io.m"
                                        if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 6221 "getopt_io.c"
                                          *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                        else
#line 237 "getopt_io.m"
                                          if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 237 "getopt_io.m"
                                            {
#line 237 "getopt_io.m"
                                              MR_Word mercury__getopt_io__TypeInfo_150_150 = (MR_Word) &mercury__getopt_io_scalar_common_1[0];
#line 237 "getopt_io.m"
                                              MR_Word mercury__getopt_io__V_105_105 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 1)));

#line 237 "getopt_io.m"
                                              {
#line 237 "getopt_io.m"
                                                mercury__builtin__compare_3_p_0(mercury__getopt_io__TypeInfo_150_150, mercury__getopt_io__HeadVar__1_1, ((MR_Box) (mercury__getopt_io__V_156_156)), ((MR_Box) (mercury__getopt_io__V_105_105)));
#line 237 "getopt_io.m"
                                                return;
                                              }
#line 237 "getopt_io.m"
                                            }
#line 237 "getopt_io.m"
                                          else
#line 237 "getopt_io.m"
                                            if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 6247 "getopt_io.c"
                                              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                            else
#line 237 "getopt_io.m"
                                              if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 6253 "getopt_io.c"
                                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                              else
#line 6257 "getopt_io.c"
                                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                        }
#line 237 "getopt_io.m"
                      else
#line 237 "getopt_io.m"
                        if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 237 "getopt_io.m"
                          {
#line 237 "getopt_io.m"
                            MR_Word mercury__getopt_io__V_159_159 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));

#line 237 "getopt_io.m"
                            if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 6272 "getopt_io.c"
                              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                            else
#line 237 "getopt_io.m"
                              if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 6278 "getopt_io.c"
                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                              else
#line 237 "getopt_io.m"
                                if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 6284 "getopt_io.c"
                                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                else
#line 237 "getopt_io.m"
                                  if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 6290 "getopt_io.c"
                                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                  else
#line 237 "getopt_io.m"
                                    if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 6296 "getopt_io.c"
                                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                    else
#line 237 "getopt_io.m"
                                      if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 6302 "getopt_io.c"
                                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                      else
#line 237 "getopt_io.m"
                                        if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 6308 "getopt_io.c"
                                          *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                        else
#line 237 "getopt_io.m"
                                          if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 6314 "getopt_io.c"
                                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                          else
#line 237 "getopt_io.m"
                                            if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 6320 "getopt_io.c"
                                              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                            else
#line 237 "getopt_io.m"
                                              if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 237 "getopt_io.m"
                                                {
#line 237 "getopt_io.m"
                                                  MR_Word mercury__getopt_io__TypeInfo_152_152 = (MR_Word) &mercury__getopt_io_scalar_common_1[2];
#line 237 "getopt_io.m"
                                                  MR_Word mercury__getopt_io__V_65_65 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 1)));

#line 237 "getopt_io.m"
                                                  {
#line 237 "getopt_io.m"
                                                    mercury__builtin__compare_3_p_0(mercury__getopt_io__TypeInfo_152_152, mercury__getopt_io__HeadVar__1_1, ((MR_Box) (mercury__getopt_io__V_159_159)), ((MR_Box) (mercury__getopt_io__V_65_65)));
#line 237 "getopt_io.m"
                                                    return;
                                                  }
#line 237 "getopt_io.m"
                                                }
#line 237 "getopt_io.m"
                                              else
#line 237 "getopt_io.m"
                                                if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 6346 "getopt_io.c"
                                                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                                else
#line 6350 "getopt_io.c"
                                                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                          }
#line 237 "getopt_io.m"
                        else
#line 237 "getopt_io.m"
                          if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 237 "getopt_io.m"
                            {
#line 237 "getopt_io.m"
                              MR_Word mercury__getopt_io__V_160_160 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));

#line 237 "getopt_io.m"
                              if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 6365 "getopt_io.c"
                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                              else
#line 237 "getopt_io.m"
                                if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 6371 "getopt_io.c"
                                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                else
#line 237 "getopt_io.m"
                                  if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 6377 "getopt_io.c"
                                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                  else
#line 237 "getopt_io.m"
                                    if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 6383 "getopt_io.c"
                                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                    else
#line 237 "getopt_io.m"
                                      if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 6389 "getopt_io.c"
                                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                      else
#line 237 "getopt_io.m"
                                        if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 6395 "getopt_io.c"
                                          *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                        else
#line 237 "getopt_io.m"
                                          if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 6401 "getopt_io.c"
                                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                          else
#line 237 "getopt_io.m"
                                            if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 6407 "getopt_io.c"
                                              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                            else
#line 237 "getopt_io.m"
                                              if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 6413 "getopt_io.c"
                                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                              else
#line 237 "getopt_io.m"
                                                if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 6419 "getopt_io.c"
                                                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                                else
#line 237 "getopt_io.m"
                                                  if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 237 "getopt_io.m"
                                                    {
#line 237 "getopt_io.m"
                                                      MR_Word mercury__getopt_io__TypeInfo_151_151 = (MR_Word) &mercury__getopt_io_scalar_common_1[1];
#line 237 "getopt_io.m"
                                                      MR_Word mercury__getopt_io__V_85_85 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 1)));

#line 237 "getopt_io.m"
                                                      {
#line 237 "getopt_io.m"
                                                        mercury__builtin__compare_3_p_0(mercury__getopt_io__TypeInfo_151_151, mercury__getopt_io__HeadVar__1_1, ((MR_Box) (mercury__getopt_io__V_160_160)), ((MR_Box) (mercury__getopt_io__V_85_85)));
#line 237 "getopt_io.m"
                                                        return;
                                                      }
#line 237 "getopt_io.m"
                                                    }
#line 237 "getopt_io.m"
                                                  else
#line 6443 "getopt_io.c"
                                                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                            }
#line 237 "getopt_io.m"
                          else
#line 237 "getopt_io.m"
                            {
#line 237 "getopt_io.m"
                              MR_String mercury__getopt_io__V_161_161 = ((MR_String) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));

#line 237 "getopt_io.m"
                              if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 6456 "getopt_io.c"
                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                              else
#line 237 "getopt_io.m"
                                if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 6462 "getopt_io.c"
                                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                else
#line 237 "getopt_io.m"
                                  if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 6468 "getopt_io.c"
                                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                  else
#line 237 "getopt_io.m"
                                    if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 6474 "getopt_io.c"
                                      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                    else
#line 237 "getopt_io.m"
                                      if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 6480 "getopt_io.c"
                                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                      else
#line 237 "getopt_io.m"
                                        if ((mercury__getopt_io__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 6486 "getopt_io.c"
                                          *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                        else
#line 237 "getopt_io.m"
                                          if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 6492 "getopt_io.c"
                                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                          else
#line 237 "getopt_io.m"
                                            if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 6498 "getopt_io.c"
                                              *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 237 "getopt_io.m"
                                            else
#line 237 "getopt_io.m"
                                              if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 6504 "getopt_io.c"
                                                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                              else
#line 237 "getopt_io.m"
                                                if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 6510 "getopt_io.c"
                                                  *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                                else
#line 237 "getopt_io.m"
                                                  if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 6516 "getopt_io.c"
                                                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 237 "getopt_io.m"
                                                  else
#line 237 "getopt_io.m"
                                                    {
#line 237 "getopt_io.m"
                                                      MR_String mercury__getopt_io__V_45_45 = ((MR_String) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 1)));
#line 237 "getopt_io.m"
                                                      MR_Integer mercury__getopt_io__Res_7_173;

#line 134 "private_builtin.opt"
{
#define MR_PROC_LABEL mercury__getopt_io____Compare____option_data_0_0

	MR_Integer Res;
	MR_String S1;
	MR_String S2;

	S1 =  mercury__getopt_io__V_161_161 ;
	S2 =  mercury__getopt_io__V_45_45 ;
		{
#line 134 "private_builtin.opt"

    Res = strcmp(S1, S2);

#line 6542 "getopt_io.c"

		;}
#undef MR_PROC_LABEL
	 mercury__getopt_io__Res_7_173  = Res;
#line 134 "private_builtin.opt"
}
#line 102 "private_builtin.opt"
                                                      mercury__getopt_io__succeeded = (mercury__getopt_io__Res_7_173 < (MR_Integer) 0);
#line 105 "private_builtin.opt"
                                                      if (mercury__getopt_io__succeeded)
#line 104 "private_builtin.opt"
                                                        *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 105 "private_builtin.opt"
                                                      else
#line 110 "private_builtin.opt"
                                                        {
#line 107 "private_builtin.opt"
                                                          mercury__getopt_io__succeeded = (mercury__getopt_io__Res_7_173 == (MR_Integer) 0);
#line 110 "private_builtin.opt"
                                                          if (mercury__getopt_io__succeeded)
#line 109 "private_builtin.opt"
                                                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 110 "private_builtin.opt"
                                                          else
#line 111 "private_builtin.opt"
                                                            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 110 "private_builtin.opt"
                                                        }
#line 237 "getopt_io.m"
                                                    }
#line 237 "getopt_io.m"
                            }
#line 237 "getopt_io.m"
  }
#line 237 "getopt_io.m"
}

#line 237 "getopt_io.m"
MR_bool MR_CALL 
mercury__getopt_io____Unify____option_data_0_0(
#line 237 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__1_1,
#line 237 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__2_2)
#line 237 "getopt_io.m"
{
#line 237 "getopt_io.m"
  {
#line 237 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 237 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastX_27 = (MR_Integer) mercury__getopt_io__HeadVar__1_1;
#line 237 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastY_28 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;

#line 237 "getopt_io.m"
    mercury__getopt_io__succeeded = (mercury__getopt_io__CastX_27 == mercury__getopt_io__CastY_28);
#line 237 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 237 "getopt_io.m"
      mercury__getopt_io__succeeded = MR_TRUE;
#line 237 "getopt_io.m"
    else
#line 237 "getopt_io.m"
      if ((mercury__getopt_io__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 237 "getopt_io.m"
        {
#line 237 "getopt_io.m"
          MR_Integer mercury__getopt_io__CastX_17 = (MR_Integer) mercury__getopt_io__HeadVar__1_1;
#line 237 "getopt_io.m"
          MR_Integer mercury__getopt_io__CastY_18 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;

#line 237 "getopt_io.m"
          mercury__getopt_io__succeeded = (mercury__getopt_io__CastY_18 == mercury__getopt_io__CastX_17);
#line 237 "getopt_io.m"
        }
#line 237 "getopt_io.m"
      else
#line 237 "getopt_io.m"
        if ((mercury__getopt_io__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 237 "getopt_io.m"
          {
#line 237 "getopt_io.m"
            MR_Integer mercury__getopt_io__CastX_25 = (MR_Integer) mercury__getopt_io__HeadVar__1_1;
#line 237 "getopt_io.m"
            MR_Integer mercury__getopt_io__CastY_26 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;

#line 237 "getopt_io.m"
            mercury__getopt_io__succeeded = (mercury__getopt_io__CastY_26 == mercury__getopt_io__CastX_25);
#line 237 "getopt_io.m"
          }
#line 237 "getopt_io.m"
        else
#line 237 "getopt_io.m"
          if ((mercury__getopt_io__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 237 "getopt_io.m"
            {
#line 237 "getopt_io.m"
              MR_Integer mercury__getopt_io__CastX_19 = (MR_Integer) mercury__getopt_io__HeadVar__1_1;
#line 237 "getopt_io.m"
              MR_Integer mercury__getopt_io__CastY_20 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;

#line 237 "getopt_io.m"
              mercury__getopt_io__succeeded = (mercury__getopt_io__CastY_20 == mercury__getopt_io__CastX_19);
#line 237 "getopt_io.m"
            }
#line 237 "getopt_io.m"
          else
#line 237 "getopt_io.m"
            if ((mercury__getopt_io__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 237 "getopt_io.m"
              {
#line 237 "getopt_io.m"
                MR_Integer mercury__getopt_io__CastX_23 = (MR_Integer) mercury__getopt_io__HeadVar__1_1;
#line 237 "getopt_io.m"
                MR_Integer mercury__getopt_io__CastY_24 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;

#line 237 "getopt_io.m"
                mercury__getopt_io__succeeded = (mercury__getopt_io__CastY_24 == mercury__getopt_io__CastX_23);
#line 237 "getopt_io.m"
              }
#line 237 "getopt_io.m"
            else
#line 237 "getopt_io.m"
              if ((mercury__getopt_io__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 237 "getopt_io.m"
                {
#line 237 "getopt_io.m"
                  MR_Integer mercury__getopt_io__CastX_15 = (MR_Integer) mercury__getopt_io__HeadVar__1_1;
#line 237 "getopt_io.m"
                  MR_Integer mercury__getopt_io__CastY_16 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;

#line 237 "getopt_io.m"
                  mercury__getopt_io__succeeded = (mercury__getopt_io__CastY_16 == mercury__getopt_io__CastX_15);
#line 237 "getopt_io.m"
                }
#line 237 "getopt_io.m"
              else
#line 237 "getopt_io.m"
                if ((mercury__getopt_io__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 237 "getopt_io.m"
                  {
#line 237 "getopt_io.m"
                    MR_Integer mercury__getopt_io__CastX_21 = (MR_Integer) mercury__getopt_io__HeadVar__1_1;
#line 237 "getopt_io.m"
                    MR_Integer mercury__getopt_io__CastY_22 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;

#line 237 "getopt_io.m"
                    mercury__getopt_io__succeeded = (mercury__getopt_io__CastY_22 == mercury__getopt_io__CastX_21);
#line 237 "getopt_io.m"
                  }
#line 237 "getopt_io.m"
                else
#line 237 "getopt_io.m"
                  if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1))))
#line 237 "getopt_io.m"
                    {
#line 237 "getopt_io.m"
                      MR_Word mercury__getopt_io__V_3_3 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)));
#line 237 "getopt_io.m"
                      MR_Word mercury__getopt_io__V_4_4;

#line 237 "getopt_io.m"
                      mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 237 "getopt_io.m"
                      if (mercury__getopt_io__succeeded)
#line 237 "getopt_io.m"
                        {
#line 237 "getopt_io.m"
                          mercury__getopt_io__V_4_4 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));
#line 6713 "getopt_io.c"
                          mercury__getopt_io__succeeded = (mercury__getopt_io__V_3_3 == mercury__getopt_io__V_4_4);
#line 237 "getopt_io.m"
                        }
#line 237 "getopt_io.m"
                    }
#line 237 "getopt_io.m"
                  else
#line 237 "getopt_io.m"
                    if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__1_1)) == (MR_mktag((MR_Integer) 2))))
#line 237 "getopt_io.m"
                      {
#line 237 "getopt_io.m"
                        MR_Integer mercury__getopt_io__V_5_5 = ((MR_Integer) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)));
#line 237 "getopt_io.m"
                        MR_Integer mercury__getopt_io__V_6_6;

#line 237 "getopt_io.m"
                        mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2)));
#line 237 "getopt_io.m"
                        if (mercury__getopt_io__succeeded)
#line 237 "getopt_io.m"
                          {
#line 237 "getopt_io.m"
                            mercury__getopt_io__V_6_6 = ((MR_Integer) (MR_hl_field(MR_mktag(2), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));
#line 6738 "getopt_io.c"
                            mercury__getopt_io__succeeded = (mercury__getopt_io__V_5_5 == mercury__getopt_io__V_6_6);
#line 237 "getopt_io.m"
                          }
#line 237 "getopt_io.m"
                      }
#line 237 "getopt_io.m"
                    else
#line 237 "getopt_io.m"
                      if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__1_1)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 237 "getopt_io.m"
                        {
#line 237 "getopt_io.m"
                          MR_Word mercury__getopt_io__TypeInfo_29_29;
#line 237 "getopt_io.m"
                          MR_Word mercury__getopt_io__V_13_13 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 1)));
#line 237 "getopt_io.m"
                          MR_Word mercury__getopt_io__V_14_14;

#line 237 "getopt_io.m"
                          mercury__getopt_io__succeeded = ((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 3)));
#line 237 "getopt_io.m"
                          if (mercury__getopt_io__succeeded)
#line 237 "getopt_io.m"
                            {
#line 237 "getopt_io.m"
                              mercury__getopt_io__V_14_14 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));
#line 6765 "getopt_io.c"
                              mercury__getopt_io__TypeInfo_29_29 = (MR_Word) &mercury__getopt_io_scalar_common_1[0];
#line 6767 "getopt_io.c"
                              {
#line 6769 "getopt_io.c"
                                return mercury__getopt_io__succeeded = mercury__builtin__unify_2_p_0(mercury__getopt_io__TypeInfo_29_29, ((MR_Box) (mercury__getopt_io__V_13_13)), ((MR_Box) (mercury__getopt_io__V_14_14)));
                              }
#line 237 "getopt_io.m"
                            }
#line 237 "getopt_io.m"
                        }
#line 237 "getopt_io.m"
                      else
#line 237 "getopt_io.m"
                        if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__1_1)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 237 "getopt_io.m"
                          {
#line 237 "getopt_io.m"
                            MR_Word mercury__getopt_io__TypeInfo_30_30;
#line 237 "getopt_io.m"
                            MR_Word mercury__getopt_io__V_9_9 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 1)));
#line 237 "getopt_io.m"
                            MR_Word mercury__getopt_io__V_10_10;

#line 237 "getopt_io.m"
                            mercury__getopt_io__succeeded = ((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 1)));
#line 237 "getopt_io.m"
                            if (mercury__getopt_io__succeeded)
#line 237 "getopt_io.m"
                              {
#line 237 "getopt_io.m"
                                mercury__getopt_io__V_10_10 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));
#line 6797 "getopt_io.c"
                                mercury__getopt_io__TypeInfo_30_30 = (MR_Word) &mercury__getopt_io_scalar_common_1[2];
#line 6799 "getopt_io.c"
                                {
#line 6801 "getopt_io.c"
                                  return mercury__getopt_io__succeeded = mercury__builtin__unify_2_p_0(mercury__getopt_io__TypeInfo_30_30, ((MR_Box) (mercury__getopt_io__V_9_9)), ((MR_Box) (mercury__getopt_io__V_10_10)));
                                }
#line 237 "getopt_io.m"
                              }
#line 237 "getopt_io.m"
                          }
#line 237 "getopt_io.m"
                        else
#line 237 "getopt_io.m"
                          if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__1_1)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 237 "getopt_io.m"
                            {
#line 237 "getopt_io.m"
                              MR_Word mercury__getopt_io__TypeInfo_31_31;
#line 237 "getopt_io.m"
                              MR_Word mercury__getopt_io__V_11_11 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 1)));
#line 237 "getopt_io.m"
                              MR_Word mercury__getopt_io__V_12_12;

#line 237 "getopt_io.m"
                              mercury__getopt_io__succeeded = ((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 2)));
#line 237 "getopt_io.m"
                              if (mercury__getopt_io__succeeded)
#line 237 "getopt_io.m"
                                {
#line 237 "getopt_io.m"
                                  mercury__getopt_io__V_12_12 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));
#line 6829 "getopt_io.c"
                                  mercury__getopt_io__TypeInfo_31_31 = (MR_Word) &mercury__getopt_io_scalar_common_1[1];
#line 6831 "getopt_io.c"
                                  {
#line 6833 "getopt_io.c"
                                    return mercury__getopt_io__succeeded = mercury__builtin__unify_2_p_0(mercury__getopt_io__TypeInfo_31_31, ((MR_Box) (mercury__getopt_io__V_11_11)), ((MR_Box) (mercury__getopt_io__V_12_12)));
                                  }
#line 237 "getopt_io.m"
                                }
#line 237 "getopt_io.m"
                            }
#line 237 "getopt_io.m"
                          else
#line 237 "getopt_io.m"
                            {
#line 237 "getopt_io.m"
                              MR_String mercury__getopt_io__V_7_7 = ((MR_String) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 1)));
#line 237 "getopt_io.m"
                              MR_String mercury__getopt_io__V_8_8;

#line 237 "getopt_io.m"
                              mercury__getopt_io__succeeded = ((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 0)));
#line 237 "getopt_io.m"
                              if (mercury__getopt_io__succeeded)
#line 237 "getopt_io.m"
                                {
#line 237 "getopt_io.m"
                                  mercury__getopt_io__V_8_8 = ((MR_String) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 1)));
#line 6857 "getopt_io.c"
                                  mercury__getopt_io__succeeded = (strcmp(mercury__getopt_io__V_7_7, mercury__getopt_io__V_8_8) == 0);
#line 237 "getopt_io.m"
                                }
#line 237 "getopt_io.m"
                            }
#line 237 "getopt_io.m"
    return mercury__getopt_io__succeeded;
#line 237 "getopt_io.m"
  }
#line 237 "getopt_io.m"
}

#line 260 "getopt_io.m"
void MR_CALL 
mercury__getopt_io____Compare____maybe_option_table_1_0(
#line 260 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_14,
#line 260 "getopt_io.m"
  MR_Word * mercury__getopt_io__HeadVar__1_1,
#line 260 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__2_2,
#line 260 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__3_3)
#line 260 "getopt_io.m"
{
#line 260 "getopt_io.m"
  {
#line 260 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 260 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastX_12 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;
#line 260 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastY_13 = (MR_Integer) mercury__getopt_io__HeadVar__3_3;

#line 260 "getopt_io.m"
    mercury__getopt_io__succeeded = (mercury__getopt_io__CastX_12 == mercury__getopt_io__CastY_13);
#line 260 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 6896 "getopt_io.c"
      *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 260 "getopt_io.m"
    else
#line 260 "getopt_io.m"
      if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1))))
#line 260 "getopt_io.m"
        {
#line 260 "getopt_io.m"
          MR_String mercury__getopt_io__V_19_19 = ((MR_String) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));

#line 260 "getopt_io.m"
          if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 260 "getopt_io.m"
            {
#line 260 "getopt_io.m"
              MR_String mercury__getopt_io__V_11_11 = ((MR_String) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)));
#line 260 "getopt_io.m"
              MR_Integer mercury__getopt_io__Res_7_24;

#line 134 "private_builtin.opt"
{
#define MR_PROC_LABEL mercury__getopt_io____Compare____maybe_option_table_1_0

	MR_Integer Res;
	MR_String S1;
	MR_String S2;

	S1 =  mercury__getopt_io__V_19_19 ;
	S2 =  mercury__getopt_io__V_11_11 ;
		{
#line 134 "private_builtin.opt"

    Res = strcmp(S1, S2);

#line 6931 "getopt_io.c"

		;}
#undef MR_PROC_LABEL
	 mercury__getopt_io__Res_7_24  = Res;
#line 134 "private_builtin.opt"
}
#line 102 "private_builtin.opt"
              mercury__getopt_io__succeeded = (mercury__getopt_io__Res_7_24 < (MR_Integer) 0);
#line 105 "private_builtin.opt"
              if (mercury__getopt_io__succeeded)
#line 104 "private_builtin.opt"
                *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 105 "private_builtin.opt"
              else
#line 110 "private_builtin.opt"
                {
#line 107 "private_builtin.opt"
                  mercury__getopt_io__succeeded = (mercury__getopt_io__Res_7_24 == (MR_Integer) 0);
#line 110 "private_builtin.opt"
                  if (mercury__getopt_io__succeeded)
#line 109 "private_builtin.opt"
                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 0;
#line 110 "private_builtin.opt"
                  else
#line 111 "private_builtin.opt"
                    *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 110 "private_builtin.opt"
                }
#line 260 "getopt_io.m"
            }
#line 260 "getopt_io.m"
          else
#line 6964 "getopt_io.c"
            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 2;
#line 260 "getopt_io.m"
        }
#line 260 "getopt_io.m"
      else
#line 260 "getopt_io.m"
        {
#line 260 "getopt_io.m"
          MR_Word mercury__getopt_io__V_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));

#line 260 "getopt_io.m"
          if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 6977 "getopt_io.c"
            *mercury__getopt_io__HeadVar__1_1 = (MR_Integer) 1;
#line 260 "getopt_io.m"
          else
#line 260 "getopt_io.m"
            {
#line 260 "getopt_io.m"
              MR_Word mercury__getopt_io__TypeCtorInfo_16_16 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 260 "getopt_io.m"
              MR_Word mercury__getopt_io__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)));

#line 260 "getopt_io.m"
              {
#line 260 "getopt_io.m"
                mercury__tree234____Compare____tree234_2_0(mercury__getopt_io__TypeInfo_for_OptionType_14, mercury__getopt_io__TypeCtorInfo_16_16, mercury__getopt_io__HeadVar__1_1, mercury__getopt_io__V_20_20, mercury__getopt_io__V_5_5);
#line 260 "getopt_io.m"
                return;
              }
#line 260 "getopt_io.m"
            }
#line 260 "getopt_io.m"
        }
#line 260 "getopt_io.m"
  }
#line 260 "getopt_io.m"
}

#line 260 "getopt_io.m"
MR_bool MR_CALL 
mercury__getopt_io____Unify____maybe_option_table_1_0(
#line 260 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_9,
#line 260 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__1_1,
#line 260 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__2_2)
#line 260 "getopt_io.m"
{
#line 260 "getopt_io.m"
  {
#line 260 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 260 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastX_7 = (MR_Integer) mercury__getopt_io__HeadVar__1_1;
#line 260 "getopt_io.m"
    MR_Integer mercury__getopt_io__CastY_8 = (MR_Integer) mercury__getopt_io__HeadVar__2_2;

#line 260 "getopt_io.m"
    mercury__getopt_io__succeeded = (mercury__getopt_io__CastX_7 == mercury__getopt_io__CastY_8);
#line 260 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 260 "getopt_io.m"
      mercury__getopt_io__succeeded = MR_TRUE;
#line 260 "getopt_io.m"
    else
#line 260 "getopt_io.m"
      if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1))))
#line 260 "getopt_io.m"
        {
#line 260 "getopt_io.m"
          MR_String mercury__getopt_io__V_5_5 = ((MR_String) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)));
#line 260 "getopt_io.m"
          MR_String mercury__getopt_io__V_6_6;

#line 260 "getopt_io.m"
          mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 260 "getopt_io.m"
          if (mercury__getopt_io__succeeded)
#line 260 "getopt_io.m"
            {
#line 260 "getopt_io.m"
              mercury__getopt_io__V_6_6 = ((MR_String) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));
#line 7049 "getopt_io.c"
              mercury__getopt_io__succeeded = (strcmp(mercury__getopt_io__V_5_5, mercury__getopt_io__V_6_6) == 0);
#line 260 "getopt_io.m"
            }
#line 260 "getopt_io.m"
        }
#line 260 "getopt_io.m"
      else
#line 260 "getopt_io.m"
        {
#line 260 "getopt_io.m"
          MR_Word mercury__getopt_io__TypeCtorInfo_10_10;
#line 260 "getopt_io.m"
          MR_Word mercury__getopt_io__V_3_3 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)));
#line 260 "getopt_io.m"
          MR_Word mercury__getopt_io__V_4_4;

#line 260 "getopt_io.m"
          mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__HeadVar__2_2)) == (MR_mktag((MR_Integer) 0)));
#line 260 "getopt_io.m"
          if (mercury__getopt_io__succeeded)
#line 260 "getopt_io.m"
            {
#line 260 "getopt_io.m"
              mercury__getopt_io__V_4_4 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__HeadVar__2_2, (MR_Integer) 0)));
#line 7074 "getopt_io.c"
              mercury__getopt_io__TypeCtorInfo_10_10 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 7076 "getopt_io.c"
              {
#line 7078 "getopt_io.c"
                return mercury__getopt_io__succeeded = mercury__tree234____Unify____tree234_2_0(mercury__getopt_io__TypeInfo_for_OptionType_9, mercury__getopt_io__TypeCtorInfo_10_10, mercury__getopt_io__V_3_3, mercury__getopt_io__V_4_4);
              }
#line 260 "getopt_io.m"
            }
#line 260 "getopt_io.m"
        }
#line 260 "getopt_io.m"
    return mercury__getopt_io__succeeded;
#line 260 "getopt_io.m"
  }
#line 260 "getopt_io.m"
}

#line 912 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__process_special_8_p_0(
#line 912 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_48,
#line 912 "getopt_io.m"
  MR_String mercury__getopt_io__Option_9,
#line 912 "getopt_io.m"
  MR_Box mercury__getopt_io__Flag_10,
#line 912 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionData_11,
#line 912 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionOps_12,
#line 912 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionTable0_13,
#line 912 "getopt_io.m"
  MR_Word * mercury__getopt_io__Result_14,
#line 912 "getopt_io.m"
  MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_22,
#line 912 "getopt_io.m"
  MR_Word * mercury__getopt_io__STATE_VARIABLE_OptionsSet_23)
#line 912 "getopt_io.m"
{
#line 918 "getopt_io.m"
  {
#line 918 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 918 "getopt_io.m"
    MR_Word mercury__getopt_io__MaybeHandler_16 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_12, (MR_Integer) 2)));
#line 919 "getopt_io.m"
    MR_Word mercury__getopt_io__V_46_46 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_12, (MR_Integer) 0)));
#line 919 "getopt_io.m"
    MR_Word mercury__getopt_io__V_47_47 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_12, (MR_Integer) 1)));

#line 931 "getopt_io.m"
    if ((mercury__getopt_io__MaybeHandler_16 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 945 "getopt_io.m"
      {
#line 945 "getopt_io.m"
        MR_String mercury__getopt_io__V_25_25;
#line 945 "getopt_io.m"
        MR_String mercury__getopt_io__ErrorMsg_45;

#line 260 "string.opt"
        {
#line 260 "string.opt"
          mercury__string__append_3_p_2(mercury__getopt_io__Option_9, (MR_String) "\' has no handler", &mercury__getopt_io__V_25_25);
        }
#line 260 "string.opt"
        {
#line 260 "string.opt"
          mercury__string__append_3_p_2((MR_String) "option \140", mercury__getopt_io__V_25_25, &mercury__getopt_io__ErrorMsg_45);
        }
#line 947 "getopt_io.m"
        {
#line 947 "getopt_io.m"
          MR_Word base;
#line 947 "getopt_io.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 947 "getopt_io.m"
          *mercury__getopt_io__Result_14 = base;
#line 947 "getopt_io.m"
          MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_45));
#line 947 "getopt_io.m"
        }
#line 947 "getopt_io.m"
        *mercury__getopt_io__STATE_VARIABLE_OptionsSet_23 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_22;
#line 945 "getopt_io.m"
      }
#line 931 "getopt_io.m"
    else
#line 931 "getopt_io.m"
      if (((MR_tag((MR_Word) mercury__getopt_io__MaybeHandler_16)) == (MR_mktag((MR_Integer) 1))))
#line 921 "getopt_io.m"
        {
#line 921 "getopt_io.m"
          MR_Word mercury__getopt_io__Handler_17 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__MaybeHandler_16, (MR_Integer) 0)));
#line 926 "getopt_io.m"
          MR_Word mercury__getopt_io__Result0_18;
#line 923 "getopt_io.m"
          MR_bool MR_CALL (* mercury__getopt_io__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__getopt_io__Handler_17, (MR_Integer) 1)));
#line 923 "getopt_io.m"
          MR_Box mercury__getopt_io__conv1_Result0_18;

#line 923 "getopt_io.m"
          {
#line 923 "getopt_io.m"
            mercury__getopt_io__succeeded = mercury__getopt_io__func_0(((MR_Box) mercury__getopt_io__Handler_17), mercury__getopt_io__Flag_10, ((MR_Box) (mercury__getopt_io__OptionData_11)), ((MR_Box) (mercury__getopt_io__OptionTable0_13)), &mercury__getopt_io__conv1_Result0_18);
          }
#line 923 "getopt_io.m"
          if (mercury__getopt_io__succeeded)
#line 923 "getopt_io.m"
            {
#line 923 "getopt_io.m"
              mercury__getopt_io__Result0_18 = ((MR_Word) mercury__getopt_io__conv1_Result0_18);
#line 923 "getopt_io.m"
              mercury__getopt_io__succeeded = MR_TRUE;
#line 923 "getopt_io.m"
            }
#line 926 "getopt_io.m"
          if (mercury__getopt_io__succeeded)
#line 925 "getopt_io.m"
            *mercury__getopt_io__Result_14 = mercury__getopt_io__Result0_18;
#line 926 "getopt_io.m"
          else
#line 928 "getopt_io.m"
            {
#line 928 "getopt_io.m"
              MR_String mercury__getopt_io__ErrorMsg_19;
#line 928 "getopt_io.m"
              MR_Word mercury__getopt_io__V_34_34;
#line 928 "getopt_io.m"
              MR_Word mercury__getopt_io__V_36_36;
#line 928 "getopt_io.m"
              MR_Word mercury__getopt_io__V_37_37 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__getopt_io_scalar_common_1[8]);
#line 928 "getopt_io.m"
              MR_Word mercury__getopt_io__V_39_39 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 927 "getopt_io.m"
              {
#line 927 "getopt_io.m"
                mercury__getopt_io__V_36_36 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 927 "getopt_io.m"
                MR_hl_field(MR_mktag(1), mercury__getopt_io__V_36_36, 0) = ((MR_Box) (mercury__getopt_io__Option_9));
#line 927 "getopt_io.m"
                MR_hl_field(MR_mktag(1), mercury__getopt_io__V_36_36, 1) = ((MR_Box) (mercury__getopt_io__V_37_37));
#line 927 "getopt_io.m"
              }
#line 927 "getopt_io.m"
              {
#line 927 "getopt_io.m"
                mercury__getopt_io__V_34_34 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 927 "getopt_io.m"
                MR_hl_field(MR_mktag(1), mercury__getopt_io__V_34_34, 0) = ((MR_Box) ((MR_String) "the handler of option \140"));
#line 927 "getopt_io.m"
                MR_hl_field(MR_mktag(1), mercury__getopt_io__V_34_34, 1) = ((MR_Box) (mercury__getopt_io__V_36_36));
#line 927 "getopt_io.m"
              }
#line 815 "string.opt"
              {
#line 815 "string.opt"
                mercury__getopt_io__ErrorMsg_19 = mercury__string__append_list_1_f_0(mercury__getopt_io__V_34_34);
              }
#line 929 "getopt_io.m"
              {
#line 929 "getopt_io.m"
                MR_Word base;
#line 929 "getopt_io.m"
                base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 929 "getopt_io.m"
                *mercury__getopt_io__Result_14 = base;
#line 929 "getopt_io.m"
                MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_19));
#line 929 "getopt_io.m"
              }
#line 928 "getopt_io.m"
            }
#line 929 "getopt_io.m"
          *mercury__getopt_io__STATE_VARIABLE_OptionsSet_23 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_22;
#line 921 "getopt_io.m"
        }
#line 931 "getopt_io.m"
      else
#line 932 "getopt_io.m"
        {
#line 932 "getopt_io.m"
          MR_Word mercury__getopt_io__TrackHandler_20 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__MaybeHandler_16, (MR_Integer) 0)));
#line 939 "getopt_io.m"
          MR_Word mercury__getopt_io__NewOptionsSet_21;
#line 939 "getopt_io.m"
          MR_Word mercury__getopt_io__Result0_41;
#line 934 "getopt_io.m"
          MR_bool MR_CALL (* mercury__getopt_io__func_2)(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__getopt_io__TrackHandler_20, (MR_Integer) 1)));
#line 934 "getopt_io.m"
          MR_Box mercury__getopt_io__conv4_Result0_41;
#line 934 "getopt_io.m"
          MR_Box mercury__getopt_io__conv3_NewOptionsSet_21;

#line 934 "getopt_io.m"
          {
#line 934 "getopt_io.m"
            mercury__getopt_io__succeeded = mercury__getopt_io__func_2(((MR_Box) mercury__getopt_io__TrackHandler_20), mercury__getopt_io__Flag_10, ((MR_Box) (mercury__getopt_io__OptionData_11)), ((MR_Box) (mercury__getopt_io__OptionTable0_13)), &mercury__getopt_io__conv4_Result0_41, &mercury__getopt_io__conv3_NewOptionsSet_21);
          }
#line 934 "getopt_io.m"
          if (mercury__getopt_io__succeeded)
#line 934 "getopt_io.m"
            {
#line 934 "getopt_io.m"
              mercury__getopt_io__Result0_41 = ((MR_Word) mercury__getopt_io__conv4_Result0_41);
#line 934 "getopt_io.m"
              mercury__getopt_io__NewOptionsSet_21 = ((MR_Word) mercury__getopt_io__conv3_NewOptionsSet_21);
#line 934 "getopt_io.m"
              mercury__getopt_io__succeeded = MR_TRUE;
#line 934 "getopt_io.m"
            }
#line 939 "getopt_io.m"
          if (mercury__getopt_io__succeeded)
#line 937 "getopt_io.m"
            {
#line 937 "getopt_io.m"
              MR_Word mercury__getopt_io__Set0_4_66 = (MR_Word) mercury__getopt_io__NewOptionsSet_21;
#line 937 "getopt_io.m"
              MR_Word mercury__getopt_io__Set1_5_67 = (MR_Word) mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_22;
#line 937 "getopt_io.m"
              MR_Word mercury__getopt_io__Set_6_68;

#line 101 "set_ordlist.opt"
              {
#line 101 "set_ordlist.opt"
                mercury__list__merge_and_remove_dups_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_48, mercury__getopt_io__Set0_4_66, mercury__getopt_io__Set1_5_67, &mercury__getopt_io__Set_6_68);
              }
#line 100 "set_ordlist.opt"
              *mercury__getopt_io__STATE_VARIABLE_OptionsSet_23 = (MR_Word) mercury__getopt_io__Set_6_68;
#line 938 "getopt_io.m"
              *mercury__getopt_io__Result_14 = mercury__getopt_io__Result0_41;
#line 937 "getopt_io.m"
            }
#line 939 "getopt_io.m"
          else
#line 941 "getopt_io.m"
            {
#line 941 "getopt_io.m"
              MR_Word mercury__getopt_io__V_28_28;
#line 941 "getopt_io.m"
              MR_Word mercury__getopt_io__V_30_30;
#line 941 "getopt_io.m"
              MR_Word mercury__getopt_io__V_31_31 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__getopt_io_scalar_common_1[8]);
#line 941 "getopt_io.m"
              MR_Word mercury__getopt_io__V_33_33 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 941 "getopt_io.m"
              MR_String mercury__getopt_io__ErrorMsg_40;

#line 940 "getopt_io.m"
              {
#line 940 "getopt_io.m"
                mercury__getopt_io__V_30_30 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 940 "getopt_io.m"
                MR_hl_field(MR_mktag(1), mercury__getopt_io__V_30_30, 0) = ((MR_Box) (mercury__getopt_io__Option_9));
#line 940 "getopt_io.m"
                MR_hl_field(MR_mktag(1), mercury__getopt_io__V_30_30, 1) = ((MR_Box) (mercury__getopt_io__V_31_31));
#line 940 "getopt_io.m"
              }
#line 940 "getopt_io.m"
              {
#line 940 "getopt_io.m"
                mercury__getopt_io__V_28_28 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 940 "getopt_io.m"
                MR_hl_field(MR_mktag(1), mercury__getopt_io__V_28_28, 0) = ((MR_Box) ((MR_String) "the handler of option \140"));
#line 940 "getopt_io.m"
                MR_hl_field(MR_mktag(1), mercury__getopt_io__V_28_28, 1) = ((MR_Box) (mercury__getopt_io__V_30_30));
#line 940 "getopt_io.m"
              }
#line 815 "string.opt"
              {
#line 815 "string.opt"
                mercury__getopt_io__ErrorMsg_40 = mercury__string__append_list_1_f_0(mercury__getopt_io__V_28_28);
              }
#line 942 "getopt_io.m"
              {
#line 942 "getopt_io.m"
                MR_Word base;
#line 942 "getopt_io.m"
                base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 942 "getopt_io.m"
                *mercury__getopt_io__Result_14 = base;
#line 942 "getopt_io.m"
                MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_40));
#line 942 "getopt_io.m"
              }
#line 942 "getopt_io.m"
              *mercury__getopt_io__STATE_VARIABLE_OptionsSet_23 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_22;
#line 941 "getopt_io.m"
            }
#line 932 "getopt_io.m"
        }
#line 918 "getopt_io.m"
  }
#line 912 "getopt_io.m"
}

#line 837 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__process_negated_option_7_p_0(
#line 837 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_90,
#line 837 "getopt_io.m"
  MR_String mercury__getopt_io__Option_8,
#line 837 "getopt_io.m"
  MR_Box mercury__getopt_io__Flag_9,
#line 837 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionOps_10,
#line 837 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionTable0_11,
#line 837 "getopt_io.m"
  MR_Word * mercury__getopt_io__Result_12,
#line 837 "getopt_io.m"
  MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_23,
#line 837 "getopt_io.m"
  MR_Word * mercury__getopt_io__STATE_VARIABLE_OptionsSet_24)
#line 837 "getopt_io.m"
{
#line 906 "getopt_io.m"
  {
#line 906 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 906 "getopt_io.m"
    MR_Word mercury__getopt_io__OptionData_14;
#line 844 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_91_91 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 844 "getopt_io.m"
    MR_Box mercury__getopt_io__conv0_OptionData_14;

#line 844 "getopt_io.m"
    {
#line 844 "getopt_io.m"
      mercury__getopt_io__succeeded = mercury__map__search_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_90, mercury__getopt_io__TypeCtorInfo_91_91, mercury__getopt_io__OptionTable0_11, mercury__getopt_io__Flag_9, &mercury__getopt_io__conv0_OptionData_14);
    }
#line 844 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 844 "getopt_io.m"
      {
#line 844 "getopt_io.m"
        mercury__getopt_io__OptionData_14 = ((MR_Word) mercury__getopt_io__conv0_OptionData_14);
#line 844 "getopt_io.m"
        mercury__getopt_io__succeeded = MR_TRUE;
#line 844 "getopt_io.m"
      }
#line 906 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 850 "getopt_io.m"
      if ((mercury__getopt_io__OptionData_14 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 866 "getopt_io.m"
        {
#line 866 "getopt_io.m"
          MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_59_59;
#line 866 "getopt_io.m"
          MR_Word mercury__getopt_io__V_60_60;

#line 867 "getopt_io.m"
          {
#line 867 "getopt_io.m"
            mercury__set__insert_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_90, mercury__getopt_io__Flag_9, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_23, &mercury__getopt_io__STATE_VARIABLE_OptionsSet_59_59);
          }
#line 868 "getopt_io.m"
          mercury__getopt_io__V_60_60 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__getopt_io_scalar_common_8[1]);
#line 868 "getopt_io.m"
          {
#line 868 "getopt_io.m"
            mercury__getopt_io__process_special_8_p_0(mercury__getopt_io__TypeInfo_for_OptionType_90, mercury__getopt_io__Option_8, mercury__getopt_io__Flag_9, mercury__getopt_io__V_60_60, mercury__getopt_io__OptionOps_10, mercury__getopt_io__OptionTable0_11, mercury__getopt_io__Result_12, mercury__getopt_io__STATE_VARIABLE_OptionsSet_59_59, mercury__getopt_io__STATE_VARIABLE_OptionsSet_24);
#line 868 "getopt_io.m"
            return;
          }
#line 866 "getopt_io.m"
        }
#line 850 "getopt_io.m"
      else
#line 850 "getopt_io.m"
        if ((mercury__getopt_io__OptionData_14 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 901 "getopt_io.m"
          {
#line 901 "getopt_io.m"
            MR_String mercury__getopt_io__V_26_26;
#line 901 "getopt_io.m"
            MR_String mercury__getopt_io__ErrorMsg_88;

#line 902 "getopt_io.m"
            {
#line 902 "getopt_io.m"
              mercury__getopt_io__V_26_26 = mercury__string__f_43_43_2_f_0(mercury__getopt_io__Option_8, (MR_String) "\' --only boolean, maybe and accumulating options can be negated");
            }
#line 902 "getopt_io.m"
            {
#line 902 "getopt_io.m"
              mercury__getopt_io__ErrorMsg_88 = mercury__string__f_43_43_2_f_0((MR_String) "cannot negate option \140", mercury__getopt_io__V_26_26);
            }
#line 904 "getopt_io.m"
            {
#line 904 "getopt_io.m"
              MR_Word base;
#line 904 "getopt_io.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 904 "getopt_io.m"
              *mercury__getopt_io__Result_12 = base;
#line 904 "getopt_io.m"
              MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_88));
#line 904 "getopt_io.m"
            }
#line 904 "getopt_io.m"
            *mercury__getopt_io__STATE_VARIABLE_OptionsSet_24 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_23;
#line 901 "getopt_io.m"
          }
#line 850 "getopt_io.m"
        else
#line 850 "getopt_io.m"
          if ((mercury__getopt_io__OptionData_14 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 876 "getopt_io.m"
            {
#line 876 "getopt_io.m"
              MR_String mercury__getopt_io__ErrorMsg_20;
#line 876 "getopt_io.m"
              MR_String mercury__getopt_io__V_51_51;

#line 877 "getopt_io.m"
              {
#line 877 "getopt_io.m"
                mercury__getopt_io__V_51_51 = mercury__string__f_43_43_2_f_0(mercury__getopt_io__Option_8, (MR_String) "\' --only boolean, maybe and accumulating options can be negated");
              }
#line 877 "getopt_io.m"
              {
#line 877 "getopt_io.m"
                mercury__getopt_io__ErrorMsg_20 = mercury__string__f_43_43_2_f_0((MR_String) "cannot negate option \140", mercury__getopt_io__V_51_51);
              }
#line 879 "getopt_io.m"
              {
#line 879 "getopt_io.m"
                MR_Word base;
#line 879 "getopt_io.m"
                base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 879 "getopt_io.m"
                *mercury__getopt_io__Result_12 = base;
#line 879 "getopt_io.m"
                MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_20));
#line 879 "getopt_io.m"
              }
#line 879 "getopt_io.m"
              *mercury__getopt_io__STATE_VARIABLE_OptionsSet_24 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_23;
#line 876 "getopt_io.m"
            }
#line 850 "getopt_io.m"
          else
#line 850 "getopt_io.m"
            if ((mercury__getopt_io__OptionData_14 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 871 "getopt_io.m"
              {
#line 871 "getopt_io.m"
                MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_55_55;
#line 871 "getopt_io.m"
                MR_Word mercury__getopt_io__V_56_56;
#line 871 "getopt_io.m"
                MR_Word mercury__getopt_io__V_58_58;

#line 872 "getopt_io.m"
                {
#line 872 "getopt_io.m"
                  mercury__set__insert_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_90, mercury__getopt_io__Flag_9, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_23, &mercury__getopt_io__STATE_VARIABLE_OptionsSet_55_55);
                }
#line 873 "getopt_io.m"
                mercury__getopt_io__V_58_58 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 873 "getopt_io.m"
                mercury__getopt_io__V_56_56 = (MR_Word) MR_mkword(MR_mktag(3), &mercury__getopt_io_scalar_common_1[3]);
#line 873 "getopt_io.m"
                {
#line 873 "getopt_io.m"
                  mercury__getopt_io__process_special_8_p_0(mercury__getopt_io__TypeInfo_for_OptionType_90, mercury__getopt_io__Option_8, mercury__getopt_io__Flag_9, mercury__getopt_io__V_56_56, mercury__getopt_io__OptionOps_10, mercury__getopt_io__OptionTable0_11, mercury__getopt_io__Result_12, mercury__getopt_io__STATE_VARIABLE_OptionsSet_55_55, mercury__getopt_io__STATE_VARIABLE_OptionsSet_24);
#line 873 "getopt_io.m"
                  return;
                }
#line 871 "getopt_io.m"
              }
#line 850 "getopt_io.m"
            else
#line 850 "getopt_io.m"
              if ((mercury__getopt_io__OptionData_14 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 896 "getopt_io.m"
                {
#line 896 "getopt_io.m"
                  MR_String mercury__getopt_io__V_31_31;
#line 896 "getopt_io.m"
                  MR_String mercury__getopt_io__ErrorMsg_87;

#line 897 "getopt_io.m"
                  {
#line 897 "getopt_io.m"
                    mercury__getopt_io__V_31_31 = mercury__string__f_43_43_2_f_0(mercury__getopt_io__Option_8, (MR_String) "\' --only boolean, maybe and accumulating options can be negated");
                  }
#line 897 "getopt_io.m"
                  {
#line 897 "getopt_io.m"
                    mercury__getopt_io__ErrorMsg_87 = mercury__string__f_43_43_2_f_0((MR_String) "cannot negate option \140", mercury__getopt_io__V_31_31);
                  }
#line 899 "getopt_io.m"
                  {
#line 899 "getopt_io.m"
                    MR_Word base;
#line 899 "getopt_io.m"
                    base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 899 "getopt_io.m"
                    *mercury__getopt_io__Result_12 = base;
#line 899 "getopt_io.m"
                    MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_87));
#line 899 "getopt_io.m"
                  }
#line 899 "getopt_io.m"
                  *mercury__getopt_io__STATE_VARIABLE_OptionsSet_24 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_23;
#line 896 "getopt_io.m"
                }
#line 850 "getopt_io.m"
              else
#line 850 "getopt_io.m"
                if ((mercury__getopt_io__OptionData_14 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 881 "getopt_io.m"
                  {
#line 881 "getopt_io.m"
                    MR_String mercury__getopt_io__V_46_46;
#line 881 "getopt_io.m"
                    MR_String mercury__getopt_io__ErrorMsg_84;

#line 882 "getopt_io.m"
                    {
#line 882 "getopt_io.m"
                      mercury__getopt_io__V_46_46 = mercury__string__f_43_43_2_f_0(mercury__getopt_io__Option_8, (MR_String) "\' --only boolean, maybe and accumulating options can be negated");
                    }
#line 882 "getopt_io.m"
                    {
#line 882 "getopt_io.m"
                      mercury__getopt_io__ErrorMsg_84 = mercury__string__f_43_43_2_f_0((MR_String) "cannot negate option \140", mercury__getopt_io__V_46_46);
                    }
#line 884 "getopt_io.m"
                    {
#line 884 "getopt_io.m"
                      MR_Word base;
#line 884 "getopt_io.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 884 "getopt_io.m"
                      *mercury__getopt_io__Result_12 = base;
#line 884 "getopt_io.m"
                      MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_84));
#line 884 "getopt_io.m"
                    }
#line 884 "getopt_io.m"
                    *mercury__getopt_io__STATE_VARIABLE_OptionsSet_24 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_23;
#line 881 "getopt_io.m"
                  }
#line 850 "getopt_io.m"
                else
#line 850 "getopt_io.m"
                  if (((MR_tag((MR_Word) mercury__getopt_io__OptionData_14)) == (MR_mktag((MR_Integer) 1))))
#line 846 "getopt_io.m"
                    {
#line 846 "getopt_io.m"
                      MR_Word mercury__getopt_io__TypeCtorInfo_92_92;
#line 846 "getopt_io.m"
                      MR_Word mercury__getopt_io__OptionTable_16;
#line 846 "getopt_io.m"
                      MR_Word mercury__getopt_io__V_73_73;

#line 847 "getopt_io.m"
                      {
#line 847 "getopt_io.m"
                        mercury__set__insert_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_90, mercury__getopt_io__Flag_9, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_23, mercury__getopt_io__STATE_VARIABLE_OptionsSet_24);
                      }
#line 848 "getopt_io.m"
                      mercury__getopt_io__V_73_73 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__getopt_io_scalar_common_8[1]);
#line 7645 "getopt_io.c"
                      mercury__getopt_io__TypeCtorInfo_92_92 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 848 "getopt_io.m"
                      {
#line 848 "getopt_io.m"
                        mercury__map__set_4_p_0(mercury__getopt_io__TypeInfo_for_OptionType_90, mercury__getopt_io__TypeCtorInfo_92_92, mercury__getopt_io__Flag_9, ((MR_Box) (mercury__getopt_io__V_73_73)), mercury__getopt_io__OptionTable0_11, &mercury__getopt_io__OptionTable_16);
                      }
#line 849 "getopt_io.m"
                      {
#line 849 "getopt_io.m"
                        MR_Word base;
#line 849 "getopt_io.m"
                        base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 849 "getopt_io.m"
                        *mercury__getopt_io__Result_12 = base;
#line 849 "getopt_io.m"
                        MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (mercury__getopt_io__OptionTable_16));
#line 849 "getopt_io.m"
                      }
#line 846 "getopt_io.m"
                    }
#line 850 "getopt_io.m"
                  else
#line 850 "getopt_io.m"
                    if (((MR_tag((MR_Word) mercury__getopt_io__OptionData_14)) == (MR_mktag((MR_Integer) 2))))
#line 886 "getopt_io.m"
                      {
#line 886 "getopt_io.m"
                        MR_String mercury__getopt_io__V_41_41;
#line 886 "getopt_io.m"
                        MR_String mercury__getopt_io__ErrorMsg_85;

#line 887 "getopt_io.m"
                        {
#line 887 "getopt_io.m"
                          mercury__getopt_io__V_41_41 = mercury__string__f_43_43_2_f_0(mercury__getopt_io__Option_8, (MR_String) "\' --only boolean, maybe and accumulating options can be negated");
                        }
#line 887 "getopt_io.m"
                        {
#line 887 "getopt_io.m"
                          mercury__getopt_io__ErrorMsg_85 = mercury__string__f_43_43_2_f_0((MR_String) "cannot negate option \140", mercury__getopt_io__V_41_41);
                        }
#line 889 "getopt_io.m"
                        {
#line 889 "getopt_io.m"
                          MR_Word base;
#line 889 "getopt_io.m"
                          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 889 "getopt_io.m"
                          *mercury__getopt_io__Result_12 = base;
#line 889 "getopt_io.m"
                          MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_85));
#line 889 "getopt_io.m"
                        }
#line 889 "getopt_io.m"
                        *mercury__getopt_io__STATE_VARIABLE_OptionsSet_24 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_23;
#line 886 "getopt_io.m"
                      }
#line 850 "getopt_io.m"
                    else
#line 850 "getopt_io.m"
                      if (((((MR_tag((MR_Word) mercury__getopt_io__OptionData_14)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__OptionData_14, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 861 "getopt_io.m"
                        {
#line 861 "getopt_io.m"
                          MR_Word mercury__getopt_io__TypeCtorInfo_95_95;
#line 861 "getopt_io.m"
                          MR_Word mercury__getopt_io__V_64_64;
#line 861 "getopt_io.m"
                          MR_Word mercury__getopt_io__V_65_65;
#line 861 "getopt_io.m"
                          MR_Word mercury__getopt_io__OptionTable_83;

#line 862 "getopt_io.m"
                          {
#line 862 "getopt_io.m"
                            mercury__set__insert_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_90, mercury__getopt_io__Flag_9, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_23, mercury__getopt_io__STATE_VARIABLE_OptionsSet_24);
                          }
#line 863 "getopt_io.m"
                          mercury__getopt_io__V_65_65 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 863 "getopt_io.m"
                          mercury__getopt_io__V_64_64 = (MR_Word) MR_mkword(MR_mktag(3), &mercury__getopt_io_scalar_common_1[4]);
#line 7727 "getopt_io.c"
                          mercury__getopt_io__TypeCtorInfo_95_95 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 863 "getopt_io.m"
                          {
#line 863 "getopt_io.m"
                            mercury__map__set_4_p_0(mercury__getopt_io__TypeInfo_for_OptionType_90, mercury__getopt_io__TypeCtorInfo_95_95, mercury__getopt_io__Flag_9, ((MR_Box) (mercury__getopt_io__V_64_64)), mercury__getopt_io__OptionTable0_11, &mercury__getopt_io__OptionTable_83);
                          }
#line 864 "getopt_io.m"
                          {
#line 864 "getopt_io.m"
                            MR_Word base;
#line 864 "getopt_io.m"
                            base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 864 "getopt_io.m"
                            *mercury__getopt_io__Result_12 = base;
#line 864 "getopt_io.m"
                            MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (mercury__getopt_io__OptionTable_83));
#line 864 "getopt_io.m"
                          }
#line 861 "getopt_io.m"
                        }
#line 850 "getopt_io.m"
                      else
#line 850 "getopt_io.m"
                        if (((((MR_tag((MR_Word) mercury__getopt_io__OptionData_14)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__OptionData_14, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 851 "getopt_io.m"
                          {
#line 851 "getopt_io.m"
                            MR_Word mercury__getopt_io__TypeCtorInfo_93_93;
#line 851 "getopt_io.m"
                            MR_Word mercury__getopt_io__V_70_70;
#line 851 "getopt_io.m"
                            MR_Word mercury__getopt_io__V_71_71;
#line 851 "getopt_io.m"
                            MR_Word mercury__getopt_io__OptionTable_81;

#line 852 "getopt_io.m"
                            {
#line 852 "getopt_io.m"
                              mercury__set__insert_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_90, mercury__getopt_io__Flag_9, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_23, mercury__getopt_io__STATE_VARIABLE_OptionsSet_24);
                            }
#line 853 "getopt_io.m"
                            mercury__getopt_io__V_71_71 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 853 "getopt_io.m"
                            mercury__getopt_io__V_70_70 = (MR_Word) MR_mkword(MR_mktag(3), &mercury__getopt_io_scalar_common_1[5]);
#line 7772 "getopt_io.c"
                            mercury__getopt_io__TypeCtorInfo_93_93 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 853 "getopt_io.m"
                            {
#line 853 "getopt_io.m"
                              mercury__map__set_4_p_0(mercury__getopt_io__TypeInfo_for_OptionType_90, mercury__getopt_io__TypeCtorInfo_93_93, mercury__getopt_io__Flag_9, ((MR_Box) (mercury__getopt_io__V_70_70)), mercury__getopt_io__OptionTable0_11, &mercury__getopt_io__OptionTable_81);
                            }
#line 854 "getopt_io.m"
                            {
#line 854 "getopt_io.m"
                              MR_Word base;
#line 854 "getopt_io.m"
                              base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 854 "getopt_io.m"
                              *mercury__getopt_io__Result_12 = base;
#line 854 "getopt_io.m"
                              MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (mercury__getopt_io__OptionTable_81));
#line 854 "getopt_io.m"
                            }
#line 851 "getopt_io.m"
                          }
#line 850 "getopt_io.m"
                        else
#line 850 "getopt_io.m"
                          if (((((MR_tag((MR_Word) mercury__getopt_io__OptionData_14)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__OptionData_14, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 856 "getopt_io.m"
                            {
#line 856 "getopt_io.m"
                              MR_Word mercury__getopt_io__TypeCtorInfo_94_94;
#line 856 "getopt_io.m"
                              MR_Word mercury__getopt_io__V_67_67;
#line 856 "getopt_io.m"
                              MR_Word mercury__getopt_io__V_68_68;
#line 856 "getopt_io.m"
                              MR_Word mercury__getopt_io__OptionTable_82;

#line 857 "getopt_io.m"
                              {
#line 857 "getopt_io.m"
                                mercury__set__insert_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_90, mercury__getopt_io__Flag_9, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_23, mercury__getopt_io__STATE_VARIABLE_OptionsSet_24);
                              }
#line 858 "getopt_io.m"
                              mercury__getopt_io__V_68_68 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 858 "getopt_io.m"
                              mercury__getopt_io__V_67_67 = (MR_Word) MR_mkword(MR_mktag(3), &mercury__getopt_io_scalar_common_1[6]);
#line 7817 "getopt_io.c"
                              mercury__getopt_io__TypeCtorInfo_94_94 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 858 "getopt_io.m"
                              {
#line 858 "getopt_io.m"
                                mercury__map__set_4_p_0(mercury__getopt_io__TypeInfo_for_OptionType_90, mercury__getopt_io__TypeCtorInfo_94_94, mercury__getopt_io__Flag_9, ((MR_Box) (mercury__getopt_io__V_67_67)), mercury__getopt_io__OptionTable0_11, &mercury__getopt_io__OptionTable_82);
                              }
#line 859 "getopt_io.m"
                              {
#line 859 "getopt_io.m"
                                MR_Word base;
#line 859 "getopt_io.m"
                                base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 859 "getopt_io.m"
                                *mercury__getopt_io__Result_12 = base;
#line 859 "getopt_io.m"
                                MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (mercury__getopt_io__OptionTable_82));
#line 859 "getopt_io.m"
                              }
#line 856 "getopt_io.m"
                            }
#line 850 "getopt_io.m"
                          else
#line 891 "getopt_io.m"
                            {
#line 891 "getopt_io.m"
                              MR_String mercury__getopt_io__V_36_36;
#line 891 "getopt_io.m"
                              MR_String mercury__getopt_io__ErrorMsg_86;

#line 892 "getopt_io.m"
                              {
#line 892 "getopt_io.m"
                                mercury__getopt_io__V_36_36 = mercury__string__f_43_43_2_f_0(mercury__getopt_io__Option_8, (MR_String) "\' --only boolean, maybe and accumulating options can be negated");
                              }
#line 892 "getopt_io.m"
                              {
#line 892 "getopt_io.m"
                                mercury__getopt_io__ErrorMsg_86 = mercury__string__f_43_43_2_f_0((MR_String) "cannot negate option \140", mercury__getopt_io__V_36_36);
                              }
#line 894 "getopt_io.m"
                              {
#line 894 "getopt_io.m"
                                MR_Word base;
#line 894 "getopt_io.m"
                                base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 894 "getopt_io.m"
                                *mercury__getopt_io__Result_12 = base;
#line 894 "getopt_io.m"
                                MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_86));
#line 894 "getopt_io.m"
                              }
#line 894 "getopt_io.m"
                              *mercury__getopt_io__STATE_VARIABLE_OptionsSet_24 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_23;
#line 891 "getopt_io.m"
                            }
#line 906 "getopt_io.m"
    else
#line 908 "getopt_io.m"
      {
#line 908 "getopt_io.m"
        MR_Word mercury__getopt_io__V_75_75;
#line 908 "getopt_io.m"
        MR_Word mercury__getopt_io__V_77_77;
#line 908 "getopt_io.m"
        MR_Word mercury__getopt_io__V_78_78 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__getopt_io_scalar_common_1[7]);
#line 908 "getopt_io.m"
        MR_Word mercury__getopt_io__V_80_80 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 908 "getopt_io.m"
        MR_String mercury__getopt_io__ErrorMsg_89;

#line 907 "getopt_io.m"
        {
#line 907 "getopt_io.m"
          mercury__getopt_io__V_77_77 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 907 "getopt_io.m"
          MR_hl_field(MR_mktag(1), mercury__getopt_io__V_77_77, 0) = ((MR_Box) (mercury__getopt_io__Option_8));
#line 907 "getopt_io.m"
          MR_hl_field(MR_mktag(1), mercury__getopt_io__V_77_77, 1) = ((MR_Box) (mercury__getopt_io__V_78_78));
#line 907 "getopt_io.m"
        }
#line 907 "getopt_io.m"
        {
#line 907 "getopt_io.m"
          mercury__getopt_io__V_75_75 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 907 "getopt_io.m"
          MR_hl_field(MR_mktag(1), mercury__getopt_io__V_75_75, 0) = ((MR_Box) ((MR_String) "unknown type for option \140"));
#line 907 "getopt_io.m"
          MR_hl_field(MR_mktag(1), mercury__getopt_io__V_75_75, 1) = ((MR_Box) (mercury__getopt_io__V_77_77));
#line 907 "getopt_io.m"
        }
#line 815 "string.opt"
        {
#line 815 "string.opt"
          mercury__getopt_io__ErrorMsg_89 = mercury__string__append_list_1_f_0(mercury__getopt_io__V_75_75);
        }
#line 909 "getopt_io.m"
        {
#line 909 "getopt_io.m"
          MR_Word base;
#line 909 "getopt_io.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 909 "getopt_io.m"
          *mercury__getopt_io__Result_12 = base;
#line 909 "getopt_io.m"
          MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_89));
#line 909 "getopt_io.m"
        }
#line 909 "getopt_io.m"
        *mercury__getopt_io__STATE_VARIABLE_OptionsSet_24 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_23;
#line 908 "getopt_io.m"
      }
#line 906 "getopt_io.m"
  }
#line 837 "getopt_io.m"
}

#line 658 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__process_option_11_p_0(
#line 658 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_287,
#line 658 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__1_1,
#line 658 "getopt_io.m"
  MR_String mercury__getopt_io__HeadVar__2_2,
#line 658 "getopt_io.m"
  MR_Box mercury__getopt_io__HeadVar__3_3,
#line 658 "getopt_io.m"
  MR_Word mercury__getopt_io__MaybeArg_4,
#line 658 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__5_5,
#line 658 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__6_6,
#line 658 "getopt_io.m"
  MR_Word * mercury__getopt_io__Result_7,
#line 658 "getopt_io.m"
  MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8,
#line 658 "getopt_io.m"
  MR_Word * mercury__getopt_io__STATE_VARIABLE_OptionsSet_9)
#line 658 "getopt_io.m"
{
#line 665 "getopt_io.m"
  {
#line 665 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;

#line 665 "getopt_io.m"
    if ((mercury__getopt_io__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 752 "getopt_io.m"
      {
#line 752 "getopt_io.m"
        MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_181_181;

#line 753 "getopt_io.m"
        {
#line 753 "getopt_io.m"
          mercury__set__insert_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__HeadVar__3_3, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8, &mercury__getopt_io__STATE_VARIABLE_OptionsSet_181_181);
        }
#line 758 "getopt_io.m"
        if ((mercury__getopt_io__MaybeArg_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 759 "getopt_io.m"
          {
#line 759 "getopt_io.m"
            MR_Word mercury__getopt_io__V_182_182 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__getopt_io_scalar_common_8[0]);

#line 760 "getopt_io.m"
            {
#line 760 "getopt_io.m"
              mercury__getopt_io__process_special_8_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__HeadVar__2_2, mercury__getopt_io__HeadVar__3_3, mercury__getopt_io__V_182_182, mercury__getopt_io__HeadVar__5_5, mercury__getopt_io__HeadVar__6_6, mercury__getopt_io__Result_7, mercury__getopt_io__STATE_VARIABLE_OptionsSet_181_181, mercury__getopt_io__STATE_VARIABLE_OptionsSet_9);
#line 760 "getopt_io.m"
              return;
            }
#line 759 "getopt_io.m"
          }
#line 758 "getopt_io.m"
        else
#line 755 "getopt_io.m"
          {
#line 755 "getopt_io.m"
            MR_Word mercury__getopt_io__V_185_185 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__getopt_io_scalar_common_8[1]);

#line 756 "getopt_io.m"
            {
#line 756 "getopt_io.m"
              mercury__getopt_io__process_special_8_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__HeadVar__2_2, mercury__getopt_io__HeadVar__3_3, mercury__getopt_io__V_185_185, mercury__getopt_io__HeadVar__5_5, mercury__getopt_io__HeadVar__6_6, mercury__getopt_io__Result_7, mercury__getopt_io__STATE_VARIABLE_OptionsSet_181_181, mercury__getopt_io__STATE_VARIABLE_OptionsSet_9);
#line 756 "getopt_io.m"
              return;
            }
#line 755 "getopt_io.m"
          }
#line 752 "getopt_io.m"
      }
#line 665 "getopt_io.m"
    else
#line 665 "getopt_io.m"
      if ((mercury__getopt_io__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 832 "getopt_io.m"
        if ((mercury__getopt_io__MaybeArg_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 833 "getopt_io.m"
          {
#line 834 "getopt_io.m"
            {
#line 834 "getopt_io.m"
              mercury__require__error_1_p_0((MR_String) "file_special argument expected in getopt_io.process_option");
#line 834 "getopt_io.m"
              return;
            }
#line 833 "getopt_io.m"
          }
#line 832 "getopt_io.m"
        else
#line 803 "getopt_io.m"
          {
#line 803 "getopt_io.m"
            MR_String mercury__getopt_io__FileName_249 = ((MR_String) (MR_hl_field(MR_mktag(1), mercury__getopt_io__MaybeArg_4, (MR_Integer) 0)));
#line 803 "getopt_io.m"
            MR_Word mercury__getopt_io__SeeRes_250;

#line 804 "getopt_io.m"
            {
#line 804 "getopt_io.m"
              mercury__io__see_4_p_0(mercury__getopt_io__FileName_249, &mercury__getopt_io__SeeRes_250);
            }
#line 827 "getopt_io.m"
            if ((mercury__getopt_io__SeeRes_250 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 806 "getopt_io.m"
              {
#line 806 "getopt_io.m"
                MR_Word mercury__getopt_io__ReadRes_251;

#line 807 "getopt_io.m"
                {
#line 807 "getopt_io.m"
                  mercury__io__read_file_as_string_3_p_0(&mercury__getopt_io__ReadRes_251);
                }
#line 821 "getopt_io.m"
                if (((MR_tag((MR_Word) mercury__getopt_io__ReadRes_251)) == (MR_mktag((MR_Integer) 1))))
#line 822 "getopt_io.m"
                  {
#line 822 "getopt_io.m"
                    MR_Word mercury__getopt_io__Error_260 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__ReadRes_251, (MR_Integer) 1)));
#line 822 "getopt_io.m"
                    MR_String mercury__getopt_io__Msg_261;
#line 822 "getopt_io.m"
                    MR_String mercury__getopt_io__V_274_274;
#line 822 "getopt_io.m"
                    MR_String mercury__getopt_io__V_276_276;
#line 822 "getopt_io.m"
                    MR_String mercury__getopt_io__V_277_277;
#line 822 "getopt_io.m"
                    MR_String mercury__getopt_io__V_259_259 = ((MR_String) (MR_hl_field(MR_mktag(1), mercury__getopt_io__ReadRes_251, (MR_Integer) 0)));

#line 823 "getopt_io.m"
                    {
#line 823 "getopt_io.m"
                      mercury__io__error_message_2_p_0(mercury__getopt_io__Error_260, &mercury__getopt_io__Msg_261);
                    }
#line 824 "getopt_io.m"
                    {
#line 824 "getopt_io.m"
                      mercury__getopt_io__V_277_277 = mercury__string__f_43_43_2_f_0((MR_String) ": ", mercury__getopt_io__Msg_261);
                    }
#line 824 "getopt_io.m"
                    {
#line 824 "getopt_io.m"
                      mercury__getopt_io__V_276_276 = mercury__string__f_43_43_2_f_0(mercury__getopt_io__FileName_249, mercury__getopt_io__V_277_277);
                    }
#line 824 "getopt_io.m"
                    {
#line 824 "getopt_io.m"
                      mercury__getopt_io__V_274_274 = mercury__string__f_43_43_2_f_0((MR_String) "cannot read ", mercury__getopt_io__V_276_276);
                    }
#line 824 "getopt_io.m"
                    {
#line 824 "getopt_io.m"
                      MR_Word base;
#line 824 "getopt_io.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 824 "getopt_io.m"
                      *mercury__getopt_io__Result_7 = base;
#line 824 "getopt_io.m"
                      MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__V_274_274));
#line 824 "getopt_io.m"
                    }
#line 824 "getopt_io.m"
                    *mercury__getopt_io__STATE_VARIABLE_OptionsSet_9 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8;
#line 822 "getopt_io.m"
                  }
#line 821 "getopt_io.m"
                else
#line 809 "getopt_io.m"
                  {
#line 809 "getopt_io.m"
                    MR_String mercury__getopt_io__Contents_252 = ((MR_String) (MR_hl_field(MR_mktag(0), mercury__getopt_io__ReadRes_251, (MR_Integer) 0)));
#line 809 "getopt_io.m"
                    MR_Word mercury__getopt_io__Words_253;
#line 809 "getopt_io.m"
                    MR_Word mercury__getopt_io__Args_254;
#line 809 "getopt_io.m"
                    MR_Word mercury__getopt_io__Result0_256;
#line 809 "getopt_io.m"
                    MR_Word mercury__getopt_io__V_279_279;
#line 811 "getopt_io.m"
                    MR_Word mercury__getopt_io___OptionArgs_255;

#line 810 "getopt_io.m"
                    {
#line 810 "getopt_io.m"
                      mercury__getopt_io__Words_253 = mercury__string__words_1_f_0(mercury__getopt_io__Contents_252);
                    }
#line 811 "getopt_io.m"
                    mercury__getopt_io__V_279_279 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 811 "getopt_io.m"
                    {
#line 811 "getopt_io.m"
                      mercury__getopt_io__process_arguments_11_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__Words_253, &mercury__getopt_io__Args_254, mercury__getopt_io__HeadVar__5_5, mercury__getopt_io__V_279_279, &mercury__getopt_io___OptionArgs_255, mercury__getopt_io__HeadVar__6_6, &mercury__getopt_io__Result0_256, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8, mercury__getopt_io__STATE_VARIABLE_OptionsSet_9);
                    }
#line 816 "getopt_io.m"
                    if ((mercury__getopt_io__Args_254 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 815 "getopt_io.m"
                      *mercury__getopt_io__Result_7 = mercury__getopt_io__Result0_256;
#line 816 "getopt_io.m"
                    else
#line 817 "getopt_io.m"
                      {
#line 817 "getopt_io.m"
                        MR_String mercury__getopt_io__V_282_282;

#line 818 "getopt_io.m"
                        {
#line 818 "getopt_io.m"
                          mercury__getopt_io__V_282_282 = mercury__string__f_43_43_2_f_0(mercury__getopt_io__FileName_249, (MR_String) " contains non-option arguments");
                        }
#line 818 "getopt_io.m"
                        {
#line 818 "getopt_io.m"
                          MR_Word base;
#line 818 "getopt_io.m"
                          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 818 "getopt_io.m"
                          *mercury__getopt_io__Result_7 = base;
#line 818 "getopt_io.m"
                          MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__V_282_282));
#line 818 "getopt_io.m"
                        }
#line 817 "getopt_io.m"
                      }
#line 809 "getopt_io.m"
                  }
#line 826 "getopt_io.m"
                {
#line 826 "getopt_io.m"
                  mercury__io__seen_2_p_0();
#line 826 "getopt_io.m"
                  return;
                }
#line 806 "getopt_io.m"
              }
#line 827 "getopt_io.m"
            else
#line 828 "getopt_io.m"
              {
#line 828 "getopt_io.m"
                MR_String mercury__getopt_io__V_268_268;
#line 828 "getopt_io.m"
                MR_String mercury__getopt_io__V_270_270;
#line 828 "getopt_io.m"
                MR_String mercury__getopt_io__V_271_271;
#line 828 "getopt_io.m"
                MR_Word mercury__getopt_io__Error_285 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__SeeRes_250, (MR_Integer) 0)));
#line 828 "getopt_io.m"
                MR_String mercury__getopt_io__Msg_286;

#line 829 "getopt_io.m"
                {
#line 829 "getopt_io.m"
                  mercury__io__error_message_2_p_0(mercury__getopt_io__Error_285, &mercury__getopt_io__Msg_286);
                }
#line 830 "getopt_io.m"
                {
#line 830 "getopt_io.m"
                  mercury__getopt_io__V_271_271 = mercury__string__f_43_43_2_f_0((MR_String) ": ", mercury__getopt_io__Msg_286);
                }
#line 830 "getopt_io.m"
                {
#line 830 "getopt_io.m"
                  mercury__getopt_io__V_270_270 = mercury__string__f_43_43_2_f_0(mercury__getopt_io__FileName_249, mercury__getopt_io__V_271_271);
                }
#line 830 "getopt_io.m"
                {
#line 830 "getopt_io.m"
                  mercury__getopt_io__V_268_268 = mercury__string__f_43_43_2_f_0((MR_String) "cannot open ", mercury__getopt_io__V_270_270);
                }
#line 830 "getopt_io.m"
                {
#line 830 "getopt_io.m"
                  MR_Word base;
#line 830 "getopt_io.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 830 "getopt_io.m"
                  *mercury__getopt_io__Result_7 = base;
#line 830 "getopt_io.m"
                  MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__V_268_268));
#line 830 "getopt_io.m"
                }
#line 830 "getopt_io.m"
                *mercury__getopt_io__STATE_VARIABLE_OptionsSet_9 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8;
#line 828 "getopt_io.m"
              }
#line 803 "getopt_io.m"
          }
#line 665 "getopt_io.m"
      else
#line 665 "getopt_io.m"
        if ((mercury__getopt_io__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 764 "getopt_io.m"
          {
#line 764 "getopt_io.m"
            MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_202_202;

#line 765 "getopt_io.m"
            {
#line 765 "getopt_io.m"
              mercury__set__insert_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__HeadVar__3_3, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8, &mercury__getopt_io__STATE_VARIABLE_OptionsSet_202_202);
            }
#line 774 "getopt_io.m"
            if ((mercury__getopt_io__MaybeArg_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 775 "getopt_io.m"
              {
#line 776 "getopt_io.m"
                {
#line 776 "getopt_io.m"
                  mercury__require__error_1_p_0((MR_String) "int_special argument expected in getopt_io.process_option");
#line 776 "getopt_io.m"
                  return;
                }
#line 775 "getopt_io.m"
              }
#line 774 "getopt_io.m"
            else
#line 767 "getopt_io.m"
              {
#line 767 "getopt_io.m"
                MR_String mercury__getopt_io__Arg_196 = ((MR_String) (MR_hl_field(MR_mktag(1), mercury__getopt_io__MaybeArg_4, (MR_Integer) 0)));
#line 771 "getopt_io.m"
                MR_Integer mercury__getopt_io__IntArg_197;

#line 768 "getopt_io.m"
                {
#line 768 "getopt_io.m"
                  mercury__getopt_io__succeeded = mercury__string__to_int_2_p_0(mercury__getopt_io__Arg_196, &mercury__getopt_io__IntArg_197);
                }
#line 771 "getopt_io.m"
                if (mercury__getopt_io__succeeded)
#line 769 "getopt_io.m"
                  {
#line 769 "getopt_io.m"
                    MR_Word mercury__getopt_io__V_204_204;

#line 769 "getopt_io.m"
                    {
#line 769 "getopt_io.m"
                      mercury__getopt_io__V_204_204 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 769 "getopt_io.m"
                      MR_hl_field(MR_mktag(2), mercury__getopt_io__V_204_204, 0) = ((MR_Box) (mercury__getopt_io__IntArg_197));
#line 769 "getopt_io.m"
                    }
#line 769 "getopt_io.m"
                    {
#line 769 "getopt_io.m"
                      mercury__getopt_io__process_special_8_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__HeadVar__2_2, mercury__getopt_io__HeadVar__3_3, mercury__getopt_io__V_204_204, mercury__getopt_io__HeadVar__5_5, mercury__getopt_io__HeadVar__6_6, mercury__getopt_io__Result_7, mercury__getopt_io__STATE_VARIABLE_OptionsSet_202_202, mercury__getopt_io__STATE_VARIABLE_OptionsSet_9);
#line 769 "getopt_io.m"
                      return;
                    }
#line 769 "getopt_io.m"
                  }
#line 771 "getopt_io.m"
                else
#line 772 "getopt_io.m"
                  {
#line 772 "getopt_io.m"
                    {
#line 772 "getopt_io.m"
                      mercury__getopt_io__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_110_117_109_101_114_105_99_95_97_114_103_117_109_101_110_116_95_95_91_49_93_95_48_3_p_0(mercury__getopt_io__HeadVar__2_2, mercury__getopt_io__Arg_196, mercury__getopt_io__Result_7);
                    }
#line 772 "getopt_io.m"
                    *mercury__getopt_io__STATE_VARIABLE_OptionsSet_9 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_202_202;
#line 772 "getopt_io.m"
                  }
#line 767 "getopt_io.m"
              }
#line 764 "getopt_io.m"
          }
#line 665 "getopt_io.m"
        else
#line 665 "getopt_io.m"
          if ((mercury__getopt_io__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 795 "getopt_io.m"
            if ((mercury__getopt_io__MaybeArg_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 796 "getopt_io.m"
              {
#line 797 "getopt_io.m"
                {
#line 797 "getopt_io.m"
                  mercury__require__error_1_p_0((MR_String) "maybe_string_special argument expected in getopt_io.process_option");
#line 797 "getopt_io.m"
                  return;
                }
#line 796 "getopt_io.m"
              }
#line 795 "getopt_io.m"
            else
#line 792 "getopt_io.m"
              {
#line 792 "getopt_io.m"
                MR_Word mercury__getopt_io__V_239_239;

#line 793 "getopt_io.m"
                {
#line 793 "getopt_io.m"
                  mercury__getopt_io__V_239_239 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 793 "getopt_io.m"
                  MR_hl_field(MR_mktag(3), mercury__getopt_io__V_239_239, 0) = ((MR_Box) (MR_Word) ((MR_Integer) 1));
#line 793 "getopt_io.m"
                  MR_hl_field(MR_mktag(3), mercury__getopt_io__V_239_239, 1) = ((MR_Box) (mercury__getopt_io__MaybeArg_4));
#line 793 "getopt_io.m"
                }
#line 793 "getopt_io.m"
                {
#line 793 "getopt_io.m"
                  mercury__getopt_io__process_special_8_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__HeadVar__2_2, mercury__getopt_io__HeadVar__3_3, mercury__getopt_io__V_239_239, mercury__getopt_io__HeadVar__5_5, mercury__getopt_io__HeadVar__6_6, mercury__getopt_io__Result_7, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8, mercury__getopt_io__STATE_VARIABLE_OptionsSet_9);
#line 793 "getopt_io.m"
                  return;
                }
#line 792 "getopt_io.m"
              }
#line 665 "getopt_io.m"
          else
#line 665 "getopt_io.m"
            if ((mercury__getopt_io__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 741 "getopt_io.m"
              {
#line 741 "getopt_io.m"
                MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_164_164;

#line 742 "getopt_io.m"
                {
#line 742 "getopt_io.m"
                  mercury__set__insert_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__HeadVar__3_3, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8, &mercury__getopt_io__STATE_VARIABLE_OptionsSet_164_164);
                }
#line 746 "getopt_io.m"
                if ((mercury__getopt_io__MaybeArg_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 747 "getopt_io.m"
                  {
#line 747 "getopt_io.m"
                    MR_Word mercury__getopt_io__V_165_165 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 748 "getopt_io.m"
                    {
#line 748 "getopt_io.m"
                      mercury__getopt_io__process_special_8_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__HeadVar__2_2, mercury__getopt_io__HeadVar__3_3, mercury__getopt_io__V_165_165, mercury__getopt_io__HeadVar__5_5, mercury__getopt_io__HeadVar__6_6, mercury__getopt_io__Result_7, mercury__getopt_io__STATE_VARIABLE_OptionsSet_164_164, mercury__getopt_io__STATE_VARIABLE_OptionsSet_9);
#line 748 "getopt_io.m"
                      return;
                    }
#line 747 "getopt_io.m"
                  }
#line 746 "getopt_io.m"
                else
#line 744 "getopt_io.m"
                  {
#line 745 "getopt_io.m"
                    {
#line 745 "getopt_io.m"
                      mercury__require__error_1_p_0((MR_String) "no special argument expected in getopt_io.process_option");
#line 745 "getopt_io.m"
                      return;
                    }
#line 744 "getopt_io.m"
                  }
#line 741 "getopt_io.m"
              }
#line 665 "getopt_io.m"
            else
#line 665 "getopt_io.m"
              if ((mercury__getopt_io__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 779 "getopt_io.m"
                {
#line 779 "getopt_io.m"
                  MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_219_219;

#line 780 "getopt_io.m"
                  {
#line 780 "getopt_io.m"
                    mercury__set__insert_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__HeadVar__3_3, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8, &mercury__getopt_io__STATE_VARIABLE_OptionsSet_219_219);
                  }
#line 785 "getopt_io.m"
                  if ((mercury__getopt_io__MaybeArg_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 786 "getopt_io.m"
                    {
#line 787 "getopt_io.m"
                      {
#line 787 "getopt_io.m"
                        mercury__require__error_1_p_0((MR_String) "string_special argument expected in getopt_io.process_option");
#line 787 "getopt_io.m"
                        return;
                      }
#line 786 "getopt_io.m"
                    }
#line 785 "getopt_io.m"
                  else
#line 782 "getopt_io.m"
                    {
#line 782 "getopt_io.m"
                      MR_String mercury__getopt_io__Arg_214 = ((MR_String) (MR_hl_field(MR_mktag(1), mercury__getopt_io__MaybeArg_4, (MR_Integer) 0)));
#line 782 "getopt_io.m"
                      MR_Word mercury__getopt_io__V_221_221;

#line 783 "getopt_io.m"
                      {
#line 783 "getopt_io.m"
                        mercury__getopt_io__V_221_221 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 783 "getopt_io.m"
                        MR_hl_field(MR_mktag(3), mercury__getopt_io__V_221_221, 0) = ((MR_Box) (MR_Word) ((MR_Integer) 0));
#line 783 "getopt_io.m"
                        MR_hl_field(MR_mktag(3), mercury__getopt_io__V_221_221, 1) = ((MR_Box) (mercury__getopt_io__Arg_214));
#line 783 "getopt_io.m"
                      }
#line 783 "getopt_io.m"
                      {
#line 783 "getopt_io.m"
                        mercury__getopt_io__process_special_8_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__HeadVar__2_2, mercury__getopt_io__HeadVar__3_3, mercury__getopt_io__V_221_221, mercury__getopt_io__HeadVar__5_5, mercury__getopt_io__HeadVar__6_6, mercury__getopt_io__Result_7, mercury__getopt_io__STATE_VARIABLE_OptionsSet_219_219, mercury__getopt_io__STATE_VARIABLE_OptionsSet_9);
#line 783 "getopt_io.m"
                        return;
                      }
#line 782 "getopt_io.m"
                    }
#line 779 "getopt_io.m"
                }
#line 665 "getopt_io.m"
              else
#line 665 "getopt_io.m"
                if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1))))
#line 665 "getopt_io.m"
                  {
#line 666 "getopt_io.m"
                    {
#line 666 "getopt_io.m"
                      mercury__set__insert_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__HeadVar__3_3, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8, mercury__getopt_io__STATE_VARIABLE_OptionsSet_9);
                    }
#line 671 "getopt_io.m"
                    if ((mercury__getopt_io__MaybeArg_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 672 "getopt_io.m"
                      {
#line 672 "getopt_io.m"
                        MR_Word mercury__getopt_io__TypeCtorInfo_289_289 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 672 "getopt_io.m"
                        MR_Word mercury__getopt_io__V_28_28 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__getopt_io_scalar_common_8[0]);
#line 672 "getopt_io.m"
                        MR_Word mercury__getopt_io__STATE_VARIABLE_OptionTable_32_34;

#line 673 "getopt_io.m"
                        {
#line 673 "getopt_io.m"
                          mercury__map__set_4_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__TypeCtorInfo_289_289, mercury__getopt_io__HeadVar__3_3, ((MR_Box) (mercury__getopt_io__V_28_28)), mercury__getopt_io__HeadVar__6_6, &mercury__getopt_io__STATE_VARIABLE_OptionTable_32_34);
                        }
#line 674 "getopt_io.m"
                        {
#line 674 "getopt_io.m"
                          MR_Word base;
#line 674 "getopt_io.m"
                          base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 674 "getopt_io.m"
                          *mercury__getopt_io__Result_7 = base;
#line 674 "getopt_io.m"
                          MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (mercury__getopt_io__STATE_VARIABLE_OptionTable_32_34));
#line 674 "getopt_io.m"
                        }
#line 672 "getopt_io.m"
                      }
#line 671 "getopt_io.m"
                    else
#line 668 "getopt_io.m"
                      {
#line 668 "getopt_io.m"
                        MR_Word mercury__getopt_io__TypeCtorInfo_288_288 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 668 "getopt_io.m"
                        MR_Word mercury__getopt_io__V_31_31 = (MR_Word) MR_mkword(MR_mktag(1), &mercury__getopt_io_scalar_common_8[1]);
#line 668 "getopt_io.m"
                        MR_Word mercury__getopt_io__STATE_VARIABLE_OptionTable_32_32;

#line 669 "getopt_io.m"
                        {
#line 669 "getopt_io.m"
                          mercury__map__set_4_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__TypeCtorInfo_288_288, mercury__getopt_io__HeadVar__3_3, ((MR_Box) (mercury__getopt_io__V_31_31)), mercury__getopt_io__HeadVar__6_6, &mercury__getopt_io__STATE_VARIABLE_OptionTable_32_32);
                        }
#line 670 "getopt_io.m"
                        {
#line 670 "getopt_io.m"
                          MR_Word base;
#line 670 "getopt_io.m"
                          base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 670 "getopt_io.m"
                          *mercury__getopt_io__Result_7 = base;
#line 670 "getopt_io.m"
                          MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (mercury__getopt_io__STATE_VARIABLE_OptionTable_32_32));
#line 670 "getopt_io.m"
                        }
#line 668 "getopt_io.m"
                      }
#line 665 "getopt_io.m"
                  }
#line 665 "getopt_io.m"
                else
#line 665 "getopt_io.m"
                  if (((MR_tag((MR_Word) mercury__getopt_io__HeadVar__1_1)) == (MR_mktag((MR_Integer) 2))))
#line 677 "getopt_io.m"
                    {
#line 678 "getopt_io.m"
                      {
#line 678 "getopt_io.m"
                        mercury__set__insert_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__HeadVar__3_3, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8, mercury__getopt_io__STATE_VARIABLE_OptionsSet_9);
                      }
#line 687 "getopt_io.m"
                      if ((mercury__getopt_io__MaybeArg_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 688 "getopt_io.m"
                        {
#line 689 "getopt_io.m"
                          {
#line 689 "getopt_io.m"
                            mercury__require__error_1_p_0((MR_String) "integer argument expected in getopt_io.process_option");
#line 689 "getopt_io.m"
                            return;
                          }
#line 688 "getopt_io.m"
                        }
#line 687 "getopt_io.m"
                      else
#line 680 "getopt_io.m"
                        {
#line 680 "getopt_io.m"
                          MR_String mercury__getopt_io__Arg_44 = ((MR_String) (MR_hl_field(MR_mktag(1), mercury__getopt_io__MaybeArg_4, (MR_Integer) 0)));
#line 684 "getopt_io.m"
                          MR_Integer mercury__getopt_io__IntArg_45;

#line 681 "getopt_io.m"
                          {
#line 681 "getopt_io.m"
                            mercury__getopt_io__succeeded = mercury__string__to_int_2_p_0(mercury__getopt_io__Arg_44, &mercury__getopt_io__IntArg_45);
                          }
#line 684 "getopt_io.m"
                          if (mercury__getopt_io__succeeded)
#line 682 "getopt_io.m"
                            {
#line 682 "getopt_io.m"
                              MR_Word mercury__getopt_io__TypeCtorInfo_290_290;
#line 682 "getopt_io.m"
                              MR_Word mercury__getopt_io__V_53_53;
#line 682 "getopt_io.m"
                              MR_Word mercury__getopt_io__STATE_VARIABLE_OptionTable_54_54;

#line 682 "getopt_io.m"
                              {
#line 682 "getopt_io.m"
                                mercury__getopt_io__V_53_53 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 682 "getopt_io.m"
                                MR_hl_field(MR_mktag(2), mercury__getopt_io__V_53_53, 0) = ((MR_Box) (mercury__getopt_io__IntArg_45));
#line 682 "getopt_io.m"
                              }
#line 8586 "getopt_io.c"
                              mercury__getopt_io__TypeCtorInfo_290_290 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 682 "getopt_io.m"
                              {
#line 682 "getopt_io.m"
                                mercury__map__set_4_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__TypeCtorInfo_290_290, mercury__getopt_io__HeadVar__3_3, ((MR_Box) (mercury__getopt_io__V_53_53)), mercury__getopt_io__HeadVar__6_6, &mercury__getopt_io__STATE_VARIABLE_OptionTable_54_54);
                              }
#line 683 "getopt_io.m"
                              {
#line 683 "getopt_io.m"
                                MR_Word base;
#line 683 "getopt_io.m"
                                base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 683 "getopt_io.m"
                                *mercury__getopt_io__Result_7 = base;
#line 683 "getopt_io.m"
                                MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (mercury__getopt_io__STATE_VARIABLE_OptionTable_54_54));
#line 683 "getopt_io.m"
                              }
#line 682 "getopt_io.m"
                            }
#line 684 "getopt_io.m"
                          else
#line 685 "getopt_io.m"
                            {
#line 685 "getopt_io.m"
                              mercury__getopt_io__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_110_117_109_101_114_105_99_95_97_114_103_117_109_101_110_116_95_95_91_49_93_95_48_3_p_0(mercury__getopt_io__HeadVar__2_2, mercury__getopt_io__Arg_44, mercury__getopt_io__Result_7);
#line 685 "getopt_io.m"
                              return;
                            }
#line 680 "getopt_io.m"
                        }
#line 677 "getopt_io.m"
                    }
#line 665 "getopt_io.m"
                  else
#line 665 "getopt_io.m"
                    if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__1_1)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 729 "getopt_io.m"
                      {
#line 729 "getopt_io.m"
                        MR_Word mercury__getopt_io__List0_127 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 1)));

#line 730 "getopt_io.m"
                        {
#line 730 "getopt_io.m"
                          mercury__set__insert_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__HeadVar__3_3, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8, mercury__getopt_io__STATE_VARIABLE_OptionsSet_9);
                        }
#line 736 "getopt_io.m"
                        if ((mercury__getopt_io__MaybeArg_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 737 "getopt_io.m"
                          {
#line 738 "getopt_io.m"
                            {
#line 738 "getopt_io.m"
                              mercury__require__error_1_p_0((MR_String) "acumulating argument expected in getopt_io.process_option");
#line 738 "getopt_io.m"
                              return;
                            }
#line 737 "getopt_io.m"
                          }
#line 736 "getopt_io.m"
                        else
#line 732 "getopt_io.m"
                          {
#line 732 "getopt_io.m"
                            MR_Word mercury__getopt_io__TypeCtorInfo_294_294;
#line 732 "getopt_io.m"
                            MR_Word mercury__getopt_io__TypeCtorInfo_295_295;
#line 732 "getopt_io.m"
                            MR_String mercury__getopt_io__Arg_136 = ((MR_String) (MR_hl_field(MR_mktag(1), mercury__getopt_io__MaybeArg_4, (MR_Integer) 0)));
#line 732 "getopt_io.m"
                            MR_Word mercury__getopt_io__List_137;
#line 732 "getopt_io.m"
                            MR_Word mercury__getopt_io__V_145_145;
#line 732 "getopt_io.m"
                            MR_Word mercury__getopt_io__V_146_146 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 732 "getopt_io.m"
                            MR_Word mercury__getopt_io__V_147_147;
#line 732 "getopt_io.m"
                            MR_Word mercury__getopt_io__STATE_VARIABLE_OptionTable_148_148;

#line 733 "getopt_io.m"
                            {
#line 733 "getopt_io.m"
                              mercury__getopt_io__V_145_145 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 733 "getopt_io.m"
                              MR_hl_field(MR_mktag(1), mercury__getopt_io__V_145_145, 0) = ((MR_Box) (mercury__getopt_io__Arg_136));
#line 733 "getopt_io.m"
                              MR_hl_field(MR_mktag(1), mercury__getopt_io__V_145_145, 1) = ((MR_Box) (mercury__getopt_io__V_146_146));
#line 733 "getopt_io.m"
                            }
#line 8678 "getopt_io.c"
                            mercury__getopt_io__TypeCtorInfo_294_294 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0;
#line 733 "getopt_io.m"
                            {
#line 733 "getopt_io.m"
                              mercury__list__append_3_p_1(mercury__getopt_io__TypeCtorInfo_294_294, mercury__getopt_io__List0_127, mercury__getopt_io__V_145_145, &mercury__getopt_io__List_137);
                            }
#line 734 "getopt_io.m"
                            {
#line 734 "getopt_io.m"
                              mercury__getopt_io__V_147_147 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 734 "getopt_io.m"
                              MR_hl_field(MR_mktag(3), mercury__getopt_io__V_147_147, 0) = ((MR_Box) (MR_Word) ((MR_Integer) 3));
#line 734 "getopt_io.m"
                              MR_hl_field(MR_mktag(3), mercury__getopt_io__V_147_147, 1) = ((MR_Box) (mercury__getopt_io__List_137));
#line 734 "getopt_io.m"
                            }
#line 8695 "getopt_io.c"
                            mercury__getopt_io__TypeCtorInfo_295_295 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 734 "getopt_io.m"
                            {
#line 734 "getopt_io.m"
                              mercury__map__set_4_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__TypeCtorInfo_295_295, mercury__getopt_io__HeadVar__3_3, ((MR_Box) (mercury__getopt_io__V_147_147)), mercury__getopt_io__HeadVar__6_6, &mercury__getopt_io__STATE_VARIABLE_OptionTable_148_148);
                            }
#line 735 "getopt_io.m"
                            {
#line 735 "getopt_io.m"
                              MR_Word base;
#line 735 "getopt_io.m"
                              base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 735 "getopt_io.m"
                              *mercury__getopt_io__Result_7 = base;
#line 735 "getopt_io.m"
                              MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (mercury__getopt_io__STATE_VARIABLE_OptionTable_148_148));
#line 735 "getopt_io.m"
                            }
#line 732 "getopt_io.m"
                          }
#line 729 "getopt_io.m"
                      }
#line 665 "getopt_io.m"
                    else
#line 665 "getopt_io.m"
                      if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__1_1)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 703 "getopt_io.m"
                        {
#line 704 "getopt_io.m"
                          {
#line 704 "getopt_io.m"
                            mercury__set__insert_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__HeadVar__3_3, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8, mercury__getopt_io__STATE_VARIABLE_OptionsSet_9);
                          }
#line 713 "getopt_io.m"
                          if ((mercury__getopt_io__MaybeArg_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 714 "getopt_io.m"
                            {
#line 715 "getopt_io.m"
                              {
#line 715 "getopt_io.m"
                                mercury__require__error_1_p_0((MR_String) "integer argument expected in getopt_io.process_option");
#line 715 "getopt_io.m"
                                return;
                              }
#line 714 "getopt_io.m"
                            }
#line 713 "getopt_io.m"
                          else
#line 706 "getopt_io.m"
                            {
#line 706 "getopt_io.m"
                              MR_String mercury__getopt_io__Arg_89 = ((MR_String) (MR_hl_field(MR_mktag(1), mercury__getopt_io__MaybeArg_4, (MR_Integer) 0)));
#line 710 "getopt_io.m"
                              MR_Integer mercury__getopt_io__IntArg_90;

#line 707 "getopt_io.m"
                              {
#line 707 "getopt_io.m"
                                mercury__getopt_io__succeeded = mercury__string__to_int_2_p_0(mercury__getopt_io__Arg_89, &mercury__getopt_io__IntArg_90);
                              }
#line 710 "getopt_io.m"
                              if (mercury__getopt_io__succeeded)
#line 708 "getopt_io.m"
                                {
#line 708 "getopt_io.m"
                                  MR_Word mercury__getopt_io__TypeCtorInfo_292_292;
#line 708 "getopt_io.m"
                                  MR_Word mercury__getopt_io__V_98_98;
#line 708 "getopt_io.m"
                                  MR_Word mercury__getopt_io__STATE_VARIABLE_OptionTable_99_99;
#line 708 "getopt_io.m"
                                  MR_Word mercury__getopt_io__V_100_100;

#line 708 "getopt_io.m"
                                  {
#line 708 "getopt_io.m"
                                    mercury__getopt_io__V_100_100 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 708 "getopt_io.m"
                                    MR_hl_field(MR_mktag(1), mercury__getopt_io__V_100_100, 0) = ((MR_Box) (mercury__getopt_io__IntArg_90));
#line 708 "getopt_io.m"
                                  }
#line 708 "getopt_io.m"
                                  {
#line 708 "getopt_io.m"
                                    mercury__getopt_io__V_98_98 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 708 "getopt_io.m"
                                    MR_hl_field(MR_mktag(3), mercury__getopt_io__V_98_98, 0) = ((MR_Box) (MR_Word) ((MR_Integer) 1));
#line 708 "getopt_io.m"
                                    MR_hl_field(MR_mktag(3), mercury__getopt_io__V_98_98, 1) = ((MR_Box) (mercury__getopt_io__V_100_100));
#line 708 "getopt_io.m"
                                  }
#line 8787 "getopt_io.c"
                                  mercury__getopt_io__TypeCtorInfo_292_292 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 708 "getopt_io.m"
                                  {
#line 708 "getopt_io.m"
                                    mercury__map__set_4_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__TypeCtorInfo_292_292, mercury__getopt_io__HeadVar__3_3, ((MR_Box) (mercury__getopt_io__V_98_98)), mercury__getopt_io__HeadVar__6_6, &mercury__getopt_io__STATE_VARIABLE_OptionTable_99_99);
                                  }
#line 709 "getopt_io.m"
                                  {
#line 709 "getopt_io.m"
                                    MR_Word base;
#line 709 "getopt_io.m"
                                    base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 709 "getopt_io.m"
                                    *mercury__getopt_io__Result_7 = base;
#line 709 "getopt_io.m"
                                    MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (mercury__getopt_io__STATE_VARIABLE_OptionTable_99_99));
#line 709 "getopt_io.m"
                                  }
#line 708 "getopt_io.m"
                                }
#line 710 "getopt_io.m"
                              else
#line 711 "getopt_io.m"
                                {
#line 711 "getopt_io.m"
                                  mercury__getopt_io__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_110_117_109_101_114_105_99_95_97_114_103_117_109_101_110_116_95_95_91_49_93_95_48_3_p_0(mercury__getopt_io__HeadVar__2_2, mercury__getopt_io__Arg_89, mercury__getopt_io__Result_7);
#line 711 "getopt_io.m"
                                  return;
                                }
#line 706 "getopt_io.m"
                            }
#line 703 "getopt_io.m"
                        }
#line 665 "getopt_io.m"
                      else
#line 665 "getopt_io.m"
                        if (((((MR_tag((MR_Word) mercury__getopt_io__HeadVar__1_1)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 718 "getopt_io.m"
                          {
#line 719 "getopt_io.m"
                            {
#line 719 "getopt_io.m"
                              mercury__set__insert_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__HeadVar__3_3, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8, mercury__getopt_io__STATE_VARIABLE_OptionsSet_9);
                            }
#line 724 "getopt_io.m"
                            if ((mercury__getopt_io__MaybeArg_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 725 "getopt_io.m"
                              {
#line 726 "getopt_io.m"
                                {
#line 726 "getopt_io.m"
                                  mercury__require__error_1_p_0((MR_String) "string argument expected in getopt_io.process_option");
#line 726 "getopt_io.m"
                                  return;
                                }
#line 725 "getopt_io.m"
                              }
#line 724 "getopt_io.m"
                            else
#line 721 "getopt_io.m"
                              {
#line 721 "getopt_io.m"
                                MR_Word mercury__getopt_io__TypeCtorInfo_293_293;
#line 721 "getopt_io.m"
                                MR_Word mercury__getopt_io__V_122_122;
#line 721 "getopt_io.m"
                                MR_Word mercury__getopt_io__STATE_VARIABLE_OptionTable_123_123;

#line 722 "getopt_io.m"
                                {
#line 722 "getopt_io.m"
                                  mercury__getopt_io__V_122_122 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 722 "getopt_io.m"
                                  MR_hl_field(MR_mktag(3), mercury__getopt_io__V_122_122, 0) = ((MR_Box) (MR_Word) ((MR_Integer) 2));
#line 722 "getopt_io.m"
                                  MR_hl_field(MR_mktag(3), mercury__getopt_io__V_122_122, 1) = ((MR_Box) (mercury__getopt_io__MaybeArg_4));
#line 722 "getopt_io.m"
                                }
#line 8866 "getopt_io.c"
                                mercury__getopt_io__TypeCtorInfo_293_293 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 722 "getopt_io.m"
                                {
#line 722 "getopt_io.m"
                                  mercury__map__set_4_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__TypeCtorInfo_293_293, mercury__getopt_io__HeadVar__3_3, ((MR_Box) (mercury__getopt_io__V_122_122)), mercury__getopt_io__HeadVar__6_6, &mercury__getopt_io__STATE_VARIABLE_OptionTable_123_123);
                                }
#line 723 "getopt_io.m"
                                {
#line 723 "getopt_io.m"
                                  MR_Word base;
#line 723 "getopt_io.m"
                                  base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 723 "getopt_io.m"
                                  *mercury__getopt_io__Result_7 = base;
#line 723 "getopt_io.m"
                                  MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (mercury__getopt_io__STATE_VARIABLE_OptionTable_123_123));
#line 723 "getopt_io.m"
                                }
#line 721 "getopt_io.m"
                              }
#line 718 "getopt_io.m"
                          }
#line 665 "getopt_io.m"
                        else
#line 692 "getopt_io.m"
                          {
#line 693 "getopt_io.m"
                            {
#line 693 "getopt_io.m"
                              mercury__set__insert_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__HeadVar__3_3, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8, mercury__getopt_io__STATE_VARIABLE_OptionsSet_9);
                            }
#line 698 "getopt_io.m"
                            if ((mercury__getopt_io__MaybeArg_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 699 "getopt_io.m"
                              {
#line 700 "getopt_io.m"
                                {
#line 700 "getopt_io.m"
                                  mercury__require__error_1_p_0((MR_String) "string argument expected in getopt_io.process_option");
#line 700 "getopt_io.m"
                                  return;
                                }
#line 699 "getopt_io.m"
                              }
#line 698 "getopt_io.m"
                            else
#line 695 "getopt_io.m"
                              {
#line 695 "getopt_io.m"
                                MR_Word mercury__getopt_io__TypeCtorInfo_291_291;
#line 695 "getopt_io.m"
                                MR_String mercury__getopt_io__Arg_68 = ((MR_String) (MR_hl_field(MR_mktag(1), mercury__getopt_io__MaybeArg_4, (MR_Integer) 0)));
#line 695 "getopt_io.m"
                                MR_Word mercury__getopt_io__V_76_76;
#line 695 "getopt_io.m"
                                MR_Word mercury__getopt_io__STATE_VARIABLE_OptionTable_77_77;

#line 696 "getopt_io.m"
                                {
#line 696 "getopt_io.m"
                                  mercury__getopt_io__V_76_76 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 696 "getopt_io.m"
                                  MR_hl_field(MR_mktag(3), mercury__getopt_io__V_76_76, 0) = ((MR_Box) (MR_Word) ((MR_Integer) 0));
#line 696 "getopt_io.m"
                                  MR_hl_field(MR_mktag(3), mercury__getopt_io__V_76_76, 1) = ((MR_Box) (mercury__getopt_io__Arg_68));
#line 696 "getopt_io.m"
                                }
#line 8934 "getopt_io.c"
                                mercury__getopt_io__TypeCtorInfo_291_291 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 696 "getopt_io.m"
                                {
#line 696 "getopt_io.m"
                                  mercury__map__set_4_p_0(mercury__getopt_io__TypeInfo_for_OptionType_287, mercury__getopt_io__TypeCtorInfo_291_291, mercury__getopt_io__HeadVar__3_3, ((MR_Box) (mercury__getopt_io__V_76_76)), mercury__getopt_io__HeadVar__6_6, &mercury__getopt_io__STATE_VARIABLE_OptionTable_77_77);
                                }
#line 697 "getopt_io.m"
                                {
#line 697 "getopt_io.m"
                                  MR_Word base;
#line 697 "getopt_io.m"
                                  base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 697 "getopt_io.m"
                                  *mercury__getopt_io__Result_7 = base;
#line 697 "getopt_io.m"
                                  MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (mercury__getopt_io__STATE_VARIABLE_OptionTable_77_77));
#line 697 "getopt_io.m"
                                }
#line 695 "getopt_io.m"
                              }
#line 692 "getopt_io.m"
                          }
#line 665 "getopt_io.m"
  }
#line 658 "getopt_io.m"
}

#line 585 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__handle_short_options_12_p_0(
#line 585 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_71,
#line 585 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__1_1,
#line 585 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionOps_2,
#line 585 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__3_3,
#line 585 "getopt_io.m"
  MR_Word * mercury__getopt_io__Args_4,
#line 585 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__5_5,
#line 585 "getopt_io.m"
  MR_Word * mercury__getopt_io__OptionArgs_6,
#line 585 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__7_7,
#line 585 "getopt_io.m"
  MR_Word * mercury__getopt_io__HeadVar__8_8,
#line 585 "getopt_io.m"
  MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_9,
#line 585 "getopt_io.m"
  MR_Word * mercury__getopt_io__STATE_VARIABLE_OptionsSet_10)
#line 585 "getopt_io.m"
{
#line 592 "getopt_io.m"
  while (MR_TRUE)
#line 592 "getopt_io.m"
    {
#line 592 "getopt_io.m"
      /* tailcall optimized into a loop */
#line 592 "getopt_io.m"
      {
#line 592 "getopt_io.m"
        MR_bool mercury__getopt_io__succeeded;

#line 592 "getopt_io.m"
        if ((mercury__getopt_io__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 592 "getopt_io.m"
          {
#line 592 "getopt_io.m"
            *mercury__getopt_io__Args_4 = mercury__getopt_io__HeadVar__3_3;
#line 592 "getopt_io.m"
            *mercury__getopt_io__OptionArgs_6 = mercury__getopt_io__HeadVar__5_5;
#line 592 "getopt_io.m"
            {
#line 592 "getopt_io.m"
              MR_Word base;
#line 592 "getopt_io.m"
              base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 592 "getopt_io.m"
              *mercury__getopt_io__HeadVar__8_8 = base;
#line 592 "getopt_io.m"
              MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (mercury__getopt_io__HeadVar__7_7));
#line 592 "getopt_io.m"
            }
#line 592 "getopt_io.m"
            *mercury__getopt_io__STATE_VARIABLE_OptionsSet_10 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_9;
#line 592 "getopt_io.m"
          }
#line 592 "getopt_io.m"
        else
#line 595 "getopt_io.m"
          {
#line 595 "getopt_io.m"
            MR_Char mercury__getopt_io__Opt_23 = ((MR_Char) (MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)));
#line 595 "getopt_io.m"
            MR_Word mercury__getopt_io__Opts0_24 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 1)));
#line 595 "getopt_io.m"
            MR_Word mercury__getopt_io__ShortOptionPred_34 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_2, (MR_Integer) 0)));
#line 596 "getopt_io.m"
            MR_Word mercury__getopt_io__V_69_69 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_2, (MR_Integer) 1)));
#line 596 "getopt_io.m"
            MR_Word mercury__getopt_io__V_70_70 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_2, (MR_Integer) 2)));
#line 631 "getopt_io.m"
            MR_Box mercury__getopt_io__Flag_35;
#line 597 "getopt_io.m"
            MR_bool MR_CALL (* mercury__getopt_io__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__getopt_io__ShortOptionPred_34, (MR_Integer) 1)));

#line 597 "getopt_io.m"
            {
#line 597 "getopt_io.m"
              mercury__getopt_io__succeeded = mercury__getopt_io__func_0(((MR_Box) mercury__getopt_io__ShortOptionPred_34), ((MR_Box) (MR_Word) (mercury__getopt_io__Opt_23)), &mercury__getopt_io__Flag_35);
            }
#line 631 "getopt_io.m"
            if (mercury__getopt_io__succeeded)
#line 624 "getopt_io.m"
              {
#line 624 "getopt_io.m"
                MR_Word mercury__getopt_io__OptionData_36;
#line 598 "getopt_io.m"
                MR_Word mercury__getopt_io__TypeCtorInfo_72_72 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 39 "map.opt"
                MR_Box mercury__getopt_io__conv1_OptionData_36;

#line 39 "map.opt"
                {
#line 39 "map.opt"
                  mercury__getopt_io__succeeded = mercury__tree234__search_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_71, mercury__getopt_io__TypeCtorInfo_72_72, mercury__getopt_io__HeadVar__7_7, mercury__getopt_io__Flag_35, &mercury__getopt_io__conv1_OptionData_36);
                }
#line 39 "map.opt"
                if (mercury__getopt_io__succeeded)
#line 39 "map.opt"
                  {
#line 39 "map.opt"
                    mercury__getopt_io__OptionData_36 = ((MR_Word) mercury__getopt_io__conv1_OptionData_36);
#line 39 "map.opt"
                    mercury__getopt_io__succeeded = MR_TRUE;
#line 39 "map.opt"
                  }
#line 624 "getopt_io.m"
                if (mercury__getopt_io__succeeded)
#line 609 "getopt_io.m"
                  {
#line 609 "getopt_io.m"
                    MR_Word mercury__getopt_io__Args1_38;
#line 609 "getopt_io.m"
                    MR_Word mercury__getopt_io__OptionArgs1_39;
#line 609 "getopt_io.m"
                    MR_Word mercury__getopt_io__MaybeOptionArg_40;
#line 609 "getopt_io.m"
                    MR_Word mercury__getopt_io__Opts1_41;
#line 609 "getopt_io.m"
                    MR_String mercury__getopt_io__Option_42;
#line 609 "getopt_io.m"
                    MR_Word mercury__getopt_io__Result1_43;
#line 609 "getopt_io.m"
                    MR_Word mercury__getopt_io__V_53_53;
#line 609 "getopt_io.m"
                    MR_Word mercury__getopt_io__V_55_55;
#line 609 "getopt_io.m"
                    MR_Word mercury__getopt_io__V_56_56;
#line 609 "getopt_io.m"
                    MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_57_57;
#line 599 "getopt_io.m"
                    MR_Word mercury__getopt_io__V_73_73;

#line 954 "getopt_io.m"
                    if ((mercury__getopt_io__OptionData_36 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 961 "getopt_io.m"
                      mercury__getopt_io__V_73_73 = (MR_Integer) 0;
#line 954 "getopt_io.m"
                    else
#line 954 "getopt_io.m"
                      if ((mercury__getopt_io__OptionData_36 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 965 "getopt_io.m"
                        mercury__getopt_io__V_73_73 = (MR_Integer) 1;
#line 954 "getopt_io.m"
                      else
#line 954 "getopt_io.m"
                        if ((mercury__getopt_io__OptionData_36 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 962 "getopt_io.m"
                          mercury__getopt_io__V_73_73 = (MR_Integer) 1;
#line 954 "getopt_io.m"
                        else
#line 954 "getopt_io.m"
                          if ((mercury__getopt_io__OptionData_36 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 964 "getopt_io.m"
                            mercury__getopt_io__V_73_73 = (MR_Integer) 1;
#line 954 "getopt_io.m"
                          else
#line 954 "getopt_io.m"
                            if ((mercury__getopt_io__OptionData_36 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 960 "getopt_io.m"
                              mercury__getopt_io__V_73_73 = (MR_Integer) 0;
#line 954 "getopt_io.m"
                            else
#line 954 "getopt_io.m"
                              if ((mercury__getopt_io__OptionData_36 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 963 "getopt_io.m"
                                mercury__getopt_io__V_73_73 = (MR_Integer) 1;
#line 954 "getopt_io.m"
                              else
#line 954 "getopt_io.m"
                                if (((MR_tag((MR_Word) mercury__getopt_io__OptionData_36)) == (MR_mktag((MR_Integer) 1))))
#line 954 "getopt_io.m"
                                  mercury__getopt_io__V_73_73 = (MR_Integer) 0;
#line 954 "getopt_io.m"
                                else
#line 954 "getopt_io.m"
                                  if (((MR_tag((MR_Word) mercury__getopt_io__OptionData_36)) == (MR_mktag((MR_Integer) 2))))
#line 955 "getopt_io.m"
                                    mercury__getopt_io__V_73_73 = (MR_Integer) 1;
#line 954 "getopt_io.m"
                                  else
#line 954 "getopt_io.m"
                                    if (((((MR_tag((MR_Word) mercury__getopt_io__OptionData_36)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__OptionData_36, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 959 "getopt_io.m"
                                      mercury__getopt_io__V_73_73 = (MR_Integer) 1;
#line 954 "getopt_io.m"
                                    else
#line 954 "getopt_io.m"
                                      if (((((MR_tag((MR_Word) mercury__getopt_io__OptionData_36)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__OptionData_36, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 957 "getopt_io.m"
                                        mercury__getopt_io__V_73_73 = (MR_Integer) 1;
#line 954 "getopt_io.m"
                                      else
#line 954 "getopt_io.m"
                                        if (((((MR_tag((MR_Word) mercury__getopt_io__OptionData_36)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__OptionData_36, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 958 "getopt_io.m"
                                          mercury__getopt_io__V_73_73 = (MR_Integer) 1;
#line 954 "getopt_io.m"
                                        else
#line 956 "getopt_io.m"
                                          mercury__getopt_io__V_73_73 = (MR_Integer) 1;
#line 599 "getopt_io.m"
                    mercury__getopt_io__succeeded = ((MR_Integer) 1 == mercury__getopt_io__V_73_73);
#line 604 "getopt_io.m"
                    if (mercury__getopt_io__succeeded)
#line 601 "getopt_io.m"
                      {
#line 601 "getopt_io.m"
                        MR_String mercury__getopt_io__Arg_37;
#line 652 "getopt_io.m"
                        MR_String mercury__getopt_io__ArgPrime_89;
#line 652 "getopt_io.m"
                        MR_Word mercury__getopt_io__ArgsPrime_90;

#line 646 "getopt_io.m"
                        mercury__getopt_io__succeeded = (mercury__getopt_io__Opts0_24 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 646 "getopt_io.m"
                        if (mercury__getopt_io__succeeded)
#line 646 "getopt_io.m"
                          {
#line 647 "getopt_io.m"
                            mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1)));
#line 647 "getopt_io.m"
                            if (mercury__getopt_io__succeeded)
#line 647 "getopt_io.m"
                              {
#line 647 "getopt_io.m"
                                mercury__getopt_io__ArgPrime_89 = ((MR_String) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 0)));
#line 647 "getopt_io.m"
                                mercury__getopt_io__ArgsPrime_90 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__3_3, (MR_Integer) 1)));
#line 647 "getopt_io.m"
                              }
#line 646 "getopt_io.m"
                          }
#line 652 "getopt_io.m"
                        if (mercury__getopt_io__succeeded)
#line 649 "getopt_io.m"
                          {
#line 649 "getopt_io.m"
                            {
#line 649 "getopt_io.m"
                              mercury__getopt_io__OptionArgs1_39 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 649 "getopt_io.m"
                              MR_hl_field(MR_mktag(1), mercury__getopt_io__OptionArgs1_39, 0) = ((MR_Box) (mercury__getopt_io__ArgPrime_89));
#line 649 "getopt_io.m"
                              MR_hl_field(MR_mktag(1), mercury__getopt_io__OptionArgs1_39, 1) = ((MR_Box) (mercury__getopt_io__HeadVar__5_5));
#line 649 "getopt_io.m"
                            }
#line 650 "getopt_io.m"
                            mercury__getopt_io__Arg_37 = mercury__getopt_io__ArgPrime_89;
#line 651 "getopt_io.m"
                            mercury__getopt_io__Args1_38 = mercury__getopt_io__ArgsPrime_90;
#line 649 "getopt_io.m"
                          }
#line 652 "getopt_io.m"
                        else
#line 653 "getopt_io.m"
                          {
#line 653 "getopt_io.m"
                            {
#line 653 "getopt_io.m"
                              mercury__string__from_char_list_2_p_0(mercury__getopt_io__Opts0_24, &mercury__getopt_io__Arg_37);
                            }
#line 654 "getopt_io.m"
                            mercury__getopt_io__OptionArgs1_39 = mercury__getopt_io__HeadVar__5_5;
#line 655 "getopt_io.m"
                            mercury__getopt_io__Args1_38 = mercury__getopt_io__HeadVar__3_3;
#line 653 "getopt_io.m"
                          }
#line 602 "getopt_io.m"
                        {
#line 602 "getopt_io.m"
                          mercury__getopt_io__MaybeOptionArg_40 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 602 "getopt_io.m"
                          MR_hl_field(MR_mktag(1), mercury__getopt_io__MaybeOptionArg_40, 0) = ((MR_Box) (mercury__getopt_io__Arg_37));
#line 602 "getopt_io.m"
                        }
#line 603 "getopt_io.m"
                        mercury__getopt_io__Opts1_41 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 601 "getopt_io.m"
                      }
#line 604 "getopt_io.m"
                    else
#line 605 "getopt_io.m"
                      {
#line 605 "getopt_io.m"
                        mercury__getopt_io__MaybeOptionArg_40 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 606 "getopt_io.m"
                        mercury__getopt_io__Opts1_41 = mercury__getopt_io__Opts0_24;
#line 607 "getopt_io.m"
                        mercury__getopt_io__OptionArgs1_39 = mercury__getopt_io__HeadVar__5_5;
#line 608 "getopt_io.m"
                        mercury__getopt_io__Args1_38 = mercury__getopt_io__HeadVar__3_3;
#line 605 "getopt_io.m"
                      }
#line 610 "getopt_io.m"
                    mercury__getopt_io__V_56_56 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 610 "getopt_io.m"
                    {
#line 610 "getopt_io.m"
                      mercury__getopt_io__V_55_55 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 610 "getopt_io.m"
                      MR_hl_field(MR_mktag(1), mercury__getopt_io__V_55_55, 0) = ((MR_Box) (MR_Word) (mercury__getopt_io__Opt_23));
#line 610 "getopt_io.m"
                      MR_hl_field(MR_mktag(1), mercury__getopt_io__V_55_55, 1) = ((MR_Box) (mercury__getopt_io__V_56_56));
#line 610 "getopt_io.m"
                    }
#line 610 "getopt_io.m"
                    {
#line 610 "getopt_io.m"
                      mercury__getopt_io__V_53_53 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 610 "getopt_io.m"
                      MR_hl_field(MR_mktag(1), mercury__getopt_io__V_53_53, 0) = ((MR_Box) (MR_Word) ((MR_Char) 45));
#line 610 "getopt_io.m"
                      MR_hl_field(MR_mktag(1), mercury__getopt_io__V_53_53, 1) = ((MR_Box) (mercury__getopt_io__V_55_55));
#line 610 "getopt_io.m"
                    }
#line 610 "getopt_io.m"
                    {
#line 610 "getopt_io.m"
                      mercury__string__from_char_list_2_p_0(mercury__getopt_io__V_53_53, &mercury__getopt_io__Option_42);
                    }
#line 611 "getopt_io.m"
                    {
#line 611 "getopt_io.m"
                      mercury__getopt_io__process_option_11_p_0(mercury__getopt_io__TypeInfo_for_OptionType_71, mercury__getopt_io__OptionData_36, mercury__getopt_io__Option_42, mercury__getopt_io__Flag_35, mercury__getopt_io__MaybeOptionArg_40, mercury__getopt_io__OptionOps_2, mercury__getopt_io__HeadVar__7_7, &mercury__getopt_io__Result1_43, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_9, &mercury__getopt_io__STATE_VARIABLE_OptionsSet_57_57);
                    }
#line 618 "getopt_io.m"
                    if (((MR_tag((MR_Word) mercury__getopt_io__Result1_43)) == (MR_mktag((MR_Integer) 1))))
#line 619 "getopt_io.m"
                      {
#line 620 "getopt_io.m"
                        *mercury__getopt_io__HeadVar__8_8 = mercury__getopt_io__Result1_43;
#line 621 "getopt_io.m"
                        *mercury__getopt_io__OptionArgs_6 = mercury__getopt_io__OptionArgs1_39;
#line 622 "getopt_io.m"
                        *mercury__getopt_io__Args_4 = mercury__getopt_io__Args1_38;
#line 622 "getopt_io.m"
                        *mercury__getopt_io__STATE_VARIABLE_OptionsSet_10 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_57_57;
#line 619 "getopt_io.m"
                      }
#line 618 "getopt_io.m"
                    else
#line 614 "getopt_io.m"
                      {
#line 614 "getopt_io.m"
                        MR_Word mercury__getopt_io__OptionTable1_44 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__Result1_43, (MR_Integer) 0)));

#line 615 "getopt_io.m"
                        /* direct tailcall eliminated */
#line 615 "getopt_io.m"
                        {
#line 615 "getopt_io.m"
                          MR_Word mercury__getopt_io__HeadVar__1__tmp_copy_1 = mercury__getopt_io__Opts1_41;
#line 615 "getopt_io.m"
                          MR_Word mercury__getopt_io__HeadVar__3__tmp_copy_3 = mercury__getopt_io__Args1_38;
#line 615 "getopt_io.m"
                          MR_Word mercury__getopt_io__HeadVar__5__tmp_copy_5 = mercury__getopt_io__OptionArgs1_39;
#line 615 "getopt_io.m"
                          MR_Word mercury__getopt_io__HeadVar__7__tmp_copy_7 = mercury__getopt_io__OptionTable1_44;
#line 615 "getopt_io.m"
                          MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_0__tmp_copy_9 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_57_57;

#line 615 "getopt_io.m"
                          mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_9 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0__tmp_copy_9;
#line 615 "getopt_io.m"
                          mercury__getopt_io__HeadVar__7_7 = mercury__getopt_io__HeadVar__7__tmp_copy_7;
#line 615 "getopt_io.m"
                          mercury__getopt_io__HeadVar__5_5 = mercury__getopt_io__HeadVar__5__tmp_copy_5;
#line 615 "getopt_io.m"
                          mercury__getopt_io__HeadVar__3_3 = mercury__getopt_io__HeadVar__3__tmp_copy_3;
#line 615 "getopt_io.m"
                          mercury__getopt_io__HeadVar__1_1 = mercury__getopt_io__HeadVar__1__tmp_copy_1;
#line 615 "getopt_io.m"
                        }
#line 615 "getopt_io.m"
                        continue;
#line 614 "getopt_io.m"
                      }
#line 609 "getopt_io.m"
                  }
#line 624 "getopt_io.m"
                else
#line 625 "getopt_io.m"
                  {
#line 625 "getopt_io.m"
                    MR_String mercury__getopt_io__OptString_46;
#line 625 "getopt_io.m"
                    MR_String mercury__getopt_io__ErrorMsg_47;
#line 625 "getopt_io.m"
                    MR_String mercury__getopt_io__V_62_62;
#line 625 "getopt_io.m"
                    MR_Word mercury__getopt_io__V_5_93;
#line 625 "getopt_io.m"
                    MR_Word mercury__getopt_io__V_6_94 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 288 "string.opt"
                    {
#line 288 "string.opt"
                      mercury__getopt_io__V_5_93 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 288 "string.opt"
                      MR_hl_field(MR_mktag(1), mercury__getopt_io__V_5_93, 0) = ((MR_Box) (MR_Word) (mercury__getopt_io__Opt_23));
#line 288 "string.opt"
                      MR_hl_field(MR_mktag(1), mercury__getopt_io__V_5_93, 1) = ((MR_Box) (mercury__getopt_io__V_6_94));
#line 288 "string.opt"
                    }
#line 290 "string.opt"
                    {
#line 290 "string.opt"
                      mercury__string__to_char_list_2_p_1(&mercury__getopt_io__OptString_46, mercury__getopt_io__V_5_93);
                    }
#line 626 "getopt_io.m"
                    {
#line 626 "getopt_io.m"
                      mercury__getopt_io__V_62_62 = mercury__string__f_43_43_2_f_0(mercury__getopt_io__OptString_46, (MR_String) "\'");
                    }
#line 626 "getopt_io.m"
                    {
#line 626 "getopt_io.m"
                      mercury__getopt_io__ErrorMsg_47 = mercury__string__f_43_43_2_f_0((MR_String) "unknown type for option \140-", mercury__getopt_io__V_62_62);
                    }
#line 627 "getopt_io.m"
                    {
#line 627 "getopt_io.m"
                      MR_Word base;
#line 627 "getopt_io.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 627 "getopt_io.m"
                      *mercury__getopt_io__HeadVar__8_8 = base;
#line 627 "getopt_io.m"
                      MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_47));
#line 627 "getopt_io.m"
                    }
#line 628 "getopt_io.m"
                    *mercury__getopt_io__OptionArgs_6 = mercury__getopt_io__HeadVar__5_5;
#line 629 "getopt_io.m"
                    *mercury__getopt_io__Args_4 = mercury__getopt_io__HeadVar__3_3;
#line 629 "getopt_io.m"
                    *mercury__getopt_io__STATE_VARIABLE_OptionsSet_10 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_9;
#line 625 "getopt_io.m"
                  }
#line 624 "getopt_io.m"
              }
#line 631 "getopt_io.m"
            else
#line 632 "getopt_io.m"
              {
#line 632 "getopt_io.m"
                MR_String mercury__getopt_io__V_65_65;
#line 632 "getopt_io.m"
                MR_String mercury__getopt_io__OptString_67;
#line 632 "getopt_io.m"
                MR_String mercury__getopt_io__ErrorMsg_68;
#line 632 "getopt_io.m"
                MR_Word mercury__getopt_io__V_5_97;
#line 632 "getopt_io.m"
                MR_Word mercury__getopt_io__V_6_98 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));

#line 288 "string.opt"
                {
#line 288 "string.opt"
                  mercury__getopt_io__V_5_97 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 288 "string.opt"
                  MR_hl_field(MR_mktag(1), mercury__getopt_io__V_5_97, 0) = ((MR_Box) (MR_Word) (mercury__getopt_io__Opt_23));
#line 288 "string.opt"
                  MR_hl_field(MR_mktag(1), mercury__getopt_io__V_5_97, 1) = ((MR_Box) (mercury__getopt_io__V_6_98));
#line 288 "string.opt"
                }
#line 290 "string.opt"
                {
#line 290 "string.opt"
                  mercury__string__to_char_list_2_p_1(&mercury__getopt_io__OptString_67, mercury__getopt_io__V_5_97);
                }
#line 633 "getopt_io.m"
                {
#line 633 "getopt_io.m"
                  mercury__getopt_io__V_65_65 = mercury__string__f_43_43_2_f_0(mercury__getopt_io__OptString_67, (MR_String) "\'");
                }
#line 633 "getopt_io.m"
                {
#line 633 "getopt_io.m"
                  mercury__getopt_io__ErrorMsg_68 = mercury__string__f_43_43_2_f_0((MR_String) "unrecognized option \140-", mercury__getopt_io__V_65_65);
                }
#line 634 "getopt_io.m"
                {
#line 634 "getopt_io.m"
                  MR_Word base;
#line 634 "getopt_io.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 634 "getopt_io.m"
                  *mercury__getopt_io__HeadVar__8_8 = base;
#line 634 "getopt_io.m"
                  MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_68));
#line 634 "getopt_io.m"
                }
#line 635 "getopt_io.m"
                *mercury__getopt_io__OptionArgs_6 = mercury__getopt_io__HeadVar__5_5;
#line 636 "getopt_io.m"
                *mercury__getopt_io__Args_4 = mercury__getopt_io__HeadVar__3_3;
#line 636 "getopt_io.m"
                *mercury__getopt_io__STATE_VARIABLE_OptionsSet_10 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_9;
#line 632 "getopt_io.m"
              }
#line 595 "getopt_io.m"
          }
#line 592 "getopt_io.m"
      }
#line 592 "getopt_io.m"
      break;
#line 592 "getopt_io.m"
    }
#line 585 "getopt_io.m"
}

#line 522 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__handle_long_option_15_p_0(
#line 522 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_58,
#line 522 "getopt_io.m"
  MR_String mercury__getopt_io__Option_16,
#line 522 "getopt_io.m"
  MR_Box mercury__getopt_io__Flag_17,
#line 522 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionData_18,
#line 522 "getopt_io.m"
  MR_Word mercury__getopt_io__MaybeOptionArg0_19,
#line 522 "getopt_io.m"
  MR_Word mercury__getopt_io__Args0_20,
#line 522 "getopt_io.m"
  MR_Word * mercury__getopt_io__Args_21,
#line 522 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionOps_22,
#line 522 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionArgs0_23,
#line 522 "getopt_io.m"
  MR_Word * mercury__getopt_io__OptionArgs_24,
#line 522 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionTable0_25,
#line 522 "getopt_io.m"
  MR_Word * mercury__getopt_io__Result_26,
#line 522 "getopt_io.m"
  MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_40,
#line 522 "getopt_io.m"
  MR_Word * mercury__getopt_io__STATE_VARIABLE_OptionsSet_41)
#line 522 "getopt_io.m"
{
#line 532 "getopt_io.m"
  {
#line 532 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 532 "getopt_io.m"
    MR_Word mercury__getopt_io__MaybeOptionArg_31;
#line 532 "getopt_io.m"
    MR_Word mercury__getopt_io__Args1_32;
#line 532 "getopt_io.m"
    MR_Word mercury__getopt_io__MissingArg_33;
#line 532 "getopt_io.m"
    MR_Word mercury__getopt_io__OptionArgs1_34;
#line 534 "getopt_io.m"
    MR_Word mercury__getopt_io__V_59_59;

#line 954 "getopt_io.m"
    if ((mercury__getopt_io__OptionData_18 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 961 "getopt_io.m"
      mercury__getopt_io__V_59_59 = (MR_Integer) 0;
#line 954 "getopt_io.m"
    else
#line 954 "getopt_io.m"
      if ((mercury__getopt_io__OptionData_18 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 965 "getopt_io.m"
        mercury__getopt_io__V_59_59 = (MR_Integer) 1;
#line 954 "getopt_io.m"
      else
#line 954 "getopt_io.m"
        if ((mercury__getopt_io__OptionData_18 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 962 "getopt_io.m"
          mercury__getopt_io__V_59_59 = (MR_Integer) 1;
#line 954 "getopt_io.m"
        else
#line 954 "getopt_io.m"
          if ((mercury__getopt_io__OptionData_18 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 964 "getopt_io.m"
            mercury__getopt_io__V_59_59 = (MR_Integer) 1;
#line 954 "getopt_io.m"
          else
#line 954 "getopt_io.m"
            if ((mercury__getopt_io__OptionData_18 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 960 "getopt_io.m"
              mercury__getopt_io__V_59_59 = (MR_Integer) 0;
#line 954 "getopt_io.m"
            else
#line 954 "getopt_io.m"
              if ((mercury__getopt_io__OptionData_18 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 963 "getopt_io.m"
                mercury__getopt_io__V_59_59 = (MR_Integer) 1;
#line 954 "getopt_io.m"
              else
#line 954 "getopt_io.m"
                if (((MR_tag((MR_Word) mercury__getopt_io__OptionData_18)) == (MR_mktag((MR_Integer) 1))))
#line 954 "getopt_io.m"
                  mercury__getopt_io__V_59_59 = (MR_Integer) 0;
#line 954 "getopt_io.m"
                else
#line 954 "getopt_io.m"
                  if (((MR_tag((MR_Word) mercury__getopt_io__OptionData_18)) == (MR_mktag((MR_Integer) 2))))
#line 955 "getopt_io.m"
                    mercury__getopt_io__V_59_59 = (MR_Integer) 1;
#line 954 "getopt_io.m"
                  else
#line 954 "getopt_io.m"
                    if (((((MR_tag((MR_Word) mercury__getopt_io__OptionData_18)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__OptionData_18, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 959 "getopt_io.m"
                      mercury__getopt_io__V_59_59 = (MR_Integer) 1;
#line 954 "getopt_io.m"
                    else
#line 954 "getopt_io.m"
                      if (((((MR_tag((MR_Word) mercury__getopt_io__OptionData_18)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__OptionData_18, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 957 "getopt_io.m"
                        mercury__getopt_io__V_59_59 = (MR_Integer) 1;
#line 954 "getopt_io.m"
                      else
#line 954 "getopt_io.m"
                        if (((((MR_tag((MR_Word) mercury__getopt_io__OptionData_18)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__OptionData_18, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 958 "getopt_io.m"
                          mercury__getopt_io__V_59_59 = (MR_Integer) 1;
#line 954 "getopt_io.m"
                        else
#line 956 "getopt_io.m"
                          mercury__getopt_io__V_59_59 = (MR_Integer) 1;
#line 534 "getopt_io.m"
    mercury__getopt_io__succeeded = ((MR_Integer) 1 == mercury__getopt_io__V_59_59);
#line 534 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 535 "getopt_io.m"
      mercury__getopt_io__succeeded = (mercury__getopt_io__MaybeOptionArg0_19 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 550 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 543 "getopt_io.m"
      if ((mercury__getopt_io__Args0_20 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 544 "getopt_io.m"
        {
#line 545 "getopt_io.m"
          mercury__getopt_io__MaybeOptionArg_31 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 546 "getopt_io.m"
          mercury__getopt_io__Args1_32 = mercury__getopt_io__Args0_20;
#line 547 "getopt_io.m"
          mercury__getopt_io__OptionArgs1_34 = mercury__getopt_io__OptionArgs0_23;
#line 548 "getopt_io.m"
          mercury__getopt_io__MissingArg_33 = (MR_Integer) 1;
#line 544 "getopt_io.m"
        }
#line 543 "getopt_io.m"
      else
#line 538 "getopt_io.m"
        {
#line 538 "getopt_io.m"
          MR_String mercury__getopt_io__Arg_29 = ((MR_String) (MR_hl_field(MR_mktag(1), mercury__getopt_io__Args0_20, (MR_Integer) 0)));

#line 538 "getopt_io.m"
          mercury__getopt_io__Args1_32 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__Args0_20, (MR_Integer) 1)));
#line 539 "getopt_io.m"
          {
#line 539 "getopt_io.m"
            mercury__getopt_io__MaybeOptionArg_31 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 539 "getopt_io.m"
            MR_hl_field(MR_mktag(1), mercury__getopt_io__MaybeOptionArg_31, 0) = ((MR_Box) (mercury__getopt_io__Arg_29));
#line 539 "getopt_io.m"
          }
#line 541 "getopt_io.m"
          mercury__getopt_io__MissingArg_33 = (MR_Integer) 0;
#line 542 "getopt_io.m"
          {
#line 542 "getopt_io.m"
            mercury__getopt_io__OptionArgs1_34 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 542 "getopt_io.m"
            MR_hl_field(MR_mktag(1), mercury__getopt_io__OptionArgs1_34, 0) = ((MR_Box) (mercury__getopt_io__Arg_29));
#line 542 "getopt_io.m"
            MR_hl_field(MR_mktag(1), mercury__getopt_io__OptionArgs1_34, 1) = ((MR_Box) (mercury__getopt_io__OptionArgs0_23));
#line 542 "getopt_io.m"
          }
#line 538 "getopt_io.m"
        }
#line 550 "getopt_io.m"
    else
#line 551 "getopt_io.m"
      {
#line 551 "getopt_io.m"
        mercury__getopt_io__MaybeOptionArg_31 = mercury__getopt_io__MaybeOptionArg0_19;
#line 552 "getopt_io.m"
        mercury__getopt_io__Args1_32 = mercury__getopt_io__Args0_20;
#line 553 "getopt_io.m"
        mercury__getopt_io__OptionArgs1_34 = mercury__getopt_io__OptionArgs0_23;
#line 554 "getopt_io.m"
        mercury__getopt_io__MissingArg_33 = (MR_Integer) 0;
#line 551 "getopt_io.m"
      }
#line 556 "getopt_io.m"
    mercury__getopt_io__succeeded = (mercury__getopt_io__MissingArg_33 == (MR_Integer) 1);
#line 561 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 557 "getopt_io.m"
      {
#line 557 "getopt_io.m"
        MR_String mercury__getopt_io__ErrorMsg_35;
#line 557 "getopt_io.m"
        MR_String mercury__getopt_io__V_46_46;

#line 557 "getopt_io.m"
        *mercury__getopt_io__Args_21 = mercury__getopt_io__Args0_20;
#line 558 "getopt_io.m"
        *mercury__getopt_io__OptionArgs_24 = mercury__getopt_io__OptionArgs1_34;
#line 260 "string.opt"
        {
#line 260 "string.opt"
          mercury__string__append_3_p_2(mercury__getopt_io__Option_16, (MR_String) "\' needs an argument", &mercury__getopt_io__V_46_46);
        }
#line 260 "string.opt"
        {
#line 260 "string.opt"
          mercury__string__append_3_p_2((MR_String) "option \140", mercury__getopt_io__V_46_46, &mercury__getopt_io__ErrorMsg_35);
        }
#line 560 "getopt_io.m"
        {
#line 560 "getopt_io.m"
          MR_Word base;
#line 560 "getopt_io.m"
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 560 "getopt_io.m"
          *mercury__getopt_io__Result_26 = base;
#line 560 "getopt_io.m"
          MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_35));
#line 560 "getopt_io.m"
        }
#line 560 "getopt_io.m"
        *mercury__getopt_io__STATE_VARIABLE_OptionsSet_41 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_40;
#line 557 "getopt_io.m"
      }
#line 561 "getopt_io.m"
    else
#line 569 "getopt_io.m"
      {
#line 562 "getopt_io.m"
        MR_Word mercury__getopt_io__V_60_60;
#line 563 "getopt_io.m"
        MR_String mercury__getopt_io__V_36_36;

#line 954 "getopt_io.m"
        if ((mercury__getopt_io__OptionData_18 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 961 "getopt_io.m"
          mercury__getopt_io__V_60_60 = (MR_Integer) 0;
#line 954 "getopt_io.m"
        else
#line 954 "getopt_io.m"
          if ((mercury__getopt_io__OptionData_18 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 5)))))
#line 965 "getopt_io.m"
            mercury__getopt_io__V_60_60 = (MR_Integer) 1;
#line 954 "getopt_io.m"
          else
#line 954 "getopt_io.m"
            if ((mercury__getopt_io__OptionData_18 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 962 "getopt_io.m"
              mercury__getopt_io__V_60_60 = (MR_Integer) 1;
#line 954 "getopt_io.m"
            else
#line 954 "getopt_io.m"
              if ((mercury__getopt_io__OptionData_18 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 964 "getopt_io.m"
                mercury__getopt_io__V_60_60 = (MR_Integer) 1;
#line 954 "getopt_io.m"
              else
#line 954 "getopt_io.m"
                if ((mercury__getopt_io__OptionData_18 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 960 "getopt_io.m"
                  mercury__getopt_io__V_60_60 = (MR_Integer) 0;
#line 954 "getopt_io.m"
                else
#line 954 "getopt_io.m"
                  if ((mercury__getopt_io__OptionData_18 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 963 "getopt_io.m"
                    mercury__getopt_io__V_60_60 = (MR_Integer) 1;
#line 954 "getopt_io.m"
                  else
#line 954 "getopt_io.m"
                    if (((MR_tag((MR_Word) mercury__getopt_io__OptionData_18)) == (MR_mktag((MR_Integer) 1))))
#line 954 "getopt_io.m"
                      mercury__getopt_io__V_60_60 = (MR_Integer) 0;
#line 954 "getopt_io.m"
                    else
#line 954 "getopt_io.m"
                      if (((MR_tag((MR_Word) mercury__getopt_io__OptionData_18)) == (MR_mktag((MR_Integer) 2))))
#line 955 "getopt_io.m"
                        mercury__getopt_io__V_60_60 = (MR_Integer) 1;
#line 954 "getopt_io.m"
                      else
#line 954 "getopt_io.m"
                        if (((((MR_tag((MR_Word) mercury__getopt_io__OptionData_18)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__OptionData_18, (MR_Integer) 0)))) == (MR_Integer) 3))))
#line 959 "getopt_io.m"
                          mercury__getopt_io__V_60_60 = (MR_Integer) 1;
#line 954 "getopt_io.m"
                        else
#line 954 "getopt_io.m"
                          if (((((MR_tag((MR_Word) mercury__getopt_io__OptionData_18)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__OptionData_18, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 957 "getopt_io.m"
                            mercury__getopt_io__V_60_60 = (MR_Integer) 1;
#line 954 "getopt_io.m"
                          else
#line 954 "getopt_io.m"
                            if (((((MR_tag((MR_Word) mercury__getopt_io__OptionData_18)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__OptionData_18, (MR_Integer) 0)))) == (MR_Integer) 2))))
#line 958 "getopt_io.m"
                              mercury__getopt_io__V_60_60 = (MR_Integer) 1;
#line 954 "getopt_io.m"
                            else
#line 956 "getopt_io.m"
                              mercury__getopt_io__V_60_60 = (MR_Integer) 1;
#line 562 "getopt_io.m"
        mercury__getopt_io__succeeded = ((MR_Integer) 0 == mercury__getopt_io__V_60_60);
#line 562 "getopt_io.m"
        if (mercury__getopt_io__succeeded)
#line 562 "getopt_io.m"
          {
#line 563 "getopt_io.m"
            mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__MaybeOptionArg_31)) == (MR_mktag((MR_Integer) 1)));
#line 563 "getopt_io.m"
            if (mercury__getopt_io__succeeded)
#line 563 "getopt_io.m"
              mercury__getopt_io__V_36_36 = ((MR_String) (MR_hl_field(MR_mktag(1), mercury__getopt_io__MaybeOptionArg_31, (MR_Integer) 0)));
#line 562 "getopt_io.m"
          }
#line 569 "getopt_io.m"
        if (mercury__getopt_io__succeeded)
#line 565 "getopt_io.m"
          {
#line 565 "getopt_io.m"
            MR_String mercury__getopt_io__V_50_50;
#line 565 "getopt_io.m"
            MR_String mercury__getopt_io__ErrorMsg_56;

#line 565 "getopt_io.m"
            *mercury__getopt_io__Args_21 = mercury__getopt_io__Args0_20;
#line 566 "getopt_io.m"
            *mercury__getopt_io__OptionArgs_24 = mercury__getopt_io__OptionArgs1_34;
#line 260 "string.opt"
            {
#line 260 "string.opt"
              mercury__string__append_3_p_2(mercury__getopt_io__Option_16, (MR_String) "\' does not allow an argument", &mercury__getopt_io__V_50_50);
            }
#line 260 "string.opt"
            {
#line 260 "string.opt"
              mercury__string__append_3_p_2((MR_String) "option \140", mercury__getopt_io__V_50_50, &mercury__getopt_io__ErrorMsg_56);
            }
#line 568 "getopt_io.m"
            {
#line 568 "getopt_io.m"
              MR_Word base;
#line 568 "getopt_io.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 568 "getopt_io.m"
              *mercury__getopt_io__Result_26 = base;
#line 568 "getopt_io.m"
              MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_56));
#line 568 "getopt_io.m"
            }
#line 568 "getopt_io.m"
            *mercury__getopt_io__STATE_VARIABLE_OptionsSet_41 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_40;
#line 565 "getopt_io.m"
          }
#line 569 "getopt_io.m"
        else
#line 571 "getopt_io.m"
          {
#line 571 "getopt_io.m"
            MR_Word mercury__getopt_io__Result1_37;
#line 571 "getopt_io.m"
            MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_52_52;

#line 570 "getopt_io.m"
            {
#line 570 "getopt_io.m"
              mercury__getopt_io__process_option_11_p_0(mercury__getopt_io__TypeInfo_for_OptionType_58, mercury__getopt_io__OptionData_18, mercury__getopt_io__Option_16, mercury__getopt_io__Flag_17, mercury__getopt_io__MaybeOptionArg_31, mercury__getopt_io__OptionOps_22, mercury__getopt_io__OptionTable0_25, &mercury__getopt_io__Result1_37, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_40, &mercury__getopt_io__STATE_VARIABLE_OptionsSet_52_52);
            }
#line 577 "getopt_io.m"
            if (((MR_tag((MR_Word) mercury__getopt_io__Result1_37)) == (MR_mktag((MR_Integer) 1))))
#line 578 "getopt_io.m"
              {
#line 579 "getopt_io.m"
                *mercury__getopt_io__Result_26 = mercury__getopt_io__Result1_37;
#line 580 "getopt_io.m"
                *mercury__getopt_io__OptionArgs_24 = mercury__getopt_io__OptionArgs1_34;
#line 581 "getopt_io.m"
                *mercury__getopt_io__Args_21 = mercury__getopt_io__Args1_32;
#line 581 "getopt_io.m"
                *mercury__getopt_io__STATE_VARIABLE_OptionsSet_41 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_52_52;
#line 578 "getopt_io.m"
              }
#line 577 "getopt_io.m"
            else
#line 573 "getopt_io.m"
              {
#line 573 "getopt_io.m"
                MR_Word mercury__getopt_io__OptionTable1_38 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__Result1_37, (MR_Integer) 0)));

#line 574 "getopt_io.m"
                {
#line 574 "getopt_io.m"
                  mercury__getopt_io__process_arguments_11_p_0(mercury__getopt_io__TypeInfo_for_OptionType_58, mercury__getopt_io__Args1_32, mercury__getopt_io__Args_21, mercury__getopt_io__OptionOps_22, mercury__getopt_io__OptionArgs1_34, mercury__getopt_io__OptionArgs_24, mercury__getopt_io__OptionTable1_38, mercury__getopt_io__Result_26, mercury__getopt_io__STATE_VARIABLE_OptionsSet_52_52, mercury__getopt_io__STATE_VARIABLE_OptionsSet_41);
#line 574 "getopt_io.m"
                  return;
                }
#line 573 "getopt_io.m"
              }
#line 571 "getopt_io.m"
          }
#line 569 "getopt_io.m"
      }
#line 532 "getopt_io.m"
  }
#line 522 "getopt_io.m"
}

#line 396 "getopt_io.m"
void MR_CALL 
mercury__getopt_io__process_arguments_11_p_0(
#line 396 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_161,
#line 396 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__1_1,
#line 396 "getopt_io.m"
  MR_Word * mercury__getopt_io__HeadVar__2_2,
#line 396 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionOps_3,
#line 396 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__4_4,
#line 396 "getopt_io.m"
  MR_Word * mercury__getopt_io__OptionArgs_5,
#line 396 "getopt_io.m"
  MR_Word mercury__getopt_io__HeadVar__6_6,
#line 396 "getopt_io.m"
  MR_Word * mercury__getopt_io__HeadVar__7_7,
#line 396 "getopt_io.m"
  MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8,
#line 396 "getopt_io.m"
  MR_Word * mercury__getopt_io__STATE_VARIABLE_OptionsSet_9)
#line 396 "getopt_io.m"
{
#line 402 "getopt_io.m"
  while (MR_TRUE)
#line 402 "getopt_io.m"
    {
#line 402 "getopt_io.m"
      /* tailcall optimized into a loop */
#line 402 "getopt_io.m"
      {
#line 402 "getopt_io.m"
        MR_bool mercury__getopt_io__succeeded;

#line 402 "getopt_io.m"
        if ((mercury__getopt_io__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 402 "getopt_io.m"
          {
#line 402 "getopt_io.m"
            *mercury__getopt_io__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 402 "getopt_io.m"
            *mercury__getopt_io__OptionArgs_5 = mercury__getopt_io__HeadVar__4_4;
#line 402 "getopt_io.m"
            {
#line 402 "getopt_io.m"
              MR_Word base;
#line 402 "getopt_io.m"
              base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 402 "getopt_io.m"
              *mercury__getopt_io__HeadVar__7_7 = base;
#line 402 "getopt_io.m"
              MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (mercury__getopt_io__HeadVar__6_6));
#line 402 "getopt_io.m"
            }
#line 402 "getopt_io.m"
            *mercury__getopt_io__STATE_VARIABLE_OptionsSet_9 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8;
#line 402 "getopt_io.m"
          }
#line 402 "getopt_io.m"
        else
#line 405 "getopt_io.m"
          {
#line 405 "getopt_io.m"
            MR_String mercury__getopt_io__Option_21 = ((MR_String) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 0)));
#line 405 "getopt_io.m"
            MR_Word mercury__getopt_io__Args0_22 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__HeadVar__1_1, (MR_Integer) 1)));

#line 406 "getopt_io.m"
            mercury__getopt_io__succeeded = (strcmp(mercury__getopt_io__Option_21, (MR_String) "--") == 0);
#line 410 "getopt_io.m"
            if (mercury__getopt_io__succeeded)
#line 407 "getopt_io.m"
              {
#line 407 "getopt_io.m"
                *mercury__getopt_io__OptionArgs_5 = mercury__getopt_io__HeadVar__4_4;
#line 408 "getopt_io.m"
                *mercury__getopt_io__HeadVar__2_2 = mercury__getopt_io__Args0_22;
#line 409 "getopt_io.m"
                {
#line 409 "getopt_io.m"
                  MR_Word base;
#line 409 "getopt_io.m"
                  base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 409 "getopt_io.m"
                  *mercury__getopt_io__HeadVar__7_7 = base;
#line 409 "getopt_io.m"
                  MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (mercury__getopt_io__HeadVar__6_6));
#line 409 "getopt_io.m"
                }
#line 409 "getopt_io.m"
                *mercury__getopt_io__STATE_VARIABLE_OptionsSet_9 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8;
#line 407 "getopt_io.m"
              }
#line 410 "getopt_io.m"
            else
#line 433 "getopt_io.m"
              {
#line 433 "getopt_io.m"
                MR_String mercury__getopt_io__LongOption_31;

#line 410 "getopt_io.m"
                {
#line 410 "getopt_io.m"
                  mercury__getopt_io__succeeded = mercury__string__append_3_p_1((MR_String) "--no-", &mercury__getopt_io__LongOption_31, mercury__getopt_io__Option_21);
                }
#line 433 "getopt_io.m"
                if (mercury__getopt_io__succeeded)
#line 411 "getopt_io.m"
                  {
#line 411 "getopt_io.m"
                    MR_Word mercury__getopt_io__LongOptionPred_32 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_3, (MR_Integer) 1)));
#line 411 "getopt_io.m"
                    MR_Word mercury__getopt_io__V_155_155 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_3, (MR_Integer) 0)));
#line 411 "getopt_io.m"
                    MR_Word mercury__getopt_io__V_156_156 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_3, (MR_Integer) 2)));
#line 427 "getopt_io.m"
                    MR_Box mercury__getopt_io__Flag_33;
#line 412 "getopt_io.m"
                    MR_bool MR_CALL (* mercury__getopt_io__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__getopt_io__LongOptionPred_32, (MR_Integer) 1)));

#line 412 "getopt_io.m"
                    {
#line 412 "getopt_io.m"
                      mercury__getopt_io__succeeded = mercury__getopt_io__func_0(((MR_Box) mercury__getopt_io__LongOptionPred_32), ((MR_Box) (mercury__getopt_io__LongOption_31)), &mercury__getopt_io__Flag_33);
                    }
#line 427 "getopt_io.m"
                    if (mercury__getopt_io__succeeded)
#line 413 "getopt_io.m"
                      {
#line 413 "getopt_io.m"
                        MR_String mercury__getopt_io__OptName_34;
#line 413 "getopt_io.m"
                        MR_Word mercury__getopt_io__Result1_35;
#line 413 "getopt_io.m"
                        MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_60_60;

#line 413 "getopt_io.m"
                        {
#line 413 "getopt_io.m"
                          mercury__string__append_3_p_2((MR_String) "--", mercury__getopt_io__LongOption_31, &mercury__getopt_io__OptName_34);
                        }
#line 414 "getopt_io.m"
                        {
#line 414 "getopt_io.m"
                          mercury__getopt_io__process_negated_option_7_p_0(mercury__getopt_io__TypeInfo_for_OptionType_161, mercury__getopt_io__OptName_34, mercury__getopt_io__Flag_33, mercury__getopt_io__OptionOps_3, mercury__getopt_io__HeadVar__6_6, &mercury__getopt_io__Result1_35, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8, &mercury__getopt_io__STATE_VARIABLE_OptionsSet_60_60);
                        }
#line 421 "getopt_io.m"
                        if (((MR_tag((MR_Word) mercury__getopt_io__Result1_35)) == (MR_mktag((MR_Integer) 1))))
#line 422 "getopt_io.m"
                          {
#line 423 "getopt_io.m"
                            *mercury__getopt_io__HeadVar__7_7 = mercury__getopt_io__Result1_35;
#line 424 "getopt_io.m"
                            *mercury__getopt_io__OptionArgs_5 = mercury__getopt_io__HeadVar__4_4;
#line 425 "getopt_io.m"
                            *mercury__getopt_io__HeadVar__2_2 = mercury__getopt_io__Args0_22;
#line 425 "getopt_io.m"
                            *mercury__getopt_io__STATE_VARIABLE_OptionsSet_9 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_60_60;
#line 422 "getopt_io.m"
                          }
#line 421 "getopt_io.m"
                        else
#line 417 "getopt_io.m"
                          {
#line 417 "getopt_io.m"
                            MR_Word mercury__getopt_io__OptionTable1_36 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__Result1_35, (MR_Integer) 0)));
#line 417 "getopt_io.m"
                            MR_Word mercury__getopt_io__V_61_61;

#line 418 "getopt_io.m"
                            {
#line 418 "getopt_io.m"
                              mercury__getopt_io__V_61_61 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 418 "getopt_io.m"
                              MR_hl_field(MR_mktag(1), mercury__getopt_io__V_61_61, 0) = ((MR_Box) (mercury__getopt_io__Option_21));
#line 418 "getopt_io.m"
                              MR_hl_field(MR_mktag(1), mercury__getopt_io__V_61_61, 1) = ((MR_Box) (mercury__getopt_io__HeadVar__4_4));
#line 418 "getopt_io.m"
                            }
#line 418 "getopt_io.m"
                            /* direct tailcall eliminated */
#line 418 "getopt_io.m"
                            {
#line 418 "getopt_io.m"
                              MR_Word mercury__getopt_io__HeadVar__1__tmp_copy_1 = mercury__getopt_io__Args0_22;
#line 418 "getopt_io.m"
                              MR_Word mercury__getopt_io__HeadVar__4__tmp_copy_4 = mercury__getopt_io__V_61_61;
#line 418 "getopt_io.m"
                              MR_Word mercury__getopt_io__HeadVar__6__tmp_copy_6 = mercury__getopt_io__OptionTable1_36;
#line 418 "getopt_io.m"
                              MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_0__tmp_copy_8 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_60_60;

#line 418 "getopt_io.m"
                              mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0__tmp_copy_8;
#line 418 "getopt_io.m"
                              mercury__getopt_io__HeadVar__6_6 = mercury__getopt_io__HeadVar__6__tmp_copy_6;
#line 418 "getopt_io.m"
                              mercury__getopt_io__HeadVar__4_4 = mercury__getopt_io__HeadVar__4__tmp_copy_4;
#line 418 "getopt_io.m"
                              mercury__getopt_io__HeadVar__1_1 = mercury__getopt_io__HeadVar__1__tmp_copy_1;
#line 418 "getopt_io.m"
                            }
#line 418 "getopt_io.m"
                            continue;
#line 417 "getopt_io.m"
                          }
#line 413 "getopt_io.m"
                      }
#line 427 "getopt_io.m"
                    else
#line 428 "getopt_io.m"
                      {
#line 428 "getopt_io.m"
                        MR_String mercury__getopt_io__ErrorMsg_38;
#line 428 "getopt_io.m"
                        MR_String mercury__getopt_io__V_65_65;

#line 428 "getopt_io.m"
                        {
#line 428 "getopt_io.m"
                          mercury__getopt_io__V_65_65 = mercury__string__f_43_43_2_f_0(mercury__getopt_io__Option_21, (MR_String) "\'");
                        }
#line 428 "getopt_io.m"
                        {
#line 428 "getopt_io.m"
                          mercury__getopt_io__ErrorMsg_38 = mercury__string__f_43_43_2_f_0((MR_String) "unrecognized option \140-", mercury__getopt_io__V_65_65);
                        }
#line 429 "getopt_io.m"
                        {
#line 429 "getopt_io.m"
                          MR_Word base;
#line 429 "getopt_io.m"
                          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 429 "getopt_io.m"
                          *mercury__getopt_io__HeadVar__7_7 = base;
#line 429 "getopt_io.m"
                          MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_38));
#line 429 "getopt_io.m"
                        }
#line 430 "getopt_io.m"
                        *mercury__getopt_io__OptionArgs_5 = mercury__getopt_io__HeadVar__4_4;
#line 431 "getopt_io.m"
                        *mercury__getopt_io__HeadVar__2_2 = mercury__getopt_io__Args0_22;
#line 431 "getopt_io.m"
                        *mercury__getopt_io__STATE_VARIABLE_OptionsSet_9 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8;
#line 428 "getopt_io.m"
                      }
#line 411 "getopt_io.m"
                  }
#line 433 "getopt_io.m"
                else
#line 466 "getopt_io.m"
                  {
#line 466 "getopt_io.m"
                    MR_String mercury__getopt_io__LongOptionStr_39;

#line 433 "getopt_io.m"
                    {
#line 433 "getopt_io.m"
                      mercury__getopt_io__succeeded = mercury__string__append_3_p_1((MR_String) "--", &mercury__getopt_io__LongOptionStr_39, mercury__getopt_io__Option_21);
                    }
#line 466 "getopt_io.m"
                    if (mercury__getopt_io__succeeded)
#line 434 "getopt_io.m"
                      {
#line 434 "getopt_io.m"
                        MR_Word mercury__getopt_io__MaybeArg_43;
#line 434 "getopt_io.m"
                        MR_String mercury__getopt_io__OptionName_44;
#line 434 "getopt_io.m"
                        MR_String mercury__getopt_io__LongOption_108;
#line 434 "getopt_io.m"
                        MR_Word mercury__getopt_io__LongOptionPred_109 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_3, (MR_Integer) 1)));
#line 434 "getopt_io.m"
                        MR_Word mercury__getopt_io__V_157_157 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_3, (MR_Integer) 0)));
#line 434 "getopt_io.m"
                        MR_Word mercury__getopt_io__V_158_158 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_3, (MR_Integer) 2)));
#line 443 "getopt_io.m"
                        MR_Integer mercury__getopt_io__OptionLen_40;
#line 460 "getopt_io.m"
                        MR_Box mercury__getopt_io__Flag_106;
#line 448 "getopt_io.m"
                        MR_bool MR_CALL (* mercury__getopt_io__func_1)(MR_Box, MR_Box, MR_Box *);

#line 435 "getopt_io.m"
                        {
#line 435 "getopt_io.m"
                          mercury__getopt_io__succeeded = mercury__string__sub_string_search_3_p_0(mercury__getopt_io__LongOptionStr_39, (MR_String) "=", &mercury__getopt_io__OptionLen_40);
                        }
#line 443 "getopt_io.m"
                        if (mercury__getopt_io__succeeded)
#line 437 "getopt_io.m"
                          {
#line 437 "getopt_io.m"
                            MR_String mercury__getopt_io__EqualOptionArg_41;
#line 440 "getopt_io.m"
                            MR_String mercury__getopt_io__OptionArg_42;

#line 436 "getopt_io.m"
                            {
#line 436 "getopt_io.m"
                              mercury__string__split_4_p_0(mercury__getopt_io__LongOptionStr_39, mercury__getopt_io__OptionLen_40, &mercury__getopt_io__LongOption_108, &mercury__getopt_io__EqualOptionArg_41);
                            }
#line 438 "getopt_io.m"
                            {
#line 438 "getopt_io.m"
                              mercury__getopt_io__succeeded = mercury__string__first_char_3_p_2(mercury__getopt_io__EqualOptionArg_41, (MR_Char) 61, &mercury__getopt_io__OptionArg_42);
                            }
#line 440 "getopt_io.m"
                            if (mercury__getopt_io__succeeded)
#line 439 "getopt_io.m"
                              {
#line 439 "getopt_io.m"
                                mercury__getopt_io__MaybeArg_43 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 439 "getopt_io.m"
                                MR_hl_field(MR_mktag(1), mercury__getopt_io__MaybeArg_43, 0) = ((MR_Box) (mercury__getopt_io__OptionArg_42));
#line 439 "getopt_io.m"
                              }
#line 440 "getopt_io.m"
                            else
#line 441 "getopt_io.m"
                              {
#line 441 "getopt_io.m"
                                {
#line 441 "getopt_io.m"
                                  mercury__require__error_1_p_0((MR_String) "bad split of --longoption=arg");
#line 441 "getopt_io.m"
                                  return;
                                }
#line 441 "getopt_io.m"
                              }
#line 437 "getopt_io.m"
                          }
#line 443 "getopt_io.m"
                        else
#line 444 "getopt_io.m"
                          {
#line 444 "getopt_io.m"
                            mercury__getopt_io__LongOption_108 = mercury__getopt_io__LongOptionStr_39;
#line 445 "getopt_io.m"
                            mercury__getopt_io__MaybeArg_43 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 444 "getopt_io.m"
                          }
#line 447 "getopt_io.m"
                        {
#line 447 "getopt_io.m"
                          mercury__getopt_io__OptionName_44 = mercury__string__f_43_43_2_f_0((MR_String) "--", mercury__getopt_io__LongOption_108);
                        }
#line 448 "getopt_io.m"
                        mercury__getopt_io__func_1 = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__getopt_io__LongOptionPred_109, (MR_Integer) 1)));
#line 448 "getopt_io.m"
                        {
#line 448 "getopt_io.m"
                          mercury__getopt_io__succeeded = mercury__getopt_io__func_1(((MR_Box) mercury__getopt_io__LongOptionPred_109), ((MR_Box) (mercury__getopt_io__LongOption_108)), &mercury__getopt_io__Flag_106);
                        }
#line 460 "getopt_io.m"
                        if (mercury__getopt_io__succeeded)
#line 454 "getopt_io.m"
                          {
#line 454 "getopt_io.m"
                            MR_Word mercury__getopt_io__OptionData_45;
#line 449 "getopt_io.m"
                            MR_Word mercury__getopt_io__TypeCtorInfo_162_162 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 449 "getopt_io.m"
                            MR_Box mercury__getopt_io__conv2_OptionData_45;

#line 449 "getopt_io.m"
                            {
#line 449 "getopt_io.m"
                              mercury__getopt_io__succeeded = mercury__map__search_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_161, mercury__getopt_io__TypeCtorInfo_162_162, mercury__getopt_io__HeadVar__6_6, mercury__getopt_io__Flag_106, &mercury__getopt_io__conv2_OptionData_45);
                            }
#line 449 "getopt_io.m"
                            if (mercury__getopt_io__succeeded)
#line 449 "getopt_io.m"
                              {
#line 449 "getopt_io.m"
                                mercury__getopt_io__OptionData_45 = ((MR_Word) mercury__getopt_io__conv2_OptionData_45);
#line 449 "getopt_io.m"
                                mercury__getopt_io__succeeded = MR_TRUE;
#line 449 "getopt_io.m"
                              }
#line 454 "getopt_io.m"
                            if (mercury__getopt_io__succeeded)
#line 450 "getopt_io.m"
                              {
#line 450 "getopt_io.m"
                                MR_Word mercury__getopt_io__V_72_72;

#line 450 "getopt_io.m"
                                {
#line 450 "getopt_io.m"
                                  mercury__getopt_io__V_72_72 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 450 "getopt_io.m"
                                  MR_hl_field(MR_mktag(1), mercury__getopt_io__V_72_72, 0) = ((MR_Box) (mercury__getopt_io__Option_21));
#line 450 "getopt_io.m"
                                  MR_hl_field(MR_mktag(1), mercury__getopt_io__V_72_72, 1) = ((MR_Box) (mercury__getopt_io__HeadVar__4_4));
#line 450 "getopt_io.m"
                                }
#line 450 "getopt_io.m"
                                {
#line 450 "getopt_io.m"
                                  mercury__getopt_io__handle_long_option_15_p_0(mercury__getopt_io__TypeInfo_for_OptionType_161, mercury__getopt_io__OptionName_44, mercury__getopt_io__Flag_106, mercury__getopt_io__OptionData_45, mercury__getopt_io__MaybeArg_43, mercury__getopt_io__Args0_22, mercury__getopt_io__HeadVar__2_2, mercury__getopt_io__OptionOps_3, mercury__getopt_io__V_72_72, mercury__getopt_io__OptionArgs_5, mercury__getopt_io__HeadVar__6_6, mercury__getopt_io__HeadVar__7_7, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8, mercury__getopt_io__STATE_VARIABLE_OptionsSet_9);
#line 450 "getopt_io.m"
                                  return;
                                }
#line 450 "getopt_io.m"
                              }
#line 454 "getopt_io.m"
                            else
#line 455 "getopt_io.m"
                              {
#line 455 "getopt_io.m"
                                MR_String mercury__getopt_io__V_76_76;
#line 455 "getopt_io.m"
                                MR_String mercury__getopt_io__ErrorMsg_103;

#line 455 "getopt_io.m"
                                {
#line 455 "getopt_io.m"
                                  mercury__getopt_io__V_76_76 = mercury__string__f_43_43_2_f_0(mercury__getopt_io__Option_21, (MR_String) "\'");
                                }
#line 455 "getopt_io.m"
                                {
#line 455 "getopt_io.m"
                                  mercury__getopt_io__ErrorMsg_103 = mercury__string__f_43_43_2_f_0((MR_String) "unknown type for option \140", mercury__getopt_io__V_76_76);
                                }
#line 456 "getopt_io.m"
                                {
#line 456 "getopt_io.m"
                                  MR_Word base;
#line 456 "getopt_io.m"
                                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 456 "getopt_io.m"
                                  *mercury__getopt_io__HeadVar__7_7 = base;
#line 456 "getopt_io.m"
                                  MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_103));
#line 456 "getopt_io.m"
                                }
#line 457 "getopt_io.m"
                                *mercury__getopt_io__OptionArgs_5 = mercury__getopt_io__HeadVar__4_4;
#line 458 "getopt_io.m"
                                *mercury__getopt_io__HeadVar__2_2 = mercury__getopt_io__Args0_22;
#line 458 "getopt_io.m"
                                *mercury__getopt_io__STATE_VARIABLE_OptionsSet_9 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8;
#line 455 "getopt_io.m"
                              }
#line 454 "getopt_io.m"
                          }
#line 460 "getopt_io.m"
                        else
#line 461 "getopt_io.m"
                          {
#line 461 "getopt_io.m"
                            MR_String mercury__getopt_io__V_79_79;
#line 461 "getopt_io.m"
                            MR_String mercury__getopt_io__ErrorMsg_105;

#line 461 "getopt_io.m"
                            {
#line 461 "getopt_io.m"
                              mercury__getopt_io__V_79_79 = mercury__string__f_43_43_2_f_0(mercury__getopt_io__OptionName_44, (MR_String) "\'");
                            }
#line 461 "getopt_io.m"
                            {
#line 461 "getopt_io.m"
                              mercury__getopt_io__ErrorMsg_105 = mercury__string__f_43_43_2_f_0((MR_String) "unrecognized option \140", mercury__getopt_io__V_79_79);
                            }
#line 462 "getopt_io.m"
                            {
#line 462 "getopt_io.m"
                              MR_Word base;
#line 462 "getopt_io.m"
                              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 462 "getopt_io.m"
                              *mercury__getopt_io__HeadVar__7_7 = base;
#line 462 "getopt_io.m"
                              MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_105));
#line 462 "getopt_io.m"
                            }
#line 463 "getopt_io.m"
                            *mercury__getopt_io__OptionArgs_5 = mercury__getopt_io__HeadVar__4_4;
#line 464 "getopt_io.m"
                            *mercury__getopt_io__HeadVar__2_2 = mercury__getopt_io__Args0_22;
#line 464 "getopt_io.m"
                            *mercury__getopt_io__STATE_VARIABLE_OptionsSet_9 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8;
#line 461 "getopt_io.m"
                          }
#line 434 "getopt_io.m"
                      }
#line 466 "getopt_io.m"
                    else
#line 513 "getopt_io.m"
                      {
#line 513 "getopt_io.m"
                        MR_String mercury__getopt_io__ShortOptions_46;

#line 466 "getopt_io.m"
                        {
#line 466 "getopt_io.m"
                          mercury__getopt_io__succeeded = mercury__string__first_char_3_p_2(mercury__getopt_io__Option_21, (MR_Char) 45, &mercury__getopt_io__ShortOptions_46);
                        }
#line 466 "getopt_io.m"
                        if (mercury__getopt_io__succeeded)
#line 466 "getopt_io.m"
                          {
#line 466 "getopt_io.m"
                            mercury__getopt_io__succeeded = (strcmp(mercury__getopt_io__ShortOptions_46, (MR_String) "") == 0);
#line 466 "getopt_io.m"
                            mercury__getopt_io__succeeded = !(mercury__getopt_io__succeeded);
#line 466 "getopt_io.m"
                          }
#line 513 "getopt_io.m"
                        if (mercury__getopt_io__succeeded)
#line 467 "getopt_io.m"
                          {
#line 467 "getopt_io.m"
                            MR_Word mercury__getopt_io__ShortOptionsList_47;
#line 492 "getopt_io.m"
                            MR_Char mercury__getopt_io__SingleShortOpt_48;
#line 469 "getopt_io.m"
                            MR_Word mercury__getopt_io__V_82_82;
#line 469 "getopt_io.m"
                            MR_Char mercury__getopt_io__V_83_83;
#line 469 "getopt_io.m"
                            MR_Word mercury__getopt_io__V_84_84;

#line 467 "getopt_io.m"
                            {
#line 467 "getopt_io.m"
                              mercury__string__to_char_list_2_p_0(mercury__getopt_io__ShortOptions_46, &mercury__getopt_io__ShortOptionsList_47);
                            }
#line 469 "getopt_io.m"
                            mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__ShortOptionsList_47)) == (MR_mktag((MR_Integer) 1)));
#line 469 "getopt_io.m"
                            if (mercury__getopt_io__succeeded)
#line 469 "getopt_io.m"
                              {
#line 469 "getopt_io.m"
                                mercury__getopt_io__SingleShortOpt_48 = ((MR_Char) (MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__ShortOptionsList_47, (MR_Integer) 0)));
#line 469 "getopt_io.m"
                                mercury__getopt_io__V_82_82 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__ShortOptionsList_47, (MR_Integer) 1)));
#line 469 "getopt_io.m"
                                mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__V_82_82)) == (MR_mktag((MR_Integer) 1)));
#line 469 "getopt_io.m"
                                if (mercury__getopt_io__succeeded)
#line 469 "getopt_io.m"
                                  {
#line 469 "getopt_io.m"
                                    mercury__getopt_io__V_83_83 = ((MR_Char) (MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__V_82_82, (MR_Integer) 0)));
#line 469 "getopt_io.m"
                                    mercury__getopt_io__V_84_84 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__V_82_82, (MR_Integer) 1)));
#line 469 "getopt_io.m"
                                    mercury__getopt_io__succeeded = (mercury__getopt_io__V_83_83 == (MR_Char) 45);
#line 469 "getopt_io.m"
                                    if (mercury__getopt_io__succeeded)
#line 469 "getopt_io.m"
                                      mercury__getopt_io__succeeded = (mercury__getopt_io__V_84_84 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 469 "getopt_io.m"
                                  }
#line 469 "getopt_io.m"
                              }
#line 492 "getopt_io.m"
                            if (mercury__getopt_io__succeeded)
#line 470 "getopt_io.m"
                              {
#line 470 "getopt_io.m"
                                MR_Word mercury__getopt_io__ShortOptionPred_49 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_3, (MR_Integer) 0)));
#line 470 "getopt_io.m"
                                MR_Word mercury__getopt_io__V_159_159 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_3, (MR_Integer) 1)));
#line 470 "getopt_io.m"
                                MR_Word mercury__getopt_io__V_160_160 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_3, (MR_Integer) 2)));
#line 486 "getopt_io.m"
                                MR_Box mercury__getopt_io__Flag_118;
#line 471 "getopt_io.m"
                                MR_bool MR_CALL (* mercury__getopt_io__func_3)(MR_Box, MR_Box, MR_Box *) = ((MR_bool MR_CALL (*)(MR_Box, MR_Box, MR_Box *)) (MR_hl_field(MR_mktag(0), mercury__getopt_io__ShortOptionPred_49, (MR_Integer) 1)));

#line 471 "getopt_io.m"
                                {
#line 471 "getopt_io.m"
                                  mercury__getopt_io__succeeded = mercury__getopt_io__func_3(((MR_Box) mercury__getopt_io__ShortOptionPred_49), ((MR_Box) (MR_Word) (mercury__getopt_io__SingleShortOpt_48)), &mercury__getopt_io__Flag_118);
                                }
#line 486 "getopt_io.m"
                                if (mercury__getopt_io__succeeded)
#line 472 "getopt_io.m"
                                  {
#line 472 "getopt_io.m"
                                    MR_Word mercury__getopt_io__V_85_85;
#line 472 "getopt_io.m"
                                    MR_Word mercury__getopt_io__V_87_87;
#line 472 "getopt_io.m"
                                    MR_Word mercury__getopt_io__V_88_88 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 472 "getopt_io.m"
                                    MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_89_89;
#line 472 "getopt_io.m"
                                    MR_String mercury__getopt_io__OptName_114;
#line 472 "getopt_io.m"
                                    MR_Word mercury__getopt_io__Result1_115;

#line 472 "getopt_io.m"
                                    {
#line 472 "getopt_io.m"
                                      mercury__getopt_io__V_87_87 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 472 "getopt_io.m"
                                      MR_hl_field(MR_mktag(1), mercury__getopt_io__V_87_87, 0) = ((MR_Box) (MR_Word) (mercury__getopt_io__SingleShortOpt_48));
#line 472 "getopt_io.m"
                                      MR_hl_field(MR_mktag(1), mercury__getopt_io__V_87_87, 1) = ((MR_Box) (mercury__getopt_io__V_88_88));
#line 472 "getopt_io.m"
                                    }
#line 472 "getopt_io.m"
                                    {
#line 472 "getopt_io.m"
                                      mercury__getopt_io__V_85_85 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 472 "getopt_io.m"
                                      MR_hl_field(MR_mktag(1), mercury__getopt_io__V_85_85, 0) = ((MR_Box) (MR_Word) ((MR_Char) 45));
#line 472 "getopt_io.m"
                                      MR_hl_field(MR_mktag(1), mercury__getopt_io__V_85_85, 1) = ((MR_Box) (mercury__getopt_io__V_87_87));
#line 472 "getopt_io.m"
                                    }
#line 472 "getopt_io.m"
                                    {
#line 472 "getopt_io.m"
                                      mercury__string__from_char_list_2_p_0(mercury__getopt_io__V_85_85, &mercury__getopt_io__OptName_114);
                                    }
#line 473 "getopt_io.m"
                                    {
#line 473 "getopt_io.m"
                                      mercury__getopt_io__process_negated_option_7_p_0(mercury__getopt_io__TypeInfo_for_OptionType_161, mercury__getopt_io__OptName_114, mercury__getopt_io__Flag_118, mercury__getopt_io__OptionOps_3, mercury__getopt_io__HeadVar__6_6, &mercury__getopt_io__Result1_115, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8, &mercury__getopt_io__STATE_VARIABLE_OptionsSet_89_89);
                                    }
#line 480 "getopt_io.m"
                                    if (((MR_tag((MR_Word) mercury__getopt_io__Result1_115)) == (MR_mktag((MR_Integer) 1))))
#line 481 "getopt_io.m"
                                      {
#line 482 "getopt_io.m"
                                        *mercury__getopt_io__HeadVar__7_7 = mercury__getopt_io__Result1_115;
#line 483 "getopt_io.m"
                                        *mercury__getopt_io__OptionArgs_5 = mercury__getopt_io__HeadVar__4_4;
#line 484 "getopt_io.m"
                                        *mercury__getopt_io__HeadVar__2_2 = mercury__getopt_io__Args0_22;
#line 484 "getopt_io.m"
                                        *mercury__getopt_io__STATE_VARIABLE_OptionsSet_9 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_89_89;
#line 481 "getopt_io.m"
                                      }
#line 480 "getopt_io.m"
                                    else
#line 476 "getopt_io.m"
                                      {
#line 476 "getopt_io.m"
                                        MR_Word mercury__getopt_io__V_90_90;
#line 476 "getopt_io.m"
                                        MR_Word mercury__getopt_io__OptionTable1_112 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__Result1_115, (MR_Integer) 0)));

#line 477 "getopt_io.m"
                                        {
#line 477 "getopt_io.m"
                                          mercury__getopt_io__V_90_90 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 477 "getopt_io.m"
                                          MR_hl_field(MR_mktag(1), mercury__getopt_io__V_90_90, 0) = ((MR_Box) (mercury__getopt_io__Option_21));
#line 477 "getopt_io.m"
                                          MR_hl_field(MR_mktag(1), mercury__getopt_io__V_90_90, 1) = ((MR_Box) (mercury__getopt_io__HeadVar__4_4));
#line 477 "getopt_io.m"
                                        }
#line 477 "getopt_io.m"
                                        /* direct tailcall eliminated */
#line 477 "getopt_io.m"
                                        {
#line 477 "getopt_io.m"
                                          MR_Word mercury__getopt_io__HeadVar__1__tmp_copy_1 = mercury__getopt_io__Args0_22;
#line 477 "getopt_io.m"
                                          MR_Word mercury__getopt_io__HeadVar__4__tmp_copy_4 = mercury__getopt_io__V_90_90;
#line 477 "getopt_io.m"
                                          MR_Word mercury__getopt_io__HeadVar__6__tmp_copy_6 = mercury__getopt_io__OptionTable1_112;
#line 477 "getopt_io.m"
                                          MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_0__tmp_copy_8 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_89_89;

#line 477 "getopt_io.m"
                                          mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0__tmp_copy_8;
#line 477 "getopt_io.m"
                                          mercury__getopt_io__HeadVar__6_6 = mercury__getopt_io__HeadVar__6__tmp_copy_6;
#line 477 "getopt_io.m"
                                          mercury__getopt_io__HeadVar__4_4 = mercury__getopt_io__HeadVar__4__tmp_copy_4;
#line 477 "getopt_io.m"
                                          mercury__getopt_io__HeadVar__1_1 = mercury__getopt_io__HeadVar__1__tmp_copy_1;
#line 477 "getopt_io.m"
                                        }
#line 477 "getopt_io.m"
                                        continue;
#line 476 "getopt_io.m"
                                      }
#line 472 "getopt_io.m"
                                  }
#line 486 "getopt_io.m"
                                else
#line 487 "getopt_io.m"
                                  {
#line 487 "getopt_io.m"
                                    MR_String mercury__getopt_io__V_94_94;
#line 487 "getopt_io.m"
                                    MR_String mercury__getopt_io__ErrorMsg_117;

#line 487 "getopt_io.m"
                                    {
#line 487 "getopt_io.m"
                                      mercury__getopt_io__V_94_94 = mercury__string__f_43_43_2_f_0(mercury__getopt_io__ShortOptions_46, (MR_String) "\'");
                                    }
#line 487 "getopt_io.m"
                                    {
#line 487 "getopt_io.m"
                                      mercury__getopt_io__ErrorMsg_117 = mercury__string__f_43_43_2_f_0((MR_String) "unrecognized option \140-", mercury__getopt_io__V_94_94);
                                    }
#line 488 "getopt_io.m"
                                    {
#line 488 "getopt_io.m"
                                      MR_Word base;
#line 488 "getopt_io.m"
                                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 488 "getopt_io.m"
                                      *mercury__getopt_io__HeadVar__7_7 = base;
#line 488 "getopt_io.m"
                                      MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__ErrorMsg_117));
#line 488 "getopt_io.m"
                                    }
#line 489 "getopt_io.m"
                                    *mercury__getopt_io__OptionArgs_5 = mercury__getopt_io__HeadVar__4_4;
#line 490 "getopt_io.m"
                                    *mercury__getopt_io__HeadVar__2_2 = mercury__getopt_io__Args0_22;
#line 490 "getopt_io.m"
                                    *mercury__getopt_io__STATE_VARIABLE_OptionsSet_9 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8;
#line 487 "getopt_io.m"
                                  }
#line 470 "getopt_io.m"
                              }
#line 492 "getopt_io.m"
                            else
#line 500 "getopt_io.m"
                              {
#line 500 "getopt_io.m"
                                MR_Word mercury__getopt_io__Args1_51;
#line 500 "getopt_io.m"
                                MR_Word mercury__getopt_io__OptionArgs1_52;
#line 500 "getopt_io.m"
                                MR_Word mercury__getopt_io__V_96_96;
#line 500 "getopt_io.m"
                                MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_97_97;
#line 500 "getopt_io.m"
                                MR_Word mercury__getopt_io__Result1_130;

#line 498 "getopt_io.m"
                                {
#line 498 "getopt_io.m"
                                  mercury__getopt_io__V_96_96 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 498 "getopt_io.m"
                                  MR_hl_field(MR_mktag(1), mercury__getopt_io__V_96_96, 0) = ((MR_Box) (mercury__getopt_io__Option_21));
#line 498 "getopt_io.m"
                                  MR_hl_field(MR_mktag(1), mercury__getopt_io__V_96_96, 1) = ((MR_Box) (mercury__getopt_io__HeadVar__4_4));
#line 498 "getopt_io.m"
                                }
#line 498 "getopt_io.m"
                                {
#line 498 "getopt_io.m"
                                  mercury__getopt_io__handle_short_options_12_p_0(mercury__getopt_io__TypeInfo_for_OptionType_161, mercury__getopt_io__ShortOptionsList_47, mercury__getopt_io__OptionOps_3, mercury__getopt_io__Args0_22, &mercury__getopt_io__Args1_51, mercury__getopt_io__V_96_96, &mercury__getopt_io__OptionArgs1_52, mercury__getopt_io__HeadVar__6_6, &mercury__getopt_io__Result1_130, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8, &mercury__getopt_io__STATE_VARIABLE_OptionsSet_97_97);
                                }
#line 506 "getopt_io.m"
                                if (((MR_tag((MR_Word) mercury__getopt_io__Result1_130)) == (MR_mktag((MR_Integer) 1))))
#line 507 "getopt_io.m"
                                  {
#line 508 "getopt_io.m"
                                    *mercury__getopt_io__HeadVar__7_7 = mercury__getopt_io__Result1_130;
#line 509 "getopt_io.m"
                                    *mercury__getopt_io__OptionArgs_5 = mercury__getopt_io__OptionArgs1_52;
#line 510 "getopt_io.m"
                                    *mercury__getopt_io__HeadVar__2_2 = mercury__getopt_io__Args0_22;
#line 510 "getopt_io.m"
                                    *mercury__getopt_io__STATE_VARIABLE_OptionsSet_9 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_97_97;
#line 507 "getopt_io.m"
                                  }
#line 506 "getopt_io.m"
                                else
#line 502 "getopt_io.m"
                                  {
#line 502 "getopt_io.m"
                                    MR_Word mercury__getopt_io__OptionTable1_128 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__Result1_130, (MR_Integer) 0)));

#line 503 "getopt_io.m"
                                    /* direct tailcall eliminated */
#line 503 "getopt_io.m"
                                    {
#line 503 "getopt_io.m"
                                      MR_Word mercury__getopt_io__HeadVar__1__tmp_copy_1 = mercury__getopt_io__Args1_51;
#line 503 "getopt_io.m"
                                      MR_Word mercury__getopt_io__HeadVar__4__tmp_copy_4 = mercury__getopt_io__OptionArgs1_52;
#line 503 "getopt_io.m"
                                      MR_Word mercury__getopt_io__HeadVar__6__tmp_copy_6 = mercury__getopt_io__OptionTable1_128;
#line 503 "getopt_io.m"
                                      MR_Word mercury__getopt_io__STATE_VARIABLE_OptionsSet_0__tmp_copy_8 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_97_97;

#line 503 "getopt_io.m"
                                      mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8 = mercury__getopt_io__STATE_VARIABLE_OptionsSet_0__tmp_copy_8;
#line 503 "getopt_io.m"
                                      mercury__getopt_io__HeadVar__6_6 = mercury__getopt_io__HeadVar__6__tmp_copy_6;
#line 503 "getopt_io.m"
                                      mercury__getopt_io__HeadVar__4_4 = mercury__getopt_io__HeadVar__4__tmp_copy_4;
#line 503 "getopt_io.m"
                                      mercury__getopt_io__HeadVar__1_1 = mercury__getopt_io__HeadVar__1__tmp_copy_1;
#line 503 "getopt_io.m"
                                    }
#line 503 "getopt_io.m"
                                    continue;
#line 502 "getopt_io.m"
                                  }
#line 500 "getopt_io.m"
                              }
#line 467 "getopt_io.m"
                          }
#line 513 "getopt_io.m"
                        else
#line 518 "getopt_io.m"
                          {
#line 518 "getopt_io.m"
                            MR_Word mercury__getopt_io__Args1_142;

#line 517 "getopt_io.m"
                            {
#line 517 "getopt_io.m"
                              mercury__getopt_io__process_arguments_11_p_0(mercury__getopt_io__TypeInfo_for_OptionType_161, mercury__getopt_io__Args0_22, &mercury__getopt_io__Args1_142, mercury__getopt_io__OptionOps_3, mercury__getopt_io__HeadVar__4_4, mercury__getopt_io__OptionArgs_5, mercury__getopt_io__HeadVar__6_6, mercury__getopt_io__HeadVar__7_7, mercury__getopt_io__STATE_VARIABLE_OptionsSet_0_8, mercury__getopt_io__STATE_VARIABLE_OptionsSet_9);
                            }
#line 519 "getopt_io.m"
                            {
#line 519 "getopt_io.m"
                              MR_Word base;
#line 519 "getopt_io.m"
                              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 519 "getopt_io.m"
                              *mercury__getopt_io__HeadVar__2_2 = base;
#line 519 "getopt_io.m"
                              MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (mercury__getopt_io__Option_21));
#line 519 "getopt_io.m"
                              MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (mercury__getopt_io__Args1_142));
#line 519 "getopt_io.m"
                            }
#line 518 "getopt_io.m"
                          }
#line 513 "getopt_io.m"
                      }
#line 466 "getopt_io.m"
                  }
#line 433 "getopt_io.m"
              }
#line 405 "getopt_io.m"
          }
#line 402 "getopt_io.m"
      }
#line 402 "getopt_io.m"
      break;
#line 402 "getopt_io.m"
    }
#line 396 "getopt_io.m"
}

#line 292 "getopt_io.m"
MR_Word MR_CALL 
mercury__getopt_io__lookup_accumulating_option_2_f_0(
#line 292 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_Option_7,
#line 292 "getopt_io.m"
  MR_Word mercury__getopt_io__OT_4,
#line 292 "getopt_io.m"
  MR_Box mercury__getopt_io__Opt_5)
#line 292 "getopt_io.m"
{
#line 1015 "getopt_io.m"
  {
#line 1015 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 1015 "getopt_io.m"
    MR_Word mercury__getopt_io__Ss_6;
#line 1015 "getopt_io.m"
    MR_Word mercury__getopt_io__Val0_11;
#line 1013 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_11_14 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 1013 "getopt_io.m"
    MR_Word mercury__getopt_io__V_12_12;
#line 1013 "getopt_io.m"
    MR_Box mercury__getopt_io__conv0_V_12_12;

#line 1013 "getopt_io.m"
    {
#line 1013 "getopt_io.m"
      mercury__map__lookup_3_p_0(mercury__getopt_io__TypeInfo_for_Option_7, mercury__getopt_io__TypeCtorInfo_11_14, mercury__getopt_io__OT_4, mercury__getopt_io__Opt_5, &mercury__getopt_io__conv0_V_12_12);
    }
#line 1013 "getopt_io.m"
    mercury__getopt_io__V_12_12 = ((MR_Word) mercury__getopt_io__conv0_V_12_12);
#line 1013 "getopt_io.m"
    mercury__getopt_io__succeeded = ((((MR_tag((MR_Word) mercury__getopt_io__V_12_12)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__V_12_12, (MR_Integer) 0)))) == (MR_Integer) 3)));
#line 1013 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 1013 "getopt_io.m"
      {
#line 1013 "getopt_io.m"
        mercury__getopt_io__Val0_11 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__V_12_12, (MR_Integer) 1)));
#line 1014 "getopt_io.m"
        mercury__getopt_io__Ss_6 = mercury__getopt_io__Val0_11;
#line 1013 "getopt_io.m"
      }
#line 1013 "getopt_io.m"
    else
#line 1016 "getopt_io.m"
      {
#line 1016 "getopt_io.m"
        {
#line 1016 "getopt_io.m"
          mercury__require__error_1_p_0((MR_String) "Expected accumulating option and didn\'t get one.");
        }
#line 1016 "getopt_io.m"
      }
#line 1015 "getopt_io.m"
    return mercury__getopt_io__Ss_6;
#line 1015 "getopt_io.m"
  }
#line 292 "getopt_io.m"
}

#line 290 "getopt_io.m"
void MR_CALL 
mercury__getopt_io__lookup_accumulating_option_3_p_0(
#line 290 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_Option_10,
#line 290 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionTable_4,
#line 290 "getopt_io.m"
  MR_Box mercury__getopt_io__Opt_5,
#line 290 "getopt_io.m"
  MR_Word * mercury__getopt_io__Val_6)
#line 290 "getopt_io.m"
{
#line 1015 "getopt_io.m"
  {
#line 1015 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 1015 "getopt_io.m"
    MR_Word mercury__getopt_io__Val0_7;
#line 1013 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_11_11 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 1013 "getopt_io.m"
    MR_Word mercury__getopt_io__V_8_8;
#line 1013 "getopt_io.m"
    MR_Box mercury__getopt_io__conv0_V_8_8;

#line 1013 "getopt_io.m"
    {
#line 1013 "getopt_io.m"
      mercury__map__lookup_3_p_0(mercury__getopt_io__TypeInfo_for_Option_10, mercury__getopt_io__TypeCtorInfo_11_11, mercury__getopt_io__OptionTable_4, mercury__getopt_io__Opt_5, &mercury__getopt_io__conv0_V_8_8);
    }
#line 1013 "getopt_io.m"
    mercury__getopt_io__V_8_8 = ((MR_Word) mercury__getopt_io__conv0_V_8_8);
#line 1013 "getopt_io.m"
    mercury__getopt_io__succeeded = ((((MR_tag((MR_Word) mercury__getopt_io__V_8_8)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__V_8_8, (MR_Integer) 0)))) == (MR_Integer) 3)));
#line 1013 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 1013 "getopt_io.m"
      {
#line 1013 "getopt_io.m"
        mercury__getopt_io__Val0_7 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__V_8_8, (MR_Integer) 1)));
#line 1014 "getopt_io.m"
        *mercury__getopt_io__Val_6 = mercury__getopt_io__Val0_7;
#line 1013 "getopt_io.m"
      }
#line 1013 "getopt_io.m"
    else
#line 1016 "getopt_io.m"
      {
#line 1016 "getopt_io.m"
        {
#line 1016 "getopt_io.m"
          mercury__require__error_1_p_0((MR_String) "Expected accumulating option and didn\'t get one.");
#line 1016 "getopt_io.m"
          return;
        }
#line 1016 "getopt_io.m"
      }
#line 1015 "getopt_io.m"
  }
#line 290 "getopt_io.m"
}

#line 287 "getopt_io.m"
MR_Word MR_CALL 
mercury__getopt_io__lookup_maybe_string_option_2_f_0(
#line 287 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_Option_7,
#line 287 "getopt_io.m"
  MR_Word mercury__getopt_io__OT_4,
#line 287 "getopt_io.m"
  MR_Box mercury__getopt_io__Opt_5)
#line 287 "getopt_io.m"
{
#line 1008 "getopt_io.m"
  {
#line 1008 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 1008 "getopt_io.m"
    MR_Word mercury__getopt_io__MS_6;
#line 1008 "getopt_io.m"
    MR_Word mercury__getopt_io__Val0_11;
#line 1006 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_11_14 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 1006 "getopt_io.m"
    MR_Word mercury__getopt_io__V_12_12;
#line 1006 "getopt_io.m"
    MR_Box mercury__getopt_io__conv0_V_12_12;

#line 1006 "getopt_io.m"
    {
#line 1006 "getopt_io.m"
      mercury__map__lookup_3_p_0(mercury__getopt_io__TypeInfo_for_Option_7, mercury__getopt_io__TypeCtorInfo_11_14, mercury__getopt_io__OT_4, mercury__getopt_io__Opt_5, &mercury__getopt_io__conv0_V_12_12);
    }
#line 1006 "getopt_io.m"
    mercury__getopt_io__V_12_12 = ((MR_Word) mercury__getopt_io__conv0_V_12_12);
#line 1006 "getopt_io.m"
    mercury__getopt_io__succeeded = ((((MR_tag((MR_Word) mercury__getopt_io__V_12_12)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__V_12_12, (MR_Integer) 0)))) == (MR_Integer) 2)));
#line 1006 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 1006 "getopt_io.m"
      {
#line 1006 "getopt_io.m"
        mercury__getopt_io__Val0_11 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__V_12_12, (MR_Integer) 1)));
#line 1007 "getopt_io.m"
        mercury__getopt_io__MS_6 = mercury__getopt_io__Val0_11;
#line 1006 "getopt_io.m"
      }
#line 1006 "getopt_io.m"
    else
#line 1009 "getopt_io.m"
      {
#line 1009 "getopt_io.m"
        {
#line 1009 "getopt_io.m"
          mercury__require__error_1_p_0((MR_String) "Expected maybe_string option and didn\'t get one.");
        }
#line 1009 "getopt_io.m"
      }
#line 1008 "getopt_io.m"
    return mercury__getopt_io__MS_6;
#line 1008 "getopt_io.m"
  }
#line 287 "getopt_io.m"
}

#line 285 "getopt_io.m"
void MR_CALL 
mercury__getopt_io__lookup_maybe_string_option_3_p_0(
#line 285 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_Option_10,
#line 285 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionTable_4,
#line 285 "getopt_io.m"
  MR_Box mercury__getopt_io__Opt_5,
#line 285 "getopt_io.m"
  MR_Word * mercury__getopt_io__Val_6)
#line 285 "getopt_io.m"
{
#line 1008 "getopt_io.m"
  {
#line 1008 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 1008 "getopt_io.m"
    MR_Word mercury__getopt_io__Val0_7;
#line 1006 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_11_11 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 1006 "getopt_io.m"
    MR_Word mercury__getopt_io__V_8_8;
#line 1006 "getopt_io.m"
    MR_Box mercury__getopt_io__conv0_V_8_8;

#line 1006 "getopt_io.m"
    {
#line 1006 "getopt_io.m"
      mercury__map__lookup_3_p_0(mercury__getopt_io__TypeInfo_for_Option_10, mercury__getopt_io__TypeCtorInfo_11_11, mercury__getopt_io__OptionTable_4, mercury__getopt_io__Opt_5, &mercury__getopt_io__conv0_V_8_8);
    }
#line 1006 "getopt_io.m"
    mercury__getopt_io__V_8_8 = ((MR_Word) mercury__getopt_io__conv0_V_8_8);
#line 1006 "getopt_io.m"
    mercury__getopt_io__succeeded = ((((MR_tag((MR_Word) mercury__getopt_io__V_8_8)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__V_8_8, (MR_Integer) 0)))) == (MR_Integer) 2)));
#line 1006 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 1006 "getopt_io.m"
      {
#line 1006 "getopt_io.m"
        mercury__getopt_io__Val0_7 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__V_8_8, (MR_Integer) 1)));
#line 1007 "getopt_io.m"
        *mercury__getopt_io__Val_6 = mercury__getopt_io__Val0_7;
#line 1006 "getopt_io.m"
      }
#line 1006 "getopt_io.m"
    else
#line 1009 "getopt_io.m"
      {
#line 1009 "getopt_io.m"
        {
#line 1009 "getopt_io.m"
          mercury__require__error_1_p_0((MR_String) "Expected maybe_string option and didn\'t get one.");
#line 1009 "getopt_io.m"
          return;
        }
#line 1009 "getopt_io.m"
      }
#line 1008 "getopt_io.m"
  }
#line 285 "getopt_io.m"
}

#line 282 "getopt_io.m"
MR_Word MR_CALL 
mercury__getopt_io__lookup_maybe_int_option_2_f_0(
#line 282 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_Option_7,
#line 282 "getopt_io.m"
  MR_Word mercury__getopt_io__OT_4,
#line 282 "getopt_io.m"
  MR_Box mercury__getopt_io__Opt_5)
#line 282 "getopt_io.m"
{
#line 1001 "getopt_io.m"
  {
#line 1001 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 1001 "getopt_io.m"
    MR_Word mercury__getopt_io__MN_6;
#line 1001 "getopt_io.m"
    MR_Word mercury__getopt_io__Val0_11;
#line 999 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_11_14 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 999 "getopt_io.m"
    MR_Word mercury__getopt_io__V_12_12;
#line 999 "getopt_io.m"
    MR_Box mercury__getopt_io__conv0_V_12_12;

#line 999 "getopt_io.m"
    {
#line 999 "getopt_io.m"
      mercury__map__lookup_3_p_0(mercury__getopt_io__TypeInfo_for_Option_7, mercury__getopt_io__TypeCtorInfo_11_14, mercury__getopt_io__OT_4, mercury__getopt_io__Opt_5, &mercury__getopt_io__conv0_V_12_12);
    }
#line 999 "getopt_io.m"
    mercury__getopt_io__V_12_12 = ((MR_Word) mercury__getopt_io__conv0_V_12_12);
#line 999 "getopt_io.m"
    mercury__getopt_io__succeeded = ((((MR_tag((MR_Word) mercury__getopt_io__V_12_12)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__V_12_12, (MR_Integer) 0)))) == (MR_Integer) 1)));
#line 999 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 999 "getopt_io.m"
      {
#line 999 "getopt_io.m"
        mercury__getopt_io__Val0_11 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__V_12_12, (MR_Integer) 1)));
#line 1000 "getopt_io.m"
        mercury__getopt_io__MN_6 = mercury__getopt_io__Val0_11;
#line 999 "getopt_io.m"
      }
#line 999 "getopt_io.m"
    else
#line 1002 "getopt_io.m"
      {
#line 1002 "getopt_io.m"
        {
#line 1002 "getopt_io.m"
          mercury__require__error_1_p_0((MR_String) "Expected maybe_int option and didn\'t get one.");
        }
#line 1002 "getopt_io.m"
      }
#line 1001 "getopt_io.m"
    return mercury__getopt_io__MN_6;
#line 1001 "getopt_io.m"
  }
#line 282 "getopt_io.m"
}

#line 280 "getopt_io.m"
void MR_CALL 
mercury__getopt_io__lookup_maybe_int_option_3_p_0(
#line 280 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_Option_10,
#line 280 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionTable_4,
#line 280 "getopt_io.m"
  MR_Box mercury__getopt_io__Opt_5,
#line 280 "getopt_io.m"
  MR_Word * mercury__getopt_io__Val_6)
#line 280 "getopt_io.m"
{
#line 1001 "getopt_io.m"
  {
#line 1001 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 1001 "getopt_io.m"
    MR_Word mercury__getopt_io__Val0_7;
#line 999 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_11_11 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 999 "getopt_io.m"
    MR_Word mercury__getopt_io__V_8_8;
#line 999 "getopt_io.m"
    MR_Box mercury__getopt_io__conv0_V_8_8;

#line 999 "getopt_io.m"
    {
#line 999 "getopt_io.m"
      mercury__map__lookup_3_p_0(mercury__getopt_io__TypeInfo_for_Option_10, mercury__getopt_io__TypeCtorInfo_11_11, mercury__getopt_io__OptionTable_4, mercury__getopt_io__Opt_5, &mercury__getopt_io__conv0_V_8_8);
    }
#line 999 "getopt_io.m"
    mercury__getopt_io__V_8_8 = ((MR_Word) mercury__getopt_io__conv0_V_8_8);
#line 999 "getopt_io.m"
    mercury__getopt_io__succeeded = ((((MR_tag((MR_Word) mercury__getopt_io__V_8_8)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__V_8_8, (MR_Integer) 0)))) == (MR_Integer) 1)));
#line 999 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 999 "getopt_io.m"
      {
#line 999 "getopt_io.m"
        mercury__getopt_io__Val0_7 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__V_8_8, (MR_Integer) 1)));
#line 1000 "getopt_io.m"
        *mercury__getopt_io__Val_6 = mercury__getopt_io__Val0_7;
#line 999 "getopt_io.m"
      }
#line 999 "getopt_io.m"
    else
#line 1002 "getopt_io.m"
      {
#line 1002 "getopt_io.m"
        {
#line 1002 "getopt_io.m"
          mercury__require__error_1_p_0((MR_String) "Expected maybe_int option and didn\'t get one.");
#line 1002 "getopt_io.m"
          return;
        }
#line 1002 "getopt_io.m"
      }
#line 1001 "getopt_io.m"
  }
#line 280 "getopt_io.m"
}

#line 278 "getopt_io.m"
MR_String MR_CALL 
mercury__getopt_io__lookup_string_option_2_f_0(
#line 278 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_Option_7,
#line 278 "getopt_io.m"
  MR_Word mercury__getopt_io__OT_4,
#line 278 "getopt_io.m"
  MR_Box mercury__getopt_io__Opt_5)
#line 278 "getopt_io.m"
{
#line 994 "getopt_io.m"
  {
#line 994 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 994 "getopt_io.m"
    MR_String mercury__getopt_io__S_6;
#line 994 "getopt_io.m"
    MR_String mercury__getopt_io__Val0_11;
#line 992 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_11_14 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 992 "getopt_io.m"
    MR_Word mercury__getopt_io__V_12_12;
#line 992 "getopt_io.m"
    MR_Box mercury__getopt_io__conv0_V_12_12;

#line 992 "getopt_io.m"
    {
#line 992 "getopt_io.m"
      mercury__map__lookup_3_p_0(mercury__getopt_io__TypeInfo_for_Option_7, mercury__getopt_io__TypeCtorInfo_11_14, mercury__getopt_io__OT_4, mercury__getopt_io__Opt_5, &mercury__getopt_io__conv0_V_12_12);
    }
#line 992 "getopt_io.m"
    mercury__getopt_io__V_12_12 = ((MR_Word) mercury__getopt_io__conv0_V_12_12);
#line 992 "getopt_io.m"
    mercury__getopt_io__succeeded = ((((MR_tag((MR_Word) mercury__getopt_io__V_12_12)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__V_12_12, (MR_Integer) 0)))) == (MR_Integer) 0)));
#line 992 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 992 "getopt_io.m"
      {
#line 992 "getopt_io.m"
        mercury__getopt_io__Val0_11 = ((MR_String) (MR_hl_field(MR_mktag(3), mercury__getopt_io__V_12_12, (MR_Integer) 1)));
#line 993 "getopt_io.m"
        mercury__getopt_io__S_6 = mercury__getopt_io__Val0_11;
#line 992 "getopt_io.m"
      }
#line 992 "getopt_io.m"
    else
#line 995 "getopt_io.m"
      {
#line 995 "getopt_io.m"
        {
#line 995 "getopt_io.m"
          mercury__require__error_1_p_0((MR_String) "Expected string option and didn\'t get one.");
        }
#line 995 "getopt_io.m"
      }
#line 994 "getopt_io.m"
    return mercury__getopt_io__S_6;
#line 994 "getopt_io.m"
  }
#line 278 "getopt_io.m"
}

#line 276 "getopt_io.m"
void MR_CALL 
mercury__getopt_io__lookup_string_option_3_p_0(
#line 276 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_Option_10,
#line 276 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionTable_4,
#line 276 "getopt_io.m"
  MR_Box mercury__getopt_io__Opt_5,
#line 276 "getopt_io.m"
  MR_String * mercury__getopt_io__Val_6)
#line 276 "getopt_io.m"
{
#line 994 "getopt_io.m"
  {
#line 994 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 994 "getopt_io.m"
    MR_String mercury__getopt_io__Val0_7;
#line 992 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_11_11 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 992 "getopt_io.m"
    MR_Word mercury__getopt_io__V_8_8;
#line 992 "getopt_io.m"
    MR_Box mercury__getopt_io__conv0_V_8_8;

#line 992 "getopt_io.m"
    {
#line 992 "getopt_io.m"
      mercury__map__lookup_3_p_0(mercury__getopt_io__TypeInfo_for_Option_10, mercury__getopt_io__TypeCtorInfo_11_11, mercury__getopt_io__OptionTable_4, mercury__getopt_io__Opt_5, &mercury__getopt_io__conv0_V_8_8);
    }
#line 992 "getopt_io.m"
    mercury__getopt_io__V_8_8 = ((MR_Word) mercury__getopt_io__conv0_V_8_8);
#line 992 "getopt_io.m"
    mercury__getopt_io__succeeded = ((((MR_tag((MR_Word) mercury__getopt_io__V_8_8)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__V_8_8, (MR_Integer) 0)))) == (MR_Integer) 0)));
#line 992 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 992 "getopt_io.m"
      {
#line 992 "getopt_io.m"
        mercury__getopt_io__Val0_7 = ((MR_String) (MR_hl_field(MR_mktag(3), mercury__getopt_io__V_8_8, (MR_Integer) 1)));
#line 993 "getopt_io.m"
        *mercury__getopt_io__Val_6 = mercury__getopt_io__Val0_7;
#line 992 "getopt_io.m"
      }
#line 992 "getopt_io.m"
    else
#line 995 "getopt_io.m"
      {
#line 995 "getopt_io.m"
        {
#line 995 "getopt_io.m"
          mercury__require__error_1_p_0((MR_String) "Expected string option and didn\'t get one.");
#line 995 "getopt_io.m"
          return;
        }
#line 995 "getopt_io.m"
      }
#line 994 "getopt_io.m"
  }
#line 276 "getopt_io.m"
}

#line 274 "getopt_io.m"
MR_Integer MR_CALL 
mercury__getopt_io__lookup_int_option_2_f_0(
#line 274 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_Option_7,
#line 274 "getopt_io.m"
  MR_Word mercury__getopt_io__OT_4,
#line 274 "getopt_io.m"
  MR_Box mercury__getopt_io__Opt_5)
#line 274 "getopt_io.m"
{
#line 987 "getopt_io.m"
  {
#line 987 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 987 "getopt_io.m"
    MR_Integer mercury__getopt_io__N_6;
#line 987 "getopt_io.m"
    MR_Integer mercury__getopt_io__Val0_11;
#line 985 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_11_14 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 985 "getopt_io.m"
    MR_Word mercury__getopt_io__V_12_12;
#line 985 "getopt_io.m"
    MR_Box mercury__getopt_io__conv0_V_12_12;

#line 985 "getopt_io.m"
    {
#line 985 "getopt_io.m"
      mercury__map__lookup_3_p_0(mercury__getopt_io__TypeInfo_for_Option_7, mercury__getopt_io__TypeCtorInfo_11_14, mercury__getopt_io__OT_4, mercury__getopt_io__Opt_5, &mercury__getopt_io__conv0_V_12_12);
    }
#line 985 "getopt_io.m"
    mercury__getopt_io__V_12_12 = ((MR_Word) mercury__getopt_io__conv0_V_12_12);
#line 985 "getopt_io.m"
    mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__V_12_12)) == (MR_mktag((MR_Integer) 2)));
#line 985 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 985 "getopt_io.m"
      {
#line 985 "getopt_io.m"
        mercury__getopt_io__Val0_11 = ((MR_Integer) (MR_hl_field(MR_mktag(2), mercury__getopt_io__V_12_12, (MR_Integer) 0)));
#line 986 "getopt_io.m"
        mercury__getopt_io__N_6 = mercury__getopt_io__Val0_11;
#line 985 "getopt_io.m"
      }
#line 985 "getopt_io.m"
    else
#line 988 "getopt_io.m"
      {
#line 988 "getopt_io.m"
        {
#line 988 "getopt_io.m"
          mercury__require__error_1_p_0((MR_String) "Expected int option and didn\'t get one.");
        }
#line 988 "getopt_io.m"
      }
#line 987 "getopt_io.m"
    return mercury__getopt_io__N_6;
#line 987 "getopt_io.m"
  }
#line 274 "getopt_io.m"
}

#line 272 "getopt_io.m"
void MR_CALL 
mercury__getopt_io__lookup_int_option_3_p_0(
#line 272 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_Option_10,
#line 272 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionTable_4,
#line 272 "getopt_io.m"
  MR_Box mercury__getopt_io__Opt_5,
#line 272 "getopt_io.m"
  MR_Integer * mercury__getopt_io__Val_6)
#line 272 "getopt_io.m"
{
#line 987 "getopt_io.m"
  {
#line 987 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 987 "getopt_io.m"
    MR_Integer mercury__getopt_io__Val0_7;
#line 985 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_11_11 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 985 "getopt_io.m"
    MR_Word mercury__getopt_io__V_8_8;
#line 985 "getopt_io.m"
    MR_Box mercury__getopt_io__conv0_V_8_8;

#line 985 "getopt_io.m"
    {
#line 985 "getopt_io.m"
      mercury__map__lookup_3_p_0(mercury__getopt_io__TypeInfo_for_Option_10, mercury__getopt_io__TypeCtorInfo_11_11, mercury__getopt_io__OptionTable_4, mercury__getopt_io__Opt_5, &mercury__getopt_io__conv0_V_8_8);
    }
#line 985 "getopt_io.m"
    mercury__getopt_io__V_8_8 = ((MR_Word) mercury__getopt_io__conv0_V_8_8);
#line 985 "getopt_io.m"
    mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__V_8_8)) == (MR_mktag((MR_Integer) 2)));
#line 985 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 985 "getopt_io.m"
      {
#line 985 "getopt_io.m"
        mercury__getopt_io__Val0_7 = ((MR_Integer) (MR_hl_field(MR_mktag(2), mercury__getopt_io__V_8_8, (MR_Integer) 0)));
#line 986 "getopt_io.m"
        *mercury__getopt_io__Val_6 = mercury__getopt_io__Val0_7;
#line 985 "getopt_io.m"
      }
#line 985 "getopt_io.m"
    else
#line 988 "getopt_io.m"
      {
#line 988 "getopt_io.m"
        {
#line 988 "getopt_io.m"
          mercury__require__error_1_p_0((MR_String) "Expected int option and didn\'t get one.");
#line 988 "getopt_io.m"
          return;
        }
#line 988 "getopt_io.m"
      }
#line 987 "getopt_io.m"
  }
#line 272 "getopt_io.m"
}

#line 270 "getopt_io.m"
MR_Word MR_CALL 
mercury__getopt_io__lookup_bool_option_2_f_0(
#line 270 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_Option_7,
#line 270 "getopt_io.m"
  MR_Word mercury__getopt_io__OT_4,
#line 270 "getopt_io.m"
  MR_Box mercury__getopt_io__Opt_5)
#line 270 "getopt_io.m"
{
#line 980 "getopt_io.m"
  {
#line 980 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 980 "getopt_io.m"
    MR_Word mercury__getopt_io__B_6;
#line 980 "getopt_io.m"
    MR_Word mercury__getopt_io__Val0_11;
#line 978 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_11_14 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 978 "getopt_io.m"
    MR_Word mercury__getopt_io__V_12_12;
#line 978 "getopt_io.m"
    MR_Box mercury__getopt_io__conv0_V_12_12;

#line 978 "getopt_io.m"
    {
#line 978 "getopt_io.m"
      mercury__map__lookup_3_p_0(mercury__getopt_io__TypeInfo_for_Option_7, mercury__getopt_io__TypeCtorInfo_11_14, mercury__getopt_io__OT_4, mercury__getopt_io__Opt_5, &mercury__getopt_io__conv0_V_12_12);
    }
#line 978 "getopt_io.m"
    mercury__getopt_io__V_12_12 = ((MR_Word) mercury__getopt_io__conv0_V_12_12);
#line 978 "getopt_io.m"
    mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__V_12_12)) == (MR_mktag((MR_Integer) 1)));
#line 978 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 978 "getopt_io.m"
      {
#line 978 "getopt_io.m"
        mercury__getopt_io__Val0_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__V_12_12, (MR_Integer) 0)));
#line 979 "getopt_io.m"
        mercury__getopt_io__B_6 = mercury__getopt_io__Val0_11;
#line 978 "getopt_io.m"
      }
#line 978 "getopt_io.m"
    else
#line 981 "getopt_io.m"
      {
#line 981 "getopt_io.m"
        {
#line 981 "getopt_io.m"
          mercury__require__error_1_p_0((MR_String) "Expected bool option and didn\'t get one.");
        }
#line 981 "getopt_io.m"
      }
#line 980 "getopt_io.m"
    return mercury__getopt_io__B_6;
#line 980 "getopt_io.m"
  }
#line 270 "getopt_io.m"
}

#line 268 "getopt_io.m"
void MR_CALL 
mercury__getopt_io__lookup_bool_option_3_p_0(
#line 268 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_Option_10,
#line 268 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionTable_4,
#line 268 "getopt_io.m"
  MR_Box mercury__getopt_io__Opt_5,
#line 268 "getopt_io.m"
  MR_Word * mercury__getopt_io__Val_6)
#line 268 "getopt_io.m"
{
#line 980 "getopt_io.m"
  {
#line 980 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 980 "getopt_io.m"
    MR_Word mercury__getopt_io__Val0_7;
#line 978 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_11_11 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 978 "getopt_io.m"
    MR_Word mercury__getopt_io__V_8_8;
#line 978 "getopt_io.m"
    MR_Box mercury__getopt_io__conv0_V_8_8;

#line 978 "getopt_io.m"
    {
#line 978 "getopt_io.m"
      mercury__map__lookup_3_p_0(mercury__getopt_io__TypeInfo_for_Option_10, mercury__getopt_io__TypeCtorInfo_11_11, mercury__getopt_io__OptionTable_4, mercury__getopt_io__Opt_5, &mercury__getopt_io__conv0_V_8_8);
    }
#line 978 "getopt_io.m"
    mercury__getopt_io__V_8_8 = ((MR_Word) mercury__getopt_io__conv0_V_8_8);
#line 978 "getopt_io.m"
    mercury__getopt_io__succeeded = ((MR_tag((MR_Word) mercury__getopt_io__V_8_8)) == (MR_mktag((MR_Integer) 1)));
#line 978 "getopt_io.m"
    if (mercury__getopt_io__succeeded)
#line 978 "getopt_io.m"
      {
#line 978 "getopt_io.m"
        mercury__getopt_io__Val0_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__V_8_8, (MR_Integer) 0)));
#line 979 "getopt_io.m"
        *mercury__getopt_io__Val_6 = mercury__getopt_io__Val0_7;
#line 978 "getopt_io.m"
      }
#line 978 "getopt_io.m"
    else
#line 981 "getopt_io.m"
      {
#line 981 "getopt_io.m"
        {
#line 981 "getopt_io.m"
          mercury__require__error_1_p_0((MR_String) "Expected bool option and didn\'t get one.");
#line 981 "getopt_io.m"
          return;
        }
#line 981 "getopt_io.m"
      }
#line 980 "getopt_io.m"
  }
#line 268 "getopt_io.m"
}

#line 69 "solutions.opt"
static void MR_CALL 
mercury__getopt_io__init_option_table_multi_2_p_0_3(
#line 69 "solutions.opt"
  MR_Box mercury__getopt_io__closure_arg,
#line 69 "solutions.opt"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 69 "solutions.opt"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 69 "solutions.opt"
  MR_Box * mercury__getopt_io__wrapper_arg_3)
#line 69 "solutions.opt"
{
#line 69 "solutions.opt"
  {
#line 69 "solutions.opt"
    MR_Box mercury__getopt_io__closure = mercury__getopt_io__closure_arg;
#line 69 "solutions.opt"
    MR_Word mercury__getopt_io__conv1_HeadVar__3_3;

#line 69 "solutions.opt"
    {
#line 69 "solutions.opt"
      mercury__list__cons_3_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__closure, (MR_Integer) 3))), mercury__getopt_io__wrapper_arg_1, ((MR_Word) mercury__getopt_io__wrapper_arg_2), &mercury__getopt_io__conv1_HeadVar__3_3);
    }
#line 69 "solutions.opt"
    *mercury__getopt_io__wrapper_arg_3 = ((MR_Box) (mercury__getopt_io__conv1_HeadVar__3_3));
#line 69 "solutions.opt"
  }
#line 69 "solutions.opt"
}

#line 354 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__init_option_table_multi_2_p_0_1(
#line 354 "getopt_io.m"
  void * mercury__getopt_io__env_ptr_arg)
#line 354 "getopt_io.m"
{
#line 354 "getopt_io.m"
  {
#line 354 "getopt_io.m"
    struct mercury__getopt_io__init_option_table_multi_2_p_0_2_env_0_s * mercury__getopt_io__env_ptr = (struct mercury__getopt_io__init_option_table_multi_2_p_0_2_env_0_s *) mercury__getopt_io__env_ptr_arg;

#line 354 "getopt_io.m"
    *((mercury__getopt_io__env_ptr)->mercury__getopt_io__init_option_table_multi_2_p_0_2_env_0__wrapper_arg_1) = ((MR_Box) ((mercury__getopt_io__env_ptr)->mercury__getopt_io__init_option_table_multi_2_p_0_2_env_0__conv0_HeadVar__3_10));
#line 354 "getopt_io.m"
    {
#line 354 "getopt_io.m"
      ((mercury__getopt_io__env_ptr)->mercury__getopt_io__init_option_table_multi_2_p_0_2_env_0__cont)((mercury__getopt_io__env_ptr)->mercury__getopt_io__init_option_table_multi_2_p_0_2_env_0__cont_env_ptr);
#line 354 "getopt_io.m"
      return;
    }
#line 354 "getopt_io.m"
  }
#line 354 "getopt_io.m"
}

#line 354 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__init_option_table_multi_2_p_0_2(
#line 354 "getopt_io.m"
  MR_Box mercury__getopt_io__closure_arg,
#line 354 "getopt_io.m"
  MR_Box * mercury__getopt_io__wrapper_arg_1,
#line 354 "getopt_io.m"
  MR_Cont mercury__getopt_io__cont,
#line 354 "getopt_io.m"
  void * mercury__getopt_io__cont_env_ptr)
#line 354 "getopt_io.m"
{
#line 354 "getopt_io.m"
  {
#line 354 "getopt_io.m"
    struct mercury__getopt_io__init_option_table_multi_2_p_0_2_env_0_s mercury__getopt_io__env;

#line 354 "getopt_io.m"
    (mercury__getopt_io__env).mercury__getopt_io__init_option_table_multi_2_p_0_2_env_0__wrapper_arg_1 = mercury__getopt_io__wrapper_arg_1;
#line 354 "getopt_io.m"
    (mercury__getopt_io__env).mercury__getopt_io__init_option_table_multi_2_p_0_2_env_0__cont = mercury__getopt_io__cont;
#line 354 "getopt_io.m"
    (mercury__getopt_io__env).mercury__getopt_io__init_option_table_multi_2_p_0_2_env_0__cont_env_ptr = mercury__getopt_io__cont_env_ptr;
#line 354 "getopt_io.m"
    {
#line 354 "getopt_io.m"
      MR_Box mercury__getopt_io__closure = mercury__getopt_io__closure_arg;

#line 354 "getopt_io.m"
      {
#line 354 "getopt_io.m"
        mercury__getopt_io__IntroducedFrom__pred__init_option_table_multi__354__1_3_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__closure, (MR_Integer) 3))), ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__closure, (MR_Integer) 4))), &(mercury__getopt_io__env).mercury__getopt_io__init_option_table_multi_2_p_0_2_env_0__conv0_HeadVar__3_10, mercury__getopt_io__init_option_table_multi_2_p_0_1, &mercury__getopt_io__env);
      }
#line 354 "getopt_io.m"
    }
#line 354 "getopt_io.m"
  }
#line 354 "getopt_io.m"
}

#line 160 "getopt_io.m"
void MR_CALL 
mercury__getopt_io__init_option_table_multi_2_p_0(
#line 160 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_12,
#line 160 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionDefaultsPred_3,
#line 160 "getopt_io.m"
  MR_Word * mercury__getopt_io__OptionTable_4)
#line 160 "getopt_io.m"
{
#line 353 "getopt_io.m"
  {
#line 353 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 353 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_13_13;
#line 353 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_14_14;
#line 353 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeInfo_15_15;
#line 353 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_12_29;
#line 353 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeInfo_13_30;
#line 353 "getopt_io.m"
    MR_Word mercury__getopt_io__OptionDefaultsList_8;
#line 353 "getopt_io.m"
    MR_Word mercury__getopt_io__V_9_9;
#line 353 "getopt_io.m"
    MR_Word mercury__getopt_io__UnsortedList_5_18;
#line 353 "getopt_io.m"
    MR_Word mercury__getopt_io__V_5_23;
#line 353 "getopt_io.m"
    MR_Word mercury__getopt_io__V_6_25;
#line 353 "getopt_io.m"
    MR_Integer mercury__getopt_io__V_5_35;
#line 353 "getopt_io.m"
    MR_Word mercury__getopt_io__V_5_45;
#line 71 "solutions.opt"
    MR_Box mercury__getopt_io__conv2_UnsortedList_5_18;
#line 110 "list.opt"
    MR_Word mercury__getopt_io__conv3_OptionDefaultsList_8;

#line 354 "getopt_io.m"
    {
#line 354 "getopt_io.m"
      mercury__getopt_io__V_9_9 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 5 * sizeof(MR_Word)), NULL, NULL);
#line 354 "getopt_io.m"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__V_9_9, 0) = ((MR_Box) (&mercury__getopt_io_scalar_common_6[0]));
#line 354 "getopt_io.m"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__V_9_9, 1) = ((MR_Box) (mercury__getopt_io__init_option_table_multi_2_p_0_2));
#line 354 "getopt_io.m"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__V_9_9, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 2));
#line 354 "getopt_io.m"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__V_9_9, 3) = ((MR_Box) (mercury__getopt_io__TypeInfo_for_OptionType_12));
#line 354 "getopt_io.m"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__V_9_9, 4) = ((MR_Box) (mercury__getopt_io__OptionDefaultsPred_3));
#line 354 "getopt_io.m"
    }
#line 11664 "getopt_io.c"
    mercury__getopt_io__TypeCtorInfo_14_14 = (MR_Word) &mercury__pair__pair__type_ctor_info_pair_2;
#line 11666 "getopt_io.c"
    mercury__getopt_io__TypeCtorInfo_13_13 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 11668 "getopt_io.c"
    {
#line 11670 "getopt_io.c"
      mercury__getopt_io__TypeInfo_15_15 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 11672 "getopt_io.c"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__TypeInfo_15_15, 0) = ((MR_Box) (mercury__getopt_io__TypeCtorInfo_14_14));
#line 11674 "getopt_io.c"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__TypeInfo_15_15, 1) = ((MR_Box) (mercury__getopt_io__TypeInfo_for_OptionType_12));
#line 11676 "getopt_io.c"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__TypeInfo_15_15, 2) = ((MR_Box) (mercury__getopt_io__TypeCtorInfo_13_13));
#line 11678 "getopt_io.c"
    }
#line 69 "solutions.opt"
    {
#line 69 "solutions.opt"
      mercury__getopt_io__V_5_23 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 4 * sizeof(MR_Word)), NULL, NULL);
#line 69 "solutions.opt"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__V_5_23, 0) = ((MR_Box) (&mercury__getopt_io_scalar_common_7[0]));
#line 69 "solutions.opt"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__V_5_23, 1) = ((MR_Box) (mercury__getopt_io__init_option_table_multi_2_p_0_3));
#line 69 "solutions.opt"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__V_5_23, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 1));
#line 69 "solutions.opt"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__V_5_23, 3) = ((MR_Box) (mercury__getopt_io__TypeInfo_15_15));
#line 69 "solutions.opt"
    }
#line 70 "solutions.opt"
    mercury__getopt_io__V_6_25 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 11696 "getopt_io.c"
    mercury__getopt_io__TypeCtorInfo_12_29 = (MR_Word) &mercury__list__list__type_ctor_info_list_1;
#line 11698 "getopt_io.c"
    {
#line 11700 "getopt_io.c"
      mercury__getopt_io__TypeInfo_13_30 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 11702 "getopt_io.c"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__TypeInfo_13_30, 0) = ((MR_Box) (mercury__getopt_io__TypeCtorInfo_12_29));
#line 11704 "getopt_io.c"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__TypeInfo_13_30, 1) = ((MR_Box) (mercury__getopt_io__TypeInfo_15_15));
#line 11706 "getopt_io.c"
    }
#line 71 "solutions.opt"
    {
#line 71 "solutions.opt"
      mercury__solutions__builtin_aggregate_4_p_0(mercury__getopt_io__TypeInfo_15_15, mercury__getopt_io__TypeInfo_13_30, (MR_Word) mercury__getopt_io__V_9_9, (MR_Word) mercury__getopt_io__V_5_23, ((MR_Box) (mercury__getopt_io__V_6_25)), &mercury__getopt_io__conv2_UnsortedList_5_18);
    }
#line 71 "solutions.opt"
    mercury__getopt_io__UnsortedList_5_18 = ((MR_Word) mercury__getopt_io__conv2_UnsortedList_5_18);
#line 78 "list.opt"
    {
#line 78 "list.opt"
      mercury__list__length_2_3_p_0(mercury__getopt_io__TypeInfo_15_15, (MR_Word) mercury__getopt_io__UnsortedList_5_18, (MR_Integer) 0, &mercury__getopt_io__V_5_35);
    }
#line 110 "list.opt"
    {
#line 110 "list.opt"
      mercury__list__merge_sort_and_remove_dups_2_3_p_0(mercury__getopt_io__TypeInfo_15_15, mercury__getopt_io__V_5_35, (MR_Word) mercury__getopt_io__UnsortedList_5_18, &mercury__getopt_io__conv3_OptionDefaultsList_8);
    }
#line 110 "list.opt"
    mercury__getopt_io__OptionDefaultsList_8 = (MR_Word) mercury__getopt_io__conv3_OptionDefaultsList_8;
#line 90 "tree234.opt"
    mercury__getopt_io__V_5_45 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 91 "tree234.opt"
    {
#line 91 "tree234.opt"
      mercury__tree234__assoc_list_to_tree234_acc_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_12, mercury__getopt_io__TypeCtorInfo_13_13, mercury__getopt_io__OptionDefaultsList_8, mercury__getopt_io__V_5_45, mercury__getopt_io__OptionTable_4);
#line 91 "tree234.opt"
      return;
    }
#line 353 "getopt_io.m"
  }
#line 160 "getopt_io.m"
}

#line 69 "solutions.opt"
static void MR_CALL 
mercury__getopt_io__init_option_table_2_p_0_3(
#line 69 "solutions.opt"
  MR_Box mercury__getopt_io__closure_arg,
#line 69 "solutions.opt"
  MR_Box mercury__getopt_io__wrapper_arg_1,
#line 69 "solutions.opt"
  MR_Box mercury__getopt_io__wrapper_arg_2,
#line 69 "solutions.opt"
  MR_Box * mercury__getopt_io__wrapper_arg_3)
#line 69 "solutions.opt"
{
#line 69 "solutions.opt"
  {
#line 69 "solutions.opt"
    MR_Box mercury__getopt_io__closure = mercury__getopt_io__closure_arg;
#line 69 "solutions.opt"
    MR_Word mercury__getopt_io__conv1_HeadVar__3_3;

#line 69 "solutions.opt"
    {
#line 69 "solutions.opt"
      mercury__list__cons_3_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__closure, (MR_Integer) 3))), mercury__getopt_io__wrapper_arg_1, ((MR_Word) mercury__getopt_io__wrapper_arg_2), &mercury__getopt_io__conv1_HeadVar__3_3);
    }
#line 69 "solutions.opt"
    *mercury__getopt_io__wrapper_arg_3 = ((MR_Box) (mercury__getopt_io__conv1_HeadVar__3_3));
#line 69 "solutions.opt"
  }
#line 69 "solutions.opt"
}

#line 347 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__init_option_table_2_p_0_1(
#line 347 "getopt_io.m"
  void * mercury__getopt_io__env_ptr_arg)
#line 347 "getopt_io.m"
{
#line 347 "getopt_io.m"
  {
#line 347 "getopt_io.m"
    struct mercury__getopt_io__init_option_table_2_p_0_2_env_0_s * mercury__getopt_io__env_ptr = (struct mercury__getopt_io__init_option_table_2_p_0_2_env_0_s *) mercury__getopt_io__env_ptr_arg;

#line 347 "getopt_io.m"
    *((mercury__getopt_io__env_ptr)->mercury__getopt_io__init_option_table_2_p_0_2_env_0__wrapper_arg_1) = ((MR_Box) ((mercury__getopt_io__env_ptr)->mercury__getopt_io__init_option_table_2_p_0_2_env_0__conv0_HeadVar__3_10));
#line 347 "getopt_io.m"
    {
#line 347 "getopt_io.m"
      ((mercury__getopt_io__env_ptr)->mercury__getopt_io__init_option_table_2_p_0_2_env_0__cont)((mercury__getopt_io__env_ptr)->mercury__getopt_io__init_option_table_2_p_0_2_env_0__cont_env_ptr);
#line 347 "getopt_io.m"
      return;
    }
#line 347 "getopt_io.m"
  }
#line 347 "getopt_io.m"
}

#line 347 "getopt_io.m"
static void MR_CALL 
mercury__getopt_io__init_option_table_2_p_0_2(
#line 347 "getopt_io.m"
  MR_Box mercury__getopt_io__closure_arg,
#line 347 "getopt_io.m"
  MR_Box * mercury__getopt_io__wrapper_arg_1,
#line 347 "getopt_io.m"
  MR_Cont mercury__getopt_io__cont,
#line 347 "getopt_io.m"
  void * mercury__getopt_io__cont_env_ptr)
#line 347 "getopt_io.m"
{
#line 347 "getopt_io.m"
  {
#line 347 "getopt_io.m"
    struct mercury__getopt_io__init_option_table_2_p_0_2_env_0_s mercury__getopt_io__env;

#line 347 "getopt_io.m"
    (mercury__getopt_io__env).mercury__getopt_io__init_option_table_2_p_0_2_env_0__wrapper_arg_1 = mercury__getopt_io__wrapper_arg_1;
#line 347 "getopt_io.m"
    (mercury__getopt_io__env).mercury__getopt_io__init_option_table_2_p_0_2_env_0__cont = mercury__getopt_io__cont;
#line 347 "getopt_io.m"
    (mercury__getopt_io__env).mercury__getopt_io__init_option_table_2_p_0_2_env_0__cont_env_ptr = mercury__getopt_io__cont_env_ptr;
#line 347 "getopt_io.m"
    {
#line 347 "getopt_io.m"
      MR_Box mercury__getopt_io__closure = mercury__getopt_io__closure_arg;

#line 347 "getopt_io.m"
      {
#line 347 "getopt_io.m"
        mercury__getopt_io__IntroducedFrom__pred__init_option_table__347__1_3_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__closure, (MR_Integer) 3))), ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__closure, (MR_Integer) 4))), &(mercury__getopt_io__env).mercury__getopt_io__init_option_table_2_p_0_2_env_0__conv0_HeadVar__3_10, mercury__getopt_io__init_option_table_2_p_0_1, &mercury__getopt_io__env);
      }
#line 347 "getopt_io.m"
    }
#line 347 "getopt_io.m"
  }
#line 347 "getopt_io.m"
}

#line 156 "getopt_io.m"
void MR_CALL 
mercury__getopt_io__init_option_table_2_p_0(
#line 156 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_12,
#line 156 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionDefaultsPred_3,
#line 156 "getopt_io.m"
  MR_Word * mercury__getopt_io__OptionTable_4)
#line 156 "getopt_io.m"
{
#line 346 "getopt_io.m"
  {
#line 346 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 346 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_13_13;
#line 346 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_14_14;
#line 346 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeInfo_15_15;
#line 346 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_12_29;
#line 346 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeInfo_13_30;
#line 346 "getopt_io.m"
    MR_Word mercury__getopt_io__OptionDefaultsList_8;
#line 346 "getopt_io.m"
    MR_Word mercury__getopt_io__V_9_9;
#line 346 "getopt_io.m"
    MR_Word mercury__getopt_io__UnsortedList_5_18;
#line 346 "getopt_io.m"
    MR_Word mercury__getopt_io__V_5_23;
#line 346 "getopt_io.m"
    MR_Word mercury__getopt_io__V_6_25;
#line 346 "getopt_io.m"
    MR_Integer mercury__getopt_io__V_5_35;
#line 346 "getopt_io.m"
    MR_Word mercury__getopt_io__V_5_45;
#line 71 "solutions.opt"
    MR_Box mercury__getopt_io__conv2_UnsortedList_5_18;
#line 110 "list.opt"
    MR_Word mercury__getopt_io__conv3_OptionDefaultsList_8;

#line 347 "getopt_io.m"
    {
#line 347 "getopt_io.m"
      mercury__getopt_io__V_9_9 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 5 * sizeof(MR_Word)), NULL, NULL);
#line 347 "getopt_io.m"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__V_9_9, 0) = ((MR_Box) (&mercury__getopt_io_scalar_common_6[0]));
#line 347 "getopt_io.m"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__V_9_9, 1) = ((MR_Box) (mercury__getopt_io__init_option_table_2_p_0_2));
#line 347 "getopt_io.m"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__V_9_9, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 2));
#line 347 "getopt_io.m"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__V_9_9, 3) = ((MR_Box) (mercury__getopt_io__TypeInfo_for_OptionType_12));
#line 347 "getopt_io.m"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__V_9_9, 4) = ((MR_Box) (mercury__getopt_io__OptionDefaultsPred_3));
#line 347 "getopt_io.m"
    }
#line 11900 "getopt_io.c"
    mercury__getopt_io__TypeCtorInfo_14_14 = (MR_Word) &mercury__pair__pair__type_ctor_info_pair_2;
#line 11902 "getopt_io.c"
    mercury__getopt_io__TypeCtorInfo_13_13 = (MR_Word) &mercury__getopt_io__getopt_io__type_ctor_info_option_data_0;
#line 11904 "getopt_io.c"
    {
#line 11906 "getopt_io.c"
      mercury__getopt_io__TypeInfo_15_15 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 11908 "getopt_io.c"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__TypeInfo_15_15, 0) = ((MR_Box) (mercury__getopt_io__TypeCtorInfo_14_14));
#line 11910 "getopt_io.c"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__TypeInfo_15_15, 1) = ((MR_Box) (mercury__getopt_io__TypeInfo_for_OptionType_12));
#line 11912 "getopt_io.c"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__TypeInfo_15_15, 2) = ((MR_Box) (mercury__getopt_io__TypeCtorInfo_13_13));
#line 11914 "getopt_io.c"
    }
#line 69 "solutions.opt"
    {
#line 69 "solutions.opt"
      mercury__getopt_io__V_5_23 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 4 * sizeof(MR_Word)), NULL, NULL);
#line 69 "solutions.opt"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__V_5_23, 0) = ((MR_Box) (&mercury__getopt_io_scalar_common_7[0]));
#line 69 "solutions.opt"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__V_5_23, 1) = ((MR_Box) (mercury__getopt_io__init_option_table_2_p_0_3));
#line 69 "solutions.opt"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__V_5_23, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 1));
#line 69 "solutions.opt"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__V_5_23, 3) = ((MR_Box) (mercury__getopt_io__TypeInfo_15_15));
#line 69 "solutions.opt"
    }
#line 70 "solutions.opt"
    mercury__getopt_io__V_6_25 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 11932 "getopt_io.c"
    mercury__getopt_io__TypeCtorInfo_12_29 = (MR_Word) &mercury__list__list__type_ctor_info_list_1;
#line 11934 "getopt_io.c"
    {
#line 11936 "getopt_io.c"
      mercury__getopt_io__TypeInfo_13_30 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 11938 "getopt_io.c"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__TypeInfo_13_30, 0) = ((MR_Box) (mercury__getopt_io__TypeCtorInfo_12_29));
#line 11940 "getopt_io.c"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__TypeInfo_13_30, 1) = ((MR_Box) (mercury__getopt_io__TypeInfo_15_15));
#line 11942 "getopt_io.c"
    }
#line 71 "solutions.opt"
    {
#line 71 "solutions.opt"
      mercury__solutions__builtin_aggregate_4_p_7(mercury__getopt_io__TypeInfo_15_15, mercury__getopt_io__TypeInfo_13_30, (MR_Word) mercury__getopt_io__V_9_9, (MR_Word) mercury__getopt_io__V_5_23, ((MR_Box) (mercury__getopt_io__V_6_25)), &mercury__getopt_io__conv2_UnsortedList_5_18);
    }
#line 71 "solutions.opt"
    mercury__getopt_io__UnsortedList_5_18 = ((MR_Word) mercury__getopt_io__conv2_UnsortedList_5_18);
#line 78 "list.opt"
    {
#line 78 "list.opt"
      mercury__list__length_2_3_p_0(mercury__getopt_io__TypeInfo_15_15, (MR_Word) mercury__getopt_io__UnsortedList_5_18, (MR_Integer) 0, &mercury__getopt_io__V_5_35);
    }
#line 110 "list.opt"
    {
#line 110 "list.opt"
      mercury__list__merge_sort_and_remove_dups_2_3_p_0(mercury__getopt_io__TypeInfo_15_15, mercury__getopt_io__V_5_35, (MR_Word) mercury__getopt_io__UnsortedList_5_18, &mercury__getopt_io__conv3_OptionDefaultsList_8);
    }
#line 110 "list.opt"
    mercury__getopt_io__OptionDefaultsList_8 = (MR_Word) mercury__getopt_io__conv3_OptionDefaultsList_8;
#line 90 "tree234.opt"
    mercury__getopt_io__V_5_45 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 91 "tree234.opt"
    {
#line 91 "tree234.opt"
      mercury__tree234__assoc_list_to_tree234_acc_3_p_0(mercury__getopt_io__TypeInfo_for_OptionType_12, mercury__getopt_io__TypeCtorInfo_13_13, mercury__getopt_io__OptionDefaultsList_8, mercury__getopt_io__V_5_45, mercury__getopt_io__OptionTable_4);
#line 91 "tree234.opt"
      return;
    }
#line 346 "getopt_io.m"
  }
#line 156 "getopt_io.m"
}

#line 150 "getopt_io.m"
void MR_CALL 
mercury__getopt_io__process_options_track_9_p_0(
#line 150 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_29,
#line 150 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionOps_10,
#line 150 "getopt_io.m"
  MR_Word mercury__getopt_io__Args0_11,
#line 150 "getopt_io.m"
  MR_Word * mercury__getopt_io__OptionArgs_12,
#line 150 "getopt_io.m"
  MR_Word * mercury__getopt_io__NonOptionArgs_13,
#line 150 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionTable0_14,
#line 150 "getopt_io.m"
  MR_Word * mercury__getopt_io__Result_15,
#line 150 "getopt_io.m"
  MR_Word * mercury__getopt_io__OptionsSet_16)
#line 150 "getopt_io.m"
{
#line 389 "getopt_io.m"
  {
#line 389 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 389 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_30_30;
#line 389 "getopt_io.m"
    MR_Word mercury__getopt_io__Short_18 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_10, (MR_Integer) 0)));
#line 389 "getopt_io.m"
    MR_Word mercury__getopt_io__Long_19 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_10, (MR_Integer) 1)));
#line 389 "getopt_io.m"
    MR_Word mercury__getopt_io__Special_20 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_10, (MR_Integer) 2)));
#line 389 "getopt_io.m"
    MR_Word mercury__getopt_io__Internal_21;
#line 389 "getopt_io.m"
    MR_Word mercury__getopt_io__RevOptionArgs_22;
#line 389 "getopt_io.m"
    MR_Word mercury__getopt_io__V_25_25;
#line 389 "getopt_io.m"
    MR_Word mercury__getopt_io__V_26_26;
#line 389 "getopt_io.m"
    MR_Word mercury__getopt_io__V_27_27;
#line 389 "getopt_io.m"
    MR_Word mercury__getopt_io__V_2_33;

#line 391 "getopt_io.m"
    {
#line 391 "getopt_io.m"
      mercury__getopt_io__V_25_25 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 391 "getopt_io.m"
      MR_hl_field(MR_mktag(2), mercury__getopt_io__V_25_25, 0) = ((MR_Box) (mercury__getopt_io__Special_20));
#line 391 "getopt_io.m"
    }
#line 391 "getopt_io.m"
    {
#line 391 "getopt_io.m"
      mercury__getopt_io__Internal_21 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 391 "getopt_io.m"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__Internal_21, 0) = ((MR_Box) (mercury__getopt_io__Short_18));
#line 391 "getopt_io.m"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__Internal_21, 1) = ((MR_Box) (mercury__getopt_io__Long_19));
#line 391 "getopt_io.m"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__Internal_21, 2) = ((MR_Box) (mercury__getopt_io__V_25_25));
#line 391 "getopt_io.m"
    }
#line 392 "getopt_io.m"
    mercury__getopt_io__V_26_26 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 23 "set_ordlist.opt"
    mercury__getopt_io__V_2_33 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 22 "set_ordlist.opt"
    mercury__getopt_io__V_27_27 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 392 "getopt_io.m"
    {
#line 392 "getopt_io.m"
      mercury__getopt_io__process_arguments_11_p_0(mercury__getopt_io__TypeInfo_for_OptionType_29, mercury__getopt_io__Args0_11, mercury__getopt_io__NonOptionArgs_13, mercury__getopt_io__Internal_21, mercury__getopt_io__V_26_26, &mercury__getopt_io__RevOptionArgs_22, mercury__getopt_io__OptionTable0_14, mercury__getopt_io__Result_15, mercury__getopt_io__V_27_27, mercury__getopt_io__OptionsSet_16);
    }
#line 12054 "getopt_io.c"
    mercury__getopt_io__TypeCtorInfo_30_30 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0;
#line 118 "list.opt"
    {
#line 118 "list.opt"
      mercury__list__reverse_2_p_0(mercury__getopt_io__TypeCtorInfo_30_30, mercury__getopt_io__RevOptionArgs_22, mercury__getopt_io__OptionArgs_12);
#line 118 "list.opt"
      return;
    }
#line 389 "getopt_io.m"
  }
#line 150 "getopt_io.m"
}

#line 143 "getopt_io.m"
void MR_CALL 
mercury__getopt_io__process_options_7_p_0(
#line 143 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_32,
#line 143 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionOps_8,
#line 143 "getopt_io.m"
  MR_Word mercury__getopt_io__Args0_9,
#line 143 "getopt_io.m"
  MR_Word * mercury__getopt_io__OptionArgs_10,
#line 143 "getopt_io.m"
  MR_Word * mercury__getopt_io__NonOptionArgs_11,
#line 143 "getopt_io.m"
  MR_Word * mercury__getopt_io__Result_12)
#line 143 "getopt_io.m"
{
#line 365 "getopt_io.m"
  {
#line 365 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 365 "getopt_io.m"
    MR_Word mercury__getopt_io__TypeCtorInfo_33_33;
#line 365 "getopt_io.m"
    MR_Word mercury__getopt_io__Short_14;
#line 365 "getopt_io.m"
    MR_Word mercury__getopt_io__Long_15;
#line 365 "getopt_io.m"
    MR_Word mercury__getopt_io__MaybeSpecial_17;
#line 365 "getopt_io.m"
    MR_Word mercury__getopt_io__OptionTable0_18;
#line 365 "getopt_io.m"
    MR_Word mercury__getopt_io__Internal_20;
#line 365 "getopt_io.m"
    MR_Word mercury__getopt_io__RevOptionArgs_21;
#line 365 "getopt_io.m"
    MR_Word mercury__getopt_io__V_25_25;
#line 365 "getopt_io.m"
    MR_Word mercury__getopt_io__V_26_26;
#line 365 "getopt_io.m"
    MR_Word mercury__getopt_io__V_2_36;
#line 384 "getopt_io.m"
    MR_Word mercury__getopt_io___OptionsSet_22;

#line 370 "getopt_io.m"
    if (((MR_tag((MR_Word) mercury__getopt_io__OptionOps_8)) == (MR_mktag((MR_Integer) 0))))
#line 367 "getopt_io.m"
      {
#line 367 "getopt_io.m"
        MR_Word mercury__getopt_io__Defaults_16;

#line 367 "getopt_io.m"
        mercury__getopt_io__Short_14 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_8, (MR_Integer) 0)));
#line 367 "getopt_io.m"
        mercury__getopt_io__Long_15 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_8, (MR_Integer) 1)));
#line 367 "getopt_io.m"
        mercury__getopt_io__Defaults_16 = ((MR_Word) (MR_hl_field(MR_mktag(0), mercury__getopt_io__OptionOps_8, (MR_Integer) 2)));
#line 368 "getopt_io.m"
        mercury__getopt_io__MaybeSpecial_17 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 369 "getopt_io.m"
        {
#line 369 "getopt_io.m"
          mercury__getopt_io__init_option_table_2_p_0(mercury__getopt_io__TypeInfo_for_OptionType_32, mercury__getopt_io__Defaults_16, &mercury__getopt_io__OptionTable0_18);
        }
#line 367 "getopt_io.m"
      }
#line 370 "getopt_io.m"
    else
#line 370 "getopt_io.m"
      if (((MR_tag((MR_Word) mercury__getopt_io__OptionOps_8)) == (MR_mktag((MR_Integer) 1))))
#line 371 "getopt_io.m"
        {
#line 371 "getopt_io.m"
          MR_Word mercury__getopt_io__Special_19;
#line 371 "getopt_io.m"
          MR_Word mercury__getopt_io__Defaults_28;

#line 371 "getopt_io.m"
          mercury__getopt_io__Short_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__OptionOps_8, (MR_Integer) 0)));
#line 371 "getopt_io.m"
          mercury__getopt_io__Long_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__OptionOps_8, (MR_Integer) 1)));
#line 371 "getopt_io.m"
          mercury__getopt_io__Defaults_28 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__OptionOps_8, (MR_Integer) 2)));
#line 371 "getopt_io.m"
          mercury__getopt_io__Special_19 = ((MR_Word) (MR_hl_field(MR_mktag(1), mercury__getopt_io__OptionOps_8, (MR_Integer) 3)));
#line 372 "getopt_io.m"
          {
#line 372 "getopt_io.m"
            mercury__getopt_io__MaybeSpecial_17 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 372 "getopt_io.m"
            MR_hl_field(MR_mktag(1), mercury__getopt_io__MaybeSpecial_17, 0) = ((MR_Box) (mercury__getopt_io__Special_19));
#line 372 "getopt_io.m"
          }
#line 373 "getopt_io.m"
          {
#line 373 "getopt_io.m"
            mercury__getopt_io__init_option_table_2_p_0(mercury__getopt_io__TypeInfo_for_OptionType_32, mercury__getopt_io__Defaults_28, &mercury__getopt_io__OptionTable0_18);
          }
#line 371 "getopt_io.m"
        }
#line 370 "getopt_io.m"
      else
#line 370 "getopt_io.m"
        if (((MR_tag((MR_Word) mercury__getopt_io__OptionOps_8)) == (MR_mktag((MR_Integer) 2))))
#line 375 "getopt_io.m"
          {
#line 375 "getopt_io.m"
            MR_Word mercury__getopt_io__Defaults_29;

#line 375 "getopt_io.m"
            mercury__getopt_io__Short_14 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__OptionOps_8, (MR_Integer) 0)));
#line 375 "getopt_io.m"
            mercury__getopt_io__Long_15 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__OptionOps_8, (MR_Integer) 1)));
#line 375 "getopt_io.m"
            mercury__getopt_io__Defaults_29 = ((MR_Word) (MR_hl_field(MR_mktag(2), mercury__getopt_io__OptionOps_8, (MR_Integer) 2)));
#line 376 "getopt_io.m"
            mercury__getopt_io__MaybeSpecial_17 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 377 "getopt_io.m"
            {
#line 377 "getopt_io.m"
              mercury__getopt_io__init_option_table_multi_2_p_0(mercury__getopt_io__TypeInfo_for_OptionType_32, mercury__getopt_io__Defaults_29, &mercury__getopt_io__OptionTable0_18);
            }
#line 375 "getopt_io.m"
          }
#line 370 "getopt_io.m"
        else
#line 379 "getopt_io.m"
          {
#line 379 "getopt_io.m"
            MR_Word mercury__getopt_io__Defaults_30;
#line 379 "getopt_io.m"
            MR_Word mercury__getopt_io__Special_31;

#line 379 "getopt_io.m"
            mercury__getopt_io__Short_14 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__OptionOps_8, (MR_Integer) 0)));
#line 379 "getopt_io.m"
            mercury__getopt_io__Long_15 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__OptionOps_8, (MR_Integer) 1)));
#line 379 "getopt_io.m"
            mercury__getopt_io__Defaults_30 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__OptionOps_8, (MR_Integer) 2)));
#line 379 "getopt_io.m"
            mercury__getopt_io__Special_31 = ((MR_Word) (MR_hl_field(MR_mktag(3), mercury__getopt_io__OptionOps_8, (MR_Integer) 3)));
#line 380 "getopt_io.m"
            {
#line 380 "getopt_io.m"
              mercury__getopt_io__MaybeSpecial_17 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 380 "getopt_io.m"
              MR_hl_field(MR_mktag(1), mercury__getopt_io__MaybeSpecial_17, 0) = ((MR_Box) (mercury__getopt_io__Special_31));
#line 380 "getopt_io.m"
            }
#line 381 "getopt_io.m"
            {
#line 381 "getopt_io.m"
              mercury__getopt_io__init_option_table_multi_2_p_0(mercury__getopt_io__TypeInfo_for_OptionType_32, mercury__getopt_io__Defaults_30, &mercury__getopt_io__OptionTable0_18);
            }
#line 379 "getopt_io.m"
          }
#line 383 "getopt_io.m"
    {
#line 383 "getopt_io.m"
      mercury__getopt_io__Internal_20 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 383 "getopt_io.m"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__Internal_20, 0) = ((MR_Box) (mercury__getopt_io__Short_14));
#line 383 "getopt_io.m"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__Internal_20, 1) = ((MR_Box) (mercury__getopt_io__Long_15));
#line 383 "getopt_io.m"
      MR_hl_field(MR_mktag(0), mercury__getopt_io__Internal_20, 2) = ((MR_Box) (mercury__getopt_io__MaybeSpecial_17));
#line 383 "getopt_io.m"
    }
#line 384 "getopt_io.m"
    mercury__getopt_io__V_25_25 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 23 "set_ordlist.opt"
    mercury__getopt_io__V_2_36 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 22 "set_ordlist.opt"
    mercury__getopt_io__V_26_26 = (MR_Word) ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 384 "getopt_io.m"
    {
#line 384 "getopt_io.m"
      mercury__getopt_io__process_arguments_11_p_0(mercury__getopt_io__TypeInfo_for_OptionType_32, mercury__getopt_io__Args0_9, mercury__getopt_io__NonOptionArgs_11, mercury__getopt_io__Internal_20, mercury__getopt_io__V_25_25, &mercury__getopt_io__RevOptionArgs_21, mercury__getopt_io__OptionTable0_18, mercury__getopt_io__Result_12, mercury__getopt_io__V_26_26, &mercury__getopt_io___OptionsSet_22);
    }
#line 12247 "getopt_io.c"
    mercury__getopt_io__TypeCtorInfo_33_33 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0;
#line 118 "list.opt"
    {
#line 118 "list.opt"
      mercury__list__reverse_2_p_0(mercury__getopt_io__TypeCtorInfo_33_33, mercury__getopt_io__RevOptionArgs_21, mercury__getopt_io__OptionArgs_10);
#line 118 "list.opt"
      return;
    }
#line 365 "getopt_io.m"
  }
#line 143 "getopt_io.m"
}

#line 139 "getopt_io.m"
void MR_CALL 
mercury__getopt_io__process_options_6_p_0(
#line 139 "getopt_io.m"
  MR_Word mercury__getopt_io__TypeInfo_for_OptionType_16,
#line 139 "getopt_io.m"
  MR_Word mercury__getopt_io__OptionOps_7,
#line 139 "getopt_io.m"
  MR_Word mercury__getopt_io__Args0_8,
#line 139 "getopt_io.m"
  MR_Word * mercury__getopt_io__NonOptionArgs_9,
#line 139 "getopt_io.m"
  MR_Word * mercury__getopt_io__Result_10)
#line 139 "getopt_io.m"
{
#line 361 "getopt_io.m"
  {
#line 361 "getopt_io.m"
    MR_bool mercury__getopt_io__succeeded;
#line 361 "getopt_io.m"
    MR_Word mercury__getopt_io___OptionArgs_12;

#line 361 "getopt_io.m"
    {
#line 361 "getopt_io.m"
      mercury__getopt_io__process_options_7_p_0(mercury__getopt_io__TypeInfo_for_OptionType_16, mercury__getopt_io__OptionOps_7, mercury__getopt_io__Args0_8, &mercury__getopt_io___OptionArgs_12, mercury__getopt_io__NonOptionArgs_9, mercury__getopt_io__Result_10);
    }
#line 361 "getopt_io.m"
  }
#line 139 "getopt_io.m"
}

void mercury__getopt_io__init(void)
{
}

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

	MR_register_type_ctor_info(&mercury__getopt_io__getopt_io__type_ctor_info_maybe_option_table_1);
	MR_register_type_ctor_info(&mercury__getopt_io__getopt_io__type_ctor_info_option_data_0);
	MR_register_type_ctor_info(&mercury__getopt_io__getopt_io__type_ctor_info_option_ops_1);
	MR_register_type_ctor_info(&mercury__getopt_io__getopt_io__type_ctor_info_option_ops_internal_1);
	MR_register_type_ctor_info(&mercury__getopt_io__getopt_io__type_ctor_info_option_ops_special_1);
	MR_register_type_ctor_info(&mercury__getopt_io__getopt_io__type_ctor_info_option_ops_track_1);
	MR_register_type_ctor_info(&mercury__getopt_io__getopt_io__type_ctor_info_option_table_1);
	MR_register_type_ctor_info(&mercury__getopt_io__getopt_io__type_ctor_info_special_data_0);
}

void mercury__getopt_io__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 getopt_io. */
