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

/*
INIT mercury__ssdb__init
REQUIRED_INIT mercury__ssdb__required_init
ENDINIT
*/

#include "ssdb.mih"
#include "ssdb.mh"


#include "array.mih"
#include "assoc_list.mih"
#include "bimap.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 "getopt.mih"
#include "int.mih"
#include "io.mih"
#include "list.mih"
#include "map.mih"
#include "maybe.mih"
#include "mdb.mih"
#include "mdbcomp.mih"
#include "ops.mih"
#include "pair.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 "stream.mih"
#include "string.mih"
#include "term.mih"
#include "time.mih"
#include "tree234.mih"
#include "type_desc.mih"
#include "unit.mih"
#include "univ.mih"
#include "mdb.browse.mih"
#include "mdb.browser_info.mih"
#include "mdb.browser_term.mih"
#include "mdb.listing.mih"
#include "mdb.parse.mih"
#include "mdb.term_rep.mih"
#include "mdbcomp.goal_path.mih"
#include "mdbcomp.prim_data.mih"
#include "mdbcomp.program_representation.mih"
#include "mdbcomp.rtti_access.mih"
#include "mdbcomp.trace_counts.mih"























#line 2812 "ssdb.m"
struct ssdb__delete_breakpoint_3_p_0_env_0_s {
#line 2812 "ssdb.m"
  MR_Integer ssdb__delete_breakpoint_3_p_0_env_0__Num_4;
#line 2814 "ssdb.m"
  MR_bool ssdb__delete_breakpoint_3_p_0_env_0__succeeded;
#line 2814 "ssdb.m"
  MR_Word ssdb__delete_breakpoint_3_p_0_env_0__BreakPoints0_6;
#line 2822 "ssdb.m"
  MR_Word ssdb__delete_breakpoint_3_p_0_env_0__ProcId_7;
#line 2822 "ssdb.m"
  MR_Word ssdb__delete_breakpoint_3_p_0_env_0__BreakPoint_8;
#line 2836 "ssdb.m"
  jmp_buf ssdb__delete_breakpoint_3_p_0_env_0__commit_0;
#line 2836 "ssdb.m"
  MR_Integer ssdb__delete_breakpoint_3_p_0_env_0__V_37_37;
#line 2836 "ssdb.m"
  MR_Box ssdb__delete_breakpoint_3_p_0_env_0__conv1_ProcId_7;
#line 2836 "ssdb.m"
  MR_Box ssdb__delete_breakpoint_3_p_0_env_0__conv0_BreakPoint_8;
#line 2812 "ssdb.m"
};

#line 2793 "ssdb.m"
struct ssdb__modify_breakpoint_state_4_p_0_env_0_s {
#line 2793 "ssdb.m"
  MR_Integer ssdb__modify_breakpoint_state_4_p_0_env_0__Num_5;
#line 2795 "ssdb.m"
  MR_bool ssdb__modify_breakpoint_state_4_p_0_env_0__succeeded;
#line 2795 "ssdb.m"
  MR_Word ssdb__modify_breakpoint_state_4_p_0_env_0__BreakPoints0_8;
#line 2804 "ssdb.m"
  MR_Word ssdb__modify_breakpoint_state_4_p_0_env_0__Key_9;
#line 2804 "ssdb.m"
  MR_Word ssdb__modify_breakpoint_state_4_p_0_env_0__BreakPoint0_10;
#line 2836 "ssdb.m"
  jmp_buf ssdb__modify_breakpoint_state_4_p_0_env_0__commit_0;
#line 2836 "ssdb.m"
  MR_Integer ssdb__modify_breakpoint_state_4_p_0_env_0__V_43_43;
#line 2836 "ssdb.m"
  MR_Box ssdb__modify_breakpoint_state_4_p_0_env_0__conv1_Key_9;
#line 2836 "ssdb.m"
  MR_Box ssdb__modify_breakpoint_state_4_p_0_env_0__conv0_BreakPoint0_10;
#line 2793 "ssdb.m"
};

#line 1382 "ssdb.m"
struct ssdb__exception_handler_exists_2_p_0_env_0_s {
#line 1382 "ssdb.m"
  MR_Integer ssdb__exception_handler_exists_2_p_0_env_0__CSN_3;
#line 1382 "ssdb.m"
  MR_Word ssdb__exception_handler_exists_2_p_0_env_0__StackFrames_4;
#line 1384 "ssdb.m"
  MR_bool ssdb__exception_handler_exists_2_p_0_env_0__succeeded;
#line 1384 "ssdb.m"
  jmp_buf ssdb__exception_handler_exists_2_p_0_env_0__commit_0;
#line 1384 "ssdb.m"
  MR_Word ssdb__exception_handler_exists_2_p_0_env_0__StackFrame_5;
#line 1384 "ssdb.m"
  MR_Integer ssdb__exception_handler_exists_2_p_0_env_0__V_6_6;
#line 1384 "ssdb.m"
  MR_Word ssdb__exception_handler_exists_2_p_0_env_0__V_10_10;
#line 1384 "ssdb.m"
  MR_String ssdb__exception_handler_exists_2_p_0_env_0__Name_24;
#line 1384 "ssdb.m"
  MR_String ssdb__exception_handler_exists_2_p_0_env_0__V_25_25;
#line 1385 "ssdb.m"
  MR_Box ssdb__exception_handler_exists_2_p_0_env_0__conv0_StackFrame_5;
#line 1382 "ssdb.m"
};


#line 175 "ssdb.c"
static const MR_FA_PseudoTypeInfo_Struct1 ssdb__list__pti_list_1__plain_builtin__type_ctor_info_string_0;

#line 178 "ssdb.c"
static const MR_FA_PseudoTypeInfo_Struct1 ssdb__maybe__pti_maybe_1__plain_mdb__browser_info__type_ctor_info_portray_format_0;

#line 181 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_bp_state_0_0;

#line 184 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_bp_state_0_1;

#line 187 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_value_ordered_bp_state_0[2];

#line 190 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_name_ordered_bp_state_0[2];

#line 193 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_bp_state_0[2];

#line 196 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_breakpoint_0_0[3];

#line 199 "ssdb.c"
static const MR_ConstString ssdb__ssdb__field_names_breakpoint_0_0[3];

#line 202 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_breakpoint_0_0;

#line 205 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_breakpoint_0_0[1];

#line 208 "ssdb.c"
static const MR_DuPtagLayout ssdb__ssdb__du_ptag_ordered_breakpoint_0[1];

#line 211 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_name_ordered_breakpoint_0[1];

#line 214 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_breakpoint_0[1];

#line 217 "ssdb.c"
static const MR_FA_TypeInfo_Struct2 ssdb__tree234__ti_tree234_2ssdb__type_ctor_info_ssdb_proc_id_0ssdb__type_ctor_info_breakpoint_0;

#line 220 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_debugger_state_0_0;

#line 223 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_debugger_state_0_1;

#line 226 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_value_ordered_debugger_state_0[2];

#line 229 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_name_ordered_debugger_state_0[2];

#line 232 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_debugger_state_0[2];

#line 235 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_format_config_0_0[7];

#line 238 "ssdb.c"
static const MR_ConstString ssdb__ssdb__field_names_format_config_0_0[7];

#line 241 "ssdb.c"
static const MR_DuArgLocn ssdb__ssdb__field_locns_format_config_0_0[7];

#line 244 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_format_config_0_0;

#line 247 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_format_config_0_0[1];

#line 250 "ssdb.c"
static const MR_DuPtagLayout ssdb__ssdb__du_ptag_ordered_format_config_0[1];

#line 253 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_name_ordered_format_config_0[1];

#line 256 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_format_config_0[1];

#line 259 "ssdb.c"
static const MR_FA_TypeInfo_Struct1 ssdb__list__ti_list_1builtin__type_ctor_info_string_0;

#line 262 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_list_params_0_0[2];

#line 265 "ssdb.c"
static const MR_ConstString ssdb__ssdb__field_names_list_params_0_0[2];

#line 268 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_list_params_0_0;

#line 271 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_list_params_0_0[1];

#line 274 "ssdb.c"
static const MR_DuPtagLayout ssdb__ssdb__du_ptag_ordered_list_params_0[1];

#line 277 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_name_ordered_list_params_0[1];

#line 280 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_list_params_0[1];

#line 283 "ssdb.c"
static const MR_FA_TypeInfo_Struct1 ssdb__list__ti_list_1ssdb__type_ctor_info_var_value_0;

#line 286 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_next_stop_0_0;

#line 289 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_next_stop_0_1[1];

#line 292 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_next_stop_0_1;

#line 295 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_next_stop_0_2;

#line 298 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_next_stop_0_3[2];

#line 301 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_next_stop_0_3;

#line 304 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_next_stop_0_4[2];

#line 307 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_next_stop_0_4;

#line 310 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_next_stop_0_5;

#line 313 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_next_stop_0_6[1];

#line 316 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_next_stop_0_6;

#line 319 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_next_stop_0_7;

#line 322 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_next_stop_0_0[4];

#line 325 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_next_stop_0_1[1];

#line 328 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_next_stop_0_2[1];

#line 331 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_next_stop_0_3[2];

#line 334 "ssdb.c"
static const MR_DuPtagLayout ssdb__ssdb__du_ptag_ordered_next_stop_0[4];

#line 337 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_name_ordered_next_stop_0[8];

#line 340 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_next_stop_0[8];

#line 343 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_0;

#line 346 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_1;

#line 349 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_2;

#line 352 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_3;

#line 355 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_4;

#line 358 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_5;

#line 361 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_6;

#line 364 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_7;

#line 367 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_8;

#line 370 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_9;

#line 373 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_10;

#line 376 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_11;

#line 379 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_12;

#line 382 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_13;

#line 385 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_14;

#line 388 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_15;

#line 391 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_16;

#line 394 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_17;

#line 397 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_18;

#line 400 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_19;

#line 403 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_20;

#line 406 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_21;

#line 409 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_22;

#line 412 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_23;

#line 415 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_24;

#line 418 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_25;

#line 421 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_26;

#line 424 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_27;

#line 427 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_28;

#line 430 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_29;

#line 433 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_30;

#line 436 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_31;

#line 439 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_value_ordered_ssdb_cmd_0[32];

#line 442 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_name_ordered_ssdb_cmd_0[32];

#line 445 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_ssdb_cmd_0[32];

#line 448 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_0;

#line 451 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_1;

#line 454 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_2;

#line 457 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_3;

#line 460 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_4;

#line 463 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_5;

#line 466 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_6;

#line 469 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_7;

#line 472 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_value_ordered_ssdb_event_type_0[8];

#line 475 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_name_ordered_ssdb_event_type_0[8];

#line 478 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_ssdb_event_type_0[8];

#line 481 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_ssdb_proc_id_0_0[2];

#line 484 "ssdb.c"
static const MR_ConstString ssdb__ssdb__field_names_ssdb_proc_id_0_0[2];

#line 487 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_ssdb_proc_id_0_0;

#line 490 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_ssdb_proc_id_0_0[1];

#line 493 "ssdb.c"
static const MR_DuPtagLayout ssdb__ssdb__du_ptag_ordered_ssdb_proc_id_0[1];

#line 496 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_name_ordered_ssdb_proc_id_0[1];

#line 499 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_ssdb_proc_id_0[1];

#line 502 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_retry_0_0;

#line 505 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_retry_0_1;

#line 508 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_value_ordered_ssdb_retry_0[2];

#line 511 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_name_ordered_ssdb_retry_0[2];

#line 514 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_ssdb_retry_0[2];

#line 517 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_tracing_level_0_0;

#line 520 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_tracing_level_0_1;

#line 523 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_value_ordered_ssdb_tracing_level_0[2];

#line 526 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_name_ordered_ssdb_tracing_level_0[2];

#line 529 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_ssdb_tracing_level_0[2];

#line 532 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_stack_frame_0_0[8];

#line 535 "ssdb.c"
static const MR_ConstString ssdb__ssdb__field_names_stack_frame_0_0[8];

#line 538 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_stack_frame_0_0;

#line 541 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_stack_frame_0_0[1];

#line 544 "ssdb.c"
static const MR_DuPtagLayout ssdb__ssdb__du_ptag_ordered_stack_frame_0[1];

#line 547 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_name_ordered_stack_frame_0[1];

#line 550 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_stack_frame_0[1];

#line 553 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_var_value_0_0[2];

#line 556 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_var_value_0_0;

#line 559 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_var_value_0_1[3];

#line 562 "ssdb.c"
static const MR_DuExistLocn ssdb__ssdb__exist_locns_var_value_0_1[1];

#line 565 "ssdb.c"
static const MR_DuExistInfo ssdb__ssdb__exist_info_var_value_0_1;

#line 568 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_var_value_0_1;

#line 571 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_var_value_0_2[2];

#line 574 "ssdb.c"
static const MR_DuExistLocn ssdb__ssdb__exist_locns_var_value_0_2[1];

#line 577 "ssdb.c"
static const MR_DuExistInfo ssdb__ssdb__exist_info_var_value_0_2;

#line 580 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_var_value_0_2;

#line 583 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_var_value_0_0[1];

#line 586 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_var_value_0_1[1];

#line 589 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_var_value_0_2[1];

#line 592 "ssdb.c"
static const MR_DuPtagLayout ssdb__ssdb__du_ptag_ordered_var_value_0[3];

#line 595 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_name_ordered_var_value_0[3];

#line 598 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_var_value_0[3];

#line 601 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_what_next_0_0;

#line 604 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_what_next_0_1;

#line 607 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_what_next_0_2;

#line 610 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_what_next_0_3[1];

#line 613 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_what_next_0_3;

#line 616 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_what_next_0_4;

#line 619 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_what_next_0_5;

#line 622 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_what_next_0_6[1];

#line 625 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_what_next_0_6;

#line 628 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_what_next_0_7[1];

#line 631 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_what_next_0_7;

#line 634 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_what_next_0_8[1];

#line 637 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_what_next_0_8;

#line 640 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_what_next_0_0[5];

#line 643 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_what_next_0_1[1];

#line 646 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_what_next_0_2[1];

#line 649 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_what_next_0_3[2];

#line 652 "ssdb.c"
static const MR_DuPtagLayout ssdb__ssdb__du_ptag_ordered_what_next_0[4];

#line 655 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_name_ordered_what_next_0[9];

#line 658 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_what_next_0[9];

#line 661 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____bp_state_0_0_10001(
#line 664 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 666 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 669 "ssdb.c"
static void MR_CALL 
ssdb____Compare____bp_state_0_0_10001(
#line 672 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 674 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 676 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 679 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____breakpoint_0_0_10001(
#line 682 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 684 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 687 "ssdb.c"
static void MR_CALL 
ssdb____Compare____breakpoint_0_0_10001(
#line 690 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 692 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 694 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 697 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____breakpoints_map_0_0_10001(
#line 700 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 702 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 705 "ssdb.c"
static void MR_CALL 
ssdb____Compare____breakpoints_map_0_0_10001(
#line 708 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 710 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 712 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 715 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____debugger_state_0_0_10001(
#line 718 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 720 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 723 "ssdb.c"
static void MR_CALL 
ssdb____Compare____debugger_state_0_0_10001(
#line 726 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 728 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 730 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 733 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____debugging_paused_0_0_10001(
#line 736 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 738 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 741 "ssdb.c"
static void MR_CALL 
ssdb____Compare____debugging_paused_0_0_10001(
#line 744 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 746 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 748 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 751 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____format_config_0_0_10001(
#line 754 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 756 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 759 "ssdb.c"
static void MR_CALL 
ssdb____Compare____format_config_0_0_10001(
#line 762 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 764 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 766 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 769 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____list_params_0_0_10001(
#line 772 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 774 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 777 "ssdb.c"
static void MR_CALL 
ssdb____Compare____list_params_0_0_10001(
#line 780 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 782 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 784 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 787 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____list_var_value_0_0_10001(
#line 790 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 792 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 795 "ssdb.c"
static void MR_CALL 
ssdb____Compare____list_var_value_0_0_10001(
#line 798 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 800 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 802 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 805 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____next_stop_0_0_10001(
#line 808 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 810 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 813 "ssdb.c"
static void MR_CALL 
ssdb____Compare____next_stop_0_0_10001(
#line 816 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 818 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 820 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 823 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____pos_0_0_10001(
#line 826 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 828 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 831 "ssdb.c"
static void MR_CALL 
ssdb____Compare____pos_0_0_10001(
#line 834 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 836 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 838 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 841 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____ssdb_cmd_0_0_10001(
#line 844 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 846 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 849 "ssdb.c"
static void MR_CALL 
ssdb____Compare____ssdb_cmd_0_0_10001(
#line 852 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 854 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 856 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 859 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____ssdb_event_type_0_0_10001(
#line 862 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 864 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 867 "ssdb.c"
static void MR_CALL 
ssdb____Compare____ssdb_event_type_0_0_10001(
#line 870 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 872 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 874 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 877 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____ssdb_proc_id_0_0_10001(
#line 880 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 882 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 885 "ssdb.c"
static void MR_CALL 
ssdb____Compare____ssdb_proc_id_0_0_10001(
#line 888 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 890 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 892 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 895 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____ssdb_retry_0_0_10001(
#line 898 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 900 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 903 "ssdb.c"
static void MR_CALL 
ssdb____Compare____ssdb_retry_0_0_10001(
#line 906 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 908 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 910 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 913 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____ssdb_tracing_level_0_0_10001(
#line 916 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 918 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 921 "ssdb.c"
static void MR_CALL 
ssdb____Compare____ssdb_tracing_level_0_0_10001(
#line 924 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 926 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 928 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 931 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____stack_frame_0_0_10001(
#line 934 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 936 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 939 "ssdb.c"
static void MR_CALL 
ssdb____Compare____stack_frame_0_0_10001(
#line 942 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 944 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 946 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 949 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____var_name_0_0_10001(
#line 952 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 954 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 957 "ssdb.c"
static void MR_CALL 
ssdb____Compare____var_name_0_0_10001(
#line 960 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 962 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 964 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 967 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____var_value_0_0_10001(
#line 970 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 972 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 975 "ssdb.c"
static void MR_CALL 
ssdb____Compare____var_value_0_0_10001(
#line 978 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 980 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 982 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 985 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____what_next_0_0_10001(
#line 988 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 990 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2);

#line 993 "ssdb.c"
static void MR_CALL 
ssdb____Compare____what_next_0_0_10001(
#line 996 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 998 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 1000 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3);

#line 3159 "ssdb.m"
static MR_bool MR_CALL 
ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_115_97_102_101_95_116_111_95_119_114_105_116_101_95_95_91_49_93_95_48_1_p_0(
#line 3159 "ssdb.m"
  MR_Box ssdb__HeadVar__1_1);

#line 2040 "ssdb.m"
static MR_bool MR_CALL 
ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_112_114_105_110_116_95_111_112_116_105_111_110_115_95_95_91_50_93_95_48_3_p_0(
#line 2040 "ssdb.m"
  MR_String ssdb__HeadVar__1_1,
#line 2040 "ssdb.m"
  MR_Word * ssdb__HeadVar__3_3);

#line 3407 "ssdb.m"
static void MR_CALL 
ssdb__process_short_options__ho6_4_p_0(
#line 3407 "ssdb.m"
  MR_Word ssdb__Chars_6,
#line 3407 "ssdb.m"
  MR_Word ssdb__Data0_7,
#line 3407 "ssdb.m"
  MR_Word * ssdb__Res_8);

#line 3407 "ssdb.m"
static void MR_CALL 
ssdb__process_short_options__ho5_4_p_0(
#line 3407 "ssdb.m"
  MR_Word ssdb__Chars_6,
#line 3407 "ssdb.m"
  MR_Word ssdb__Data0_7,
#line 3407 "ssdb.m"
  MR_Word * ssdb__Res_8);

#line 3407 "ssdb.m"
static void MR_CALL 
ssdb__process_short_options__ho4_4_p_0(
#line 3407 "ssdb.m"
  MR_Word ssdb__Chars_6,
#line 3407 "ssdb.m"
  MR_Word ssdb__Data0_7,
#line 3407 "ssdb.m"
  MR_Word * ssdb__Res_8);

#line 3369 "ssdb.m"
static void MR_CALL 
ssdb__process_options__ho3_5_p_0(
#line 3369 "ssdb.m"
  MR_Word ssdb__Args0_7,
#line 3369 "ssdb.m"
  MR_Word * ssdb__Args_8,
#line 3369 "ssdb.m"
  MR_Word ssdb__Data0_9,
#line 3369 "ssdb.m"
  MR_Word * ssdb__Res_10);

#line 3369 "ssdb.m"
static void MR_CALL 
ssdb__process_options__ho2_5_p_0(
#line 3369 "ssdb.m"
  MR_Word ssdb__Args0_7,
#line 3369 "ssdb.m"
  MR_Word * ssdb__Args_8,
#line 3369 "ssdb.m"
  MR_Word ssdb__Data0_9,
#line 3369 "ssdb.m"
  MR_Word * ssdb__Res_10);

#line 3369 "ssdb.m"
static void MR_CALL 
ssdb__process_options__ho1_5_p_0(
#line 3369 "ssdb.m"
  MR_Word ssdb__Args0_7,
#line 3369 "ssdb.m"
  MR_Word * ssdb__Args_8,
#line 3369 "ssdb.m"
  MR_Word ssdb__Data0_9,
#line 3369 "ssdb.m"
  MR_Word * ssdb__Res_10);

#line 3088 "ssdb.m"
static MR_bool MR_CALL 
ssdb__IntroducedFrom__pred__print_var_with_name__3088__1_2_p_0(
#line 3088 "ssdb.m"
  MR_String ssdb__VarName_8,
#line 3088 "ssdb.m"
  MR_Word ssdb__HeadVar__2_20);

#line 2782 "ssdb.m"
static MR_Word MR_CALL 
ssdb__IntroducedFrom__func__modify_breakpoint_states__2782__1_2_f_0(
#line 2782 "ssdb.m"
  MR_Word ssdb__State_4,
#line 2782 "ssdb.m"
  MR_Word ssdb__HeadVar__2_14);

#line 222 "ssdb.m"
static void MR_CALL 
ssdb____Compare____what_next_0_0(
#line 222 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 222 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 222 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3);

#line 222 "ssdb.m"
static MR_bool MR_CALL 
ssdb____Unify____what_next_0_0(
#line 222 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 222 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2);

#line 186 "ssdb.m"
static void MR_CALL 
ssdb____Compare____stack_frame_0_0(
#line 186 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 186 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 186 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3);

#line 186 "ssdb.m"
static MR_bool MR_CALL 
ssdb____Unify____stack_frame_0_0(
#line 186 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 186 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2);

#line 1404 "ssdb.m"
static void MR_CALL 
ssdb____Compare____ssdb_cmd_0_0(
#line 1404 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 1404 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 1404 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3);

#line 1404 "ssdb.m"
static MR_bool MR_CALL 
ssdb____Unify____ssdb_cmd_0_0(
#line 1404 "ssdb.m"
  MR_Word ssdb__HeadVar__2_1,
#line 1404 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2);

#line 236 "ssdb.m"
static void MR_CALL 
ssdb____Compare____next_stop_0_0(
#line 236 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 236 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 236 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3);

#line 236 "ssdb.m"
static MR_bool MR_CALL 
ssdb____Unify____next_stop_0_0(
#line 236 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 236 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2);

#line 211 "ssdb.m"
static void MR_CALL 
ssdb____Compare____list_params_0_0(
#line 211 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 211 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 211 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3);

#line 211 "ssdb.m"
static MR_bool MR_CALL 
ssdb____Unify____list_params_0_0(
#line 211 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 211 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2);

#line 2248 "ssdb.m"
static void MR_CALL 
ssdb____Compare____format_config_0_0(
#line 2248 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 2248 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 2248 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3);

#line 2248 "ssdb.m"
static MR_bool MR_CALL 
ssdb____Unify____format_config_0_0(
#line 2248 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 2248 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2);

#line 264 "ssdb.m"
static void MR_CALL 
ssdb____Compare____breakpoints_map_0_0(
#line 264 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 264 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 264 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3);

#line 264 "ssdb.m"
static MR_bool MR_CALL 
ssdb____Unify____breakpoints_map_0_0(
#line 264 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 264 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2);

#line 266 "ssdb.m"
static void MR_CALL 
ssdb____Compare____breakpoint_0_0(
#line 266 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 266 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 266 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3);

#line 266 "ssdb.m"
static MR_bool MR_CALL 
ssdb____Unify____breakpoint_0_0(
#line 266 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 266 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2);

#line 273 "ssdb.m"
static void MR_CALL 
ssdb____Compare____bp_state_0_0(
#line 273 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 273 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 273 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3);

#line 273 "ssdb.m"
static MR_bool MR_CALL 
ssdb____Unify____bp_state_0_0(
#line 273 "ssdb.m"
  MR_Word ssdb__HeadVar__2_1,
#line 273 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2);

#line 3486 "ssdb.m"
static void MR_CALL 
ssdb__exit_process_2_p_0(void);

#line 3476 "ssdb.m"
static void MR_CALL 
ssdb__restore_streams_2_p_0(void);

#line 3466 "ssdb.m"
static void MR_CALL 
ssdb__save_streams_2_p_0(void);

#line 3443 "ssdb.m"
static void MR_CALL 
ssdb__print_invalid_argument_2_p_0(void);

#line 3438 "ssdb.m"
static void MR_CALL 
ssdb__print_too_many_arguments_2_p_0(void);

#line 3306 "ssdb.m"
static void MR_CALL 
ssdb__print_breakpoint_3_p_0(
#line 3306 "ssdb.m"
  MR_Word ssdb__BreakPoint_4);

#line 3274 "ssdb.m"
static void MR_CALL 
ssdb__print_vars_list_4_p_0(
#line 3274 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 3274 "ssdb.m"
  MR_Integer ssdb__VarNum_2);

#line 3252 "ssdb.m"
static void MR_CALL 
ssdb__list_var_value_to_assoc_list_2_p_0(
#line 3252 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 3252 "ssdb.m"
  MR_Word * ssdb__HeadVar__2_2);

#line 3203 "ssdb.m"
static void MR_CALL 
ssdb__browse_var_4_p_0(
#line 3203 "ssdb.m"
  MR_Word ssdb__ListVarValue_5,
#line 3203 "ssdb.m"
  MR_String ssdb__VarName_6);

#line 3178 "ssdb.m"
static void MR_CALL 
ssdb__print_browser_term_5_p_0(
#line 3178 "ssdb.m"
  MR_Word ssdb__MaybeFormat_6,
#line 3178 "ssdb.m"
  MR_Word ssdb__CallerType_7,
#line 3178 "ssdb.m"
  MR_Word ssdb__Term_8);

#line 3159 "ssdb.m"
static MR_bool MR_CALL 
ssdb__safe_to_write_1_p_0(
#line 3159 "ssdb.m"
  MR_Word ssdb__TypeInfo_for_T_3,
#line 3159 "ssdb.m"
  MR_Box ssdb__HeadVar__1_1);

#line 3146 "ssdb.m"
static void MR_CALL 
ssdb__safe_write_6_p_0(
#line 3146 "ssdb.m"
  MR_Word ssdb__TypeInfo_for_T_21,
#line 3146 "ssdb.m"
  MR_Word ssdb__MaybeFormat_7,
#line 3146 "ssdb.m"
  MR_Word ssdb__CallerType_8,
#line 3146 "ssdb.m"
  MR_String ssdb__Prefix_9,
#line 3146 "ssdb.m"
  MR_Box ssdb__T_10);

#line 3133 "ssdb.m"
static void MR_CALL 
ssdb__print_var_prelude_4_p_0(
#line 3133 "ssdb.m"
  MR_String ssdb__Name_5,
#line 3133 "ssdb.m"
  MR_Integer ssdb__Pos_6);

#line 3111 "ssdb.m"
static void MR_CALL 
ssdb__print_var_5_p_0(
#line 3111 "ssdb.m"
  MR_Word ssdb__MaybeFormat_6,
#line 3111 "ssdb.m"
  MR_Word ssdb__CallerType_7,
#line 3111 "ssdb.m"
  MR_Word ssdb__VarValue_8);

#line 3074 "ssdb.m"
static void MR_CALL 
ssdb__print_var_with_name_5_p_0_2(
#line 3074 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 3074 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 3074 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 3074 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3);

#line 3088 "ssdb.m"
static MR_bool MR_CALL 
ssdb__print_var_with_name_5_p_0_1(
#line 3088 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 3088 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1);

#line 3076 "ssdb.m"
static void MR_CALL 
ssdb__print_var_with_name_5_p_0(
#line 3076 "ssdb.m"
  MR_Word ssdb__MaybeFormat_6,
#line 3076 "ssdb.m"
  MR_Word ssdb__VarDescs_7,
#line 3076 "ssdb.m"
  MR_String ssdb__VarName_8);

#line 3074 "ssdb.m"
static void MR_CALL 
ssdb__print_vars_5_p_0_1(
#line 3074 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 3074 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 3074 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 3074 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3);

#line 3070 "ssdb.m"
static void MR_CALL 
ssdb__print_vars_5_p_0(
#line 3070 "ssdb.m"
  MR_Word ssdb__MaybeFormat_6,
#line 3070 "ssdb.m"
  MR_Word ssdb__CallerType_7,
#line 3070 "ssdb.m"
  MR_Word ssdb__Vars_8);

#line 3047 "ssdb.m"
static void MR_CALL 
ssdb__print_stack_frame_6_p_0(
#line 3047 "ssdb.m"
  MR_Char ssdb__Star_7,
#line 3047 "ssdb.m"
  MR_Integer ssdb__Level_8,
#line 3047 "ssdb.m"
  MR_Word ssdb__Frame_9,
#line 3047 "ssdb.m"
  MR_Integer ssdb__SkippedFrames_10);

#line 3031 "ssdb.m"
static void MR_CALL 
ssdb__compress_stack_frames_4_p_0(
#line 3031 "ssdb.m"
  MR_Word ssdb__RefFrame_5,
#line 3031 "ssdb.m"
  MR_Word ssdb__Stack_6,
#line 3031 "ssdb.m"
  MR_Integer ssdb__Count0_7,
#line 3031 "ssdb.m"
  MR_Integer * ssdb__Count_8);

#line 3000 "ssdb.m"
static void MR_CALL 
ssdb__print_stack_trace_5_p_0(
#line 3000 "ssdb.m"
  MR_Integer ssdb__CurLevel_6,
#line 3000 "ssdb.m"
  MR_Integer ssdb__StarDepth_7,
#line 3000 "ssdb.m"
  MR_Integer ssdb__RemainingLines_8);

#line 2973 "ssdb.m"
static void MR_CALL 
ssdb__print_depth_change_3_p_0(
#line 2973 "ssdb.m"
  MR_Integer ssdb__Depth_4);

#line 2923 "ssdb.m"
static void MR_CALL 
ssdb__print_event_info_4_p_0(
#line 2923 "ssdb.m"
  MR_Word ssdb__Event_5,
#line 2923 "ssdb.m"
  MR_Integer ssdb__EventNum_6);

#line 2871 "ssdb.m"
static void MR_CALL 
ssdb__set_breakpoints_filter_bits_3_p_0(
#line 2871 "ssdb.m"
  MR_Word ssdb__BreakPoint_4,
#line 2871 "ssdb.m"
  MR_Box ssdb__STATE_VARIABLE_Bitmap_0_11,
#line 2871 "ssdb.m"
  MR_Box * ssdb__STATE_VARIABLE_Bitmap_12);

#line 2868 "ssdb.m"
static void MR_CALL 
ssdb__delete_breakpoint_3_p_0_5(
#line 2868 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2868 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 2868 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 2868 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3);

#line 2836 "ssdb.m"
static void MR_CALL 
ssdb__delete_breakpoint_3_p_0_1(
#line 2836 "ssdb.m"
  void * ssdb__env_ptr_arg);

#line 2836 "ssdb.m"
static void MR_CALL 
ssdb__delete_breakpoint_3_p_0_3(
#line 2836 "ssdb.m"
  void * ssdb__env_ptr_arg);

#line 2836 "ssdb.m"
static void MR_CALL 
ssdb__delete_breakpoint_3_p_0_2(
#line 2836 "ssdb.m"
  void * ssdb__env_ptr_arg);

#line 2836 "ssdb.m"
static void MR_CALL 
ssdb__delete_breakpoint_3_p_0_4(
#line 2836 "ssdb.m"
  void * ssdb__env_ptr_arg);

#line 2812 "ssdb.m"
static void MR_CALL 
ssdb__delete_breakpoint_3_p_0(
#line 2812 "ssdb.m"
  MR_Integer ssdb__Num_4);

#line 2868 "ssdb.m"
static void MR_CALL 
ssdb__modify_breakpoint_state_4_p_0_5(
#line 2868 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2868 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 2868 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 2868 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3);

#line 2836 "ssdb.m"
static void MR_CALL 
ssdb__modify_breakpoint_state_4_p_0_1(
#line 2836 "ssdb.m"
  void * ssdb__env_ptr_arg);

#line 2836 "ssdb.m"
static void MR_CALL 
ssdb__modify_breakpoint_state_4_p_0_3(
#line 2836 "ssdb.m"
  void * ssdb__env_ptr_arg);

#line 2836 "ssdb.m"
static void MR_CALL 
ssdb__modify_breakpoint_state_4_p_0_2(
#line 2836 "ssdb.m"
  void * ssdb__env_ptr_arg);

#line 2836 "ssdb.m"
static void MR_CALL 
ssdb__modify_breakpoint_state_4_p_0_4(
#line 2836 "ssdb.m"
  void * ssdb__env_ptr_arg);

#line 2793 "ssdb.m"
static void MR_CALL 
ssdb__modify_breakpoint_state_4_p_0(
#line 2793 "ssdb.m"
  MR_Integer ssdb__Num_5,
#line 2793 "ssdb.m"
  MR_Word ssdb__State_6);

#line 2766 "ssdb.m"
static void MR_CALL 
ssdb__first_unseen_3_p_0(
#line 2766 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 2766 "ssdb.m"
  MR_Integer ssdb__HeadVar__2_2,
#line 2766 "ssdb.m"
  MR_Integer * ssdb__N_3);

#line 2764 "ssdb.m"
static MR_Integer MR_CALL 
ssdb__bp_number_1_f_0(
#line 2764 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1);

#line 2760 "ssdb.m"
static MR_Box MR_CALL 
ssdb__add_breakpoint_3_p_0_1(
#line 2760 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2760 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1);

#line 2737 "ssdb.m"
static void MR_CALL 
ssdb__add_breakpoint_3_p_0(
#line 2737 "ssdb.m"
  MR_Word ssdb__ProcId_4);

#line 2692 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_quit_4_p_0(
#line 2692 "ssdb.m"
  MR_Word ssdb__Args_5,
#line 2692 "ssdb.m"
  MR_Word ssdb__Interacting_6);

#line 2661 "ssdb.m"
static void MR_CALL 
ssdb__read_command_lines_5_p_0(
#line 2661 "ssdb.m"
  MR_Word ssdb__Stream_6,
#line 2661 "ssdb.m"
  MR_Word ssdb__STATE_VARIABLE_RevLines_0_16,
#line 2661 "ssdb.m"
  MR_Word * ssdb__STATE_VARIABLE_RevLines_17);

#line 2637 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_source_3_p_0(
#line 2637 "ssdb.m"
  MR_Word ssdb__Args_4);

#line 3303 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_delete_3_p_0_1(
#line 3303 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 3303 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 3303 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 3303 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3);

#line 2612 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_delete_3_p_0(
#line 2612 "ssdb.m"
  MR_Word ssdb__Args_4);

#line 3303 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_disable_3_p_0_3(
#line 3303 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 3303 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 3303 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 3303 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3);

#line 2868 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_disable_3_p_0_2(
#line 2868 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2868 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 2868 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 2868 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3);

#line 2782 "ssdb.m"
static MR_Box MR_CALL 
ssdb__execute_ssdb_disable_3_p_0_1(
#line 2782 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2782 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1);

#line 2592 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_disable_3_p_0(
#line 2592 "ssdb.m"
  MR_Word ssdb__Args_4);

#line 3303 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_enable_3_p_0_3(
#line 3303 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 3303 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 3303 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 3303 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3);

#line 2868 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_enable_3_p_0_2(
#line 2868 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2868 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 2868 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 2868 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3);

#line 2782 "ssdb.m"
static MR_Box MR_CALL 
ssdb__execute_ssdb_enable_3_p_0_1(
#line 2782 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2782 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1);

#line 2572 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_enable_3_p_0(
#line 2572 "ssdb.m"
  MR_Word ssdb__Args_4);

#line 2567 "ssdb.m"
static MR_bool MR_CALL 
ssdb__non_dot_1_p_0(
#line 2567 "ssdb.m"
  MR_Char ssdb__C_2);

#line 2560 "ssdb.m"
static MR_bool MR_CALL 
ssdb__execute_ssdb_break_3_p_0_2(
#line 2560 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2560 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1);

#line 3303 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_break_3_p_0_1(
#line 3303 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 3303 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 3303 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 3303 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3);

#line 2534 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_break_3_p_0(
#line 2534 "ssdb.m"
  MR_Word ssdb__Args_4);

#line 2508 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_list_context_lines_3_p_0(
#line 2508 "ssdb.m"
  MR_Word ssdb__Args_4);

#line 2493 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_pop_list_dir_3_p_0(
#line 2493 "ssdb.m"
  MR_Word ssdb__Args_4);

#line 2488 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_push_list_dir_3_p_0_1(
#line 2488 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2488 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 2488 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 2488 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3);

#line 2478 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_push_list_dir_3_p_0(
#line 2478 "ssdb.m"
  MR_Word ssdb__Args_4);

#line 2466 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_list_path_3_p_0_1(
#line 2466 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2466 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 2466 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 2466 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3);

#line 2453 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_list_path_3_p_0(
#line 2453 "ssdb.m"
  MR_Word ssdb__Args_4);

#line 2434 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_list_2_4_p_0(
#line 2434 "ssdb.m"
  MR_Integer ssdb__ContextLines_5,
#line 2434 "ssdb.m"
  MR_Integer ssdb__Depth_6);

#line 2414 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_list_4_p_0(
#line 2414 "ssdb.m"
  MR_Word ssdb__Args_5,
#line 2414 "ssdb.m"
  MR_Integer ssdb__Depth_6);

#line 2409 "ssdb.m"
static void MR_CALL 
ssdb__print_alias_4_p_0_1(
#line 2409 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2409 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 2409 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 2409 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3);

#line 2404 "ssdb.m"
static void MR_CALL 
ssdb__print_alias_4_p_0(
#line 2404 "ssdb.m"
  MR_String ssdb__Name_5,
#line 2404 "ssdb.m"
  MR_Word ssdb__Command_6);

#line 2382 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_unalias_4_p_0(
#line 2382 "ssdb.m"
  MR_Word ssdb__Args_5,
#line 2382 "ssdb.m"
  MR_Word ssdb__Interacting_6);

#line 2357 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_alias_4_p_0_1(
#line 2357 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2357 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 2357 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 2357 "ssdb.m"
  MR_Box ssdb__wrapper_arg_3,
#line 2357 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_4);

#line 2351 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_alias_4_p_0(
#line 2351 "ssdb.m"
  MR_Word ssdb__Args_5,
#line 2351 "ssdb.m"
  MR_Word ssdb__Interacting_6);

#line 2280 "ssdb.m"
static MR_bool MR_CALL 
ssdb__format_param_options_3_p_0(
#line 2280 "ssdb.m"
  MR_String ssdb__Opt_4,
#line 2280 "ssdb.m"
  MR_Word ssdb__STATE_VARIABLE_Config_0_6,
#line 2280 "ssdb.m"
  MR_Word * ssdb__STATE_VARIABLE_Config_7);

#line 2259 "ssdb.m"
static MR_bool MR_CALL 
ssdb__format_options_3_p_0(
#line 2259 "ssdb.m"
  MR_String ssdb__Opt_4,
#line 2259 "ssdb.m"
  MR_Word ssdb__STATE_VARIABLE_Config_0_6,
#line 2259 "ssdb.m"
  MR_Word * ssdb__STATE_VARIABLE_Config_7);

#line 2225 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_format_param_3_p_0(
#line 2225 "ssdb.m"
  MR_Word ssdb__STATE_VARIABLE_Args_0_20);

#line 2199 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_format_3_p_0(
#line 2199 "ssdb.m"
  MR_Word ssdb__STATE_VARIABLE_Args_0_21);

#line 2184 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_current_4_p_0(
#line 2184 "ssdb.m"
  MR_Word ssdb__Args_5,
#line 2184 "ssdb.m"
  MR_Word ssdb__Event_6);

#line 2152 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_level_5_p_0(
#line 2152 "ssdb.m"
  MR_Word ssdb__Args_6,
#line 2152 "ssdb.m"
  MR_Integer ssdb__STATE_VARIABLE_Depth_0_14,
#line 2152 "ssdb.m"
  MR_Integer * ssdb__STATE_VARIABLE_Depth_15);

#line 2133 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_up_down_6_p_0(
#line 2133 "ssdb.m"
  MR_Word ssdb__Args_7,
#line 2133 "ssdb.m"
  MR_Integer ssdb__Direction_8,
#line 2133 "ssdb.m"
  MR_Integer ssdb__STATE_VARIABLE_Depth_0_16,
#line 2133 "ssdb.m"
  MR_Integer * ssdb__STATE_VARIABLE_Depth_17);

#line 2127 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_up_5_p_0(
#line 2127 "ssdb.m"
  MR_Word ssdb__Args_6,
#line 2127 "ssdb.m"
  MR_Integer ssdb__STATE_VARIABLE_Depth_0_9,
#line 2127 "ssdb.m"
  MR_Integer * ssdb__STATE_VARIABLE_Depth_10);

#line 2121 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_down_5_p_0(
#line 2121 "ssdb.m"
  MR_Word ssdb__Args_6,
#line 2121 "ssdb.m"
  MR_Integer ssdb__STATE_VARIABLE_Depth_0_9,
#line 2121 "ssdb.m"
  MR_Integer * ssdb__STATE_VARIABLE_Depth_10);

#line 2108 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_vars_4_p_0(
#line 2108 "ssdb.m"
  MR_Word ssdb__Args_5,
#line 2108 "ssdb.m"
  MR_Integer ssdb__Depth_6);

#line 2092 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_browse_4_p_0(
#line 2092 "ssdb.m"
  MR_Word ssdb__Args_5,
#line 2092 "ssdb.m"
  MR_Integer ssdb__Depth_6);

#line 2064 "ssdb.m"
static void MR_CALL 
ssdb__make_arg_univs_3_p_0(
#line 2064 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 2064 "ssdb.m"
  MR_Integer ssdb__Pos_2,
#line 2064 "ssdb.m"
  MR_Word * ssdb__HeadVar__3_3);

#line 2008 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_print_4_p_0(
#line 2008 "ssdb.m"
  MR_Word ssdb__STATE_VARIABLE_Args_0_17,
#line 2008 "ssdb.m"
  MR_Integer ssdb__Depth_6);

#line 1989 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_stack_4_p_0(
#line 1989 "ssdb.m"
  MR_Word ssdb__Args_5,
#line 1989 "ssdb.m"
  MR_Integer ssdb__Depth_6);

#line 1972 "ssdb.m"
static void MR_CALL 
ssdb__nondet_stack_contains_csn_2_5_p_0(
#line 1972 "ssdb.m"
  MR_Integer ssdb__CSN_6,
#line 1972 "ssdb.m"
  MR_Integer ssdb__Depth_7,
#line 1972 "ssdb.m"
  MR_Word * ssdb__Contains_8);

#line 1934 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_retry_2_6_p_0(
#line 1934 "ssdb.m"
  MR_Integer ssdb__Num_7,
#line 1934 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1934 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1934 "ssdb.m"
  MR_Word * ssdb__WhatNext_10);

#line 1904 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_retry_6_p_0(
#line 1904 "ssdb.m"
  MR_Word ssdb__Args_7,
#line 1904 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1904 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1904 "ssdb.m"
  MR_Word * ssdb__WhatNext_10);

#line 1889 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_exception_6_p_0(
#line 1889 "ssdb.m"
  MR_Word ssdb__Args_7,
#line 1889 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1889 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1889 "ssdb.m"
  MR_Word * ssdb__WhatNext_10);

#line 1861 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_return_6_p_0(
#line 1861 "ssdb.m"
  MR_Word ssdb__Args_7,
#line 1861 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1861 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1861 "ssdb.m"
  MR_Word * ssdb__WhatNext_10);

#line 1818 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_finish_6_p_0(
#line 1818 "ssdb.m"
  MR_Word ssdb__Args_7,
#line 1818 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1818 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1818 "ssdb.m"
  MR_Word * ssdb__WhatNext_10);

#line 1805 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_continue_6_p_0(
#line 1805 "ssdb.m"
  MR_Word ssdb__Args_7,
#line 1805 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1805 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1805 "ssdb.m"
  MR_Word * ssdb__WhatNext_10);

#line 1776 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_goto_6_p_0(
#line 1776 "ssdb.m"
  MR_Word ssdb__Args_7,
#line 1776 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1776 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1776 "ssdb.m"
  MR_Word * ssdb__WhatNext_10);

#line 1752 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_next_6_p_0(
#line 1752 "ssdb.m"
  MR_Word ssdb__Args_7,
#line 1752 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1752 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1752 "ssdb.m"
  MR_Word * ssdb__WhatNext_10);

#line 1730 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_step_6_p_0(
#line 1730 "ssdb.m"
  MR_Word ssdb__Args_7,
#line 1730 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1730 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1730 "ssdb.m"
  MR_Word * ssdb__WhatNext_10);

#line 3364 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_help_3_p_0_1(
#line 3364 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 3364 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 3364 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 3364 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3);

#line 1715 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_help_3_p_0(
#line 1715 "ssdb.m"
  MR_Word ssdb__Args_4);

#line 1605 "ssdb.m"
static void MR_CALL 
ssdb__execute_cmd_8_p_0(
#line 1605 "ssdb.m"
  MR_Word ssdb__Cmd_9,
#line 1605 "ssdb.m"
  MR_Word ssdb__Args_10,
#line 1605 "ssdb.m"
  MR_Word ssdb__Interacting_11,
#line 1605 "ssdb.m"
  MR_Word ssdb__Event_12,
#line 1605 "ssdb.m"
  MR_Integer ssdb__Depth_13,
#line 1605 "ssdb.m"
  MR_Word * ssdb__WhatNext_14);

#line 1593 "ssdb.m"
static void MR_CALL 
ssdb__execute_cmd_string_8_p_0(
#line 1593 "ssdb.m"
  MR_String ssdb__CmdWord_9,
#line 1593 "ssdb.m"
  MR_Word ssdb__ArgWords_10,
#line 1593 "ssdb.m"
  MR_Word ssdb__Interacting_11,
#line 1593 "ssdb.m"
  MR_Word ssdb__Event_12,
#line 1593 "ssdb.m"
  MR_Integer ssdb__Depth_13,
#line 1593 "ssdb.m"
  MR_Word * ssdb__WhatNext_14);

#line 1560 "ssdb.m"
static void MR_CALL 
ssdb__expand_alias_and_execute_7_p_0(
#line 1560 "ssdb.m"
  MR_Word ssdb__Words_8,
#line 1560 "ssdb.m"
  MR_Word ssdb__Interacting_9,
#line 1560 "ssdb.m"
  MR_Word ssdb__Event_10,
#line 1560 "ssdb.m"
  MR_Integer ssdb__Depth_11,
#line 1560 "ssdb.m"
  MR_Word * ssdb__WhatNext_12);

#line 1520 "ssdb.m"
static void MR_CALL 
ssdb__read_and_execute_cmd_2_6_p_0(
#line 1520 "ssdb.m"
  MR_Integer ssdb__N_7,
#line 1520 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1520 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1520 "ssdb.m"
  MR_Word * ssdb__WhatNext_10);

#line 1514 "ssdb.m"
static void MR_CALL 
ssdb__read_and_execute_cmd_5_p_0(
#line 1514 "ssdb.m"
  MR_Word ssdb__Event_6,
#line 1514 "ssdb.m"
  MR_Integer ssdb__Depth_7,
#line 1514 "ssdb.m"
  MR_Word * ssdb__WhatNext_8);

#line 1384 "ssdb.m"
static void MR_CALL 
ssdb__exception_handler_exists_2_p_0_1(
#line 1384 "ssdb.m"
  void * ssdb__env_ptr_arg);

#line 1385 "ssdb.m"
static void MR_CALL 
ssdb__exception_handler_exists_2_p_0_3(
#line 1385 "ssdb.m"
  void * ssdb__env_ptr_arg);

#line 1384 "ssdb.m"
static void MR_CALL 
ssdb__exception_handler_exists_2_p_0_2(
#line 1384 "ssdb.m"
  void * ssdb__env_ptr_arg);

#line 1384 "ssdb.m"
static void MR_CALL 
ssdb__exception_handler_exists_2_p_0_4(
#line 1384 "ssdb.m"
  void * ssdb__env_ptr_arg);

#line 1382 "ssdb.m"
static MR_bool MR_CALL 
ssdb__exception_handler_exists_2_p_0(
#line 1382 "ssdb.m"
  MR_Integer ssdb__CSN_3,
#line 1382 "ssdb.m"
  MR_Word ssdb__StackFrames_4);

#line 1376 "ssdb.m"
static void MR_CALL 
ssdb__reset_counters_for_retry_3_p_0(
#line 1376 "ssdb.m"
  MR_Word ssdb__Frame_4);

#line 1318 "ssdb.m"
static void MR_CALL 
ssdb__update_next_stop_6_p_0(
#line 1318 "ssdb.m"
  MR_Integer ssdb__EventNum_7,
#line 1318 "ssdb.m"
  MR_Integer ssdb__CSN_8,
#line 1318 "ssdb.m"
  MR_Word ssdb__WhatNext_9,
#line 1318 "ssdb.m"
  MR_Word * ssdb__Retry_10);

#line 1307 "ssdb.m"
static void MR_CALL 
ssdb__is_same_int_3_p_0(
#line 1307 "ssdb.m"
  MR_Integer ssdb__IntA_4,
#line 1307 "ssdb.m"
  MR_Integer ssdb__IntB_5,
#line 1307 "ssdb.m"
  MR_Word * ssdb__IsSame_6);

#line 1287 "ssdb.m"
static void MR_CALL 
ssdb__current_and_parent_frame_tracing_levels_4_p_0(
#line 1287 "ssdb.m"
  MR_Word * ssdb__CurrentLevel_5,
#line 1287 "ssdb.m"
  MR_Word * ssdb__ParentLevel_6);

#line 1127 "ssdb.m"
static void MR_CALL 
ssdb__should_stop_at_this_event_8_p_0(
#line 1127 "ssdb.m"
  MR_Word ssdb__Event_9,
#line 1127 "ssdb.m"
  MR_Integer ssdb__EventNum_10,
#line 1127 "ssdb.m"
  MR_Integer ssdb__CSN_11,
#line 1127 "ssdb.m"
  MR_Word ssdb__ProcId_12,
#line 1127 "ssdb.m"
  MR_Word * ssdb__ShouldStopAtEvent_13,
#line 1127 "ssdb.m"
  MR_Word * ssdb__AutoRetry_14);

#line 1072 "ssdb.m"
static void MR_CALL 
ssdb__nondet_stack_pop_2_p_0(void);

#line 1063 "ssdb.m"
static void MR_CALL 
ssdb__nondet_stack_push_3_p_0(
#line 1063 "ssdb.m"
  MR_Word ssdb__Frame_4);

#line 1051 "ssdb.m"
static void MR_CALL 
ssdb__nondet_stack_index_4_p_0(
#line 1051 "ssdb.m"
  MR_Integer ssdb__Num_5,
#line 1051 "ssdb.m"
  MR_Word * ssdb__Frame_6);

#line 1010 "ssdb.m"
static void MR_CALL 
ssdb__stack_pop_2_p_0(void);

#line 1002 "ssdb.m"
static void MR_CALL 
ssdb__stack_push_3_p_0(
#line 1002 "ssdb.m"
  MR_Word ssdb__Frame_4);

#line 991 "ssdb.m"
static void MR_CALL 
ssdb__stack_index_4_p_0(
#line 991 "ssdb.m"
  MR_Integer ssdb__Num_5,
#line 991 "ssdb.m"
  MR_Word * ssdb__Frame_6);

#line 974 "ssdb.m"
static void MR_CALL 
ssdb__stack_top_3_p_0(
#line 974 "ssdb.m"
  MR_Word * ssdb__Frame_4);

#line 813 "ssdb.m"
static void MR_CALL 
ssdb__search_nondet_stack_frame_2_7_p_0(
#line 813 "ssdb.m"
  MR_Word ssdb__ProcId_8,
#line 813 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 813 "ssdb.m"
  MR_Integer ssdb__N_10,
#line 813 "ssdb.m"
  MR_Integer ssdb__StackDepth_11,
#line 813 "ssdb.m"
  MR_Word * ssdb__MaybeStackFrame_12);

#line 530 "ssdb.m"
static void MR_CALL 
ssdb__step_next_stop_2_p_0(void);

#line 460 "ssdb.m"
static void MR_CALL 
ssdb__install_sigint_handler_2_p_0(void);

#line 405 "ssdb.m"
static void MR_CALL 
ssdb__add_source_commands_2_p_0(void);

#line 362 "ssdb.m"
static void MR_CALL 
ssdb__init_debugger_state_2_p_0(void);

#line 357 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_debugger_state_1_p_0(
#line 357 "ssdb.m"
  MR_Word ssdb__X_1);

#line 357 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_debugger_state_1_p_0(
#line 357 "ssdb.m"
  MR_Word * ssdb__X_1);

#line 357 "ssdb.m"
static void MR_CALL 
ssdb__unlock_debugger_state_0_p_0(void);

#line 357 "ssdb.m"
static void MR_CALL 
ssdb__lock_debugger_state_0_p_0(void);

#line 357 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_debugger_state_0_p_0(void);

#line 357 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_debugger_state_0_p_0(void);

#line 349 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_saved_output_stream_1_p_0(
#line 349 "ssdb.m"
  MR_Word ssdb__X_1);

#line 349 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_saved_output_stream_1_p_0(
#line 349 "ssdb.m"
  MR_Word * ssdb__X_1);

#line 349 "ssdb.m"
static void MR_CALL 
ssdb__unlock_saved_output_stream_0_p_0(void);

#line 349 "ssdb.m"
static void MR_CALL 
ssdb__lock_saved_output_stream_0_p_0(void);

#line 349 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_saved_output_stream_0_p_0(void);

#line 349 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_saved_output_stream_0_p_0(void);

#line 347 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_saved_input_stream_1_p_0(
#line 347 "ssdb.m"
  MR_Word ssdb__X_1);

#line 347 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_saved_input_stream_1_p_0(
#line 347 "ssdb.m"
  MR_Word * ssdb__X_1);

#line 347 "ssdb.m"
static void MR_CALL 
ssdb__unlock_saved_input_stream_0_p_0(void);

#line 347 "ssdb.m"
static void MR_CALL 
ssdb__lock_saved_input_stream_0_p_0(void);

#line 347 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_saved_input_stream_0_p_0(void);

#line 347 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_saved_input_stream_0_p_0(void);

#line 344 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_tty_out_1_p_0(
#line 344 "ssdb.m"
  MR_Word ssdb__X_1);

#line 344 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_tty_out_1_p_0(
#line 344 "ssdb.m"
  MR_Word * ssdb__X_1);

#line 344 "ssdb.m"
static void MR_CALL 
ssdb__unlock_tty_out_0_p_0(void);

#line 344 "ssdb.m"
static void MR_CALL 
ssdb__lock_tty_out_0_p_0(void);

#line 344 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_tty_out_0_p_0(void);

#line 344 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_tty_out_0_p_0(void);

#line 342 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_tty_in_1_p_0(
#line 342 "ssdb.m"
  MR_Word ssdb__X_1);

#line 342 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_tty_in_1_p_0(
#line 342 "ssdb.m"
  MR_Word * ssdb__X_1);

#line 342 "ssdb.m"
static void MR_CALL 
ssdb__unlock_tty_in_0_p_0(void);

#line 342 "ssdb.m"
static void MR_CALL 
ssdb__lock_tty_in_0_p_0(void);

#line 342 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_tty_in_0_p_0(void);

#line 342 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_tty_in_0_p_0(void);

#line 333 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_list_params_1_p_0(
#line 333 "ssdb.m"
  MR_Word ssdb__X_1);

#line 333 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_list_params_1_p_0(
#line 333 "ssdb.m"
  MR_Word * ssdb__X_1);

#line 333 "ssdb.m"
static void MR_CALL 
ssdb__unlock_list_params_0_p_0(void);

#line 333 "ssdb.m"
static void MR_CALL 
ssdb__lock_list_params_0_p_0(void);

#line 333 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_list_params_0_p_0(void);

#line 333 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_list_params_0_p_0(void);

#line 324 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_browser_state_1_p_0(
#line 324 "ssdb.m"
  MR_Word ssdb__X_1);

#line 324 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_browser_state_1_p_0(
#line 324 "ssdb.m"
  MR_Word * ssdb__X_1);

#line 324 "ssdb.m"
static void MR_CALL 
ssdb__unlock_browser_state_0_p_0(void);

#line 324 "ssdb.m"
static void MR_CALL 
ssdb__lock_browser_state_0_p_0(void);

#line 324 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_browser_state_0_p_0(void);

#line 324 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_browser_state_0_p_0(void);

#line 319 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_breakpoints_filter_1_p_0(
#line 319 "ssdb.m"
  MR_Box ssdb__X_1);

#line 319 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_breakpoints_filter_1_p_0(
#line 319 "ssdb.m"
  MR_Box * ssdb__X_1);

#line 319 "ssdb.m"
static void MR_CALL 
ssdb__unlock_breakpoints_filter_0_p_0(void);

#line 319 "ssdb.m"
static void MR_CALL 
ssdb__lock_breakpoints_filter_0_p_0(void);

#line 319 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_breakpoints_filter_0_p_0(void);

#line 319 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_breakpoints_filter_0_p_0(void);

#line 317 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_breakpoints_map_1_p_0(
#line 317 "ssdb.m"
  MR_Word ssdb__X_1);

#line 317 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_breakpoints_map_1_p_0(
#line 317 "ssdb.m"
  MR_Word * ssdb__X_1);

#line 317 "ssdb.m"
static void MR_CALL 
ssdb__unlock_breakpoints_map_0_p_0(void);

#line 317 "ssdb.m"
static void MR_CALL 
ssdb__lock_breakpoints_map_0_p_0(void);

#line 317 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_breakpoints_map_0_p_0(void);

#line 317 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_breakpoints_map_0_p_0(void);

#line 314 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_aliases_1_p_0(
#line 314 "ssdb.m"
  MR_Word ssdb__X_1);

#line 314 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_aliases_1_p_0(
#line 314 "ssdb.m"
  MR_Word * ssdb__X_1);

#line 314 "ssdb.m"
static void MR_CALL 
ssdb__unlock_aliases_0_p_0(void);

#line 314 "ssdb.m"
static void MR_CALL 
ssdb__lock_aliases_0_p_0(void);

#line 314 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_aliases_0_p_0(void);

#line 314 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_aliases_0_p_0(void);

#line 311 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_command_queue_1_p_0(
#line 311 "ssdb.m"
  MR_Word ssdb__X_1);

#line 311 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_command_queue_1_p_0(
#line 311 "ssdb.m"
  MR_Word * ssdb__X_1);

#line 311 "ssdb.m"
static void MR_CALL 
ssdb__unlock_command_queue_0_p_0(void);

#line 311 "ssdb.m"
static void MR_CALL 
ssdb__lock_command_queue_0_p_0(void);

#line 311 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_command_queue_0_p_0(void);

#line 311 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_command_queue_0_p_0(void);

#line 308 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_nondet_shadow_stack_depth_1_p_0(
#line 308 "ssdb.m"
  MR_Integer ssdb__X_1);

#line 308 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_nondet_shadow_stack_depth_1_p_0(
#line 308 "ssdb.m"
  MR_Integer * ssdb__X_1);

#line 308 "ssdb.m"
static void MR_CALL 
ssdb__unlock_nondet_shadow_stack_depth_0_p_0(void);

#line 308 "ssdb.m"
static void MR_CALL 
ssdb__lock_nondet_shadow_stack_depth_0_p_0(void);

#line 308 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_nondet_shadow_stack_depth_0_p_0(void);

#line 308 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_nondet_shadow_stack_depth_0_p_0(void);

#line 306 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_nondet_shadow_stack_1_p_0(
#line 306 "ssdb.m"
  MR_Word ssdb__X_1);

#line 306 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_nondet_shadow_stack_1_p_0(
#line 306 "ssdb.m"
  MR_Word * ssdb__X_1);

#line 306 "ssdb.m"
static void MR_CALL 
ssdb__unlock_nondet_shadow_stack_0_p_0(void);

#line 306 "ssdb.m"
static void MR_CALL 
ssdb__lock_nondet_shadow_stack_0_p_0(void);

#line 306 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_nondet_shadow_stack_0_p_0(void);

#line 306 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_nondet_shadow_stack_0_p_0(void);

#line 303 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_shadow_stack_depth_1_p_0(
#line 303 "ssdb.m"
  MR_Integer ssdb__X_1);

#line 303 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_shadow_stack_depth_1_p_0(
#line 303 "ssdb.m"
  MR_Integer * ssdb__X_1);

#line 303 "ssdb.m"
static void MR_CALL 
ssdb__unlock_shadow_stack_depth_0_p_0(void);

#line 303 "ssdb.m"
static void MR_CALL 
ssdb__lock_shadow_stack_depth_0_p_0(void);

#line 303 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_shadow_stack_depth_0_p_0(void);

#line 303 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_shadow_stack_depth_0_p_0(void);

#line 301 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_shadow_stack_1_p_0(
#line 301 "ssdb.m"
  MR_Word ssdb__X_1);

#line 301 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_shadow_stack_1_p_0(
#line 301 "ssdb.m"
  MR_Word * ssdb__X_1);

#line 301 "ssdb.m"
static void MR_CALL 
ssdb__unlock_shadow_stack_0_p_0(void);

#line 301 "ssdb.m"
static void MR_CALL 
ssdb__lock_shadow_stack_0_p_0(void);

#line 301 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_shadow_stack_0_p_0(void);

#line 301 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_shadow_stack_0_p_0(void);

#line 298 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_cur_ssdb_next_stop_1_p_0(
#line 298 "ssdb.m"
  MR_Word ssdb__X_1);

#line 298 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_cur_ssdb_next_stop_1_p_0(
#line 298 "ssdb.m"
  MR_Word * ssdb__X_1);

#line 298 "ssdb.m"
static void MR_CALL 
ssdb__unlock_cur_ssdb_next_stop_0_p_0(void);

#line 298 "ssdb.m"
static void MR_CALL 
ssdb__lock_cur_ssdb_next_stop_0_p_0(void);

#line 298 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_cur_ssdb_next_stop_0_p_0(void);

#line 298 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_cur_ssdb_next_stop_0_p_0(void);

#line 295 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_cur_ssdb_csn_1_p_0(
#line 295 "ssdb.m"
  MR_Integer ssdb__X_1);

#line 295 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_cur_ssdb_csn_1_p_0(
#line 295 "ssdb.m"
  MR_Integer * ssdb__X_1);

#line 295 "ssdb.m"
static void MR_CALL 
ssdb__unlock_cur_ssdb_csn_0_p_0(void);

#line 295 "ssdb.m"
static void MR_CALL 
ssdb__lock_cur_ssdb_csn_0_p_0(void);

#line 295 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_cur_ssdb_csn_0_p_0(void);

#line 295 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_cur_ssdb_csn_0_p_0(void);

#line 292 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_cur_ssdb_event_number_1_p_0(
#line 292 "ssdb.m"
  MR_Integer ssdb__X_1);

#line 292 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_cur_ssdb_event_number_1_p_0(
#line 292 "ssdb.m"
  MR_Integer * ssdb__X_1);

#line 292 "ssdb.m"
static void MR_CALL 
ssdb__unlock_cur_ssdb_event_number_0_p_0(void);

#line 292 "ssdb.m"
static void MR_CALL 
ssdb__lock_cur_ssdb_event_number_0_p_0(void);

#line 292 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_cur_ssdb_event_number_0_p_0(void);

#line 292 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_cur_ssdb_event_number_0_p_0(void);

#line 289 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_cur_line_number_1_p_0(
#line 289 "ssdb.m"
  MR_Integer ssdb__X_1);

#line 289 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_cur_line_number_1_p_0(
#line 289 "ssdb.m"
  MR_Integer * ssdb__X_1);

#line 289 "ssdb.m"
static void MR_CALL 
ssdb__unlock_cur_line_number_0_p_0(void);

#line 289 "ssdb.m"
static void MR_CALL 
ssdb__lock_cur_line_number_0_p_0(void);

#line 289 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_cur_line_number_0_p_0(void);

#line 289 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_cur_line_number_0_p_0(void);

#line 287 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_cur_filename_1_p_0(
#line 287 "ssdb.m"
  MR_String ssdb__X_1);

#line 287 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_cur_filename_1_p_0(
#line 287 "ssdb.m"
  MR_String * ssdb__X_1);

#line 287 "ssdb.m"
static void MR_CALL 
ssdb__unlock_cur_filename_0_p_0(void);

#line 287 "ssdb.m"
static void MR_CALL 
ssdb__lock_cur_filename_0_p_0(void);

#line 287 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_cur_filename_0_p_0(void);

#line 287 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_cur_filename_0_p_0(void);


static /* final */ const MR_Box ssdb_scalar_common_1[55][2];

static /* final */ const MR_Box ssdb_scalar_common_2[16][3];

static /* final */ const MR_Box ssdb_scalar_common_3[5][1];

static /* final */ const MR_Box ssdb_scalar_common_4[5][6];

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

static /* final */ const MR_Box ssdb_scalar_common_6[3][4];

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

static /* final */ const MR_Box ssdb_scalar_common_8[1][8];




static /* final */ const MR_Box ssdb_scalar_common_1[55][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__list__list__type_ctor_info_list_1)),
    ((MR_Box) (&ssdb__ssdb__type_ctor_info_var_value_0))
  },
  /* row 2 */
  {
    ((MR_Box) ((MR_String) "alias NUMBER step")),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))
  },
  /* row 3 */
  {
    ((MR_Box) ((MR_String) "alias EMPTY step")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[2])))
  },
  /* row 4 */
  {
    ((MR_Box) ((MR_String) "alias e exception")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[3])))
  },
  /* row 5 */
  {
    ((MR_Box) ((MR_String) "alias excp exception")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[4])))
  },
  /* row 6 */
  {
    ((MR_Box) ((MR_String) "alias \? help")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[5])))
  },
  /* row 7 */
  {
    ((MR_Box) ((MR_String) "alias h help")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[6])))
  },
  /* row 8 */
  {
    ((MR_Box) ((MR_String) "alias b break")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[7])))
  },
  /* row 9 */
  {
    ((MR_Box) ((MR_String) "alias c continue")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[8])))
  },
  /* row 10 */
  {
    ((MR_Box) ((MR_String) "alias d stack")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[9])))
  },
  /* row 11 */
  {
    ((MR_Box) ((MR_String) "alias P print *")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[10])))
  },
  /* row 12 */
  {
    ((MR_Box) ((MR_String) "alias p print")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[11])))
  },
  /* row 13 */
  {
    ((MR_Box) ((MR_String) "alias v vars")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[12])))
  },
  /* row 14 */
  {
    ((MR_Box) ((MR_String) "alias r retry")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[13])))
  },
  /* row 15 */
  {
    ((MR_Box) ((MR_String) "alias f finish")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[14])))
  },
  /* row 16 */
  {
    ((MR_Box) ((MR_String) "alias g goto")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[15])))
  },
  /* row 17 */
  {
    ((MR_Box) ((MR_String) "alias s step")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[16])))
  },
  /* row 18 */
  {
    ((MR_Box) ((MR_String) "quit [-y]")),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))
  },
  /* row 19 */
  {
    ((MR_Box) ((MR_String) "source FILENAME")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[18])))
  },
  /* row 20 */
  {
    ((MR_Box) ((MR_String) "help")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[19])))
  },
  /* row 21 */
  {
    ((MR_Box) ((MR_String) "delete NUM|*")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[20])))
  },
  /* row 22 */
  {
    ((MR_Box) ((MR_String) "disable NUM|*")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[21])))
  },
  /* row 23 */
  {
    ((MR_Box) ((MR_String) "enable NUM|*")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[22])))
  },
  /* row 24 */
  {
    ((MR_Box) ((MR_String) "break info")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[23])))
  },
  /* row 25 */
  {
    ((MR_Box) ((MR_String) "break MODULE.PRED")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[24])))
  },
  /* row 26 */
  {
    ((MR_Box) ((MR_String) "pop_list_dir")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[25])))
  },
  /* row 27 */
  {
    ((MR_Box) ((MR_String) "push_list_dir DIR ...")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[26])))
  },
  /* row 28 */
  {
    ((MR_Box) ((MR_String) "list_path [DIR ...]")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[27])))
  },
  /* row 29 */
  {
    ((MR_Box) ((MR_String) "list [NUM]")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[28])))
  },
  /* row 30 */
  {
    ((MR_Box) ((MR_String) "unalias NAME")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[29])))
  },
  /* row 31 */
  {
    ((MR_Box) ((MR_String) "alias NAME COMMAND [COMMAND-PARAMETER ...]")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[30])))
  },
  /* row 32 */
  {
    ((MR_Box) ((MR_String) "alias [NAME]")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[31])))
  },
  /* row 33 */
  {
    ((MR_Box) ((MR_String) "format_param [-APBfpv] depth|size|width|lines NUM")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[32])))
  },
  /* row 34 */
  {
    ((MR_Box) ((MR_String) "format [-APB] flat|raw_pretty|pretty|verbose")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[33])))
  },
  /* row 35 */
  {
    ((MR_Box) ((MR_String) "current")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[34])))
  },
  /* row 36 */
  {
    ((MR_Box) ((MR_String) "level NUM")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[35])))
  },
  /* row 37 */
  {
    ((MR_Box) ((MR_String) "down [NUM]")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[36])))
  },
  /* row 38 */
  {
    ((MR_Box) ((MR_String) "up [NUM]")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[37])))
  },
  /* row 39 */
  {
    ((MR_Box) ((MR_String) "stack [NUM]")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[38])))
  },
  /* row 40 */
  {
    ((MR_Box) ((MR_String) "vars")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[39])))
  },
  /* row 41 */
  {
    ((MR_Box) ((MR_String) "browse VAR|NUM")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[40])))
  },
  /* row 42 */
  {
    ((MR_Box) ((MR_String) "print [-fprv] *")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[41])))
  },
  /* row 43 */
  {
    ((MR_Box) ((MR_String) "print [-fprv] VAR|NUM")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[42])))
  },
  /* row 44 */
  {
    ((MR_Box) ((MR_String) "print [-fprv]")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[43])))
  },
  /* row 45 */
  {
    ((MR_Box) ((MR_String) "retry [NUM]")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[44])))
  },
  /* row 46 */
  {
    ((MR_Box) ((MR_String) "exception")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[45])))
  },
  /* row 47 */
  {
    ((MR_Box) ((MR_String) "continue")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[46])))
  },
  /* row 48 */
  {
    ((MR_Box) ((MR_String) "goto NUM")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[47])))
  },
  /* row 49 */
  {
    ((MR_Box) ((MR_String) "next")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[48])))
  },
  /* row 50 */
  {
    ((MR_Box) ((MR_String) "step [NUM]")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[49])))
  },
  /* row 51 */
  {
    ((MR_Box) ((MR_String) "Supported commands: (type \140alias\' to show aliases)")),
    ((MR_Box) (MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[50])))
  },
  /* row 52 */
  {
    ((MR_Box) ((MR_Integer) 0)),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))
  },
  /* row 53 */
  {
    ((MR_Box) ((MR_String) "source .ssdbrc")),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))
  },
  /* row 54 */
  {
    ((MR_Box) ((MR_String) "-y")),
    ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))))
  },
};

static /* final */ const MR_Box ssdb_scalar_common_2[16][3] = {
  /* row 0 */
  {
    ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2)),
    ((MR_Box) (&ssdb__ssdb__type_ctor_info_ssdb_proc_id_0)),
    ((MR_Box) (&ssdb__ssdb__type_ctor_info_breakpoint_0))
  },
  /* row 1 */
  {
    ((MR_Box) (&ssdb_scalar_common_4[0])),
    ((MR_Box) (ssdb__execute_ssdb_help_3_p_0_1)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 2 */
  {
    ((MR_Box) (&ssdb_scalar_common_5[0])),
    ((MR_Box) (ssdb__execute_ssdb_alias_4_p_0_1)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 3 */
  {
    ((MR_Box) (&ssdb_scalar_common_4[0])),
    ((MR_Box) (ssdb__print_alias_4_p_0_1)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 4 */
  {
    ((MR_Box) (&ssdb_scalar_common_4[0])),
    ((MR_Box) (ssdb__execute_ssdb_list_path_3_p_0_1)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 5 */
  {
    ((MR_Box) (&ssdb_scalar_common_4[1])),
    ((MR_Box) (ssdb__execute_ssdb_push_list_dir_3_p_0_1)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 6 */
  {
    ((MR_Box) (&ssdb_scalar_common_4[2])),
    ((MR_Box) (ssdb__execute_ssdb_break_3_p_0_1)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 7 */
  {
    ((MR_Box) (&ssdb_scalar_common_6[0])),
    ((MR_Box) (ssdb__execute_ssdb_break_3_p_0_2)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 8 */
  {
    ((MR_Box) (&ssdb_scalar_common_4[4])),
    ((MR_Box) (ssdb__execute_ssdb_enable_3_p_0_2)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 9 */
  {
    ((MR_Box) (&ssdb_scalar_common_4[2])),
    ((MR_Box) (ssdb__execute_ssdb_enable_3_p_0_3)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 10 */
  {
    ((MR_Box) (&ssdb_scalar_common_4[4])),
    ((MR_Box) (ssdb__execute_ssdb_disable_3_p_0_2)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 11 */
  {
    ((MR_Box) (&ssdb_scalar_common_4[2])),
    ((MR_Box) (ssdb__execute_ssdb_disable_3_p_0_3)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 12 */
  {
    ((MR_Box) (&ssdb_scalar_common_4[2])),
    ((MR_Box) (ssdb__execute_ssdb_delete_3_p_0_1)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 13 */
  {
    ((MR_Box) (&ssdb_scalar_common_7[0])),
    ((MR_Box) (ssdb__add_breakpoint_3_p_0_1)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 14 */
  {
    ((MR_Box) (&ssdb_scalar_common_4[4])),
    ((MR_Box) (ssdb__modify_breakpoint_state_4_p_0_5)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
  /* row 15 */
  {
    ((MR_Box) (&ssdb_scalar_common_4[4])),
    ((MR_Box) (ssdb__delete_breakpoint_3_p_0_5)),
    ((MR_Box) (MR_Word) ((MR_Integer) 0))
  },
};

static /* final */ const MR_Box ssdb_scalar_common_3[5][1] = {
  /* row 0 */
  {
    ((MR_Box) (((MR_Integer) 0 | (((((MR_Integer) 0 << (MR_Integer) 1)) | (((((MR_Integer) 0 << (MR_Integer) 2)) | (((((MR_Integer) 0 << (MR_Integer) 3)) | (((((MR_Integer) 0 << (MR_Integer) 4)) | (((((MR_Integer) 0 << (MR_Integer) 5)) | (((MR_Integer) 0 << (MR_Integer) 6)))))))))))))))
  },
  /* row 1 */
  {
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 2 */
  {
    ((MR_Box) ((MR_Integer) 3))
  },
  /* row 3 */
  {
    ((MR_Box) ((MR_Integer) 1))
  },
  /* row 4 */
  {
    ((MR_Box) ((MR_Integer) 2))
  },
};

static /* final */ const MR_Box ssdb_scalar_common_4[5][6] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 3)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0))
  },
  /* row 1 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 3)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0)),
    ((MR_Box) (&ssdb__list__pti_list_1__plain_builtin__type_ctor_info_string_0)),
    ((MR_Box) (&ssdb__list__pti_list_1__plain_builtin__type_ctor_info_string_0))
  },
  /* row 2 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 3)),
    ((MR_Box) (&ssdb__ssdb__type_ctor_info_breakpoint_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0))
  },
  /* row 3 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 3)),
    ((MR_Box) (&ssdb__ssdb__type_ctor_info_bp_state_0)),
    ((MR_Box) (&ssdb__ssdb__type_ctor_info_breakpoint_0)),
    ((MR_Box) (&ssdb__ssdb__type_ctor_info_breakpoint_0))
  },
  /* row 4 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 3)),
    ((MR_Box) (&ssdb__ssdb__type_ctor_info_breakpoint_0)),
    ((MR_Box) (&mercury__bitmap__bitmap__type_ctor_info_bitmap_0)),
    ((MR_Box) (&mercury__bitmap__bitmap__type_ctor_info_bitmap_0))
  },
};

static /* final */ const MR_Box ssdb_scalar_common_5[1][7] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 4)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0)),
    ((MR_Box) (&ssdb__list__pti_list_1__plain_builtin__type_ctor_info_string_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0))
  },
};

static /* final */ const MR_Box ssdb_scalar_common_6[3][4] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 1)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_character_0))
  },
  /* row 1 */
  {
    ((MR_Box) (&ssdb_scalar_common_4[3])),
    ((MR_Box) (ssdb__execute_ssdb_enable_3_p_0_1)),
    ((MR_Box) (MR_Word) ((MR_Integer) 1)),
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 2 */
  {
    ((MR_Box) (&ssdb_scalar_common_4[3])),
    ((MR_Box) (ssdb__execute_ssdb_disable_3_p_0_1)),
    ((MR_Box) (MR_Word) ((MR_Integer) 1)),
    ((MR_Box) ((MR_Integer) 1))
  },
};

static /* final */ const MR_Box ssdb_scalar_common_7[2][5] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 2)),
    ((MR_Box) (&ssdb__ssdb__type_ctor_info_breakpoint_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0))
  },
  /* row 1 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 2)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0)),
    ((MR_Box) (&ssdb__ssdb__type_ctor_info_var_value_0))
  },
};

static /* final */ const MR_Box ssdb_scalar_common_8[1][8] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) (MR_Word) ((MR_Integer) 5)),
    ((MR_Box) (&ssdb__maybe__pti_maybe_1__plain_mdb__browser_info__type_ctor_info_portray_format_0)),
    ((MR_Box) (&mdb__browser_info__mdb__browser_info__type_ctor_info_browse_caller_type_0)),
    ((MR_Box) (&ssdb__ssdb__type_ctor_info_var_value_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0)),
    ((MR_Box) (&mercury__io__io__type_ctor_info_state_0))
  },
};



#include "ssdb.mh"
#include "io.mh"
#include "io.mh"
#include "time.mh"
#include "string.mh"
#include "bitmap.mh"
#include "bitmap.mh"
#include "dir.mh"
#include "dir.mh"
#include "mdb.listing.mh"
#include "mdb.listing.mh"
#include "time.mh"
#include "time.mh"
#include "array.mh"
#include "array.mh"
#include "mdbcomp.rtti_access.mh"
#include "mdbcomp.rtti_access.mh"
#line 472 "ssdb.m"

static void MR_ssdb_sigint_handler(void)
{
    SSDB_step_next_stop();
}

#line 287 "ssdb.m"
MR_String ssdb__mutable_variable_cur_filename;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_cur_filename_lock;
#endif

#line 289 "ssdb.m"
MR_Integer ssdb__mutable_variable_cur_line_number;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_cur_line_number_lock;
#endif

#line 292 "ssdb.m"
MR_Integer ssdb__mutable_variable_cur_ssdb_event_number;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_cur_ssdb_event_number_lock;
#endif

#line 295 "ssdb.m"
MR_Integer ssdb__mutable_variable_cur_ssdb_csn;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_cur_ssdb_csn_lock;
#endif

#line 298 "ssdb.m"
MR_Word ssdb__mutable_variable_cur_ssdb_next_stop;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_cur_ssdb_next_stop_lock;
#endif

#line 301 "ssdb.m"
MR_Word ssdb__mutable_variable_shadow_stack;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_shadow_stack_lock;
#endif

#line 303 "ssdb.m"
MR_Integer ssdb__mutable_variable_shadow_stack_depth;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_shadow_stack_depth_lock;
#endif

#line 306 "ssdb.m"
MR_Word ssdb__mutable_variable_nondet_shadow_stack;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_nondet_shadow_stack_lock;
#endif

#line 308 "ssdb.m"
MR_Integer ssdb__mutable_variable_nondet_shadow_stack_depth;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_nondet_shadow_stack_depth_lock;
#endif

#line 311 "ssdb.m"
MR_Word ssdb__mutable_variable_command_queue;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_command_queue_lock;
#endif

#line 314 "ssdb.m"
MR_Word ssdb__mutable_variable_aliases;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_aliases_lock;
#endif

#line 317 "ssdb.m"
MR_Word ssdb__mutable_variable_breakpoints_map;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_breakpoints_map_lock;
#endif

#line 319 "ssdb.m"
MR_BitmapPtr ssdb__mutable_variable_breakpoints_filter;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_breakpoints_filter_lock;
#endif

#line 324 "ssdb.m"
MR_Word ssdb__mutable_variable_browser_state;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_browser_state_lock;
#endif

#line 333 "ssdb.m"
MR_Word ssdb__mutable_variable_list_params;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_list_params_lock;
#endif

#line 342 "ssdb.m"
MR_Word ssdb__mutable_variable_tty_in;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_tty_in_lock;
#endif

#line 344 "ssdb.m"
MR_Word ssdb__mutable_variable_tty_out;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_tty_out_lock;
#endif

#line 347 "ssdb.m"
MR_Word ssdb__mutable_variable_saved_input_stream;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_saved_input_stream_lock;
#endif

#line 349 "ssdb.m"
MR_Word ssdb__mutable_variable_saved_output_stream;
#ifdef MR_THREAD_SAFE
    MercuryLock ssdb__mutable_variable_saved_output_stream_lock;
#endif

#line 357 "ssdb.m"
MR_Unsigned ssdb__mutable_variable_debugger_state;

#line 532 "ssdb.m"
void 
SSDB_step_next_stop(void)
#line 532 "ssdb.m"
{
#line 532 "ssdb.m"
	ssdb__step_next_stop_2_p_0();
}

#line 360 "ssdb.m"
void 
ssdb__user_init_pred_20(void)
#line 360 "ssdb.m"
{
#line 360 "ssdb.m"
	ssdb__init_debugger_state_2_p_0();
}

#line 357 "ssdb.m"
void 
ssdb__user_init_pred_19(void)
#line 357 "ssdb.m"
{
#line 357 "ssdb.m"
	ssdb__initialise_mutable_debugger_state_0_p_0();
}

#line 349 "ssdb.m"
void 
ssdb__user_init_pred_18(void)
#line 349 "ssdb.m"
{
#line 349 "ssdb.m"
	ssdb__initialise_mutable_saved_output_stream_0_p_0();
}

#line 347 "ssdb.m"
void 
ssdb__user_init_pred_17(void)
#line 347 "ssdb.m"
{
#line 347 "ssdb.m"
	ssdb__initialise_mutable_saved_input_stream_0_p_0();
}

#line 344 "ssdb.m"
void 
ssdb__user_init_pred_16(void)
#line 344 "ssdb.m"
{
#line 344 "ssdb.m"
	ssdb__initialise_mutable_tty_out_0_p_0();
}

#line 342 "ssdb.m"
void 
ssdb__user_init_pred_15(void)
#line 342 "ssdb.m"
{
#line 342 "ssdb.m"
	ssdb__initialise_mutable_tty_in_0_p_0();
}

#line 333 "ssdb.m"
void 
ssdb__user_init_pred_14(void)
#line 333 "ssdb.m"
{
#line 333 "ssdb.m"
	ssdb__initialise_mutable_list_params_0_p_0();
}

#line 324 "ssdb.m"
void 
ssdb__user_init_pred_13(void)
#line 324 "ssdb.m"
{
#line 324 "ssdb.m"
	ssdb__initialise_mutable_browser_state_0_p_0();
}

#line 319 "ssdb.m"
void 
ssdb__user_init_pred_12(void)
#line 319 "ssdb.m"
{
#line 319 "ssdb.m"
	ssdb__initialise_mutable_breakpoints_filter_0_p_0();
}

#line 317 "ssdb.m"
void 
ssdb__user_init_pred_11(void)
#line 317 "ssdb.m"
{
#line 317 "ssdb.m"
	ssdb__initialise_mutable_breakpoints_map_0_p_0();
}

#line 314 "ssdb.m"
void 
ssdb__user_init_pred_10(void)
#line 314 "ssdb.m"
{
#line 314 "ssdb.m"
	ssdb__initialise_mutable_aliases_0_p_0();
}

#line 311 "ssdb.m"
void 
ssdb__user_init_pred_9(void)
#line 311 "ssdb.m"
{
#line 311 "ssdb.m"
	ssdb__initialise_mutable_command_queue_0_p_0();
}

#line 308 "ssdb.m"
void 
ssdb__user_init_pred_8(void)
#line 308 "ssdb.m"
{
#line 308 "ssdb.m"
	ssdb__initialise_mutable_nondet_shadow_stack_depth_0_p_0();
}

#line 306 "ssdb.m"
void 
ssdb__user_init_pred_7(void)
#line 306 "ssdb.m"
{
#line 306 "ssdb.m"
	ssdb__initialise_mutable_nondet_shadow_stack_0_p_0();
}

#line 303 "ssdb.m"
void 
ssdb__user_init_pred_6(void)
#line 303 "ssdb.m"
{
#line 303 "ssdb.m"
	ssdb__initialise_mutable_shadow_stack_depth_0_p_0();
}

#line 301 "ssdb.m"
void 
ssdb__user_init_pred_5(void)
#line 301 "ssdb.m"
{
#line 301 "ssdb.m"
	ssdb__initialise_mutable_shadow_stack_0_p_0();
}

#line 298 "ssdb.m"
void 
ssdb__user_init_pred_4(void)
#line 298 "ssdb.m"
{
#line 298 "ssdb.m"
	ssdb__initialise_mutable_cur_ssdb_next_stop_0_p_0();
}

#line 295 "ssdb.m"
void 
ssdb__user_init_pred_3(void)
#line 295 "ssdb.m"
{
#line 295 "ssdb.m"
	ssdb__initialise_mutable_cur_ssdb_csn_0_p_0();
}

#line 292 "ssdb.m"
void 
ssdb__user_init_pred_2(void)
#line 292 "ssdb.m"
{
#line 292 "ssdb.m"
	ssdb__initialise_mutable_cur_ssdb_event_number_0_p_0();
}

#line 289 "ssdb.m"
void 
ssdb__user_init_pred_1(void)
#line 289 "ssdb.m"
{
#line 289 "ssdb.m"
	ssdb__initialise_mutable_cur_line_number_0_p_0();
}

#line 287 "ssdb.m"
void 
ssdb__user_init_pred_0(void)
#line 287 "ssdb.m"
{
#line 287 "ssdb.m"
	ssdb__initialise_mutable_cur_filename_0_p_0();
}


#line 3775 "ssdb.c"
static const MR_FA_PseudoTypeInfo_Struct1 ssdb__list__pti_list_1__plain_builtin__type_ctor_info_string_0 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_string_0
  }
};

#line 3783 "ssdb.c"
static const MR_FA_PseudoTypeInfo_Struct1 ssdb__maybe__pti_maybe_1__plain_mdb__browser_info__type_ctor_info_portray_format_0 = {
  &mercury__maybe__maybe__type_ctor_info_maybe_1,
  {
    (MR_PseudoTypeInfo) &mdb__browser_info__mdb__browser_info__type_ctor_info_portray_format_0
  }
};

#line 3791 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_bp_state_0_0 = {
  (MR_String) "bp_state_enabled",
  (MR_Integer) 0
};

#line 3797 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_bp_state_0_1 = {
  (MR_String) "bp_state_disabled",
  (MR_Integer) 1
};

#line 3803 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_value_ordered_bp_state_0[2] = {
  &ssdb__ssdb__enum_functor_desc_bp_state_0_0,
  &ssdb__ssdb__enum_functor_desc_bp_state_0_1
};

#line 3809 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_name_ordered_bp_state_0[2] = {
  &ssdb__ssdb__enum_functor_desc_bp_state_0_1,
  &ssdb__ssdb__enum_functor_desc_bp_state_0_0
};

#line 3815 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_bp_state_0[2] = {
  (MR_Integer) 1,
  (MR_Integer) 0
};

#line 3821 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_bp_state_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (ssdb____Unify____bp_state_0_0_10001)),
  ((MR_Box) (ssdb____Compare____bp_state_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "bp_state",
  {
    ssdb__ssdb__enum_name_ordered_bp_state_0
  },
  {
    ssdb__ssdb__enum_value_ordered_bp_state_0
  },
  (MR_Integer) 2,
  (MR_Integer) 4,
  ssdb__ssdb__functor_number_map_bp_state_0
};

#line 3842 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_breakpoint_0_0[3] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0,
  (MR_PseudoTypeInfo) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0,
  (MR_PseudoTypeInfo) &ssdb__ssdb__type_ctor_info_bp_state_0
};

#line 3849 "ssdb.c"
static const MR_ConstString ssdb__ssdb__field_names_breakpoint_0_0[3] = {
  (MR_String) "bp_number",
  (MR_String) "bp_proc_id",
  (MR_String) "bp_state"
};

#line 3856 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_breakpoint_0_0 = {
  (MR_String) "breakpoint",
  (MR_Integer) 3,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 0,
  (MR_Integer) -1,
  (MR_Integer) 0,
  ssdb__ssdb__field_types_breakpoint_0_0,
  ssdb__ssdb__field_names_breakpoint_0_0,
  NULL,
  NULL
};

#line 3871 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_breakpoint_0_0[1] = {
  &ssdb__ssdb__du_functor_desc_breakpoint_0_0
};

#line 3876 "ssdb.c"
static const MR_DuPtagLayout ssdb__ssdb__du_ptag_ordered_breakpoint_0[1] = {
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    ssdb__ssdb__du_stag_ordered_breakpoint_0_0
  }
};

#line 3885 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_name_ordered_breakpoint_0[1] = {
  &ssdb__ssdb__du_functor_desc_breakpoint_0_0
};

#line 3890 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_breakpoint_0[1] = {
  (MR_Integer) 0
};

#line 3895 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_breakpoint_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) 1,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (ssdb____Unify____breakpoint_0_0_10001)),
  ((MR_Box) (ssdb____Compare____breakpoint_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "breakpoint",
  {
    ssdb__ssdb__du_name_ordered_breakpoint_0
  },
  {
    ssdb__ssdb__du_ptag_ordered_breakpoint_0
  },
  (MR_Integer) 1,
  (MR_Integer) 4,
  ssdb__ssdb__functor_number_map_breakpoint_0
};

#line 3916 "ssdb.c"
static const MR_FA_TypeInfo_Struct2 ssdb__tree234__ti_tree234_2ssdb__type_ctor_info_ssdb_proc_id_0ssdb__type_ctor_info_breakpoint_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_TypeInfo) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0,
    (MR_TypeInfo) &ssdb__ssdb__type_ctor_info_breakpoint_0
  }
};

#line 3925 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_breakpoints_map_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_EQUIV_GROUND,
  ((MR_Box) (ssdb____Unify____breakpoints_map_0_0_10001)),
  ((MR_Box) (ssdb____Compare____breakpoints_map_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "breakpoints_map",
  {
    NULL
  },
  {
    (MR_PseudoTypeInfo) &ssdb__tree234__ti_tree234_2ssdb__type_ctor_info_ssdb_proc_id_0ssdb__type_ctor_info_breakpoint_0
  },
  (MR_Integer) -1,
  (MR_Integer) 0,
  NULL
};

#line 3946 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_debugger_state_0_0 = {
  (MR_String) "debugger_off",
  (MR_Integer) 0
};

#line 3952 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_debugger_state_0_1 = {
  (MR_String) "debugger_on",
  (MR_Integer) 1
};

#line 3958 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_value_ordered_debugger_state_0[2] = {
  &ssdb__ssdb__enum_functor_desc_debugger_state_0_0,
  &ssdb__ssdb__enum_functor_desc_debugger_state_0_1
};

#line 3964 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_name_ordered_debugger_state_0[2] = {
  &ssdb__ssdb__enum_functor_desc_debugger_state_0_0,
  &ssdb__ssdb__enum_functor_desc_debugger_state_0_1
};

#line 3970 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_debugger_state_0[2] = {
  (MR_Integer) 0,
  (MR_Integer) 1
};

#line 3976 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_debugger_state_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (ssdb____Unify____debugger_state_0_0_10001)),
  ((MR_Box) (ssdb____Compare____debugger_state_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "debugger_state",
  {
    ssdb__ssdb__enum_name_ordered_debugger_state_0
  },
  {
    ssdb__ssdb__enum_value_ordered_debugger_state_0
  },
  (MR_Integer) 2,
  (MR_Integer) 4,
  ssdb__ssdb__functor_number_map_debugger_state_0
};

#line 3997 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_debugging_paused_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_EQUIV_GROUND,
  ((MR_Box) (ssdb____Unify____debugging_paused_0_0_10001)),
  ((MR_Box) (ssdb____Compare____debugging_paused_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "debugging_paused",
  {
    NULL
  },
  {
    (MR_PseudoTypeInfo) &ssdb__ssdb__type_ctor_info_debugger_state_0
  },
  (MR_Integer) -1,
  (MR_Integer) 0,
  NULL
};

#line 4018 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_format_config_0_0[7] = {
  (MR_PseudoTypeInfo) &mercury__bool__bool__type_ctor_info_bool_0,
  (MR_PseudoTypeInfo) &mercury__bool__bool__type_ctor_info_bool_0,
  (MR_PseudoTypeInfo) &mercury__bool__bool__type_ctor_info_bool_0,
  (MR_PseudoTypeInfo) &mercury__bool__bool__type_ctor_info_bool_0,
  (MR_PseudoTypeInfo) &mercury__bool__bool__type_ctor_info_bool_0,
  (MR_PseudoTypeInfo) &mercury__bool__bool__type_ctor_info_bool_0,
  (MR_PseudoTypeInfo) &mercury__bool__bool__type_ctor_info_bool_0
};

#line 4029 "ssdb.c"
static const MR_ConstString ssdb__ssdb__field_names_format_config_0_0[7] = {
  (MR_String) "print",
  (MR_String) "browse",
  (MR_String) "print_all",
  (MR_String) "f",
  (MR_String) "r",
  (MR_String) "v",
  (MR_String) "p"
};

#line 4040 "ssdb.c"
static const MR_DuArgLocn ssdb__ssdb__field_locns_format_config_0_0[7] = {
  {
    (MR_Integer) 0,
    (MR_Integer) 0,
    (MR_Integer) 1
  },
  {
    (MR_Integer) 0,
    (MR_Integer) 1,
    (MR_Integer) 1
  },
  {
    (MR_Integer) 0,
    (MR_Integer) 2,
    (MR_Integer) 1
  },
  {
    (MR_Integer) 0,
    (MR_Integer) 3,
    (MR_Integer) 1
  },
  {
    (MR_Integer) 0,
    (MR_Integer) 4,
    (MR_Integer) 1
  },
  {
    (MR_Integer) 0,
    (MR_Integer) 5,
    (MR_Integer) 1
  },
  {
    (MR_Integer) 0,
    (MR_Integer) 6,
    (MR_Integer) 1
  }
};

#line 4079 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_format_config_0_0 = {
  (MR_String) "format_config",
  (MR_Integer) 7,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 0,
  (MR_Integer) -1,
  (MR_Integer) 0,
  ssdb__ssdb__field_types_format_config_0_0,
  ssdb__ssdb__field_names_format_config_0_0,
  ssdb__ssdb__field_locns_format_config_0_0,
  NULL
};

#line 4094 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_format_config_0_0[1] = {
  &ssdb__ssdb__du_functor_desc_format_config_0_0
};

#line 4099 "ssdb.c"
static const MR_DuPtagLayout ssdb__ssdb__du_ptag_ordered_format_config_0[1] = {
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    ssdb__ssdb__du_stag_ordered_format_config_0_0
  }
};

#line 4108 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_name_ordered_format_config_0[1] = {
  &ssdb__ssdb__du_functor_desc_format_config_0_0
};

#line 4113 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_format_config_0[1] = {
  (MR_Integer) 0
};

#line 4118 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_format_config_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) 1,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (ssdb____Unify____format_config_0_0_10001)),
  ((MR_Box) (ssdb____Compare____format_config_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "format_config",
  {
    ssdb__ssdb__du_name_ordered_format_config_0
  },
  {
    ssdb__ssdb__du_ptag_ordered_format_config_0
  },
  (MR_Integer) 1,
  (MR_Integer) 4,
  ssdb__ssdb__functor_number_map_format_config_0
};

#line 4139 "ssdb.c"
static const MR_FA_TypeInfo_Struct1 ssdb__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 4147 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_list_params_0_0[2] = {
  (MR_PseudoTypeInfo) &ssdb__list__ti_list_1builtin__type_ctor_info_string_0,
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0
};

#line 4153 "ssdb.c"
static const MR_ConstString ssdb__ssdb__field_names_list_params_0_0[2] = {
  (MR_String) "list_path",
  (MR_String) "list_context_lines"
};

#line 4159 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_list_params_0_0 = {
  (MR_String) "list_params",
  (MR_Integer) 2,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 0,
  (MR_Integer) -1,
  (MR_Integer) 0,
  ssdb__ssdb__field_types_list_params_0_0,
  ssdb__ssdb__field_names_list_params_0_0,
  NULL,
  NULL
};

#line 4174 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_list_params_0_0[1] = {
  &ssdb__ssdb__du_functor_desc_list_params_0_0
};

#line 4179 "ssdb.c"
static const MR_DuPtagLayout ssdb__ssdb__du_ptag_ordered_list_params_0[1] = {
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    ssdb__ssdb__du_stag_ordered_list_params_0_0
  }
};

#line 4188 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_name_ordered_list_params_0[1] = {
  &ssdb__ssdb__du_functor_desc_list_params_0_0
};

#line 4193 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_list_params_0[1] = {
  (MR_Integer) 0
};

#line 4198 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_list_params_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) 1,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (ssdb____Unify____list_params_0_0_10001)),
  ((MR_Box) (ssdb____Compare____list_params_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "list_params",
  {
    ssdb__ssdb__du_name_ordered_list_params_0
  },
  {
    ssdb__ssdb__du_ptag_ordered_list_params_0
  },
  (MR_Integer) 1,
  (MR_Integer) 4,
  ssdb__ssdb__functor_number_map_list_params_0
};

#line 4219 "ssdb.c"
static const MR_FA_TypeInfo_Struct1 ssdb__list__ti_list_1ssdb__type_ctor_info_var_value_0 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_TypeInfo) &ssdb__ssdb__type_ctor_info_var_value_0
  }
};

#line 4227 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_list_var_value_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_EQUIV_GROUND,
  ((MR_Box) (ssdb____Unify____list_var_value_0_0_10001)),
  ((MR_Box) (ssdb____Compare____list_var_value_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "list_var_value",
  {
    NULL
  },
  {
    (MR_PseudoTypeInfo) &ssdb__list__ti_list_1ssdb__type_ctor_info_var_value_0
  },
  (MR_Integer) -1,
  (MR_Integer) 0,
  NULL
};

#line 4248 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_next_stop_0_0 = {
  (MR_String) "ns_step",
  (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 4263 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_next_stop_0_1[1] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0
};

#line 4268 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_next_stop_0_1 = {
  (MR_String) "ns_next",
  (MR_Integer) 1,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 1,
  (MR_Integer) -1,
  (MR_Integer) 1,
  ssdb__ssdb__field_types_next_stop_0_1,
  NULL,
  NULL,
  NULL
};

#line 4283 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_next_stop_0_2 = {
  (MR_String) "ns_continue",
  (MR_Integer) 0,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_LOCAL,
  (MR_Integer) 0,
  (MR_Integer) 1,
  (MR_Integer) 2,
  NULL,
  NULL,
  NULL,
  NULL
};

#line 4298 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_next_stop_0_3[2] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0,
  (MR_PseudoTypeInfo) &ssdb__ssdb__type_ctor_info_ssdb_retry_0
};

#line 4304 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_next_stop_0_3 = {
  (MR_String) "ns_final_port",
  (MR_Integer) 2,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 2,
  (MR_Integer) -1,
  (MR_Integer) 3,
  ssdb__ssdb__field_types_next_stop_0_3,
  NULL,
  NULL,
  NULL
};

#line 4319 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_next_stop_0_4[2] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0,
  (MR_PseudoTypeInfo) &ssdb__ssdb__type_ctor_info_ssdb_retry_0
};

#line 4325 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_next_stop_0_4 = {
  (MR_String) "ns_final_port_nondet",
  (MR_Integer) 2,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_REMOTE,
  (MR_Integer) 3,
  (MR_Integer) 0,
  (MR_Integer) 4,
  ssdb__ssdb__field_types_next_stop_0_4,
  NULL,
  NULL,
  NULL
};

#line 4340 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_next_stop_0_5 = {
  (MR_String) "ns_nonexit",
  (MR_Integer) 0,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_LOCAL,
  (MR_Integer) 0,
  (MR_Integer) 2,
  (MR_Integer) 5,
  NULL,
  NULL,
  NULL,
  NULL
};

#line 4355 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_next_stop_0_6[1] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0
};

#line 4360 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_next_stop_0_6 = {
  (MR_String) "ns_goto",
  (MR_Integer) 1,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_REMOTE,
  (MR_Integer) 3,
  (MR_Integer) 1,
  (MR_Integer) 6,
  ssdb__ssdb__field_types_next_stop_0_6,
  NULL,
  NULL,
  NULL
};

#line 4375 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_next_stop_0_7 = {
  (MR_String) "ns_exception",
  (MR_Integer) 0,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_LOCAL,
  (MR_Integer) 0,
  (MR_Integer) 3,
  (MR_Integer) 7,
  NULL,
  NULL,
  NULL,
  NULL
};

#line 4390 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_next_stop_0_0[4] = {
  &ssdb__ssdb__du_functor_desc_next_stop_0_0,
  &ssdb__ssdb__du_functor_desc_next_stop_0_2,
  &ssdb__ssdb__du_functor_desc_next_stop_0_5,
  &ssdb__ssdb__du_functor_desc_next_stop_0_7
};

#line 4398 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_next_stop_0_1[1] = {
  &ssdb__ssdb__du_functor_desc_next_stop_0_1
};

#line 4403 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_next_stop_0_2[1] = {
  &ssdb__ssdb__du_functor_desc_next_stop_0_3
};

#line 4408 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_next_stop_0_3[2] = {
  &ssdb__ssdb__du_functor_desc_next_stop_0_4,
  &ssdb__ssdb__du_functor_desc_next_stop_0_6
};

#line 4414 "ssdb.c"
static const MR_DuPtagLayout ssdb__ssdb__du_ptag_ordered_next_stop_0[4] = {
  {
    (MR_Integer) 4,
    mercury__private_builtin__MR_SECTAG_LOCAL,
    ssdb__ssdb__du_stag_ordered_next_stop_0_0
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    ssdb__ssdb__du_stag_ordered_next_stop_0_1
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    ssdb__ssdb__du_stag_ordered_next_stop_0_2
  },
  {
    (MR_Integer) 2,
    mercury__private_builtin__MR_SECTAG_REMOTE,
    ssdb__ssdb__du_stag_ordered_next_stop_0_3
  }
};

#line 4438 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_name_ordered_next_stop_0[8] = {
  &ssdb__ssdb__du_functor_desc_next_stop_0_2,
  &ssdb__ssdb__du_functor_desc_next_stop_0_7,
  &ssdb__ssdb__du_functor_desc_next_stop_0_3,
  &ssdb__ssdb__du_functor_desc_next_stop_0_4,
  &ssdb__ssdb__du_functor_desc_next_stop_0_6,
  &ssdb__ssdb__du_functor_desc_next_stop_0_1,
  &ssdb__ssdb__du_functor_desc_next_stop_0_5,
  &ssdb__ssdb__du_functor_desc_next_stop_0_0
};

#line 4450 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_next_stop_0[8] = {
  (MR_Integer) 7,
  (MR_Integer) 5,
  (MR_Integer) 0,
  (MR_Integer) 2,
  (MR_Integer) 3,
  (MR_Integer) 6,
  (MR_Integer) 4,
  (MR_Integer) 1
};

#line 4462 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_next_stop_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) 4,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (ssdb____Unify____next_stop_0_0_10001)),
  ((MR_Box) (ssdb____Compare____next_stop_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "next_stop",
  {
    ssdb__ssdb__du_name_ordered_next_stop_0
  },
  {
    ssdb__ssdb__du_ptag_ordered_next_stop_0
  },
  (MR_Integer) 8,
  (MR_Integer) 4,
  ssdb__ssdb__functor_number_map_next_stop_0
};

#line 4483 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_pos_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_EQUIV_GROUND,
  ((MR_Box) (ssdb____Unify____pos_0_0_10001)),
  ((MR_Box) (ssdb____Compare____pos_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "pos",
  {
    NULL
  },
  {
    (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0
  },
  (MR_Integer) -1,
  (MR_Integer) 0,
  NULL
};

#line 4504 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_0 = {
  (MR_String) "ssdb_step",
  (MR_Integer) 0
};

#line 4510 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_1 = {
  (MR_String) "ssdb_next",
  (MR_Integer) 1
};

#line 4516 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_2 = {
  (MR_String) "ssdb_goto",
  (MR_Integer) 2
};

#line 4522 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_3 = {
  (MR_String) "ssdb_continue",
  (MR_Integer) 3
};

#line 4528 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_4 = {
  (MR_String) "ssdb_finish",
  (MR_Integer) 4
};

#line 4534 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_5 = {
  (MR_String) "ssdb_return",
  (MR_Integer) 5
};

#line 4540 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_6 = {
  (MR_String) "ssdb_exception",
  (MR_Integer) 6
};

#line 4546 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_7 = {
  (MR_String) "ssdb_retry",
  (MR_Integer) 7
};

#line 4552 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_8 = {
  (MR_String) "ssdb_stack",
  (MR_Integer) 8
};

#line 4558 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_9 = {
  (MR_String) "ssdb_print",
  (MR_Integer) 9
};

#line 4564 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_10 = {
  (MR_String) "ssdb_browse",
  (MR_Integer) 10
};

#line 4570 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_11 = {
  (MR_String) "ssdb_vars",
  (MR_Integer) 11
};

#line 4576 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_12 = {
  (MR_String) "ssdb_down",
  (MR_Integer) 12
};

#line 4582 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_13 = {
  (MR_String) "ssdb_up",
  (MR_Integer) 13
};

#line 4588 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_14 = {
  (MR_String) "ssdb_level",
  (MR_Integer) 14
};

#line 4594 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_15 = {
  (MR_String) "ssdb_current",
  (MR_Integer) 15
};

#line 4600 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_16 = {
  (MR_String) "ssdb_format",
  (MR_Integer) 16
};

#line 4606 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_17 = {
  (MR_String) "ssdb_format_param",
  (MR_Integer) 17
};

#line 4612 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_18 = {
  (MR_String) "ssdb_alias",
  (MR_Integer) 18
};

#line 4618 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_19 = {
  (MR_String) "ssdb_unalias",
  (MR_Integer) 19
};

#line 4624 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_20 = {
  (MR_String) "ssdb_list",
  (MR_Integer) 20
};

#line 4630 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_21 = {
  (MR_String) "ssdb_list_path",
  (MR_Integer) 21
};

#line 4636 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_22 = {
  (MR_String) "ssdb_push_list_dir",
  (MR_Integer) 22
};

#line 4642 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_23 = {
  (MR_String) "ssdb_pop_list_dir",
  (MR_Integer) 23
};

#line 4648 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_24 = {
  (MR_String) "ssdb_list_context_lines",
  (MR_Integer) 24
};

#line 4654 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_25 = {
  (MR_String) "ssdb_break",
  (MR_Integer) 25
};

#line 4660 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_26 = {
  (MR_String) "ssdb_enable",
  (MR_Integer) 26
};

#line 4666 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_27 = {
  (MR_String) "ssdb_disable",
  (MR_Integer) 27
};

#line 4672 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_28 = {
  (MR_String) "ssdb_delete",
  (MR_Integer) 28
};

#line 4678 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_29 = {
  (MR_String) "ssdb_help",
  (MR_Integer) 29
};

#line 4684 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_30 = {
  (MR_String) "ssdb_source",
  (MR_Integer) 30
};

#line 4690 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_31 = {
  (MR_String) "ssdb_quit",
  (MR_Integer) 31
};

#line 4696 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_value_ordered_ssdb_cmd_0[32] = {
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_0,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_1,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_2,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_3,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_4,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_5,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_6,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_7,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_8,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_9,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_10,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_11,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_12,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_13,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_14,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_15,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_16,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_17,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_18,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_19,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_20,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_21,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_22,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_23,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_24,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_25,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_26,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_27,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_28,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_29,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_30,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_31
};

#line 4732 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_name_ordered_ssdb_cmd_0[32] = {
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_18,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_25,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_10,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_3,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_15,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_28,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_27,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_12,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_26,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_6,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_4,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_16,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_17,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_2,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_29,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_14,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_20,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_24,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_21,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_1,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_23,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_9,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_22,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_31,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_7,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_5,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_30,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_8,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_0,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_19,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_13,
  &ssdb__ssdb__enum_functor_desc_ssdb_cmd_0_11
};

#line 4768 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_ssdb_cmd_0[32] = {
  (MR_Integer) 28,
  (MR_Integer) 19,
  (MR_Integer) 13,
  (MR_Integer) 3,
  (MR_Integer) 10,
  (MR_Integer) 25,
  (MR_Integer) 9,
  (MR_Integer) 24,
  (MR_Integer) 27,
  (MR_Integer) 21,
  (MR_Integer) 2,
  (MR_Integer) 31,
  (MR_Integer) 7,
  (MR_Integer) 30,
  (MR_Integer) 15,
  (MR_Integer) 4,
  (MR_Integer) 11,
  (MR_Integer) 12,
  (MR_Integer) 0,
  (MR_Integer) 29,
  (MR_Integer) 16,
  (MR_Integer) 18,
  (MR_Integer) 22,
  (MR_Integer) 20,
  (MR_Integer) 17,
  (MR_Integer) 1,
  (MR_Integer) 8,
  (MR_Integer) 6,
  (MR_Integer) 5,
  (MR_Integer) 14,
  (MR_Integer) 26,
  (MR_Integer) 23
};

#line 4804 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_ssdb_cmd_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (ssdb____Unify____ssdb_cmd_0_0_10001)),
  ((MR_Box) (ssdb____Compare____ssdb_cmd_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "ssdb_cmd",
  {
    ssdb__ssdb__enum_name_ordered_ssdb_cmd_0
  },
  {
    ssdb__ssdb__enum_value_ordered_ssdb_cmd_0
  },
  (MR_Integer) 32,
  (MR_Integer) 4,
  ssdb__ssdb__functor_number_map_ssdb_cmd_0
};

#line 4825 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_0 = {
  (MR_String) "ssdb_call",
  (MR_Integer) 0
};

#line 4831 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_1 = {
  (MR_String) "ssdb_exit",
  (MR_Integer) 1
};

#line 4837 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_2 = {
  (MR_String) "ssdb_fail",
  (MR_Integer) 2
};

#line 4843 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_3 = {
  (MR_String) "ssdb_call_nondet",
  (MR_Integer) 3
};

#line 4849 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_4 = {
  (MR_String) "ssdb_exit_nondet",
  (MR_Integer) 4
};

#line 4855 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_5 = {
  (MR_String) "ssdb_redo_nondet",
  (MR_Integer) 5
};

#line 4861 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_6 = {
  (MR_String) "ssdb_fail_nondet",
  (MR_Integer) 6
};

#line 4867 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_7 = {
  (MR_String) "ssdb_excp",
  (MR_Integer) 7
};

#line 4873 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_value_ordered_ssdb_event_type_0[8] = {
  &ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_0,
  &ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_1,
  &ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_2,
  &ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_3,
  &ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_4,
  &ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_5,
  &ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_6,
  &ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_7
};

#line 4885 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_name_ordered_ssdb_event_type_0[8] = {
  &ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_0,
  &ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_3,
  &ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_7,
  &ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_1,
  &ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_4,
  &ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_2,
  &ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_6,
  &ssdb__ssdb__enum_functor_desc_ssdb_event_type_0_5
};

#line 4897 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_ssdb_event_type_0[8] = {
  (MR_Integer) 0,
  (MR_Integer) 3,
  (MR_Integer) 5,
  (MR_Integer) 1,
  (MR_Integer) 4,
  (MR_Integer) 7,
  (MR_Integer) 6,
  (MR_Integer) 2
};

#line 4909 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_ssdb_event_type_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (ssdb____Unify____ssdb_event_type_0_0_10001)),
  ((MR_Box) (ssdb____Compare____ssdb_event_type_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "ssdb_event_type",
  {
    ssdb__ssdb__enum_name_ordered_ssdb_event_type_0
  },
  {
    ssdb__ssdb__enum_value_ordered_ssdb_event_type_0
  },
  (MR_Integer) 8,
  (MR_Integer) 4,
  ssdb__ssdb__functor_number_map_ssdb_event_type_0
};

#line 4930 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_ssdb_proc_id_0_0[2] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_string_0,
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_string_0
};

#line 4936 "ssdb.c"
static const MR_ConstString ssdb__ssdb__field_names_ssdb_proc_id_0_0[2] = {
  (MR_String) "module_name",
  (MR_String) "proc_name"
};

#line 4942 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_ssdb_proc_id_0_0 = {
  (MR_String) "ssdb_proc_id",
  (MR_Integer) 2,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 0,
  (MR_Integer) -1,
  (MR_Integer) 0,
  ssdb__ssdb__field_types_ssdb_proc_id_0_0,
  ssdb__ssdb__field_names_ssdb_proc_id_0_0,
  NULL,
  NULL
};

#line 4957 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_ssdb_proc_id_0_0[1] = {
  &ssdb__ssdb__du_functor_desc_ssdb_proc_id_0_0
};

#line 4962 "ssdb.c"
static const MR_DuPtagLayout ssdb__ssdb__du_ptag_ordered_ssdb_proc_id_0[1] = {
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    ssdb__ssdb__du_stag_ordered_ssdb_proc_id_0_0
  }
};

#line 4971 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_name_ordered_ssdb_proc_id_0[1] = {
  &ssdb__ssdb__du_functor_desc_ssdb_proc_id_0_0
};

#line 4976 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_ssdb_proc_id_0[1] = {
  (MR_Integer) 0
};

#line 4981 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_ssdb_proc_id_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) 1,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (ssdb____Unify____ssdb_proc_id_0_0_10001)),
  ((MR_Box) (ssdb____Compare____ssdb_proc_id_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "ssdb_proc_id",
  {
    ssdb__ssdb__du_name_ordered_ssdb_proc_id_0
  },
  {
    ssdb__ssdb__du_ptag_ordered_ssdb_proc_id_0
  },
  (MR_Integer) 1,
  (MR_Integer) 4,
  ssdb__ssdb__functor_number_map_ssdb_proc_id_0
};

#line 5002 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_retry_0_0 = {
  (MR_String) "do_retry",
  (MR_Integer) 0
};

#line 5008 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_retry_0_1 = {
  (MR_String) "do_not_retry",
  (MR_Integer) 1
};

#line 5014 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_value_ordered_ssdb_retry_0[2] = {
  &ssdb__ssdb__enum_functor_desc_ssdb_retry_0_0,
  &ssdb__ssdb__enum_functor_desc_ssdb_retry_0_1
};

#line 5020 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_name_ordered_ssdb_retry_0[2] = {
  &ssdb__ssdb__enum_functor_desc_ssdb_retry_0_1,
  &ssdb__ssdb__enum_functor_desc_ssdb_retry_0_0
};

#line 5026 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_ssdb_retry_0[2] = {
  (MR_Integer) 1,
  (MR_Integer) 0
};

#line 5032 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_ssdb_retry_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (ssdb____Unify____ssdb_retry_0_0_10001)),
  ((MR_Box) (ssdb____Compare____ssdb_retry_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "ssdb_retry",
  {
    ssdb__ssdb__enum_name_ordered_ssdb_retry_0
  },
  {
    ssdb__ssdb__enum_value_ordered_ssdb_retry_0
  },
  (MR_Integer) 2,
  (MR_Integer) 4,
  ssdb__ssdb__functor_number_map_ssdb_retry_0
};

#line 5053 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_tracing_level_0_0 = {
  (MR_String) "deep",
  (MR_Integer) 0
};

#line 5059 "ssdb.c"
static const MR_EnumFunctorDesc ssdb__ssdb__enum_functor_desc_ssdb_tracing_level_0_1 = {
  (MR_String) "shallow",
  (MR_Integer) 1
};

#line 5065 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_value_ordered_ssdb_tracing_level_0[2] = {
  &ssdb__ssdb__enum_functor_desc_ssdb_tracing_level_0_0,
  &ssdb__ssdb__enum_functor_desc_ssdb_tracing_level_0_1
};

#line 5071 "ssdb.c"
static const MR_EnumFunctorDescPtr ssdb__ssdb__enum_name_ordered_ssdb_tracing_level_0[2] = {
  &ssdb__ssdb__enum_functor_desc_ssdb_tracing_level_0_0,
  &ssdb__ssdb__enum_functor_desc_ssdb_tracing_level_0_1
};

#line 5077 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_ssdb_tracing_level_0[2] = {
  (MR_Integer) 0,
  (MR_Integer) 1
};

#line 5083 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_ssdb_tracing_level_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_ENUM,
  ((MR_Box) (ssdb____Unify____ssdb_tracing_level_0_0_10001)),
  ((MR_Box) (ssdb____Compare____ssdb_tracing_level_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "ssdb_tracing_level",
  {
    ssdb__ssdb__enum_name_ordered_ssdb_tracing_level_0
  },
  {
    ssdb__ssdb__enum_value_ordered_ssdb_tracing_level_0
  },
  (MR_Integer) 2,
  (MR_Integer) 4,
  ssdb__ssdb__functor_number_map_ssdb_tracing_level_0
};

#line 5104 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_stack_frame_0_0[8] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0,
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0,
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0,
  (MR_PseudoTypeInfo) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0,
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_string_0,
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0,
  (MR_PseudoTypeInfo) &ssdb__list__ti_list_1ssdb__type_ctor_info_var_value_0,
  (MR_PseudoTypeInfo) &ssdb__ssdb__type_ctor_info_ssdb_tracing_level_0
};

#line 5116 "ssdb.c"
static const MR_ConstString ssdb__ssdb__field_names_stack_frame_0_0[8] = {
  (MR_String) "sf_event_number",
  (MR_String) "sf_csn",
  (MR_String) "sf_depth",
  (MR_String) "sf_proc_id",
  (MR_String) "sf_call_site_file",
  (MR_String) "sf_call_site_line",
  (MR_String) "sf_list_var_value",
  (MR_String) "sf_tracing_level"
};

#line 5128 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_stack_frame_0_0 = {
  (MR_String) "stack_frame",
  (MR_Integer) 8,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 0,
  (MR_Integer) -1,
  (MR_Integer) 0,
  ssdb__ssdb__field_types_stack_frame_0_0,
  ssdb__ssdb__field_names_stack_frame_0_0,
  NULL,
  NULL
};

#line 5143 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_stack_frame_0_0[1] = {
  &ssdb__ssdb__du_functor_desc_stack_frame_0_0
};

#line 5148 "ssdb.c"
static const MR_DuPtagLayout ssdb__ssdb__du_ptag_ordered_stack_frame_0[1] = {
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    ssdb__ssdb__du_stag_ordered_stack_frame_0_0
  }
};

#line 5157 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_name_ordered_stack_frame_0[1] = {
  &ssdb__ssdb__du_functor_desc_stack_frame_0_0
};

#line 5162 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_stack_frame_0[1] = {
  (MR_Integer) 0
};

#line 5167 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_stack_frame_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) 1,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (ssdb____Unify____stack_frame_0_0_10001)),
  ((MR_Box) (ssdb____Compare____stack_frame_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "stack_frame",
  {
    ssdb__ssdb__du_name_ordered_stack_frame_0
  },
  {
    ssdb__ssdb__du_ptag_ordered_stack_frame_0
  },
  (MR_Integer) 1,
  (MR_Integer) 4,
  ssdb__ssdb__functor_number_map_stack_frame_0
};

#line 5188 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_var_name_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) -1,
  mercury__private_builtin__MR_TYPECTOR_REP_EQUIV_GROUND,
  ((MR_Box) (ssdb____Unify____var_name_0_0_10001)),
  ((MR_Box) (ssdb____Compare____var_name_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "var_name",
  {
    NULL
  },
  {
    (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_string_0
  },
  (MR_Integer) -1,
  (MR_Integer) 0,
  NULL
};

#line 5209 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_var_value_0_0[2] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_string_0,
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0
};

#line 5215 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_var_value_0_0 = {
  (MR_String) "unbound_head_var",
  (MR_Integer) 2,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 0,
  (MR_Integer) -1,
  (MR_Integer) 0,
  ssdb__ssdb__field_types_var_value_0_0,
  NULL,
  NULL,
  NULL
};

#line 5230 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_var_value_0_1[3] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_string_0,
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0,
  (MR_PseudoTypeInfo) (MR_Integer) 513
};

#line 5237 "ssdb.c"
static const MR_DuExistLocn ssdb__ssdb__exist_locns_var_value_0_1[1] = {
  {
    (MR_Integer) 0,
    (MR_Integer) -1
  }
};

#line 5245 "ssdb.c"
static const MR_DuExistInfo ssdb__ssdb__exist_info_var_value_0_1 = {
  (MR_Integer) 1,
  (MR_Integer) 0,
  (MR_Integer) 0,
  ssdb__ssdb__exist_locns_var_value_0_1,
  NULL
};

#line 5254 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_var_value_0_1 = {
  (MR_String) "bound_head_var",
  (MR_Integer) 3,
  (MR_Integer) 4,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 1,
  (MR_Integer) -1,
  (MR_Integer) 1,
  ssdb__ssdb__field_types_var_value_0_1,
  NULL,
  NULL,
  &ssdb__ssdb__exist_info_var_value_0_1
};

#line 5269 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_var_value_0_2[2] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_string_0,
  (MR_PseudoTypeInfo) (MR_Integer) 513
};

#line 5275 "ssdb.c"
static const MR_DuExistLocn ssdb__ssdb__exist_locns_var_value_0_2[1] = {
  {
    (MR_Integer) 0,
    (MR_Integer) -1
  }
};

#line 5283 "ssdb.c"
static const MR_DuExistInfo ssdb__ssdb__exist_info_var_value_0_2 = {
  (MR_Integer) 1,
  (MR_Integer) 0,
  (MR_Integer) 0,
  ssdb__ssdb__exist_locns_var_value_0_2,
  NULL
};

#line 5292 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_var_value_0_2 = {
  (MR_String) "bound_other_var",
  (MR_Integer) 2,
  (MR_Integer) 2,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 2,
  (MR_Integer) -1,
  (MR_Integer) 2,
  ssdb__ssdb__field_types_var_value_0_2,
  NULL,
  NULL,
  &ssdb__ssdb__exist_info_var_value_0_2
};

#line 5307 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_var_value_0_0[1] = {
  &ssdb__ssdb__du_functor_desc_var_value_0_0
};

#line 5312 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_var_value_0_1[1] = {
  &ssdb__ssdb__du_functor_desc_var_value_0_1
};

#line 5317 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_var_value_0_2[1] = {
  &ssdb__ssdb__du_functor_desc_var_value_0_2
};

#line 5322 "ssdb.c"
static const MR_DuPtagLayout ssdb__ssdb__du_ptag_ordered_var_value_0[3] = {
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    ssdb__ssdb__du_stag_ordered_var_value_0_0
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    ssdb__ssdb__du_stag_ordered_var_value_0_1
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    ssdb__ssdb__du_stag_ordered_var_value_0_2
  }
};

#line 5341 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_name_ordered_var_value_0[3] = {
  &ssdb__ssdb__du_functor_desc_var_value_0_1,
  &ssdb__ssdb__du_functor_desc_var_value_0_2,
  &ssdb__ssdb__du_functor_desc_var_value_0_0
};

#line 5348 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_var_value_0[3] = {
  (MR_Integer) 2,
  (MR_Integer) 0,
  (MR_Integer) 1
};

#line 5355 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_var_value_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) 3,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (ssdb____Unify____var_value_0_0_10001)),
  ((MR_Box) (ssdb____Compare____var_value_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "var_value",
  {
    ssdb__ssdb__du_name_ordered_var_value_0
  },
  {
    ssdb__ssdb__du_ptag_ordered_var_value_0
  },
  (MR_Integer) 3,
  (MR_Integer) 4,
  ssdb__ssdb__functor_number_map_var_value_0
};

#line 5376 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_what_next_0_0 = {
  (MR_String) "wn_step",
  (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 5391 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_what_next_0_1 = {
  (MR_String) "wn_next",
  (MR_Integer) 0,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_LOCAL,
  (MR_Integer) 0,
  (MR_Integer) 1,
  (MR_Integer) 1,
  NULL,
  NULL,
  NULL,
  NULL
};

#line 5406 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_what_next_0_2 = {
  (MR_String) "wn_continue",
  (MR_Integer) 0,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_LOCAL,
  (MR_Integer) 0,
  (MR_Integer) 2,
  (MR_Integer) 2,
  NULL,
  NULL,
  NULL,
  NULL
};

#line 5421 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_what_next_0_3[1] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0
};

#line 5426 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_what_next_0_3 = {
  (MR_String) "wn_finish",
  (MR_Integer) 1,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 1,
  (MR_Integer) -1,
  (MR_Integer) 3,
  ssdb__ssdb__field_types_what_next_0_3,
  NULL,
  NULL,
  NULL
};

#line 5441 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_what_next_0_4 = {
  (MR_String) "wn_return",
  (MR_Integer) 0,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_LOCAL,
  (MR_Integer) 0,
  (MR_Integer) 3,
  (MR_Integer) 4,
  NULL,
  NULL,
  NULL,
  NULL
};

#line 5456 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_what_next_0_5 = {
  (MR_String) "wn_exception",
  (MR_Integer) 0,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_LOCAL,
  (MR_Integer) 0,
  (MR_Integer) 4,
  (MR_Integer) 5,
  NULL,
  NULL,
  NULL,
  NULL
};

#line 5471 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_what_next_0_6[1] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0
};

#line 5476 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_what_next_0_6 = {
  (MR_String) "wn_retry",
  (MR_Integer) 1,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_NONE,
  (MR_Integer) 2,
  (MR_Integer) -1,
  (MR_Integer) 6,
  ssdb__ssdb__field_types_what_next_0_6,
  NULL,
  NULL,
  NULL
};

#line 5491 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_what_next_0_7[1] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0
};

#line 5496 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_what_next_0_7 = {
  (MR_String) "wn_retry_nondet",
  (MR_Integer) 1,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_REMOTE,
  (MR_Integer) 3,
  (MR_Integer) 0,
  (MR_Integer) 7,
  ssdb__ssdb__field_types_what_next_0_7,
  NULL,
  NULL,
  NULL
};

#line 5511 "ssdb.c"
static const MR_PseudoTypeInfo ssdb__ssdb__field_types_what_next_0_8[1] = {
  (MR_PseudoTypeInfo) &mercury__builtin__builtin__type_ctor_info_int_0
};

#line 5516 "ssdb.c"
static const MR_DuFunctorDesc ssdb__ssdb__du_functor_desc_what_next_0_8 = {
  (MR_String) "wn_goto",
  (MR_Integer) 1,
  (MR_Integer) 0,
  mercury__private_builtin__MR_SECTAG_REMOTE,
  (MR_Integer) 3,
  (MR_Integer) 1,
  (MR_Integer) 8,
  ssdb__ssdb__field_types_what_next_0_8,
  NULL,
  NULL,
  NULL
};

#line 5531 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_what_next_0_0[5] = {
  &ssdb__ssdb__du_functor_desc_what_next_0_0,
  &ssdb__ssdb__du_functor_desc_what_next_0_1,
  &ssdb__ssdb__du_functor_desc_what_next_0_2,
  &ssdb__ssdb__du_functor_desc_what_next_0_4,
  &ssdb__ssdb__du_functor_desc_what_next_0_5
};

#line 5540 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_what_next_0_1[1] = {
  &ssdb__ssdb__du_functor_desc_what_next_0_3
};

#line 5545 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_what_next_0_2[1] = {
  &ssdb__ssdb__du_functor_desc_what_next_0_6
};

#line 5550 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_stag_ordered_what_next_0_3[2] = {
  &ssdb__ssdb__du_functor_desc_what_next_0_7,
  &ssdb__ssdb__du_functor_desc_what_next_0_8
};

#line 5556 "ssdb.c"
static const MR_DuPtagLayout ssdb__ssdb__du_ptag_ordered_what_next_0[4] = {
  {
    (MR_Integer) 5,
    mercury__private_builtin__MR_SECTAG_LOCAL,
    ssdb__ssdb__du_stag_ordered_what_next_0_0
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    ssdb__ssdb__du_stag_ordered_what_next_0_1
  },
  {
    (MR_Integer) 1,
    mercury__private_builtin__MR_SECTAG_NONE,
    ssdb__ssdb__du_stag_ordered_what_next_0_2
  },
  {
    (MR_Integer) 2,
    mercury__private_builtin__MR_SECTAG_REMOTE,
    ssdb__ssdb__du_stag_ordered_what_next_0_3
  }
};

#line 5580 "ssdb.c"
static const MR_DuFunctorDescPtr ssdb__ssdb__du_name_ordered_what_next_0[9] = {
  &ssdb__ssdb__du_functor_desc_what_next_0_2,
  &ssdb__ssdb__du_functor_desc_what_next_0_5,
  &ssdb__ssdb__du_functor_desc_what_next_0_3,
  &ssdb__ssdb__du_functor_desc_what_next_0_8,
  &ssdb__ssdb__du_functor_desc_what_next_0_1,
  &ssdb__ssdb__du_functor_desc_what_next_0_6,
  &ssdb__ssdb__du_functor_desc_what_next_0_7,
  &ssdb__ssdb__du_functor_desc_what_next_0_4,
  &ssdb__ssdb__du_functor_desc_what_next_0_0
};

#line 5593 "ssdb.c"
static const MR_Integer ssdb__ssdb__functor_number_map_what_next_0[9] = {
  (MR_Integer) 8,
  (MR_Integer) 4,
  (MR_Integer) 0,
  (MR_Integer) 2,
  (MR_Integer) 7,
  (MR_Integer) 1,
  (MR_Integer) 5,
  (MR_Integer) 6,
  (MR_Integer) 3
};

#line 5606 "ssdb.c"
const MR_TypeCtorInfo_Struct ssdb__ssdb__type_ctor_info_what_next_0 = {
  (MR_Integer) 0,
  (MR_Integer) 15,
  (MR_Integer) 4,
  mercury__private_builtin__MR_TYPECTOR_REP_DU,
  ((MR_Box) (ssdb____Unify____what_next_0_0_10001)),
  ((MR_Box) (ssdb____Compare____what_next_0_0_10001)),
  (MR_String) "ssdb",
  (MR_String) "what_next",
  {
    ssdb__ssdb__du_name_ordered_what_next_0
  },
  {
    ssdb__ssdb__du_ptag_ordered_what_next_0
  },
  (MR_Integer) 9,
  (MR_Integer) 4,
  ssdb__ssdb__functor_number_map_what_next_0
};

#line 5627 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____bp_state_0_0_10001(
#line 5630 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 5632 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 5634 "ssdb.c"
{
#line 5636 "ssdb.c"
  {
#line 5638 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 5641 "ssdb.c"
    {
#line 5643 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____bp_state_0_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2));
    }
#line 5646 "ssdb.c"
    return ssdb__succeeded;
#line 5648 "ssdb.c"
  }
#line 5650 "ssdb.c"
}

#line 5653 "ssdb.c"
static void MR_CALL 
ssdb____Compare____bp_state_0_0_10001(
#line 5656 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 5658 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 5660 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 5662 "ssdb.c"
{
#line 5664 "ssdb.c"
  {
#line 5666 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 5669 "ssdb.c"
    {
#line 5671 "ssdb.c"
      ssdb____Compare____bp_state_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_Word) ssdb__wrapper_arg_2), ((MR_Word) ssdb__wrapper_arg_3));
    }
#line 5674 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 5676 "ssdb.c"
  }
#line 5678 "ssdb.c"
}

#line 5681 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____breakpoint_0_0_10001(
#line 5684 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 5686 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 5688 "ssdb.c"
{
#line 5690 "ssdb.c"
  {
#line 5692 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 5695 "ssdb.c"
    {
#line 5697 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____breakpoint_0_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2));
    }
#line 5700 "ssdb.c"
    return ssdb__succeeded;
#line 5702 "ssdb.c"
  }
#line 5704 "ssdb.c"
}

#line 5707 "ssdb.c"
static void MR_CALL 
ssdb____Compare____breakpoint_0_0_10001(
#line 5710 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 5712 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 5714 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 5716 "ssdb.c"
{
#line 5718 "ssdb.c"
  {
#line 5720 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 5723 "ssdb.c"
    {
#line 5725 "ssdb.c"
      ssdb____Compare____breakpoint_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_Word) ssdb__wrapper_arg_2), ((MR_Word) ssdb__wrapper_arg_3));
    }
#line 5728 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 5730 "ssdb.c"
  }
#line 5732 "ssdb.c"
}

#line 5735 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____breakpoints_map_0_0_10001(
#line 5738 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 5740 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 5742 "ssdb.c"
{
#line 5744 "ssdb.c"
  {
#line 5746 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 5749 "ssdb.c"
    {
#line 5751 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____breakpoints_map_0_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2));
    }
#line 5754 "ssdb.c"
    return ssdb__succeeded;
#line 5756 "ssdb.c"
  }
#line 5758 "ssdb.c"
}

#line 5761 "ssdb.c"
static void MR_CALL 
ssdb____Compare____breakpoints_map_0_0_10001(
#line 5764 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 5766 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 5768 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 5770 "ssdb.c"
{
#line 5772 "ssdb.c"
  {
#line 5774 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 5777 "ssdb.c"
    {
#line 5779 "ssdb.c"
      ssdb____Compare____breakpoints_map_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_Word) ssdb__wrapper_arg_2), ((MR_Word) ssdb__wrapper_arg_3));
    }
#line 5782 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 5784 "ssdb.c"
  }
#line 5786 "ssdb.c"
}

#line 5789 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____debugger_state_0_0_10001(
#line 5792 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 5794 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 5796 "ssdb.c"
{
#line 5798 "ssdb.c"
  {
#line 5800 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 5803 "ssdb.c"
    {
#line 5805 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____debugger_state_0_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2));
    }
#line 5808 "ssdb.c"
    return ssdb__succeeded;
#line 5810 "ssdb.c"
  }
#line 5812 "ssdb.c"
}

#line 5815 "ssdb.c"
static void MR_CALL 
ssdb____Compare____debugger_state_0_0_10001(
#line 5818 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 5820 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 5822 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 5824 "ssdb.c"
{
#line 5826 "ssdb.c"
  {
#line 5828 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 5831 "ssdb.c"
    {
#line 5833 "ssdb.c"
      ssdb____Compare____debugger_state_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_Word) ssdb__wrapper_arg_2), ((MR_Word) ssdb__wrapper_arg_3));
    }
#line 5836 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 5838 "ssdb.c"
  }
#line 5840 "ssdb.c"
}

#line 5843 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____debugging_paused_0_0_10001(
#line 5846 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 5848 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 5850 "ssdb.c"
{
#line 5852 "ssdb.c"
  {
#line 5854 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 5857 "ssdb.c"
    {
#line 5859 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____debugging_paused_0_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2));
    }
#line 5862 "ssdb.c"
    return ssdb__succeeded;
#line 5864 "ssdb.c"
  }
#line 5866 "ssdb.c"
}

#line 5869 "ssdb.c"
static void MR_CALL 
ssdb____Compare____debugging_paused_0_0_10001(
#line 5872 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 5874 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 5876 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 5878 "ssdb.c"
{
#line 5880 "ssdb.c"
  {
#line 5882 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 5885 "ssdb.c"
    {
#line 5887 "ssdb.c"
      ssdb____Compare____debugging_paused_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_Word) ssdb__wrapper_arg_2), ((MR_Word) ssdb__wrapper_arg_3));
    }
#line 5890 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 5892 "ssdb.c"
  }
#line 5894 "ssdb.c"
}

#line 5897 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____format_config_0_0_10001(
#line 5900 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 5902 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 5904 "ssdb.c"
{
#line 5906 "ssdb.c"
  {
#line 5908 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 5911 "ssdb.c"
    {
#line 5913 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____format_config_0_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2));
    }
#line 5916 "ssdb.c"
    return ssdb__succeeded;
#line 5918 "ssdb.c"
  }
#line 5920 "ssdb.c"
}

#line 5923 "ssdb.c"
static void MR_CALL 
ssdb____Compare____format_config_0_0_10001(
#line 5926 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 5928 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 5930 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 5932 "ssdb.c"
{
#line 5934 "ssdb.c"
  {
#line 5936 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 5939 "ssdb.c"
    {
#line 5941 "ssdb.c"
      ssdb____Compare____format_config_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_Word) ssdb__wrapper_arg_2), ((MR_Word) ssdb__wrapper_arg_3));
    }
#line 5944 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 5946 "ssdb.c"
  }
#line 5948 "ssdb.c"
}

#line 5951 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____list_params_0_0_10001(
#line 5954 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 5956 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 5958 "ssdb.c"
{
#line 5960 "ssdb.c"
  {
#line 5962 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 5965 "ssdb.c"
    {
#line 5967 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____list_params_0_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2));
    }
#line 5970 "ssdb.c"
    return ssdb__succeeded;
#line 5972 "ssdb.c"
  }
#line 5974 "ssdb.c"
}

#line 5977 "ssdb.c"
static void MR_CALL 
ssdb____Compare____list_params_0_0_10001(
#line 5980 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 5982 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 5984 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 5986 "ssdb.c"
{
#line 5988 "ssdb.c"
  {
#line 5990 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 5993 "ssdb.c"
    {
#line 5995 "ssdb.c"
      ssdb____Compare____list_params_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_Word) ssdb__wrapper_arg_2), ((MR_Word) ssdb__wrapper_arg_3));
    }
#line 5998 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 6000 "ssdb.c"
  }
#line 6002 "ssdb.c"
}

#line 6005 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____list_var_value_0_0_10001(
#line 6008 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 6010 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 6012 "ssdb.c"
{
#line 6014 "ssdb.c"
  {
#line 6016 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 6019 "ssdb.c"
    {
#line 6021 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____list_var_value_0_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2));
    }
#line 6024 "ssdb.c"
    return ssdb__succeeded;
#line 6026 "ssdb.c"
  }
#line 6028 "ssdb.c"
}

#line 6031 "ssdb.c"
static void MR_CALL 
ssdb____Compare____list_var_value_0_0_10001(
#line 6034 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 6036 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 6038 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 6040 "ssdb.c"
{
#line 6042 "ssdb.c"
  {
#line 6044 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 6047 "ssdb.c"
    {
#line 6049 "ssdb.c"
      ssdb____Compare____list_var_value_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_Word) ssdb__wrapper_arg_2), ((MR_Word) ssdb__wrapper_arg_3));
    }
#line 6052 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 6054 "ssdb.c"
  }
#line 6056 "ssdb.c"
}

#line 6059 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____next_stop_0_0_10001(
#line 6062 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 6064 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 6066 "ssdb.c"
{
#line 6068 "ssdb.c"
  {
#line 6070 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 6073 "ssdb.c"
    {
#line 6075 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____next_stop_0_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2));
    }
#line 6078 "ssdb.c"
    return ssdb__succeeded;
#line 6080 "ssdb.c"
  }
#line 6082 "ssdb.c"
}

#line 6085 "ssdb.c"
static void MR_CALL 
ssdb____Compare____next_stop_0_0_10001(
#line 6088 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 6090 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 6092 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 6094 "ssdb.c"
{
#line 6096 "ssdb.c"
  {
#line 6098 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 6101 "ssdb.c"
    {
#line 6103 "ssdb.c"
      ssdb____Compare____next_stop_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_Word) ssdb__wrapper_arg_2), ((MR_Word) ssdb__wrapper_arg_3));
    }
#line 6106 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 6108 "ssdb.c"
  }
#line 6110 "ssdb.c"
}

#line 6113 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____pos_0_0_10001(
#line 6116 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 6118 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 6120 "ssdb.c"
{
#line 6122 "ssdb.c"
  {
#line 6124 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 6127 "ssdb.c"
    {
#line 6129 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____pos_0_0(((MR_Integer) ssdb__wrapper_arg_1), ((MR_Integer) ssdb__wrapper_arg_2));
    }
#line 6132 "ssdb.c"
    return ssdb__succeeded;
#line 6134 "ssdb.c"
  }
#line 6136 "ssdb.c"
}

#line 6139 "ssdb.c"
static void MR_CALL 
ssdb____Compare____pos_0_0_10001(
#line 6142 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 6144 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 6146 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 6148 "ssdb.c"
{
#line 6150 "ssdb.c"
  {
#line 6152 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 6155 "ssdb.c"
    {
#line 6157 "ssdb.c"
      ssdb____Compare____pos_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_Integer) ssdb__wrapper_arg_2), ((MR_Integer) ssdb__wrapper_arg_3));
    }
#line 6160 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 6162 "ssdb.c"
  }
#line 6164 "ssdb.c"
}

#line 6167 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____ssdb_cmd_0_0_10001(
#line 6170 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 6172 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 6174 "ssdb.c"
{
#line 6176 "ssdb.c"
  {
#line 6178 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 6181 "ssdb.c"
    {
#line 6183 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____ssdb_cmd_0_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2));
    }
#line 6186 "ssdb.c"
    return ssdb__succeeded;
#line 6188 "ssdb.c"
  }
#line 6190 "ssdb.c"
}

#line 6193 "ssdb.c"
static void MR_CALL 
ssdb____Compare____ssdb_cmd_0_0_10001(
#line 6196 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 6198 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 6200 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 6202 "ssdb.c"
{
#line 6204 "ssdb.c"
  {
#line 6206 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 6209 "ssdb.c"
    {
#line 6211 "ssdb.c"
      ssdb____Compare____ssdb_cmd_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_Word) ssdb__wrapper_arg_2), ((MR_Word) ssdb__wrapper_arg_3));
    }
#line 6214 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 6216 "ssdb.c"
  }
#line 6218 "ssdb.c"
}

#line 6221 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____ssdb_event_type_0_0_10001(
#line 6224 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 6226 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 6228 "ssdb.c"
{
#line 6230 "ssdb.c"
  {
#line 6232 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 6235 "ssdb.c"
    {
#line 6237 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____ssdb_event_type_0_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2));
    }
#line 6240 "ssdb.c"
    return ssdb__succeeded;
#line 6242 "ssdb.c"
  }
#line 6244 "ssdb.c"
}

#line 6247 "ssdb.c"
static void MR_CALL 
ssdb____Compare____ssdb_event_type_0_0_10001(
#line 6250 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 6252 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 6254 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 6256 "ssdb.c"
{
#line 6258 "ssdb.c"
  {
#line 6260 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 6263 "ssdb.c"
    {
#line 6265 "ssdb.c"
      ssdb____Compare____ssdb_event_type_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_Word) ssdb__wrapper_arg_2), ((MR_Word) ssdb__wrapper_arg_3));
    }
#line 6268 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 6270 "ssdb.c"
  }
#line 6272 "ssdb.c"
}

#line 6275 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____ssdb_proc_id_0_0_10001(
#line 6278 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 6280 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 6282 "ssdb.c"
{
#line 6284 "ssdb.c"
  {
#line 6286 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 6289 "ssdb.c"
    {
#line 6291 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____ssdb_proc_id_0_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2));
    }
#line 6294 "ssdb.c"
    return ssdb__succeeded;
#line 6296 "ssdb.c"
  }
#line 6298 "ssdb.c"
}

#line 6301 "ssdb.c"
static void MR_CALL 
ssdb____Compare____ssdb_proc_id_0_0_10001(
#line 6304 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 6306 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 6308 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 6310 "ssdb.c"
{
#line 6312 "ssdb.c"
  {
#line 6314 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 6317 "ssdb.c"
    {
#line 6319 "ssdb.c"
      ssdb____Compare____ssdb_proc_id_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_Word) ssdb__wrapper_arg_2), ((MR_Word) ssdb__wrapper_arg_3));
    }
#line 6322 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 6324 "ssdb.c"
  }
#line 6326 "ssdb.c"
}

#line 6329 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____ssdb_retry_0_0_10001(
#line 6332 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 6334 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 6336 "ssdb.c"
{
#line 6338 "ssdb.c"
  {
#line 6340 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 6343 "ssdb.c"
    {
#line 6345 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____ssdb_retry_0_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2));
    }
#line 6348 "ssdb.c"
    return ssdb__succeeded;
#line 6350 "ssdb.c"
  }
#line 6352 "ssdb.c"
}

#line 6355 "ssdb.c"
static void MR_CALL 
ssdb____Compare____ssdb_retry_0_0_10001(
#line 6358 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 6360 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 6362 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 6364 "ssdb.c"
{
#line 6366 "ssdb.c"
  {
#line 6368 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 6371 "ssdb.c"
    {
#line 6373 "ssdb.c"
      ssdb____Compare____ssdb_retry_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_Word) ssdb__wrapper_arg_2), ((MR_Word) ssdb__wrapper_arg_3));
    }
#line 6376 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 6378 "ssdb.c"
  }
#line 6380 "ssdb.c"
}

#line 6383 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____ssdb_tracing_level_0_0_10001(
#line 6386 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 6388 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 6390 "ssdb.c"
{
#line 6392 "ssdb.c"
  {
#line 6394 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 6397 "ssdb.c"
    {
#line 6399 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____ssdb_tracing_level_0_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2));
    }
#line 6402 "ssdb.c"
    return ssdb__succeeded;
#line 6404 "ssdb.c"
  }
#line 6406 "ssdb.c"
}

#line 6409 "ssdb.c"
static void MR_CALL 
ssdb____Compare____ssdb_tracing_level_0_0_10001(
#line 6412 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 6414 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 6416 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 6418 "ssdb.c"
{
#line 6420 "ssdb.c"
  {
#line 6422 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 6425 "ssdb.c"
    {
#line 6427 "ssdb.c"
      ssdb____Compare____ssdb_tracing_level_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_Word) ssdb__wrapper_arg_2), ((MR_Word) ssdb__wrapper_arg_3));
    }
#line 6430 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 6432 "ssdb.c"
  }
#line 6434 "ssdb.c"
}

#line 6437 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____stack_frame_0_0_10001(
#line 6440 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 6442 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 6444 "ssdb.c"
{
#line 6446 "ssdb.c"
  {
#line 6448 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 6451 "ssdb.c"
    {
#line 6453 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____stack_frame_0_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2));
    }
#line 6456 "ssdb.c"
    return ssdb__succeeded;
#line 6458 "ssdb.c"
  }
#line 6460 "ssdb.c"
}

#line 6463 "ssdb.c"
static void MR_CALL 
ssdb____Compare____stack_frame_0_0_10001(
#line 6466 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 6468 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 6470 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 6472 "ssdb.c"
{
#line 6474 "ssdb.c"
  {
#line 6476 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 6479 "ssdb.c"
    {
#line 6481 "ssdb.c"
      ssdb____Compare____stack_frame_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_Word) ssdb__wrapper_arg_2), ((MR_Word) ssdb__wrapper_arg_3));
    }
#line 6484 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 6486 "ssdb.c"
  }
#line 6488 "ssdb.c"
}

#line 6491 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____var_name_0_0_10001(
#line 6494 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 6496 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 6498 "ssdb.c"
{
#line 6500 "ssdb.c"
  {
#line 6502 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 6505 "ssdb.c"
    {
#line 6507 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____var_name_0_0(((MR_String) ssdb__wrapper_arg_1), ((MR_String) ssdb__wrapper_arg_2));
    }
#line 6510 "ssdb.c"
    return ssdb__succeeded;
#line 6512 "ssdb.c"
  }
#line 6514 "ssdb.c"
}

#line 6517 "ssdb.c"
static void MR_CALL 
ssdb____Compare____var_name_0_0_10001(
#line 6520 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 6522 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 6524 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 6526 "ssdb.c"
{
#line 6528 "ssdb.c"
  {
#line 6530 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 6533 "ssdb.c"
    {
#line 6535 "ssdb.c"
      ssdb____Compare____var_name_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_String) ssdb__wrapper_arg_2), ((MR_String) ssdb__wrapper_arg_3));
    }
#line 6538 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 6540 "ssdb.c"
  }
#line 6542 "ssdb.c"
}

#line 6545 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____var_value_0_0_10001(
#line 6548 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 6550 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 6552 "ssdb.c"
{
#line 6554 "ssdb.c"
  {
#line 6556 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 6559 "ssdb.c"
    {
#line 6561 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____var_value_0_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2));
    }
#line 6564 "ssdb.c"
    return ssdb__succeeded;
#line 6566 "ssdb.c"
  }
#line 6568 "ssdb.c"
}

#line 6571 "ssdb.c"
static void MR_CALL 
ssdb____Compare____var_value_0_0_10001(
#line 6574 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 6576 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 6578 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 6580 "ssdb.c"
{
#line 6582 "ssdb.c"
  {
#line 6584 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 6587 "ssdb.c"
    {
#line 6589 "ssdb.c"
      ssdb____Compare____var_value_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_Word) ssdb__wrapper_arg_2), ((MR_Word) ssdb__wrapper_arg_3));
    }
#line 6592 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 6594 "ssdb.c"
  }
#line 6596 "ssdb.c"
}

#line 6599 "ssdb.c"
static MR_bool MR_CALL 
ssdb____Unify____what_next_0_0_10001(
#line 6602 "ssdb.c"
  MR_Box ssdb__wrapper_arg_1,
#line 6604 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2)
#line 6606 "ssdb.c"
{
#line 6608 "ssdb.c"
  {
#line 6610 "ssdb.c"
    MR_bool ssdb__succeeded;

#line 6613 "ssdb.c"
    {
#line 6615 "ssdb.c"
      ssdb__succeeded = ssdb____Unify____what_next_0_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2));
    }
#line 6618 "ssdb.c"
    return ssdb__succeeded;
#line 6620 "ssdb.c"
  }
#line 6622 "ssdb.c"
}

#line 6625 "ssdb.c"
static void MR_CALL 
ssdb____Compare____what_next_0_0_10001(
#line 6628 "ssdb.c"
  MR_Box * ssdb__wrapper_arg_1,
#line 6630 "ssdb.c"
  MR_Box ssdb__wrapper_arg_2,
#line 6632 "ssdb.c"
  MR_Box ssdb__wrapper_arg_3)
#line 6634 "ssdb.c"
{
#line 6636 "ssdb.c"
  {
#line 6638 "ssdb.c"
    MR_Word ssdb__conv0_HeadVar__1_1;

#line 6641 "ssdb.c"
    {
#line 6643 "ssdb.c"
      ssdb____Compare____what_next_0_0(&ssdb__conv0_HeadVar__1_1, ((MR_Word) ssdb__wrapper_arg_2), ((MR_Word) ssdb__wrapper_arg_3));
    }
#line 6646 "ssdb.c"
    *ssdb__wrapper_arg_1 = ((MR_Box) (ssdb__conv0_HeadVar__1_1));
#line 6648 "ssdb.c"
  }
#line 6650 "ssdb.c"
}

#line 3159 "ssdb.m"
static MR_bool MR_CALL 
ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_115_97_102_101_95_116_111_95_119_114_105_116_101_95_95_91_49_93_95_48_1_p_0(
#line 3159 "ssdb.m"
  MR_Box ssdb__HeadVar__1_1)
#line 3159 "ssdb.m"
{
#line 3164 "ssdb.m"
  {
#line 3164 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 3164 "ssdb.m"
    MR_Word ssdb__TypeInfo_for_T_4;

#line 3167 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_115_97_102_101_95_116_111_95_119_114_105_116_101_95_95_91_49_93_95_48_1_p_0

	MR_Word T;
	MR_bool SUCCESS_INDICATOR;

	T = (MR_Word) ssdb__HeadVar__1_1 ;
		{
#line 3167 "ssdb.m"

    SUCCESS_INDICATOR = (T != 0);

#line 6680 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	if (SUCCESS_INDICATOR) {
#line 3167 "ssdb.m"
	}
ssdb__succeeded  = SUCCESS_INDICATOR;
}
#line 3164 "ssdb.m"
    return ssdb__succeeded;
#line 3164 "ssdb.m"
  }
#line 3159 "ssdb.m"
}

#line 2040 "ssdb.m"
static MR_bool MR_CALL 
ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_112_114_105_110_116_95_111_112_116_105_111_110_115_95_95_91_50_93_95_48_3_p_0(
#line 2040 "ssdb.m"
  MR_String ssdb__HeadVar__1_1,
#line 2040 "ssdb.m"
  MR_Word * ssdb__HeadVar__3_3)
#line 2040 "ssdb.m"
{
#line 2043 "ssdb.m"
  {
#line 2043 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 2043 "ssdb.m"
    if ((strcmp(ssdb__HeadVar__1_1, (MR_String) "-f") == 0))
#line 2047 "ssdb.m"
      {
#line 2047 "ssdb.m"
        *ssdb__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(1), &ssdb_scalar_common_3[1]);
#line 2047 "ssdb.m"
        ssdb__succeeded = MR_TRUE;
#line 2047 "ssdb.m"
      }
#line 2043 "ssdb.m"
    else
#line 2043 "ssdb.m"
      if ((strcmp(ssdb__HeadVar__1_1, (MR_String) "-p") == 0))
#line 2048 "ssdb.m"
        {
#line 2048 "ssdb.m"
          *ssdb__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(1), &ssdb_scalar_common_3[2]);
#line 2048 "ssdb.m"
          ssdb__succeeded = MR_TRUE;
#line 2048 "ssdb.m"
        }
#line 2043 "ssdb.m"
      else
#line 2043 "ssdb.m"
        if ((strcmp(ssdb__HeadVar__1_1, (MR_String) "-r") == 0))
#line 2049 "ssdb.m"
          {
#line 2049 "ssdb.m"
            *ssdb__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(1), &ssdb_scalar_common_3[3]);
#line 2049 "ssdb.m"
            ssdb__succeeded = MR_TRUE;
#line 2049 "ssdb.m"
          }
#line 2043 "ssdb.m"
        else
#line 2043 "ssdb.m"
          if ((strcmp(ssdb__HeadVar__1_1, (MR_String) "-v") == 0))
#line 2050 "ssdb.m"
            {
#line 2050 "ssdb.m"
              *ssdb__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(1), &ssdb_scalar_common_3[4]);
#line 2050 "ssdb.m"
              ssdb__succeeded = MR_TRUE;
#line 2050 "ssdb.m"
            }
#line 2043 "ssdb.m"
          else
#line 2043 "ssdb.m"
            if ((strcmp(ssdb__HeadVar__1_1, (MR_String) "--raw") == 0))
#line 2045 "ssdb.m"
              {
#line 2045 "ssdb.m"
                *ssdb__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(1), &ssdb_scalar_common_3[3]);
#line 2045 "ssdb.m"
                ssdb__succeeded = MR_TRUE;
#line 2045 "ssdb.m"
              }
#line 2043 "ssdb.m"
            else
#line 2043 "ssdb.m"
              if ((strcmp(ssdb__HeadVar__1_1, (MR_String) "--flat") == 0))
#line 2043 "ssdb.m"
                {
#line 2043 "ssdb.m"
                  *ssdb__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(1), &ssdb_scalar_common_3[1]);
#line 2043 "ssdb.m"
                  ssdb__succeeded = MR_TRUE;
#line 2043 "ssdb.m"
                }
#line 2043 "ssdb.m"
              else
#line 2043 "ssdb.m"
                if ((strcmp(ssdb__HeadVar__1_1, (MR_String) "--pretty") == 0))
#line 2044 "ssdb.m"
                  {
#line 2044 "ssdb.m"
                    *ssdb__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(1), &ssdb_scalar_common_3[2]);
#line 2044 "ssdb.m"
                    ssdb__succeeded = MR_TRUE;
#line 2044 "ssdb.m"
                  }
#line 2043 "ssdb.m"
                else
#line 2043 "ssdb.m"
                  if ((strcmp(ssdb__HeadVar__1_1, (MR_String) "--verbose") == 0))
#line 2046 "ssdb.m"
                    {
#line 2046 "ssdb.m"
                      *ssdb__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(1), &ssdb_scalar_common_3[4]);
#line 2046 "ssdb.m"
                      ssdb__succeeded = MR_TRUE;
#line 2046 "ssdb.m"
                    }
#line 2043 "ssdb.m"
                  else
#line 2043 "ssdb.m"
                    ssdb__succeeded = MR_FALSE;
#line 2043 "ssdb.m"
    return ssdb__succeeded;
#line 2043 "ssdb.m"
  }
#line 2040 "ssdb.m"
}

#line 113 "ssdb.m"
void MR_CALL 
ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_114_101_100_111_95_110_111_110_100_101_116_95_95_91_50_93_95_48_2_p_0(
#line 113 "ssdb.m"
  MR_Word ssdb__ProcId_3)
#line 113 "ssdb.m"
{
#line 765 "ssdb.m"
  {
#line 765 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 765 "ssdb.m"
    MR_Word ssdb__DebuggerState_6;

#line 3455 "ssdb.m"
    mercury__private_builtin__dummy_var = mercury__private_builtin__dummy_var;
#line 3456 "ssdb.m"
    {
#line 3456 "ssdb.m"
      mercury__builtin__impure_true_0_p_0();
    }
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_114_101_100_111_95_110_111_110_100_101_116_95_95_91_50_93_95_48_2_p_0


		{
#line 357 "ssdb.m"

#line 6844 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_114_101_100_111_95_110_111_110_100_101_116_95_95_91_50_93_95_48_2_p_0

	MR_Word X;

		{
#line 357 "ssdb.m"
MR_get_thread_local_mutable(MR_Word, X, ssdb__mutable_variable_debugger_state);

#line 6860 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__DebuggerState_6  = X;
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_114_101_100_111_95_110_111_110_100_101_116_95_95_91_50_93_95_48_2_p_0


		{
#line 357 "ssdb.m"

#line 6875 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 788 "ssdb.m"
    if ((ssdb__DebuggerState_6 == (MR_Integer) 0))
#line 789 "ssdb.m"
      {
#line 789 "ssdb.m"
      }
#line 788 "ssdb.m"
    else
#line 768 "ssdb.m"
      {
#line 768 "ssdb.m"
        MR_Integer ssdb__EventNum_8;
#line 768 "ssdb.m"
        MR_Integer ssdb__OldDepth_9;
#line 768 "ssdb.m"
        MR_Integer ssdb__Depth_10;
#line 768 "ssdb.m"
        MR_Word ssdb__StackFrame_11;
#line 768 "ssdb.m"
        MR_Integer ssdb__CSN_12;
#line 768 "ssdb.m"
        MR_Word ssdb__Stop_13;
#line 768 "ssdb.m"
        MR_Integer ssdb__EventNum0_52;
#line 768 "ssdb.m"
        MR_Word ssdb__MaybeStackFrame_73;
#line 768 "ssdb.m"
        MR_Integer ssdb__StackDepth_82;
#line 775 "ssdb.m"
        MR_Integer ssdb__V_31_31;
#line 775 "ssdb.m"
        MR_Integer ssdb__V_32_32;
#line 775 "ssdb.m"
        MR_Word ssdb__V_33_33;
#line 775 "ssdb.m"
        MR_String ssdb__V_34_34;
#line 775 "ssdb.m"
        MR_Integer ssdb__V_35_35;
#line 775 "ssdb.m"
        MR_Word ssdb__V_36_36;
#line 775 "ssdb.m"
        MR_Word ssdb__V_37_37;
#line 776 "ssdb.m"
        MR_Word ssdb___AutoRetry_14;

#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_114_101_100_111_95_110_111_110_100_101_116_95_95_91_50_93_95_48_2_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 6938 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_114_101_100_111_95_110_111_110_100_101_116_95_95_91_50_93_95_48_2_p_0

	MR_Integer X;

		{
#line 292 "ssdb.m"
X = ssdb__mutable_variable_cur_ssdb_event_number;

#line 6954 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__EventNum0_52  = X;
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_114_101_100_111_95_110_111_110_100_101_116_95_95_91_50_93_95_48_2_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 6973 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 969 "ssdb.m"
        ssdb__EventNum_8 = (ssdb__EventNum0_52 + (MR_Integer) 1);
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_114_101_100_111_95_110_111_110_100_101_116_95_95_91_50_93_95_48_2_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 6993 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_114_101_100_111_95_110_111_110_100_101_116_95_95_91_50_93_95_48_2_p_0

	MR_Integer X;

	X =  ssdb__EventNum_8 ;
		{
#line 292 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_event_number = X;

#line 7010 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_114_101_100_111_95_110_111_110_100_101_116_95_95_91_50_93_95_48_2_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 7028 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_114_101_100_111_95_110_111_110_100_101_116_95_95_91_50_93_95_48_2_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 7046 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_114_101_100_111_95_110_111_110_100_101_116_95_95_91_50_93_95_48_2_p_0

	MR_Integer X;

		{
#line 303 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack_depth;

#line 7062 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__OldDepth_9  = X;
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_114_101_100_111_95_110_111_110_100_101_116_95_95_91_50_93_95_48_2_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 7081 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 772 "ssdb.m"
        ssdb__Depth_10 = (ssdb__OldDepth_9 + (MR_Integer) 1);
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_114_101_100_111_95_110_111_110_100_101_116_95_95_91_50_93_95_48_2_p_0


		{
#line 308 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_nondet_shadow_stack_depth_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_depth_lock");
#endif

#line 7101 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_114_101_100_111_95_110_111_110_100_101_116_95_95_91_50_93_95_48_2_p_0

	MR_Integer X;

		{
#line 308 "ssdb.m"
X = ssdb__mutable_variable_nondet_shadow_stack_depth;

#line 7117 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__StackDepth_82  = X;
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_114_101_100_111_95_110_111_110_100_101_116_95_95_91_50_93_95_48_2_p_0


		{
#line 308 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_nondet_shadow_stack_depth_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_depth_lock");
#endif

#line 7136 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 811 "ssdb.m"
        {
#line 811 "ssdb.m"
          ssdb__search_nondet_stack_frame_2_7_p_0(ssdb__ProcId_3, ssdb__Depth_10, (MR_Integer) 0, ssdb__StackDepth_82, &ssdb__MaybeStackFrame_73);
        }
#line 801 "ssdb.m"
        if ((ssdb__MaybeStackFrame_73 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 802 "ssdb.m"
          {
#line 803 "ssdb.m"
            {
#line 803 "ssdb.m"
              mercury__require__error_1_p_0((MR_String) "ssdb: lookup_nondet_stack_frame");
#line 803 "ssdb.m"
              return;
            }
#line 802 "ssdb.m"
          }
#line 801 "ssdb.m"
        else
#line 800 "ssdb.m"
          ssdb__StackFrame_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__MaybeStackFrame_73, (MR_Integer) 0)));
#line 774 "ssdb.m"
        {
#line 774 "ssdb.m"
          ssdb__stack_push_3_p_0(ssdb__StackFrame_11);
        }
#line 775 "ssdb.m"
        ssdb__V_31_31 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_11, (MR_Integer) 0)));
#line 775 "ssdb.m"
        ssdb__CSN_12 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_11, (MR_Integer) 1)));
#line 775 "ssdb.m"
        ssdb__V_32_32 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_11, (MR_Integer) 2)));
#line 775 "ssdb.m"
        ssdb__V_33_33 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_11, (MR_Integer) 3)));
#line 775 "ssdb.m"
        ssdb__V_34_34 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_11, (MR_Integer) 4)));
#line 775 "ssdb.m"
        ssdb__V_35_35 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_11, (MR_Integer) 5)));
#line 775 "ssdb.m"
        ssdb__V_36_36 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_11, (MR_Integer) 6)));
#line 775 "ssdb.m"
        ssdb__V_37_37 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_11, (MR_Integer) 7)));
#line 776 "ssdb.m"
        {
#line 776 "ssdb.m"
          ssdb__should_stop_at_this_event_8_p_0((MR_Integer) 5, ssdb__EventNum_8, ssdb__CSN_12, ssdb__ProcId_3, &ssdb__Stop_13, &ssdb___AutoRetry_14);
        }
#line 785 "ssdb.m"
        if ((ssdb__Stop_13 == (MR_Integer) 0))
#line 786 "ssdb.m"
          {
#line 786 "ssdb.m"
          }
#line 785 "ssdb.m"
        else
#line 779 "ssdb.m"
          {
#line 779 "ssdb.m"
            MR_Word ssdb__WhatNext_15;
#line 783 "ssdb.m"
            MR_Word ssdb___Retry_16;

#line 780 "ssdb.m"
            {
#line 780 "ssdb.m"
              ssdb__save_streams_2_p_0();
            }
#line 781 "ssdb.m"
            {
#line 781 "ssdb.m"
              ssdb__print_event_info_4_p_0((MR_Integer) 5, ssdb__EventNum_8);
            }
#line 782 "ssdb.m"
            {
#line 782 "ssdb.m"
              ssdb__read_and_execute_cmd_5_p_0((MR_Integer) 5, (MR_Integer) 0, &ssdb__WhatNext_15);
            }
#line 783 "ssdb.m"
            {
#line 783 "ssdb.m"
              ssdb__update_next_stop_6_p_0(ssdb__EventNum_8, ssdb__CSN_12, ssdb__WhatNext_15, &ssdb___Retry_16);
            }
#line 784 "ssdb.m"
            {
#line 784 "ssdb.m"
              ssdb__restore_streams_2_p_0();
            }
#line 779 "ssdb.m"
          }
#line 768 "ssdb.m"
      }
#line 3462 "ssdb.m"
    {
#line 3462 "ssdb.m"
      mercury__builtin__impure_true_0_p_0();
#line 3462 "ssdb.m"
      return;
    }
#line 765 "ssdb.m"
  }
#line 113 "ssdb.m"
}

#line 108 "ssdb.m"
void MR_CALL 
ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0(
#line 108 "ssdb.m"
  MR_Word ssdb__ProcId_4,
#line 108 "ssdb.m"
  MR_Word * ssdb__Retry_6)
#line 108 "ssdb.m"
{
#line 716 "ssdb.m"
  {
#line 716 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 716 "ssdb.m"
    MR_Word ssdb__DebuggerState_8;

#line 3455 "ssdb.m"
    mercury__private_builtin__dummy_var = mercury__private_builtin__dummy_var;
#line 3456 "ssdb.m"
    {
#line 3456 "ssdb.m"
      mercury__builtin__impure_true_0_p_0();
    }
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0


		{
#line 357 "ssdb.m"

#line 7277 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0

	MR_Word X;

		{
#line 357 "ssdb.m"
MR_get_thread_local_mutable(MR_Word, X, ssdb__mutable_variable_debugger_state);

#line 7293 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__DebuggerState_8  = X;
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0


		{
#line 357 "ssdb.m"

#line 7308 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 721 "ssdb.m"
    if ((ssdb__DebuggerState_8 == (MR_Integer) 0))
#line 723 "ssdb.m"
      *ssdb__Retry_6 = (MR_Integer) 1;
#line 721 "ssdb.m"
    else
#line 719 "ssdb.m"
      {
#line 719 "ssdb.m"
        MR_Integer ssdb__EventNum_29;
#line 719 "ssdb.m"
        MR_Integer ssdb__CSN_30;
#line 719 "ssdb.m"
        MR_Word ssdb__Stop_31;
#line 719 "ssdb.m"
        MR_Word ssdb__AutoRetry_32;
#line 719 "ssdb.m"
        MR_Integer ssdb__EventNum0_49;
#line 719 "ssdb.m"
        MR_Word ssdb__Frame_61;
#line 719 "ssdb.m"
        MR_Word ssdb__Stack_74;
#line 989 "ssdb.m"
        MR_Integer ssdb__V_63_63;
#line 989 "ssdb.m"
        MR_Integer ssdb__V_64_64;
#line 989 "ssdb.m"
        MR_Word ssdb__V_65_65;
#line 989 "ssdb.m"
        MR_String ssdb__V_66_66;
#line 989 "ssdb.m"
        MR_Integer ssdb__V_67_67;
#line 989 "ssdb.m"
        MR_Word ssdb__V_68_68;
#line 989 "ssdb.m"
        MR_Word ssdb__V_69_69;

#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 7363 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0

	MR_Integer X;

		{
#line 292 "ssdb.m"
X = ssdb__mutable_variable_cur_ssdb_event_number;

#line 7379 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__EventNum0_49  = X;
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 7398 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 969 "ssdb.m"
        ssdb__EventNum_29 = (ssdb__EventNum0_49 + (MR_Integer) 1);
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 7418 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0

	MR_Integer X;

	X =  ssdb__EventNum_29 ;
		{
#line 292 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_event_number = X;

#line 7435 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 7453 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 7471 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 7487 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_74  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 7506 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 981 "ssdb.m"
        if ((ssdb__Stack_74 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 979 "ssdb.m"
          {
#line 980 "ssdb.m"
            {
#line 980 "ssdb.m"
              mercury__require__error_1_p_0((MR_String) "ssdb: stack_top on empty stack");
#line 980 "ssdb.m"
              return;
            }
#line 979 "ssdb.m"
          }
#line 981 "ssdb.m"
        else
#line 982 "ssdb.m"
          {
#line 982 "ssdb.m"
            MR_Word ssdb__V_75_75;

#line 982 "ssdb.m"
            ssdb__Frame_61 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_74, (MR_Integer) 0)));
#line 982 "ssdb.m"
            ssdb__V_75_75 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_74, (MR_Integer) 1)));
#line 982 "ssdb.m"
          }
#line 989 "ssdb.m"
        ssdb__V_63_63 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 0)));
#line 989 "ssdb.m"
        ssdb__CSN_30 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 1)));
#line 989 "ssdb.m"
        ssdb__V_64_64 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 2)));
#line 989 "ssdb.m"
        ssdb__V_65_65 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 3)));
#line 989 "ssdb.m"
        ssdb__V_66_66 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 4)));
#line 989 "ssdb.m"
        ssdb__V_67_67 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 5)));
#line 989 "ssdb.m"
        ssdb__V_68_68 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 6)));
#line 989 "ssdb.m"
        ssdb__V_69_69 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 7)));
#line 736 "ssdb.m"
        {
#line 736 "ssdb.m"
          ssdb__should_stop_at_this_event_8_p_0((MR_Integer) 6, ssdb__EventNum_29, ssdb__CSN_30, ssdb__ProcId_4, &ssdb__Stop_31, &ssdb__AutoRetry_32);
        }
#line 751 "ssdb.m"
        if ((ssdb__Stop_31 == (MR_Integer) 0))
#line 753 "ssdb.m"
          *ssdb__Retry_6 = (MR_Integer) 1;
#line 751 "ssdb.m"
        else
#line 739 "ssdb.m"
          {
#line 739 "ssdb.m"
            MR_Word ssdb__WhatNext_33;

#line 743 "ssdb.m"
            if ((ssdb__AutoRetry_32 == (MR_Integer) 1))
#line 744 "ssdb.m"
              {
#line 744 "ssdb.m"
                MR_Word ssdb__TTY_in_83;
#line 744 "ssdb.m"
                MR_Word ssdb__TTY_out_84;
#line 744 "ssdb.m"
                MR_Word ssdb__OldInputStream_85;
#line 744 "ssdb.m"
                MR_Word ssdb__OldOutputStream_86;

#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0


		{
#line 342 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_tty_in_lock,
                "ssdb__mutable_variable_tty_in_lock");
#endif

#line 7595 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 342 "ssdb.m"
}
#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0

	MR_Word X;

		{
#line 342 "ssdb.m"
X = ssdb__mutable_variable_tty_in;

#line 7611 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__TTY_in_83  = X;
#line 342 "ssdb.m"
}
#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0


		{
#line 342 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_tty_in_lock,
                "ssdb__mutable_variable_tty_in_lock");
#endif

#line 7630 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 342 "ssdb.m"
}
#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0


		{
#line 344 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_tty_out_lock,
                "ssdb__mutable_variable_tty_out_lock");
#endif

#line 7648 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 344 "ssdb.m"
}
#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0

	MR_Word X;

		{
#line 344 "ssdb.m"
X = ssdb__mutable_variable_tty_out;

#line 7664 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__TTY_out_84  = X;
#line 344 "ssdb.m"
}
#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0


		{
#line 344 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_tty_out_lock,
                "ssdb__mutable_variable_tty_out_lock");
#endif

#line 7683 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 344 "ssdb.m"
}
#line 3471 "ssdb.m"
                {
#line 3471 "ssdb.m"
                  mercury__io__set_input_stream_4_p_0(ssdb__TTY_in_83, &ssdb__OldInputStream_85);
                }
#line 3472 "ssdb.m"
                {
#line 3472 "ssdb.m"
                  mercury__io__set_output_stream_4_p_0(ssdb__TTY_out_84, &ssdb__OldOutputStream_86);
                }
#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0


		{
#line 347 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_saved_input_stream_lock,
                "ssdb__mutable_variable_saved_input_stream_lock");
#endif

#line 7711 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0

	MR_Word X;

	X =  ssdb__OldInputStream_85 ;
		{
#line 347 "ssdb.m"
ssdb__mutable_variable_saved_input_stream = X;

#line 7728 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0


		{
#line 347 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_saved_input_stream_lock,
                "ssdb__mutable_variable_saved_input_stream_lock");
#endif

#line 7746 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0


		{
#line 349 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_saved_output_stream_lock,
                "ssdb__mutable_variable_saved_output_stream_lock");
#endif

#line 7764 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0

	MR_Word X;

	X =  ssdb__OldOutputStream_86 ;
		{
#line 349 "ssdb.m"
ssdb__mutable_variable_saved_output_stream = X;

#line 7781 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0


		{
#line 349 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_saved_output_stream_lock,
                "ssdb__mutable_variable_saved_output_stream_lock");
#endif

#line 7799 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 746 "ssdb.m"
                {
#line 746 "ssdb.m"
                  ssdb__print_event_info_4_p_0((MR_Integer) 6, ssdb__EventNum_29);
                }
#line 1518 "ssdb.m"
                {
#line 1518 "ssdb.m"
                  ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, (MR_Integer) 6, (MR_Integer) 0, &ssdb__WhatNext_33);
                }
#line 748 "ssdb.m"
                {
#line 748 "ssdb.m"
                  ssdb__restore_streams_2_p_0();
                }
#line 744 "ssdb.m"
              }
#line 743 "ssdb.m"
            else
#line 742 "ssdb.m"
              {
#line 742 "ssdb.m"
                ssdb__WhatNext_33 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 742 "ssdb.m"
                MR_hl_field(MR_mktag(2), ssdb__WhatNext_33, 0) = ((MR_Box) (ssdb__CSN_30));
#line 742 "ssdb.m"
              }
#line 750 "ssdb.m"
            {
#line 750 "ssdb.m"
              ssdb__update_next_stop_6_p_0(ssdb__EventNum_29, ssdb__CSN_30, ssdb__WhatNext_33, ssdb__Retry_6);
            }
#line 739 "ssdb.m"
          }
#line 755 "ssdb.m"
        {
#line 755 "ssdb.m"
          ssdb__stack_pop_2_p_0();
        }
#line 760 "ssdb.m"
        {
#line 760 "ssdb.m"
          ssdb__nondet_stack_pop_2_p_0();
        }
#line 719 "ssdb.m"
      }
#line 3462 "ssdb.m"
    {
#line 3462 "ssdb.m"
      mercury__builtin__impure_true_0_p_0();
#line 3462 "ssdb.m"
      return;
    }
#line 716 "ssdb.m"
  }
#line 108 "ssdb.m"
}

#line 103 "ssdb.m"
void MR_CALL 
ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0(
#line 103 "ssdb.m"
  MR_Word ssdb__ProcId_4,
#line 103 "ssdb.m"
  MR_Word * ssdb__Retry_6)
#line 103 "ssdb.m"
{
#line 702 "ssdb.m"
  {
#line 702 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 702 "ssdb.m"
    MR_Word ssdb__DebuggerState_8;

#line 3455 "ssdb.m"
    mercury__private_builtin__dummy_var = mercury__private_builtin__dummy_var;
#line 3456 "ssdb.m"
    {
#line 3456 "ssdb.m"
      mercury__builtin__impure_true_0_p_0();
    }
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0


		{
#line 357 "ssdb.m"

#line 7894 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0

	MR_Word X;

		{
#line 357 "ssdb.m"
MR_get_thread_local_mutable(MR_Word, X, ssdb__mutable_variable_debugger_state);

#line 7910 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__DebuggerState_8  = X;
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0


		{
#line 357 "ssdb.m"

#line 7925 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 707 "ssdb.m"
    if ((ssdb__DebuggerState_8 == (MR_Integer) 0))
#line 709 "ssdb.m"
      *ssdb__Retry_6 = (MR_Integer) 1;
#line 707 "ssdb.m"
    else
#line 705 "ssdb.m"
      {
#line 705 "ssdb.m"
        MR_Integer ssdb__EventNum_29;
#line 705 "ssdb.m"
        MR_Integer ssdb__CSN_30;
#line 705 "ssdb.m"
        MR_Word ssdb__Stop_31;
#line 705 "ssdb.m"
        MR_Word ssdb__AutoRetry_32;
#line 705 "ssdb.m"
        MR_Integer ssdb__EventNum0_49;
#line 705 "ssdb.m"
        MR_Word ssdb__Frame_61;
#line 705 "ssdb.m"
        MR_Word ssdb__Stack_74;
#line 989 "ssdb.m"
        MR_Integer ssdb__V_63_63;
#line 989 "ssdb.m"
        MR_Integer ssdb__V_64_64;
#line 989 "ssdb.m"
        MR_Word ssdb__V_65_65;
#line 989 "ssdb.m"
        MR_String ssdb__V_66_66;
#line 989 "ssdb.m"
        MR_Integer ssdb__V_67_67;
#line 989 "ssdb.m"
        MR_Word ssdb__V_68_68;
#line 989 "ssdb.m"
        MR_Word ssdb__V_69_69;

#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 7980 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0

	MR_Integer X;

		{
#line 292 "ssdb.m"
X = ssdb__mutable_variable_cur_ssdb_event_number;

#line 7996 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__EventNum0_49  = X;
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 8015 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 969 "ssdb.m"
        ssdb__EventNum_29 = (ssdb__EventNum0_49 + (MR_Integer) 1);
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 8035 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0

	MR_Integer X;

	X =  ssdb__EventNum_29 ;
		{
#line 292 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_event_number = X;

#line 8052 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 8070 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 8088 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 8104 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_74  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 8123 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 981 "ssdb.m"
        if ((ssdb__Stack_74 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 979 "ssdb.m"
          {
#line 980 "ssdb.m"
            {
#line 980 "ssdb.m"
              mercury__require__error_1_p_0((MR_String) "ssdb: stack_top on empty stack");
#line 980 "ssdb.m"
              return;
            }
#line 979 "ssdb.m"
          }
#line 981 "ssdb.m"
        else
#line 982 "ssdb.m"
          {
#line 982 "ssdb.m"
            MR_Word ssdb__V_75_75;

#line 982 "ssdb.m"
            ssdb__Frame_61 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_74, (MR_Integer) 0)));
#line 982 "ssdb.m"
            ssdb__V_75_75 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_74, (MR_Integer) 1)));
#line 982 "ssdb.m"
          }
#line 989 "ssdb.m"
        ssdb__V_63_63 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 0)));
#line 989 "ssdb.m"
        ssdb__CSN_30 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 1)));
#line 989 "ssdb.m"
        ssdb__V_64_64 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 2)));
#line 989 "ssdb.m"
        ssdb__V_65_65 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 3)));
#line 989 "ssdb.m"
        ssdb__V_66_66 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 4)));
#line 989 "ssdb.m"
        ssdb__V_67_67 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 5)));
#line 989 "ssdb.m"
        ssdb__V_68_68 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 6)));
#line 989 "ssdb.m"
        ssdb__V_69_69 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 7)));
#line 736 "ssdb.m"
        {
#line 736 "ssdb.m"
          ssdb__should_stop_at_this_event_8_p_0((MR_Integer) 2, ssdb__EventNum_29, ssdb__CSN_30, ssdb__ProcId_4, &ssdb__Stop_31, &ssdb__AutoRetry_32);
        }
#line 751 "ssdb.m"
        if ((ssdb__Stop_31 == (MR_Integer) 0))
#line 753 "ssdb.m"
          *ssdb__Retry_6 = (MR_Integer) 1;
#line 751 "ssdb.m"
        else
#line 739 "ssdb.m"
          {
#line 739 "ssdb.m"
            MR_Word ssdb__WhatNext_33;

#line 743 "ssdb.m"
            if ((ssdb__AutoRetry_32 == (MR_Integer) 1))
#line 744 "ssdb.m"
              {
#line 744 "ssdb.m"
                MR_Word ssdb__TTY_in_83;
#line 744 "ssdb.m"
                MR_Word ssdb__TTY_out_84;
#line 744 "ssdb.m"
                MR_Word ssdb__OldInputStream_85;
#line 744 "ssdb.m"
                MR_Word ssdb__OldOutputStream_86;

#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0


		{
#line 342 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_tty_in_lock,
                "ssdb__mutable_variable_tty_in_lock");
#endif

#line 8212 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 342 "ssdb.m"
}
#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0

	MR_Word X;

		{
#line 342 "ssdb.m"
X = ssdb__mutable_variable_tty_in;

#line 8228 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__TTY_in_83  = X;
#line 342 "ssdb.m"
}
#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0


		{
#line 342 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_tty_in_lock,
                "ssdb__mutable_variable_tty_in_lock");
#endif

#line 8247 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 342 "ssdb.m"
}
#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0


		{
#line 344 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_tty_out_lock,
                "ssdb__mutable_variable_tty_out_lock");
#endif

#line 8265 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 344 "ssdb.m"
}
#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0

	MR_Word X;

		{
#line 344 "ssdb.m"
X = ssdb__mutable_variable_tty_out;

#line 8281 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__TTY_out_84  = X;
#line 344 "ssdb.m"
}
#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0


		{
#line 344 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_tty_out_lock,
                "ssdb__mutable_variable_tty_out_lock");
#endif

#line 8300 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 344 "ssdb.m"
}
#line 3471 "ssdb.m"
                {
#line 3471 "ssdb.m"
                  mercury__io__set_input_stream_4_p_0(ssdb__TTY_in_83, &ssdb__OldInputStream_85);
                }
#line 3472 "ssdb.m"
                {
#line 3472 "ssdb.m"
                  mercury__io__set_output_stream_4_p_0(ssdb__TTY_out_84, &ssdb__OldOutputStream_86);
                }
#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0


		{
#line 347 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_saved_input_stream_lock,
                "ssdb__mutable_variable_saved_input_stream_lock");
#endif

#line 8328 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0

	MR_Word X;

	X =  ssdb__OldInputStream_85 ;
		{
#line 347 "ssdb.m"
ssdb__mutable_variable_saved_input_stream = X;

#line 8345 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0


		{
#line 347 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_saved_input_stream_lock,
                "ssdb__mutable_variable_saved_input_stream_lock");
#endif

#line 8363 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0


		{
#line 349 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_saved_output_stream_lock,
                "ssdb__mutable_variable_saved_output_stream_lock");
#endif

#line 8381 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0

	MR_Word X;

	X =  ssdb__OldOutputStream_86 ;
		{
#line 349 "ssdb.m"
ssdb__mutable_variable_saved_output_stream = X;

#line 8398 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0


		{
#line 349 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_saved_output_stream_lock,
                "ssdb__mutable_variable_saved_output_stream_lock");
#endif

#line 8416 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 746 "ssdb.m"
                {
#line 746 "ssdb.m"
                  ssdb__print_event_info_4_p_0((MR_Integer) 2, ssdb__EventNum_29);
                }
#line 1518 "ssdb.m"
                {
#line 1518 "ssdb.m"
                  ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, (MR_Integer) 2, (MR_Integer) 0, &ssdb__WhatNext_33);
                }
#line 748 "ssdb.m"
                {
#line 748 "ssdb.m"
                  ssdb__restore_streams_2_p_0();
                }
#line 744 "ssdb.m"
              }
#line 743 "ssdb.m"
            else
#line 742 "ssdb.m"
              {
#line 742 "ssdb.m"
                ssdb__WhatNext_33 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 742 "ssdb.m"
                MR_hl_field(MR_mktag(2), ssdb__WhatNext_33, 0) = ((MR_Box) (ssdb__CSN_30));
#line 742 "ssdb.m"
              }
#line 750 "ssdb.m"
            {
#line 750 "ssdb.m"
              ssdb__update_next_stop_6_p_0(ssdb__EventNum_29, ssdb__CSN_30, ssdb__WhatNext_33, ssdb__Retry_6);
            }
#line 739 "ssdb.m"
          }
#line 755 "ssdb.m"
        {
#line 755 "ssdb.m"
          ssdb__stack_pop_2_p_0();
        }
#line 705 "ssdb.m"
      }
#line 3462 "ssdb.m"
    {
#line 3462 "ssdb.m"
      mercury__builtin__impure_true_0_p_0();
#line 3462 "ssdb.m"
      return;
    }
#line 702 "ssdb.m"
  }
#line 103 "ssdb.m"
}

#line 3407 "ssdb.m"
static void MR_CALL 
ssdb__process_short_options__ho6_4_p_0(
#line 3407 "ssdb.m"
  MR_Word ssdb__Chars_6,
#line 3407 "ssdb.m"
  MR_Word ssdb__Data0_7,
#line 3407 "ssdb.m"
  MR_Word * ssdb__Res_8)
#line 3407 "ssdb.m"
{
#line 3415 "ssdb.m"
  while (MR_TRUE)
#line 3415 "ssdb.m"
    {
#line 3415 "ssdb.m"
      /* tailcall optimized into a loop */
#line 3415 "ssdb.m"
      {
#line 3415 "ssdb.m"
        MR_bool ssdb__succeeded;

#line 3415 "ssdb.m"
        if ((ssdb__Chars_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3414 "ssdb.m"
          {
#line 3414 "ssdb.m"
            MR_Word base;
#line 3414 "ssdb.m"
            base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 3414 "ssdb.m"
            *ssdb__Res_8 = base;
#line 3414 "ssdb.m"
            MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (ssdb__Data0_7));
#line 3414 "ssdb.m"
          }
#line 3415 "ssdb.m"
        else
#line 3416 "ssdb.m"
          {
#line 3416 "ssdb.m"
            MR_Char ssdb__C_9 = ((MR_Char) (MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Chars_6, (MR_Integer) 0)));
#line 3416 "ssdb.m"
            MR_Word ssdb__Cs_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Chars_6, (MR_Integer) 1)));
#line 3416 "ssdb.m"
            MR_String ssdb__Option_11;
#line 3416 "ssdb.m"
            MR_Word ssdb__V_14_14;
#line 3416 "ssdb.m"
            MR_Word ssdb__V_16_16;
#line 3420 "ssdb.m"
            MR_Word ssdb__Data1_12;

#line 3417 "ssdb.m"
            {
#line 3417 "ssdb.m"
              ssdb__V_16_16 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3417 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__V_16_16, 0) = ((MR_Box) (MR_Word) (ssdb__C_9));
#line 3417 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__V_16_16, 1) = ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 3417 "ssdb.m"
            }
#line 3417 "ssdb.m"
            {
#line 3417 "ssdb.m"
              ssdb__V_14_14 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3417 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__V_14_14, 0) = ((MR_Box) (MR_Word) ((MR_Char) 45));
#line 3417 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__V_14_14, 1) = ((MR_Box) (ssdb__V_16_16));
#line 3417 "ssdb.m"
            }
#line 3417 "ssdb.m"
            {
#line 3417 "ssdb.m"
              ssdb__Option_11 = mercury__string__from_char_list_1_f_0(ssdb__V_14_14);
            }
#line 3418 "ssdb.m"
            {
#line 3418 "ssdb.m"
              ssdb__succeeded = ssdb__format_param_options_3_p_0(ssdb__Option_11, ssdb__Data0_7, &ssdb__Data1_12);
            }
#line 3420 "ssdb.m"
            if (ssdb__succeeded)
#line 3419 "ssdb.m"
              {
#line 3419 "ssdb.m"
                /* direct tailcall eliminated */
#line 3419 "ssdb.m"
                {
#line 3419 "ssdb.m"
                  MR_Word ssdb__Chars__tmp_copy_6 = ssdb__Cs_10;
#line 3419 "ssdb.m"
                  MR_Word ssdb__Data0__tmp_copy_7 = ssdb__Data1_12;

#line 3419 "ssdb.m"
                  ssdb__Data0_7 = ssdb__Data0__tmp_copy_7;
#line 3419 "ssdb.m"
                  ssdb__Chars_6 = ssdb__Chars__tmp_copy_6;
#line 3419 "ssdb.m"
                }
#line 3419 "ssdb.m"
                continue;
#line 3419 "ssdb.m"
              }
#line 3420 "ssdb.m"
            else
#line 3421 "ssdb.m"
              {
#line 3421 "ssdb.m"
                MR_String ssdb__Message_13;
#line 3421 "ssdb.m"
                MR_String ssdb__V_19_19;
#line 3421 "ssdb.m"
                MR_Word ssdb__V_21_21;

#line 3421 "ssdb.m"
                {
#line 3421 "ssdb.m"
                  ssdb__V_19_19 = mercury__string__f_43_43_2_f_0(ssdb__Option_11, (MR_String) "\'");
                }
#line 3421 "ssdb.m"
                {
#line 3421 "ssdb.m"
                  ssdb__Message_13 = mercury__string__f_43_43_2_f_0((MR_String) "unrecognised option \140", ssdb__V_19_19);
                }
#line 3422 "ssdb.m"
                {
#line 3422 "ssdb.m"
                  ssdb__V_21_21 = mercury__io__make_io_error_1_f_0(ssdb__Message_13);
                }
#line 3422 "ssdb.m"
                {
#line 3422 "ssdb.m"
                  MR_Word base;
#line 3422 "ssdb.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 3422 "ssdb.m"
                  *ssdb__Res_8 = base;
#line 3422 "ssdb.m"
                  MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (ssdb__V_21_21));
#line 3422 "ssdb.m"
                }
#line 3421 "ssdb.m"
              }
#line 3416 "ssdb.m"
          }
#line 3415 "ssdb.m"
      }
#line 3415 "ssdb.m"
      break;
#line 3415 "ssdb.m"
    }
#line 3407 "ssdb.m"
}

#line 3407 "ssdb.m"
static void MR_CALL 
ssdb__process_short_options__ho5_4_p_0(
#line 3407 "ssdb.m"
  MR_Word ssdb__Chars_6,
#line 3407 "ssdb.m"
  MR_Word ssdb__Data0_7,
#line 3407 "ssdb.m"
  MR_Word * ssdb__Res_8)
#line 3407 "ssdb.m"
{
#line 3415 "ssdb.m"
  while (MR_TRUE)
#line 3415 "ssdb.m"
    {
#line 3415 "ssdb.m"
      /* tailcall optimized into a loop */
#line 3415 "ssdb.m"
      {
#line 3415 "ssdb.m"
        MR_bool ssdb__succeeded;

#line 3415 "ssdb.m"
        if ((ssdb__Chars_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3414 "ssdb.m"
          {
#line 3414 "ssdb.m"
            MR_Word base;
#line 3414 "ssdb.m"
            base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 3414 "ssdb.m"
            *ssdb__Res_8 = base;
#line 3414 "ssdb.m"
            MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (ssdb__Data0_7));
#line 3414 "ssdb.m"
          }
#line 3415 "ssdb.m"
        else
#line 3416 "ssdb.m"
          {
#line 3416 "ssdb.m"
            MR_Char ssdb__C_9 = ((MR_Char) (MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Chars_6, (MR_Integer) 0)));
#line 3416 "ssdb.m"
            MR_Word ssdb__Cs_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Chars_6, (MR_Integer) 1)));
#line 3416 "ssdb.m"
            MR_String ssdb__Option_11;
#line 3416 "ssdb.m"
            MR_Word ssdb__V_14_14;
#line 3416 "ssdb.m"
            MR_Word ssdb__V_16_16;
#line 3420 "ssdb.m"
            MR_Word ssdb__Data1_12;

#line 3417 "ssdb.m"
            {
#line 3417 "ssdb.m"
              ssdb__V_16_16 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3417 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__V_16_16, 0) = ((MR_Box) (MR_Word) (ssdb__C_9));
#line 3417 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__V_16_16, 1) = ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 3417 "ssdb.m"
            }
#line 3417 "ssdb.m"
            {
#line 3417 "ssdb.m"
              ssdb__V_14_14 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3417 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__V_14_14, 0) = ((MR_Box) (MR_Word) ((MR_Char) 45));
#line 3417 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__V_14_14, 1) = ((MR_Box) (ssdb__V_16_16));
#line 3417 "ssdb.m"
            }
#line 3417 "ssdb.m"
            {
#line 3417 "ssdb.m"
              ssdb__Option_11 = mercury__string__from_char_list_1_f_0(ssdb__V_14_14);
            }
#line 3418 "ssdb.m"
            {
#line 3418 "ssdb.m"
              ssdb__succeeded = ssdb__format_options_3_p_0(ssdb__Option_11, ssdb__Data0_7, &ssdb__Data1_12);
            }
#line 3420 "ssdb.m"
            if (ssdb__succeeded)
#line 3419 "ssdb.m"
              {
#line 3419 "ssdb.m"
                /* direct tailcall eliminated */
#line 3419 "ssdb.m"
                {
#line 3419 "ssdb.m"
                  MR_Word ssdb__Chars__tmp_copy_6 = ssdb__Cs_10;
#line 3419 "ssdb.m"
                  MR_Word ssdb__Data0__tmp_copy_7 = ssdb__Data1_12;

#line 3419 "ssdb.m"
                  ssdb__Data0_7 = ssdb__Data0__tmp_copy_7;
#line 3419 "ssdb.m"
                  ssdb__Chars_6 = ssdb__Chars__tmp_copy_6;
#line 3419 "ssdb.m"
                }
#line 3419 "ssdb.m"
                continue;
#line 3419 "ssdb.m"
              }
#line 3420 "ssdb.m"
            else
#line 3421 "ssdb.m"
              {
#line 3421 "ssdb.m"
                MR_String ssdb__Message_13;
#line 3421 "ssdb.m"
                MR_String ssdb__V_19_19;
#line 3421 "ssdb.m"
                MR_Word ssdb__V_21_21;

#line 3421 "ssdb.m"
                {
#line 3421 "ssdb.m"
                  ssdb__V_19_19 = mercury__string__f_43_43_2_f_0(ssdb__Option_11, (MR_String) "\'");
                }
#line 3421 "ssdb.m"
                {
#line 3421 "ssdb.m"
                  ssdb__Message_13 = mercury__string__f_43_43_2_f_0((MR_String) "unrecognised option \140", ssdb__V_19_19);
                }
#line 3422 "ssdb.m"
                {
#line 3422 "ssdb.m"
                  ssdb__V_21_21 = mercury__io__make_io_error_1_f_0(ssdb__Message_13);
                }
#line 3422 "ssdb.m"
                {
#line 3422 "ssdb.m"
                  MR_Word base;
#line 3422 "ssdb.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 3422 "ssdb.m"
                  *ssdb__Res_8 = base;
#line 3422 "ssdb.m"
                  MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (ssdb__V_21_21));
#line 3422 "ssdb.m"
                }
#line 3421 "ssdb.m"
              }
#line 3416 "ssdb.m"
          }
#line 3415 "ssdb.m"
      }
#line 3415 "ssdb.m"
      break;
#line 3415 "ssdb.m"
    }
#line 3407 "ssdb.m"
}

#line 3407 "ssdb.m"
static void MR_CALL 
ssdb__process_short_options__ho4_4_p_0(
#line 3407 "ssdb.m"
  MR_Word ssdb__Chars_6,
#line 3407 "ssdb.m"
  MR_Word ssdb__Data0_7,
#line 3407 "ssdb.m"
  MR_Word * ssdb__Res_8)
#line 3407 "ssdb.m"
{
#line 3415 "ssdb.m"
  while (MR_TRUE)
#line 3415 "ssdb.m"
    {
#line 3415 "ssdb.m"
      /* tailcall optimized into a loop */
#line 3415 "ssdb.m"
      {
#line 3415 "ssdb.m"
        MR_bool ssdb__succeeded;

#line 3415 "ssdb.m"
        if ((ssdb__Chars_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3414 "ssdb.m"
          {
#line 3414 "ssdb.m"
            MR_Word base;
#line 3414 "ssdb.m"
            base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 3414 "ssdb.m"
            *ssdb__Res_8 = base;
#line 3414 "ssdb.m"
            MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (ssdb__Data0_7));
#line 3414 "ssdb.m"
          }
#line 3415 "ssdb.m"
        else
#line 3416 "ssdb.m"
          {
#line 3416 "ssdb.m"
            MR_Char ssdb__C_9 = ((MR_Char) (MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Chars_6, (MR_Integer) 0)));
#line 3416 "ssdb.m"
            MR_Word ssdb__Cs_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Chars_6, (MR_Integer) 1)));
#line 3416 "ssdb.m"
            MR_String ssdb__Option_11;
#line 3416 "ssdb.m"
            MR_Word ssdb__V_14_14;
#line 3416 "ssdb.m"
            MR_Word ssdb__V_16_16;
#line 3420 "ssdb.m"
            MR_Word ssdb__Data1_12;

#line 3417 "ssdb.m"
            {
#line 3417 "ssdb.m"
              ssdb__V_16_16 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3417 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__V_16_16, 0) = ((MR_Box) (MR_Word) (ssdb__C_9));
#line 3417 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__V_16_16, 1) = ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 3417 "ssdb.m"
            }
#line 3417 "ssdb.m"
            {
#line 3417 "ssdb.m"
              ssdb__V_14_14 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3417 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__V_14_14, 0) = ((MR_Box) (MR_Word) ((MR_Char) 45));
#line 3417 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__V_14_14, 1) = ((MR_Box) (ssdb__V_16_16));
#line 3417 "ssdb.m"
            }
#line 3417 "ssdb.m"
            {
#line 3417 "ssdb.m"
              ssdb__Option_11 = mercury__string__from_char_list_1_f_0(ssdb__V_14_14);
            }
#line 3418 "ssdb.m"
            {
#line 3418 "ssdb.m"
              ssdb__succeeded = ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_112_114_105_110_116_95_111_112_116_105_111_110_115_95_95_91_50_93_95_48_3_p_0(ssdb__Option_11, &ssdb__Data1_12);
            }
#line 3420 "ssdb.m"
            if (ssdb__succeeded)
#line 3419 "ssdb.m"
              {
#line 3419 "ssdb.m"
                /* direct tailcall eliminated */
#line 3419 "ssdb.m"
                {
#line 3419 "ssdb.m"
                  MR_Word ssdb__Chars__tmp_copy_6 = ssdb__Cs_10;
#line 3419 "ssdb.m"
                  MR_Word ssdb__Data0__tmp_copy_7 = ssdb__Data1_12;

#line 3419 "ssdb.m"
                  ssdb__Data0_7 = ssdb__Data0__tmp_copy_7;
#line 3419 "ssdb.m"
                  ssdb__Chars_6 = ssdb__Chars__tmp_copy_6;
#line 3419 "ssdb.m"
                }
#line 3419 "ssdb.m"
                continue;
#line 3419 "ssdb.m"
              }
#line 3420 "ssdb.m"
            else
#line 3421 "ssdb.m"
              {
#line 3421 "ssdb.m"
                MR_String ssdb__Message_13;
#line 3421 "ssdb.m"
                MR_String ssdb__V_19_19;
#line 3421 "ssdb.m"
                MR_Word ssdb__V_21_21;

#line 3421 "ssdb.m"
                {
#line 3421 "ssdb.m"
                  ssdb__V_19_19 = mercury__string__f_43_43_2_f_0(ssdb__Option_11, (MR_String) "\'");
                }
#line 3421 "ssdb.m"
                {
#line 3421 "ssdb.m"
                  ssdb__Message_13 = mercury__string__f_43_43_2_f_0((MR_String) "unrecognised option \140", ssdb__V_19_19);
                }
#line 3422 "ssdb.m"
                {
#line 3422 "ssdb.m"
                  ssdb__V_21_21 = mercury__io__make_io_error_1_f_0(ssdb__Message_13);
                }
#line 3422 "ssdb.m"
                {
#line 3422 "ssdb.m"
                  MR_Word base;
#line 3422 "ssdb.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 3422 "ssdb.m"
                  *ssdb__Res_8 = base;
#line 3422 "ssdb.m"
                  MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (ssdb__V_21_21));
#line 3422 "ssdb.m"
                }
#line 3421 "ssdb.m"
              }
#line 3416 "ssdb.m"
          }
#line 3415 "ssdb.m"
      }
#line 3415 "ssdb.m"
      break;
#line 3415 "ssdb.m"
    }
#line 3407 "ssdb.m"
}

#line 3369 "ssdb.m"
static void MR_CALL 
ssdb__process_options__ho3_5_p_0(
#line 3369 "ssdb.m"
  MR_Word ssdb__Args0_7,
#line 3369 "ssdb.m"
  MR_Word * ssdb__Args_8,
#line 3369 "ssdb.m"
  MR_Word ssdb__Data0_9,
#line 3369 "ssdb.m"
  MR_Word * ssdb__Res_10)
#line 3369 "ssdb.m"
{
#line 3377 "ssdb.m"
  while (MR_TRUE)
#line 3377 "ssdb.m"
    {
#line 3377 "ssdb.m"
      /* tailcall optimized into a loop */
#line 3377 "ssdb.m"
      {
#line 3377 "ssdb.m"
        MR_bool ssdb__succeeded;

#line 3377 "ssdb.m"
        if ((ssdb__Args0_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3374 "ssdb.m"
          {
#line 3375 "ssdb.m"
            *ssdb__Args_8 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3376 "ssdb.m"
            {
#line 3376 "ssdb.m"
              MR_Word base;
#line 3376 "ssdb.m"
              base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 3376 "ssdb.m"
              *ssdb__Res_10 = base;
#line 3376 "ssdb.m"
              MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (ssdb__Data0_9));
#line 3376 "ssdb.m"
            }
#line 3374 "ssdb.m"
          }
#line 3377 "ssdb.m"
        else
#line 3378 "ssdb.m"
          {
#line 3378 "ssdb.m"
            MR_String ssdb__First_11 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args0_7, (MR_Integer) 0)));
#line 3378 "ssdb.m"
            MR_Word ssdb__Rest_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args0_7, (MR_Integer) 1)));

#line 3379 "ssdb.m"
            {
#line 3379 "ssdb.m"
              ssdb__succeeded = mercury__string__prefix_2_p_0(ssdb__First_11, (MR_String) "--");
            }
#line 3387 "ssdb.m"
            if (ssdb__succeeded)
#line 3382 "ssdb.m"
              {
#line 3382 "ssdb.m"
                MR_Word ssdb__Data1_13;

#line 3380 "ssdb.m"
                {
#line 3380 "ssdb.m"
                  ssdb__succeeded = ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_112_114_105_110_116_95_111_112_116_105_111_110_115_95_95_91_50_93_95_48_3_p_0(ssdb__First_11, &ssdb__Data1_13);
                }
#line 3382 "ssdb.m"
                if (ssdb__succeeded)
#line 3381 "ssdb.m"
                  {
#line 3381 "ssdb.m"
                    /* direct tailcall eliminated */
#line 3381 "ssdb.m"
                    {
#line 3381 "ssdb.m"
                      MR_Word ssdb__Args0__tmp_copy_7 = ssdb__Rest_12;
#line 3381 "ssdb.m"
                      MR_Word ssdb__Data0__tmp_copy_9 = ssdb__Data1_13;

#line 3381 "ssdb.m"
                      ssdb__Data0_9 = ssdb__Data0__tmp_copy_9;
#line 3381 "ssdb.m"
                      ssdb__Args0_7 = ssdb__Args0__tmp_copy_7;
#line 3381 "ssdb.m"
                    }
#line 3381 "ssdb.m"
                    continue;
#line 3381 "ssdb.m"
                  }
#line 3382 "ssdb.m"
                else
#line 3383 "ssdb.m"
                  {
#line 3383 "ssdb.m"
                    MR_String ssdb__Message_14;
#line 3383 "ssdb.m"
                    MR_String ssdb__V_24_24;
#line 3383 "ssdb.m"
                    MR_Word ssdb__V_26_26;

#line 3383 "ssdb.m"
                    {
#line 3383 "ssdb.m"
                      ssdb__V_24_24 = mercury__string__f_43_43_2_f_0(ssdb__First_11, (MR_String) "\'");
                    }
#line 3383 "ssdb.m"
                    {
#line 3383 "ssdb.m"
                      ssdb__Message_14 = mercury__string__f_43_43_2_f_0((MR_String) "unrecognised option \140", ssdb__V_24_24);
                    }
#line 3384 "ssdb.m"
                    {
#line 3384 "ssdb.m"
                      ssdb__V_26_26 = mercury__io__make_io_error_1_f_0(ssdb__Message_14);
                    }
#line 3384 "ssdb.m"
                    {
#line 3384 "ssdb.m"
                      MR_Word base;
#line 3384 "ssdb.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 3384 "ssdb.m"
                      *ssdb__Res_10 = base;
#line 3384 "ssdb.m"
                      MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (ssdb__V_26_26));
#line 3384 "ssdb.m"
                    }
#line 3385 "ssdb.m"
                    *ssdb__Args_8 = ssdb__Args0_7;
#line 3383 "ssdb.m"
                  }
#line 3382 "ssdb.m"
              }
#line 3387 "ssdb.m"
            else
#line 3401 "ssdb.m"
              {
#line 3401 "ssdb.m"
                MR_Word ssdb__FirstChars_16;
#line 3388 "ssdb.m"
                MR_Word ssdb__V_28_28;
#line 3389 "ssdb.m"
                MR_Char ssdb__V_15_15;
#line 3390 "ssdb.m"
                MR_Char ssdb__V_17_17;
#line 3390 "ssdb.m"
                MR_Word ssdb__V_18_18;

#line 3388 "ssdb.m"
                {
#line 3388 "ssdb.m"
                  ssdb__succeeded = mercury__string__prefix_2_p_0(ssdb__First_11, (MR_String) "-");
                }
#line 3388 "ssdb.m"
                if (ssdb__succeeded)
#line 3388 "ssdb.m"
                  {
#line 3389 "ssdb.m"
                    {
#line 3389 "ssdb.m"
                      mercury__string__to_char_list_2_p_0(ssdb__First_11, &ssdb__V_28_28);
                    }
#line 3389 "ssdb.m"
                    ssdb__succeeded = ((MR_tag((MR_Word) ssdb__V_28_28)) == (MR_mktag((MR_Integer) 1)));
#line 3389 "ssdb.m"
                    if (ssdb__succeeded)
#line 3389 "ssdb.m"
                      {
#line 3389 "ssdb.m"
                        ssdb__V_15_15 = ((MR_Char) (MR_Word) (MR_hl_field(MR_mktag(1), ssdb__V_28_28, (MR_Integer) 0)));
#line 3389 "ssdb.m"
                        ssdb__FirstChars_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__V_28_28, (MR_Integer) 1)));
#line 3390 "ssdb.m"
                        ssdb__succeeded = ((MR_tag((MR_Word) ssdb__FirstChars_16)) == (MR_mktag((MR_Integer) 1)));
#line 3390 "ssdb.m"
                        if (ssdb__succeeded)
#line 3390 "ssdb.m"
                          {
#line 3390 "ssdb.m"
                            ssdb__V_17_17 = ((MR_Char) (MR_Word) (MR_hl_field(MR_mktag(1), ssdb__FirstChars_16, (MR_Integer) 0)));
#line 3390 "ssdb.m"
                            ssdb__V_18_18 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__FirstChars_16, (MR_Integer) 1)));
#line 3390 "ssdb.m"
                          }
#line 3389 "ssdb.m"
                      }
#line 3388 "ssdb.m"
                  }
#line 3401 "ssdb.m"
                if (ssdb__succeeded)
#line 3392 "ssdb.m"
                  {
#line 3392 "ssdb.m"
                    MR_Word ssdb__Res1_19;

#line 3392 "ssdb.m"
                    {
#line 3392 "ssdb.m"
                      ssdb__process_short_options__ho4_4_p_0(ssdb__FirstChars_16, ssdb__Data0_9, &ssdb__Res1_19);
                    }
#line 3396 "ssdb.m"
                    if (((MR_tag((MR_Word) ssdb__Res1_19)) == (MR_mktag((MR_Integer) 1))))
#line 3397 "ssdb.m"
                      {
#line 3398 "ssdb.m"
                        *ssdb__Res_10 = ssdb__Res1_19;
#line 3399 "ssdb.m"
                        *ssdb__Args_8 = ssdb__Args0_7;
#line 3397 "ssdb.m"
                      }
#line 3396 "ssdb.m"
                    else
#line 3394 "ssdb.m"
                      {
#line 3394 "ssdb.m"
                        MR_Word ssdb__Data1_29 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Res1_19, (MR_Integer) 0)));

#line 3395 "ssdb.m"
                        /* direct tailcall eliminated */
#line 3395 "ssdb.m"
                        {
#line 3395 "ssdb.m"
                          MR_Word ssdb__Args0__tmp_copy_7 = ssdb__Rest_12;
#line 3395 "ssdb.m"
                          MR_Word ssdb__Data0__tmp_copy_9 = ssdb__Data1_29;

#line 3395 "ssdb.m"
                          ssdb__Data0_9 = ssdb__Data0__tmp_copy_9;
#line 3395 "ssdb.m"
                          ssdb__Args0_7 = ssdb__Args0__tmp_copy_7;
#line 3395 "ssdb.m"
                        }
#line 3395 "ssdb.m"
                        continue;
#line 3394 "ssdb.m"
                      }
#line 3392 "ssdb.m"
                  }
#line 3401 "ssdb.m"
                else
#line 3402 "ssdb.m"
                  {
#line 3402 "ssdb.m"
                    MR_Word ssdb__Rest1_21;

#line 3402 "ssdb.m"
                    {
#line 3402 "ssdb.m"
                      ssdb__process_options__ho3_5_p_0(ssdb__Rest_12, &ssdb__Rest1_21, ssdb__Data0_9, ssdb__Res_10);
                    }
#line 3403 "ssdb.m"
                    {
#line 3403 "ssdb.m"
                      MR_Word base;
#line 3403 "ssdb.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3403 "ssdb.m"
                      *ssdb__Args_8 = base;
#line 3403 "ssdb.m"
                      MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (ssdb__First_11));
#line 3403 "ssdb.m"
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (ssdb__Rest1_21));
#line 3403 "ssdb.m"
                    }
#line 3402 "ssdb.m"
                  }
#line 3401 "ssdb.m"
              }
#line 3378 "ssdb.m"
          }
#line 3377 "ssdb.m"
      }
#line 3377 "ssdb.m"
      break;
#line 3377 "ssdb.m"
    }
#line 3369 "ssdb.m"
}

#line 3369 "ssdb.m"
static void MR_CALL 
ssdb__process_options__ho2_5_p_0(
#line 3369 "ssdb.m"
  MR_Word ssdb__Args0_7,
#line 3369 "ssdb.m"
  MR_Word * ssdb__Args_8,
#line 3369 "ssdb.m"
  MR_Word ssdb__Data0_9,
#line 3369 "ssdb.m"
  MR_Word * ssdb__Res_10)
#line 3369 "ssdb.m"
{
#line 3377 "ssdb.m"
  while (MR_TRUE)
#line 3377 "ssdb.m"
    {
#line 3377 "ssdb.m"
      /* tailcall optimized into a loop */
#line 3377 "ssdb.m"
      {
#line 3377 "ssdb.m"
        MR_bool ssdb__succeeded;

#line 3377 "ssdb.m"
        if ((ssdb__Args0_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3374 "ssdb.m"
          {
#line 3375 "ssdb.m"
            *ssdb__Args_8 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3376 "ssdb.m"
            {
#line 3376 "ssdb.m"
              MR_Word base;
#line 3376 "ssdb.m"
              base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 3376 "ssdb.m"
              *ssdb__Res_10 = base;
#line 3376 "ssdb.m"
              MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (ssdb__Data0_9));
#line 3376 "ssdb.m"
            }
#line 3374 "ssdb.m"
          }
#line 3377 "ssdb.m"
        else
#line 3378 "ssdb.m"
          {
#line 3378 "ssdb.m"
            MR_String ssdb__First_11 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args0_7, (MR_Integer) 0)));
#line 3378 "ssdb.m"
            MR_Word ssdb__Rest_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args0_7, (MR_Integer) 1)));

#line 3379 "ssdb.m"
            {
#line 3379 "ssdb.m"
              ssdb__succeeded = mercury__string__prefix_2_p_0(ssdb__First_11, (MR_String) "--");
            }
#line 3387 "ssdb.m"
            if (ssdb__succeeded)
#line 3382 "ssdb.m"
              {
#line 3382 "ssdb.m"
                MR_Word ssdb__Data1_13;

#line 3380 "ssdb.m"
                {
#line 3380 "ssdb.m"
                  ssdb__succeeded = ssdb__format_options_3_p_0(ssdb__First_11, ssdb__Data0_9, &ssdb__Data1_13);
                }
#line 3382 "ssdb.m"
                if (ssdb__succeeded)
#line 3381 "ssdb.m"
                  {
#line 3381 "ssdb.m"
                    /* direct tailcall eliminated */
#line 3381 "ssdb.m"
                    {
#line 3381 "ssdb.m"
                      MR_Word ssdb__Args0__tmp_copy_7 = ssdb__Rest_12;
#line 3381 "ssdb.m"
                      MR_Word ssdb__Data0__tmp_copy_9 = ssdb__Data1_13;

#line 3381 "ssdb.m"
                      ssdb__Data0_9 = ssdb__Data0__tmp_copy_9;
#line 3381 "ssdb.m"
                      ssdb__Args0_7 = ssdb__Args0__tmp_copy_7;
#line 3381 "ssdb.m"
                    }
#line 3381 "ssdb.m"
                    continue;
#line 3381 "ssdb.m"
                  }
#line 3382 "ssdb.m"
                else
#line 3383 "ssdb.m"
                  {
#line 3383 "ssdb.m"
                    MR_String ssdb__Message_14;
#line 3383 "ssdb.m"
                    MR_String ssdb__V_24_24;
#line 3383 "ssdb.m"
                    MR_Word ssdb__V_26_26;

#line 3383 "ssdb.m"
                    {
#line 3383 "ssdb.m"
                      ssdb__V_24_24 = mercury__string__f_43_43_2_f_0(ssdb__First_11, (MR_String) "\'");
                    }
#line 3383 "ssdb.m"
                    {
#line 3383 "ssdb.m"
                      ssdb__Message_14 = mercury__string__f_43_43_2_f_0((MR_String) "unrecognised option \140", ssdb__V_24_24);
                    }
#line 3384 "ssdb.m"
                    {
#line 3384 "ssdb.m"
                      ssdb__V_26_26 = mercury__io__make_io_error_1_f_0(ssdb__Message_14);
                    }
#line 3384 "ssdb.m"
                    {
#line 3384 "ssdb.m"
                      MR_Word base;
#line 3384 "ssdb.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 3384 "ssdb.m"
                      *ssdb__Res_10 = base;
#line 3384 "ssdb.m"
                      MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (ssdb__V_26_26));
#line 3384 "ssdb.m"
                    }
#line 3385 "ssdb.m"
                    *ssdb__Args_8 = ssdb__Args0_7;
#line 3383 "ssdb.m"
                  }
#line 3382 "ssdb.m"
              }
#line 3387 "ssdb.m"
            else
#line 3401 "ssdb.m"
              {
#line 3401 "ssdb.m"
                MR_Word ssdb__FirstChars_16;
#line 3388 "ssdb.m"
                MR_Word ssdb__V_28_28;
#line 3389 "ssdb.m"
                MR_Char ssdb__V_15_15;
#line 3390 "ssdb.m"
                MR_Char ssdb__V_17_17;
#line 3390 "ssdb.m"
                MR_Word ssdb__V_18_18;

#line 3388 "ssdb.m"
                {
#line 3388 "ssdb.m"
                  ssdb__succeeded = mercury__string__prefix_2_p_0(ssdb__First_11, (MR_String) "-");
                }
#line 3388 "ssdb.m"
                if (ssdb__succeeded)
#line 3388 "ssdb.m"
                  {
#line 3389 "ssdb.m"
                    {
#line 3389 "ssdb.m"
                      mercury__string__to_char_list_2_p_0(ssdb__First_11, &ssdb__V_28_28);
                    }
#line 3389 "ssdb.m"
                    ssdb__succeeded = ((MR_tag((MR_Word) ssdb__V_28_28)) == (MR_mktag((MR_Integer) 1)));
#line 3389 "ssdb.m"
                    if (ssdb__succeeded)
#line 3389 "ssdb.m"
                      {
#line 3389 "ssdb.m"
                        ssdb__V_15_15 = ((MR_Char) (MR_Word) (MR_hl_field(MR_mktag(1), ssdb__V_28_28, (MR_Integer) 0)));
#line 3389 "ssdb.m"
                        ssdb__FirstChars_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__V_28_28, (MR_Integer) 1)));
#line 3390 "ssdb.m"
                        ssdb__succeeded = ((MR_tag((MR_Word) ssdb__FirstChars_16)) == (MR_mktag((MR_Integer) 1)));
#line 3390 "ssdb.m"
                        if (ssdb__succeeded)
#line 3390 "ssdb.m"
                          {
#line 3390 "ssdb.m"
                            ssdb__V_17_17 = ((MR_Char) (MR_Word) (MR_hl_field(MR_mktag(1), ssdb__FirstChars_16, (MR_Integer) 0)));
#line 3390 "ssdb.m"
                            ssdb__V_18_18 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__FirstChars_16, (MR_Integer) 1)));
#line 3390 "ssdb.m"
                          }
#line 3389 "ssdb.m"
                      }
#line 3388 "ssdb.m"
                  }
#line 3401 "ssdb.m"
                if (ssdb__succeeded)
#line 3392 "ssdb.m"
                  {
#line 3392 "ssdb.m"
                    MR_Word ssdb__Res1_19;

#line 3392 "ssdb.m"
                    {
#line 3392 "ssdb.m"
                      ssdb__process_short_options__ho5_4_p_0(ssdb__FirstChars_16, ssdb__Data0_9, &ssdb__Res1_19);
                    }
#line 3396 "ssdb.m"
                    if (((MR_tag((MR_Word) ssdb__Res1_19)) == (MR_mktag((MR_Integer) 1))))
#line 3397 "ssdb.m"
                      {
#line 3398 "ssdb.m"
                        *ssdb__Res_10 = ssdb__Res1_19;
#line 3399 "ssdb.m"
                        *ssdb__Args_8 = ssdb__Args0_7;
#line 3397 "ssdb.m"
                      }
#line 3396 "ssdb.m"
                    else
#line 3394 "ssdb.m"
                      {
#line 3394 "ssdb.m"
                        MR_Word ssdb__Data1_29 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Res1_19, (MR_Integer) 0)));

#line 3395 "ssdb.m"
                        /* direct tailcall eliminated */
#line 3395 "ssdb.m"
                        {
#line 3395 "ssdb.m"
                          MR_Word ssdb__Args0__tmp_copy_7 = ssdb__Rest_12;
#line 3395 "ssdb.m"
                          MR_Word ssdb__Data0__tmp_copy_9 = ssdb__Data1_29;

#line 3395 "ssdb.m"
                          ssdb__Data0_9 = ssdb__Data0__tmp_copy_9;
#line 3395 "ssdb.m"
                          ssdb__Args0_7 = ssdb__Args0__tmp_copy_7;
#line 3395 "ssdb.m"
                        }
#line 3395 "ssdb.m"
                        continue;
#line 3394 "ssdb.m"
                      }
#line 3392 "ssdb.m"
                  }
#line 3401 "ssdb.m"
                else
#line 3402 "ssdb.m"
                  {
#line 3402 "ssdb.m"
                    MR_Word ssdb__Rest1_21;

#line 3402 "ssdb.m"
                    {
#line 3402 "ssdb.m"
                      ssdb__process_options__ho2_5_p_0(ssdb__Rest_12, &ssdb__Rest1_21, ssdb__Data0_9, ssdb__Res_10);
                    }
#line 3403 "ssdb.m"
                    {
#line 3403 "ssdb.m"
                      MR_Word base;
#line 3403 "ssdb.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3403 "ssdb.m"
                      *ssdb__Args_8 = base;
#line 3403 "ssdb.m"
                      MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (ssdb__First_11));
#line 3403 "ssdb.m"
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (ssdb__Rest1_21));
#line 3403 "ssdb.m"
                    }
#line 3402 "ssdb.m"
                  }
#line 3401 "ssdb.m"
              }
#line 3378 "ssdb.m"
          }
#line 3377 "ssdb.m"
      }
#line 3377 "ssdb.m"
      break;
#line 3377 "ssdb.m"
    }
#line 3369 "ssdb.m"
}

#line 3369 "ssdb.m"
static void MR_CALL 
ssdb__process_options__ho1_5_p_0(
#line 3369 "ssdb.m"
  MR_Word ssdb__Args0_7,
#line 3369 "ssdb.m"
  MR_Word * ssdb__Args_8,
#line 3369 "ssdb.m"
  MR_Word ssdb__Data0_9,
#line 3369 "ssdb.m"
  MR_Word * ssdb__Res_10)
#line 3369 "ssdb.m"
{
#line 3377 "ssdb.m"
  while (MR_TRUE)
#line 3377 "ssdb.m"
    {
#line 3377 "ssdb.m"
      /* tailcall optimized into a loop */
#line 3377 "ssdb.m"
      {
#line 3377 "ssdb.m"
        MR_bool ssdb__succeeded;

#line 3377 "ssdb.m"
        if ((ssdb__Args0_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3374 "ssdb.m"
          {
#line 3375 "ssdb.m"
            *ssdb__Args_8 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3376 "ssdb.m"
            {
#line 3376 "ssdb.m"
              MR_Word base;
#line 3376 "ssdb.m"
              base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 3376 "ssdb.m"
              *ssdb__Res_10 = base;
#line 3376 "ssdb.m"
              MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (ssdb__Data0_9));
#line 3376 "ssdb.m"
            }
#line 3374 "ssdb.m"
          }
#line 3377 "ssdb.m"
        else
#line 3378 "ssdb.m"
          {
#line 3378 "ssdb.m"
            MR_String ssdb__First_11 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args0_7, (MR_Integer) 0)));
#line 3378 "ssdb.m"
            MR_Word ssdb__Rest_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args0_7, (MR_Integer) 1)));

#line 3379 "ssdb.m"
            {
#line 3379 "ssdb.m"
              ssdb__succeeded = mercury__string__prefix_2_p_0(ssdb__First_11, (MR_String) "--");
            }
#line 3387 "ssdb.m"
            if (ssdb__succeeded)
#line 3382 "ssdb.m"
              {
#line 3382 "ssdb.m"
                MR_Word ssdb__Data1_13;

#line 3380 "ssdb.m"
                {
#line 3380 "ssdb.m"
                  ssdb__succeeded = ssdb__format_param_options_3_p_0(ssdb__First_11, ssdb__Data0_9, &ssdb__Data1_13);
                }
#line 3382 "ssdb.m"
                if (ssdb__succeeded)
#line 3381 "ssdb.m"
                  {
#line 3381 "ssdb.m"
                    /* direct tailcall eliminated */
#line 3381 "ssdb.m"
                    {
#line 3381 "ssdb.m"
                      MR_Word ssdb__Args0__tmp_copy_7 = ssdb__Rest_12;
#line 3381 "ssdb.m"
                      MR_Word ssdb__Data0__tmp_copy_9 = ssdb__Data1_13;

#line 3381 "ssdb.m"
                      ssdb__Data0_9 = ssdb__Data0__tmp_copy_9;
#line 3381 "ssdb.m"
                      ssdb__Args0_7 = ssdb__Args0__tmp_copy_7;
#line 3381 "ssdb.m"
                    }
#line 3381 "ssdb.m"
                    continue;
#line 3381 "ssdb.m"
                  }
#line 3382 "ssdb.m"
                else
#line 3383 "ssdb.m"
                  {
#line 3383 "ssdb.m"
                    MR_String ssdb__Message_14;
#line 3383 "ssdb.m"
                    MR_String ssdb__V_24_24;
#line 3383 "ssdb.m"
                    MR_Word ssdb__V_26_26;

#line 3383 "ssdb.m"
                    {
#line 3383 "ssdb.m"
                      ssdb__V_24_24 = mercury__string__f_43_43_2_f_0(ssdb__First_11, (MR_String) "\'");
                    }
#line 3383 "ssdb.m"
                    {
#line 3383 "ssdb.m"
                      ssdb__Message_14 = mercury__string__f_43_43_2_f_0((MR_String) "unrecognised option \140", ssdb__V_24_24);
                    }
#line 3384 "ssdb.m"
                    {
#line 3384 "ssdb.m"
                      ssdb__V_26_26 = mercury__io__make_io_error_1_f_0(ssdb__Message_14);
                    }
#line 3384 "ssdb.m"
                    {
#line 3384 "ssdb.m"
                      MR_Word base;
#line 3384 "ssdb.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 3384 "ssdb.m"
                      *ssdb__Res_10 = base;
#line 3384 "ssdb.m"
                      MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (ssdb__V_26_26));
#line 3384 "ssdb.m"
                    }
#line 3385 "ssdb.m"
                    *ssdb__Args_8 = ssdb__Args0_7;
#line 3383 "ssdb.m"
                  }
#line 3382 "ssdb.m"
              }
#line 3387 "ssdb.m"
            else
#line 3401 "ssdb.m"
              {
#line 3401 "ssdb.m"
                MR_Word ssdb__FirstChars_16;
#line 3388 "ssdb.m"
                MR_Word ssdb__V_28_28;
#line 3389 "ssdb.m"
                MR_Char ssdb__V_15_15;
#line 3390 "ssdb.m"
                MR_Char ssdb__V_17_17;
#line 3390 "ssdb.m"
                MR_Word ssdb__V_18_18;

#line 3388 "ssdb.m"
                {
#line 3388 "ssdb.m"
                  ssdb__succeeded = mercury__string__prefix_2_p_0(ssdb__First_11, (MR_String) "-");
                }
#line 3388 "ssdb.m"
                if (ssdb__succeeded)
#line 3388 "ssdb.m"
                  {
#line 3389 "ssdb.m"
                    {
#line 3389 "ssdb.m"
                      mercury__string__to_char_list_2_p_0(ssdb__First_11, &ssdb__V_28_28);
                    }
#line 3389 "ssdb.m"
                    ssdb__succeeded = ((MR_tag((MR_Word) ssdb__V_28_28)) == (MR_mktag((MR_Integer) 1)));
#line 3389 "ssdb.m"
                    if (ssdb__succeeded)
#line 3389 "ssdb.m"
                      {
#line 3389 "ssdb.m"
                        ssdb__V_15_15 = ((MR_Char) (MR_Word) (MR_hl_field(MR_mktag(1), ssdb__V_28_28, (MR_Integer) 0)));
#line 3389 "ssdb.m"
                        ssdb__FirstChars_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__V_28_28, (MR_Integer) 1)));
#line 3390 "ssdb.m"
                        ssdb__succeeded = ((MR_tag((MR_Word) ssdb__FirstChars_16)) == (MR_mktag((MR_Integer) 1)));
#line 3390 "ssdb.m"
                        if (ssdb__succeeded)
#line 3390 "ssdb.m"
                          {
#line 3390 "ssdb.m"
                            ssdb__V_17_17 = ((MR_Char) (MR_Word) (MR_hl_field(MR_mktag(1), ssdb__FirstChars_16, (MR_Integer) 0)));
#line 3390 "ssdb.m"
                            ssdb__V_18_18 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__FirstChars_16, (MR_Integer) 1)));
#line 3390 "ssdb.m"
                          }
#line 3389 "ssdb.m"
                      }
#line 3388 "ssdb.m"
                  }
#line 3401 "ssdb.m"
                if (ssdb__succeeded)
#line 3392 "ssdb.m"
                  {
#line 3392 "ssdb.m"
                    MR_Word ssdb__Res1_19;

#line 3392 "ssdb.m"
                    {
#line 3392 "ssdb.m"
                      ssdb__process_short_options__ho6_4_p_0(ssdb__FirstChars_16, ssdb__Data0_9, &ssdb__Res1_19);
                    }
#line 3396 "ssdb.m"
                    if (((MR_tag((MR_Word) ssdb__Res1_19)) == (MR_mktag((MR_Integer) 1))))
#line 3397 "ssdb.m"
                      {
#line 3398 "ssdb.m"
                        *ssdb__Res_10 = ssdb__Res1_19;
#line 3399 "ssdb.m"
                        *ssdb__Args_8 = ssdb__Args0_7;
#line 3397 "ssdb.m"
                      }
#line 3396 "ssdb.m"
                    else
#line 3394 "ssdb.m"
                      {
#line 3394 "ssdb.m"
                        MR_Word ssdb__Data1_29 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Res1_19, (MR_Integer) 0)));

#line 3395 "ssdb.m"
                        /* direct tailcall eliminated */
#line 3395 "ssdb.m"
                        {
#line 3395 "ssdb.m"
                          MR_Word ssdb__Args0__tmp_copy_7 = ssdb__Rest_12;
#line 3395 "ssdb.m"
                          MR_Word ssdb__Data0__tmp_copy_9 = ssdb__Data1_29;

#line 3395 "ssdb.m"
                          ssdb__Data0_9 = ssdb__Data0__tmp_copy_9;
#line 3395 "ssdb.m"
                          ssdb__Args0_7 = ssdb__Args0__tmp_copy_7;
#line 3395 "ssdb.m"
                        }
#line 3395 "ssdb.m"
                        continue;
#line 3394 "ssdb.m"
                      }
#line 3392 "ssdb.m"
                  }
#line 3401 "ssdb.m"
                else
#line 3402 "ssdb.m"
                  {
#line 3402 "ssdb.m"
                    MR_Word ssdb__Rest1_21;

#line 3402 "ssdb.m"
                    {
#line 3402 "ssdb.m"
                      ssdb__process_options__ho1_5_p_0(ssdb__Rest_12, &ssdb__Rest1_21, ssdb__Data0_9, ssdb__Res_10);
                    }
#line 3403 "ssdb.m"
                    {
#line 3403 "ssdb.m"
                      MR_Word base;
#line 3403 "ssdb.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3403 "ssdb.m"
                      *ssdb__Args_8 = base;
#line 3403 "ssdb.m"
                      MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (ssdb__First_11));
#line 3403 "ssdb.m"
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (ssdb__Rest1_21));
#line 3403 "ssdb.m"
                    }
#line 3402 "ssdb.m"
                  }
#line 3401 "ssdb.m"
              }
#line 3378 "ssdb.m"
          }
#line 3377 "ssdb.m"
      }
#line 3377 "ssdb.m"
      break;
#line 3377 "ssdb.m"
    }
#line 3369 "ssdb.m"
}

#line 3088 "ssdb.m"
static MR_bool MR_CALL 
ssdb__IntroducedFrom__pred__print_var_with_name__3088__1_2_p_0(
#line 3088 "ssdb.m"
  MR_String ssdb__VarName_8,
#line 3088 "ssdb.m"
  MR_Word ssdb__HeadVar__2_20)
#line 3088 "ssdb.m"
{
#line 3088 "ssdb.m"
  {
#line 3088 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 3088 "ssdb.m"
    MR_String ssdb__V_21_21;

#line 3197 "ssdb.m"
    if (((MR_tag((MR_Word) ssdb__HeadVar__2_20)) == (MR_mktag((MR_Integer) 1))))
#line 3198 "ssdb.m"
      {
#line 3198 "ssdb.m"
        MR_Word ssdb__TypeInfo_10_35 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__2_20, (MR_Integer) 0)));
#line 3198 "ssdb.m"
        MR_Integer ssdb__V_31_31;
#line 3198 "ssdb.m"
        MR_Box ssdb__V_32_32;

#line 3198 "ssdb.m"
        ssdb__V_21_21 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__2_20, (MR_Integer) 1)));
#line 3198 "ssdb.m"
        ssdb__V_31_31 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__2_20, (MR_Integer) 2)));
#line 3198 "ssdb.m"
        ssdb__V_32_32 = (MR_hl_field(MR_mktag(1), ssdb__HeadVar__2_20, (MR_Integer) 3));
#line 3198 "ssdb.m"
      }
#line 3197 "ssdb.m"
    else
#line 3197 "ssdb.m"
      if (((MR_tag((MR_Word) ssdb__HeadVar__2_20)) == (MR_mktag((MR_Integer) 2))))
#line 3199 "ssdb.m"
        {
#line 3199 "ssdb.m"
          MR_Word ssdb__TypeInfo_11_36 = ((MR_Word) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__2_20, (MR_Integer) 0)));
#line 3199 "ssdb.m"
          MR_Box ssdb__V_34_34;

#line 3199 "ssdb.m"
          ssdb__V_21_21 = ((MR_String) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__2_20, (MR_Integer) 1)));
#line 3199 "ssdb.m"
          ssdb__V_34_34 = (MR_hl_field(MR_mktag(2), ssdb__HeadVar__2_20, (MR_Integer) 2));
#line 3199 "ssdb.m"
        }
#line 3197 "ssdb.m"
      else
#line 3197 "ssdb.m"
        {
#line 3197 "ssdb.m"
          MR_Integer ssdb__V_29_29;

#line 3197 "ssdb.m"
          ssdb__V_21_21 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_20, (MR_Integer) 0)));
#line 3197 "ssdb.m"
          ssdb__V_29_29 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_20, (MR_Integer) 1)));
#line 3197 "ssdb.m"
        }
#line 3089 "ssdb.m"
    {
#line 3089 "ssdb.m"
      return ssdb__succeeded = mercury__string__prefix_2_p_0(ssdb__V_21_21, ssdb__VarName_8);
    }
#line 3088 "ssdb.m"
    return ssdb__succeeded;
#line 3088 "ssdb.m"
  }
#line 3088 "ssdb.m"
}

#line 2782 "ssdb.m"
static MR_Word MR_CALL 
ssdb__IntroducedFrom__func__modify_breakpoint_states__2782__1_2_f_0(
#line 2782 "ssdb.m"
  MR_Word ssdb__State_4,
#line 2782 "ssdb.m"
  MR_Word ssdb__HeadVar__2_14)
#line 2782 "ssdb.m"
{
#line 2782 "ssdb.m"
  {
#line 2782 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 2782 "ssdb.m"
    MR_Word ssdb__HeadVar__3_15;
#line 2782 "ssdb.m"
    MR_Integer ssdb__V_20_20 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_14, (MR_Integer) 0)));
#line 2782 "ssdb.m"
    MR_Word ssdb__V_21_21 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_14, (MR_Integer) 1)));
#line 2782 "ssdb.m"
    MR_Word ssdb__V_22_22 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_14, (MR_Integer) 2)));

#line 2782 "ssdb.m"
    {
#line 2782 "ssdb.m"
      ssdb__HeadVar__3_15 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 2782 "ssdb.m"
      MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_15, 0) = ((MR_Box) (ssdb__V_20_20));
#line 2782 "ssdb.m"
      MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_15, 1) = ((MR_Box) (ssdb__V_21_21));
#line 2782 "ssdb.m"
      MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_15, 2) = ((MR_Box) (ssdb__State_4));
#line 2782 "ssdb.m"
    }
#line 2782 "ssdb.m"
    return ssdb__HeadVar__3_15;
#line 2782 "ssdb.m"
  }
#line 2782 "ssdb.m"
}

#line 222 "ssdb.m"
static void MR_CALL 
ssdb____Compare____what_next_0_0(
#line 222 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 222 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 222 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3)
#line 222 "ssdb.m"
{
#line 222 "ssdb.m"
  {
#line 222 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 222 "ssdb.m"
    MR_Integer ssdb__CastX_76 = (MR_Integer) ssdb__HeadVar__2_2;
#line 222 "ssdb.m"
    MR_Integer ssdb__CastY_77 = (MR_Integer) ssdb__HeadVar__3_3;

#line 222 "ssdb.m"
    ssdb__succeeded = (ssdb__CastX_76 == ssdb__CastY_77);
#line 222 "ssdb.m"
    if (ssdb__succeeded)
#line 9937 "ssdb.c"
      *ssdb__HeadVar__1_1 = (MR_Integer) 0;
#line 222 "ssdb.m"
    else
#line 222 "ssdb.m"
      if ((ssdb__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 222 "ssdb.m"
        if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 222 "ssdb.m"
          *ssdb__HeadVar__1_1 = (MR_Integer) 0;
#line 222 "ssdb.m"
        else
#line 222 "ssdb.m"
          if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 222 "ssdb.m"
            *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
          else
#line 222 "ssdb.m"
            if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 222 "ssdb.m"
              *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
            else
#line 222 "ssdb.m"
              if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 222 "ssdb.m"
                *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
              else
#line 222 "ssdb.m"
                if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 222 "ssdb.m"
                  *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                else
#line 222 "ssdb.m"
                  if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 9975 "ssdb.c"
                    *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                  else
#line 222 "ssdb.m"
                    if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 9981 "ssdb.c"
                      *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                    else
#line 222 "ssdb.m"
                      if (((((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 9987 "ssdb.c"
                        *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                      else
#line 9991 "ssdb.c"
                        *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
      else
#line 222 "ssdb.m"
        if ((ssdb__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 222 "ssdb.m"
          if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 222 "ssdb.m"
            *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
          else
#line 222 "ssdb.m"
            if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 222 "ssdb.m"
              *ssdb__HeadVar__1_1 = (MR_Integer) 0;
#line 222 "ssdb.m"
            else
#line 222 "ssdb.m"
              if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 222 "ssdb.m"
                *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
              else
#line 222 "ssdb.m"
                if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 222 "ssdb.m"
                  *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                else
#line 222 "ssdb.m"
                  if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 222 "ssdb.m"
                    *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                  else
#line 222 "ssdb.m"
                    if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 10029 "ssdb.c"
                      *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                    else
#line 222 "ssdb.m"
                      if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 10035 "ssdb.c"
                        *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                      else
#line 222 "ssdb.m"
                        if (((((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 10041 "ssdb.c"
                          *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                        else
#line 10045 "ssdb.c"
                          *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
        else
#line 222 "ssdb.m"
          if ((ssdb__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 222 "ssdb.m"
            if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 222 "ssdb.m"
              *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
            else
#line 222 "ssdb.m"
              if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 222 "ssdb.m"
                *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
              else
#line 222 "ssdb.m"
                if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 222 "ssdb.m"
                  *ssdb__HeadVar__1_1 = (MR_Integer) 0;
#line 222 "ssdb.m"
                else
#line 222 "ssdb.m"
                  if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 222 "ssdb.m"
                    *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                  else
#line 222 "ssdb.m"
                    if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 222 "ssdb.m"
                      *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                    else
#line 222 "ssdb.m"
                      if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 10083 "ssdb.c"
                        *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                      else
#line 222 "ssdb.m"
                        if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 10089 "ssdb.c"
                          *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                        else
#line 222 "ssdb.m"
                          if (((((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 10095 "ssdb.c"
                            *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                          else
#line 10099 "ssdb.c"
                            *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
          else
#line 222 "ssdb.m"
            if ((ssdb__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 222 "ssdb.m"
              if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 222 "ssdb.m"
                *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
              else
#line 222 "ssdb.m"
                if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 222 "ssdb.m"
                  *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                else
#line 222 "ssdb.m"
                  if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 222 "ssdb.m"
                    *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                  else
#line 222 "ssdb.m"
                    if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 222 "ssdb.m"
                      *ssdb__HeadVar__1_1 = (MR_Integer) 0;
#line 222 "ssdb.m"
                    else
#line 222 "ssdb.m"
                      if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 222 "ssdb.m"
                        *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                      else
#line 222 "ssdb.m"
                        if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 10137 "ssdb.c"
                          *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                        else
#line 222 "ssdb.m"
                          if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 10143 "ssdb.c"
                            *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                          else
#line 222 "ssdb.m"
                            if (((((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 10149 "ssdb.c"
                              *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                            else
#line 10153 "ssdb.c"
                              *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
            else
#line 222 "ssdb.m"
              if ((ssdb__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 222 "ssdb.m"
                if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 222 "ssdb.m"
                  *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                else
#line 222 "ssdb.m"
                  if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 222 "ssdb.m"
                    *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                  else
#line 222 "ssdb.m"
                    if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 222 "ssdb.m"
                      *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                    else
#line 222 "ssdb.m"
                      if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 222 "ssdb.m"
                        *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                      else
#line 222 "ssdb.m"
                        if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 222 "ssdb.m"
                          *ssdb__HeadVar__1_1 = (MR_Integer) 0;
#line 222 "ssdb.m"
                        else
#line 222 "ssdb.m"
                          if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 10191 "ssdb.c"
                            *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                          else
#line 222 "ssdb.m"
                            if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 10197 "ssdb.c"
                              *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                            else
#line 222 "ssdb.m"
                              if (((((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 10203 "ssdb.c"
                                *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                              else
#line 10207 "ssdb.c"
                                *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
              else
#line 222 "ssdb.m"
                if (((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1))))
#line 222 "ssdb.m"
                  {
#line 222 "ssdb.m"
                    MR_Integer ssdb__V_82_82 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__2_2, (MR_Integer) 0)));

#line 222 "ssdb.m"
                    if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 10220 "ssdb.c"
                      *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                    else
#line 222 "ssdb.m"
                      if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 10226 "ssdb.c"
                        *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                      else
#line 222 "ssdb.m"
                        if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 10232 "ssdb.c"
                          *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                        else
#line 222 "ssdb.m"
                          if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 10238 "ssdb.c"
                            *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                          else
#line 222 "ssdb.m"
                            if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 10244 "ssdb.c"
                              *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                            else
#line 222 "ssdb.m"
                              if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 222 "ssdb.m"
                                {
#line 222 "ssdb.m"
                                  MR_Integer ssdb__V_20_20 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__3_3, (MR_Integer) 0)));

#line 222 "ssdb.m"
                                  {
#line 222 "ssdb.m"
                                    mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__V_82_82, ssdb__V_20_20);
#line 222 "ssdb.m"
                                    return;
                                  }
#line 222 "ssdb.m"
                                }
#line 222 "ssdb.m"
                              else
#line 222 "ssdb.m"
                                if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 10268 "ssdb.c"
                                  *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                                else
#line 222 "ssdb.m"
                                  if (((((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 10274 "ssdb.c"
                                    *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                                  else
#line 10278 "ssdb.c"
                                    *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                  }
#line 222 "ssdb.m"
                else
#line 222 "ssdb.m"
                  if (((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2))))
#line 222 "ssdb.m"
                    {
#line 222 "ssdb.m"
                      MR_Integer ssdb__V_84_84 = ((MR_Integer) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__2_2, (MR_Integer) 0)));

#line 222 "ssdb.m"
                      if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 10293 "ssdb.c"
                        *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                      else
#line 222 "ssdb.m"
                        if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 10299 "ssdb.c"
                          *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                        else
#line 222 "ssdb.m"
                          if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 10305 "ssdb.c"
                            *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                          else
#line 222 "ssdb.m"
                            if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 10311 "ssdb.c"
                              *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                            else
#line 222 "ssdb.m"
                              if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 10317 "ssdb.c"
                                *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                              else
#line 222 "ssdb.m"
                                if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 10323 "ssdb.c"
                                  *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                                else
#line 222 "ssdb.m"
                                  if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 222 "ssdb.m"
                                    {
#line 222 "ssdb.m"
                                      MR_Integer ssdb__V_45_45 = ((MR_Integer) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__3_3, (MR_Integer) 0)));

#line 222 "ssdb.m"
                                      {
#line 222 "ssdb.m"
                                        mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__V_84_84, ssdb__V_45_45);
#line 222 "ssdb.m"
                                        return;
                                      }
#line 222 "ssdb.m"
                                    }
#line 222 "ssdb.m"
                                  else
#line 222 "ssdb.m"
                                    if (((((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 10347 "ssdb.c"
                                      *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                                    else
#line 10351 "ssdb.c"
                                      *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                    }
#line 222 "ssdb.m"
                  else
#line 222 "ssdb.m"
                    if (((((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 222 "ssdb.m"
                      {
#line 222 "ssdb.m"
                        MR_Integer ssdb__V_83_83 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__2_2, (MR_Integer) 1)));

#line 222 "ssdb.m"
                        if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 10366 "ssdb.c"
                          *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                        else
#line 222 "ssdb.m"
                          if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 10372 "ssdb.c"
                            *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                          else
#line 222 "ssdb.m"
                            if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 10378 "ssdb.c"
                              *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                            else
#line 222 "ssdb.m"
                              if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 10384 "ssdb.c"
                                *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                              else
#line 222 "ssdb.m"
                                if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 10390 "ssdb.c"
                                  *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                                else
#line 222 "ssdb.m"
                                  if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 10396 "ssdb.c"
                                    *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                                  else
#line 222 "ssdb.m"
                                    if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 10402 "ssdb.c"
                                      *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                                    else
#line 222 "ssdb.m"
                                      if (((((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 222 "ssdb.m"
                                        {
#line 222 "ssdb.m"
                                          MR_Integer ssdb__V_75_75 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 1)));

#line 222 "ssdb.m"
                                          {
#line 222 "ssdb.m"
                                            mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__V_83_83, ssdb__V_75_75);
#line 222 "ssdb.m"
                                            return;
                                          }
#line 222 "ssdb.m"
                                        }
#line 222 "ssdb.m"
                                      else
#line 10424 "ssdb.c"
                                        *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                      }
#line 222 "ssdb.m"
                    else
#line 222 "ssdb.m"
                      {
#line 222 "ssdb.m"
                        MR_Integer ssdb__V_85_85 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__2_2, (MR_Integer) 1)));

#line 222 "ssdb.m"
                        if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 10437 "ssdb.c"
                          *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                        else
#line 222 "ssdb.m"
                          if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 10443 "ssdb.c"
                            *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                          else
#line 222 "ssdb.m"
                            if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 10449 "ssdb.c"
                              *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                            else
#line 222 "ssdb.m"
                              if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 10455 "ssdb.c"
                                *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                              else
#line 222 "ssdb.m"
                                if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 10461 "ssdb.c"
                                  *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                                else
#line 222 "ssdb.m"
                                  if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 10467 "ssdb.c"
                                    *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                                  else
#line 222 "ssdb.m"
                                    if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 10473 "ssdb.c"
                                      *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 222 "ssdb.m"
                                    else
#line 222 "ssdb.m"
                                      if (((((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 10479 "ssdb.c"
                                        *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 222 "ssdb.m"
                                      else
#line 222 "ssdb.m"
                                        {
#line 222 "ssdb.m"
                                          MR_Integer ssdb__V_60_60 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 1)));

#line 222 "ssdb.m"
                                          {
#line 222 "ssdb.m"
                                            mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__V_85_85, ssdb__V_60_60);
#line 222 "ssdb.m"
                                            return;
                                          }
#line 222 "ssdb.m"
                                        }
#line 222 "ssdb.m"
                      }
#line 222 "ssdb.m"
  }
#line 222 "ssdb.m"
}

#line 222 "ssdb.m"
static MR_bool MR_CALL 
ssdb____Unify____what_next_0_0(
#line 222 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 222 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2)
#line 222 "ssdb.m"
{
#line 222 "ssdb.m"
  {
#line 222 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 222 "ssdb.m"
    MR_Integer ssdb__CastX_21 = (MR_Integer) ssdb__HeadVar__1_1;
#line 222 "ssdb.m"
    MR_Integer ssdb__CastY_22 = (MR_Integer) ssdb__HeadVar__2_2;

#line 222 "ssdb.m"
    ssdb__succeeded = (ssdb__CastX_21 == ssdb__CastY_22);
#line 222 "ssdb.m"
    if (ssdb__succeeded)
#line 222 "ssdb.m"
      ssdb__succeeded = MR_TRUE;
#line 222 "ssdb.m"
    else
#line 222 "ssdb.m"
      if ((ssdb__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 222 "ssdb.m"
        {
#line 222 "ssdb.m"
          MR_Integer ssdb__CastX_7 = (MR_Integer) ssdb__HeadVar__1_1;
#line 222 "ssdb.m"
          MR_Integer ssdb__CastY_8 = (MR_Integer) ssdb__HeadVar__2_2;

#line 222 "ssdb.m"
          ssdb__succeeded = (ssdb__CastY_8 == ssdb__CastX_7);
#line 222 "ssdb.m"
        }
#line 222 "ssdb.m"
      else
#line 222 "ssdb.m"
        if ((ssdb__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 222 "ssdb.m"
          {
#line 222 "ssdb.m"
            MR_Integer ssdb__CastX_13 = (MR_Integer) ssdb__HeadVar__1_1;
#line 222 "ssdb.m"
            MR_Integer ssdb__CastY_14 = (MR_Integer) ssdb__HeadVar__2_2;

#line 222 "ssdb.m"
            ssdb__succeeded = (ssdb__CastY_14 == ssdb__CastX_13);
#line 222 "ssdb.m"
          }
#line 222 "ssdb.m"
        else
#line 222 "ssdb.m"
          if ((ssdb__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 222 "ssdb.m"
            {
#line 222 "ssdb.m"
              MR_Integer ssdb__CastX_5 = (MR_Integer) ssdb__HeadVar__1_1;
#line 222 "ssdb.m"
              MR_Integer ssdb__CastY_6 = (MR_Integer) ssdb__HeadVar__2_2;

#line 222 "ssdb.m"
              ssdb__succeeded = (ssdb__CastY_6 == ssdb__CastX_5);
#line 222 "ssdb.m"
            }
#line 222 "ssdb.m"
          else
#line 222 "ssdb.m"
            if ((ssdb__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 222 "ssdb.m"
              {
#line 222 "ssdb.m"
                MR_Integer ssdb__CastX_11 = (MR_Integer) ssdb__HeadVar__1_1;
#line 222 "ssdb.m"
                MR_Integer ssdb__CastY_12 = (MR_Integer) ssdb__HeadVar__2_2;

#line 222 "ssdb.m"
                ssdb__succeeded = (ssdb__CastY_12 == ssdb__CastX_11);
#line 222 "ssdb.m"
              }
#line 222 "ssdb.m"
            else
#line 222 "ssdb.m"
              if ((ssdb__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 222 "ssdb.m"
                {
#line 222 "ssdb.m"
                  MR_Integer ssdb__CastX_3 = (MR_Integer) ssdb__HeadVar__1_1;
#line 222 "ssdb.m"
                  MR_Integer ssdb__CastY_4 = (MR_Integer) ssdb__HeadVar__2_2;

#line 222 "ssdb.m"
                  ssdb__succeeded = (ssdb__CastY_4 == ssdb__CastX_3);
#line 222 "ssdb.m"
                }
#line 222 "ssdb.m"
              else
#line 222 "ssdb.m"
                if (((MR_tag((MR_Word) ssdb__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1))))
#line 222 "ssdb.m"
                  {
#line 222 "ssdb.m"
                    MR_Integer ssdb__V_9_9 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__1_1, (MR_Integer) 0)));
#line 222 "ssdb.m"
                    MR_Integer ssdb__V_10_10;

#line 222 "ssdb.m"
                    ssdb__succeeded = ((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 222 "ssdb.m"
                    if (ssdb__succeeded)
#line 222 "ssdb.m"
                      {
#line 222 "ssdb.m"
                        ssdb__V_10_10 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__2_2, (MR_Integer) 0)));
#line 10622 "ssdb.c"
                        ssdb__succeeded = (ssdb__V_9_9 == ssdb__V_10_10);
#line 222 "ssdb.m"
                      }
#line 222 "ssdb.m"
                  }
#line 222 "ssdb.m"
                else
#line 222 "ssdb.m"
                  if (((MR_tag((MR_Word) ssdb__HeadVar__1_1)) == (MR_mktag((MR_Integer) 2))))
#line 222 "ssdb.m"
                    {
#line 222 "ssdb.m"
                      MR_Integer ssdb__V_15_15 = ((MR_Integer) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__1_1, (MR_Integer) 0)));
#line 222 "ssdb.m"
                      MR_Integer ssdb__V_16_16;

#line 222 "ssdb.m"
                      ssdb__succeeded = ((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2)));
#line 222 "ssdb.m"
                      if (ssdb__succeeded)
#line 222 "ssdb.m"
                        {
#line 222 "ssdb.m"
                          ssdb__V_16_16 = ((MR_Integer) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__2_2, (MR_Integer) 0)));
#line 10647 "ssdb.c"
                          ssdb__succeeded = (ssdb__V_15_15 == ssdb__V_16_16);
#line 222 "ssdb.m"
                        }
#line 222 "ssdb.m"
                    }
#line 222 "ssdb.m"
                  else
#line 222 "ssdb.m"
                    if (((((MR_tag((MR_Word) ssdb__HeadVar__1_1)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__1_1, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 222 "ssdb.m"
                      {
#line 222 "ssdb.m"
                        MR_Integer ssdb__V_19_19 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__1_1, (MR_Integer) 1)));
#line 222 "ssdb.m"
                        MR_Integer ssdb__V_20_20;

#line 222 "ssdb.m"
                        ssdb__succeeded = ((((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 1)));
#line 222 "ssdb.m"
                        if (ssdb__succeeded)
#line 222 "ssdb.m"
                          {
#line 222 "ssdb.m"
                            ssdb__V_20_20 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__2_2, (MR_Integer) 1)));
#line 10672 "ssdb.c"
                            ssdb__succeeded = (ssdb__V_19_19 == ssdb__V_20_20);
#line 222 "ssdb.m"
                          }
#line 222 "ssdb.m"
                      }
#line 222 "ssdb.m"
                    else
#line 222 "ssdb.m"
                      {
#line 222 "ssdb.m"
                        MR_Integer ssdb__V_17_17 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__1_1, (MR_Integer) 1)));
#line 222 "ssdb.m"
                        MR_Integer ssdb__V_18_18;

#line 222 "ssdb.m"
                        ssdb__succeeded = ((((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 0)));
#line 222 "ssdb.m"
                        if (ssdb__succeeded)
#line 222 "ssdb.m"
                          {
#line 222 "ssdb.m"
                            ssdb__V_18_18 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__2_2, (MR_Integer) 1)));
#line 10695 "ssdb.c"
                            ssdb__succeeded = (ssdb__V_17_17 == ssdb__V_18_18);
#line 222 "ssdb.m"
                          }
#line 222 "ssdb.m"
                      }
#line 222 "ssdb.m"
    return ssdb__succeeded;
#line 222 "ssdb.m"
  }
#line 222 "ssdb.m"
}

#line 63 "ssdb.m"
void MR_CALL 
ssdb____Compare____var_value_0_0(
#line 63 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 63 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 63 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3)
#line 63 "ssdb.m"
{
#line 63 "ssdb.m"
  {
#line 63 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 63 "ssdb.m"
    MR_Integer ssdb__CastX_50 = (MR_Integer) ssdb__HeadVar__2_2;
#line 63 "ssdb.m"
    MR_Integer ssdb__CastY_51 = (MR_Integer) ssdb__HeadVar__3_3;

#line 63 "ssdb.m"
    ssdb__succeeded = (ssdb__CastX_50 == ssdb__CastY_51);
#line 63 "ssdb.m"
    if (ssdb__succeeded)
#line 63 "ssdb.m"
      *ssdb__HeadVar__1_1 = (MR_Integer) 0;
#line 63 "ssdb.m"
    else
#line 63 "ssdb.m"
      if (((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1))))
#line 63 "ssdb.m"
        {
#line 63 "ssdb.m"
          MR_Word ssdb__V_72_72 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__2_2, (MR_Integer) 0)));
#line 63 "ssdb.m"
          MR_Box ssdb__V_69_69 = (MR_hl_field(MR_mktag(1), ssdb__HeadVar__2_2, (MR_Integer) 3));
#line 63 "ssdb.m"
          MR_Integer ssdb__V_70_70 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__2_2, (MR_Integer) 2)));
#line 63 "ssdb.m"
          MR_String ssdb__V_71_71 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__2_2, (MR_Integer) 1)));

#line 63 "ssdb.m"
          if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 63 "ssdb.m"
            {
#line 63 "ssdb.m"
              MR_Word ssdb__TypeInfo_61_61 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__3_3, (MR_Integer) 0)));
#line 63 "ssdb.m"
              MR_String ssdb__V_26_26 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__3_3, (MR_Integer) 1)));
#line 63 "ssdb.m"
              MR_Integer ssdb__V_27_27 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__3_3, (MR_Integer) 2)));
#line 63 "ssdb.m"
              MR_Box ssdb__V_28_28 = (MR_hl_field(MR_mktag(1), ssdb__HeadVar__3_3, (MR_Integer) 3));
#line 63 "ssdb.m"
              MR_Word ssdb__V_29_29;

#line 63 "ssdb.m"
              {
#line 63 "ssdb.m"
                mercury__private_builtin__builtin_compare_string_3_p_0(&ssdb__V_29_29, ssdb__V_71_71, ssdb__V_26_26);
              }
#line 63 "ssdb.m"
              ssdb__succeeded = (ssdb__V_29_29 == (MR_Integer) 0);
#line 63 "ssdb.m"
              ssdb__succeeded = !(ssdb__succeeded);
#line 63 "ssdb.m"
              if (ssdb__succeeded)
#line 63 "ssdb.m"
                *ssdb__HeadVar__1_1 = ssdb__V_29_29;
#line 63 "ssdb.m"
              else
#line 63 "ssdb.m"
                {
#line 63 "ssdb.m"
                  MR_Word ssdb__V_30_30;

#line 63 "ssdb.m"
                  {
#line 63 "ssdb.m"
                    mercury__private_builtin__builtin_compare_int_3_p_0(&ssdb__V_30_30, ssdb__V_70_70, ssdb__V_27_27);
                  }
#line 63 "ssdb.m"
                  ssdb__succeeded = (ssdb__V_30_30 == (MR_Integer) 0);
#line 63 "ssdb.m"
                  ssdb__succeeded = !(ssdb__succeeded);
#line 63 "ssdb.m"
                  if (ssdb__succeeded)
#line 63 "ssdb.m"
                    *ssdb__HeadVar__1_1 = ssdb__V_30_30;
#line 63 "ssdb.m"
                  else
#line 63 "ssdb.m"
                    {
#line 63 "ssdb.m"
                      mercury__private_builtin__typed_compare_3_p_0(ssdb__V_72_72, ssdb__TypeInfo_61_61, ssdb__HeadVar__1_1, ssdb__V_69_69, ssdb__V_28_28);
#line 63 "ssdb.m"
                      return;
                    }
#line 63 "ssdb.m"
                }
#line 63 "ssdb.m"
            }
#line 63 "ssdb.m"
          else
#line 63 "ssdb.m"
            if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 63 "ssdb.m"
              *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 63 "ssdb.m"
            else
#line 63 "ssdb.m"
              *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 63 "ssdb.m"
        }
#line 63 "ssdb.m"
      else
#line 63 "ssdb.m"
        if (((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2))))
#line 63 "ssdb.m"
          {
#line 63 "ssdb.m"
            MR_Word ssdb__V_75_75 = ((MR_Word) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__2_2, (MR_Integer) 0)));
#line 63 "ssdb.m"
            MR_Box ssdb__V_73_73 = (MR_hl_field(MR_mktag(2), ssdb__HeadVar__2_2, (MR_Integer) 2));
#line 63 "ssdb.m"
            MR_String ssdb__V_74_74 = ((MR_String) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__2_2, (MR_Integer) 1)));

#line 63 "ssdb.m"
            if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 63 "ssdb.m"
              *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 63 "ssdb.m"
            else
#line 63 "ssdb.m"
              if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 63 "ssdb.m"
                {
#line 63 "ssdb.m"
                  MR_Word ssdb__TypeInfo_53_53 = ((MR_Word) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__3_3, (MR_Integer) 0)));
#line 63 "ssdb.m"
                  MR_String ssdb__V_47_47 = ((MR_String) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__3_3, (MR_Integer) 1)));
#line 63 "ssdb.m"
                  MR_Box ssdb__V_48_48 = (MR_hl_field(MR_mktag(2), ssdb__HeadVar__3_3, (MR_Integer) 2));
#line 63 "ssdb.m"
                  MR_Word ssdb__V_49_49;

#line 63 "ssdb.m"
                  {
#line 63 "ssdb.m"
                    mercury__private_builtin__builtin_compare_string_3_p_0(&ssdb__V_49_49, ssdb__V_74_74, ssdb__V_47_47);
                  }
#line 63 "ssdb.m"
                  ssdb__succeeded = (ssdb__V_49_49 == (MR_Integer) 0);
#line 63 "ssdb.m"
                  ssdb__succeeded = !(ssdb__succeeded);
#line 63 "ssdb.m"
                  if (ssdb__succeeded)
#line 63 "ssdb.m"
                    *ssdb__HeadVar__1_1 = ssdb__V_49_49;
#line 63 "ssdb.m"
                  else
#line 63 "ssdb.m"
                    {
#line 63 "ssdb.m"
                      mercury__private_builtin__typed_compare_3_p_0(ssdb__V_75_75, ssdb__TypeInfo_53_53, ssdb__HeadVar__1_1, ssdb__V_73_73, ssdb__V_48_48);
#line 63 "ssdb.m"
                      return;
                    }
#line 63 "ssdb.m"
                }
#line 63 "ssdb.m"
              else
#line 63 "ssdb.m"
                *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 63 "ssdb.m"
          }
#line 63 "ssdb.m"
        else
#line 63 "ssdb.m"
          {
#line 63 "ssdb.m"
            MR_Integer ssdb__V_76_76 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 1)));
#line 63 "ssdb.m"
            MR_String ssdb__V_77_77 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)));

#line 63 "ssdb.m"
            if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 63 "ssdb.m"
              *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 63 "ssdb.m"
            else
#line 63 "ssdb.m"
              if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 63 "ssdb.m"
                *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 63 "ssdb.m"
              else
#line 63 "ssdb.m"
                {
#line 63 "ssdb.m"
                  MR_String ssdb__V_6_6 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 0)));
#line 63 "ssdb.m"
                  MR_Integer ssdb__V_7_7 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 1)));
#line 63 "ssdb.m"
                  MR_Word ssdb__V_8_8;

#line 63 "ssdb.m"
                  {
#line 63 "ssdb.m"
                    mercury__private_builtin__builtin_compare_string_3_p_0(&ssdb__V_8_8, ssdb__V_77_77, ssdb__V_6_6);
                  }
#line 63 "ssdb.m"
                  ssdb__succeeded = (ssdb__V_8_8 == (MR_Integer) 0);
#line 63 "ssdb.m"
                  ssdb__succeeded = !(ssdb__succeeded);
#line 63 "ssdb.m"
                  if (ssdb__succeeded)
#line 63 "ssdb.m"
                    *ssdb__HeadVar__1_1 = ssdb__V_8_8;
#line 63 "ssdb.m"
                  else
#line 63 "ssdb.m"
                    {
#line 63 "ssdb.m"
                      mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__V_76_76, ssdb__V_7_7);
#line 63 "ssdb.m"
                      return;
                    }
#line 63 "ssdb.m"
                }
#line 63 "ssdb.m"
          }
#line 63 "ssdb.m"
  }
#line 63 "ssdb.m"
}

#line 63 "ssdb.m"
MR_bool MR_CALL 
ssdb____Unify____var_value_0_0(
#line 63 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 63 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2)
#line 63 "ssdb.m"
{
#line 63 "ssdb.m"
  {
#line 63 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 63 "ssdb.m"
    MR_Integer ssdb__CastX_17 = (MR_Integer) ssdb__HeadVar__1_1;
#line 63 "ssdb.m"
    MR_Integer ssdb__CastY_18 = (MR_Integer) ssdb__HeadVar__2_2;

#line 63 "ssdb.m"
    ssdb__succeeded = (ssdb__CastX_17 == ssdb__CastY_18);
#line 63 "ssdb.m"
    if (ssdb__succeeded)
#line 63 "ssdb.m"
      ssdb__succeeded = MR_TRUE;
#line 63 "ssdb.m"
    else
#line 63 "ssdb.m"
      if (((MR_tag((MR_Word) ssdb__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1))))
#line 63 "ssdb.m"
        {
#line 63 "ssdb.m"
          MR_Word ssdb__TypeInfo_19_19 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__1_1, (MR_Integer) 0)));
#line 63 "ssdb.m"
          MR_Word ssdb__TypeInfo_20_20;
#line 63 "ssdb.m"
          MR_String ssdb__V_7_7 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__1_1, (MR_Integer) 1)));
#line 63 "ssdb.m"
          MR_Integer ssdb__V_8_8 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__1_1, (MR_Integer) 2)));
#line 63 "ssdb.m"
          MR_Box ssdb__V_9_9 = (MR_hl_field(MR_mktag(1), ssdb__HeadVar__1_1, (MR_Integer) 3));
#line 63 "ssdb.m"
          MR_String ssdb__V_10_10;
#line 63 "ssdb.m"
          MR_Integer ssdb__V_11_11;
#line 63 "ssdb.m"
          MR_Box ssdb__V_12_12;

#line 63 "ssdb.m"
          ssdb__succeeded = ((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 63 "ssdb.m"
          if (ssdb__succeeded)
#line 63 "ssdb.m"
            {
#line 63 "ssdb.m"
              ssdb__TypeInfo_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__2_2, (MR_Integer) 0)));
#line 63 "ssdb.m"
              ssdb__V_10_10 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__2_2, (MR_Integer) 1)));
#line 63 "ssdb.m"
              ssdb__V_11_11 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__2_2, (MR_Integer) 2)));
#line 63 "ssdb.m"
              ssdb__V_12_12 = (MR_hl_field(MR_mktag(1), ssdb__HeadVar__2_2, (MR_Integer) 3));
#line 63 "ssdb.m"
              ssdb__succeeded = (strcmp(ssdb__V_7_7, ssdb__V_10_10) == 0);
#line 63 "ssdb.m"
              if (ssdb__succeeded)
#line 63 "ssdb.m"
                {
#line 63 "ssdb.m"
                  ssdb__succeeded = (ssdb__V_8_8 == ssdb__V_11_11);
#line 63 "ssdb.m"
                  if (ssdb__succeeded)
#line 63 "ssdb.m"
                    {
#line 63 "ssdb.m"
                      return ssdb__succeeded = mercury__private_builtin__typed_unify_2_p_0(ssdb__TypeInfo_19_19, ssdb__TypeInfo_20_20, ssdb__V_9_9, ssdb__V_12_12);
                    }
#line 63 "ssdb.m"
                }
#line 63 "ssdb.m"
            }
#line 63 "ssdb.m"
        }
#line 63 "ssdb.m"
      else
#line 63 "ssdb.m"
        if (((MR_tag((MR_Word) ssdb__HeadVar__1_1)) == (MR_mktag((MR_Integer) 2))))
#line 63 "ssdb.m"
          {
#line 63 "ssdb.m"
            MR_Word ssdb__TypeInfo_21_21 = ((MR_Word) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__1_1, (MR_Integer) 0)));
#line 63 "ssdb.m"
            MR_Word ssdb__TypeInfo_22_22;
#line 63 "ssdb.m"
            MR_String ssdb__V_13_13 = ((MR_String) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__1_1, (MR_Integer) 1)));
#line 63 "ssdb.m"
            MR_Box ssdb__V_14_14 = (MR_hl_field(MR_mktag(2), ssdb__HeadVar__1_1, (MR_Integer) 2));
#line 63 "ssdb.m"
            MR_String ssdb__V_15_15;
#line 63 "ssdb.m"
            MR_Box ssdb__V_16_16;

#line 63 "ssdb.m"
            ssdb__succeeded = ((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2)));
#line 63 "ssdb.m"
            if (ssdb__succeeded)
#line 63 "ssdb.m"
              {
#line 63 "ssdb.m"
                ssdb__TypeInfo_22_22 = ((MR_Word) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__2_2, (MR_Integer) 0)));
#line 63 "ssdb.m"
                ssdb__V_15_15 = ((MR_String) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__2_2, (MR_Integer) 1)));
#line 63 "ssdb.m"
                ssdb__V_16_16 = (MR_hl_field(MR_mktag(2), ssdb__HeadVar__2_2, (MR_Integer) 2));
#line 63 "ssdb.m"
                ssdb__succeeded = (strcmp(ssdb__V_13_13, ssdb__V_15_15) == 0);
#line 63 "ssdb.m"
                if (ssdb__succeeded)
#line 63 "ssdb.m"
                  {
#line 63 "ssdb.m"
                    return ssdb__succeeded = mercury__private_builtin__typed_unify_2_p_0(ssdb__TypeInfo_21_21, ssdb__TypeInfo_22_22, ssdb__V_14_14, ssdb__V_16_16);
                  }
#line 63 "ssdb.m"
              }
#line 63 "ssdb.m"
          }
#line 63 "ssdb.m"
        else
#line 63 "ssdb.m"
          {
#line 63 "ssdb.m"
            MR_String ssdb__V_3_3 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 0)));
#line 63 "ssdb.m"
            MR_Integer ssdb__V_4_4 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 1)));
#line 63 "ssdb.m"
            MR_String ssdb__V_5_5;
#line 63 "ssdb.m"
            MR_Integer ssdb__V_6_6;

#line 63 "ssdb.m"
            ssdb__succeeded = ((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 0)));
#line 63 "ssdb.m"
            if (ssdb__succeeded)
#line 63 "ssdb.m"
              {
#line 63 "ssdb.m"
                ssdb__V_5_5 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)));
#line 63 "ssdb.m"
                ssdb__V_6_6 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 1)));
#line 63 "ssdb.m"
                ssdb__succeeded = (strcmp(ssdb__V_3_3, ssdb__V_5_5) == 0);
#line 63 "ssdb.m"
                if (ssdb__succeeded)
#line 63 "ssdb.m"
                  ssdb__succeeded = (ssdb__V_4_4 == ssdb__V_6_6);
#line 63 "ssdb.m"
              }
#line 63 "ssdb.m"
          }
#line 63 "ssdb.m"
    return ssdb__succeeded;
#line 63 "ssdb.m"
  }
#line 63 "ssdb.m"
}

#line 70 "ssdb.m"
void MR_CALL 
ssdb____Compare____var_name_0_0(
#line 70 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 70 "ssdb.m"
  MR_String ssdb__HeadVar__2_2,
#line 70 "ssdb.m"
  MR_String ssdb__HeadVar__3_3)
#line 70 "ssdb.m"
{
#line 70 "ssdb.m"
  {
#line 70 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 70 "ssdb.m"
    MR_String ssdb__Cast_HeadVar1_4 = ssdb__HeadVar__2_2;
#line 70 "ssdb.m"
    MR_String ssdb__Cast_HeadVar2_5 = ssdb__HeadVar__3_3;

#line 70 "ssdb.m"
    {
#line 70 "ssdb.m"
      mercury__private_builtin__builtin_compare_string_3_p_0(ssdb__HeadVar__1_1, ssdb__Cast_HeadVar1_4, ssdb__Cast_HeadVar2_5);
#line 70 "ssdb.m"
      return;
    }
#line 70 "ssdb.m"
  }
#line 70 "ssdb.m"
}

#line 70 "ssdb.m"
MR_bool MR_CALL 
ssdb____Unify____var_name_0_0(
#line 70 "ssdb.m"
  MR_String ssdb__HeadVar__1_1,
#line 70 "ssdb.m"
  MR_String ssdb__HeadVar__2_2)
#line 70 "ssdb.m"
{
#line 70 "ssdb.m"
  {
#line 70 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 70 "ssdb.m"
    MR_String ssdb__Cast_HeadVar1_3 = ssdb__HeadVar__1_1;
#line 70 "ssdb.m"
    MR_String ssdb__Cast_HeadVar2_4 = ssdb__HeadVar__2_2;

#line 70 "ssdb.m"
    ssdb__succeeded = (strcmp(ssdb__Cast_HeadVar1_3, ssdb__Cast_HeadVar2_4) == 0);
#line 70 "ssdb.m"
    return ssdb__succeeded;
#line 70 "ssdb.m"
  }
#line 70 "ssdb.m"
}

#line 186 "ssdb.m"
static void MR_CALL 
ssdb____Compare____stack_frame_0_0(
#line 186 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 186 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 186 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3)
#line 186 "ssdb.m"
{
#line 186 "ssdb.m"
  {
#line 186 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 186 "ssdb.m"
    MR_Integer ssdb__CastX_27 = (MR_Integer) ssdb__HeadVar__2_2;
#line 186 "ssdb.m"
    MR_Integer ssdb__CastY_28 = (MR_Integer) ssdb__HeadVar__3_3;

#line 186 "ssdb.m"
    ssdb__succeeded = (ssdb__CastX_27 == ssdb__CastY_28);
#line 186 "ssdb.m"
    if (ssdb__succeeded)
#line 11194 "ssdb.c"
      *ssdb__HeadVar__1_1 = (MR_Integer) 0;
#line 186 "ssdb.m"
    else
#line 186 "ssdb.m"
      {
#line 186 "ssdb.m"
        MR_Integer ssdb__V_4_4 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)));
#line 186 "ssdb.m"
        MR_Integer ssdb__V_5_5 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 1)));
#line 186 "ssdb.m"
        MR_Integer ssdb__V_6_6 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 2)));
#line 186 "ssdb.m"
        MR_Word ssdb__V_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 3)));
#line 186 "ssdb.m"
        MR_String ssdb__V_8_8 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 4)));
#line 186 "ssdb.m"
        MR_Integer ssdb__V_9_9 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 5)));
#line 186 "ssdb.m"
        MR_Word ssdb__V_10_10 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 6)));
#line 186 "ssdb.m"
        MR_Word ssdb__V_11_11 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 7)));
#line 186 "ssdb.m"
        MR_Integer ssdb__V_12_12 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 0)));
#line 186 "ssdb.m"
        MR_Integer ssdb__V_13_13 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 1)));
#line 186 "ssdb.m"
        MR_Integer ssdb__V_14_14 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 2)));
#line 186 "ssdb.m"
        MR_Word ssdb__V_15_15 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 3)));
#line 186 "ssdb.m"
        MR_String ssdb__V_16_16 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 4)));
#line 186 "ssdb.m"
        MR_Integer ssdb__V_17_17 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 5)));
#line 186 "ssdb.m"
        MR_Word ssdb__V_18_18 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 6)));
#line 186 "ssdb.m"
        MR_Word ssdb__V_19_19 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 7)));
#line 186 "ssdb.m"
        MR_Word ssdb__V_20_20;

#line 186 "ssdb.m"
        {
#line 186 "ssdb.m"
          mercury__private_builtin__builtin_compare_int_3_p_0(&ssdb__V_20_20, ssdb__V_4_4, ssdb__V_12_12);
        }
#line 11240 "ssdb.c"
        ssdb__succeeded = (ssdb__V_20_20 == (MR_Integer) 0);
#line 186 "ssdb.m"
        ssdb__succeeded = !(ssdb__succeeded);
#line 186 "ssdb.m"
        if (ssdb__succeeded)
#line 186 "ssdb.m"
          *ssdb__HeadVar__1_1 = ssdb__V_20_20;
#line 186 "ssdb.m"
        else
#line 186 "ssdb.m"
          {
#line 186 "ssdb.m"
            MR_Word ssdb__V_21_21;

#line 186 "ssdb.m"
            {
#line 186 "ssdb.m"
              mercury__private_builtin__builtin_compare_int_3_p_0(&ssdb__V_21_21, ssdb__V_5_5, ssdb__V_13_13);
            }
#line 11260 "ssdb.c"
            ssdb__succeeded = (ssdb__V_21_21 == (MR_Integer) 0);
#line 186 "ssdb.m"
            ssdb__succeeded = !(ssdb__succeeded);
#line 186 "ssdb.m"
            if (ssdb__succeeded)
#line 186 "ssdb.m"
              *ssdb__HeadVar__1_1 = ssdb__V_21_21;
#line 186 "ssdb.m"
            else
#line 186 "ssdb.m"
              {
#line 186 "ssdb.m"
                MR_Word ssdb__V_22_22;

#line 186 "ssdb.m"
                {
#line 186 "ssdb.m"
                  mercury__private_builtin__builtin_compare_int_3_p_0(&ssdb__V_22_22, ssdb__V_6_6, ssdb__V_14_14);
                }
#line 11280 "ssdb.c"
                ssdb__succeeded = (ssdb__V_22_22 == (MR_Integer) 0);
#line 186 "ssdb.m"
                ssdb__succeeded = !(ssdb__succeeded);
#line 186 "ssdb.m"
                if (ssdb__succeeded)
#line 186 "ssdb.m"
                  *ssdb__HeadVar__1_1 = ssdb__V_22_22;
#line 186 "ssdb.m"
                else
#line 186 "ssdb.m"
                  {
#line 186 "ssdb.m"
                    MR_Word ssdb__V_23_23;

#line 186 "ssdb.m"
                    {
#line 186 "ssdb.m"
                      ssdb____Compare____ssdb_proc_id_0_0(&ssdb__V_23_23, ssdb__V_7_7, ssdb__V_15_15);
                    }
#line 11300 "ssdb.c"
                    ssdb__succeeded = (ssdb__V_23_23 == (MR_Integer) 0);
#line 186 "ssdb.m"
                    ssdb__succeeded = !(ssdb__succeeded);
#line 186 "ssdb.m"
                    if (ssdb__succeeded)
#line 186 "ssdb.m"
                      *ssdb__HeadVar__1_1 = ssdb__V_23_23;
#line 186 "ssdb.m"
                    else
#line 186 "ssdb.m"
                      {
#line 186 "ssdb.m"
                        MR_Word ssdb__V_24_24;

#line 186 "ssdb.m"
                        {
#line 186 "ssdb.m"
                          mercury__private_builtin__builtin_compare_string_3_p_0(&ssdb__V_24_24, ssdb__V_8_8, ssdb__V_16_16);
                        }
#line 11320 "ssdb.c"
                        ssdb__succeeded = (ssdb__V_24_24 == (MR_Integer) 0);
#line 186 "ssdb.m"
                        ssdb__succeeded = !(ssdb__succeeded);
#line 186 "ssdb.m"
                        if (ssdb__succeeded)
#line 186 "ssdb.m"
                          *ssdb__HeadVar__1_1 = ssdb__V_24_24;
#line 186 "ssdb.m"
                        else
#line 186 "ssdb.m"
                          {
#line 186 "ssdb.m"
                            MR_Word ssdb__V_25_25;

#line 186 "ssdb.m"
                            {
#line 186 "ssdb.m"
                              mercury__private_builtin__builtin_compare_int_3_p_0(&ssdb__V_25_25, ssdb__V_9_9, ssdb__V_17_17);
                            }
#line 11340 "ssdb.c"
                            ssdb__succeeded = (ssdb__V_25_25 == (MR_Integer) 0);
#line 186 "ssdb.m"
                            ssdb__succeeded = !(ssdb__succeeded);
#line 186 "ssdb.m"
                            if (ssdb__succeeded)
#line 186 "ssdb.m"
                              *ssdb__HeadVar__1_1 = ssdb__V_25_25;
#line 186 "ssdb.m"
                            else
#line 186 "ssdb.m"
                              {
#line 186 "ssdb.m"
                                MR_Word ssdb__V_26_26;

#line 186 "ssdb.m"
                                {
#line 186 "ssdb.m"
                                  mercury__builtin__compare_3_p_0((MR_Word) &ssdb_scalar_common_1[1], &ssdb__V_26_26, ((MR_Box) (ssdb__V_10_10)), ((MR_Box) (ssdb__V_18_18)));
                                }
#line 11360 "ssdb.c"
                                ssdb__succeeded = (ssdb__V_26_26 == (MR_Integer) 0);
#line 186 "ssdb.m"
                                ssdb__succeeded = !(ssdb__succeeded);
#line 186 "ssdb.m"
                                if (ssdb__succeeded)
#line 186 "ssdb.m"
                                  *ssdb__HeadVar__1_1 = ssdb__V_26_26;
#line 186 "ssdb.m"
                                else
#line 186 "ssdb.m"
                                  {
#line 186 "ssdb.m"
                                    MR_Integer ssdb__V_37_37 = (MR_Integer) ssdb__V_11_11;
#line 186 "ssdb.m"
                                    MR_Integer ssdb__V_38_38 = (MR_Integer) ssdb__V_19_19;

#line 186 "ssdb.m"
                                    {
#line 186 "ssdb.m"
                                      mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__V_37_37, ssdb__V_38_38);
#line 186 "ssdb.m"
                                      return;
                                    }
#line 186 "ssdb.m"
                                  }
#line 186 "ssdb.m"
                              }
#line 186 "ssdb.m"
                          }
#line 186 "ssdb.m"
                      }
#line 186 "ssdb.m"
                  }
#line 186 "ssdb.m"
              }
#line 186 "ssdb.m"
          }
#line 186 "ssdb.m"
      }
#line 186 "ssdb.m"
  }
#line 186 "ssdb.m"
}

#line 186 "ssdb.m"
static MR_bool MR_CALL 
ssdb____Unify____stack_frame_0_0(
#line 186 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 186 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2)
#line 186 "ssdb.m"
{
#line 186 "ssdb.m"
  {
#line 186 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 186 "ssdb.m"
    MR_Integer ssdb__CastX_19 = (MR_Integer) ssdb__HeadVar__1_1;
#line 186 "ssdb.m"
    MR_Integer ssdb__CastY_20 = (MR_Integer) ssdb__HeadVar__2_2;

#line 186 "ssdb.m"
    ssdb__succeeded = (ssdb__CastX_19 == ssdb__CastY_20);
#line 186 "ssdb.m"
    if (ssdb__succeeded)
#line 186 "ssdb.m"
      ssdb__succeeded = MR_TRUE;
#line 186 "ssdb.m"
    else
#line 186 "ssdb.m"
      {
#line 186 "ssdb.m"
        MR_Word ssdb__TypeInfo_21_21;
#line 186 "ssdb.m"
        MR_Integer ssdb__V_3_3 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 0)));
#line 186 "ssdb.m"
        MR_Integer ssdb__V_4_4 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 1)));
#line 186 "ssdb.m"
        MR_Integer ssdb__V_5_5 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 2)));
#line 186 "ssdb.m"
        MR_Word ssdb__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 3)));
#line 186 "ssdb.m"
        MR_String ssdb__V_7_7 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 4)));
#line 186 "ssdb.m"
        MR_Integer ssdb__V_8_8 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 5)));
#line 186 "ssdb.m"
        MR_Word ssdb__V_9_9 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 6)));
#line 186 "ssdb.m"
        MR_Word ssdb__V_10_10 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 7)));
#line 186 "ssdb.m"
        MR_Integer ssdb__V_11_11 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)));
#line 186 "ssdb.m"
        MR_Integer ssdb__V_12_12 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 1)));
#line 186 "ssdb.m"
        MR_Integer ssdb__V_13_13 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 2)));
#line 186 "ssdb.m"
        MR_Word ssdb__V_14_14 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 3)));
#line 186 "ssdb.m"
        MR_String ssdb__V_15_15 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 4)));
#line 186 "ssdb.m"
        MR_Integer ssdb__V_16_16 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 5)));
#line 186 "ssdb.m"
        MR_Word ssdb__V_17_17 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 6)));
#line 186 "ssdb.m"
        MR_Word ssdb__V_18_18 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 7)));

#line 11468 "ssdb.c"
        ssdb__succeeded = (ssdb__V_3_3 == ssdb__V_11_11);
#line 186 "ssdb.m"
        if (ssdb__succeeded)
#line 186 "ssdb.m"
          {
#line 11474 "ssdb.c"
            ssdb__succeeded = (ssdb__V_4_4 == ssdb__V_12_12);
#line 186 "ssdb.m"
            if (ssdb__succeeded)
#line 186 "ssdb.m"
              {
#line 11480 "ssdb.c"
                ssdb__succeeded = (ssdb__V_5_5 == ssdb__V_13_13);
#line 186 "ssdb.m"
                if (ssdb__succeeded)
#line 186 "ssdb.m"
                  {
#line 11486 "ssdb.c"
                    {
#line 11488 "ssdb.c"
                      ssdb__succeeded = ssdb____Unify____ssdb_proc_id_0_0(ssdb__V_6_6, ssdb__V_14_14);
                    }
#line 186 "ssdb.m"
                    if (ssdb__succeeded)
#line 186 "ssdb.m"
                      {
#line 11495 "ssdb.c"
                        ssdb__succeeded = (strcmp(ssdb__V_7_7, ssdb__V_15_15) == 0);
#line 186 "ssdb.m"
                        if (ssdb__succeeded)
#line 186 "ssdb.m"
                          {
#line 11501 "ssdb.c"
                            ssdb__succeeded = (ssdb__V_8_8 == ssdb__V_16_16);
#line 186 "ssdb.m"
                            if (ssdb__succeeded)
#line 186 "ssdb.m"
                              {
#line 11507 "ssdb.c"
                                ssdb__TypeInfo_21_21 = (MR_Word) &ssdb_scalar_common_1[1];
#line 11509 "ssdb.c"
                                {
#line 11511 "ssdb.c"
                                  ssdb__succeeded = mercury__builtin__unify_2_p_0(ssdb__TypeInfo_21_21, ((MR_Box) (ssdb__V_9_9)), ((MR_Box) (ssdb__V_17_17)));
                                }
#line 186 "ssdb.m"
                                if (ssdb__succeeded)
#line 11516 "ssdb.c"
                                  ssdb__succeeded = (ssdb__V_10_10 == ssdb__V_18_18);
#line 186 "ssdb.m"
                              }
#line 186 "ssdb.m"
                          }
#line 186 "ssdb.m"
                      }
#line 186 "ssdb.m"
                  }
#line 186 "ssdb.m"
              }
#line 186 "ssdb.m"
          }
#line 186 "ssdb.m"
      }
#line 186 "ssdb.m"
    return ssdb__succeeded;
#line 186 "ssdb.m"
  }
#line 186 "ssdb.m"
}

#line 45 "ssdb.m"
void MR_CALL 
ssdb____Compare____ssdb_tracing_level_0_0(
#line 45 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 45 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 45 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3)
#line 45 "ssdb.m"
{
#line 45 "ssdb.m"
  {
#line 45 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 45 "ssdb.m"
    MR_Integer ssdb__Cast_HeadVar1_4 = (MR_Integer) ssdb__HeadVar__2_2;
#line 45 "ssdb.m"
    MR_Integer ssdb__Cast_HeadVar2_5 = (MR_Integer) ssdb__HeadVar__3_3;

#line 45 "ssdb.m"
    {
#line 45 "ssdb.m"
      mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__Cast_HeadVar1_4, ssdb__Cast_HeadVar2_5);
#line 45 "ssdb.m"
      return;
    }
#line 45 "ssdb.m"
  }
#line 45 "ssdb.m"
}

#line 45 "ssdb.m"
MR_bool MR_CALL 
ssdb____Unify____ssdb_tracing_level_0_0(
#line 45 "ssdb.m"
  MR_Word ssdb__HeadVar__2_1,
#line 45 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2)
#line 45 "ssdb.m"
{
#line 11580 "ssdb.c"
  {
#line 11582 "ssdb.c"
    MR_bool ssdb__succeeded = (ssdb__HeadVar__2_1 == ssdb__HeadVar__2_2);

#line 11585 "ssdb.c"
    return ssdb__succeeded;
#line 11587 "ssdb.c"
  }
#line 45 "ssdb.m"
}

#line 52 "ssdb.m"
void MR_CALL 
ssdb____Compare____ssdb_retry_0_0(
#line 52 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 52 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 52 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3)
#line 52 "ssdb.m"
{
#line 52 "ssdb.m"
  {
#line 52 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 52 "ssdb.m"
    MR_Integer ssdb__Cast_HeadVar1_4 = (MR_Integer) ssdb__HeadVar__2_2;
#line 52 "ssdb.m"
    MR_Integer ssdb__Cast_HeadVar2_5 = (MR_Integer) ssdb__HeadVar__3_3;

#line 52 "ssdb.m"
    {
#line 52 "ssdb.m"
      mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__Cast_HeadVar1_4, ssdb__Cast_HeadVar2_5);
#line 52 "ssdb.m"
      return;
    }
#line 52 "ssdb.m"
  }
#line 52 "ssdb.m"
}

#line 52 "ssdb.m"
MR_bool MR_CALL 
ssdb____Unify____ssdb_retry_0_0(
#line 52 "ssdb.m"
  MR_Word ssdb__HeadVar__2_1,
#line 52 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2)
#line 52 "ssdb.m"
{
#line 11633 "ssdb.c"
  {
#line 11635 "ssdb.c"
    MR_bool ssdb__succeeded = (ssdb__HeadVar__2_1 == ssdb__HeadVar__2_2);

#line 11638 "ssdb.c"
    return ssdb__succeeded;
#line 11640 "ssdb.c"
  }
#line 52 "ssdb.m"
}

#line 29 "ssdb.m"
void MR_CALL 
ssdb____Compare____ssdb_proc_id_0_0(
#line 29 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 29 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 29 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3)
#line 29 "ssdb.m"
{
#line 29 "ssdb.m"
  {
#line 29 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 29 "ssdb.m"
    MR_Integer ssdb__CastX_9 = (MR_Integer) ssdb__HeadVar__2_2;
#line 29 "ssdb.m"
    MR_Integer ssdb__CastY_10 = (MR_Integer) ssdb__HeadVar__3_3;

#line 29 "ssdb.m"
    ssdb__succeeded = (ssdb__CastX_9 == ssdb__CastY_10);
#line 29 "ssdb.m"
    if (ssdb__succeeded)
#line 11669 "ssdb.c"
      *ssdb__HeadVar__1_1 = (MR_Integer) 0;
#line 29 "ssdb.m"
    else
#line 29 "ssdb.m"
      {
#line 29 "ssdb.m"
        MR_String ssdb__V_4_4 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)));
#line 29 "ssdb.m"
        MR_String ssdb__V_5_5 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 1)));
#line 29 "ssdb.m"
        MR_String ssdb__V_6_6 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 0)));
#line 29 "ssdb.m"
        MR_String ssdb__V_7_7 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 1)));
#line 29 "ssdb.m"
        MR_Word ssdb__V_8_8;

#line 29 "ssdb.m"
        {
#line 29 "ssdb.m"
          mercury__private_builtin__builtin_compare_string_3_p_0(&ssdb__V_8_8, ssdb__V_4_4, ssdb__V_6_6);
        }
#line 11691 "ssdb.c"
        ssdb__succeeded = (ssdb__V_8_8 == (MR_Integer) 0);
#line 29 "ssdb.m"
        ssdb__succeeded = !(ssdb__succeeded);
#line 29 "ssdb.m"
        if (ssdb__succeeded)
#line 29 "ssdb.m"
          *ssdb__HeadVar__1_1 = ssdb__V_8_8;
#line 29 "ssdb.m"
        else
#line 29 "ssdb.m"
          {
#line 29 "ssdb.m"
            mercury__private_builtin__builtin_compare_string_3_p_0(ssdb__HeadVar__1_1, ssdb__V_5_5, ssdb__V_7_7);
#line 29 "ssdb.m"
            return;
          }
#line 29 "ssdb.m"
      }
#line 29 "ssdb.m"
  }
#line 29 "ssdb.m"
}

#line 29 "ssdb.m"
MR_bool MR_CALL 
ssdb____Unify____ssdb_proc_id_0_0(
#line 29 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 29 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2)
#line 29 "ssdb.m"
{
#line 29 "ssdb.m"
  {
#line 29 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 29 "ssdb.m"
    MR_Integer ssdb__CastX_7 = (MR_Integer) ssdb__HeadVar__1_1;
#line 29 "ssdb.m"
    MR_Integer ssdb__CastY_8 = (MR_Integer) ssdb__HeadVar__2_2;

#line 29 "ssdb.m"
    ssdb__succeeded = (ssdb__CastX_7 == ssdb__CastY_8);
#line 29 "ssdb.m"
    if (ssdb__succeeded)
#line 29 "ssdb.m"
      ssdb__succeeded = MR_TRUE;
#line 29 "ssdb.m"
    else
#line 29 "ssdb.m"
      {
#line 29 "ssdb.m"
        MR_String ssdb__V_3_3 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 0)));
#line 29 "ssdb.m"
        MR_String ssdb__V_4_4 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 1)));
#line 29 "ssdb.m"
        MR_String ssdb__V_5_5 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)));
#line 29 "ssdb.m"
        MR_String ssdb__V_6_6 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 1)));

#line 11752 "ssdb.c"
        ssdb__succeeded = (strcmp(ssdb__V_3_3, ssdb__V_5_5) == 0);
#line 29 "ssdb.m"
        if (ssdb__succeeded)
#line 11756 "ssdb.c"
          ssdb__succeeded = (strcmp(ssdb__V_4_4, ssdb__V_6_6) == 0);
#line 29 "ssdb.m"
      }
#line 29 "ssdb.m"
    return ssdb__succeeded;
#line 29 "ssdb.m"
  }
#line 29 "ssdb.m"
}

#line 35 "ssdb.m"
void MR_CALL 
ssdb____Compare____ssdb_event_type_0_0(
#line 35 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 35 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 35 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3)
#line 35 "ssdb.m"
{
#line 35 "ssdb.m"
  {
#line 35 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 35 "ssdb.m"
    MR_Integer ssdb__Cast_HeadVar1_4 = (MR_Integer) ssdb__HeadVar__2_2;
#line 35 "ssdb.m"
    MR_Integer ssdb__Cast_HeadVar2_5 = (MR_Integer) ssdb__HeadVar__3_3;

#line 35 "ssdb.m"
    {
#line 35 "ssdb.m"
      mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__Cast_HeadVar1_4, ssdb__Cast_HeadVar2_5);
#line 35 "ssdb.m"
      return;
    }
#line 35 "ssdb.m"
  }
#line 35 "ssdb.m"
}

#line 35 "ssdb.m"
MR_bool MR_CALL 
ssdb____Unify____ssdb_event_type_0_0(
#line 35 "ssdb.m"
  MR_Word ssdb__HeadVar__2_1,
#line 35 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2)
#line 35 "ssdb.m"
{
#line 11808 "ssdb.c"
  {
#line 11810 "ssdb.c"
    MR_bool ssdb__succeeded = (ssdb__HeadVar__2_1 == ssdb__HeadVar__2_2);

#line 11813 "ssdb.c"
    return ssdb__succeeded;
#line 11815 "ssdb.c"
  }
#line 35 "ssdb.m"
}

#line 1404 "ssdb.m"
static void MR_CALL 
ssdb____Compare____ssdb_cmd_0_0(
#line 1404 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 1404 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 1404 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3)
#line 1404 "ssdb.m"
{
#line 1404 "ssdb.m"
  {
#line 1404 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 1404 "ssdb.m"
    MR_Integer ssdb__Cast_HeadVar1_4 = (MR_Integer) ssdb__HeadVar__2_2;
#line 1404 "ssdb.m"
    MR_Integer ssdb__Cast_HeadVar2_5 = (MR_Integer) ssdb__HeadVar__3_3;

#line 1404 "ssdb.m"
    {
#line 1404 "ssdb.m"
      mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__Cast_HeadVar1_4, ssdb__Cast_HeadVar2_5);
#line 1404 "ssdb.m"
      return;
    }
#line 1404 "ssdb.m"
  }
#line 1404 "ssdb.m"
}

#line 1404 "ssdb.m"
static MR_bool MR_CALL 
ssdb____Unify____ssdb_cmd_0_0(
#line 1404 "ssdb.m"
  MR_Word ssdb__HeadVar__2_1,
#line 1404 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2)
#line 1404 "ssdb.m"
{
#line 11861 "ssdb.c"
  {
#line 11863 "ssdb.c"
    MR_bool ssdb__succeeded = (ssdb__HeadVar__2_1 == ssdb__HeadVar__2_2);

#line 11866 "ssdb.c"
    return ssdb__succeeded;
#line 11868 "ssdb.c"
  }
#line 1404 "ssdb.m"
}

#line 75 "ssdb.m"
void MR_CALL 
ssdb____Compare____pos_0_0(
#line 75 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 75 "ssdb.m"
  MR_Integer ssdb__HeadVar__2_2,
#line 75 "ssdb.m"
  MR_Integer ssdb__HeadVar__3_3)
#line 75 "ssdb.m"
{
#line 75 "ssdb.m"
  {
#line 75 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 75 "ssdb.m"
    MR_Integer ssdb__Cast_HeadVar1_4 = ssdb__HeadVar__2_2;
#line 75 "ssdb.m"
    MR_Integer ssdb__Cast_HeadVar2_5 = ssdb__HeadVar__3_3;

#line 75 "ssdb.m"
    {
#line 75 "ssdb.m"
      mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__Cast_HeadVar1_4, ssdb__Cast_HeadVar2_5);
#line 75 "ssdb.m"
      return;
    }
#line 75 "ssdb.m"
  }
#line 75 "ssdb.m"
}

#line 75 "ssdb.m"
MR_bool MR_CALL 
ssdb____Unify____pos_0_0(
#line 75 "ssdb.m"
  MR_Integer ssdb__HeadVar__1_1,
#line 75 "ssdb.m"
  MR_Integer ssdb__HeadVar__2_2)
#line 75 "ssdb.m"
{
#line 75 "ssdb.m"
  {
#line 75 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 75 "ssdb.m"
    MR_Integer ssdb__Cast_HeadVar1_3 = ssdb__HeadVar__1_1;
#line 75 "ssdb.m"
    MR_Integer ssdb__Cast_HeadVar2_4 = ssdb__HeadVar__2_2;

#line 75 "ssdb.m"
    ssdb__succeeded = (ssdb__Cast_HeadVar1_3 == ssdb__Cast_HeadVar2_4);
#line 75 "ssdb.m"
    return ssdb__succeeded;
#line 75 "ssdb.m"
  }
#line 75 "ssdb.m"
}

#line 236 "ssdb.m"
static void MR_CALL 
ssdb____Compare____next_stop_0_0(
#line 236 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 236 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 236 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3)
#line 236 "ssdb.m"
{
#line 236 "ssdb.m"
  {
#line 236 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 236 "ssdb.m"
    MR_Integer ssdb__CastX_102 = (MR_Integer) ssdb__HeadVar__2_2;
#line 236 "ssdb.m"
    MR_Integer ssdb__CastY_103 = (MR_Integer) ssdb__HeadVar__3_3;

#line 236 "ssdb.m"
    ssdb__succeeded = (ssdb__CastX_102 == ssdb__CastY_103);
#line 236 "ssdb.m"
    if (ssdb__succeeded)
#line 11956 "ssdb.c"
      *ssdb__HeadVar__1_1 = (MR_Integer) 0;
#line 236 "ssdb.m"
    else
#line 236 "ssdb.m"
      if ((ssdb__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 236 "ssdb.m"
        if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 236 "ssdb.m"
          *ssdb__HeadVar__1_1 = (MR_Integer) 0;
#line 236 "ssdb.m"
        else
#line 236 "ssdb.m"
          if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 236 "ssdb.m"
            *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
          else
#line 236 "ssdb.m"
            if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 236 "ssdb.m"
              *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
            else
#line 236 "ssdb.m"
              if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 236 "ssdb.m"
                *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
              else
#line 236 "ssdb.m"
                if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 11988 "ssdb.c"
                  *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                else
#line 236 "ssdb.m"
                  if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 11994 "ssdb.c"
                    *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                  else
#line 236 "ssdb.m"
                    if (((((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 0))))
#line 12000 "ssdb.c"
                      *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                    else
#line 12004 "ssdb.c"
                      *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
      else
#line 236 "ssdb.m"
        if ((ssdb__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 236 "ssdb.m"
          if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 236 "ssdb.m"
            *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
          else
#line 236 "ssdb.m"
            if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 236 "ssdb.m"
              *ssdb__HeadVar__1_1 = (MR_Integer) 0;
#line 236 "ssdb.m"
            else
#line 236 "ssdb.m"
              if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 236 "ssdb.m"
                *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
              else
#line 236 "ssdb.m"
                if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 236 "ssdb.m"
                  *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                else
#line 236 "ssdb.m"
                  if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 12036 "ssdb.c"
                    *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                  else
#line 236 "ssdb.m"
                    if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 12042 "ssdb.c"
                      *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                    else
#line 236 "ssdb.m"
                      if (((((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 0))))
#line 12048 "ssdb.c"
                        *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                      else
#line 12052 "ssdb.c"
                        *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
        else
#line 236 "ssdb.m"
          if ((ssdb__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 236 "ssdb.m"
            if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 236 "ssdb.m"
              *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
            else
#line 236 "ssdb.m"
              if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 236 "ssdb.m"
                *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
              else
#line 236 "ssdb.m"
                if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 236 "ssdb.m"
                  *ssdb__HeadVar__1_1 = (MR_Integer) 0;
#line 236 "ssdb.m"
                else
#line 236 "ssdb.m"
                  if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 236 "ssdb.m"
                    *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                  else
#line 236 "ssdb.m"
                    if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 12084 "ssdb.c"
                      *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                    else
#line 236 "ssdb.m"
                      if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 12090 "ssdb.c"
                        *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                      else
#line 236 "ssdb.m"
                        if (((((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 0))))
#line 12096 "ssdb.c"
                          *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                        else
#line 12100 "ssdb.c"
                          *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
          else
#line 236 "ssdb.m"
            if ((ssdb__HeadVar__2_2 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 236 "ssdb.m"
              if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 236 "ssdb.m"
                *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
              else
#line 236 "ssdb.m"
                if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 236 "ssdb.m"
                  *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                else
#line 236 "ssdb.m"
                  if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 236 "ssdb.m"
                    *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                  else
#line 236 "ssdb.m"
                    if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 236 "ssdb.m"
                      *ssdb__HeadVar__1_1 = (MR_Integer) 0;
#line 236 "ssdb.m"
                    else
#line 236 "ssdb.m"
                      if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 12132 "ssdb.c"
                        *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                      else
#line 236 "ssdb.m"
                        if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 12138 "ssdb.c"
                          *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                        else
#line 236 "ssdb.m"
                          if (((((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 0))))
#line 12144 "ssdb.c"
                            *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                          else
#line 12148 "ssdb.c"
                            *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
            else
#line 236 "ssdb.m"
              if (((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2))))
#line 236 "ssdb.m"
                {
#line 236 "ssdb.m"
                  MR_Word ssdb__V_110_110 = ((MR_Word) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__2_2, (MR_Integer) 1)));
#line 236 "ssdb.m"
                  MR_Integer ssdb__V_111_111 = ((MR_Integer) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__2_2, (MR_Integer) 0)));

#line 236 "ssdb.m"
                  if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 12163 "ssdb.c"
                    *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                  else
#line 236 "ssdb.m"
                    if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 12169 "ssdb.c"
                      *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                    else
#line 236 "ssdb.m"
                      if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 12175 "ssdb.c"
                        *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                      else
#line 236 "ssdb.m"
                        if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 12181 "ssdb.c"
                          *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                        else
#line 236 "ssdb.m"
                          if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 236 "ssdb.m"
                            {
#line 236 "ssdb.m"
                              MR_Integer ssdb__V_39_39 = ((MR_Integer) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__3_3, (MR_Integer) 0)));
#line 236 "ssdb.m"
                              MR_Word ssdb__V_40_40 = ((MR_Word) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__3_3, (MR_Integer) 1)));
#line 236 "ssdb.m"
                              MR_Word ssdb__V_41_41;

#line 236 "ssdb.m"
                              {
#line 236 "ssdb.m"
                                mercury__private_builtin__builtin_compare_int_3_p_0(&ssdb__V_41_41, ssdb__V_111_111, ssdb__V_39_39);
                              }
#line 12201 "ssdb.c"
                              ssdb__succeeded = (ssdb__V_41_41 == (MR_Integer) 0);
#line 236 "ssdb.m"
                              ssdb__succeeded = !(ssdb__succeeded);
#line 236 "ssdb.m"
                              if (ssdb__succeeded)
#line 236 "ssdb.m"
                                *ssdb__HeadVar__1_1 = ssdb__V_41_41;
#line 236 "ssdb.m"
                              else
#line 236 "ssdb.m"
                                {
#line 236 "ssdb.m"
                                  MR_Integer ssdb__V_116_116 = (MR_Integer) ssdb__V_110_110;
#line 236 "ssdb.m"
                                  MR_Integer ssdb__V_117_117 = (MR_Integer) ssdb__V_40_40;

#line 236 "ssdb.m"
                                  {
#line 236 "ssdb.m"
                                    mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__V_116_116, ssdb__V_117_117);
#line 236 "ssdb.m"
                                    return;
                                  }
#line 236 "ssdb.m"
                                }
#line 236 "ssdb.m"
                            }
#line 236 "ssdb.m"
                          else
#line 236 "ssdb.m"
                            if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 12233 "ssdb.c"
                              *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                            else
#line 236 "ssdb.m"
                              if (((((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 0))))
#line 12239 "ssdb.c"
                                *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                              else
#line 12243 "ssdb.c"
                                *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                }
#line 236 "ssdb.m"
              else
#line 236 "ssdb.m"
                if (((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1))))
#line 236 "ssdb.m"
                  {
#line 236 "ssdb.m"
                    MR_Integer ssdb__V_115_115 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__2_2, (MR_Integer) 0)));

#line 236 "ssdb.m"
                    if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 12258 "ssdb.c"
                      *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                    else
#line 236 "ssdb.m"
                      if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 12264 "ssdb.c"
                        *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                      else
#line 236 "ssdb.m"
                        if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 12270 "ssdb.c"
                          *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                        else
#line 236 "ssdb.m"
                          if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 12276 "ssdb.c"
                            *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                          else
#line 236 "ssdb.m"
                            if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 12282 "ssdb.c"
                              *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                            else
#line 236 "ssdb.m"
                              if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 236 "ssdb.m"
                                {
#line 236 "ssdb.m"
                                  MR_Integer ssdb__V_12_12 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__3_3, (MR_Integer) 0)));

#line 236 "ssdb.m"
                                  {
#line 236 "ssdb.m"
                                    mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__V_115_115, ssdb__V_12_12);
#line 236 "ssdb.m"
                                    return;
                                  }
#line 236 "ssdb.m"
                                }
#line 236 "ssdb.m"
                              else
#line 236 "ssdb.m"
                                if (((((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 0))))
#line 12306 "ssdb.c"
                                  *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                                else
#line 12310 "ssdb.c"
                                  *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                  }
#line 236 "ssdb.m"
                else
#line 236 "ssdb.m"
                  if (((((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 0))))
#line 236 "ssdb.m"
                    {
#line 236 "ssdb.m"
                      MR_Word ssdb__V_112_112 = ((MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__2_2, (MR_Integer) 2)));
#line 236 "ssdb.m"
                      MR_Integer ssdb__V_113_113 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__2_2, (MR_Integer) 1)));

#line 236 "ssdb.m"
                      if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 12327 "ssdb.c"
                        *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                      else
#line 236 "ssdb.m"
                        if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 12333 "ssdb.c"
                          *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                        else
#line 236 "ssdb.m"
                          if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 12339 "ssdb.c"
                            *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                          else
#line 236 "ssdb.m"
                            if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 12345 "ssdb.c"
                              *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                            else
#line 236 "ssdb.m"
                              if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 12351 "ssdb.c"
                                *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                              else
#line 236 "ssdb.m"
                                if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 12357 "ssdb.c"
                                  *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                                else
#line 236 "ssdb.m"
                                  if (((((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 0))))
#line 236 "ssdb.m"
                                    {
#line 236 "ssdb.m"
                                      MR_Integer ssdb__V_66_66 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 1)));
#line 236 "ssdb.m"
                                      MR_Word ssdb__V_67_67 = ((MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 2)));
#line 236 "ssdb.m"
                                      MR_Word ssdb__V_68_68;

#line 236 "ssdb.m"
                                      {
#line 236 "ssdb.m"
                                        mercury__private_builtin__builtin_compare_int_3_p_0(&ssdb__V_68_68, ssdb__V_113_113, ssdb__V_66_66);
                                      }
#line 12377 "ssdb.c"
                                      ssdb__succeeded = (ssdb__V_68_68 == (MR_Integer) 0);
#line 236 "ssdb.m"
                                      ssdb__succeeded = !(ssdb__succeeded);
#line 236 "ssdb.m"
                                      if (ssdb__succeeded)
#line 236 "ssdb.m"
                                        *ssdb__HeadVar__1_1 = ssdb__V_68_68;
#line 236 "ssdb.m"
                                      else
#line 236 "ssdb.m"
                                        {
#line 236 "ssdb.m"
                                          MR_Integer ssdb__V_118_118 = (MR_Integer) ssdb__V_112_112;
#line 236 "ssdb.m"
                                          MR_Integer ssdb__V_119_119 = (MR_Integer) ssdb__V_67_67;

#line 236 "ssdb.m"
                                          {
#line 236 "ssdb.m"
                                            mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__V_118_118, ssdb__V_119_119);
#line 236 "ssdb.m"
                                            return;
                                          }
#line 236 "ssdb.m"
                                        }
#line 236 "ssdb.m"
                                    }
#line 236 "ssdb.m"
                                  else
#line 12407 "ssdb.c"
                                    *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                    }
#line 236 "ssdb.m"
                  else
#line 236 "ssdb.m"
                    {
#line 236 "ssdb.m"
                      MR_Integer ssdb__V_114_114 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__2_2, (MR_Integer) 1)));

#line 236 "ssdb.m"
                      if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 12420 "ssdb.c"
                        *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                      else
#line 236 "ssdb.m"
                        if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 12426 "ssdb.c"
                          *ssdb__HeadVar__1_1 = (MR_Integer) 1;
#line 236 "ssdb.m"
                        else
#line 236 "ssdb.m"
                          if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 12432 "ssdb.c"
                            *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                          else
#line 236 "ssdb.m"
                            if ((ssdb__HeadVar__3_3 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 12438 "ssdb.c"
                              *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                            else
#line 236 "ssdb.m"
                              if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 2))))
#line 12444 "ssdb.c"
                                *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                              else
#line 236 "ssdb.m"
                                if (((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 1))))
#line 12450 "ssdb.c"
                                  *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                                else
#line 236 "ssdb.m"
                                  if (((((MR_tag((MR_Word) ssdb__HeadVar__3_3)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 0)))) == (MR_Integer) 0))))
#line 12456 "ssdb.c"
                                    *ssdb__HeadVar__1_1 = (MR_Integer) 2;
#line 236 "ssdb.m"
                                  else
#line 236 "ssdb.m"
                                    {
#line 236 "ssdb.m"
                                      MR_Integer ssdb__V_94_94 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__3_3, (MR_Integer) 1)));

#line 236 "ssdb.m"
                                      {
#line 236 "ssdb.m"
                                        mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__V_114_114, ssdb__V_94_94);
#line 236 "ssdb.m"
                                        return;
                                      }
#line 236 "ssdb.m"
                                    }
#line 236 "ssdb.m"
                    }
#line 236 "ssdb.m"
  }
#line 236 "ssdb.m"
}

#line 236 "ssdb.m"
static MR_bool MR_CALL 
ssdb____Unify____next_stop_0_0(
#line 236 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 236 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2)
#line 236 "ssdb.m"
{
#line 236 "ssdb.m"
  {
#line 236 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 236 "ssdb.m"
    MR_Integer ssdb__CastX_23 = (MR_Integer) ssdb__HeadVar__1_1;
#line 236 "ssdb.m"
    MR_Integer ssdb__CastY_24 = (MR_Integer) ssdb__HeadVar__2_2;

#line 236 "ssdb.m"
    ssdb__succeeded = (ssdb__CastX_23 == ssdb__CastY_24);
#line 236 "ssdb.m"
    if (ssdb__succeeded)
#line 236 "ssdb.m"
      ssdb__succeeded = MR_TRUE;
#line 236 "ssdb.m"
    else
#line 236 "ssdb.m"
      if ((ssdb__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 236 "ssdb.m"
        {
#line 236 "ssdb.m"
          MR_Integer ssdb__CastX_7 = (MR_Integer) ssdb__HeadVar__1_1;
#line 236 "ssdb.m"
          MR_Integer ssdb__CastY_8 = (MR_Integer) ssdb__HeadVar__2_2;

#line 236 "ssdb.m"
          ssdb__succeeded = (ssdb__CastY_8 == ssdb__CastX_7);
#line 236 "ssdb.m"
        }
#line 236 "ssdb.m"
      else
#line 236 "ssdb.m"
        if ((ssdb__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 236 "ssdb.m"
          {
#line 236 "ssdb.m"
            MR_Integer ssdb__CastX_21 = (MR_Integer) ssdb__HeadVar__1_1;
#line 236 "ssdb.m"
            MR_Integer ssdb__CastY_22 = (MR_Integer) ssdb__HeadVar__2_2;

#line 236 "ssdb.m"
            ssdb__succeeded = (ssdb__CastY_22 == ssdb__CastX_21);
#line 236 "ssdb.m"
          }
#line 236 "ssdb.m"
        else
#line 236 "ssdb.m"
          if ((ssdb__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 236 "ssdb.m"
            {
#line 236 "ssdb.m"
              MR_Integer ssdb__CastX_17 = (MR_Integer) ssdb__HeadVar__1_1;
#line 236 "ssdb.m"
              MR_Integer ssdb__CastY_18 = (MR_Integer) ssdb__HeadVar__2_2;

#line 236 "ssdb.m"
              ssdb__succeeded = (ssdb__CastY_18 == ssdb__CastX_17);
#line 236 "ssdb.m"
            }
#line 236 "ssdb.m"
          else
#line 236 "ssdb.m"
            if ((ssdb__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 236 "ssdb.m"
              {
#line 236 "ssdb.m"
                MR_Integer ssdb__CastX_3 = (MR_Integer) ssdb__HeadVar__1_1;
#line 236 "ssdb.m"
                MR_Integer ssdb__CastY_4 = (MR_Integer) ssdb__HeadVar__2_2;

#line 236 "ssdb.m"
                ssdb__succeeded = (ssdb__CastY_4 == ssdb__CastX_3);
#line 236 "ssdb.m"
              }
#line 236 "ssdb.m"
            else
#line 236 "ssdb.m"
              if (((MR_tag((MR_Word) ssdb__HeadVar__1_1)) == (MR_mktag((MR_Integer) 2))))
#line 236 "ssdb.m"
                {
#line 236 "ssdb.m"
                  MR_Integer ssdb__V_9_9 = ((MR_Integer) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__1_1, (MR_Integer) 0)));
#line 236 "ssdb.m"
                  MR_Word ssdb__V_10_10 = ((MR_Word) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__1_1, (MR_Integer) 1)));
#line 236 "ssdb.m"
                  MR_Integer ssdb__V_11_11;
#line 236 "ssdb.m"
                  MR_Word ssdb__V_12_12;

#line 236 "ssdb.m"
                  ssdb__succeeded = ((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 2)));
#line 236 "ssdb.m"
                  if (ssdb__succeeded)
#line 236 "ssdb.m"
                    {
#line 236 "ssdb.m"
                      ssdb__V_11_11 = ((MR_Integer) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__2_2, (MR_Integer) 0)));
#line 236 "ssdb.m"
                      ssdb__V_12_12 = ((MR_Word) (MR_hl_field(MR_mktag(2), ssdb__HeadVar__2_2, (MR_Integer) 1)));
#line 12590 "ssdb.c"
                      ssdb__succeeded = (ssdb__V_9_9 == ssdb__V_11_11);
#line 236 "ssdb.m"
                      if (ssdb__succeeded)
#line 12594 "ssdb.c"
                        ssdb__succeeded = (ssdb__V_10_10 == ssdb__V_12_12);
#line 236 "ssdb.m"
                    }
#line 236 "ssdb.m"
                }
#line 236 "ssdb.m"
              else
#line 236 "ssdb.m"
                if (((MR_tag((MR_Word) ssdb__HeadVar__1_1)) == (MR_mktag((MR_Integer) 1))))
#line 236 "ssdb.m"
                  {
#line 236 "ssdb.m"
                    MR_Integer ssdb__V_5_5 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__1_1, (MR_Integer) 0)));
#line 236 "ssdb.m"
                    MR_Integer ssdb__V_6_6;

#line 236 "ssdb.m"
                    ssdb__succeeded = ((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 1)));
#line 236 "ssdb.m"
                    if (ssdb__succeeded)
#line 236 "ssdb.m"
                      {
#line 236 "ssdb.m"
                        ssdb__V_6_6 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__2_2, (MR_Integer) 0)));
#line 12619 "ssdb.c"
                        ssdb__succeeded = (ssdb__V_5_5 == ssdb__V_6_6);
#line 236 "ssdb.m"
                      }
#line 236 "ssdb.m"
                  }
#line 236 "ssdb.m"
                else
#line 236 "ssdb.m"
                  if (((((MR_tag((MR_Word) ssdb__HeadVar__1_1)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__1_1, (MR_Integer) 0)))) == (MR_Integer) 0))))
#line 236 "ssdb.m"
                    {
#line 236 "ssdb.m"
                      MR_Integer ssdb__V_13_13 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__1_1, (MR_Integer) 1)));
#line 236 "ssdb.m"
                      MR_Word ssdb__V_14_14 = ((MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__1_1, (MR_Integer) 2)));
#line 236 "ssdb.m"
                      MR_Integer ssdb__V_15_15;
#line 236 "ssdb.m"
                      MR_Word ssdb__V_16_16;

#line 236 "ssdb.m"
                      ssdb__succeeded = ((((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 0)));
#line 236 "ssdb.m"
                      if (ssdb__succeeded)
#line 236 "ssdb.m"
                        {
#line 236 "ssdb.m"
                          ssdb__V_15_15 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__2_2, (MR_Integer) 1)));
#line 236 "ssdb.m"
                          ssdb__V_16_16 = ((MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__2_2, (MR_Integer) 2)));
#line 12650 "ssdb.c"
                          ssdb__succeeded = (ssdb__V_13_13 == ssdb__V_15_15);
#line 236 "ssdb.m"
                          if (ssdb__succeeded)
#line 12654 "ssdb.c"
                            ssdb__succeeded = (ssdb__V_14_14 == ssdb__V_16_16);
#line 236 "ssdb.m"
                        }
#line 236 "ssdb.m"
                    }
#line 236 "ssdb.m"
                  else
#line 236 "ssdb.m"
                    {
#line 236 "ssdb.m"
                      MR_Integer ssdb__V_19_19 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__1_1, (MR_Integer) 1)));
#line 236 "ssdb.m"
                      MR_Integer ssdb__V_20_20;

#line 236 "ssdb.m"
                      ssdb__succeeded = ((((MR_tag((MR_Word) ssdb__HeadVar__2_2)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__2_2, (MR_Integer) 0)))) == (MR_Integer) 1)));
#line 236 "ssdb.m"
                      if (ssdb__succeeded)
#line 236 "ssdb.m"
                        {
#line 236 "ssdb.m"
                          ssdb__V_20_20 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__HeadVar__2_2, (MR_Integer) 1)));
#line 12677 "ssdb.c"
                          ssdb__succeeded = (ssdb__V_19_19 == ssdb__V_20_20);
#line 236 "ssdb.m"
                        }
#line 236 "ssdb.m"
                    }
#line 236 "ssdb.m"
    return ssdb__succeeded;
#line 236 "ssdb.m"
  }
#line 236 "ssdb.m"
}

#line 58 "ssdb.m"
void MR_CALL 
ssdb____Compare____list_var_value_0_0(
#line 58 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 58 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 58 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3)
#line 58 "ssdb.m"
{
#line 58 "ssdb.m"
  {
#line 58 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 58 "ssdb.m"
    MR_Word ssdb__Cast_HeadVar1_4 = ssdb__HeadVar__2_2;
#line 58 "ssdb.m"
    MR_Word ssdb__Cast_HeadVar2_5 = ssdb__HeadVar__3_3;

#line 58 "ssdb.m"
    {
#line 58 "ssdb.m"
      mercury__builtin__compare_3_p_0((MR_Word) &ssdb_scalar_common_1[1], ssdb__HeadVar__1_1, ((MR_Box) (ssdb__Cast_HeadVar1_4)), ((MR_Box) (ssdb__Cast_HeadVar2_5)));
#line 58 "ssdb.m"
      return;
    }
#line 58 "ssdb.m"
  }
#line 58 "ssdb.m"
}

#line 58 "ssdb.m"
MR_bool MR_CALL 
ssdb____Unify____list_var_value_0_0(
#line 58 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 58 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2)
#line 58 "ssdb.m"
{
#line 58 "ssdb.m"
  {
#line 58 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 58 "ssdb.m"
    MR_Word ssdb__Cast_HeadVar1_3 = ssdb__HeadVar__1_1;
#line 58 "ssdb.m"
    MR_Word ssdb__Cast_HeadVar2_4 = ssdb__HeadVar__2_2;

#line 58 "ssdb.m"
    {
#line 58 "ssdb.m"
      return ssdb__succeeded = mercury__builtin__unify_2_p_0((MR_Word) &ssdb_scalar_common_1[1], ((MR_Box) (ssdb__Cast_HeadVar1_3)), ((MR_Box) (ssdb__Cast_HeadVar2_4)));
    }
#line 58 "ssdb.m"
    return ssdb__succeeded;
#line 58 "ssdb.m"
  }
#line 58 "ssdb.m"
}

#line 211 "ssdb.m"
static void MR_CALL 
ssdb____Compare____list_params_0_0(
#line 211 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 211 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 211 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3)
#line 211 "ssdb.m"
{
#line 211 "ssdb.m"
  {
#line 211 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 211 "ssdb.m"
    MR_Integer ssdb__CastX_9 = (MR_Integer) ssdb__HeadVar__2_2;
#line 211 "ssdb.m"
    MR_Integer ssdb__CastY_10 = (MR_Integer) ssdb__HeadVar__3_3;

#line 211 "ssdb.m"
    ssdb__succeeded = (ssdb__CastX_9 == ssdb__CastY_10);
#line 211 "ssdb.m"
    if (ssdb__succeeded)
#line 12776 "ssdb.c"
      *ssdb__HeadVar__1_1 = (MR_Integer) 0;
#line 211 "ssdb.m"
    else
#line 211 "ssdb.m"
      {
#line 211 "ssdb.m"
        MR_Word ssdb__V_4_4 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)));
#line 211 "ssdb.m"
        MR_Integer ssdb__V_5_5 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 1)));
#line 211 "ssdb.m"
        MR_Word ssdb__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 0)));
#line 211 "ssdb.m"
        MR_Integer ssdb__V_7_7 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 1)));
#line 211 "ssdb.m"
        MR_Word ssdb__V_8_8;

#line 211 "ssdb.m"
        {
#line 211 "ssdb.m"
          mercury__builtin__compare_3_p_0((MR_Word) &mdb__listing__mdb__listing__type_ctor_info_search_path_0, &ssdb__V_8_8, ((MR_Box) (ssdb__V_4_4)), ((MR_Box) (ssdb__V_6_6)));
        }
#line 12798 "ssdb.c"
        ssdb__succeeded = (ssdb__V_8_8 == (MR_Integer) 0);
#line 211 "ssdb.m"
        ssdb__succeeded = !(ssdb__succeeded);
#line 211 "ssdb.m"
        if (ssdb__succeeded)
#line 211 "ssdb.m"
          *ssdb__HeadVar__1_1 = ssdb__V_8_8;
#line 211 "ssdb.m"
        else
#line 211 "ssdb.m"
          {
#line 211 "ssdb.m"
            mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__V_5_5, ssdb__V_7_7);
#line 211 "ssdb.m"
            return;
          }
#line 211 "ssdb.m"
      }
#line 211 "ssdb.m"
  }
#line 211 "ssdb.m"
}

#line 211 "ssdb.m"
static MR_bool MR_CALL 
ssdb____Unify____list_params_0_0(
#line 211 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 211 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2)
#line 211 "ssdb.m"
{
#line 211 "ssdb.m"
  {
#line 211 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 211 "ssdb.m"
    MR_Integer ssdb__CastX_7 = (MR_Integer) ssdb__HeadVar__1_1;
#line 211 "ssdb.m"
    MR_Integer ssdb__CastY_8 = (MR_Integer) ssdb__HeadVar__2_2;

#line 211 "ssdb.m"
    ssdb__succeeded = (ssdb__CastX_7 == ssdb__CastY_8);
#line 211 "ssdb.m"
    if (ssdb__succeeded)
#line 211 "ssdb.m"
      ssdb__succeeded = MR_TRUE;
#line 211 "ssdb.m"
    else
#line 211 "ssdb.m"
      {
#line 211 "ssdb.m"
        MR_Word ssdb__V_3_3 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 0)));
#line 211 "ssdb.m"
        MR_Integer ssdb__V_4_4 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 1)));
#line 211 "ssdb.m"
        MR_Word ssdb__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)));
#line 211 "ssdb.m"
        MR_Integer ssdb__V_6_6 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 1)));

#line 12859 "ssdb.c"
        {
#line 12861 "ssdb.c"
          ssdb__succeeded = mercury__builtin__unify_2_p_0((MR_Word) &mdb__listing__mdb__listing__type_ctor_info_search_path_0, ((MR_Box) (ssdb__V_3_3)), ((MR_Box) (ssdb__V_5_5)));
        }
#line 211 "ssdb.m"
        if (ssdb__succeeded)
#line 12866 "ssdb.c"
          ssdb__succeeded = (ssdb__V_4_4 == ssdb__V_6_6);
#line 211 "ssdb.m"
      }
#line 211 "ssdb.m"
    return ssdb__succeeded;
#line 211 "ssdb.m"
  }
#line 211 "ssdb.m"
}

#line 2248 "ssdb.m"
static void MR_CALL 
ssdb____Compare____format_config_0_0(
#line 2248 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 2248 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 2248 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3)
#line 2248 "ssdb.m"
{
#line 2248 "ssdb.m"
  {
#line 2248 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 2248 "ssdb.m"
    MR_Integer ssdb__CastX_24 = (MR_Integer) ssdb__HeadVar__2_2;
#line 2248 "ssdb.m"
    MR_Integer ssdb__CastY_25 = (MR_Integer) ssdb__HeadVar__3_3;

#line 2248 "ssdb.m"
    ssdb__succeeded = (ssdb__CastX_24 == ssdb__CastY_25);
#line 2248 "ssdb.m"
    if (ssdb__succeeded)
#line 12901 "ssdb.c"
      *ssdb__HeadVar__1_1 = (MR_Integer) 0;
#line 2248 "ssdb.m"
    else
#line 2248 "ssdb.m"
      {
#line 2248 "ssdb.m"
        MR_Word ssdb__V_4_4 = ((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)))) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_5_5 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)))) >> (MR_Integer) 1)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_6_6 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)))) >> (MR_Integer) 2)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_7_7 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)))) >> (MR_Integer) 3)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_8_8 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)))) >> (MR_Integer) 4)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_9_9 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)))) >> (MR_Integer) 5)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_10_10 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)))) >> (MR_Integer) 6)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_11_11 = ((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 0)))) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_12_12 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 0)))) >> (MR_Integer) 1)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_13_13 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 0)))) >> (MR_Integer) 2)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_14_14 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 0)))) >> (MR_Integer) 3)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_15_15 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 0)))) >> (MR_Integer) 4)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_16_16 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 0)))) >> (MR_Integer) 5)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_17_17 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 0)))) >> (MR_Integer) 6)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_18_18;
#line 2248 "ssdb.m"
        MR_Integer ssdb__V_33_33 = (MR_Integer) ssdb__V_4_4;
#line 2248 "ssdb.m"
        MR_Integer ssdb__V_34_34 = (MR_Integer) ssdb__V_11_11;

#line 2248 "ssdb.m"
        {
#line 2248 "ssdb.m"
          mercury__private_builtin__builtin_compare_int_3_p_0(&ssdb__V_18_18, ssdb__V_33_33, ssdb__V_34_34);
        }
#line 12947 "ssdb.c"
        ssdb__succeeded = (ssdb__V_18_18 == (MR_Integer) 0);
#line 2248 "ssdb.m"
        ssdb__succeeded = !(ssdb__succeeded);
#line 2248 "ssdb.m"
        if (ssdb__succeeded)
#line 2248 "ssdb.m"
          *ssdb__HeadVar__1_1 = ssdb__V_18_18;
#line 2248 "ssdb.m"
        else
#line 2248 "ssdb.m"
          {
#line 2248 "ssdb.m"
            MR_Word ssdb__V_19_19;
#line 2248 "ssdb.m"
            MR_Integer ssdb__V_35_35 = (MR_Integer) ssdb__V_5_5;
#line 2248 "ssdb.m"
            MR_Integer ssdb__V_36_36 = (MR_Integer) ssdb__V_12_12;

#line 2248 "ssdb.m"
            {
#line 2248 "ssdb.m"
              mercury__private_builtin__builtin_compare_int_3_p_0(&ssdb__V_19_19, ssdb__V_35_35, ssdb__V_36_36);
            }
#line 12971 "ssdb.c"
            ssdb__succeeded = (ssdb__V_19_19 == (MR_Integer) 0);
#line 2248 "ssdb.m"
            ssdb__succeeded = !(ssdb__succeeded);
#line 2248 "ssdb.m"
            if (ssdb__succeeded)
#line 2248 "ssdb.m"
              *ssdb__HeadVar__1_1 = ssdb__V_19_19;
#line 2248 "ssdb.m"
            else
#line 2248 "ssdb.m"
              {
#line 2248 "ssdb.m"
                MR_Word ssdb__V_20_20;
#line 2248 "ssdb.m"
                MR_Integer ssdb__V_37_37 = (MR_Integer) ssdb__V_6_6;
#line 2248 "ssdb.m"
                MR_Integer ssdb__V_38_38 = (MR_Integer) ssdb__V_13_13;

#line 2248 "ssdb.m"
                {
#line 2248 "ssdb.m"
                  mercury__private_builtin__builtin_compare_int_3_p_0(&ssdb__V_20_20, ssdb__V_37_37, ssdb__V_38_38);
                }
#line 12995 "ssdb.c"
                ssdb__succeeded = (ssdb__V_20_20 == (MR_Integer) 0);
#line 2248 "ssdb.m"
                ssdb__succeeded = !(ssdb__succeeded);
#line 2248 "ssdb.m"
                if (ssdb__succeeded)
#line 2248 "ssdb.m"
                  *ssdb__HeadVar__1_1 = ssdb__V_20_20;
#line 2248 "ssdb.m"
                else
#line 2248 "ssdb.m"
                  {
#line 2248 "ssdb.m"
                    MR_Word ssdb__V_21_21;
#line 2248 "ssdb.m"
                    MR_Integer ssdb__V_39_39 = (MR_Integer) ssdb__V_7_7;
#line 2248 "ssdb.m"
                    MR_Integer ssdb__V_40_40 = (MR_Integer) ssdb__V_14_14;

#line 2248 "ssdb.m"
                    {
#line 2248 "ssdb.m"
                      mercury__private_builtin__builtin_compare_int_3_p_0(&ssdb__V_21_21, ssdb__V_39_39, ssdb__V_40_40);
                    }
#line 13019 "ssdb.c"
                    ssdb__succeeded = (ssdb__V_21_21 == (MR_Integer) 0);
#line 2248 "ssdb.m"
                    ssdb__succeeded = !(ssdb__succeeded);
#line 2248 "ssdb.m"
                    if (ssdb__succeeded)
#line 2248 "ssdb.m"
                      *ssdb__HeadVar__1_1 = ssdb__V_21_21;
#line 2248 "ssdb.m"
                    else
#line 2248 "ssdb.m"
                      {
#line 2248 "ssdb.m"
                        MR_Word ssdb__V_22_22;
#line 2248 "ssdb.m"
                        MR_Integer ssdb__V_41_41 = (MR_Integer) ssdb__V_8_8;
#line 2248 "ssdb.m"
                        MR_Integer ssdb__V_42_42 = (MR_Integer) ssdb__V_15_15;

#line 2248 "ssdb.m"
                        {
#line 2248 "ssdb.m"
                          mercury__private_builtin__builtin_compare_int_3_p_0(&ssdb__V_22_22, ssdb__V_41_41, ssdb__V_42_42);
                        }
#line 13043 "ssdb.c"
                        ssdb__succeeded = (ssdb__V_22_22 == (MR_Integer) 0);
#line 2248 "ssdb.m"
                        ssdb__succeeded = !(ssdb__succeeded);
#line 2248 "ssdb.m"
                        if (ssdb__succeeded)
#line 2248 "ssdb.m"
                          *ssdb__HeadVar__1_1 = ssdb__V_22_22;
#line 2248 "ssdb.m"
                        else
#line 2248 "ssdb.m"
                          {
#line 2248 "ssdb.m"
                            MR_Word ssdb__V_23_23;
#line 2248 "ssdb.m"
                            MR_Integer ssdb__V_43_43 = (MR_Integer) ssdb__V_9_9;
#line 2248 "ssdb.m"
                            MR_Integer ssdb__V_44_44 = (MR_Integer) ssdb__V_16_16;

#line 2248 "ssdb.m"
                            {
#line 2248 "ssdb.m"
                              mercury__private_builtin__builtin_compare_int_3_p_0(&ssdb__V_23_23, ssdb__V_43_43, ssdb__V_44_44);
                            }
#line 13067 "ssdb.c"
                            ssdb__succeeded = (ssdb__V_23_23 == (MR_Integer) 0);
#line 2248 "ssdb.m"
                            ssdb__succeeded = !(ssdb__succeeded);
#line 2248 "ssdb.m"
                            if (ssdb__succeeded)
#line 2248 "ssdb.m"
                              *ssdb__HeadVar__1_1 = ssdb__V_23_23;
#line 2248 "ssdb.m"
                            else
#line 2248 "ssdb.m"
                              {
#line 2248 "ssdb.m"
                                MR_Integer ssdb__V_45_45 = (MR_Integer) ssdb__V_10_10;
#line 2248 "ssdb.m"
                                MR_Integer ssdb__V_46_46 = (MR_Integer) ssdb__V_17_17;

#line 2248 "ssdb.m"
                                {
#line 2248 "ssdb.m"
                                  mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__V_45_45, ssdb__V_46_46);
#line 2248 "ssdb.m"
                                  return;
                                }
#line 2248 "ssdb.m"
                              }
#line 2248 "ssdb.m"
                          }
#line 2248 "ssdb.m"
                      }
#line 2248 "ssdb.m"
                  }
#line 2248 "ssdb.m"
              }
#line 2248 "ssdb.m"
          }
#line 2248 "ssdb.m"
      }
#line 2248 "ssdb.m"
  }
#line 2248 "ssdb.m"
}

#line 2248 "ssdb.m"
static MR_bool MR_CALL 
ssdb____Unify____format_config_0_0(
#line 2248 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 2248 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2)
#line 2248 "ssdb.m"
{
#line 2248 "ssdb.m"
  {
#line 2248 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 2248 "ssdb.m"
    MR_Integer ssdb__CastX_17 = (MR_Integer) ssdb__HeadVar__1_1;
#line 2248 "ssdb.m"
    MR_Integer ssdb__CastY_18 = (MR_Integer) ssdb__HeadVar__2_2;

#line 2248 "ssdb.m"
    ssdb__succeeded = (ssdb__CastX_17 == ssdb__CastY_18);
#line 2248 "ssdb.m"
    if (ssdb__succeeded)
#line 2248 "ssdb.m"
      ssdb__succeeded = MR_TRUE;
#line 2248 "ssdb.m"
    else
#line 2248 "ssdb.m"
      {
#line 2248 "ssdb.m"
        MR_Word ssdb__V_3_3 = ((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 0)))) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_4_4 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 0)))) >> (MR_Integer) 1)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_5_5 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 0)))) >> (MR_Integer) 2)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_6_6 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 0)))) >> (MR_Integer) 3)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_7_7 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 0)))) >> (MR_Integer) 4)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_8_8 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 0)))) >> (MR_Integer) 5)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_9_9 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 0)))) >> (MR_Integer) 6)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_10_10 = ((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)))) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_11_11 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)))) >> (MR_Integer) 1)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_12_12 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)))) >> (MR_Integer) 2)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_13_13 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)))) >> (MR_Integer) 3)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_14_14 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)))) >> (MR_Integer) 4)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_15_15 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)))) >> (MR_Integer) 5)) & (MR_Integer) 1);
#line 2248 "ssdb.m"
        MR_Word ssdb__V_16_16 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)))) >> (MR_Integer) 6)) & (MR_Integer) 1);

#line 13167 "ssdb.c"
        ssdb__succeeded = (ssdb__V_3_3 == ssdb__V_10_10);
#line 2248 "ssdb.m"
        if (ssdb__succeeded)
#line 2248 "ssdb.m"
          {
#line 13173 "ssdb.c"
            ssdb__succeeded = (ssdb__V_4_4 == ssdb__V_11_11);
#line 2248 "ssdb.m"
            if (ssdb__succeeded)
#line 2248 "ssdb.m"
              {
#line 13179 "ssdb.c"
                ssdb__succeeded = (ssdb__V_5_5 == ssdb__V_12_12);
#line 2248 "ssdb.m"
                if (ssdb__succeeded)
#line 2248 "ssdb.m"
                  {
#line 13185 "ssdb.c"
                    ssdb__succeeded = (ssdb__V_6_6 == ssdb__V_13_13);
#line 2248 "ssdb.m"
                    if (ssdb__succeeded)
#line 2248 "ssdb.m"
                      {
#line 13191 "ssdb.c"
                        ssdb__succeeded = (ssdb__V_7_7 == ssdb__V_14_14);
#line 2248 "ssdb.m"
                        if (ssdb__succeeded)
#line 2248 "ssdb.m"
                          {
#line 13197 "ssdb.c"
                            ssdb__succeeded = (ssdb__V_8_8 == ssdb__V_15_15);
#line 2248 "ssdb.m"
                            if (ssdb__succeeded)
#line 13201 "ssdb.c"
                              ssdb__succeeded = (ssdb__V_9_9 == ssdb__V_16_16);
#line 2248 "ssdb.m"
                          }
#line 2248 "ssdb.m"
                      }
#line 2248 "ssdb.m"
                  }
#line 2248 "ssdb.m"
              }
#line 2248 "ssdb.m"
          }
#line 2248 "ssdb.m"
      }
#line 2248 "ssdb.m"
    return ssdb__succeeded;
#line 2248 "ssdb.m"
  }
#line 2248 "ssdb.m"
}

#line 184 "ssdb.m"
void MR_CALL 
ssdb____Compare____debugging_paused_0_0(
#line 184 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 184 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 184 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3)
#line 184 "ssdb.m"
{
#line 184 "ssdb.m"
  {
#line 184 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 184 "ssdb.m"
    MR_Word ssdb__Cast_HeadVar1_4 = ssdb__HeadVar__2_2;
#line 184 "ssdb.m"
    MR_Word ssdb__Cast_HeadVar2_5 = ssdb__HeadVar__3_3;
#line 184 "ssdb.m"
    MR_Integer ssdb__V_7_7 = (MR_Integer) ssdb__Cast_HeadVar1_4;
#line 184 "ssdb.m"
    MR_Integer ssdb__V_8_8 = (MR_Integer) ssdb__Cast_HeadVar2_5;

#line 184 "ssdb.m"
    {
#line 184 "ssdb.m"
      mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__V_7_7, ssdb__V_8_8);
#line 184 "ssdb.m"
      return;
    }
#line 184 "ssdb.m"
  }
#line 184 "ssdb.m"
}

#line 184 "ssdb.m"
MR_bool MR_CALL 
ssdb____Unify____debugging_paused_0_0(
#line 184 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 184 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2)
#line 184 "ssdb.m"
{
#line 184 "ssdb.m"
  {
#line 184 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 184 "ssdb.m"
    MR_Word ssdb__Cast_HeadVar1_3 = ssdb__HeadVar__1_1;
#line 184 "ssdb.m"
    MR_Word ssdb__Cast_HeadVar2_4 = ssdb__HeadVar__2_2;

#line 184 "ssdb.m"
    ssdb__succeeded = (ssdb__Cast_HeadVar1_3 == ssdb__Cast_HeadVar2_4);
#line 184 "ssdb.m"
    return ssdb__succeeded;
#line 184 "ssdb.m"
  }
#line 184 "ssdb.m"
}

#line 180 "ssdb.m"
void MR_CALL 
ssdb____Compare____debugger_state_0_0(
#line 180 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 180 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 180 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3)
#line 180 "ssdb.m"
{
#line 180 "ssdb.m"
  {
#line 180 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 180 "ssdb.m"
    MR_Integer ssdb__Cast_HeadVar1_4 = (MR_Integer) ssdb__HeadVar__2_2;
#line 180 "ssdb.m"
    MR_Integer ssdb__Cast_HeadVar2_5 = (MR_Integer) ssdb__HeadVar__3_3;

#line 180 "ssdb.m"
    {
#line 180 "ssdb.m"
      mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__Cast_HeadVar1_4, ssdb__Cast_HeadVar2_5);
#line 180 "ssdb.m"
      return;
    }
#line 180 "ssdb.m"
  }
#line 180 "ssdb.m"
}

#line 180 "ssdb.m"
MR_bool MR_CALL 
ssdb____Unify____debugger_state_0_0(
#line 180 "ssdb.m"
  MR_Word ssdb__HeadVar__2_1,
#line 180 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2)
#line 180 "ssdb.m"
{
#line 13326 "ssdb.c"
  {
#line 13328 "ssdb.c"
    MR_bool ssdb__succeeded = (ssdb__HeadVar__2_1 == ssdb__HeadVar__2_2);

#line 13331 "ssdb.c"
    return ssdb__succeeded;
#line 13333 "ssdb.c"
  }
#line 180 "ssdb.m"
}

#line 264 "ssdb.m"
static void MR_CALL 
ssdb____Compare____breakpoints_map_0_0(
#line 264 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 264 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 264 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3)
#line 264 "ssdb.m"
{
#line 264 "ssdb.m"
  {
#line 264 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 264 "ssdb.m"
    MR_Word ssdb__Cast_HeadVar1_4 = ssdb__HeadVar__2_2;
#line 264 "ssdb.m"
    MR_Word ssdb__Cast_HeadVar2_5 = ssdb__HeadVar__3_3;

#line 264 "ssdb.m"
    {
#line 264 "ssdb.m"
      mercury__builtin__compare_3_p_0((MR_Word) &ssdb_scalar_common_2[0], ssdb__HeadVar__1_1, ((MR_Box) (ssdb__Cast_HeadVar1_4)), ((MR_Box) (ssdb__Cast_HeadVar2_5)));
#line 264 "ssdb.m"
      return;
    }
#line 264 "ssdb.m"
  }
#line 264 "ssdb.m"
}

#line 264 "ssdb.m"
static MR_bool MR_CALL 
ssdb____Unify____breakpoints_map_0_0(
#line 264 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 264 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2)
#line 264 "ssdb.m"
{
#line 264 "ssdb.m"
  {
#line 264 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 264 "ssdb.m"
    MR_Word ssdb__Cast_HeadVar1_3 = ssdb__HeadVar__1_1;
#line 264 "ssdb.m"
    MR_Word ssdb__Cast_HeadVar2_4 = ssdb__HeadVar__2_2;

#line 264 "ssdb.m"
    {
#line 264 "ssdb.m"
      return ssdb__succeeded = mercury__builtin__unify_2_p_0((MR_Word) &ssdb_scalar_common_2[0], ((MR_Box) (ssdb__Cast_HeadVar1_3)), ((MR_Box) (ssdb__Cast_HeadVar2_4)));
    }
#line 264 "ssdb.m"
    return ssdb__succeeded;
#line 264 "ssdb.m"
  }
#line 264 "ssdb.m"
}

#line 266 "ssdb.m"
static void MR_CALL 
ssdb____Compare____breakpoint_0_0(
#line 266 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 266 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 266 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3)
#line 266 "ssdb.m"
{
#line 266 "ssdb.m"
  {
#line 266 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 266 "ssdb.m"
    MR_Integer ssdb__CastX_12 = (MR_Integer) ssdb__HeadVar__2_2;
#line 266 "ssdb.m"
    MR_Integer ssdb__CastY_13 = (MR_Integer) ssdb__HeadVar__3_3;

#line 266 "ssdb.m"
    ssdb__succeeded = (ssdb__CastX_12 == ssdb__CastY_13);
#line 266 "ssdb.m"
    if (ssdb__succeeded)
#line 13424 "ssdb.c"
      *ssdb__HeadVar__1_1 = (MR_Integer) 0;
#line 266 "ssdb.m"
    else
#line 266 "ssdb.m"
      {
#line 266 "ssdb.m"
        MR_Integer ssdb__V_4_4 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)));
#line 266 "ssdb.m"
        MR_Word ssdb__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 1)));
#line 266 "ssdb.m"
        MR_Word ssdb__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 2)));
#line 266 "ssdb.m"
        MR_Integer ssdb__V_7_7 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 0)));
#line 266 "ssdb.m"
        MR_Word ssdb__V_8_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 1)));
#line 266 "ssdb.m"
        MR_Word ssdb__V_9_9 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__3_3, (MR_Integer) 2)));
#line 266 "ssdb.m"
        MR_Word ssdb__V_10_10;

#line 266 "ssdb.m"
        {
#line 266 "ssdb.m"
          mercury__private_builtin__builtin_compare_int_3_p_0(&ssdb__V_10_10, ssdb__V_4_4, ssdb__V_7_7);
        }
#line 13450 "ssdb.c"
        ssdb__succeeded = (ssdb__V_10_10 == (MR_Integer) 0);
#line 266 "ssdb.m"
        ssdb__succeeded = !(ssdb__succeeded);
#line 266 "ssdb.m"
        if (ssdb__succeeded)
#line 266 "ssdb.m"
          *ssdb__HeadVar__1_1 = ssdb__V_10_10;
#line 266 "ssdb.m"
        else
#line 266 "ssdb.m"
          {
#line 266 "ssdb.m"
            MR_Word ssdb__V_11_11;

#line 266 "ssdb.m"
            {
#line 266 "ssdb.m"
              ssdb____Compare____ssdb_proc_id_0_0(&ssdb__V_11_11, ssdb__V_5_5, ssdb__V_8_8);
            }
#line 13470 "ssdb.c"
            ssdb__succeeded = (ssdb__V_11_11 == (MR_Integer) 0);
#line 266 "ssdb.m"
            ssdb__succeeded = !(ssdb__succeeded);
#line 266 "ssdb.m"
            if (ssdb__succeeded)
#line 266 "ssdb.m"
              *ssdb__HeadVar__1_1 = ssdb__V_11_11;
#line 266 "ssdb.m"
            else
#line 266 "ssdb.m"
              {
#line 266 "ssdb.m"
                MR_Integer ssdb__V_17_17 = (MR_Integer) ssdb__V_6_6;
#line 266 "ssdb.m"
                MR_Integer ssdb__V_18_18 = (MR_Integer) ssdb__V_9_9;

#line 266 "ssdb.m"
                {
#line 266 "ssdb.m"
                  mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__V_17_17, ssdb__V_18_18);
#line 266 "ssdb.m"
                  return;
                }
#line 266 "ssdb.m"
              }
#line 266 "ssdb.m"
          }
#line 266 "ssdb.m"
      }
#line 266 "ssdb.m"
  }
#line 266 "ssdb.m"
}

#line 266 "ssdb.m"
static MR_bool MR_CALL 
ssdb____Unify____breakpoint_0_0(
#line 266 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 266 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2)
#line 266 "ssdb.m"
{
#line 266 "ssdb.m"
  {
#line 266 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 266 "ssdb.m"
    MR_Integer ssdb__CastX_9 = (MR_Integer) ssdb__HeadVar__1_1;
#line 266 "ssdb.m"
    MR_Integer ssdb__CastY_10 = (MR_Integer) ssdb__HeadVar__2_2;

#line 266 "ssdb.m"
    ssdb__succeeded = (ssdb__CastX_9 == ssdb__CastY_10);
#line 266 "ssdb.m"
    if (ssdb__succeeded)
#line 266 "ssdb.m"
      ssdb__succeeded = MR_TRUE;
#line 266 "ssdb.m"
    else
#line 266 "ssdb.m"
      {
#line 266 "ssdb.m"
        MR_Integer ssdb__V_3_3 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 0)));
#line 266 "ssdb.m"
        MR_Word ssdb__V_4_4 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 1)));
#line 266 "ssdb.m"
        MR_Word ssdb__V_5_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 2)));
#line 266 "ssdb.m"
        MR_Integer ssdb__V_6_6 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 0)));
#line 266 "ssdb.m"
        MR_Word ssdb__V_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 1)));
#line 266 "ssdb.m"
        MR_Word ssdb__V_8_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__2_2, (MR_Integer) 2)));

#line 13546 "ssdb.c"
        ssdb__succeeded = (ssdb__V_3_3 == ssdb__V_6_6);
#line 266 "ssdb.m"
        if (ssdb__succeeded)
#line 266 "ssdb.m"
          {
#line 13552 "ssdb.c"
            {
#line 13554 "ssdb.c"
              ssdb__succeeded = ssdb____Unify____ssdb_proc_id_0_0(ssdb__V_4_4, ssdb__V_7_7);
            }
#line 266 "ssdb.m"
            if (ssdb__succeeded)
#line 13559 "ssdb.c"
              ssdb__succeeded = (ssdb__V_5_5 == ssdb__V_8_8);
#line 266 "ssdb.m"
          }
#line 266 "ssdb.m"
      }
#line 266 "ssdb.m"
    return ssdb__succeeded;
#line 266 "ssdb.m"
  }
#line 266 "ssdb.m"
}

#line 273 "ssdb.m"
static void MR_CALL 
ssdb____Compare____bp_state_0_0(
#line 273 "ssdb.m"
  MR_Word * ssdb__HeadVar__1_1,
#line 273 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2,
#line 273 "ssdb.m"
  MR_Word ssdb__HeadVar__3_3)
#line 273 "ssdb.m"
{
#line 273 "ssdb.m"
  {
#line 273 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 273 "ssdb.m"
    MR_Integer ssdb__Cast_HeadVar1_4 = (MR_Integer) ssdb__HeadVar__2_2;
#line 273 "ssdb.m"
    MR_Integer ssdb__Cast_HeadVar2_5 = (MR_Integer) ssdb__HeadVar__3_3;

#line 273 "ssdb.m"
    {
#line 273 "ssdb.m"
      mercury__private_builtin__builtin_compare_int_3_p_0(ssdb__HeadVar__1_1, ssdb__Cast_HeadVar1_4, ssdb__Cast_HeadVar2_5);
#line 273 "ssdb.m"
      return;
    }
#line 273 "ssdb.m"
  }
#line 273 "ssdb.m"
}

#line 273 "ssdb.m"
static MR_bool MR_CALL 
ssdb____Unify____bp_state_0_0(
#line 273 "ssdb.m"
  MR_Word ssdb__HeadVar__2_1,
#line 273 "ssdb.m"
  MR_Word ssdb__HeadVar__2_2)
#line 273 "ssdb.m"
{
#line 13613 "ssdb.c"
  {
#line 13615 "ssdb.c"
    MR_bool ssdb__succeeded = (ssdb__HeadVar__2_1 == ssdb__HeadVar__2_2);

#line 13618 "ssdb.c"
    return ssdb__succeeded;
#line 13620 "ssdb.c"
  }
#line 273 "ssdb.m"
}

#line 3486 "ssdb.m"
static void MR_CALL 
ssdb__exit_process_2_p_0(void)
#line 3486 "ssdb.m"
{
#line 3488 "ssdb.m"
  {
#line 3488 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 3491 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__exit_process_2_p_0


		{
#line 3491 "ssdb.m"

    exit(0);

#line 13645 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 3491 "ssdb.m"
}
#line 3488 "ssdb.m"
  }
#line 3486 "ssdb.m"
}

#line 3476 "ssdb.m"
static void MR_CALL 
ssdb__restore_streams_2_p_0(void)
#line 3476 "ssdb.m"
{
#line 3478 "ssdb.m"
  {
#line 3478 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 3478 "ssdb.m"
    MR_Word ssdb__InputStream_4;
#line 3478 "ssdb.m"
    MR_Word ssdb__OutputStream_5;
#line 3481 "ssdb.m"
    MR_Word ssdb__V_6_6;
#line 3482 "ssdb.m"
    MR_Word ssdb__V_7_7;

#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__restore_streams_2_p_0


		{
#line 347 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_saved_input_stream_lock,
                "ssdb__mutable_variable_saved_input_stream_lock");
#endif

#line 13686 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__restore_streams_2_p_0

	MR_Word X;

		{
#line 347 "ssdb.m"
X = ssdb__mutable_variable_saved_input_stream;

#line 13702 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__InputStream_4  = X;
#line 347 "ssdb.m"
}
#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__restore_streams_2_p_0


		{
#line 347 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_saved_input_stream_lock,
                "ssdb__mutable_variable_saved_input_stream_lock");
#endif

#line 13721 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__restore_streams_2_p_0


		{
#line 349 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_saved_output_stream_lock,
                "ssdb__mutable_variable_saved_output_stream_lock");
#endif

#line 13739 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__restore_streams_2_p_0

	MR_Word X;

		{
#line 349 "ssdb.m"
X = ssdb__mutable_variable_saved_output_stream;

#line 13755 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__OutputStream_5  = X;
#line 349 "ssdb.m"
}
#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__restore_streams_2_p_0


		{
#line 349 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_saved_output_stream_lock,
                "ssdb__mutable_variable_saved_output_stream_lock");
#endif

#line 13774 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 3481 "ssdb.m"
    {
#line 3481 "ssdb.m"
      mercury__io__set_input_stream_4_p_0(ssdb__InputStream_4, &ssdb__V_6_6);
    }
#line 3482 "ssdb.m"
    {
#line 3482 "ssdb.m"
      mercury__io__set_output_stream_4_p_0(ssdb__OutputStream_5, &ssdb__V_7_7);
    }
#line 3478 "ssdb.m"
  }
#line 3476 "ssdb.m"
}

#line 3466 "ssdb.m"
static void MR_CALL 
ssdb__save_streams_2_p_0(void)
#line 3466 "ssdb.m"
{
#line 3468 "ssdb.m"
  {
#line 3468 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 3468 "ssdb.m"
    MR_Word ssdb__TTY_in_4;
#line 3468 "ssdb.m"
    MR_Word ssdb__TTY_out_5;
#line 3468 "ssdb.m"
    MR_Word ssdb__OldInputStream_6;
#line 3468 "ssdb.m"
    MR_Word ssdb__OldOutputStream_7;

#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__save_streams_2_p_0


		{
#line 342 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_tty_in_lock,
                "ssdb__mutable_variable_tty_in_lock");
#endif

#line 13825 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 342 "ssdb.m"
}
#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__save_streams_2_p_0

	MR_Word X;

		{
#line 342 "ssdb.m"
X = ssdb__mutable_variable_tty_in;

#line 13841 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__TTY_in_4  = X;
#line 342 "ssdb.m"
}
#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__save_streams_2_p_0


		{
#line 342 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_tty_in_lock,
                "ssdb__mutable_variable_tty_in_lock");
#endif

#line 13860 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 342 "ssdb.m"
}
#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__save_streams_2_p_0


		{
#line 344 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_tty_out_lock,
                "ssdb__mutable_variable_tty_out_lock");
#endif

#line 13878 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 344 "ssdb.m"
}
#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__save_streams_2_p_0

	MR_Word X;

		{
#line 344 "ssdb.m"
X = ssdb__mutable_variable_tty_out;

#line 13894 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__TTY_out_5  = X;
#line 344 "ssdb.m"
}
#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__save_streams_2_p_0


		{
#line 344 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_tty_out_lock,
                "ssdb__mutable_variable_tty_out_lock");
#endif

#line 13913 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 344 "ssdb.m"
}
#line 3471 "ssdb.m"
    {
#line 3471 "ssdb.m"
      mercury__io__set_input_stream_4_p_0(ssdb__TTY_in_4, &ssdb__OldInputStream_6);
    }
#line 3472 "ssdb.m"
    {
#line 3472 "ssdb.m"
      mercury__io__set_output_stream_4_p_0(ssdb__TTY_out_5, &ssdb__OldOutputStream_7);
    }
#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__save_streams_2_p_0


		{
#line 347 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_saved_input_stream_lock,
                "ssdb__mutable_variable_saved_input_stream_lock");
#endif

#line 13941 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__save_streams_2_p_0

	MR_Word X;

	X =  ssdb__OldInputStream_6 ;
		{
#line 347 "ssdb.m"
ssdb__mutable_variable_saved_input_stream = X;

#line 13958 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__save_streams_2_p_0


		{
#line 347 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_saved_input_stream_lock,
                "ssdb__mutable_variable_saved_input_stream_lock");
#endif

#line 13976 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__save_streams_2_p_0


		{
#line 349 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_saved_output_stream_lock,
                "ssdb__mutable_variable_saved_output_stream_lock");
#endif

#line 13994 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__save_streams_2_p_0

	MR_Word X;

	X =  ssdb__OldOutputStream_7 ;
		{
#line 349 "ssdb.m"
ssdb__mutable_variable_saved_output_stream = X;

#line 14011 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__save_streams_2_p_0


		{
#line 349 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_saved_output_stream_lock,
                "ssdb__mutable_variable_saved_output_stream_lock");
#endif

#line 14029 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 3468 "ssdb.m"
  }
#line 3466 "ssdb.m"
}

#line 3443 "ssdb.m"
static void MR_CALL 
ssdb__print_invalid_argument_2_p_0(void)
#line 3443 "ssdb.m"
{
#line 3445 "ssdb.m"
  {
#line 3445 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 3446 "ssdb.m"
    {
#line 3446 "ssdb.m"
      mercury__io__write_string_3_p_0((MR_String) "ssdb: invalid argument to command.\n");
#line 3446 "ssdb.m"
      return;
    }
#line 3445 "ssdb.m"
  }
#line 3443 "ssdb.m"
}

#line 3438 "ssdb.m"
static void MR_CALL 
ssdb__print_too_many_arguments_2_p_0(void)
#line 3438 "ssdb.m"
{
#line 3440 "ssdb.m"
  {
#line 3440 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 3441 "ssdb.m"
    {
#line 3441 "ssdb.m"
      mercury__io__write_string_3_p_0((MR_String) "ssdb: too many arguments to command.\n");
#line 3441 "ssdb.m"
      return;
    }
#line 3440 "ssdb.m"
  }
#line 3438 "ssdb.m"
}

#line 3306 "ssdb.m"
static void MR_CALL 
ssdb__print_breakpoint_3_p_0(
#line 3306 "ssdb.m"
  MR_Word ssdb__BreakPoint_4)
#line 3306 "ssdb.m"
{
#line 3308 "ssdb.m"
  {
#line 3308 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 3308 "ssdb.m"
    MR_Integer ssdb__Num_6 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__BreakPoint_4, (MR_Integer) 0)));
#line 3308 "ssdb.m"
    MR_Word ssdb__ProcId_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__BreakPoint_4, (MR_Integer) 1)));
#line 3308 "ssdb.m"
    MR_Word ssdb__State_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__BreakPoint_4, (MR_Integer) 2)));
#line 3308 "ssdb.m"
    MR_String ssdb__ModuleName_9 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__ProcId_7, (MR_Integer) 0)));
#line 3308 "ssdb.m"
    MR_String ssdb__PredName_10 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__ProcId_7, (MR_Integer) 1)));
#line 3308 "ssdb.m"
    MR_String ssdb__Enabled_11;
#line 3308 "ssdb.m"
    MR_Word ssdb__V_15_15;
#line 3308 "ssdb.m"
    MR_Word ssdb__V_17_17;
#line 3308 "ssdb.m"
    MR_Word ssdb__V_18_18;
#line 3308 "ssdb.m"
    MR_Word ssdb__V_19_19;
#line 3308 "ssdb.m"
    MR_Word ssdb__V_20_20;
#line 3308 "ssdb.m"
    MR_Word ssdb__V_21_21;
#line 3308 "ssdb.m"
    MR_Word ssdb__V_22_22;
#line 3308 "ssdb.m"
    MR_Word ssdb__V_23_23;

#line 3314 "ssdb.m"
    if ((ssdb__State_8 == (MR_Integer) 1))
#line 3316 "ssdb.m"
      ssdb__Enabled_11 = (MR_String) "-";
#line 3314 "ssdb.m"
    else
#line 3313 "ssdb.m"
      ssdb__Enabled_11 = (MR_String) "+";
#line 3319 "ssdb.m"
    {
#line 3319 "ssdb.m"
      ssdb__V_17_17 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 3319 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_17_17, 0) = ((MR_Box) (ssdb__Num_6));
#line 3319 "ssdb.m"
    }
#line 3319 "ssdb.m"
    {
#line 3319 "ssdb.m"
      ssdb__V_19_19 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 3319 "ssdb.m"
      MR_hl_field(MR_mktag(2), ssdb__V_19_19, 0) = ((MR_Box) (ssdb__Enabled_11));
#line 3319 "ssdb.m"
    }
#line 3319 "ssdb.m"
    {
#line 3319 "ssdb.m"
      ssdb__V_21_21 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 3319 "ssdb.m"
      MR_hl_field(MR_mktag(2), ssdb__V_21_21, 0) = ((MR_Box) (ssdb__ModuleName_9));
#line 3319 "ssdb.m"
    }
#line 3319 "ssdb.m"
    {
#line 3319 "ssdb.m"
      ssdb__V_23_23 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 3319 "ssdb.m"
      MR_hl_field(MR_mktag(2), ssdb__V_23_23, 0) = ((MR_Box) (ssdb__PredName_10));
#line 3319 "ssdb.m"
    }
#line 3319 "ssdb.m"
    {
#line 3319 "ssdb.m"
      ssdb__V_22_22 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3319 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_22_22, 0) = ((MR_Box) (ssdb__V_23_23));
#line 3319 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_22_22, 1) = ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 3319 "ssdb.m"
    }
#line 3319 "ssdb.m"
    {
#line 3319 "ssdb.m"
      ssdb__V_20_20 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3319 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_20_20, 0) = ((MR_Box) (ssdb__V_21_21));
#line 3319 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_20_20, 1) = ((MR_Box) (ssdb__V_22_22));
#line 3319 "ssdb.m"
    }
#line 3319 "ssdb.m"
    {
#line 3319 "ssdb.m"
      ssdb__V_18_18 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3319 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_18_18, 0) = ((MR_Box) (ssdb__V_19_19));
#line 3319 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_18_18, 1) = ((MR_Box) (ssdb__V_20_20));
#line 3319 "ssdb.m"
    }
#line 3318 "ssdb.m"
    {
#line 3318 "ssdb.m"
      ssdb__V_15_15 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3318 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_15_15, 0) = ((MR_Box) (ssdb__V_17_17));
#line 3318 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_15_15, 1) = ((MR_Box) (ssdb__V_18_18));
#line 3318 "ssdb.m"
    }
#line 3318 "ssdb.m"
    {
#line 3318 "ssdb.m"
      mercury__io__format_4_p_0((MR_String) "%2d: %s %s.%s\n", ssdb__V_15_15);
#line 3318 "ssdb.m"
      return;
    }
#line 3308 "ssdb.m"
  }
#line 3306 "ssdb.m"
}

#line 3274 "ssdb.m"
static void MR_CALL 
ssdb__print_vars_list_4_p_0(
#line 3274 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 3274 "ssdb.m"
  MR_Integer ssdb__VarNum_2)
#line 3274 "ssdb.m"
{
#line 3276 "ssdb.m"
  while (MR_TRUE)
#line 3276 "ssdb.m"
    {
#line 3276 "ssdb.m"
      /* tailcall optimized into a loop */
#line 3276 "ssdb.m"
      {
#line 3276 "ssdb.m"
        MR_bool ssdb__succeeded;

#line 3276 "ssdb.m"
        if ((ssdb__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3276 "ssdb.m"
          {
#line 3276 "ssdb.m"
          }
#line 3276 "ssdb.m"
        else
#line 3277 "ssdb.m"
          {
#line 3277 "ssdb.m"
            MR_Word ssdb__Var_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__1_1, (MR_Integer) 0)));
#line 3277 "ssdb.m"
            MR_Word ssdb__Vars_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__1_1, (MR_Integer) 1)));
#line 3277 "ssdb.m"
            MR_String ssdb__Name_13;
#line 3277 "ssdb.m"
            MR_Integer ssdb__Pos_14;
#line 3277 "ssdb.m"
            MR_Word ssdb__V_20_20;
#line 3277 "ssdb.m"
            MR_Word ssdb__V_22_22;
#line 3277 "ssdb.m"
            MR_Integer ssdb__V_34_34;

#line 3278 "ssdb.m"
            {
#line 3278 "ssdb.m"
              ssdb__V_22_22 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 3278 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__V_22_22, 0) = ((MR_Box) (ssdb__VarNum_2));
#line 3278 "ssdb.m"
            }
#line 3278 "ssdb.m"
            {
#line 3278 "ssdb.m"
              ssdb__V_20_20 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3278 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__V_20_20, 0) = ((MR_Box) (ssdb__V_22_22));
#line 3278 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__V_20_20, 1) = ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 3278 "ssdb.m"
            }
#line 3278 "ssdb.m"
            {
#line 3278 "ssdb.m"
              mercury__io__format_4_p_0((MR_String) "\t%2d ", ssdb__V_20_20);
            }
#line 3280 "ssdb.m"
            if (((MR_tag((MR_Word) ssdb__Var_9)) == (MR_mktag((MR_Integer) 1))))
#line 3280 "ssdb.m"
              {
#line 3280 "ssdb.m"
                MR_Word ssdb__TypeInfo_37_37 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Var_9, (MR_Integer) 0)));
#line 3280 "ssdb.m"
                MR_Box ssdb__V_15_15;

#line 3280 "ssdb.m"
                ssdb__Name_13 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Var_9, (MR_Integer) 1)));
#line 3280 "ssdb.m"
                ssdb__Pos_14 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__Var_9, (MR_Integer) 2)));
#line 3280 "ssdb.m"
                ssdb__V_15_15 = (MR_hl_field(MR_mktag(1), ssdb__Var_9, (MR_Integer) 3));
#line 3280 "ssdb.m"
              }
#line 3280 "ssdb.m"
            else
#line 3280 "ssdb.m"
              if (((MR_tag((MR_Word) ssdb__Var_9)) == (MR_mktag((MR_Integer) 2))))
#line 3281 "ssdb.m"
                {
#line 3281 "ssdb.m"
                  MR_Word ssdb__TypeInfo_38_38 = ((MR_Word) (MR_hl_field(MR_mktag(2), ssdb__Var_9, (MR_Integer) 0)));
#line 3281 "ssdb.m"
                  MR_Box ssdb__V_16_16;

#line 3281 "ssdb.m"
                  ssdb__Name_13 = ((MR_String) (MR_hl_field(MR_mktag(2), ssdb__Var_9, (MR_Integer) 1)));
#line 3281 "ssdb.m"
                  ssdb__V_16_16 = (MR_hl_field(MR_mktag(2), ssdb__Var_9, (MR_Integer) 2));
#line 3281 "ssdb.m"
                  ssdb__Pos_14 = (MR_Integer) -1;
#line 3281 "ssdb.m"
                }
#line 3280 "ssdb.m"
              else
#line 3279 "ssdb.m"
                {
#line 3279 "ssdb.m"
                  ssdb__Name_13 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Var_9, (MR_Integer) 0)));
#line 3279 "ssdb.m"
                  ssdb__Pos_14 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Var_9, (MR_Integer) 1)));
#line 3279 "ssdb.m"
                }
#line 3283 "ssdb.m"
            {
#line 3283 "ssdb.m"
              mercury__io__write_string_3_p_0(ssdb__Name_13);
            }
#line 3284 "ssdb.m"
            ssdb__succeeded = (ssdb__Pos_14 >= (MR_Integer) 0);
#line 3286 "ssdb.m"
            if (ssdb__succeeded)
#line 3285 "ssdb.m"
              {
#line 3285 "ssdb.m"
                MR_Integer ssdb__V_30_30 = (ssdb__Pos_14 + (MR_Integer) 1);
#line 3285 "ssdb.m"
                MR_String ssdb__V_40_40;
#line 3285 "ssdb.m"
                MR_String ssdb__V_41_41;
#line 3285 "ssdb.m"
                MR_String ssdb__V_43_43;

#line 14350 "ssdb.c"
                {
#line 14352 "ssdb.c"
                  ssdb__V_40_40 = mercury__string__int_to_string_1_f_0(ssdb__V_30_30);
                }
#line 14355 "ssdb.c"
                {
#line 14357 "ssdb.c"
                  ssdb__V_41_41 = mercury__string__f_43_43_2_f_0(ssdb__V_40_40, (MR_String) ")\n");
                }
#line 14360 "ssdb.c"
                {
#line 14362 "ssdb.c"
                  ssdb__V_43_43 = mercury__string__f_43_43_2_f_0((MR_String) " (arg ", ssdb__V_41_41);
                }
#line 14365 "ssdb.c"
                {
#line 14367 "ssdb.c"
                  mercury__io__write_string_3_p_0(ssdb__V_43_43);
                }
#line 3285 "ssdb.m"
              }
#line 3286 "ssdb.m"
            else
#line 3287 "ssdb.m"
              {
#line 3287 "ssdb.m"
                mercury__io__nl_2_p_0();
              }
#line 3289 "ssdb.m"
            ssdb__V_34_34 = (ssdb__VarNum_2 + (MR_Integer) 1);
#line 3289 "ssdb.m"
            /* direct tailcall eliminated */
#line 3289 "ssdb.m"
            {
#line 3289 "ssdb.m"
              MR_Word ssdb__HeadVar__1__tmp_copy_1 = ssdb__Vars_10;
#line 3289 "ssdb.m"
              MR_Integer ssdb__VarNum__tmp_copy_2 = ssdb__V_34_34;

#line 3289 "ssdb.m"
              ssdb__VarNum_2 = ssdb__VarNum__tmp_copy_2;
#line 3289 "ssdb.m"
              ssdb__HeadVar__1_1 = ssdb__HeadVar__1__tmp_copy_1;
#line 3289 "ssdb.m"
            }
#line 3289 "ssdb.m"
            continue;
#line 3277 "ssdb.m"
          }
#line 3276 "ssdb.m"
      }
#line 3276 "ssdb.m"
      break;
#line 3276 "ssdb.m"
    }
#line 3274 "ssdb.m"
}

#line 3252 "ssdb.m"
static void MR_CALL 
ssdb__list_var_value_to_assoc_list_2_p_0(
#line 3252 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 3252 "ssdb.m"
  MR_Word * ssdb__HeadVar__2_2)
#line 3252 "ssdb.m"
{
#line 3255 "ssdb.m"
  while (MR_TRUE)
#line 3255 "ssdb.m"
    {
#line 3255 "ssdb.m"
      /* tailcall optimized into a loop */
#line 3255 "ssdb.m"
      {
#line 3255 "ssdb.m"
        MR_bool ssdb__succeeded;

#line 3255 "ssdb.m"
        if ((ssdb__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3255 "ssdb.m"
          *ssdb__HeadVar__2_2 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 3255 "ssdb.m"
        else
#line 3256 "ssdb.m"
          {
#line 3256 "ssdb.m"
            MR_Word ssdb__VarValue_3 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__1_1, (MR_Integer) 0)));
#line 3256 "ssdb.m"
            MR_Word ssdb__VarValues_4 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__1_1, (MR_Integer) 1)));

#line 3260 "ssdb.m"
            if (((MR_tag((MR_Word) ssdb__VarValue_3)) == (MR_mktag((MR_Integer) 1))))
#line 3261 "ssdb.m"
              {
#line 3261 "ssdb.m"
                MR_Word ssdb__TypeInfo_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__VarValue_3, (MR_Integer) 0)));
#line 3261 "ssdb.m"
                MR_String ssdb__Name_8 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__VarValue_3, (MR_Integer) 1)));
#line 3261 "ssdb.m"
                MR_Box ssdb__Value_9 = (MR_hl_field(MR_mktag(1), ssdb__VarValue_3, (MR_Integer) 3));
#line 3261 "ssdb.m"
                MR_Word ssdb__ValueUniv_10;
#line 3261 "ssdb.m"
                MR_Word ssdb__AssocListVarValue0_11;
#line 3261 "ssdb.m"
                MR_Word ssdb__V_13_13;
#line 3261 "ssdb.m"
                MR_Integer ssdb___Pos_14 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__VarValue_3, (MR_Integer) 2)));

#line 3262 "ssdb.m"
                {
#line 3262 "ssdb.m"
                  mercury__univ__type_to_univ_2_p_1(ssdb__TypeInfo_20_20, ssdb__Value_9, &ssdb__ValueUniv_10);
                }
#line 3263 "ssdb.m"
                {
#line 3263 "ssdb.m"
                  ssdb__list_var_value_to_assoc_list_2_p_0(ssdb__VarValues_4, &ssdb__AssocListVarValue0_11);
                }
#line 3264 "ssdb.m"
                {
#line 3264 "ssdb.m"
                  ssdb__V_13_13 = mercury__pair__pair_2_f_0((MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0, (MR_Word) &mercury__univ__univ__type_ctor_info_univ_0, ((MR_Box) (ssdb__Name_8)), ((MR_Box) (ssdb__ValueUniv_10)));
                }
#line 3264 "ssdb.m"
                {
#line 3264 "ssdb.m"
                  MR_Word base;
#line 3264 "ssdb.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3264 "ssdb.m"
                  *ssdb__HeadVar__2_2 = base;
#line 3264 "ssdb.m"
                  MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (ssdb__V_13_13));
#line 3264 "ssdb.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (ssdb__AssocListVarValue0_11));
#line 3264 "ssdb.m"
                }
#line 3261 "ssdb.m"
              }
#line 3260 "ssdb.m"
            else
#line 3260 "ssdb.m"
              if (((MR_tag((MR_Word) ssdb__VarValue_3)) == (MR_mktag((MR_Integer) 2))))
#line 3266 "ssdb.m"
                {
#line 3266 "ssdb.m"
                  MR_Word ssdb__TypeInfo_23_23 = ((MR_Word) (MR_hl_field(MR_mktag(2), ssdb__VarValue_3, (MR_Integer) 0)));
#line 3266 "ssdb.m"
                  MR_Word ssdb__V_12_12;
#line 3266 "ssdb.m"
                  MR_String ssdb__Name_16 = ((MR_String) (MR_hl_field(MR_mktag(2), ssdb__VarValue_3, (MR_Integer) 1)));
#line 3266 "ssdb.m"
                  MR_Box ssdb__Value_17 = (MR_hl_field(MR_mktag(2), ssdb__VarValue_3, (MR_Integer) 2));
#line 3266 "ssdb.m"
                  MR_Word ssdb__ValueUniv_18;
#line 3266 "ssdb.m"
                  MR_Word ssdb__AssocListVarValue0_19;

#line 3267 "ssdb.m"
                  {
#line 3267 "ssdb.m"
                    mercury__univ__type_to_univ_2_p_1(ssdb__TypeInfo_23_23, ssdb__Value_17, &ssdb__ValueUniv_18);
                  }
#line 3268 "ssdb.m"
                  {
#line 3268 "ssdb.m"
                    ssdb__list_var_value_to_assoc_list_2_p_0(ssdb__VarValues_4, &ssdb__AssocListVarValue0_19);
                  }
#line 3269 "ssdb.m"
                  {
#line 3269 "ssdb.m"
                    ssdb__V_12_12 = mercury__pair__pair_2_f_0((MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0, (MR_Word) &mercury__univ__univ__type_ctor_info_univ_0, ((MR_Box) (ssdb__Name_16)), ((MR_Box) (ssdb__ValueUniv_18)));
                  }
#line 3269 "ssdb.m"
                  {
#line 3269 "ssdb.m"
                    MR_Word base;
#line 3269 "ssdb.m"
                    base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3269 "ssdb.m"
                    *ssdb__HeadVar__2_2 = base;
#line 3269 "ssdb.m"
                    MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (ssdb__V_12_12));
#line 3269 "ssdb.m"
                    MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (ssdb__AssocListVarValue0_19));
#line 3269 "ssdb.m"
                  }
#line 3266 "ssdb.m"
                }
#line 3260 "ssdb.m"
              else
#line 3259 "ssdb.m"
                {
#line 3259 "ssdb.m"
                  /* direct tailcall eliminated */
#line 3259 "ssdb.m"
                  {
#line 3259 "ssdb.m"
                    MR_Word ssdb__HeadVar__1__tmp_copy_1 = ssdb__VarValues_4;

#line 3259 "ssdb.m"
                    ssdb__HeadVar__1_1 = ssdb__HeadVar__1__tmp_copy_1;
#line 3259 "ssdb.m"
                  }
#line 3259 "ssdb.m"
                  continue;
#line 3259 "ssdb.m"
                }
#line 3256 "ssdb.m"
          }
#line 3255 "ssdb.m"
      }
#line 3255 "ssdb.m"
      break;
#line 3255 "ssdb.m"
    }
#line 3252 "ssdb.m"
}

#line 3203 "ssdb.m"
static void MR_CALL 
ssdb__browse_var_4_p_0(
#line 3203 "ssdb.m"
  MR_Word ssdb__ListVarValue_5,
#line 3203 "ssdb.m"
  MR_String ssdb__VarName_6)
#line 3203 "ssdb.m"
{
#line 3226 "ssdb.m"
  {
#line 3226 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 3226 "ssdb.m"
    MR_Integer ssdb__VarNum_8;
#line 3207 "ssdb.m"
    MR_Integer ssdb__V_20_20;

#line 3207 "ssdb.m"
    {
#line 3207 "ssdb.m"
      ssdb__succeeded = mercury__string__to_int_2_p_0(ssdb__VarName_6, &ssdb__VarNum_8);
    }
#line 3207 "ssdb.m"
    if (ssdb__succeeded)
#line 3207 "ssdb.m"
      {
#line 3208 "ssdb.m"
        ssdb__V_20_20 = (MR_Integer) 0;
#line 3208 "ssdb.m"
        ssdb__succeeded = (ssdb__VarNum_8 > ssdb__V_20_20);
#line 3207 "ssdb.m"
      }
#line 3226 "ssdb.m"
    if (ssdb__succeeded)
#line 3223 "ssdb.m"
      {
#line 3223 "ssdb.m"
        MR_Word ssdb__VarValue_9;
#line 3210 "ssdb.m"
        MR_Box ssdb__conv0_VarValue_9;

#line 3210 "ssdb.m"
        {
#line 3210 "ssdb.m"
          ssdb__succeeded = mercury__list__index1_3_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_var_value_0, ssdb__ListVarValue_5, ssdb__VarNum_8, &ssdb__conv0_VarValue_9);
        }
#line 3210 "ssdb.m"
        if (ssdb__succeeded)
#line 3210 "ssdb.m"
          {
#line 3210 "ssdb.m"
            ssdb__VarValue_9 = ((MR_Word) ssdb__conv0_VarValue_9);
#line 3210 "ssdb.m"
            ssdb__succeeded = MR_TRUE;
#line 3210 "ssdb.m"
          }
#line 3223 "ssdb.m"
        if (ssdb__succeeded)
#line 3215 "ssdb.m"
          if (((MR_tag((MR_Word) ssdb__VarValue_9)) == (MR_mktag((MR_Integer) 1))))
#line 3212 "ssdb.m"
            {
#line 3212 "ssdb.m"
              MR_Word ssdb__TypeInfo_37_37 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__VarValue_9, (MR_Integer) 0)));
#line 3212 "ssdb.m"
              MR_Box ssdb__Value_12 = (MR_hl_field(MR_mktag(1), ssdb__VarValue_9, (MR_Integer) 3));
#line 3212 "ssdb.m"
              MR_Word ssdb__Univ_13;
#line 3212 "ssdb.m"
              MR_Word ssdb__V_25_25;
#line 3212 "ssdb.m"
              MR_Word ssdb__StdIn_45;
#line 3212 "ssdb.m"
              MR_Word ssdb__StdOut_46;
#line 3212 "ssdb.m"
              MR_Word ssdb__State0_47;
#line 3212 "ssdb.m"
              MR_Word ssdb__State_48;
#line 3212 "ssdb.m"
              MR_String ssdb__V_10_10 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__VarValue_9, (MR_Integer) 1)));
#line 3212 "ssdb.m"
              MR_Integer ssdb__V_11_11 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__VarValue_9, (MR_Integer) 2)));
#line 3242 "ssdb.m"
              MR_Word ssdb__V_49_49;

#line 3213 "ssdb.m"
              {
#line 3213 "ssdb.m"
                mercury__univ__type_to_univ_2_p_1(ssdb__TypeInfo_37_37, ssdb__Value_12, &ssdb__Univ_13);
              }
#line 3214 "ssdb.m"
              {
#line 3214 "ssdb.m"
                ssdb__V_25_25 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 3214 "ssdb.m"
                MR_hl_field(MR_mktag(0), ssdb__V_25_25, 0) = ((MR_Box) (ssdb__Univ_13));
#line 3214 "ssdb.m"
              }
#line 3238 "ssdb.m"
              {
#line 3238 "ssdb.m"
                mercury__io__input_stream_3_p_0(&ssdb__StdIn_45);
              }
#line 3239 "ssdb.m"
              {
#line 3239 "ssdb.m"
                mercury__io__output_stream_3_p_0(&ssdb__StdOut_46);
              }
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__browse_var_4_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 14693 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__browse_var_4_p_0

	MR_Word X;

		{
#line 324 "ssdb.m"
X = ssdb__mutable_variable_browser_state;

#line 14709 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__State0_47  = X;
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__browse_var_4_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 14728 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 3242 "ssdb.m"
              {
#line 3242 "ssdb.m"
                mdb__browse__browse_browser_term_no_modes_8_p_0(ssdb__V_25_25, ssdb__StdIn_45, ssdb__StdOut_46, &ssdb__V_49_49, ssdb__State0_47, &ssdb__State_48);
              }
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__browse_var_4_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 14751 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__browse_var_4_p_0

	MR_Word X;

	X =  ssdb__State_48 ;
		{
#line 324 "ssdb.m"
ssdb__mutable_variable_browser_state = X;

#line 14768 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__browse_var_4_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 14786 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 3212 "ssdb.m"
            }
#line 3215 "ssdb.m"
          else
#line 3215 "ssdb.m"
            if (((MR_tag((MR_Word) ssdb__VarValue_9)) == (MR_mktag((MR_Integer) 2))))
#line 3216 "ssdb.m"
              {
#line 3216 "ssdb.m"
                MR_Word ssdb__TypeInfo_38_38 = ((MR_Word) (MR_hl_field(MR_mktag(2), ssdb__VarValue_9, (MR_Integer) 0)));
#line 3216 "ssdb.m"
                MR_Word ssdb__V_23_23;
#line 3216 "ssdb.m"
                MR_Box ssdb__Value_33 = (MR_hl_field(MR_mktag(2), ssdb__VarValue_9, (MR_Integer) 2));
#line 3216 "ssdb.m"
                MR_Word ssdb__Univ_34;
#line 3216 "ssdb.m"
                MR_Word ssdb__StdIn_63;
#line 3216 "ssdb.m"
                MR_Word ssdb__StdOut_64;
#line 3216 "ssdb.m"
                MR_Word ssdb__State0_65;
#line 3216 "ssdb.m"
                MR_Word ssdb__State_66;
#line 3216 "ssdb.m"
                MR_String ssdb__V_14_14 = ((MR_String) (MR_hl_field(MR_mktag(2), ssdb__VarValue_9, (MR_Integer) 1)));
#line 3242 "ssdb.m"
                MR_Word ssdb__V_67_67;

#line 3217 "ssdb.m"
                {
#line 3217 "ssdb.m"
                  mercury__univ__type_to_univ_2_p_1(ssdb__TypeInfo_38_38, ssdb__Value_33, &ssdb__Univ_34);
                }
#line 3218 "ssdb.m"
                {
#line 3218 "ssdb.m"
                  ssdb__V_23_23 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 3218 "ssdb.m"
                  MR_hl_field(MR_mktag(0), ssdb__V_23_23, 0) = ((MR_Box) (ssdb__Univ_34));
#line 3218 "ssdb.m"
                }
#line 3238 "ssdb.m"
                {
#line 3238 "ssdb.m"
                  mercury__io__input_stream_3_p_0(&ssdb__StdIn_63);
                }
#line 3239 "ssdb.m"
                {
#line 3239 "ssdb.m"
                  mercury__io__output_stream_3_p_0(&ssdb__StdOut_64);
                }
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__browse_var_4_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 14856 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__browse_var_4_p_0

	MR_Word X;

		{
#line 324 "ssdb.m"
X = ssdb__mutable_variable_browser_state;

#line 14872 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__State0_65  = X;
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__browse_var_4_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 14891 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 3242 "ssdb.m"
                {
#line 3242 "ssdb.m"
                  mdb__browse__browse_browser_term_no_modes_8_p_0(ssdb__V_23_23, ssdb__StdIn_63, ssdb__StdOut_64, &ssdb__V_67_67, ssdb__State0_65, &ssdb__State_66);
                }
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__browse_var_4_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 14914 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__browse_var_4_p_0

	MR_Word X;

	X =  ssdb__State_66 ;
		{
#line 324 "ssdb.m"
ssdb__mutable_variable_browser_state = X;

#line 14931 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__browse_var_4_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 14949 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 3216 "ssdb.m"
              }
#line 3215 "ssdb.m"
            else
#line 3220 "ssdb.m"
              {
#line 3221 "ssdb.m"
                {
#line 3221 "ssdb.m"
                  mercury__io__write_string_3_p_0((MR_String) "ssdb: the variable is unbound.\n");
#line 3221 "ssdb.m"
                  return;
                }
#line 3220 "ssdb.m"
              }
#line 3223 "ssdb.m"
        else
#line 3224 "ssdb.m"
          {
#line 3224 "ssdb.m"
            {
#line 3224 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: there aren\'t that many variables.\n");
#line 3224 "ssdb.m"
              return;
            }
#line 3224 "ssdb.m"
          }
#line 3223 "ssdb.m"
      }
#line 3226 "ssdb.m"
    else
#line 3231 "ssdb.m"
      {
#line 3231 "ssdb.m"
        MR_Word ssdb__Univ_35;
#line 3227 "ssdb.m"
        MR_Word ssdb__VarDescs_17;
#line 3228 "ssdb.m"
        MR_Box ssdb__conv1_Univ_35;

#line 3227 "ssdb.m"
        {
#line 3227 "ssdb.m"
          ssdb__list_var_value_to_assoc_list_2_p_0(ssdb__ListVarValue_5, &ssdb__VarDescs_17);
        }
#line 3228 "ssdb.m"
        {
#line 3228 "ssdb.m"
          ssdb__succeeded = mercury__assoc_list__search_3_p_0((MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0, (MR_Word) &mercury__univ__univ__type_ctor_info_univ_0, ssdb__VarDescs_17, ((MR_Box) (ssdb__VarName_6)), &ssdb__conv1_Univ_35);
        }
#line 3228 "ssdb.m"
        if (ssdb__succeeded)
#line 3228 "ssdb.m"
          {
#line 3228 "ssdb.m"
            ssdb__Univ_35 = ((MR_Word) ssdb__conv1_Univ_35);
#line 3228 "ssdb.m"
            ssdb__succeeded = MR_TRUE;
#line 3228 "ssdb.m"
          }
#line 3231 "ssdb.m"
        if (ssdb__succeeded)
#line 3230 "ssdb.m"
          {
#line 3230 "ssdb.m"
            MR_Word ssdb__V_29_29;
#line 3230 "ssdb.m"
            MR_Word ssdb__StdIn_81;
#line 3230 "ssdb.m"
            MR_Word ssdb__StdOut_82;
#line 3230 "ssdb.m"
            MR_Word ssdb__State0_83;
#line 3230 "ssdb.m"
            MR_Word ssdb__State_84;
#line 3242 "ssdb.m"
            MR_Word ssdb__V_85_85;

#line 3230 "ssdb.m"
            {
#line 3230 "ssdb.m"
              ssdb__V_29_29 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 3230 "ssdb.m"
              MR_hl_field(MR_mktag(0), ssdb__V_29_29, 0) = ((MR_Box) (ssdb__Univ_35));
#line 3230 "ssdb.m"
            }
#line 3238 "ssdb.m"
            {
#line 3238 "ssdb.m"
              mercury__io__input_stream_3_p_0(&ssdb__StdIn_81);
            }
#line 3239 "ssdb.m"
            {
#line 3239 "ssdb.m"
              mercury__io__output_stream_3_p_0(&ssdb__StdOut_82);
            }
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__browse_var_4_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 15063 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__browse_var_4_p_0

	MR_Word X;

		{
#line 324 "ssdb.m"
X = ssdb__mutable_variable_browser_state;

#line 15079 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__State0_83  = X;
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__browse_var_4_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 15098 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 3242 "ssdb.m"
            {
#line 3242 "ssdb.m"
              mdb__browse__browse_browser_term_no_modes_8_p_0(ssdb__V_29_29, ssdb__StdIn_81, ssdb__StdOut_82, &ssdb__V_85_85, ssdb__State0_83, &ssdb__State_84);
            }
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__browse_var_4_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 15121 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__browse_var_4_p_0

	MR_Word X;

	X =  ssdb__State_84 ;
		{
#line 324 "ssdb.m"
ssdb__mutable_variable_browser_state = X;

#line 15138 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__browse_var_4_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 15156 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 3230 "ssdb.m"
          }
#line 3231 "ssdb.m"
        else
#line 3232 "ssdb.m"
          {
#line 3232 "ssdb.m"
            {
#line 3232 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: there is no such variable.\n");
#line 3232 "ssdb.m"
              return;
            }
#line 3232 "ssdb.m"
          }
#line 3231 "ssdb.m"
      }
#line 3226 "ssdb.m"
  }
#line 3203 "ssdb.m"
}

#line 3178 "ssdb.m"
static void MR_CALL 
ssdb__print_browser_term_5_p_0(
#line 3178 "ssdb.m"
  MR_Word ssdb__MaybeFormat_6,
#line 3178 "ssdb.m"
  MR_Word ssdb__CallerType_7,
#line 3178 "ssdb.m"
  MR_Word ssdb__Term_8)
#line 3178 "ssdb.m"
{
#line 3181 "ssdb.m"
  {
#line 3181 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 3181 "ssdb.m"
    MR_Word ssdb__StdOut_10;
#line 3181 "ssdb.m"
    MR_Word ssdb__State_11;

#line 3182 "ssdb.m"
    {
#line 3182 "ssdb.m"
      mercury__io__output_stream_3_p_0(&ssdb__StdOut_10);
    }
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_browser_term_5_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 15221 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_browser_term_5_p_0

	MR_Word X;

		{
#line 324 "ssdb.m"
X = ssdb__mutable_variable_browser_state;

#line 15237 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__State_11  = X;
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_browser_term_5_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 15256 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 3189 "ssdb.m"
    if ((ssdb__MaybeFormat_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3191 "ssdb.m"
      {
#line 3191 "ssdb.m"
        mdb__browse__print_browser_term_6_p_0(ssdb__Term_8, ssdb__StdOut_10, ssdb__CallerType_7, ssdb__State_11);
#line 3191 "ssdb.m"
        return;
      }
#line 3189 "ssdb.m"
    else
#line 3186 "ssdb.m"
      {
#line 3186 "ssdb.m"
        MR_Word ssdb__Format_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__MaybeFormat_6, (MR_Integer) 0)));

#line 3187 "ssdb.m"
        {
#line 3187 "ssdb.m"
          mdb__browse__print_browser_term_format_7_p_0(ssdb__Term_8, ssdb__StdOut_10, ssdb__CallerType_7, ssdb__Format_12, ssdb__State_11);
#line 3187 "ssdb.m"
          return;
        }
#line 3186 "ssdb.m"
      }
#line 3181 "ssdb.m"
  }
#line 3178 "ssdb.m"
}

#line 3159 "ssdb.m"
static MR_bool MR_CALL 
ssdb__safe_to_write_1_p_0(
#line 3159 "ssdb.m"
  MR_Word ssdb__TypeInfo_for_T_3,
#line 3159 "ssdb.m"
  MR_Box ssdb__HeadVar__1_1)
#line 3159 "ssdb.m"
{
#line 3164 "ssdb.m"
  {
#line 3164 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 3164 "ssdb.m"
    {
#line 3164 "ssdb.m"
      return ssdb__succeeded = ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_115_97_102_101_95_116_111_95_119_114_105_116_101_95_95_91_49_93_95_48_1_p_0(ssdb__HeadVar__1_1);
    }
#line 3164 "ssdb.m"
    return ssdb__succeeded;
#line 3164 "ssdb.m"
  }
#line 3159 "ssdb.m"
}

#line 3146 "ssdb.m"
static void MR_CALL 
ssdb__safe_write_6_p_0(
#line 3146 "ssdb.m"
  MR_Word ssdb__TypeInfo_for_T_21,
#line 3146 "ssdb.m"
  MR_Word ssdb__MaybeFormat_7,
#line 3146 "ssdb.m"
  MR_Word ssdb__CallerType_8,
#line 3146 "ssdb.m"
  MR_String ssdb__Prefix_9,
#line 3146 "ssdb.m"
  MR_Box ssdb__T_10)
#line 3146 "ssdb.m"
{
#line 3154 "ssdb.m"
  {
#line 3154 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 3164 "ssdb.m"
    MR_Word ssdb__TypeInfo_for_T_38;

#line 3167 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__safe_write_6_p_0

	MR_Word T;
	MR_bool SUCCESS_INDICATOR;

	T = (MR_Word) ssdb__T_10 ;
		{
#line 3167 "ssdb.m"

    SUCCESS_INDICATOR = (T != 0);

#line 15353 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	if (SUCCESS_INDICATOR) {
#line 3167 "ssdb.m"
	}
ssdb__succeeded  = SUCCESS_INDICATOR;
}
#line 3154 "ssdb.m"
    if (ssdb__succeeded)
#line 3151 "ssdb.m"
      {
#line 3151 "ssdb.m"
        MR_Word ssdb__Univ_12;
#line 3151 "ssdb.m"
        MR_Word ssdb__V_16_16;
#line 3151 "ssdb.m"
        MR_Word ssdb__StdOut_29;
#line 3151 "ssdb.m"
        MR_Word ssdb__State_30;

#line 3151 "ssdb.m"
        {
#line 3151 "ssdb.m"
          mercury__io__write_string_3_p_0(ssdb__Prefix_9);
        }
#line 3152 "ssdb.m"
        {
#line 3152 "ssdb.m"
          mercury__univ__type_to_univ_2_p_1(ssdb__TypeInfo_for_T_21, ssdb__T_10, &ssdb__Univ_12);
        }
#line 3153 "ssdb.m"
        {
#line 3153 "ssdb.m"
          ssdb__V_16_16 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 3153 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__V_16_16, 0) = ((MR_Box) (ssdb__Univ_12));
#line 3153 "ssdb.m"
        }
#line 3182 "ssdb.m"
        {
#line 3182 "ssdb.m"
          mercury__io__output_stream_3_p_0(&ssdb__StdOut_29);
        }
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__safe_write_6_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 15410 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__safe_write_6_p_0

	MR_Word X;

		{
#line 324 "ssdb.m"
X = ssdb__mutable_variable_browser_state;

#line 15426 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__State_30  = X;
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__safe_write_6_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 15445 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 3189 "ssdb.m"
        if ((ssdb__MaybeFormat_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3191 "ssdb.m"
          {
#line 3191 "ssdb.m"
            mdb__browse__print_browser_term_6_p_0(ssdb__V_16_16, ssdb__StdOut_29, ssdb__CallerType_8, ssdb__State_30);
#line 3191 "ssdb.m"
            return;
          }
#line 3189 "ssdb.m"
        else
#line 3186 "ssdb.m"
          {
#line 3186 "ssdb.m"
            MR_Word ssdb__Format_31 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__MaybeFormat_7, (MR_Integer) 0)));

#line 3187 "ssdb.m"
            {
#line 3187 "ssdb.m"
              mdb__browse__print_browser_term_format_7_p_0(ssdb__V_16_16, ssdb__StdOut_29, ssdb__CallerType_8, ssdb__Format_31, ssdb__State_30);
#line 3187 "ssdb.m"
              return;
            }
#line 3186 "ssdb.m"
          }
#line 3151 "ssdb.m"
      }
#line 3154 "ssdb.m"
    else
#line 3155 "ssdb.m"
      {
#line 3155 "ssdb.m"
        {
#line 3155 "ssdb.m"
          mercury__io__write_string_3_p_0(ssdb__Prefix_9);
        }
#line 3156 "ssdb.m"
        {
#line 3156 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "(unsafe)\n");
#line 3156 "ssdb.m"
          return;
        }
#line 3155 "ssdb.m"
      }
#line 3154 "ssdb.m"
  }
#line 3146 "ssdb.m"
}

#line 3133 "ssdb.m"
static void MR_CALL 
ssdb__print_var_prelude_4_p_0(
#line 3133 "ssdb.m"
  MR_String ssdb__Name_5,
#line 3133 "ssdb.m"
  MR_Integer ssdb__Pos_6)
#line 3133 "ssdb.m"
{
#line 3135 "ssdb.m"
  {
#line 3135 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 3136 "ssdb.m"
    {
#line 3136 "ssdb.m"
      mercury__io__write_char_3_p_0((MR_Char) 9);
    }
#line 3137 "ssdb.m"
    {
#line 3137 "ssdb.m"
      mercury__io__write_string_3_p_0(ssdb__Name_5);
    }
#line 3138 "ssdb.m"
    ssdb__succeeded = (ssdb__Pos_6 >= (MR_Integer) 0);
#line 3142 "ssdb.m"
    if (ssdb__succeeded)
#line 3139 "ssdb.m"
      {
#line 3139 "ssdb.m"
        MR_Integer ssdb__V_16_16;

#line 3139 "ssdb.m"
        {
#line 3139 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) " (arg ");
        }
#line 3140 "ssdb.m"
        ssdb__V_16_16 = (ssdb__Pos_6 + (MR_Integer) 1);
#line 3140 "ssdb.m"
        {
#line 3140 "ssdb.m"
          mercury__io__write_int_3_p_0(ssdb__V_16_16);
        }
#line 3141 "ssdb.m"
        {
#line 3141 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) ")\t");
#line 3141 "ssdb.m"
          return;
        }
#line 3139 "ssdb.m"
      }
#line 3142 "ssdb.m"
    else
#line 3143 "ssdb.m"
      {
#line 3143 "ssdb.m"
        {
#line 3143 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "\t");
#line 3143 "ssdb.m"
          return;
        }
#line 3143 "ssdb.m"
      }
#line 3135 "ssdb.m"
  }
#line 3133 "ssdb.m"
}

#line 3111 "ssdb.m"
static void MR_CALL 
ssdb__print_var_5_p_0(
#line 3111 "ssdb.m"
  MR_Word ssdb__MaybeFormat_6,
#line 3111 "ssdb.m"
  MR_Word ssdb__CallerType_7,
#line 3111 "ssdb.m"
  MR_Word ssdb__VarValue_8)
#line 3111 "ssdb.m"
{
#line 3116 "ssdb.m"
  {
#line 3116 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 3116 "ssdb.m"
    if (((MR_tag((MR_Word) ssdb__VarValue_8)) == (MR_mktag((MR_Integer) 1))))
#line 3120 "ssdb.m"
      {
#line 3120 "ssdb.m"
        MR_Word ssdb__TypeInfo_43_43 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__VarValue_8, (MR_Integer) 0)));
#line 3120 "ssdb.m"
        MR_Box ssdb__T_12 = (MR_hl_field(MR_mktag(1), ssdb__VarValue_8, (MR_Integer) 3));
#line 3120 "ssdb.m"
        MR_String ssdb__Prefix_13;
#line 3120 "ssdb.m"
        MR_String ssdb__Name_38 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__VarValue_8, (MR_Integer) 1)));
#line 3120 "ssdb.m"
        MR_Integer ssdb__Pos_39 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__VarValue_8, (MR_Integer) 2)));
#line 3164 "ssdb.m"
        MR_Word ssdb__TypeInfo_43_88;

#line 3121 "ssdb.m"
        ssdb__succeeded = (ssdb__Pos_39 >= (MR_Integer) 0);
#line 3123 "ssdb.m"
        if (ssdb__succeeded)
#line 3122 "ssdb.m"
          {
#line 3122 "ssdb.m"
            MR_Integer ssdb__V_27_27 = (ssdb__Pos_39 + (MR_Integer) 1);
#line 3122 "ssdb.m"
            MR_String ssdb__V_46_46;
#line 3122 "ssdb.m"
            MR_String ssdb__V_47_47;
#line 3122 "ssdb.m"
            MR_String ssdb__V_49_49;
#line 3122 "ssdb.m"
            MR_String ssdb__V_50_50;

#line 15623 "ssdb.c"
            {
#line 15625 "ssdb.c"
              ssdb__V_46_46 = mercury__string__int_to_string_1_f_0(ssdb__V_27_27);
            }
#line 15628 "ssdb.c"
            {
#line 15630 "ssdb.c"
              ssdb__V_47_47 = mercury__string__f_43_43_2_f_0(ssdb__V_46_46, (MR_String) ")\t");
            }
#line 15633 "ssdb.c"
            {
#line 15635 "ssdb.c"
              ssdb__V_49_49 = mercury__string__f_43_43_2_f_0((MR_String) " (arg ", ssdb__V_47_47);
            }
#line 15638 "ssdb.c"
            {
#line 15640 "ssdb.c"
              ssdb__V_50_50 = mercury__string__f_43_43_2_f_0(ssdb__Name_38, ssdb__V_49_49);
            }
#line 15643 "ssdb.c"
            {
#line 15645 "ssdb.c"
              ssdb__Prefix_13 = mercury__string__f_43_43_2_f_0((MR_String) "\t", ssdb__V_50_50);
            }
#line 3122 "ssdb.m"
          }
#line 3123 "ssdb.m"
        else
#line 3124 "ssdb.m"
          {
#line 3124 "ssdb.m"
            MR_String ssdb__V_53_53;

#line 15657 "ssdb.c"
            {
#line 15659 "ssdb.c"
              ssdb__V_53_53 = mercury__string__f_43_43_2_f_0(ssdb__Name_38, (MR_String) "\t");
            }
#line 15662 "ssdb.c"
            {
#line 15664 "ssdb.c"
              ssdb__Prefix_13 = mercury__string__f_43_43_2_f_0((MR_String) "\t", ssdb__V_53_53);
            }
#line 3124 "ssdb.m"
          }
#line 3167 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_var_5_p_0

	MR_Word T;
	MR_bool SUCCESS_INDICATOR;

	T = (MR_Word) ssdb__T_12 ;
		{
#line 3167 "ssdb.m"

    SUCCESS_INDICATOR = (T != 0);

#line 15682 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	if (SUCCESS_INDICATOR) {
#line 3167 "ssdb.m"
	}
ssdb__succeeded  = SUCCESS_INDICATOR;
}
#line 3154 "ssdb.m"
        if (ssdb__succeeded)
#line 3151 "ssdb.m"
          {
#line 3151 "ssdb.m"
            MR_Word ssdb__Univ_65;
#line 3151 "ssdb.m"
            MR_Word ssdb__V_67_67;
#line 3151 "ssdb.m"
            MR_Word ssdb__StdOut_79;
#line 3151 "ssdb.m"
            MR_Word ssdb__State_80;

#line 3151 "ssdb.m"
            {
#line 3151 "ssdb.m"
              mercury__io__write_string_3_p_0(ssdb__Prefix_13);
            }
#line 3152 "ssdb.m"
            {
#line 3152 "ssdb.m"
              mercury__univ__type_to_univ_2_p_1(ssdb__TypeInfo_43_43, ssdb__T_12, &ssdb__Univ_65);
            }
#line 3153 "ssdb.m"
            {
#line 3153 "ssdb.m"
              ssdb__V_67_67 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 3153 "ssdb.m"
              MR_hl_field(MR_mktag(0), ssdb__V_67_67, 0) = ((MR_Box) (ssdb__Univ_65));
#line 3153 "ssdb.m"
            }
#line 3182 "ssdb.m"
            {
#line 3182 "ssdb.m"
              mercury__io__output_stream_3_p_0(&ssdb__StdOut_79);
            }
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_var_5_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 15739 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_var_5_p_0

	MR_Word X;

		{
#line 324 "ssdb.m"
X = ssdb__mutable_variable_browser_state;

#line 15755 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__State_80  = X;
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_var_5_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 15774 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 3189 "ssdb.m"
            if ((ssdb__MaybeFormat_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3191 "ssdb.m"
              {
#line 3191 "ssdb.m"
                mdb__browse__print_browser_term_6_p_0(ssdb__V_67_67, ssdb__StdOut_79, ssdb__CallerType_7, ssdb__State_80);
#line 3191 "ssdb.m"
                return;
              }
#line 3189 "ssdb.m"
            else
#line 3186 "ssdb.m"
              {
#line 3186 "ssdb.m"
                MR_Word ssdb__Format_81 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__MaybeFormat_6, (MR_Integer) 0)));

#line 3187 "ssdb.m"
                {
#line 3187 "ssdb.m"
                  mdb__browse__print_browser_term_format_7_p_0(ssdb__V_67_67, ssdb__StdOut_79, ssdb__CallerType_7, ssdb__Format_81, ssdb__State_80);
#line 3187 "ssdb.m"
                  return;
                }
#line 3186 "ssdb.m"
              }
#line 3151 "ssdb.m"
          }
#line 3154 "ssdb.m"
        else
#line 3155 "ssdb.m"
          {
#line 3155 "ssdb.m"
            {
#line 3155 "ssdb.m"
              mercury__io__write_string_3_p_0(ssdb__Prefix_13);
            }
#line 3156 "ssdb.m"
            {
#line 3156 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "(unsafe)\n");
#line 3156 "ssdb.m"
              return;
            }
#line 3155 "ssdb.m"
          }
#line 3120 "ssdb.m"
      }
#line 3116 "ssdb.m"
    else
#line 3116 "ssdb.m"
      if (((MR_tag((MR_Word) ssdb__VarValue_8)) == (MR_mktag((MR_Integer) 2))))
#line 3128 "ssdb.m"
        {
#line 3128 "ssdb.m"
          MR_Word ssdb__TypeInfo_44_44 = ((MR_Word) (MR_hl_field(MR_mktag(2), ssdb__VarValue_8, (MR_Integer) 0)));
#line 3128 "ssdb.m"
          MR_String ssdb__Name_40 = ((MR_String) (MR_hl_field(MR_mktag(2), ssdb__VarValue_8, (MR_Integer) 1)));
#line 3128 "ssdb.m"
          MR_Box ssdb__T_41 = (MR_hl_field(MR_mktag(2), ssdb__VarValue_8, (MR_Integer) 2));
#line 3128 "ssdb.m"
          MR_String ssdb__Prefix_42;
#line 3128 "ssdb.m"
          MR_String ssdb__V_56_56;

#line 15844 "ssdb.c"
          {
#line 15846 "ssdb.c"
            ssdb__V_56_56 = mercury__string__f_43_43_2_f_0(ssdb__Name_40, (MR_String) "\t");
          }
#line 15849 "ssdb.c"
          {
#line 15851 "ssdb.c"
            ssdb__Prefix_42 = mercury__string__f_43_43_2_f_0((MR_String) "\t", ssdb__V_56_56);
          }
#line 3130 "ssdb.m"
          {
#line 3130 "ssdb.m"
            ssdb__safe_write_6_p_0(ssdb__TypeInfo_44_44, ssdb__MaybeFormat_6, ssdb__CallerType_7, ssdb__Prefix_42, ssdb__T_41);
#line 3130 "ssdb.m"
            return;
          }
#line 3128 "ssdb.m"
        }
#line 3116 "ssdb.m"
      else
#line 3116 "ssdb.m"
        {
#line 3116 "ssdb.m"
          MR_String ssdb__Name_10 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__VarValue_8, (MR_Integer) 0)));
#line 3116 "ssdb.m"
          MR_Integer ssdb__Pos_11 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__VarValue_8, (MR_Integer) 1)));

#line 3117 "ssdb.m"
          {
#line 3117 "ssdb.m"
            ssdb__print_var_prelude_4_p_0(ssdb__Name_10, ssdb__Pos_11);
          }
#line 3118 "ssdb.m"
          {
#line 3118 "ssdb.m"
            mercury__io__write_string_3_p_0((MR_String) "_\n");
#line 3118 "ssdb.m"
            return;
          }
#line 3116 "ssdb.m"
        }
#line 3116 "ssdb.m"
  }
#line 3111 "ssdb.m"
}

#line 3074 "ssdb.m"
static void MR_CALL 
ssdb__print_var_with_name_5_p_0_2(
#line 3074 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 3074 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 3074 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 3074 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3)
#line 3074 "ssdb.m"
{
#line 3074 "ssdb.m"
  {
#line 3074 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;

#line 3074 "ssdb.m"
    {
#line 3074 "ssdb.m"
      ssdb__print_var_5_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__closure, (MR_Integer) 3))), ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__closure, (MR_Integer) 4))), ((MR_Word) ssdb__wrapper_arg_1));
#line 3074 "ssdb.m"
      return;
    }
#line 3074 "ssdb.m"
  }
#line 3074 "ssdb.m"
}

#line 3088 "ssdb.m"
static MR_bool MR_CALL 
ssdb__print_var_with_name_5_p_0_1(
#line 3088 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 3088 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1)
#line 3088 "ssdb.m"
{
#line 3088 "ssdb.m"
  {
#line 3088 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 3088 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;

#line 3088 "ssdb.m"
    {
#line 3088 "ssdb.m"
      return ssdb__succeeded = ssdb__IntroducedFrom__pred__print_var_with_name__3088__1_2_p_0(((MR_String) (MR_hl_field(MR_mktag(0), ssdb__closure, (MR_Integer) 3))), ((MR_Word) ssdb__wrapper_arg_1));
    }
#line 3088 "ssdb.m"
    return ssdb__succeeded;
#line 3088 "ssdb.m"
  }
#line 3088 "ssdb.m"
}

#line 3076 "ssdb.m"
static void MR_CALL 
ssdb__print_var_with_name_5_p_0(
#line 3076 "ssdb.m"
  MR_Word ssdb__MaybeFormat_6,
#line 3076 "ssdb.m"
  MR_Word ssdb__VarDescs_7,
#line 3076 "ssdb.m"
  MR_String ssdb__VarName_8)
#line 3076 "ssdb.m"
{
#line 3085 "ssdb.m"
  {
#line 3085 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 3085 "ssdb.m"
    MR_Integer ssdb__VarNum_10;
#line 3081 "ssdb.m"
    MR_Integer ssdb__V_18_18;

#line 3081 "ssdb.m"
    {
#line 3081 "ssdb.m"
      ssdb__succeeded = mercury__string__to_int_2_p_0(ssdb__VarName_8, &ssdb__VarNum_10);
    }
#line 3081 "ssdb.m"
    if (ssdb__succeeded)
#line 3081 "ssdb.m"
      {
#line 3082 "ssdb.m"
        ssdb__V_18_18 = (MR_Integer) 0;
#line 3082 "ssdb.m"
        ssdb__succeeded = (ssdb__VarNum_10 > ssdb__V_18_18);
#line 3081 "ssdb.m"
      }
#line 3085 "ssdb.m"
    if (ssdb__succeeded)
#line 3107 "ssdb.m"
      {
#line 3107 "ssdb.m"
        MR_Word ssdb__VarDesc_34;
#line 3105 "ssdb.m"
        MR_Box ssdb__conv0_VarDesc_34;

#line 3105 "ssdb.m"
        {
#line 3105 "ssdb.m"
          ssdb__succeeded = mercury__list__index1_3_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_var_value_0, ssdb__VarDescs_7, ssdb__VarNum_10, &ssdb__conv0_VarDesc_34);
        }
#line 3105 "ssdb.m"
        if (ssdb__succeeded)
#line 3105 "ssdb.m"
          {
#line 3105 "ssdb.m"
            ssdb__VarDesc_34 = ((MR_Word) ssdb__conv0_VarDesc_34);
#line 3105 "ssdb.m"
            ssdb__succeeded = MR_TRUE;
#line 3105 "ssdb.m"
          }
#line 3107 "ssdb.m"
        if (ssdb__succeeded)
#line 3106 "ssdb.m"
          {
#line 3106 "ssdb.m"
            {
#line 3106 "ssdb.m"
              ssdb__print_var_5_p_0(ssdb__MaybeFormat_6, (MR_Integer) 0, ssdb__VarDesc_34);
#line 3106 "ssdb.m"
              return;
            }
#line 3106 "ssdb.m"
          }
#line 3107 "ssdb.m"
        else
#line 3108 "ssdb.m"
          {
#line 3108 "ssdb.m"
            {
#line 3108 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: there aren\'t that many variables.\n");
#line 3108 "ssdb.m"
              return;
            }
#line 3108 "ssdb.m"
          }
#line 3107 "ssdb.m"
      }
#line 3085 "ssdb.m"
    else
#line 3090 "ssdb.m"
      {
#line 3090 "ssdb.m"
        MR_Word ssdb__P_11;
#line 3090 "ssdb.m"
        MR_Word ssdb__MatchVars_13;

#line 3088 "ssdb.m"
        {
#line 3088 "ssdb.m"
          ssdb__P_11 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 4 * sizeof(MR_Word)), NULL, NULL);
#line 3088 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__P_11, 0) = ((MR_Box) (&ssdb_scalar_common_7[1]));
#line 3088 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__P_11, 1) = ((MR_Box) (ssdb__print_var_with_name_5_p_0_1));
#line 3088 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__P_11, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 1));
#line 3088 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__P_11, 3) = ((MR_Box) (ssdb__VarName_8));
#line 3088 "ssdb.m"
        }
#line 3091 "ssdb.m"
        {
#line 3091 "ssdb.m"
          mercury__list__filter_3_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_var_value_0, ssdb__P_11, ssdb__VarDescs_7, &ssdb__MatchVars_13);
        }
#line 3095 "ssdb.m"
        if ((ssdb__MatchVars_13 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3093 "ssdb.m"
          {
#line 3094 "ssdb.m"
            {
#line 3094 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: there is no such variable.\n");
#line 3094 "ssdb.m"
              return;
            }
#line 3093 "ssdb.m"
          }
#line 3095 "ssdb.m"
        else
#line 3096 "ssdb.m"
          {
#line 3096 "ssdb.m"
            MR_Word ssdb__V_46_46;
#line 3074 "ssdb.m"
            MR_Box ssdb__conv1_STATE_VARIABLE_IO_17;

#line 3074 "ssdb.m"
            {
#line 3074 "ssdb.m"
              ssdb__V_46_46 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 5 * sizeof(MR_Word)), NULL, NULL);
#line 3074 "ssdb.m"
              MR_hl_field(MR_mktag(0), ssdb__V_46_46, 0) = ((MR_Box) (&ssdb_scalar_common_8[0]));
#line 3074 "ssdb.m"
              MR_hl_field(MR_mktag(0), ssdb__V_46_46, 1) = ((MR_Box) (ssdb__print_var_with_name_5_p_0_2));
#line 3074 "ssdb.m"
              MR_hl_field(MR_mktag(0), ssdb__V_46_46, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 2));
#line 3074 "ssdb.m"
              MR_hl_field(MR_mktag(0), ssdb__V_46_46, 3) = ((MR_Box) (ssdb__MaybeFormat_6));
#line 3074 "ssdb.m"
              MR_hl_field(MR_mktag(0), ssdb__V_46_46, 4) = ((MR_Box) ((MR_Integer) 0));
#line 3074 "ssdb.m"
            }
#line 3074 "ssdb.m"
            {
#line 3074 "ssdb.m"
              mercury__list__foldl_4_p_2((MR_Word) &ssdb__ssdb__type_ctor_info_var_value_0, (MR_Word) &mercury__io__io__type_ctor_info_state_0, ssdb__V_46_46, ssdb__MatchVars_13, ((MR_Box) ((MR_Integer) 0)), &ssdb__conv1_STATE_VARIABLE_IO_17);
            }
#line 3096 "ssdb.m"
          }
#line 3090 "ssdb.m"
      }
#line 3085 "ssdb.m"
  }
#line 3076 "ssdb.m"
}

#line 3074 "ssdb.m"
static void MR_CALL 
ssdb__print_vars_5_p_0_1(
#line 3074 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 3074 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 3074 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 3074 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3)
#line 3074 "ssdb.m"
{
#line 3074 "ssdb.m"
  {
#line 3074 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;

#line 3074 "ssdb.m"
    {
#line 3074 "ssdb.m"
      ssdb__print_var_5_p_0(((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__closure, (MR_Integer) 3))), ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__closure, (MR_Integer) 4))), ((MR_Word) ssdb__wrapper_arg_1));
#line 3074 "ssdb.m"
      return;
    }
#line 3074 "ssdb.m"
  }
#line 3074 "ssdb.m"
}

#line 3070 "ssdb.m"
static void MR_CALL 
ssdb__print_vars_5_p_0(
#line 3070 "ssdb.m"
  MR_Word ssdb__MaybeFormat_6,
#line 3070 "ssdb.m"
  MR_Word ssdb__CallerType_7,
#line 3070 "ssdb.m"
  MR_Word ssdb__Vars_8)
#line 3070 "ssdb.m"
{
#line 3073 "ssdb.m"
  {
#line 3073 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 3073 "ssdb.m"
    MR_Word ssdb__V_12_12;
#line 3074 "ssdb.m"
    MR_Box ssdb__conv0_STATE_VARIABLE_IO_11;

#line 3074 "ssdb.m"
    {
#line 3074 "ssdb.m"
      ssdb__V_12_12 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 5 * sizeof(MR_Word)), NULL, NULL);
#line 3074 "ssdb.m"
      MR_hl_field(MR_mktag(0), ssdb__V_12_12, 0) = ((MR_Box) (&ssdb_scalar_common_8[0]));
#line 3074 "ssdb.m"
      MR_hl_field(MR_mktag(0), ssdb__V_12_12, 1) = ((MR_Box) (ssdb__print_vars_5_p_0_1));
#line 3074 "ssdb.m"
      MR_hl_field(MR_mktag(0), ssdb__V_12_12, 2) = ((MR_Box) (MR_Word) ((MR_Integer) 2));
#line 3074 "ssdb.m"
      MR_hl_field(MR_mktag(0), ssdb__V_12_12, 3) = ((MR_Box) (ssdb__MaybeFormat_6));
#line 3074 "ssdb.m"
      MR_hl_field(MR_mktag(0), ssdb__V_12_12, 4) = ((MR_Box) (ssdb__CallerType_7));
#line 3074 "ssdb.m"
    }
#line 3074 "ssdb.m"
    {
#line 3074 "ssdb.m"
      mercury__list__foldl_4_p_2((MR_Word) &ssdb__ssdb__type_ctor_info_var_value_0, (MR_Word) &mercury__io__io__type_ctor_info_state_0, ssdb__V_12_12, ssdb__Vars_8, ((MR_Box) ((MR_Integer) 0)), &ssdb__conv0_STATE_VARIABLE_IO_11);
    }
#line 3073 "ssdb.m"
  }
#line 3070 "ssdb.m"
}

#line 3047 "ssdb.m"
static void MR_CALL 
ssdb__print_stack_frame_6_p_0(
#line 3047 "ssdb.m"
  MR_Char ssdb__Star_7,
#line 3047 "ssdb.m"
  MR_Integer ssdb__Level_8,
#line 3047 "ssdb.m"
  MR_Word ssdb__Frame_9,
#line 3047 "ssdb.m"
  MR_Integer ssdb__SkippedFrames_10)
#line 3047 "ssdb.m"
{
#line 3050 "ssdb.m"
  {
#line 3050 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 3050 "ssdb.m"
    MR_String ssdb__Module_12;
#line 3050 "ssdb.m"
    MR_String ssdb__Procedure_13;
#line 3050 "ssdb.m"
    MR_String ssdb__SiteFile_14 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Frame_9, (MR_Integer) 4)));
#line 3050 "ssdb.m"
    MR_Integer ssdb__SiteLine_15 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_9, (MR_Integer) 5)));
#line 3050 "ssdb.m"
    MR_String ssdb__Etc_16;
#line 3050 "ssdb.m"
    MR_Word ssdb__V_19_19 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_9, (MR_Integer) 3)));
#line 3050 "ssdb.m"
    MR_Word ssdb__V_22_22;
#line 3050 "ssdb.m"
    MR_Word ssdb__V_24_24;
#line 3050 "ssdb.m"
    MR_Word ssdb__V_25_25;
#line 3050 "ssdb.m"
    MR_Word ssdb__V_26_26;
#line 3050 "ssdb.m"
    MR_String ssdb__V_80_80;
#line 3050 "ssdb.m"
    MR_String ssdb__V_81_81;
#line 3050 "ssdb.m"
    MR_String ssdb__V_82_82;
#line 3050 "ssdb.m"
    MR_String ssdb__V_84_84;
#line 3050 "ssdb.m"
    MR_String ssdb__V_85_85;
#line 3050 "ssdb.m"
    MR_String ssdb__V_87_87;
#line 3050 "ssdb.m"
    MR_String ssdb__V_88_88;
#line 3050 "ssdb.m"
    MR_String ssdb__V_90_90;
#line 3050 "ssdb.m"
    MR_String ssdb__V_91_91;
#line 3050 "ssdb.m"
    MR_String ssdb__V_93_93;
#line 3051 "ssdb.m"
    MR_Integer ssdb__V_49_49 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_9, (MR_Integer) 0)));
#line 3051 "ssdb.m"
    MR_Integer ssdb__V_50_50 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_9, (MR_Integer) 1)));
#line 3051 "ssdb.m"
    MR_Integer ssdb__V_51_51 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_9, (MR_Integer) 2)));
#line 3051 "ssdb.m"
    MR_Word ssdb__V_54_54 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_9, (MR_Integer) 6)));
#line 3051 "ssdb.m"
    MR_Word ssdb__V_55_55 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_9, (MR_Integer) 7)));

#line 3051 "ssdb.m"
    ssdb__Module_12 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__V_19_19, (MR_Integer) 0)));
#line 3051 "ssdb.m"
    ssdb__Procedure_13 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__V_19_19, (MR_Integer) 1)));
#line 3055 "ssdb.m"
    {
#line 3055 "ssdb.m"
      ssdb__V_24_24 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 3055 "ssdb.m"
      MR_hl_field(MR_mktag(3), ssdb__V_24_24, 0) = ((MR_Box) (MR_Word) (ssdb__Star_7));
#line 3055 "ssdb.m"
    }
#line 3055 "ssdb.m"
    {
#line 3055 "ssdb.m"
      ssdb__V_26_26 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 3055 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_26_26, 0) = ((MR_Box) (ssdb__Level_8));
#line 3055 "ssdb.m"
    }
#line 3055 "ssdb.m"
    {
#line 3055 "ssdb.m"
      ssdb__V_25_25 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3055 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_25_25, 0) = ((MR_Box) (ssdb__V_26_26));
#line 3055 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_25_25, 1) = ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 3055 "ssdb.m"
    }
#line 3055 "ssdb.m"
    {
#line 3055 "ssdb.m"
      ssdb__V_22_22 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3055 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_22_22, 0) = ((MR_Box) (ssdb__V_24_24));
#line 3055 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_22_22, 1) = ((MR_Box) (ssdb__V_25_25));
#line 3055 "ssdb.m"
    }
#line 3055 "ssdb.m"
    {
#line 3055 "ssdb.m"
      mercury__io__format_4_p_0((MR_String) "%c%4d ", ssdb__V_22_22);
    }
#line 3056 "ssdb.m"
    ssdb__succeeded = (ssdb__SkippedFrames_10 > (MR_Integer) 1);
#line 3059 "ssdb.m"
    if (ssdb__succeeded)
#line 3057 "ssdb.m"
      {
#line 3057 "ssdb.m"
        MR_Word ssdb__V_30_30;
#line 3057 "ssdb.m"
        MR_Word ssdb__V_32_32;

#line 3057 "ssdb.m"
        {
#line 3057 "ssdb.m"
          ssdb__V_32_32 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 3057 "ssdb.m"
          MR_hl_field(MR_mktag(1), ssdb__V_32_32, 0) = ((MR_Box) (ssdb__SkippedFrames_10));
#line 3057 "ssdb.m"
        }
#line 3057 "ssdb.m"
        {
#line 3057 "ssdb.m"
          ssdb__V_30_30 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 3057 "ssdb.m"
          MR_hl_field(MR_mktag(1), ssdb__V_30_30, 0) = ((MR_Box) (ssdb__V_32_32));
#line 3057 "ssdb.m"
          MR_hl_field(MR_mktag(1), ssdb__V_30_30, 1) = ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 3057 "ssdb.m"
        }
#line 3057 "ssdb.m"
        {
#line 3057 "ssdb.m"
          mercury__io__format_4_p_0((MR_String) "%4d*", ssdb__V_30_30);
        }
#line 3058 "ssdb.m"
        ssdb__Etc_16 = (MR_String) " and others";
#line 3057 "ssdb.m"
      }
#line 3059 "ssdb.m"
    else
#line 3060 "ssdb.m"
      {
#line 3060 "ssdb.m"
        {
#line 3060 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "     ");
        }
#line 3061 "ssdb.m"
        ssdb__Etc_16 = (MR_String) "";
#line 3060 "ssdb.m"
      }
#line 16356 "ssdb.c"
    {
#line 16358 "ssdb.c"
      ssdb__V_80_80 = mercury__string__f_43_43_2_f_0(ssdb__Etc_16, (MR_String) ")\n");
    }
#line 16361 "ssdb.c"
    {
#line 16363 "ssdb.c"
      ssdb__V_81_81 = mercury__string__int_to_string_1_f_0(ssdb__SiteLine_15);
    }
#line 16366 "ssdb.c"
    {
#line 16368 "ssdb.c"
      ssdb__V_82_82 = mercury__string__f_43_43_2_f_0(ssdb__V_81_81, ssdb__V_80_80);
    }
#line 16371 "ssdb.c"
    {
#line 16373 "ssdb.c"
      ssdb__V_84_84 = mercury__string__f_43_43_2_f_0((MR_String) ":", ssdb__V_82_82);
    }
#line 16376 "ssdb.c"
    {
#line 16378 "ssdb.c"
      ssdb__V_85_85 = mercury__string__f_43_43_2_f_0(ssdb__SiteFile_14, ssdb__V_84_84);
    }
#line 16381 "ssdb.c"
    {
#line 16383 "ssdb.c"
      ssdb__V_87_87 = mercury__string__f_43_43_2_f_0((MR_String) " (", ssdb__V_85_85);
    }
#line 16386 "ssdb.c"
    {
#line 16388 "ssdb.c"
      ssdb__V_88_88 = mercury__string__f_43_43_2_f_0(ssdb__Procedure_13, ssdb__V_87_87);
    }
#line 16391 "ssdb.c"
    {
#line 16393 "ssdb.c"
      ssdb__V_90_90 = mercury__string__f_43_43_2_f_0((MR_String) ".", ssdb__V_88_88);
    }
#line 16396 "ssdb.c"
    {
#line 16398 "ssdb.c"
      ssdb__V_91_91 = mercury__string__f_43_43_2_f_0(ssdb__Module_12, ssdb__V_90_90);
    }
#line 16401 "ssdb.c"
    {
#line 16403 "ssdb.c"
      ssdb__V_93_93 = mercury__string__f_43_43_2_f_0((MR_String) " ", ssdb__V_91_91);
    }
#line 16406 "ssdb.c"
    {
#line 16408 "ssdb.c"
      mercury__io__write_string_3_p_0(ssdb__V_93_93);
#line 16410 "ssdb.c"
      return;
    }
#line 3050 "ssdb.m"
  }
#line 3047 "ssdb.m"
}

#line 3031 "ssdb.m"
static void MR_CALL 
ssdb__compress_stack_frames_4_p_0(
#line 3031 "ssdb.m"
  MR_Word ssdb__RefFrame_5,
#line 3031 "ssdb.m"
  MR_Word ssdb__Stack_6,
#line 3031 "ssdb.m"
  MR_Integer ssdb__Count0_7,
#line 3031 "ssdb.m"
  MR_Integer * ssdb__Count_8)
#line 3031 "ssdb.m"
{
#line 3036 "ssdb.m"
  while (MR_TRUE)
#line 3036 "ssdb.m"
    {
#line 3036 "ssdb.m"
      /* tailcall optimized into a loop */
#line 3036 "ssdb.m"
      {
#line 3036 "ssdb.m"
        MR_bool ssdb__succeeded;

#line 3036 "ssdb.m"
        if ((ssdb__Stack_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3037 "ssdb.m"
          *ssdb__Count_8 = ssdb__Count0_7;
#line 3036 "ssdb.m"
        else
#line 3039 "ssdb.m"
          {
#line 3039 "ssdb.m"
            MR_Word ssdb__Frame_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_6, (MR_Integer) 0)));
#line 3039 "ssdb.m"
            MR_Word ssdb__Frames_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_6, (MR_Integer) 1)));
#line 3040 "ssdb.m"
            MR_Word ssdb__V_11_11 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__RefFrame_5, (MR_Integer) 3)));
#line 3040 "ssdb.m"
            MR_Word ssdb__V_28_28 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_9, (MR_Integer) 3)));
#line 3040 "ssdb.m"
            MR_Integer ssdb__V_14_14 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__RefFrame_5, (MR_Integer) 0)));
#line 3040 "ssdb.m"
            MR_Integer ssdb__V_15_15 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__RefFrame_5, (MR_Integer) 1)));
#line 3040 "ssdb.m"
            MR_Integer ssdb__V_16_16 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__RefFrame_5, (MR_Integer) 2)));
#line 3040 "ssdb.m"
            MR_String ssdb__V_17_17 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__RefFrame_5, (MR_Integer) 4)));
#line 3040 "ssdb.m"
            MR_Integer ssdb__V_18_18 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__RefFrame_5, (MR_Integer) 5)));
#line 3040 "ssdb.m"
            MR_Word ssdb__V_19_19 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__RefFrame_5, (MR_Integer) 6)));
#line 3040 "ssdb.m"
            MR_Word ssdb__V_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__RefFrame_5, (MR_Integer) 7)));
#line 3040 "ssdb.m"
            MR_Integer ssdb__V_21_21 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_9, (MR_Integer) 0)));
#line 3040 "ssdb.m"
            MR_Integer ssdb__V_22_22 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_9, (MR_Integer) 1)));
#line 3040 "ssdb.m"
            MR_Integer ssdb__V_23_23 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_9, (MR_Integer) 2)));
#line 3040 "ssdb.m"
            MR_String ssdb__V_24_24 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Frame_9, (MR_Integer) 4)));
#line 3040 "ssdb.m"
            MR_Integer ssdb__V_25_25 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_9, (MR_Integer) 5)));
#line 3040 "ssdb.m"
            MR_Word ssdb__V_26_26 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_9, (MR_Integer) 6)));
#line 3040 "ssdb.m"
            MR_Word ssdb__V_27_27 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_9, (MR_Integer) 7)));

#line 3040 "ssdb.m"
            {
#line 3040 "ssdb.m"
              ssdb__succeeded = ssdb____Unify____ssdb_proc_id_0_0(ssdb__V_11_11, ssdb__V_28_28);
            }
#line 3042 "ssdb.m"
            if (ssdb__succeeded)
#line 3041 "ssdb.m"
              {
#line 3041 "ssdb.m"
                MR_Integer ssdb__V_12_12 = (ssdb__Count0_7 + (MR_Integer) 1);

#line 3041 "ssdb.m"
                /* direct tailcall eliminated */
#line 3041 "ssdb.m"
                {
#line 3041 "ssdb.m"
                  MR_Word ssdb__Stack__tmp_copy_6 = ssdb__Frames_10;
#line 3041 "ssdb.m"
                  MR_Integer ssdb__Count0__tmp_copy_7 = ssdb__V_12_12;

#line 3041 "ssdb.m"
                  ssdb__Count0_7 = ssdb__Count0__tmp_copy_7;
#line 3041 "ssdb.m"
                  ssdb__Stack_6 = ssdb__Stack__tmp_copy_6;
#line 3041 "ssdb.m"
                }
#line 3041 "ssdb.m"
                continue;
#line 3041 "ssdb.m"
              }
#line 3042 "ssdb.m"
            else
#line 3043 "ssdb.m"
              *ssdb__Count_8 = ssdb__Count0_7;
#line 3039 "ssdb.m"
          }
#line 3036 "ssdb.m"
      }
#line 3036 "ssdb.m"
      break;
#line 3036 "ssdb.m"
    }
#line 3031 "ssdb.m"
}

#line 3000 "ssdb.m"
static void MR_CALL 
ssdb__print_stack_trace_5_p_0(
#line 3000 "ssdb.m"
  MR_Integer ssdb__CurLevel_6,
#line 3000 "ssdb.m"
  MR_Integer ssdb__StarDepth_7,
#line 3000 "ssdb.m"
  MR_Integer ssdb__RemainingLines_8)
#line 3000 "ssdb.m"
{
#line 3002 "ssdb.m"
  while (MR_TRUE)
#line 3002 "ssdb.m"
    {
#line 3002 "ssdb.m"
      /* tailcall optimized into a loop */
#line 3002 "ssdb.m"
      {
#line 3002 "ssdb.m"
        MR_bool ssdb__succeeded;
#line 3002 "ssdb.m"
        MR_Integer ssdb__StackDepth_10;
#line 3005 "ssdb.m"
        MR_Integer ssdb__V_20_20;
#line 3005 "ssdb.m"
        MR_Integer ssdb__V_21_21;

#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_stack_trace_5_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 16573 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_stack_trace_5_p_0

	MR_Integer X;

		{
#line 303 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack_depth;

#line 16589 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__StackDepth_10  = X;
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_stack_trace_5_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 16608 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 3005 "ssdb.m"
        ssdb__succeeded = (ssdb__RemainingLines_8 == (MR_Integer) 0);
#line 3005 "ssdb.m"
        if (ssdb__succeeded)
#line 3005 "ssdb.m"
          {
#line 3006 "ssdb.m"
            ssdb__V_21_21 = (MR_Integer) 1;
#line 3006 "ssdb.m"
            ssdb__V_20_20 = (ssdb__StackDepth_10 - ssdb__V_21_21);
#line 3006 "ssdb.m"
            ssdb__succeeded = (ssdb__CurLevel_6 < ssdb__V_20_20);
#line 3005 "ssdb.m"
          }
#line 3009 "ssdb.m"
        if (ssdb__succeeded)
#line 3008 "ssdb.m"
          {
#line 3008 "ssdb.m"
            {
#line 3008 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "<more stack frames snipped>\n");
#line 3008 "ssdb.m"
              return;
            }
#line 3008 "ssdb.m"
          }
#line 3009 "ssdb.m"
        else
#line 3027 "ssdb.m"
          {
#line 3010 "ssdb.m"
            ssdb__succeeded = (ssdb__CurLevel_6 < ssdb__StackDepth_10);
#line 3027 "ssdb.m"
            if (ssdb__succeeded)
#line 3012 "ssdb.m"
              {
#line 3012 "ssdb.m"
                MR_Word ssdb__TypeCtorInfo_30_30;
#line 3012 "ssdb.m"
                MR_Word ssdb__Stack0_11;
#line 3012 "ssdb.m"
                MR_Word ssdb__Stack_12;
#line 3012 "ssdb.m"
                MR_Word ssdb__CurFrame_13;
#line 3012 "ssdb.m"
                MR_Integer ssdb__SkippedFrames_14;
#line 3012 "ssdb.m"
                MR_Integer ssdb__NextLevel_15;
#line 3012 "ssdb.m"
                MR_Char ssdb__Star_16;
#line 3012 "ssdb.m"
                MR_Integer ssdb__V_27_27;
#line 3014 "ssdb.m"
                MR_Box ssdb__conv0_CurFrame_13;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_stack_trace_5_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 16682 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_stack_trace_5_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 16698 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack0_11  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_stack_trace_5_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 16717 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 16723 "ssdb.c"
                ssdb__TypeCtorInfo_30_30 = (MR_Word) &ssdb__ssdb__type_ctor_info_stack_frame_0;
#line 3013 "ssdb.m"
                {
#line 3013 "ssdb.m"
                  mercury__list__det_drop_3_p_0(ssdb__TypeCtorInfo_30_30, ssdb__CurLevel_6, ssdb__Stack0_11, &ssdb__Stack_12);
                }
#line 3014 "ssdb.m"
                {
#line 3014 "ssdb.m"
                  ssdb__conv0_CurFrame_13 = mercury__list__det_head_1_f_0(ssdb__TypeCtorInfo_30_30, ssdb__Stack_12);
                }
#line 3014 "ssdb.m"
                ssdb__CurFrame_13 = ((MR_Word) ssdb__conv0_CurFrame_13);
#line 3015 "ssdb.m"
                {
#line 3015 "ssdb.m"
                  ssdb__compress_stack_frames_4_p_0(ssdb__CurFrame_13, ssdb__Stack_12, (MR_Integer) 0, &ssdb__SkippedFrames_14);
                }
#line 3016 "ssdb.m"
                ssdb__NextLevel_15 = (ssdb__CurLevel_6 + ssdb__SkippedFrames_14);
#line 3018 "ssdb.m"
                ssdb__succeeded = (ssdb__StarDepth_7 >= ssdb__CurLevel_6);
#line 3018 "ssdb.m"
                if (ssdb__succeeded)
#line 3019 "ssdb.m"
                  ssdb__succeeded = (ssdb__StarDepth_7 < ssdb__NextLevel_15);
#line 3022 "ssdb.m"
                if (ssdb__succeeded)
#line 3021 "ssdb.m"
                  ssdb__Star_16 = (MR_Char) 42;
#line 3022 "ssdb.m"
                else
#line 3023 "ssdb.m"
                  ssdb__Star_16 = (MR_Char) 32;
#line 3025 "ssdb.m"
                {
#line 3025 "ssdb.m"
                  ssdb__print_stack_frame_6_p_0(ssdb__Star_16, ssdb__CurLevel_6, ssdb__CurFrame_13, ssdb__SkippedFrames_14);
                }
#line 3026 "ssdb.m"
                ssdb__V_27_27 = (ssdb__RemainingLines_8 - (MR_Integer) 1);
#line 3026 "ssdb.m"
                /* direct tailcall eliminated */
#line 3026 "ssdb.m"
                {
#line 3026 "ssdb.m"
                  MR_Integer ssdb__CurLevel__tmp_copy_6 = ssdb__NextLevel_15;
#line 3026 "ssdb.m"
                  MR_Integer ssdb__RemainingLines__tmp_copy_8 = ssdb__V_27_27;

#line 3026 "ssdb.m"
                  ssdb__RemainingLines_8 = ssdb__RemainingLines__tmp_copy_8;
#line 3026 "ssdb.m"
                  ssdb__CurLevel_6 = ssdb__CurLevel__tmp_copy_6;
#line 3026 "ssdb.m"
                }
#line 3026 "ssdb.m"
                continue;
#line 3012 "ssdb.m"
              }
#line 3027 "ssdb.m"
            else
#line 3026 "ssdb.m"
              {
#line 3026 "ssdb.m"
              }
#line 3027 "ssdb.m"
          }
#line 3002 "ssdb.m"
      }
#line 3002 "ssdb.m"
      break;
#line 3002 "ssdb.m"
    }
#line 3000 "ssdb.m"
}

#line 2973 "ssdb.m"
static void MR_CALL 
ssdb__print_depth_change_3_p_0(
#line 2973 "ssdb.m"
  MR_Integer ssdb__Depth_4)
#line 2973 "ssdb.m"
{
#line 2975 "ssdb.m"
  {
#line 2975 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 2975 "ssdb.m"
    MR_Word ssdb__StackFrame_6;
#line 2975 "ssdb.m"
    MR_Integer ssdb__StackDepth_7;
#line 2975 "ssdb.m"
    MR_String ssdb__V_19_19;
#line 2975 "ssdb.m"
    MR_String ssdb__V_20_20;
#line 2975 "ssdb.m"
    MR_String ssdb__V_22_22;
#line 2975 "ssdb.m"
    MR_Word ssdb__Stack_28;
#line 2975 "ssdb.m"
    MR_Integer ssdb__Depth_45;
#line 2975 "ssdb.m"
    MR_Word ssdb__ProcId_46;
#line 2975 "ssdb.m"
    MR_String ssdb__ModuleName_47;
#line 2975 "ssdb.m"
    MR_String ssdb__ProcName_48;
#line 2975 "ssdb.m"
    MR_String ssdb__SiteFile_49;
#line 2975 "ssdb.m"
    MR_Integer ssdb__SiteLine_50;
#line 2975 "ssdb.m"
    MR_Integer ssdb__RevDepth_51;
#line 2975 "ssdb.m"
    MR_Word ssdb__V_53_53;
#line 2975 "ssdb.m"
    MR_Word ssdb__V_55_55;
#line 2975 "ssdb.m"
    MR_Word ssdb__V_56_56;
#line 2975 "ssdb.m"
    MR_Word ssdb__V_57_57;
#line 2975 "ssdb.m"
    MR_Word ssdb__V_58_58;
#line 2975 "ssdb.m"
    MR_Word ssdb__V_59_59;
#line 2975 "ssdb.m"
    MR_Word ssdb__V_60_60;
#line 2975 "ssdb.m"
    MR_Word ssdb__V_61_61;
#line 2975 "ssdb.m"
    MR_Word ssdb__V_62_62;
#line 2975 "ssdb.m"
    MR_Word ssdb__V_63_63;
#line 995 "ssdb.m"
    MR_Box ssdb__conv0_StackFrame_6;
#line 2988 "ssdb.m"
    MR_Integer ssdb__V_65_65;
#line 2988 "ssdb.m"
    MR_Integer ssdb__V_66_66;
#line 2988 "ssdb.m"
    MR_Word ssdb__V_70_70;
#line 2988 "ssdb.m"
    MR_Word ssdb__V_71_71;

#line 16869 "ssdb.c"
    {
#line 16871 "ssdb.c"
      ssdb__V_19_19 = mercury__string__int_to_string_1_f_0(ssdb__Depth_4);
    }
#line 16874 "ssdb.c"
    {
#line 16876 "ssdb.c"
      ssdb__V_20_20 = mercury__string__f_43_43_2_f_0(ssdb__V_19_19, (MR_String) ":\n");
    }
#line 16879 "ssdb.c"
    {
#line 16881 "ssdb.c"
      ssdb__V_22_22 = mercury__string__f_43_43_2_f_0((MR_String) "Ancestor level set to ", ssdb__V_20_20);
    }
#line 16884 "ssdb.c"
    {
#line 16886 "ssdb.c"
      mercury__io__write_string_3_p_0(ssdb__V_22_22);
    }
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_depth_change_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 16901 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_depth_change_3_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 16917 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_28  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_depth_change_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 16936 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 995 "ssdb.m"
    {
#line 995 "ssdb.m"
      mercury__list__det_index0_3_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_stack_frame_0, ssdb__Stack_28, ssdb__Depth_4, &ssdb__conv0_StackFrame_6);
    }
#line 995 "ssdb.m"
    ssdb__StackFrame_6 = ((MR_Word) ssdb__conv0_StackFrame_6);
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_depth_change_3_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 16961 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_depth_change_3_p_0

	MR_Integer X;

		{
#line 303 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack_depth;

#line 16977 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__StackDepth_7  = X;
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__print_depth_change_3_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 16996 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 2988 "ssdb.m"
    ssdb__V_65_65 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_6, (MR_Integer) 0)));
#line 2988 "ssdb.m"
    ssdb__V_66_66 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_6, (MR_Integer) 1)));
#line 2988 "ssdb.m"
    ssdb__Depth_45 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_6, (MR_Integer) 2)));
#line 2988 "ssdb.m"
    ssdb__ProcId_46 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_6, (MR_Integer) 3)));
#line 2988 "ssdb.m"
    ssdb__SiteFile_49 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_6, (MR_Integer) 4)));
#line 2988 "ssdb.m"
    ssdb__SiteLine_50 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_6, (MR_Integer) 5)));
#line 2988 "ssdb.m"
    ssdb__V_70_70 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_6, (MR_Integer) 6)));
#line 2988 "ssdb.m"
    ssdb__V_71_71 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_6, (MR_Integer) 7)));
#line 2990 "ssdb.m"
    ssdb__ModuleName_47 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__ProcId_46, (MR_Integer) 0)));
#line 2990 "ssdb.m"
    ssdb__ProcName_48 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__ProcId_46, (MR_Integer) 1)));
#line 2993 "ssdb.m"
    ssdb__RevDepth_51 = (ssdb__StackDepth_7 - ssdb__Depth_45);
#line 2995 "ssdb.m"
    {
#line 2995 "ssdb.m"
      ssdb__V_55_55 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 2995 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_55_55, 0) = ((MR_Box) (ssdb__RevDepth_51));
#line 2995 "ssdb.m"
    }
#line 2995 "ssdb.m"
    {
#line 2995 "ssdb.m"
      ssdb__V_57_57 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 2995 "ssdb.m"
      MR_hl_field(MR_mktag(2), ssdb__V_57_57, 0) = ((MR_Box) (ssdb__ModuleName_47));
#line 2995 "ssdb.m"
    }
#line 2995 "ssdb.m"
    {
#line 2995 "ssdb.m"
      ssdb__V_59_59 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 2995 "ssdb.m"
      MR_hl_field(MR_mktag(2), ssdb__V_59_59, 0) = ((MR_Box) (ssdb__ProcName_48));
#line 2995 "ssdb.m"
    }
#line 2995 "ssdb.m"
    {
#line 2995 "ssdb.m"
      ssdb__V_61_61 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 2995 "ssdb.m"
      MR_hl_field(MR_mktag(2), ssdb__V_61_61, 0) = ((MR_Box) (ssdb__SiteFile_49));
#line 2995 "ssdb.m"
    }
#line 2995 "ssdb.m"
    {
#line 2995 "ssdb.m"
      ssdb__V_63_63 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 2995 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_63_63, 0) = ((MR_Box) (ssdb__SiteLine_50));
#line 2995 "ssdb.m"
    }
#line 2995 "ssdb.m"
    {
#line 2995 "ssdb.m"
      ssdb__V_62_62 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2995 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_62_62, 0) = ((MR_Box) (ssdb__V_63_63));
#line 2995 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_62_62, 1) = ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2995 "ssdb.m"
    }
#line 2995 "ssdb.m"
    {
#line 2995 "ssdb.m"
      ssdb__V_60_60 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2995 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_60_60, 0) = ((MR_Box) (ssdb__V_61_61));
#line 2995 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_60_60, 1) = ((MR_Box) (ssdb__V_62_62));
#line 2995 "ssdb.m"
    }
#line 2995 "ssdb.m"
    {
#line 2995 "ssdb.m"
      ssdb__V_58_58 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2995 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_58_58, 0) = ((MR_Box) (ssdb__V_59_59));
#line 2995 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_58_58, 1) = ((MR_Box) (ssdb__V_60_60));
#line 2995 "ssdb.m"
    }
#line 2995 "ssdb.m"
    {
#line 2995 "ssdb.m"
      ssdb__V_56_56 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2995 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_56_56, 0) = ((MR_Box) (ssdb__V_57_57));
#line 2995 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_56_56, 1) = ((MR_Box) (ssdb__V_58_58));
#line 2995 "ssdb.m"
    }
#line 2994 "ssdb.m"
    {
#line 2994 "ssdb.m"
      ssdb__V_53_53 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2994 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_53_53, 0) = ((MR_Box) (ssdb__V_55_55));
#line 2994 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_53_53, 1) = ((MR_Box) (ssdb__V_56_56));
#line 2994 "ssdb.m"
    }
#line 2994 "ssdb.m"
    {
#line 2994 "ssdb.m"
      mercury__io__format_4_p_0((MR_String) "%4d  %s.%s (%s:%d)\n", ssdb__V_53_53);
#line 2994 "ssdb.m"
      return;
    }
#line 2975 "ssdb.m"
  }
#line 2973 "ssdb.m"
}

#line 2923 "ssdb.m"
static void MR_CALL 
ssdb__print_event_info_4_p_0(
#line 2923 "ssdb.m"
  MR_Word ssdb__Event_5,
#line 2923 "ssdb.m"
  MR_Integer ssdb__EventNum_6)
#line 2923 "ssdb.m"
{
#line 2925 "ssdb.m"
  {
#line 2925 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 2925 "ssdb.m"
    MR_Word ssdb__StackFrame_8;
#line 2925 "ssdb.m"
    MR_Integer ssdb__CSN_9;
#line 2925 "ssdb.m"
    MR_Word ssdb__ProcId_10;
#line 2925 "ssdb.m"
    MR_Integer ssdb__PrintDepth_11;
#line 2925 "ssdb.m"
    MR_String ssdb__SiteFile_12;
#line 2925 "ssdb.m"
    MR_Integer ssdb__SiteLine_13;
#line 2925 "ssdb.m"
    MR_String ssdb__V_40_40;
#line 2925 "ssdb.m"
    MR_String ssdb__V_44_44;
#line 2925 "ssdb.m"
    MR_String ssdb__V_91_91;
#line 2925 "ssdb.m"
    MR_String ssdb__V_92_92;
#line 2925 "ssdb.m"
    MR_String ssdb__V_94_94;
#line 2925 "ssdb.m"
    MR_String ssdb__V_95_95;
#line 2925 "ssdb.m"
    MR_String ssdb__V_97_97;
#line 2927 "ssdb.m"
    MR_Integer ssdb__V_53_53;
#line 2927 "ssdb.m"
    MR_Word ssdb__V_58_58;
#line 2927 "ssdb.m"
    MR_Word ssdb__V_59_59;
#line 2965 "ssdb.m"
    MR_String ssdb__V_88_88;
#line 2967 "ssdb.m"
    MR_String ssdb__V_89_89;

#line 2926 "ssdb.m"
    {
#line 2926 "ssdb.m"
      ssdb__stack_top_3_p_0(&ssdb__StackFrame_8);
    }
#line 2927 "ssdb.m"
    ssdb__V_53_53 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 0)));
#line 2927 "ssdb.m"
    ssdb__CSN_9 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 1)));
#line 2927 "ssdb.m"
    ssdb__PrintDepth_11 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 2)));
#line 2927 "ssdb.m"
    ssdb__ProcId_10 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 3)));
#line 2927 "ssdb.m"
    ssdb__SiteFile_12 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 4)));
#line 2927 "ssdb.m"
    ssdb__SiteLine_13 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 5)));
#line 2927 "ssdb.m"
    ssdb__V_58_58 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 6)));
#line 2927 "ssdb.m"
    ssdb__V_59_59 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 7)));
#line 2934 "ssdb.m"
    {
#line 2934 "ssdb.m"
      mercury__io__write_string_3_p_0((MR_String) "\t");
    }
#line 2935 "ssdb.m"
    {
#line 2935 "ssdb.m"
      mercury__io__write_int_3_p_0(ssdb__EventNum_6);
    }
#line 2936 "ssdb.m"
    {
#line 2936 "ssdb.m"
      mercury__io__write_string_3_p_0((MR_String) ":\t");
    }
#line 2937 "ssdb.m"
    {
#line 2937 "ssdb.m"
      mercury__io__write_int_3_p_0(ssdb__CSN_9);
    }
#line 2938 "ssdb.m"
    {
#line 2938 "ssdb.m"
      mercury__io__write_string_3_p_0((MR_String) "  ");
    }
#line 2939 "ssdb.m"
    {
#line 2939 "ssdb.m"
      mercury__io__write_int_3_p_0(ssdb__PrintDepth_11);
    }
#line 2940 "ssdb.m"
    {
#line 2940 "ssdb.m"
      mercury__io__write_string_3_p_0((MR_String) "\t");
    }
#line 2946 "ssdb.m"
    if ((ssdb__Event_5 == (MR_Integer) 7))
#line 2960 "ssdb.m"
      {
#line 2961 "ssdb.m"
        {
#line 2961 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "EXCP");
        }
#line 2960 "ssdb.m"
      }
#line 2946 "ssdb.m"
    else
#line 2946 "ssdb.m"
      if ((ssdb__Event_5 == (MR_Integer) 5))
#line 2957 "ssdb.m"
        {
#line 2958 "ssdb.m"
          {
#line 2958 "ssdb.m"
            mercury__io__write_string_3_p_0((MR_String) "REDO");
          }
#line 2957 "ssdb.m"
        }
#line 2946 "ssdb.m"
      else
#line 2946 "ssdb.m"
        if ((((ssdb__Event_5 == (MR_Integer) 0)) || ((ssdb__Event_5 == (MR_Integer) 3))))
#line 2944 "ssdb.m"
          {
#line 2945 "ssdb.m"
            {
#line 2945 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "CALL");
            }
#line 2944 "ssdb.m"
          }
#line 2946 "ssdb.m"
        else
#line 2946 "ssdb.m"
          if ((((ssdb__Event_5 == (MR_Integer) 1)) || ((ssdb__Event_5 == (MR_Integer) 4))))
#line 2949 "ssdb.m"
            {
#line 2950 "ssdb.m"
              {
#line 2950 "ssdb.m"
                mercury__io__write_string_3_p_0((MR_String) "EXIT");
              }
#line 2949 "ssdb.m"
            }
#line 2946 "ssdb.m"
          else
#line 2954 "ssdb.m"
            {
#line 2955 "ssdb.m"
              {
#line 2955 "ssdb.m"
                mercury__io__write_string_3_p_0((MR_String) "FAIL");
              }
#line 2954 "ssdb.m"
            }
#line 2963 "ssdb.m"
    {
#line 2963 "ssdb.m"
      mercury__io__write_string_3_p_0((MR_String) " ");
    }
#line 2965 "ssdb.m"
    ssdb__V_40_40 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__ProcId_10, (MR_Integer) 0)));
#line 2965 "ssdb.m"
    ssdb__V_88_88 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__ProcId_10, (MR_Integer) 1)));
#line 2965 "ssdb.m"
    {
#line 2965 "ssdb.m"
      mercury__io__write_string_3_p_0(ssdb__V_40_40);
    }
#line 2966 "ssdb.m"
    {
#line 2966 "ssdb.m"
      mercury__io__write_string_3_p_0((MR_String) ".");
    }
#line 2967 "ssdb.m"
    ssdb__V_89_89 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__ProcId_10, (MR_Integer) 0)));
#line 2967 "ssdb.m"
    ssdb__V_44_44 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__ProcId_10, (MR_Integer) 1)));
#line 2967 "ssdb.m"
    {
#line 2967 "ssdb.m"
      mercury__io__write_string_3_p_0(ssdb__V_44_44);
    }
#line 17321 "ssdb.c"
    {
#line 17323 "ssdb.c"
      ssdb__V_91_91 = mercury__string__int_to_string_1_f_0(ssdb__SiteLine_13);
    }
#line 17326 "ssdb.c"
    {
#line 17328 "ssdb.c"
      ssdb__V_92_92 = mercury__string__f_43_43_2_f_0(ssdb__V_91_91, (MR_String) ")\n");
    }
#line 17331 "ssdb.c"
    {
#line 17333 "ssdb.c"
      ssdb__V_94_94 = mercury__string__f_43_43_2_f_0((MR_String) ":", ssdb__V_92_92);
    }
#line 17336 "ssdb.c"
    {
#line 17338 "ssdb.c"
      ssdb__V_95_95 = mercury__string__f_43_43_2_f_0(ssdb__SiteFile_12, ssdb__V_94_94);
    }
#line 17341 "ssdb.c"
    {
#line 17343 "ssdb.c"
      ssdb__V_97_97 = mercury__string__f_43_43_2_f_0((MR_String) " (", ssdb__V_95_95);
    }
#line 17346 "ssdb.c"
    {
#line 17348 "ssdb.c"
      mercury__io__write_string_3_p_0(ssdb__V_97_97);
#line 17350 "ssdb.c"
      return;
    }
#line 2925 "ssdb.m"
  }
#line 2923 "ssdb.m"
}

#line 2871 "ssdb.m"
static void MR_CALL 
ssdb__set_breakpoints_filter_bits_3_p_0(
#line 2871 "ssdb.m"
  MR_Word ssdb__BreakPoint_4,
#line 2871 "ssdb.m"
  MR_Box ssdb__STATE_VARIABLE_Bitmap_0_11,
#line 2871 "ssdb.m"
  MR_Box * ssdb__STATE_VARIABLE_Bitmap_12)
#line 2871 "ssdb.m"
{
#line 2874 "ssdb.m"
  {
#line 2874 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 2874 "ssdb.m"
    MR_Word ssdb__ProcId_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__BreakPoint_4, (MR_Integer) 1)));
#line 2874 "ssdb.m"
    MR_Word ssdb__State_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__BreakPoint_4, (MR_Integer) 2)));
#line 2875 "ssdb.m"
    MR_Integer ssdb___Num_6 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__BreakPoint_4, (MR_Integer) 0)));

#line 2881 "ssdb.m"
    if ((ssdb__State_8 == (MR_Integer) 1))
#line 2882 "ssdb.m"
      *ssdb__STATE_VARIABLE_Bitmap_12 = ssdb__STATE_VARIABLE_Bitmap_0_11;
#line 2881 "ssdb.m"
    else
#line 2877 "ssdb.m"
      {
#line 2877 "ssdb.m"
        MR_String ssdb__ModuleName_9 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__ProcId_7, (MR_Integer) 0)));
#line 2877 "ssdb.m"
        MR_String ssdb__ProcName_10 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__ProcId_7, (MR_Integer) 1)));
#line 2877 "ssdb.m"
        MR_Integer ssdb__V_13_13;
#line 2877 "ssdb.m"
        MR_Box ssdb__STATE_VARIABLE_Bitmap_14_14;
#line 2877 "ssdb.m"
        MR_Integer ssdb__V_15_15;
#line 2877 "ssdb.m"
        MR_Integer ssdb__V_18_18;
#line 2877 "ssdb.m"
        MR_Integer ssdb__V_22_22;

#line 2909 "ssdb.m"
        {
#line 2909 "ssdb.m"
          ssdb__V_18_18 = mercury__string__hash_1_f_0(ssdb__ModuleName_9);
        }
#line 2861 "ssdb.m"
        ssdb__V_13_13 = (ssdb__V_18_18 & (MR_Integer) 65535);
#line 2879 "ssdb.m"
        {
#line 2879 "ssdb.m"
          mercury__bitmap__set_3_p_0(ssdb__V_13_13, ssdb__STATE_VARIABLE_Bitmap_0_11, &ssdb__STATE_VARIABLE_Bitmap_14_14);
        }
#line 2909 "ssdb.m"
        {
#line 2909 "ssdb.m"
          ssdb__V_22_22 = mercury__string__hash_1_f_0(ssdb__ProcName_10);
        }
#line 2861 "ssdb.m"
        ssdb__V_15_15 = (ssdb__V_22_22 & (MR_Integer) 65535);
#line 2880 "ssdb.m"
        {
#line 2880 "ssdb.m"
          mercury__bitmap__set_3_p_0(ssdb__V_15_15, ssdb__STATE_VARIABLE_Bitmap_14_14, ssdb__STATE_VARIABLE_Bitmap_12);
#line 2880 "ssdb.m"
          return;
        }
#line 2877 "ssdb.m"
      }
#line 2874 "ssdb.m"
  }
#line 2871 "ssdb.m"
}

#line 2868 "ssdb.m"
static void MR_CALL 
ssdb__delete_breakpoint_3_p_0_5(
#line 2868 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2868 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 2868 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 2868 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3)
#line 2868 "ssdb.m"
{
#line 2868 "ssdb.m"
  {
#line 2868 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;
#line 2868 "ssdb.m"
    MR_Box ssdb__conv2_STATE_VARIABLE_Bitmap_12;

#line 2868 "ssdb.m"
    {
#line 2868 "ssdb.m"
      ssdb__set_breakpoints_filter_bits_3_p_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Box) ssdb__wrapper_arg_2), &ssdb__conv2_STATE_VARIABLE_Bitmap_12);
    }
#line 2868 "ssdb.m"
    *ssdb__wrapper_arg_3 = ((MR_Box) (ssdb__conv2_STATE_VARIABLE_Bitmap_12));
#line 2868 "ssdb.m"
  }
#line 2868 "ssdb.m"
}

#line 2836 "ssdb.m"
static void MR_CALL 
ssdb__delete_breakpoint_3_p_0_1(
#line 2836 "ssdb.m"
  void * ssdb__env_ptr_arg)
#line 2836 "ssdb.m"
{
#line 2836 "ssdb.m"
  {
#line 2836 "ssdb.m"
    struct ssdb__delete_breakpoint_3_p_0_env_0_s * ssdb__env_ptr = (struct ssdb__delete_breakpoint_3_p_0_env_0_s *) ssdb__env_ptr_arg;

#line 2836 "ssdb.m"
    MR_builtin_longjmp((ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__commit_0, 1);
#line 2836 "ssdb.m"
  }
#line 2836 "ssdb.m"
}

#line 2836 "ssdb.m"
static void MR_CALL 
ssdb__delete_breakpoint_3_p_0_3(
#line 2836 "ssdb.m"
  void * ssdb__env_ptr_arg)
#line 2836 "ssdb.m"
{
#line 2836 "ssdb.m"
  {
#line 2836 "ssdb.m"
    struct ssdb__delete_breakpoint_3_p_0_env_0_s * ssdb__env_ptr = (struct ssdb__delete_breakpoint_3_p_0_env_0_s *) ssdb__env_ptr_arg;

#line 2836 "ssdb.m"
    (ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__ProcId_7 = ((MR_Word) (ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__conv1_ProcId_7);
#line 2836 "ssdb.m"
    (ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__BreakPoint_8 = ((MR_Word) (ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__conv0_BreakPoint_8);
#line 2836 "ssdb.m"
    {
#line 2836 "ssdb.m"
      ssdb__delete_breakpoint_3_p_0_2(ssdb__env_ptr);
#line 2836 "ssdb.m"
      return;
    }
#line 2836 "ssdb.m"
  }
#line 2836 "ssdb.m"
}

#line 2836 "ssdb.m"
static void MR_CALL 
ssdb__delete_breakpoint_3_p_0_2(
#line 2836 "ssdb.m"
  void * ssdb__env_ptr_arg)
#line 2836 "ssdb.m"
{
#line 2836 "ssdb.m"
  {
#line 2836 "ssdb.m"
    struct ssdb__delete_breakpoint_3_p_0_env_0_s * ssdb__env_ptr = (struct ssdb__delete_breakpoint_3_p_0_env_0_s *) ssdb__env_ptr_arg;

#line 2836 "ssdb.m"
    {
#line 2764 "ssdb.m"
      MR_Word ssdb__V_38_38;
#line 2764 "ssdb.m"
      MR_Word ssdb__V_39_39;

#line 2764 "ssdb.m"
      (ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__V_37_37 = ((MR_Integer) (MR_hl_field(MR_mktag(0), (ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__BreakPoint_8, (MR_Integer) 0)));
#line 2764 "ssdb.m"
      ssdb__V_38_38 = ((MR_Word) (MR_hl_field(MR_mktag(0), (ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__BreakPoint_8, (MR_Integer) 1)));
#line 2764 "ssdb.m"
      ssdb__V_39_39 = ((MR_Word) (MR_hl_field(MR_mktag(0), (ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__BreakPoint_8, (MR_Integer) 2)));
#line 2837 "ssdb.m"
      (ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__succeeded = ((ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__Num_4 == (ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__V_37_37);
#line 2837 "ssdb.m"
      if ((ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__succeeded)
#line 2837 "ssdb.m"
        {
#line 2837 "ssdb.m"
          ssdb__delete_breakpoint_3_p_0_1(ssdb__env_ptr);
#line 2837 "ssdb.m"
          return;
        }
#line 2836 "ssdb.m"
    }
#line 2836 "ssdb.m"
  }
#line 2836 "ssdb.m"
}

#line 2836 "ssdb.m"
static void MR_CALL 
ssdb__delete_breakpoint_3_p_0_4(
#line 2836 "ssdb.m"
  void * ssdb__env_ptr_arg)
#line 2836 "ssdb.m"
{
#line 2836 "ssdb.m"
  {
#line 2836 "ssdb.m"
    struct ssdb__delete_breakpoint_3_p_0_env_0_s * ssdb__env_ptr = (struct ssdb__delete_breakpoint_3_p_0_env_0_s *) ssdb__env_ptr_arg;

#line 2836 "ssdb.m"
    if (MR_builtin_setjmp((ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__commit_0) == 0)
#line 2836 "ssdb.m"
      {
#line 2836 "ssdb.m"
        {
#line 2836 "ssdb.m"
          {
#line 2836 "ssdb.m"
            mercury__map__member_3_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0, (ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__BreakPoints0_6, &(ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__conv1_ProcId_7, &(ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__conv0_BreakPoint_8, ssdb__delete_breakpoint_3_p_0_3, ssdb__env_ptr);
          }
#line 2836 "ssdb.m"
        }
#line 2836 "ssdb.m"
        (ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__succeeded = MR_FALSE;
#line 2836 "ssdb.m"
      }
#line 2836 "ssdb.m"
    else
#line 2836 "ssdb.m"
      (ssdb__env_ptr)->ssdb__delete_breakpoint_3_p_0_env_0__succeeded = MR_TRUE;
#line 2836 "ssdb.m"
  }
#line 2836 "ssdb.m"
}

#line 2812 "ssdb.m"
static void MR_CALL 
ssdb__delete_breakpoint_3_p_0(
#line 2812 "ssdb.m"
  MR_Integer ssdb__Num_4)
#line 2812 "ssdb.m"
{
#line 2812 "ssdb.m"
  {
#line 2812 "ssdb.m"
    struct ssdb__delete_breakpoint_3_p_0_env_0_s ssdb__env;

#line 2812 "ssdb.m"
    (ssdb__env).ssdb__delete_breakpoint_3_p_0_env_0__Num_4 = ssdb__Num_4;
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__delete_breakpoint_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 17622 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__delete_breakpoint_3_p_0

	MR_Word X;

		{
#line 317 "ssdb.m"
X = ssdb__mutable_variable_breakpoints_map;

#line 17638 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 (ssdb__env).ssdb__delete_breakpoint_3_p_0_env_0__BreakPoints0_6  = X;
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__delete_breakpoint_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 17657 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 2836 "ssdb.m"
    {
#line 2836 "ssdb.m"
      ssdb__delete_breakpoint_3_p_0_4(&ssdb__env);
    }
#line 2822 "ssdb.m"
    if ((ssdb__env).ssdb__delete_breakpoint_3_p_0_env_0__succeeded)
#line 2817 "ssdb.m"
      {
#line 2817 "ssdb.m"
        MR_Word ssdb__BreakPoints_9;
#line 2817 "ssdb.m"
        MR_Box ssdb__Filter_10;
#line 2817 "ssdb.m"
        MR_Box ssdb__V_45_45;
#line 2868 "ssdb.m"
        MR_Box ssdb__conv3_Filter_10;

#line 2817 "ssdb.m"
        {
#line 2817 "ssdb.m"
          mercury__map__delete_3_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0, ((MR_Box) ((ssdb__env).ssdb__delete_breakpoint_3_p_0_env_0__ProcId_7)), (ssdb__env).ssdb__delete_breakpoint_3_p_0_env_0__BreakPoints0_6, &ssdb__BreakPoints_9);
        }
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__delete_breakpoint_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 17698 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__delete_breakpoint_3_p_0

	MR_Word X;

	X =  ssdb__BreakPoints_9 ;
		{
#line 317 "ssdb.m"
ssdb__mutable_variable_breakpoints_map = X;

#line 17715 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__delete_breakpoint_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 17733 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 2853 "ssdb.m"
        {
#line 2853 "ssdb.m"
          ssdb__V_45_45 = mercury__bitmap__init_1_f_0((MR_Integer) 65536);
        }
#line 2868 "ssdb.m"
        {
#line 2868 "ssdb.m"
          mercury__map__foldl_values_4_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0, (MR_Word) &mercury__bitmap__bitmap__type_ctor_info_bitmap_0, (MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb_scalar_common_2[15], ssdb__BreakPoints_9, ((MR_Box) (ssdb__V_45_45)), &ssdb__conv3_Filter_10);
        }
#line 2868 "ssdb.m"
        ssdb__Filter_10 = ((MR_Box) ssdb__conv3_Filter_10);
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__delete_breakpoint_3_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 17763 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__delete_breakpoint_3_p_0

	MR_BitmapPtr X;

	X = (MR_BitmapPtr) ssdb__Filter_10 ;
		{
#line 319 "ssdb.m"
ssdb__mutable_variable_breakpoints_filter = X;

#line 17780 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__delete_breakpoint_3_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 17798 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 2821 "ssdb.m"
        {
#line 2821 "ssdb.m"
          ssdb__print_breakpoint_3_p_0((ssdb__env).ssdb__delete_breakpoint_3_p_0_env_0__BreakPoint_8);
#line 2821 "ssdb.m"
          return;
        }
#line 2817 "ssdb.m"
      }
#line 2822 "ssdb.m"
    else
#line 2823 "ssdb.m"
      {
#line 2823 "ssdb.m"
        MR_String ssdb__V_25_25;
#line 2823 "ssdb.m"
        MR_String ssdb__V_26_26;
#line 2823 "ssdb.m"
        MR_String ssdb__V_28_28;

#line 17824 "ssdb.c"
        {
#line 17826 "ssdb.c"
          ssdb__V_25_25 = mercury__string__int_to_string_1_f_0((ssdb__env).ssdb__delete_breakpoint_3_p_0_env_0__Num_4);
        }
#line 17829 "ssdb.c"
        {
#line 17831 "ssdb.c"
          ssdb__V_26_26 = mercury__string__f_43_43_2_f_0(ssdb__V_25_25, (MR_String) " does not exist.\n");
        }
#line 17834 "ssdb.c"
        {
#line 17836 "ssdb.c"
          ssdb__V_28_28 = mercury__string__f_43_43_2_f_0((MR_String) "ssdb: break point #", ssdb__V_26_26);
        }
#line 17839 "ssdb.c"
        {
#line 17841 "ssdb.c"
          mercury__io__write_string_3_p_0(ssdb__V_28_28);
#line 17843 "ssdb.c"
          return;
        }
#line 2823 "ssdb.m"
      }
#line 2812 "ssdb.m"
  }
#line 2812 "ssdb.m"
}

#line 2868 "ssdb.m"
static void MR_CALL 
ssdb__modify_breakpoint_state_4_p_0_5(
#line 2868 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2868 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 2868 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 2868 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3)
#line 2868 "ssdb.m"
{
#line 2868 "ssdb.m"
  {
#line 2868 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;
#line 2868 "ssdb.m"
    MR_Box ssdb__conv2_STATE_VARIABLE_Bitmap_12;

#line 2868 "ssdb.m"
    {
#line 2868 "ssdb.m"
      ssdb__set_breakpoints_filter_bits_3_p_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Box) ssdb__wrapper_arg_2), &ssdb__conv2_STATE_VARIABLE_Bitmap_12);
    }
#line 2868 "ssdb.m"
    *ssdb__wrapper_arg_3 = ((MR_Box) (ssdb__conv2_STATE_VARIABLE_Bitmap_12));
#line 2868 "ssdb.m"
  }
#line 2868 "ssdb.m"
}

#line 2836 "ssdb.m"
static void MR_CALL 
ssdb__modify_breakpoint_state_4_p_0_1(
#line 2836 "ssdb.m"
  void * ssdb__env_ptr_arg)
#line 2836 "ssdb.m"
{
#line 2836 "ssdb.m"
  {
#line 2836 "ssdb.m"
    struct ssdb__modify_breakpoint_state_4_p_0_env_0_s * ssdb__env_ptr = (struct ssdb__modify_breakpoint_state_4_p_0_env_0_s *) ssdb__env_ptr_arg;

#line 2836 "ssdb.m"
    MR_builtin_longjmp((ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__commit_0, 1);
#line 2836 "ssdb.m"
  }
#line 2836 "ssdb.m"
}

#line 2836 "ssdb.m"
static void MR_CALL 
ssdb__modify_breakpoint_state_4_p_0_3(
#line 2836 "ssdb.m"
  void * ssdb__env_ptr_arg)
#line 2836 "ssdb.m"
{
#line 2836 "ssdb.m"
  {
#line 2836 "ssdb.m"
    struct ssdb__modify_breakpoint_state_4_p_0_env_0_s * ssdb__env_ptr = (struct ssdb__modify_breakpoint_state_4_p_0_env_0_s *) ssdb__env_ptr_arg;

#line 2836 "ssdb.m"
    (ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__Key_9 = ((MR_Word) (ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__conv1_Key_9);
#line 2836 "ssdb.m"
    (ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__BreakPoint0_10 = ((MR_Word) (ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__conv0_BreakPoint0_10);
#line 2836 "ssdb.m"
    {
#line 2836 "ssdb.m"
      ssdb__modify_breakpoint_state_4_p_0_2(ssdb__env_ptr);
#line 2836 "ssdb.m"
      return;
    }
#line 2836 "ssdb.m"
  }
#line 2836 "ssdb.m"
}

#line 2836 "ssdb.m"
static void MR_CALL 
ssdb__modify_breakpoint_state_4_p_0_2(
#line 2836 "ssdb.m"
  void * ssdb__env_ptr_arg)
#line 2836 "ssdb.m"
{
#line 2836 "ssdb.m"
  {
#line 2836 "ssdb.m"
    struct ssdb__modify_breakpoint_state_4_p_0_env_0_s * ssdb__env_ptr = (struct ssdb__modify_breakpoint_state_4_p_0_env_0_s *) ssdb__env_ptr_arg;

#line 2836 "ssdb.m"
    {
#line 2764 "ssdb.m"
      MR_Word ssdb__V_44_44;
#line 2764 "ssdb.m"
      MR_Word ssdb__V_45_45;

#line 2764 "ssdb.m"
      (ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__V_43_43 = ((MR_Integer) (MR_hl_field(MR_mktag(0), (ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__BreakPoint0_10, (MR_Integer) 0)));
#line 2764 "ssdb.m"
      ssdb__V_44_44 = ((MR_Word) (MR_hl_field(MR_mktag(0), (ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__BreakPoint0_10, (MR_Integer) 1)));
#line 2764 "ssdb.m"
      ssdb__V_45_45 = ((MR_Word) (MR_hl_field(MR_mktag(0), (ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__BreakPoint0_10, (MR_Integer) 2)));
#line 2837 "ssdb.m"
      (ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__succeeded = ((ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__Num_5 == (ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__V_43_43);
#line 2837 "ssdb.m"
      if ((ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__succeeded)
#line 2837 "ssdb.m"
        {
#line 2837 "ssdb.m"
          ssdb__modify_breakpoint_state_4_p_0_1(ssdb__env_ptr);
#line 2837 "ssdb.m"
          return;
        }
#line 2836 "ssdb.m"
    }
#line 2836 "ssdb.m"
  }
#line 2836 "ssdb.m"
}

#line 2836 "ssdb.m"
static void MR_CALL 
ssdb__modify_breakpoint_state_4_p_0_4(
#line 2836 "ssdb.m"
  void * ssdb__env_ptr_arg)
#line 2836 "ssdb.m"
{
#line 2836 "ssdb.m"
  {
#line 2836 "ssdb.m"
    struct ssdb__modify_breakpoint_state_4_p_0_env_0_s * ssdb__env_ptr = (struct ssdb__modify_breakpoint_state_4_p_0_env_0_s *) ssdb__env_ptr_arg;

#line 2836 "ssdb.m"
    if (MR_builtin_setjmp((ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__commit_0) == 0)
#line 2836 "ssdb.m"
      {
#line 2836 "ssdb.m"
        {
#line 2836 "ssdb.m"
          {
#line 2836 "ssdb.m"
            mercury__map__member_3_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0, (ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__BreakPoints0_8, &(ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__conv1_Key_9, &(ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__conv0_BreakPoint0_10, ssdb__modify_breakpoint_state_4_p_0_3, ssdb__env_ptr);
          }
#line 2836 "ssdb.m"
        }
#line 2836 "ssdb.m"
        (ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__succeeded = MR_FALSE;
#line 2836 "ssdb.m"
      }
#line 2836 "ssdb.m"
    else
#line 2836 "ssdb.m"
      (ssdb__env_ptr)->ssdb__modify_breakpoint_state_4_p_0_env_0__succeeded = MR_TRUE;
#line 2836 "ssdb.m"
  }
#line 2836 "ssdb.m"
}

#line 2793 "ssdb.m"
static void MR_CALL 
ssdb__modify_breakpoint_state_4_p_0(
#line 2793 "ssdb.m"
  MR_Integer ssdb__Num_5,
#line 2793 "ssdb.m"
  MR_Word ssdb__State_6)
#line 2793 "ssdb.m"
{
#line 2793 "ssdb.m"
  {
#line 2793 "ssdb.m"
    struct ssdb__modify_breakpoint_state_4_p_0_env_0_s ssdb__env;

#line 2793 "ssdb.m"
    (ssdb__env).ssdb__modify_breakpoint_state_4_p_0_env_0__Num_5 = ssdb__Num_5;
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__modify_breakpoint_state_4_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 18041 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__modify_breakpoint_state_4_p_0

	MR_Word X;

		{
#line 317 "ssdb.m"
X = ssdb__mutable_variable_breakpoints_map;

#line 18057 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 (ssdb__env).ssdb__modify_breakpoint_state_4_p_0_env_0__BreakPoints0_8  = X;
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__modify_breakpoint_state_4_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 18076 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 2836 "ssdb.m"
    {
#line 2836 "ssdb.m"
      ssdb__modify_breakpoint_state_4_p_0_4(&ssdb__env);
    }
#line 2804 "ssdb.m"
    if ((ssdb__env).ssdb__modify_breakpoint_state_4_p_0_env_0__succeeded)
#line 2798 "ssdb.m"
      {
#line 2798 "ssdb.m"
        MR_Word ssdb__BreakPoint_11;
#line 2798 "ssdb.m"
        MR_Word ssdb__BreakPoints_12;
#line 2798 "ssdb.m"
        MR_Box ssdb__Filter_13;
#line 2798 "ssdb.m"
        MR_Box ssdb__V_51_51;
#line 2798 "ssdb.m"
        MR_Integer ssdb__V_25_25 = ((MR_Integer) (MR_hl_field(MR_mktag(0), (ssdb__env).ssdb__modify_breakpoint_state_4_p_0_env_0__BreakPoint0_10, (MR_Integer) 0)));
#line 2798 "ssdb.m"
        MR_Word ssdb__V_26_26 = ((MR_Word) (MR_hl_field(MR_mktag(0), (ssdb__env).ssdb__modify_breakpoint_state_4_p_0_env_0__BreakPoint0_10, (MR_Integer) 1)));
#line 2798 "ssdb.m"
        MR_Word ssdb__V_27_27 = ((MR_Word) (MR_hl_field(MR_mktag(0), (ssdb__env).ssdb__modify_breakpoint_state_4_p_0_env_0__BreakPoint0_10, (MR_Integer) 2)));
#line 2868 "ssdb.m"
        MR_Box ssdb__conv3_Filter_13;

#line 2798 "ssdb.m"
        {
#line 2798 "ssdb.m"
          ssdb__BreakPoint_11 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 2798 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__BreakPoint_11, 0) = ((MR_Box) (ssdb__V_25_25));
#line 2798 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__BreakPoint_11, 1) = ((MR_Box) (ssdb__V_26_26));
#line 2798 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__BreakPoint_11, 2) = ((MR_Box) (ssdb__State_6));
#line 2798 "ssdb.m"
        }
#line 2799 "ssdb.m"
        {
#line 2799 "ssdb.m"
          mercury__map__det_update_4_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0, ((MR_Box) ((ssdb__env).ssdb__modify_breakpoint_state_4_p_0_env_0__Key_9)), ((MR_Box) (ssdb__BreakPoint_11)), (ssdb__env).ssdb__modify_breakpoint_state_4_p_0_env_0__BreakPoints0_8, &ssdb__BreakPoints_12);
        }
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__modify_breakpoint_state_4_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 18137 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__modify_breakpoint_state_4_p_0

	MR_Word X;

	X =  ssdb__BreakPoints_12 ;
		{
#line 317 "ssdb.m"
ssdb__mutable_variable_breakpoints_map = X;

#line 18154 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__modify_breakpoint_state_4_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 18172 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 2853 "ssdb.m"
        {
#line 2853 "ssdb.m"
          ssdb__V_51_51 = mercury__bitmap__init_1_f_0((MR_Integer) 65536);
        }
#line 2868 "ssdb.m"
        {
#line 2868 "ssdb.m"
          mercury__map__foldl_values_4_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0, (MR_Word) &mercury__bitmap__bitmap__type_ctor_info_bitmap_0, (MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb_scalar_common_2[14], ssdb__BreakPoints_12, ((MR_Box) (ssdb__V_51_51)), &ssdb__conv3_Filter_13);
        }
#line 2868 "ssdb.m"
        ssdb__Filter_13 = ((MR_Box) ssdb__conv3_Filter_13);
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__modify_breakpoint_state_4_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 18202 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__modify_breakpoint_state_4_p_0

	MR_BitmapPtr X;

	X = (MR_BitmapPtr) ssdb__Filter_13 ;
		{
#line 319 "ssdb.m"
ssdb__mutable_variable_breakpoints_filter = X;

#line 18219 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__modify_breakpoint_state_4_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 18237 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 2803 "ssdb.m"
        {
#line 2803 "ssdb.m"
          ssdb__print_breakpoint_3_p_0(ssdb__BreakPoint_11);
#line 2803 "ssdb.m"
          return;
        }
#line 2798 "ssdb.m"
      }
#line 2804 "ssdb.m"
    else
#line 2805 "ssdb.m"
      {
#line 2805 "ssdb.m"
        MR_String ssdb__V_31_31;
#line 2805 "ssdb.m"
        MR_String ssdb__V_32_32;
#line 2805 "ssdb.m"
        MR_String ssdb__V_34_34;

#line 18263 "ssdb.c"
        {
#line 18265 "ssdb.c"
          ssdb__V_31_31 = mercury__string__int_to_string_1_f_0((ssdb__env).ssdb__modify_breakpoint_state_4_p_0_env_0__Num_5);
        }
#line 18268 "ssdb.c"
        {
#line 18270 "ssdb.c"
          ssdb__V_32_32 = mercury__string__f_43_43_2_f_0(ssdb__V_31_31, (MR_String) " does not exist.\n");
        }
#line 18273 "ssdb.c"
        {
#line 18275 "ssdb.c"
          ssdb__V_34_34 = mercury__string__f_43_43_2_f_0((MR_String) "ssdb: break point #", ssdb__V_32_32);
        }
#line 18278 "ssdb.c"
        {
#line 18280 "ssdb.c"
          mercury__io__write_string_3_p_0(ssdb__V_34_34);
#line 18282 "ssdb.c"
          return;
        }
#line 2805 "ssdb.m"
      }
#line 2793 "ssdb.m"
  }
#line 2793 "ssdb.m"
}

#line 2766 "ssdb.m"
static void MR_CALL 
ssdb__first_unseen_3_p_0(
#line 2766 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 2766 "ssdb.m"
  MR_Integer ssdb__HeadVar__2_2,
#line 2766 "ssdb.m"
  MR_Integer * ssdb__N_3)
#line 2766 "ssdb.m"
{
#line 2768 "ssdb.m"
  while (MR_TRUE)
#line 2768 "ssdb.m"
    {
#line 2768 "ssdb.m"
      /* tailcall optimized into a loop */
#line 2768 "ssdb.m"
      {
#line 2768 "ssdb.m"
        MR_bool ssdb__succeeded;

#line 2768 "ssdb.m"
        if ((ssdb__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2768 "ssdb.m"
          *ssdb__N_3 = ssdb__HeadVar__2_2;
#line 2768 "ssdb.m"
        else
#line 2769 "ssdb.m"
          {
#line 2769 "ssdb.m"
            MR_Integer ssdb__H_5 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__1_1, (MR_Integer) 0)));
#line 2769 "ssdb.m"
            MR_Word ssdb__T_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__1_1, (MR_Integer) 1)));

#line 2770 "ssdb.m"
            ssdb__succeeded = (ssdb__H_5 == ssdb__HeadVar__2_2);
#line 2772 "ssdb.m"
            if (ssdb__succeeded)
#line 2771 "ssdb.m"
              {
#line 2771 "ssdb.m"
                MR_Integer ssdb__V_9_9 = (ssdb__HeadVar__2_2 + (MR_Integer) 1);

#line 2771 "ssdb.m"
                /* direct tailcall eliminated */
#line 2771 "ssdb.m"
                {
#line 2771 "ssdb.m"
                  MR_Word ssdb__HeadVar__1__tmp_copy_1 = ssdb__T_6;
#line 2771 "ssdb.m"
                  MR_Integer ssdb__HeadVar__2__tmp_copy_2 = ssdb__V_9_9;

#line 2771 "ssdb.m"
                  ssdb__HeadVar__2_2 = ssdb__HeadVar__2__tmp_copy_2;
#line 2771 "ssdb.m"
                  ssdb__HeadVar__1_1 = ssdb__HeadVar__1__tmp_copy_1;
#line 2771 "ssdb.m"
                }
#line 2771 "ssdb.m"
                continue;
#line 2771 "ssdb.m"
              }
#line 2772 "ssdb.m"
            else
#line 2773 "ssdb.m"
              *ssdb__N_3 = ssdb__HeadVar__2_2;
#line 2769 "ssdb.m"
          }
#line 2768 "ssdb.m"
      }
#line 2768 "ssdb.m"
      break;
#line 2768 "ssdb.m"
    }
#line 2766 "ssdb.m"
}

#line 2764 "ssdb.m"
static MR_Integer MR_CALL 
ssdb__bp_number_1_f_0(
#line 2764 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1)
#line 2764 "ssdb.m"
{
#line 2764 "ssdb.m"
  {
#line 2764 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 2764 "ssdb.m"
    MR_Integer ssdb__HeadVar__2_2 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 0)));
#line 2764 "ssdb.m"
    MR_Word ssdb__V_3_3 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 1)));
#line 2764 "ssdb.m"
    MR_Word ssdb__V_4_4 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__HeadVar__1_1, (MR_Integer) 2)));

#line 2764 "ssdb.m"
    return ssdb__HeadVar__2_2;
#line 2764 "ssdb.m"
  }
#line 2764 "ssdb.m"
}

#line 2760 "ssdb.m"
static MR_Box MR_CALL 
ssdb__add_breakpoint_3_p_0_1(
#line 2760 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2760 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1)
#line 2760 "ssdb.m"
{
#line 2760 "ssdb.m"
  {
#line 2760 "ssdb.m"
    MR_Box ssdb__wrapper_arg_2;
#line 2760 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;
#line 2760 "ssdb.m"
    MR_Integer ssdb__conv0_HeadVar__2_2;

#line 2760 "ssdb.m"
    {
#line 2760 "ssdb.m"
      ssdb__conv0_HeadVar__2_2 = ssdb__bp_number_1_f_0(((MR_Word) ssdb__wrapper_arg_1));
    }
#line 2760 "ssdb.m"
    ssdb__wrapper_arg_2 = ((MR_Box) (ssdb__conv0_HeadVar__2_2));
#line 2760 "ssdb.m"
    return ssdb__wrapper_arg_2;
#line 2760 "ssdb.m"
  }
#line 2760 "ssdb.m"
}

#line 2737 "ssdb.m"
static void MR_CALL 
ssdb__add_breakpoint_3_p_0(
#line 2737 "ssdb.m"
  MR_Word ssdb__ProcId_4)
#line 2737 "ssdb.m"
{
#line 2739 "ssdb.m"
  {
#line 2739 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 2739 "ssdb.m"
    MR_Word ssdb__BreakPoints0_6;

#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_breakpoint_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 18453 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_breakpoint_3_p_0

	MR_Word X;

		{
#line 317 "ssdb.m"
X = ssdb__mutable_variable_breakpoints_map;

#line 18469 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__BreakPoints0_6  = X;
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_breakpoint_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 18488 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 2741 "ssdb.m"
    {
#line 2741 "ssdb.m"
      ssdb__succeeded = mercury__map__contains_2_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0, ssdb__BreakPoints0_6, ((MR_Box) (ssdb__ProcId_4)));
    }
#line 2743 "ssdb.m"
    if (ssdb__succeeded)
#line 2742 "ssdb.m"
      {
#line 2742 "ssdb.m"
        {
#line 2742 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "The breakpoint already exists.\n");
#line 2742 "ssdb.m"
          return;
        }
#line 2742 "ssdb.m"
      }
#line 2743 "ssdb.m"
    else
#line 2744 "ssdb.m"
      {
#line 2744 "ssdb.m"
        MR_Word ssdb__TypeCtorInfo_11_36 = (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0;
#line 2744 "ssdb.m"
        MR_Word ssdb__TypeCtorInfo_12_37;
#line 2744 "ssdb.m"
        MR_Integer ssdb__Number_7;
#line 2744 "ssdb.m"
        MR_Word ssdb__NewBreakPoint_8;
#line 2744 "ssdb.m"
        MR_Word ssdb__BreakPoints_9;
#line 2744 "ssdb.m"
        MR_Box ssdb__Filter0_10;
#line 2744 "ssdb.m"
        MR_Box ssdb__Filter_11;
#line 2744 "ssdb.m"
        MR_Word ssdb__BreakPoints_30;
#line 2744 "ssdb.m"
        MR_Word ssdb__Numbers_31;
#line 2744 "ssdb.m"
        MR_Word ssdb__SortedNumbers_32;

#line 2759 "ssdb.m"
        {
#line 2759 "ssdb.m"
          mercury__map__values_2_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, ssdb__TypeCtorInfo_11_36, ssdb__BreakPoints0_6, &ssdb__BreakPoints_30);
        }
#line 18542 "ssdb.c"
        ssdb__TypeCtorInfo_12_37 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_int_0;
#line 2760 "ssdb.m"
        {
#line 2760 "ssdb.m"
          ssdb__Numbers_31 = mercury__list__map_2_f_0(ssdb__TypeCtorInfo_11_36, ssdb__TypeCtorInfo_12_37, (MR_Word) &ssdb_scalar_common_2[13], ssdb__BreakPoints_30);
        }
#line 2761 "ssdb.m"
        {
#line 2761 "ssdb.m"
          mercury__list__sort_2_p_0(ssdb__TypeCtorInfo_12_37, ssdb__Numbers_31, &ssdb__SortedNumbers_32);
        }
#line 2762 "ssdb.m"
        {
#line 2762 "ssdb.m"
          ssdb__first_unseen_3_p_0(ssdb__SortedNumbers_32, (MR_Integer) 0, &ssdb__Number_7);
        }
#line 2745 "ssdb.m"
        {
#line 2745 "ssdb.m"
          ssdb__NewBreakPoint_8 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL);
#line 2745 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__NewBreakPoint_8, 0) = ((MR_Box) (ssdb__Number_7));
#line 2745 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__NewBreakPoint_8, 1) = ((MR_Box) (ssdb__ProcId_4));
#line 2745 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__NewBreakPoint_8, 2) = ((MR_Box) ((MR_Integer) 0));
#line 2745 "ssdb.m"
        }
#line 2746 "ssdb.m"
        {
#line 2746 "ssdb.m"
          mercury__map__det_insert_4_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0, ((MR_Box) (ssdb__ProcId_4)), ((MR_Box) (ssdb__NewBreakPoint_8)), ssdb__BreakPoints0_6, &ssdb__BreakPoints_9);
        }
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_breakpoint_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 18588 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_breakpoint_3_p_0

	MR_Word X;

	X =  ssdb__BreakPoints_9 ;
		{
#line 317 "ssdb.m"
ssdb__mutable_variable_breakpoints_map = X;

#line 18605 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_breakpoint_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 18623 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_breakpoint_3_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 18641 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_breakpoint_3_p_0

	MR_BitmapPtr X;

		{
#line 319 "ssdb.m"
X = ssdb__mutable_variable_breakpoints_filter;

#line 18657 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Filter0_10  = (MR_Box) X;
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_breakpoint_3_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 18676 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 2750 "ssdb.m"
        {
#line 2750 "ssdb.m"
          ssdb__set_breakpoints_filter_bits_3_p_0(ssdb__NewBreakPoint_8, ssdb__Filter0_10, &ssdb__Filter_11);
        }
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_breakpoint_3_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 18699 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_breakpoint_3_p_0

	MR_BitmapPtr X;

	X = (MR_BitmapPtr) ssdb__Filter_11 ;
		{
#line 319 "ssdb.m"
ssdb__mutable_variable_breakpoints_filter = X;

#line 18716 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_breakpoint_3_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 18734 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 2753 "ssdb.m"
        {
#line 2753 "ssdb.m"
          ssdb__print_breakpoint_3_p_0(ssdb__NewBreakPoint_8);
#line 2753 "ssdb.m"
          return;
        }
#line 2744 "ssdb.m"
      }
#line 2739 "ssdb.m"
  }
#line 2737 "ssdb.m"
}

#line 2692 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_quit_4_p_0(
#line 2692 "ssdb.m"
  MR_Word ssdb__Args_5,
#line 2692 "ssdb.m"
  MR_Word ssdb__Interacting_6)
#line 2692 "ssdb.m"
{
#line 2696 "ssdb.m"
  {
#line 2696 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 2696 "ssdb.m"
    if ((ssdb__Args_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2696 "ssdb.m"
      if ((ssdb__Interacting_6 == (MR_Integer) 0))
#line 2721 "ssdb.m"
        {
#line 2721 "ssdb.m"
        }
#line 2696 "ssdb.m"
      else
#line 2696 "ssdb.m"
        {
#line 2696 "ssdb.m"
          MR_Word ssdb__Result_8;

#line 2698 "ssdb.m"
          {
#line 2698 "ssdb.m"
            mercury__io__write_string_3_p_0((MR_String) "ssdb: are you sure you want to quit\? ");
          }
#line 2699 "ssdb.m"
          {
#line 2699 "ssdb.m"
            mercury__io__flush_output_2_p_0();
          }
#line 2700 "ssdb.m"
          {
#line 2700 "ssdb.m"
            mercury__io__read_line_as_string_3_p_0(&ssdb__Result_8);
          }
#line 2712 "ssdb.m"
          if ((ssdb__Result_8 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3488 "ssdb.m"
            {
#line 3491 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_quit_4_p_0


		{
#line 3491 "ssdb.m"

    exit(0);

#line 18812 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 3491 "ssdb.m"
}
#line 3488 "ssdb.m"
            }
#line 2712 "ssdb.m"
          else
#line 2712 "ssdb.m"
            if (((MR_tag((MR_Word) ssdb__Result_8)) == (MR_mktag((MR_Integer) 2))))
#line 3488 "ssdb.m"
              {
#line 3491 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_quit_4_p_0


		{
#line 3491 "ssdb.m"

    exit(0);

#line 18836 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 3491 "ssdb.m"
}
#line 3488 "ssdb.m"
              }
#line 2712 "ssdb.m"
            else
#line 2702 "ssdb.m"
              {
#line 2702 "ssdb.m"
                MR_String ssdb__String_9 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Result_8, (MR_Integer) 0)));

#line 2704 "ssdb.m"
                {
#line 2704 "ssdb.m"
                  ssdb__succeeded = mercury__string__prefix_2_p_0(ssdb__String_9, (MR_String) "y");
                }
#line 2705 "ssdb.m"
                if (!(ssdb__succeeded))
#line 2705 "ssdb.m"
                  {
#line 2705 "ssdb.m"
                    {
#line 2705 "ssdb.m"
                      ssdb__succeeded = mercury__string__prefix_2_p_0(ssdb__String_9, (MR_String) "Y");
                    }
#line 2705 "ssdb.m"
                  }
#line 2709 "ssdb.m"
                if (ssdb__succeeded)
#line 3488 "ssdb.m"
                  {
#line 3491 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_quit_4_p_0


		{
#line 3491 "ssdb.m"

    exit(0);

#line 18881 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 3491 "ssdb.m"
}
#line 3488 "ssdb.m"
                  }
#line 2709 "ssdb.m"
                else
#line 2708 "ssdb.m"
                  {
#line 2708 "ssdb.m"
                  }
#line 2702 "ssdb.m"
              }
#line 2696 "ssdb.m"
        }
#line 2696 "ssdb.m"
    else
#line 2727 "ssdb.m"
      {
#line 2725 "ssdb.m"
        MR_String ssdb__V_15_15 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args_5, (MR_Integer) 0)));
#line 2725 "ssdb.m"
        MR_Word ssdb__V_16_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args_5, (MR_Integer) 1)));

#line 2725 "ssdb.m"
        ssdb__succeeded = (strcmp(ssdb__V_15_15, (MR_String) "-y") == 0);
#line 2725 "ssdb.m"
        if (ssdb__succeeded)
#line 2725 "ssdb.m"
          ssdb__succeeded = (ssdb__V_16_16 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2727 "ssdb.m"
        if (ssdb__succeeded)
#line 3488 "ssdb.m"
          {
#line 3491 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_quit_4_p_0


		{
#line 3491 "ssdb.m"

    exit(0);

#line 18928 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 3491 "ssdb.m"
}
#line 3488 "ssdb.m"
          }
#line 2727 "ssdb.m"
        else
#line 2728 "ssdb.m"
          {
#line 2728 "ssdb.m"
            {
#line 2728 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: invalid argument.\n");
#line 2728 "ssdb.m"
              return;
            }
#line 2728 "ssdb.m"
          }
#line 2727 "ssdb.m"
      }
#line 2696 "ssdb.m"
  }
#line 2692 "ssdb.m"
}

#line 2661 "ssdb.m"
static void MR_CALL 
ssdb__read_command_lines_5_p_0(
#line 2661 "ssdb.m"
  MR_Word ssdb__Stream_6,
#line 2661 "ssdb.m"
  MR_Word ssdb__STATE_VARIABLE_RevLines_0_16,
#line 2661 "ssdb.m"
  MR_Word * ssdb__STATE_VARIABLE_RevLines_17)
#line 2661 "ssdb.m"
{
#line 2664 "ssdb.m"
  while (MR_TRUE)
#line 2664 "ssdb.m"
    {
#line 2664 "ssdb.m"
      /* tailcall optimized into a loop */
#line 2664 "ssdb.m"
      {
#line 2664 "ssdb.m"
        MR_bool ssdb__succeeded;
#line 2664 "ssdb.m"
        MR_Word ssdb__Res_9;

#line 2665 "ssdb.m"
        {
#line 2665 "ssdb.m"
          mercury__io__read_line_as_string_4_p_0(ssdb__Stream_6, &ssdb__Res_9);
        }
#line 2680 "ssdb.m"
        if ((ssdb__Res_9 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2681 "ssdb.m"
          *ssdb__STATE_VARIABLE_RevLines_17 = ssdb__STATE_VARIABLE_RevLines_0_16;
#line 2680 "ssdb.m"
        else
#line 2680 "ssdb.m"
          if (((MR_tag((MR_Word) ssdb__Res_9)) == (MR_mktag((MR_Integer) 2))))
#line 2683 "ssdb.m"
            {
#line 2683 "ssdb.m"
              MR_Word ssdb__Error_14 = ((MR_Word) (MR_hl_field(MR_mktag(2), ssdb__Res_9, (MR_Integer) 0)));
#line 2683 "ssdb.m"
              MR_Word ssdb__ErrorStream_15;
#line 2683 "ssdb.m"
              MR_String ssdb__V_24_24;

#line 2684 "ssdb.m"
              {
#line 2684 "ssdb.m"
                mercury__io__stderr_stream_3_p_0(&ssdb__ErrorStream_15);
              }
#line 2685 "ssdb.m"
              {
#line 2685 "ssdb.m"
                mercury__io__write_string_4_p_0(ssdb__ErrorStream_15, (MR_String) "ssdb: ");
              }
#line 2686 "ssdb.m"
              {
#line 2686 "ssdb.m"
                ssdb__V_24_24 = mercury__io__error_message_1_f_0(ssdb__Error_14);
              }
#line 2686 "ssdb.m"
              {
#line 2686 "ssdb.m"
                mercury__io__write_string_4_p_0(ssdb__ErrorStream_15, ssdb__V_24_24);
              }
#line 2687 "ssdb.m"
              {
#line 2687 "ssdb.m"
                mercury__io__nl_3_p_0(ssdb__ErrorStream_15);
              }
#line 2687 "ssdb.m"
              *ssdb__STATE_VARIABLE_RevLines_17 = ssdb__STATE_VARIABLE_RevLines_0_16;
#line 2683 "ssdb.m"
            }
#line 2680 "ssdb.m"
          else
#line 2667 "ssdb.m"
            {
#line 2667 "ssdb.m"
              MR_String ssdb__Line_10 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Res_9, (MR_Integer) 0)));
#line 2667 "ssdb.m"
              MR_Word ssdb__Words_11;
#line 2667 "ssdb.m"
              MR_Word ssdb__STATE_VARIABLE_RevLines_28_28;

#line 2668 "ssdb.m"
              {
#line 2668 "ssdb.m"
                ssdb__Words_11 = mercury__string__words_1_f_0(ssdb__Line_10);
              }
#line 2671 "ssdb.m"
              if ((ssdb__Words_11 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2670 "ssdb.m"
                ssdb__STATE_VARIABLE_RevLines_28_28 = ssdb__STATE_VARIABLE_RevLines_0_16;
#line 2671 "ssdb.m"
              else
#line 2672 "ssdb.m"
                {
#line 2672 "ssdb.m"
                  MR_String ssdb__First_12 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Words_11, (MR_Integer) 0)));
#line 2672 "ssdb.m"
                  MR_Word ssdb__V_13_13 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Words_11, (MR_Integer) 1)));

#line 2673 "ssdb.m"
                  {
#line 2673 "ssdb.m"
                    ssdb__succeeded = mercury__string__prefix_2_p_0(ssdb__First_12, (MR_String) "#");
                  }
#line 2675 "ssdb.m"
                  if (ssdb__succeeded)
#line 2673 "ssdb.m"
                    ssdb__STATE_VARIABLE_RevLines_28_28 = ssdb__STATE_VARIABLE_RevLines_0_16;
#line 2675 "ssdb.m"
                  else
#line 2676 "ssdb.m"
                    {
#line 2676 "ssdb.m"
                      ssdb__STATE_VARIABLE_RevLines_28_28 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2676 "ssdb.m"
                      MR_hl_field(MR_mktag(1), ssdb__STATE_VARIABLE_RevLines_28_28, 0) = ((MR_Box) (ssdb__Line_10));
#line 2676 "ssdb.m"
                      MR_hl_field(MR_mktag(1), ssdb__STATE_VARIABLE_RevLines_28_28, 1) = ((MR_Box) (ssdb__STATE_VARIABLE_RevLines_0_16));
#line 2676 "ssdb.m"
                    }
#line 2672 "ssdb.m"
                }
#line 2679 "ssdb.m"
              /* direct tailcall eliminated */
#line 2679 "ssdb.m"
              {
#line 2679 "ssdb.m"
                MR_Word ssdb__STATE_VARIABLE_RevLines_0__tmp_copy_16 = ssdb__STATE_VARIABLE_RevLines_28_28;

#line 2679 "ssdb.m"
                ssdb__STATE_VARIABLE_RevLines_0_16 = ssdb__STATE_VARIABLE_RevLines_0__tmp_copy_16;
#line 2679 "ssdb.m"
              }
#line 2679 "ssdb.m"
              continue;
#line 2667 "ssdb.m"
            }
#line 2664 "ssdb.m"
      }
#line 2664 "ssdb.m"
      break;
#line 2664 "ssdb.m"
    }
#line 2661 "ssdb.m"
}

#line 2637 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_source_3_p_0(
#line 2637 "ssdb.m"
  MR_Word ssdb__Args_4)
#line 2637 "ssdb.m"
{
#line 2656 "ssdb.m"
  {
#line 2656 "ssdb.m"
    MR_bool ssdb__succeeded = ((MR_tag((MR_Word) ssdb__Args_4)) == (MR_mktag((MR_Integer) 1)));
#line 2656 "ssdb.m"
    MR_String ssdb__FileName_6;
#line 2640 "ssdb.m"
    MR_Word ssdb__V_16_16;

#line 2640 "ssdb.m"
    if (ssdb__succeeded)
#line 2640 "ssdb.m"
      {
#line 2640 "ssdb.m"
        ssdb__FileName_6 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args_4, (MR_Integer) 0)));
#line 2640 "ssdb.m"
        ssdb__V_16_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args_4, (MR_Integer) 1)));
#line 2640 "ssdb.m"
        ssdb__succeeded = (ssdb__V_16_16 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2640 "ssdb.m"
      }
#line 2656 "ssdb.m"
    if (ssdb__succeeded)
#line 2641 "ssdb.m"
      {
#line 2641 "ssdb.m"
        MR_Word ssdb__OpenRes_7;

#line 2641 "ssdb.m"
        {
#line 2641 "ssdb.m"
          mercury__io__open_input_4_p_0(ssdb__FileName_6, &ssdb__OpenRes_7);
        }
#line 2649 "ssdb.m"
        if (((MR_tag((MR_Word) ssdb__OpenRes_7)) == (MR_mktag((MR_Integer) 1))))
#line 2650 "ssdb.m"
          {
#line 2650 "ssdb.m"
            MR_Word ssdb__Error_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__OpenRes_7, (MR_Integer) 0)));
#line 2650 "ssdb.m"
            MR_Word ssdb__ErrorStream_13;
#line 2650 "ssdb.m"
            MR_String ssdb__V_21_21;

#line 2651 "ssdb.m"
            {
#line 2651 "ssdb.m"
              mercury__io__stderr_stream_3_p_0(&ssdb__ErrorStream_13);
            }
#line 2652 "ssdb.m"
            {
#line 2652 "ssdb.m"
              mercury__io__write_string_4_p_0(ssdb__ErrorStream_13, (MR_String) "ssdb: ");
            }
#line 2653 "ssdb.m"
            {
#line 2653 "ssdb.m"
              ssdb__V_21_21 = mercury__io__error_message_1_f_0(ssdb__Error_12);
            }
#line 2653 "ssdb.m"
            {
#line 2653 "ssdb.m"
              mercury__io__write_string_4_p_0(ssdb__ErrorStream_13, ssdb__V_21_21);
            }
#line 2654 "ssdb.m"
            {
#line 2654 "ssdb.m"
              mercury__io__nl_3_p_0(ssdb__ErrorStream_13);
#line 2654 "ssdb.m"
              return;
            }
#line 2650 "ssdb.m"
          }
#line 2649 "ssdb.m"
        else
#line 2643 "ssdb.m"
          {
#line 2643 "ssdb.m"
            MR_Word ssdb__TypeCtorInfo_32_32;
#line 2643 "ssdb.m"
            MR_Word ssdb__Stream_8 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__OpenRes_7, (MR_Integer) 0)));
#line 2643 "ssdb.m"
            MR_Word ssdb__RevLines_9;
#line 2643 "ssdb.m"
            MR_Word ssdb__Queue0_10;
#line 2643 "ssdb.m"
            MR_Word ssdb__Queue_11;
#line 2643 "ssdb.m"
            MR_Word ssdb__V_28_28;

#line 2644 "ssdb.m"
            {
#line 2644 "ssdb.m"
              ssdb__read_command_lines_5_p_0(ssdb__Stream_8, (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)), &ssdb__RevLines_9);
            }
#line 2645 "ssdb.m"
            {
#line 2645 "ssdb.m"
              mercury__io__close_input_3_p_0(ssdb__Stream_8);
            }
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_source_3_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 19226 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_source_3_p_0

	MR_Word X;

		{
#line 311 "ssdb.m"
X = ssdb__mutable_variable_command_queue;

#line 19242 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Queue0_10  = X;
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_source_3_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 19261 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 19267 "ssdb.c"
            ssdb__TypeCtorInfo_32_32 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0;
#line 2647 "ssdb.m"
            {
#line 2647 "ssdb.m"
              ssdb__V_28_28 = mercury__list__reverse_1_f_0(ssdb__TypeCtorInfo_32_32, ssdb__RevLines_9);
            }
#line 2647 "ssdb.m"
            {
#line 2647 "ssdb.m"
              ssdb__Queue_11 = mercury__list__f_43_43_2_f_0(ssdb__TypeCtorInfo_32_32, ssdb__V_28_28, ssdb__Queue0_10);
            }
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_source_3_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 19291 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_source_3_p_0

	MR_Word X;

	X =  ssdb__Queue_11 ;
		{
#line 311 "ssdb.m"
ssdb__mutable_variable_command_queue = X;

#line 19308 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_source_3_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 19326 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 2643 "ssdb.m"
          }
#line 2641 "ssdb.m"
      }
#line 2656 "ssdb.m"
    else
#line 2657 "ssdb.m"
      {
#line 2657 "ssdb.m"
        {
#line 2657 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: \140source\' command expects filename argument.\n");
#line 2657 "ssdb.m"
          return;
        }
#line 2657 "ssdb.m"
      }
#line 2656 "ssdb.m"
  }
#line 2637 "ssdb.m"
}

#line 3303 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_delete_3_p_0_1(
#line 3303 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 3303 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 3303 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 3303 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3)
#line 3303 "ssdb.m"
{
#line 3303 "ssdb.m"
  {
#line 3303 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;

#line 3303 "ssdb.m"
    {
#line 3303 "ssdb.m"
      ssdb__print_breakpoint_3_p_0(((MR_Word) ssdb__wrapper_arg_1));
#line 3303 "ssdb.m"
      return;
    }
#line 3303 "ssdb.m"
  }
#line 3303 "ssdb.m"
}

#line 2612 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_delete_3_p_0(
#line 2612 "ssdb.m"
  MR_Word ssdb__Args_4)
#line 2612 "ssdb.m"
{
#line 2616 "ssdb.m"
  {
#line 2616 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 2616 "ssdb.m"
    if ((ssdb__Args_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3430 "ssdb.m"
      {
#line 3431 "ssdb.m"
        {
#line 3431 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: command requires argument.\n");
#line 3431 "ssdb.m"
          return;
        }
#line 3430 "ssdb.m"
      }
#line 2616 "ssdb.m"
    else
#line 2616 "ssdb.m"
      {
#line 2616 "ssdb.m"
        MR_Word ssdb__V_28_28 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args_4, (MR_Integer) 1)));
#line 2616 "ssdb.m"
        MR_String ssdb__V_29_29 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args_4, (MR_Integer) 0)));

#line 2616 "ssdb.m"
        if ((ssdb__V_28_28 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2625 "ssdb.m"
          {
#line 2620 "ssdb.m"
            ssdb__succeeded = (strcmp(ssdb__V_29_29, (MR_String) "*") == 0);
#line 2625 "ssdb.m"
            if (ssdb__succeeded)
#line 2621 "ssdb.m"
              {
#line 2621 "ssdb.m"
                MR_Word ssdb__BreakPoints_7;
#line 2621 "ssdb.m"
                MR_Word ssdb__V_19_19;
#line 2621 "ssdb.m"
                MR_Box ssdb__V_21_21;

#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_delete_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 19447 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_delete_3_p_0

	MR_Word X;

		{
#line 317 "ssdb.m"
X = ssdb__mutable_variable_breakpoints_map;

#line 19463 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__BreakPoints_7  = X;
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_delete_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 19482 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 3298 "ssdb.m"
                {
#line 3298 "ssdb.m"
                  ssdb__succeeded = mercury__map__is_empty_1_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0, ssdb__BreakPoints_7);
                }
#line 3300 "ssdb.m"
                if (ssdb__succeeded)
#line 3299 "ssdb.m"
                  {
#line 3299 "ssdb.m"
                    {
#line 3299 "ssdb.m"
                      mercury__io__write_string_3_p_0((MR_String) "There are no break points.\n");
                    }
#line 3299 "ssdb.m"
                  }
#line 3300 "ssdb.m"
                else
#line 3302 "ssdb.m"
                  {
#line 3302 "ssdb.m"
                    MR_Word ssdb__TypeCtorInfo_17_50 = (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0;
#line 3302 "ssdb.m"
                    MR_Word ssdb__SortedBreakPoints_41;
#line 3302 "ssdb.m"
                    MR_Word ssdb__V_44_44;
#line 3303 "ssdb.m"
                    MR_Box ssdb__conv0_STATE_VARIABLE_IO_13;

#line 3302 "ssdb.m"
                    {
#line 3302 "ssdb.m"
                      ssdb__V_44_44 = mercury__map__values_1_f_0((MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, ssdb__TypeCtorInfo_17_50, ssdb__BreakPoints_7);
                    }
#line 3302 "ssdb.m"
                    {
#line 3302 "ssdb.m"
                      mercury__list__sort_2_p_0(ssdb__TypeCtorInfo_17_50, ssdb__V_44_44, &ssdb__SortedBreakPoints_41);
                    }
#line 3303 "ssdb.m"
                    {
#line 3303 "ssdb.m"
                      mercury__list__foldl_4_p_2(ssdb__TypeCtorInfo_17_50, (MR_Word) &mercury__io__io__type_ctor_info_state_0, (MR_Word) &ssdb_scalar_common_2[12], ssdb__SortedBreakPoints_41, ((MR_Box) ((MR_Integer) 0)), &ssdb__conv0_STATE_VARIABLE_IO_13);
                    }
#line 3302 "ssdb.m"
                  }
#line 2623 "ssdb.m"
                {
#line 2623 "ssdb.m"
                  ssdb__V_19_19 = mercury__map__init_0_f_0((MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0);
                }
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_delete_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 19551 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_delete_3_p_0

	MR_Word X;

	X =  ssdb__V_19_19 ;
		{
#line 317 "ssdb.m"
ssdb__mutable_variable_breakpoints_map = X;

#line 19568 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_delete_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 19586 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 2853 "ssdb.m"
                {
#line 2853 "ssdb.m"
                  ssdb__V_21_21 = mercury__bitmap__init_1_f_0((MR_Integer) 65536);
                }
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_delete_3_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 19609 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_delete_3_p_0

	MR_BitmapPtr X;

	X = (MR_BitmapPtr) ssdb__V_21_21 ;
		{
#line 319 "ssdb.m"
ssdb__mutable_variable_breakpoints_filter = X;

#line 19626 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_delete_3_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 19644 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 2621 "ssdb.m"
              }
#line 2625 "ssdb.m"
            else
#line 2627 "ssdb.m"
              {
#line 2627 "ssdb.m"
                MR_Integer ssdb__Num_8;
#line 3513 "ssdb.m"
                MR_Integer ssdb__V_64_64;

#line 3514 "ssdb.m"
                {
#line 3514 "ssdb.m"
                  ssdb__succeeded = mercury__string__to_int_2_p_0(ssdb__V_29_29, &ssdb__Num_8);
                }
#line 3513 "ssdb.m"
                if (ssdb__succeeded)
#line 3513 "ssdb.m"
                  {
#line 3515 "ssdb.m"
                    ssdb__V_64_64 = (MR_Integer) 0;
#line 3515 "ssdb.m"
                    ssdb__succeeded = (ssdb__Num_8 >= ssdb__V_64_64);
#line 3513 "ssdb.m"
                  }
#line 2627 "ssdb.m"
                if (ssdb__succeeded)
#line 2626 "ssdb.m"
                  {
#line 2626 "ssdb.m"
                    ssdb__delete_breakpoint_3_p_0(ssdb__Num_8);
#line 2626 "ssdb.m"
                    return;
                  }
#line 2627 "ssdb.m"
                else
#line 3445 "ssdb.m"
                  {
#line 3446 "ssdb.m"
                    {
#line 3446 "ssdb.m"
                      mercury__io__write_string_3_p_0((MR_String) "ssdb: invalid argument to command.\n");
#line 3446 "ssdb.m"
                      return;
                    }
#line 3445 "ssdb.m"
                  }
#line 2627 "ssdb.m"
              }
#line 2625 "ssdb.m"
          }
#line 2616 "ssdb.m"
        else
#line 3440 "ssdb.m"
          {
#line 3441 "ssdb.m"
            {
#line 3441 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: too many arguments to command.\n");
#line 3441 "ssdb.m"
              return;
            }
#line 3440 "ssdb.m"
          }
#line 2616 "ssdb.m"
      }
#line 2616 "ssdb.m"
  }
#line 2612 "ssdb.m"
}

#line 3303 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_disable_3_p_0_3(
#line 3303 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 3303 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 3303 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 3303 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3)
#line 3303 "ssdb.m"
{
#line 3303 "ssdb.m"
  {
#line 3303 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;

#line 3303 "ssdb.m"
    {
#line 3303 "ssdb.m"
      ssdb__print_breakpoint_3_p_0(((MR_Word) ssdb__wrapper_arg_1));
#line 3303 "ssdb.m"
      return;
    }
#line 3303 "ssdb.m"
  }
#line 3303 "ssdb.m"
}

#line 2868 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_disable_3_p_0_2(
#line 2868 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2868 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 2868 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 2868 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3)
#line 2868 "ssdb.m"
{
#line 2868 "ssdb.m"
  {
#line 2868 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;
#line 2868 "ssdb.m"
    MR_Box ssdb__conv1_STATE_VARIABLE_Bitmap_12;

#line 2868 "ssdb.m"
    {
#line 2868 "ssdb.m"
      ssdb__set_breakpoints_filter_bits_3_p_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Box) ssdb__wrapper_arg_2), &ssdb__conv1_STATE_VARIABLE_Bitmap_12);
    }
#line 2868 "ssdb.m"
    *ssdb__wrapper_arg_3 = ((MR_Box) (ssdb__conv1_STATE_VARIABLE_Bitmap_12));
#line 2868 "ssdb.m"
  }
#line 2868 "ssdb.m"
}

#line 2782 "ssdb.m"
static MR_Box MR_CALL 
ssdb__execute_ssdb_disable_3_p_0_1(
#line 2782 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2782 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1)
#line 2782 "ssdb.m"
{
#line 2782 "ssdb.m"
  {
#line 2782 "ssdb.m"
    MR_Box ssdb__wrapper_arg_2;
#line 2782 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;
#line 2782 "ssdb.m"
    MR_Word ssdb__conv0_HeadVar__3_15;

#line 2782 "ssdb.m"
    {
#line 2782 "ssdb.m"
      ssdb__conv0_HeadVar__3_15 = ssdb__IntroducedFrom__func__modify_breakpoint_states__2782__1_2_f_0(((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__closure, (MR_Integer) 3))), ((MR_Word) ssdb__wrapper_arg_1));
    }
#line 2782 "ssdb.m"
    ssdb__wrapper_arg_2 = ((MR_Box) (ssdb__conv0_HeadVar__3_15));
#line 2782 "ssdb.m"
    return ssdb__wrapper_arg_2;
#line 2782 "ssdb.m"
  }
#line 2782 "ssdb.m"
}

#line 2592 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_disable_3_p_0(
#line 2592 "ssdb.m"
  MR_Word ssdb__Args_4)
#line 2592 "ssdb.m"
{
#line 2596 "ssdb.m"
  {
#line 2596 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 2596 "ssdb.m"
    if ((ssdb__Args_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3430 "ssdb.m"
      {
#line 3431 "ssdb.m"
        {
#line 3431 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: command requires argument.\n");
#line 3431 "ssdb.m"
          return;
        }
#line 3430 "ssdb.m"
      }
#line 2596 "ssdb.m"
    else
#line 2596 "ssdb.m"
      {
#line 2596 "ssdb.m"
        MR_Word ssdb__V_22_22 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args_4, (MR_Integer) 1)));
#line 2596 "ssdb.m"
        MR_String ssdb__V_23_23 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args_4, (MR_Integer) 0)));

#line 2596 "ssdb.m"
        if ((ssdb__V_22_22 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2602 "ssdb.m"
          {
#line 2600 "ssdb.m"
            ssdb__succeeded = (strcmp(ssdb__V_23_23, (MR_String) "*") == 0);
#line 2602 "ssdb.m"
            if (ssdb__succeeded)
#line 2601 "ssdb.m"
              {
#line 2601 "ssdb.m"
                MR_Word ssdb__TypeCtorInfo_23_48;
#line 2601 "ssdb.m"
                MR_Word ssdb__BreakPoints0_33;
#line 2601 "ssdb.m"
                MR_Word ssdb__BreakPoints_36;
#line 2601 "ssdb.m"
                MR_Box ssdb__Filter_37;
#line 2601 "ssdb.m"
                MR_Box ssdb__V_57_57;
#line 2868 "ssdb.m"
                MR_Box ssdb__conv2_Filter_37;

#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_disable_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 19885 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_disable_3_p_0

	MR_Word X;

		{
#line 317 "ssdb.m"
X = ssdb__mutable_variable_breakpoints_map;

#line 19901 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__BreakPoints0_33  = X;
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_disable_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 19920 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 19926 "ssdb.c"
                ssdb__TypeCtorInfo_23_48 = (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0;
#line 2783 "ssdb.m"
                {
#line 2783 "ssdb.m"
                  ssdb__BreakPoints_36 = mercury__map__map_values_only_2_f_0(ssdb__TypeCtorInfo_23_48, ssdb__TypeCtorInfo_23_48, (MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb_scalar_common_6[2], ssdb__BreakPoints0_33);
                }
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_disable_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 19945 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_disable_3_p_0

	MR_Word X;

	X =  ssdb__BreakPoints_36 ;
		{
#line 317 "ssdb.m"
ssdb__mutable_variable_breakpoints_map = X;

#line 19962 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_disable_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 19980 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 2853 "ssdb.m"
                {
#line 2853 "ssdb.m"
                  ssdb__V_57_57 = mercury__bitmap__init_1_f_0((MR_Integer) 65536);
                }
#line 2868 "ssdb.m"
                {
#line 2868 "ssdb.m"
                  mercury__map__foldl_values_4_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0, (MR_Word) &mercury__bitmap__bitmap__type_ctor_info_bitmap_0, (MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb_scalar_common_2[10], ssdb__BreakPoints_36, ((MR_Box) (ssdb__V_57_57)), &ssdb__conv2_Filter_37);
                }
#line 2868 "ssdb.m"
                ssdb__Filter_37 = ((MR_Box) ssdb__conv2_Filter_37);
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_disable_3_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 20010 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_disable_3_p_0

	MR_BitmapPtr X;

	X = (MR_BitmapPtr) ssdb__Filter_37 ;
		{
#line 319 "ssdb.m"
ssdb__mutable_variable_breakpoints_filter = X;

#line 20027 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_disable_3_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 20045 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 3298 "ssdb.m"
                {
#line 3298 "ssdb.m"
                  ssdb__succeeded = mercury__map__is_empty_1_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0, ssdb__BreakPoints_36);
                }
#line 3300 "ssdb.m"
                if (ssdb__succeeded)
#line 3299 "ssdb.m"
                  {
#line 3299 "ssdb.m"
                    {
#line 3299 "ssdb.m"
                      mercury__io__write_string_3_p_0((MR_String) "There are no break points.\n");
#line 3299 "ssdb.m"
                      return;
                    }
#line 3299 "ssdb.m"
                  }
#line 3300 "ssdb.m"
                else
#line 3302 "ssdb.m"
                  {
#line 3302 "ssdb.m"
                    MR_Word ssdb__TypeCtorInfo_17_82 = (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0;
#line 3302 "ssdb.m"
                    MR_Word ssdb__SortedBreakPoints_73;
#line 3302 "ssdb.m"
                    MR_Word ssdb__V_76_76;
#line 3303 "ssdb.m"
                    MR_Box ssdb__conv3_STATE_VARIABLE_IO_12;

#line 3302 "ssdb.m"
                    {
#line 3302 "ssdb.m"
                      ssdb__V_76_76 = mercury__map__values_1_f_0((MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, ssdb__TypeCtorInfo_17_82, ssdb__BreakPoints_36);
                    }
#line 3302 "ssdb.m"
                    {
#line 3302 "ssdb.m"
                      mercury__list__sort_2_p_0(ssdb__TypeCtorInfo_17_82, ssdb__V_76_76, &ssdb__SortedBreakPoints_73);
                    }
#line 3303 "ssdb.m"
                    {
#line 3303 "ssdb.m"
                      mercury__list__foldl_4_p_2(ssdb__TypeCtorInfo_17_82, (MR_Word) &mercury__io__io__type_ctor_info_state_0, (MR_Word) &ssdb_scalar_common_2[11], ssdb__SortedBreakPoints_73, ((MR_Box) ((MR_Integer) 0)), &ssdb__conv3_STATE_VARIABLE_IO_12);
                    }
#line 3302 "ssdb.m"
                  }
#line 2601 "ssdb.m"
              }
#line 2602 "ssdb.m"
            else
#line 2604 "ssdb.m"
              {
#line 2604 "ssdb.m"
                MR_Integer ssdb__Num_7;
#line 3513 "ssdb.m"
                MR_Integer ssdb__V_89_89;

#line 3514 "ssdb.m"
                {
#line 3514 "ssdb.m"
                  ssdb__succeeded = mercury__string__to_int_2_p_0(ssdb__V_23_23, &ssdb__Num_7);
                }
#line 3513 "ssdb.m"
                if (ssdb__succeeded)
#line 3513 "ssdb.m"
                  {
#line 3515 "ssdb.m"
                    ssdb__V_89_89 = (MR_Integer) 0;
#line 3515 "ssdb.m"
                    ssdb__succeeded = (ssdb__Num_7 >= ssdb__V_89_89);
#line 3513 "ssdb.m"
                  }
#line 2604 "ssdb.m"
                if (ssdb__succeeded)
#line 2603 "ssdb.m"
                  {
#line 2603 "ssdb.m"
                    {
#line 2603 "ssdb.m"
                      ssdb__modify_breakpoint_state_4_p_0(ssdb__Num_7, (MR_Integer) 1);
#line 2603 "ssdb.m"
                      return;
                    }
#line 2603 "ssdb.m"
                  }
#line 2604 "ssdb.m"
                else
#line 3445 "ssdb.m"
                  {
#line 3446 "ssdb.m"
                    {
#line 3446 "ssdb.m"
                      mercury__io__write_string_3_p_0((MR_String) "ssdb: invalid argument to command.\n");
#line 3446 "ssdb.m"
                      return;
                    }
#line 3445 "ssdb.m"
                  }
#line 2604 "ssdb.m"
              }
#line 2602 "ssdb.m"
          }
#line 2596 "ssdb.m"
        else
#line 2609 "ssdb.m"
          {
#line 2609 "ssdb.m"
            ssdb__print_too_many_arguments_2_p_0();
#line 2609 "ssdb.m"
            return;
          }
#line 2596 "ssdb.m"
      }
#line 2596 "ssdb.m"
  }
#line 2592 "ssdb.m"
}

#line 3303 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_enable_3_p_0_3(
#line 3303 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 3303 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 3303 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 3303 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3)
#line 3303 "ssdb.m"
{
#line 3303 "ssdb.m"
  {
#line 3303 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;

#line 3303 "ssdb.m"
    {
#line 3303 "ssdb.m"
      ssdb__print_breakpoint_3_p_0(((MR_Word) ssdb__wrapper_arg_1));
#line 3303 "ssdb.m"
      return;
    }
#line 3303 "ssdb.m"
  }
#line 3303 "ssdb.m"
}

#line 2868 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_enable_3_p_0_2(
#line 2868 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2868 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 2868 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 2868 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3)
#line 2868 "ssdb.m"
{
#line 2868 "ssdb.m"
  {
#line 2868 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;
#line 2868 "ssdb.m"
    MR_Box ssdb__conv1_STATE_VARIABLE_Bitmap_12;

#line 2868 "ssdb.m"
    {
#line 2868 "ssdb.m"
      ssdb__set_breakpoints_filter_bits_3_p_0(((MR_Word) ssdb__wrapper_arg_1), ((MR_Box) ssdb__wrapper_arg_2), &ssdb__conv1_STATE_VARIABLE_Bitmap_12);
    }
#line 2868 "ssdb.m"
    *ssdb__wrapper_arg_3 = ((MR_Box) (ssdb__conv1_STATE_VARIABLE_Bitmap_12));
#line 2868 "ssdb.m"
  }
#line 2868 "ssdb.m"
}

#line 2782 "ssdb.m"
static MR_Box MR_CALL 
ssdb__execute_ssdb_enable_3_p_0_1(
#line 2782 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2782 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1)
#line 2782 "ssdb.m"
{
#line 2782 "ssdb.m"
  {
#line 2782 "ssdb.m"
    MR_Box ssdb__wrapper_arg_2;
#line 2782 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;
#line 2782 "ssdb.m"
    MR_Word ssdb__conv0_HeadVar__3_15;

#line 2782 "ssdb.m"
    {
#line 2782 "ssdb.m"
      ssdb__conv0_HeadVar__3_15 = ssdb__IntroducedFrom__func__modify_breakpoint_states__2782__1_2_f_0(((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__closure, (MR_Integer) 3))), ((MR_Word) ssdb__wrapper_arg_1));
    }
#line 2782 "ssdb.m"
    ssdb__wrapper_arg_2 = ((MR_Box) (ssdb__conv0_HeadVar__3_15));
#line 2782 "ssdb.m"
    return ssdb__wrapper_arg_2;
#line 2782 "ssdb.m"
  }
#line 2782 "ssdb.m"
}

#line 2572 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_enable_3_p_0(
#line 2572 "ssdb.m"
  MR_Word ssdb__Args_4)
#line 2572 "ssdb.m"
{
#line 2576 "ssdb.m"
  {
#line 2576 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 2576 "ssdb.m"
    if ((ssdb__Args_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3430 "ssdb.m"
      {
#line 3431 "ssdb.m"
        {
#line 3431 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: command requires argument.\n");
#line 3431 "ssdb.m"
          return;
        }
#line 3430 "ssdb.m"
      }
#line 2576 "ssdb.m"
    else
#line 2576 "ssdb.m"
      {
#line 2576 "ssdb.m"
        MR_Word ssdb__V_22_22 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args_4, (MR_Integer) 1)));
#line 2576 "ssdb.m"
        MR_String ssdb__V_23_23 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args_4, (MR_Integer) 0)));

#line 2576 "ssdb.m"
        if ((ssdb__V_22_22 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2582 "ssdb.m"
          {
#line 2580 "ssdb.m"
            ssdb__succeeded = (strcmp(ssdb__V_23_23, (MR_String) "*") == 0);
#line 2582 "ssdb.m"
            if (ssdb__succeeded)
#line 2581 "ssdb.m"
              {
#line 2581 "ssdb.m"
                MR_Word ssdb__TypeCtorInfo_23_48;
#line 2581 "ssdb.m"
                MR_Word ssdb__BreakPoints0_33;
#line 2581 "ssdb.m"
                MR_Word ssdb__BreakPoints_36;
#line 2581 "ssdb.m"
                MR_Box ssdb__Filter_37;
#line 2581 "ssdb.m"
                MR_Box ssdb__V_57_57;
#line 2868 "ssdb.m"
                MR_Box ssdb__conv2_Filter_37;

#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_enable_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 20334 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_enable_3_p_0

	MR_Word X;

		{
#line 317 "ssdb.m"
X = ssdb__mutable_variable_breakpoints_map;

#line 20350 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__BreakPoints0_33  = X;
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_enable_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 20369 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 20375 "ssdb.c"
                ssdb__TypeCtorInfo_23_48 = (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0;
#line 2783 "ssdb.m"
                {
#line 2783 "ssdb.m"
                  ssdb__BreakPoints_36 = mercury__map__map_values_only_2_f_0(ssdb__TypeCtorInfo_23_48, ssdb__TypeCtorInfo_23_48, (MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb_scalar_common_6[1], ssdb__BreakPoints0_33);
                }
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_enable_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 20394 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_enable_3_p_0

	MR_Word X;

	X =  ssdb__BreakPoints_36 ;
		{
#line 317 "ssdb.m"
ssdb__mutable_variable_breakpoints_map = X;

#line 20411 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_enable_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 20429 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 2853 "ssdb.m"
                {
#line 2853 "ssdb.m"
                  ssdb__V_57_57 = mercury__bitmap__init_1_f_0((MR_Integer) 65536);
                }
#line 2868 "ssdb.m"
                {
#line 2868 "ssdb.m"
                  mercury__map__foldl_values_4_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0, (MR_Word) &mercury__bitmap__bitmap__type_ctor_info_bitmap_0, (MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb_scalar_common_2[8], ssdb__BreakPoints_36, ((MR_Box) (ssdb__V_57_57)), &ssdb__conv2_Filter_37);
                }
#line 2868 "ssdb.m"
                ssdb__Filter_37 = ((MR_Box) ssdb__conv2_Filter_37);
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_enable_3_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 20459 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_enable_3_p_0

	MR_BitmapPtr X;

	X = (MR_BitmapPtr) ssdb__Filter_37 ;
		{
#line 319 "ssdb.m"
ssdb__mutable_variable_breakpoints_filter = X;

#line 20476 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_enable_3_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 20494 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 3298 "ssdb.m"
                {
#line 3298 "ssdb.m"
                  ssdb__succeeded = mercury__map__is_empty_1_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0, ssdb__BreakPoints_36);
                }
#line 3300 "ssdb.m"
                if (ssdb__succeeded)
#line 3299 "ssdb.m"
                  {
#line 3299 "ssdb.m"
                    {
#line 3299 "ssdb.m"
                      mercury__io__write_string_3_p_0((MR_String) "There are no break points.\n");
#line 3299 "ssdb.m"
                      return;
                    }
#line 3299 "ssdb.m"
                  }
#line 3300 "ssdb.m"
                else
#line 3302 "ssdb.m"
                  {
#line 3302 "ssdb.m"
                    MR_Word ssdb__TypeCtorInfo_17_82 = (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0;
#line 3302 "ssdb.m"
                    MR_Word ssdb__SortedBreakPoints_73;
#line 3302 "ssdb.m"
                    MR_Word ssdb__V_76_76;
#line 3303 "ssdb.m"
                    MR_Box ssdb__conv3_STATE_VARIABLE_IO_12;

#line 3302 "ssdb.m"
                    {
#line 3302 "ssdb.m"
                      ssdb__V_76_76 = mercury__map__values_1_f_0((MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, ssdb__TypeCtorInfo_17_82, ssdb__BreakPoints_36);
                    }
#line 3302 "ssdb.m"
                    {
#line 3302 "ssdb.m"
                      mercury__list__sort_2_p_0(ssdb__TypeCtorInfo_17_82, ssdb__V_76_76, &ssdb__SortedBreakPoints_73);
                    }
#line 3303 "ssdb.m"
                    {
#line 3303 "ssdb.m"
                      mercury__list__foldl_4_p_2(ssdb__TypeCtorInfo_17_82, (MR_Word) &mercury__io__io__type_ctor_info_state_0, (MR_Word) &ssdb_scalar_common_2[9], ssdb__SortedBreakPoints_73, ((MR_Box) ((MR_Integer) 0)), &ssdb__conv3_STATE_VARIABLE_IO_12);
                    }
#line 3302 "ssdb.m"
                  }
#line 2581 "ssdb.m"
              }
#line 2582 "ssdb.m"
            else
#line 2584 "ssdb.m"
              {
#line 2584 "ssdb.m"
                MR_Integer ssdb__Num_7;
#line 3513 "ssdb.m"
                MR_Integer ssdb__V_89_89;

#line 3514 "ssdb.m"
                {
#line 3514 "ssdb.m"
                  ssdb__succeeded = mercury__string__to_int_2_p_0(ssdb__V_23_23, &ssdb__Num_7);
                }
#line 3513 "ssdb.m"
                if (ssdb__succeeded)
#line 3513 "ssdb.m"
                  {
#line 3515 "ssdb.m"
                    ssdb__V_89_89 = (MR_Integer) 0;
#line 3515 "ssdb.m"
                    ssdb__succeeded = (ssdb__Num_7 >= ssdb__V_89_89);
#line 3513 "ssdb.m"
                  }
#line 2584 "ssdb.m"
                if (ssdb__succeeded)
#line 2583 "ssdb.m"
                  {
#line 2583 "ssdb.m"
                    {
#line 2583 "ssdb.m"
                      ssdb__modify_breakpoint_state_4_p_0(ssdb__Num_7, (MR_Integer) 0);
#line 2583 "ssdb.m"
                      return;
                    }
#line 2583 "ssdb.m"
                  }
#line 2584 "ssdb.m"
                else
#line 3445 "ssdb.m"
                  {
#line 3446 "ssdb.m"
                    {
#line 3446 "ssdb.m"
                      mercury__io__write_string_3_p_0((MR_String) "ssdb: invalid argument to command.\n");
#line 3446 "ssdb.m"
                      return;
                    }
#line 3445 "ssdb.m"
                  }
#line 2584 "ssdb.m"
              }
#line 2582 "ssdb.m"
          }
#line 2576 "ssdb.m"
        else
#line 2589 "ssdb.m"
          {
#line 2589 "ssdb.m"
            ssdb__print_too_many_arguments_2_p_0();
#line 2589 "ssdb.m"
            return;
          }
#line 2576 "ssdb.m"
      }
#line 2576 "ssdb.m"
  }
#line 2572 "ssdb.m"
}

#line 2567 "ssdb.m"
static MR_bool MR_CALL 
ssdb__non_dot_1_p_0(
#line 2567 "ssdb.m"
  MR_Char ssdb__C_2)
#line 2567 "ssdb.m"
{
#line 2570 "ssdb.m"
  {
#line 2570 "ssdb.m"
    MR_bool ssdb__succeeded = (ssdb__C_2 == (MR_Char) 46);

#line 2570 "ssdb.m"
    ssdb__succeeded = !(ssdb__succeeded);
#line 2570 "ssdb.m"
    return ssdb__succeeded;
#line 2570 "ssdb.m"
  }
#line 2567 "ssdb.m"
}

#line 2560 "ssdb.m"
static MR_bool MR_CALL 
ssdb__execute_ssdb_break_3_p_0_2(
#line 2560 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2560 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1)
#line 2560 "ssdb.m"
{
#line 2560 "ssdb.m"
  {
#line 2560 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 2560 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;

#line 2560 "ssdb.m"
    {
#line 2560 "ssdb.m"
      return ssdb__succeeded = ssdb__non_dot_1_p_0(((MR_Char) (MR_Word) ssdb__wrapper_arg_1));
    }
#line 2560 "ssdb.m"
    return ssdb__succeeded;
#line 2560 "ssdb.m"
  }
#line 2560 "ssdb.m"
}

#line 3303 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_break_3_p_0_1(
#line 3303 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 3303 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 3303 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 3303 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3)
#line 3303 "ssdb.m"
{
#line 3303 "ssdb.m"
  {
#line 3303 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;

#line 3303 "ssdb.m"
    {
#line 3303 "ssdb.m"
      ssdb__print_breakpoint_3_p_0(((MR_Word) ssdb__wrapper_arg_1));
#line 3303 "ssdb.m"
      return;
    }
#line 3303 "ssdb.m"
  }
#line 3303 "ssdb.m"
}

#line 2534 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_break_3_p_0(
#line 2534 "ssdb.m"
  MR_Word ssdb__Args_4)
#line 2534 "ssdb.m"
{
#line 2538 "ssdb.m"
  {
#line 2538 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 2538 "ssdb.m"
    if ((ssdb__Args_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3430 "ssdb.m"
      {
#line 3431 "ssdb.m"
        {
#line 3431 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: command requires argument.\n");
#line 3431 "ssdb.m"
          return;
        }
#line 3430 "ssdb.m"
      }
#line 2538 "ssdb.m"
    else
#line 2538 "ssdb.m"
      {
#line 2538 "ssdb.m"
        MR_Word ssdb__V_25_25 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args_4, (MR_Integer) 1)));
#line 2538 "ssdb.m"
        MR_String ssdb__V_26_26 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args_4, (MR_Integer) 0)));

#line 2538 "ssdb.m"
        if ((ssdb__V_25_25 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2545 "ssdb.m"
          {
#line 2542 "ssdb.m"
            ssdb__succeeded = (strcmp(ssdb__V_26_26, (MR_String) "info") == 0);
#line 2545 "ssdb.m"
            if (ssdb__succeeded)
#line 2543 "ssdb.m"
              {
#line 2543 "ssdb.m"
                MR_Word ssdb__BreakPoints_7;

#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_break_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 20758 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_break_3_p_0

	MR_Word X;

		{
#line 317 "ssdb.m"
X = ssdb__mutable_variable_breakpoints_map;

#line 20774 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__BreakPoints_7  = X;
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_break_3_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 20793 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 3298 "ssdb.m"
                {
#line 3298 "ssdb.m"
                  ssdb__succeeded = mercury__map__is_empty_1_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0, ssdb__BreakPoints_7);
                }
#line 3300 "ssdb.m"
                if (ssdb__succeeded)
#line 3299 "ssdb.m"
                  {
#line 3299 "ssdb.m"
                    {
#line 3299 "ssdb.m"
                      mercury__io__write_string_3_p_0((MR_String) "There are no break points.\n");
#line 3299 "ssdb.m"
                      return;
                    }
#line 3299 "ssdb.m"
                  }
#line 3300 "ssdb.m"
                else
#line 3302 "ssdb.m"
                  {
#line 3302 "ssdb.m"
                    MR_Word ssdb__TypeCtorInfo_17_47 = (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0;
#line 3302 "ssdb.m"
                    MR_Word ssdb__SortedBreakPoints_38;
#line 3302 "ssdb.m"
                    MR_Word ssdb__V_41_41;
#line 3303 "ssdb.m"
                    MR_Box ssdb__conv0_STATE_VARIABLE_IO_15;

#line 3302 "ssdb.m"
                    {
#line 3302 "ssdb.m"
                      ssdb__V_41_41 = mercury__map__values_1_f_0((MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, ssdb__TypeCtorInfo_17_47, ssdb__BreakPoints_7);
                    }
#line 3302 "ssdb.m"
                    {
#line 3302 "ssdb.m"
                      mercury__list__sort_2_p_0(ssdb__TypeCtorInfo_17_47, ssdb__V_41_41, &ssdb__SortedBreakPoints_38);
                    }
#line 3303 "ssdb.m"
                    {
#line 3303 "ssdb.m"
                      mercury__list__foldl_4_p_2(ssdb__TypeCtorInfo_17_47, (MR_Word) &mercury__io__io__type_ctor_info_state_0, (MR_Word) &ssdb_scalar_common_2[6], ssdb__SortedBreakPoints_38, ((MR_Box) ((MR_Integer) 0)), &ssdb__conv0_STATE_VARIABLE_IO_15);
                    }
#line 3302 "ssdb.m"
                  }
#line 2543 "ssdb.m"
              }
#line 2545 "ssdb.m"
            else
#line 2548 "ssdb.m"
              {
#line 2548 "ssdb.m"
                MR_String ssdb__ModuleName_8;
#line 2548 "ssdb.m"
                MR_String ssdb__PredName_9;
#line 2559 "ssdb.m"
                MR_String ssdb__ModuleDot_55;
#line 2559 "ssdb.m"
                MR_Integer ssdb__Sep_56;
#line 2559 "ssdb.m"
                MR_Integer ssdb__V_58_58;
#line 2559 "ssdb.m"
                MR_Integer ssdb__V_60_60;
#line 2559 "ssdb.m"
                MR_Integer ssdb__V_61_61;

#line 2560 "ssdb.m"
                {
#line 2560 "ssdb.m"
                  ssdb__ModuleDot_55 = mercury__string__rstrip_pred_2_f_0((MR_Word) &ssdb_scalar_common_2[7], ssdb__V_26_26);
                }
#line 2561 "ssdb.m"
                {
#line 2561 "ssdb.m"
                  ssdb__Sep_56 = mercury__string__length_1_f_0(ssdb__ModuleDot_55);
                }
#line 2562 "ssdb.m"
                ssdb__V_58_58 = (ssdb__Sep_56 - (MR_Integer) 1);
#line 2562 "ssdb.m"
                {
#line 2562 "ssdb.m"
                  ssdb__ModuleName_8 = mercury__string__left_2_f_0(ssdb__V_26_26, ssdb__V_58_58);
                }
#line 2563 "ssdb.m"
                ssdb__succeeded = (strcmp(ssdb__ModuleName_8, (MR_String) "") == 0);
#line 2563 "ssdb.m"
                ssdb__succeeded = !(ssdb__succeeded);
#line 2559 "ssdb.m"
                if (ssdb__succeeded)
#line 2559 "ssdb.m"
                  {
#line 2564 "ssdb.m"
                    {
#line 2564 "ssdb.m"
                      ssdb__V_61_61 = mercury__string__length_1_f_0(ssdb__V_26_26);
                    }
#line 2564 "ssdb.m"
                    ssdb__V_60_60 = (ssdb__V_61_61 - ssdb__Sep_56);
#line 2564 "ssdb.m"
                    {
#line 2564 "ssdb.m"
                      ssdb__PredName_9 = mercury__string__right_2_f_0(ssdb__V_26_26, ssdb__V_60_60);
                    }
#line 2565 "ssdb.m"
                    ssdb__succeeded = (strcmp(ssdb__PredName_9, (MR_String) "") == 0);
#line 2565 "ssdb.m"
                    ssdb__succeeded = !(ssdb__succeeded);
#line 2559 "ssdb.m"
                  }
#line 2548 "ssdb.m"
                if (ssdb__succeeded)
#line 2546 "ssdb.m"
                  {
#line 2546 "ssdb.m"
                    MR_Word ssdb__ProcId_10;

#line 2546 "ssdb.m"
                    {
#line 2546 "ssdb.m"
                      ssdb__ProcId_10 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 2546 "ssdb.m"
                      MR_hl_field(MR_mktag(0), ssdb__ProcId_10, 0) = ((MR_Box) (ssdb__ModuleName_8));
#line 2546 "ssdb.m"
                      MR_hl_field(MR_mktag(0), ssdb__ProcId_10, 1) = ((MR_Box) (ssdb__PredName_9));
#line 2546 "ssdb.m"
                    }
#line 2547 "ssdb.m"
                    {
#line 2547 "ssdb.m"
                      ssdb__add_breakpoint_3_p_0(ssdb__ProcId_10);
#line 2547 "ssdb.m"
                      return;
                    }
#line 2546 "ssdb.m"
                  }
#line 2548 "ssdb.m"
                else
#line 2549 "ssdb.m"
                  {
#line 2549 "ssdb.m"
                    {
#line 2549 "ssdb.m"
                      mercury__io__write_string_3_p_0((MR_String) "ssdb: invalid argument.\n");
#line 2549 "ssdb.m"
                      return;
                    }
#line 2549 "ssdb.m"
                  }
#line 2548 "ssdb.m"
              }
#line 2545 "ssdb.m"
          }
#line 2538 "ssdb.m"
        else
#line 3440 "ssdb.m"
          {
#line 3441 "ssdb.m"
            {
#line 3441 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: too many arguments to command.\n");
#line 3441 "ssdb.m"
              return;
            }
#line 3440 "ssdb.m"
          }
#line 2538 "ssdb.m"
      }
#line 2538 "ssdb.m"
  }
#line 2534 "ssdb.m"
}

#line 2508 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_list_context_lines_3_p_0(
#line 2508 "ssdb.m"
  MR_Word ssdb__Args_4)
#line 2508 "ssdb.m"
{
#line 2513 "ssdb.m"
  {
#line 2513 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 2513 "ssdb.m"
    if ((ssdb__Args_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2513 "ssdb.m"
      {
#line 2513 "ssdb.m"
        MR_Word ssdb__Params_6;
#line 2513 "ssdb.m"
        MR_Integer ssdb__Lines_7;
#line 2513 "ssdb.m"
        MR_String ssdb__V_37_37;
#line 2513 "ssdb.m"
        MR_String ssdb__V_38_38;
#line 2513 "ssdb.m"
        MR_String ssdb__V_40_40;
#line 2515 "ssdb.m"
        MR_Word ssdb__V_31_31;

#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_context_lines_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21015 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_context_lines_3_p_0

	MR_Word X;

		{
#line 333 "ssdb.m"
X = ssdb__mutable_variable_list_params;

#line 21031 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Params_6  = X;
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_context_lines_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21050 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 2515 "ssdb.m"
        ssdb__V_31_31 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Params_6, (MR_Integer) 0)));
#line 2515 "ssdb.m"
        ssdb__Lines_7 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Params_6, (MR_Integer) 1)));
#line 21060 "ssdb.c"
        {
#line 21062 "ssdb.c"
          ssdb__V_37_37 = mercury__string__int_to_string_1_f_0(ssdb__Lines_7);
        }
#line 21065 "ssdb.c"
        {
#line 21067 "ssdb.c"
          ssdb__V_38_38 = mercury__string__f_43_43_2_f_0(ssdb__V_37_37, (MR_String) " lines around each context listing.\n");
        }
#line 21070 "ssdb.c"
        {
#line 21072 "ssdb.c"
          ssdb__V_40_40 = mercury__string__f_43_43_2_f_0((MR_String) "Printing ", ssdb__V_38_38);
        }
#line 21075 "ssdb.c"
        {
#line 21077 "ssdb.c"
          mercury__io__write_string_3_p_0(ssdb__V_40_40);
#line 21079 "ssdb.c"
          return;
        }
#line 2513 "ssdb.m"
      }
#line 2513 "ssdb.m"
    else
#line 2513 "ssdb.m"
      {
#line 2513 "ssdb.m"
        MR_Word ssdb__V_34_34 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args_4, (MR_Integer) 1)));
#line 2513 "ssdb.m"
        MR_String ssdb__V_35_35 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args_4, (MR_Integer) 0)));

#line 2513 "ssdb.m"
        if ((ssdb__V_34_34 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2524 "ssdb.m"
          {
#line 2524 "ssdb.m"
            MR_Integer ssdb__N_9;
#line 3513 "ssdb.m"
            MR_Integer ssdb__V_45_45;

#line 3514 "ssdb.m"
            {
#line 3514 "ssdb.m"
              ssdb__succeeded = mercury__string__to_int_2_p_0(ssdb__V_35_35, &ssdb__N_9);
            }
#line 3513 "ssdb.m"
            if (ssdb__succeeded)
#line 3513 "ssdb.m"
              {
#line 3515 "ssdb.m"
                ssdb__V_45_45 = (MR_Integer) 0;
#line 3515 "ssdb.m"
                ssdb__succeeded = (ssdb__N_9 >= ssdb__V_45_45);
#line 3513 "ssdb.m"
              }
#line 2524 "ssdb.m"
            if (ssdb__succeeded)
#line 2521 "ssdb.m"
              {
#line 2521 "ssdb.m"
                MR_Word ssdb__Params0_10;
#line 2521 "ssdb.m"
                MR_Word ssdb__Params_28;
#line 2522 "ssdb.m"
                MR_Word ssdb__V_32_32;
#line 2522 "ssdb.m"
                MR_Integer ssdb__V_33_33;

#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_context_lines_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21142 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_context_lines_3_p_0

	MR_Word X;

		{
#line 333 "ssdb.m"
X = ssdb__mutable_variable_list_params;

#line 21158 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Params0_10  = X;
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_context_lines_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21177 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 2522 "ssdb.m"
                ssdb__V_32_32 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Params0_10, (MR_Integer) 0)));
#line 2522 "ssdb.m"
                ssdb__V_33_33 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Params0_10, (MR_Integer) 1)));
#line 2522 "ssdb.m"
                {
#line 2522 "ssdb.m"
                  ssdb__Params_28 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 2522 "ssdb.m"
                  MR_hl_field(MR_mktag(0), ssdb__Params_28, 0) = ((MR_Box) (ssdb__V_32_32));
#line 2522 "ssdb.m"
                  MR_hl_field(MR_mktag(0), ssdb__Params_28, 1) = ((MR_Box) (ssdb__N_9));
#line 2522 "ssdb.m"
                }
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_context_lines_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21209 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_context_lines_3_p_0

	MR_Word X;

	X =  ssdb__Params_28 ;
		{
#line 333 "ssdb.m"
ssdb__mutable_variable_list_params = X;

#line 21226 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_context_lines_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21244 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 2521 "ssdb.m"
              }
#line 2524 "ssdb.m"
            else
#line 3435 "ssdb.m"
              {
#line 3436 "ssdb.m"
                {
#line 3436 "ssdb.m"
                  mercury__io__write_string_3_p_0((MR_String) "ssdb: command requires integer argument.\n");
#line 3436 "ssdb.m"
                  return;
                }
#line 3435 "ssdb.m"
              }
#line 2524 "ssdb.m"
          }
#line 2513 "ssdb.m"
        else
#line 3440 "ssdb.m"
          {
#line 3441 "ssdb.m"
            {
#line 3441 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: too many arguments to command.\n");
#line 3441 "ssdb.m"
              return;
            }
#line 3440 "ssdb.m"
          }
#line 2513 "ssdb.m"
      }
#line 2513 "ssdb.m"
  }
#line 2508 "ssdb.m"
}

#line 2493 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_pop_list_dir_3_p_0(
#line 2493 "ssdb.m"
  MR_Word ssdb__Args_4)
#line 2493 "ssdb.m"
{
#line 2497 "ssdb.m"
  {
#line 2497 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 2497 "ssdb.m"
    if ((ssdb__Args_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2497 "ssdb.m"
      {
#line 2497 "ssdb.m"
        MR_Word ssdb__Params0_6;
#line 2497 "ssdb.m"
        MR_Word ssdb__ListPath0_7;
#line 2497 "ssdb.m"
        MR_Word ssdb__ListPath_8;
#line 2497 "ssdb.m"
        MR_Word ssdb__Params_9;
#line 2499 "ssdb.m"
        MR_Integer ssdb__V_17_17;
#line 2501 "ssdb.m"
        MR_Integer ssdb__V_19_19;
#line 2501 "ssdb.m"
        MR_Word ssdb__V_18_18;

#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_pop_list_dir_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21330 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_pop_list_dir_3_p_0

	MR_Word X;

		{
#line 333 "ssdb.m"
X = ssdb__mutable_variable_list_params;

#line 21346 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Params0_6  = X;
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_pop_list_dir_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21365 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 2499 "ssdb.m"
        ssdb__ListPath0_7 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Params0_6, (MR_Integer) 0)));
#line 2499 "ssdb.m"
        ssdb__V_17_17 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Params0_6, (MR_Integer) 1)));
#line 2500 "ssdb.m"
        {
#line 2500 "ssdb.m"
          mdb__listing__pop_list_path_2_p_0(ssdb__ListPath0_7, &ssdb__ListPath_8);
        }
#line 2501 "ssdb.m"
        ssdb__V_18_18 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Params0_6, (MR_Integer) 0)));
#line 2501 "ssdb.m"
        ssdb__V_19_19 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Params0_6, (MR_Integer) 1)));
#line 2501 "ssdb.m"
        {
#line 2501 "ssdb.m"
          ssdb__Params_9 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 2501 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__Params_9, 0) = ((MR_Box) (ssdb__ListPath_8));
#line 2501 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__Params_9, 1) = ((MR_Box) (ssdb__V_19_19));
#line 2501 "ssdb.m"
        }
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_pop_list_dir_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21406 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_pop_list_dir_3_p_0

	MR_Word X;

	X =  ssdb__Params_9 ;
		{
#line 333 "ssdb.m"
ssdb__mutable_variable_list_params = X;

#line 21423 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_pop_list_dir_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21441 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 2497 "ssdb.m"
      }
#line 2497 "ssdb.m"
    else
#line 3440 "ssdb.m"
      {
#line 3441 "ssdb.m"
        {
#line 3441 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: too many arguments to command.\n");
#line 3441 "ssdb.m"
          return;
        }
#line 3440 "ssdb.m"
      }
#line 2497 "ssdb.m"
  }
#line 2493 "ssdb.m"
}

#line 2488 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_push_list_dir_3_p_0_1(
#line 2488 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2488 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 2488 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 2488 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3)
#line 2488 "ssdb.m"
{
#line 2488 "ssdb.m"
  {
#line 2488 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;
#line 2488 "ssdb.m"
    MR_Word ssdb__conv0_HeadVar__3_3;

#line 2488 "ssdb.m"
    {
#line 2488 "ssdb.m"
      mdb__listing__push_list_path_3_p_0(((MR_String) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2), &ssdb__conv0_HeadVar__3_3);
    }
#line 2488 "ssdb.m"
    *ssdb__wrapper_arg_3 = ((MR_Box) (ssdb__conv0_HeadVar__3_3));
#line 2488 "ssdb.m"
  }
#line 2488 "ssdb.m"
}

#line 2478 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_push_list_dir_3_p_0(
#line 2478 "ssdb.m"
  MR_Word ssdb__Args_4)
#line 2478 "ssdb.m"
{
#line 2482 "ssdb.m"
  {
#line 2482 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 2482 "ssdb.m"
    if ((ssdb__Args_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3430 "ssdb.m"
      {
#line 3431 "ssdb.m"
        {
#line 3431 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: command requires argument.\n");
#line 3431 "ssdb.m"
          return;
        }
#line 3430 "ssdb.m"
      }
#line 2482 "ssdb.m"
    else
#line 2485 "ssdb.m"
      {
#line 2485 "ssdb.m"
        MR_Word ssdb__Params0_8;
#line 2485 "ssdb.m"
        MR_Word ssdb__ListPath0_9;
#line 2485 "ssdb.m"
        MR_Word ssdb__ListPath_10;
#line 2485 "ssdb.m"
        MR_Word ssdb__Params_11;
#line 2487 "ssdb.m"
        MR_Integer ssdb__V_18_18;
#line 2488 "ssdb.m"
        MR_Box ssdb__conv1_ListPath_10;
#line 2489 "ssdb.m"
        MR_Integer ssdb__V_20_20;
#line 2489 "ssdb.m"
        MR_Word ssdb__V_19_19;

#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_push_list_dir_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21557 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_push_list_dir_3_p_0

	MR_Word X;

		{
#line 333 "ssdb.m"
X = ssdb__mutable_variable_list_params;

#line 21573 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Params0_8  = X;
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_push_list_dir_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21592 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 2487 "ssdb.m"
        ssdb__ListPath0_9 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Params0_8, (MR_Integer) 0)));
#line 2487 "ssdb.m"
        ssdb__V_18_18 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Params0_8, (MR_Integer) 1)));
#line 2488 "ssdb.m"
        {
#line 2488 "ssdb.m"
          mercury__list__foldr_4_p_0((MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0, (MR_Word) &mdb__listing__mdb__listing__type_ctor_info_search_path_0, (MR_Word) &ssdb_scalar_common_2[5], ssdb__Args_4, ((MR_Box) (ssdb__ListPath0_9)), &ssdb__conv1_ListPath_10);
        }
#line 2488 "ssdb.m"
        ssdb__ListPath_10 = ((MR_Word) ssdb__conv1_ListPath_10);
#line 2489 "ssdb.m"
        ssdb__V_19_19 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Params0_8, (MR_Integer) 0)));
#line 2489 "ssdb.m"
        ssdb__V_20_20 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Params0_8, (MR_Integer) 1)));
#line 2489 "ssdb.m"
        {
#line 2489 "ssdb.m"
          ssdb__Params_11 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 2489 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__Params_11, 0) = ((MR_Box) (ssdb__ListPath_10));
#line 2489 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__Params_11, 1) = ((MR_Box) (ssdb__V_20_20));
#line 2489 "ssdb.m"
        }
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_push_list_dir_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21635 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_push_list_dir_3_p_0

	MR_Word X;

	X =  ssdb__Params_11 ;
		{
#line 333 "ssdb.m"
ssdb__mutable_variable_list_params = X;

#line 21652 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_push_list_dir_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21670 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 2485 "ssdb.m"
      }
#line 2482 "ssdb.m"
  }
#line 2478 "ssdb.m"
}

#line 2466 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_list_path_3_p_0_1(
#line 2466 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2466 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 2466 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 2466 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3)
#line 2466 "ssdb.m"
{
#line 2466 "ssdb.m"
  {
#line 2466 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;

#line 2466 "ssdb.m"
    {
#line 2466 "ssdb.m"
      mercury__io__write_string_3_p_0(((MR_String) ssdb__wrapper_arg_1));
#line 2466 "ssdb.m"
      return;
    }
#line 2466 "ssdb.m"
  }
#line 2466 "ssdb.m"
}

#line 2453 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_list_path_3_p_0(
#line 2453 "ssdb.m"
  MR_Word ssdb__Args_4)
#line 2453 "ssdb.m"
{
#line 2457 "ssdb.m"
  {
#line 2457 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 2457 "ssdb.m"
    if ((ssdb__Args_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2457 "ssdb.m"
      {
#line 2457 "ssdb.m"
        MR_Word ssdb__Params_6;
#line 2457 "ssdb.m"
        MR_Word ssdb__Dirs_7;
#line 2457 "ssdb.m"
        MR_Word ssdb__V_20_20;
#line 2459 "ssdb.m"
        MR_Integer ssdb__V_30_30;

#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_path_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21750 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_path_3_p_0

	MR_Word X;

		{
#line 333 "ssdb.m"
X = ssdb__mutable_variable_list_params;

#line 21766 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Params_6  = X;
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_path_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21785 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 2459 "ssdb.m"
        ssdb__V_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Params_6, (MR_Integer) 0)));
#line 2459 "ssdb.m"
        ssdb__V_30_30 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Params_6, (MR_Integer) 1)));
#line 2459 "ssdb.m"
        {
#line 2459 "ssdb.m"
          ssdb__Dirs_7 = mdb__listing__get_list_path_1_f_0(ssdb__V_20_20);
        }
#line 2463 "ssdb.m"
        if ((ssdb__Dirs_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2461 "ssdb.m"
          {
#line 2462 "ssdb.m"
            {
#line 2462 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "Context search path is empty\n");
#line 2462 "ssdb.m"
              return;
            }
#line 2461 "ssdb.m"
          }
#line 2463 "ssdb.m"
        else
#line 2464 "ssdb.m"
          {
#line 2465 "ssdb.m"
            {
#line 2465 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "Context search path: ");
            }
#line 2466 "ssdb.m"
            {
#line 2466 "ssdb.m"
              mercury__io__write_list_5_p_0((MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0, ssdb__Dirs_7, (MR_String) " ", (MR_Word) &ssdb_scalar_common_2[4]);
            }
#line 2467 "ssdb.m"
            {
#line 2467 "ssdb.m"
              mercury__io__nl_2_p_0();
#line 2467 "ssdb.m"
              return;
            }
#line 2464 "ssdb.m"
          }
#line 2457 "ssdb.m"
      }
#line 2457 "ssdb.m"
    else
#line 2470 "ssdb.m"
      {
#line 2470 "ssdb.m"
        MR_Word ssdb__Params0_12;
#line 2470 "ssdb.m"
        MR_Word ssdb__ListPath0_13;
#line 2470 "ssdb.m"
        MR_Word ssdb__ListPath_14;
#line 2470 "ssdb.m"
        MR_Word ssdb__Params_29;
#line 2472 "ssdb.m"
        MR_Integer ssdb__V_31_31;
#line 2474 "ssdb.m"
        MR_Integer ssdb__V_33_33;
#line 2474 "ssdb.m"
        MR_Word ssdb__V_32_32;

#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_path_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21869 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_path_3_p_0

	MR_Word X;

		{
#line 333 "ssdb.m"
X = ssdb__mutable_variable_list_params;

#line 21885 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Params0_12  = X;
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_path_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21904 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 2472 "ssdb.m"
        ssdb__ListPath0_13 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Params0_12, (MR_Integer) 0)));
#line 2472 "ssdb.m"
        ssdb__V_31_31 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Params0_12, (MR_Integer) 1)));
#line 2473 "ssdb.m"
        {
#line 2473 "ssdb.m"
          mdb__listing__set_list_path_3_p_0(ssdb__Args_4, ssdb__ListPath0_13, &ssdb__ListPath_14);
        }
#line 2474 "ssdb.m"
        ssdb__V_32_32 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Params0_12, (MR_Integer) 0)));
#line 2474 "ssdb.m"
        ssdb__V_33_33 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Params0_12, (MR_Integer) 1)));
#line 2474 "ssdb.m"
        {
#line 2474 "ssdb.m"
          ssdb__Params_29 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 2474 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__Params_29, 0) = ((MR_Box) (ssdb__ListPath_14));
#line 2474 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__Params_29, 1) = ((MR_Box) (ssdb__V_33_33));
#line 2474 "ssdb.m"
        }
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_path_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21945 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_path_3_p_0

	MR_Word X;

	X =  ssdb__Params_29 ;
		{
#line 333 "ssdb.m"
ssdb__mutable_variable_list_params = X;

#line 21962 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_path_3_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 21980 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 2470 "ssdb.m"
      }
#line 2457 "ssdb.m"
  }
#line 2453 "ssdb.m"
}

#line 2434 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_list_2_4_p_0(
#line 2434 "ssdb.m"
  MR_Integer ssdb__ContextLines_5,
#line 2434 "ssdb.m"
  MR_Integer ssdb__Depth_6)
#line 2434 "ssdb.m"
{
#line 2436 "ssdb.m"
  {
#line 2436 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 2436 "ssdb.m"
    MR_Word ssdb__StackFrame_8;
#line 2436 "ssdb.m"
    MR_String ssdb__FileName_9;
#line 2436 "ssdb.m"
    MR_Integer ssdb__MarkLine_10;
#line 2436 "ssdb.m"
    MR_Word ssdb__Stack_48;
#line 995 "ssdb.m"
    MR_Box ssdb__conv0_StackFrame_8;
#line 2438 "ssdb.m"
    MR_Integer ssdb__V_28_28;
#line 2438 "ssdb.m"
    MR_Integer ssdb__V_29_29;
#line 2438 "ssdb.m"
    MR_Integer ssdb__V_30_30;
#line 2438 "ssdb.m"
    MR_Word ssdb__V_31_31;
#line 2438 "ssdb.m"
    MR_Word ssdb__V_33_33;
#line 2438 "ssdb.m"
    MR_Word ssdb__V_34_34;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_2_4_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 22041 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_2_4_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 22057 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_48  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_2_4_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 22076 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 995 "ssdb.m"
    {
#line 995 "ssdb.m"
      mercury__list__det_index0_3_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_stack_frame_0, ssdb__Stack_48, ssdb__Depth_6, &ssdb__conv0_StackFrame_8);
    }
#line 995 "ssdb.m"
    ssdb__StackFrame_8 = ((MR_Word) ssdb__conv0_StackFrame_8);
#line 2438 "ssdb.m"
    ssdb__V_28_28 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 0)));
#line 2438 "ssdb.m"
    ssdb__V_29_29 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 1)));
#line 2438 "ssdb.m"
    ssdb__V_30_30 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 2)));
#line 2438 "ssdb.m"
    ssdb__V_31_31 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 3)));
#line 2438 "ssdb.m"
    ssdb__FileName_9 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 4)));
#line 2438 "ssdb.m"
    ssdb__MarkLine_10 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 5)));
#line 2438 "ssdb.m"
    ssdb__V_33_33 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 6)));
#line 2438 "ssdb.m"
    ssdb__V_34_34 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 7)));
#line 2440 "ssdb.m"
    ssdb__succeeded = (strcmp(ssdb__FileName_9, (MR_String) "") == 0);
#line 2442 "ssdb.m"
    if (ssdb__succeeded)
#line 2441 "ssdb.m"
      {
#line 2441 "ssdb.m"
        {
#line 2441 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: sorry, call site is unknown.\n");
#line 2441 "ssdb.m"
          return;
        }
#line 2441 "ssdb.m"
      }
#line 2442 "ssdb.m"
    else
#line 2443 "ssdb.m"
      {
#line 2443 "ssdb.m"
        MR_Integer ssdb__FirstLine_11;
#line 2443 "ssdb.m"
        MR_Integer ssdb__LastLine_12;
#line 2443 "ssdb.m"
        MR_Word ssdb__StdOut_13;
#line 2443 "ssdb.m"
        MR_Word ssdb__StdErr_14;
#line 2443 "ssdb.m"
        MR_Word ssdb__Params_15;
#line 2443 "ssdb.m"
        MR_Word ssdb__ListPath_16;
#line 2443 "ssdb.m"
        MR_Integer ssdb__V_23_23 = (ssdb__MarkLine_10 - ssdb__ContextLines_5);
#line 2448 "ssdb.m"
        MR_Integer ssdb__V_42_42;

#line 2443 "ssdb.m"
        {
#line 2443 "ssdb.m"
          ssdb__FirstLine_11 = mercury__int__max_2_f_0((MR_Integer) 0, ssdb__V_23_23);
        }
#line 2444 "ssdb.m"
        ssdb__LastLine_12 = (ssdb__MarkLine_10 + ssdb__ContextLines_5);
#line 2445 "ssdb.m"
        {
#line 2445 "ssdb.m"
          mercury__io__output_stream_3_p_0(&ssdb__StdOut_13);
        }
#line 2446 "ssdb.m"
        {
#line 2446 "ssdb.m"
          mercury__io__stderr_stream_3_p_0(&ssdb__StdErr_14);
        }
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_2_4_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 22170 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_2_4_p_0

	MR_Word X;

		{
#line 333 "ssdb.m"
X = ssdb__mutable_variable_list_params;

#line 22186 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Params_15  = X;
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_2_4_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 22205 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 2448 "ssdb.m"
        ssdb__ListPath_16 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Params_15, (MR_Integer) 0)));
#line 2448 "ssdb.m"
        ssdb__V_42_42 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Params_15, (MR_Integer) 1)));
#line 2449 "ssdb.m"
        {
#line 2449 "ssdb.m"
          mdb__listing__list_file_portable_9_p_0(ssdb__StdOut_13, ssdb__StdErr_14, ssdb__FileName_9, ssdb__FirstLine_11, ssdb__LastLine_12, ssdb__MarkLine_10, ssdb__ListPath_16);
#line 2449 "ssdb.m"
          return;
        }
#line 2443 "ssdb.m"
      }
#line 2436 "ssdb.m"
  }
#line 2434 "ssdb.m"
}

#line 2414 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_list_4_p_0(
#line 2414 "ssdb.m"
  MR_Word ssdb__Args_5,
#line 2414 "ssdb.m"
  MR_Integer ssdb__Depth_6)
#line 2414 "ssdb.m"
{
#line 2418 "ssdb.m"
  {
#line 2418 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 2418 "ssdb.m"
    if ((ssdb__Args_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2418 "ssdb.m"
      {
#line 2418 "ssdb.m"
        MR_Word ssdb__Params_8;
#line 2418 "ssdb.m"
        MR_Integer ssdb__ContextLines_9;
#line 2418 "ssdb.m"
        MR_Word ssdb__StackFrame_35;
#line 2418 "ssdb.m"
        MR_String ssdb__FileName_36;
#line 2418 "ssdb.m"
        MR_Integer ssdb__MarkLine_37;
#line 2418 "ssdb.m"
        MR_Word ssdb__Stack_73;
#line 2420 "ssdb.m"
        MR_Word ssdb__V_25_25;
#line 995 "ssdb.m"
        MR_Box ssdb__conv0_StackFrame_35;
#line 2438 "ssdb.m"
        MR_Integer ssdb__V_53_53;
#line 2438 "ssdb.m"
        MR_Integer ssdb__V_54_54;
#line 2438 "ssdb.m"
        MR_Integer ssdb__V_55_55;
#line 2438 "ssdb.m"
        MR_Word ssdb__V_56_56;
#line 2438 "ssdb.m"
        MR_Word ssdb__V_58_58;
#line 2438 "ssdb.m"
        MR_Word ssdb__V_59_59;

#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_4_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 22288 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_4_p_0

	MR_Word X;

		{
#line 333 "ssdb.m"
X = ssdb__mutable_variable_list_params;

#line 22304 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Params_8  = X;
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_4_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 22323 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 2420 "ssdb.m"
        ssdb__V_25_25 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Params_8, (MR_Integer) 0)));
#line 2420 "ssdb.m"
        ssdb__ContextLines_9 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Params_8, (MR_Integer) 1)));
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_4_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 22345 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_4_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 22361 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_73  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_4_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 22380 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 995 "ssdb.m"
        {
#line 995 "ssdb.m"
          mercury__list__det_index0_3_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_stack_frame_0, ssdb__Stack_73, ssdb__Depth_6, &ssdb__conv0_StackFrame_35);
        }
#line 995 "ssdb.m"
        ssdb__StackFrame_35 = ((MR_Word) ssdb__conv0_StackFrame_35);
#line 2438 "ssdb.m"
        ssdb__V_53_53 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_35, (MR_Integer) 0)));
#line 2438 "ssdb.m"
        ssdb__V_54_54 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_35, (MR_Integer) 1)));
#line 2438 "ssdb.m"
        ssdb__V_55_55 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_35, (MR_Integer) 2)));
#line 2438 "ssdb.m"
        ssdb__V_56_56 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_35, (MR_Integer) 3)));
#line 2438 "ssdb.m"
        ssdb__FileName_36 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_35, (MR_Integer) 4)));
#line 2438 "ssdb.m"
        ssdb__MarkLine_37 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_35, (MR_Integer) 5)));
#line 2438 "ssdb.m"
        ssdb__V_58_58 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_35, (MR_Integer) 6)));
#line 2438 "ssdb.m"
        ssdb__V_59_59 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_35, (MR_Integer) 7)));
#line 2440 "ssdb.m"
        ssdb__succeeded = (strcmp(ssdb__FileName_36, (MR_String) "") == 0);
#line 2442 "ssdb.m"
        if (ssdb__succeeded)
#line 2441 "ssdb.m"
          {
#line 2441 "ssdb.m"
            {
#line 2441 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: sorry, call site is unknown.\n");
#line 2441 "ssdb.m"
              return;
            }
#line 2441 "ssdb.m"
          }
#line 2442 "ssdb.m"
        else
#line 2443 "ssdb.m"
          {
#line 2443 "ssdb.m"
            MR_Integer ssdb__FirstLine_38;
#line 2443 "ssdb.m"
            MR_Integer ssdb__LastLine_39;
#line 2443 "ssdb.m"
            MR_Word ssdb__StdOut_40;
#line 2443 "ssdb.m"
            MR_Word ssdb__StdErr_41;
#line 2443 "ssdb.m"
            MR_Word ssdb__Params_42;
#line 2443 "ssdb.m"
            MR_Word ssdb__ListPath_43;
#line 2443 "ssdb.m"
            MR_Integer ssdb__V_48_48 = (ssdb__MarkLine_37 - ssdb__ContextLines_9);
#line 2448 "ssdb.m"
            MR_Integer ssdb__V_67_67;

#line 2443 "ssdb.m"
            {
#line 2443 "ssdb.m"
              ssdb__FirstLine_38 = mercury__int__max_2_f_0((MR_Integer) 0, ssdb__V_48_48);
            }
#line 2444 "ssdb.m"
            ssdb__LastLine_39 = (ssdb__MarkLine_37 + ssdb__ContextLines_9);
#line 2445 "ssdb.m"
            {
#line 2445 "ssdb.m"
              mercury__io__output_stream_3_p_0(&ssdb__StdOut_40);
            }
#line 2446 "ssdb.m"
            {
#line 2446 "ssdb.m"
              mercury__io__stderr_stream_3_p_0(&ssdb__StdErr_41);
            }
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_4_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 22474 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_4_p_0

	MR_Word X;

		{
#line 333 "ssdb.m"
X = ssdb__mutable_variable_list_params;

#line 22490 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Params_42  = X;
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_list_4_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 22509 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 2448 "ssdb.m"
            ssdb__ListPath_43 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Params_42, (MR_Integer) 0)));
#line 2448 "ssdb.m"
            ssdb__V_67_67 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Params_42, (MR_Integer) 1)));
#line 2449 "ssdb.m"
            {
#line 2449 "ssdb.m"
              mdb__listing__list_file_portable_9_p_0(ssdb__StdOut_40, ssdb__StdErr_41, ssdb__FileName_36, ssdb__FirstLine_38, ssdb__LastLine_39, ssdb__MarkLine_37, ssdb__ListPath_43);
#line 2449 "ssdb.m"
              return;
            }
#line 2443 "ssdb.m"
          }
#line 2418 "ssdb.m"
      }
#line 2418 "ssdb.m"
    else
#line 2418 "ssdb.m"
      {
#line 2418 "ssdb.m"
        MR_Word ssdb__V_26_26 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args_5, (MR_Integer) 1)));
#line 2418 "ssdb.m"
        MR_String ssdb__V_27_27 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args_5, (MR_Integer) 0)));

#line 2418 "ssdb.m"
        if ((ssdb__V_26_26 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2426 "ssdb.m"
          {
#line 2426 "ssdb.m"
            MR_Integer ssdb__ContextLines_23;
#line 3513 "ssdb.m"
            MR_Integer ssdb__V_82_82;

#line 3514 "ssdb.m"
            {
#line 3514 "ssdb.m"
              ssdb__succeeded = mercury__string__to_int_2_p_0(ssdb__V_27_27, &ssdb__ContextLines_23);
            }
#line 3513 "ssdb.m"
            if (ssdb__succeeded)
#line 3513 "ssdb.m"
              {
#line 3515 "ssdb.m"
                ssdb__V_82_82 = (MR_Integer) 0;
#line 3515 "ssdb.m"
                ssdb__succeeded = (ssdb__ContextLines_23 >= ssdb__V_82_82);
#line 3513 "ssdb.m"
              }
#line 2426 "ssdb.m"
            if (ssdb__succeeded)
#line 2425 "ssdb.m"
              {
#line 2425 "ssdb.m"
                ssdb__execute_ssdb_list_2_4_p_0(ssdb__ContextLines_23, ssdb__Depth_6);
#line 2425 "ssdb.m"
                return;
              }
#line 2426 "ssdb.m"
            else
#line 3435 "ssdb.m"
              {
#line 3436 "ssdb.m"
                {
#line 3436 "ssdb.m"
                  mercury__io__write_string_3_p_0((MR_String) "ssdb: command requires integer argument.\n");
#line 3436 "ssdb.m"
                  return;
                }
#line 3435 "ssdb.m"
              }
#line 2426 "ssdb.m"
          }
#line 2418 "ssdb.m"
        else
#line 3440 "ssdb.m"
          {
#line 3441 "ssdb.m"
            {
#line 3441 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: too many arguments to command.\n");
#line 3441 "ssdb.m"
              return;
            }
#line 3440 "ssdb.m"
          }
#line 2418 "ssdb.m"
      }
#line 2418 "ssdb.m"
  }
#line 2414 "ssdb.m"
}

#line 2409 "ssdb.m"
static void MR_CALL 
ssdb__print_alias_4_p_0_1(
#line 2409 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2409 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 2409 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 2409 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3)
#line 2409 "ssdb.m"
{
#line 2409 "ssdb.m"
  {
#line 2409 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;

#line 2409 "ssdb.m"
    {
#line 2409 "ssdb.m"
      mercury__io__write_string_3_p_0(((MR_String) ssdb__wrapper_arg_1));
#line 2409 "ssdb.m"
      return;
    }
#line 2409 "ssdb.m"
  }
#line 2409 "ssdb.m"
}

#line 2404 "ssdb.m"
static void MR_CALL 
ssdb__print_alias_4_p_0(
#line 2404 "ssdb.m"
  MR_String ssdb__Name_5,
#line 2404 "ssdb.m"
  MR_Word ssdb__Command_6)
#line 2404 "ssdb.m"
{
#line 2406 "ssdb.m"
  {
#line 2406 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 2407 "ssdb.m"
    {
#line 2407 "ssdb.m"
      mercury__io__write_string_3_p_0(ssdb__Name_5);
    }
#line 2408 "ssdb.m"
    {
#line 2408 "ssdb.m"
      mercury__io__write_string_3_p_0((MR_String) "\t=>\t");
    }
#line 2409 "ssdb.m"
    {
#line 2409 "ssdb.m"
      mercury__io__write_list_5_p_0((MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0, ssdb__Command_6, (MR_String) " ", (MR_Word) &ssdb_scalar_common_2[3]);
    }
#line 2410 "ssdb.m"
    {
#line 2410 "ssdb.m"
      mercury__io__nl_2_p_0();
#line 2410 "ssdb.m"
      return;
    }
#line 2406 "ssdb.m"
  }
#line 2404 "ssdb.m"
}

#line 2382 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_unalias_4_p_0(
#line 2382 "ssdb.m"
  MR_Word ssdb__Args_5,
#line 2382 "ssdb.m"
  MR_Word ssdb__Interacting_6)
#line 2382 "ssdb.m"
{
#line 2400 "ssdb.m"
  {
#line 2400 "ssdb.m"
    MR_bool ssdb__succeeded = ((MR_tag((MR_Word) ssdb__Args_5)) == (MR_mktag((MR_Integer) 1)));
#line 2400 "ssdb.m"
    MR_String ssdb__Name_8;
#line 2386 "ssdb.m"
    MR_Word ssdb__V_14_14;

#line 2386 "ssdb.m"
    if (ssdb__succeeded)
#line 2386 "ssdb.m"
      {
#line 2386 "ssdb.m"
        ssdb__Name_8 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args_5, (MR_Integer) 0)));
#line 2386 "ssdb.m"
        ssdb__V_14_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args_5, (MR_Integer) 1)));
#line 2386 "ssdb.m"
        ssdb__succeeded = (ssdb__V_14_14 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2386 "ssdb.m"
      }
#line 2400 "ssdb.m"
    if (ssdb__succeeded)
#line 2387 "ssdb.m"
      {
#line 2387 "ssdb.m"
        MR_Word ssdb__Aliases0_9;
#line 2396 "ssdb.m"
        MR_Word ssdb__Aliases_11;
#line 2388 "ssdb.m"
        MR_Word ssdb__V_10_10;
#line 2388 "ssdb.m"
        MR_Box ssdb__conv0_V_10_10;

#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_unalias_4_p_0


		{
#line 314 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_aliases_lock,
                "ssdb__mutable_variable_aliases_lock");
#endif

#line 22733 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_unalias_4_p_0

	MR_Word X;

		{
#line 314 "ssdb.m"
X = ssdb__mutable_variable_aliases;

#line 22749 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Aliases0_9  = X;
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_unalias_4_p_0


		{
#line 314 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_aliases_lock,
                "ssdb__mutable_variable_aliases_lock");
#endif

#line 22768 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 2388 "ssdb.m"
        {
#line 2388 "ssdb.m"
          ssdb__succeeded = mercury__map__remove_4_p_0((MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0, (MR_Word) &ssdb_scalar_common_1[0], ((MR_Box) (ssdb__Name_8)), &ssdb__conv0_V_10_10, ssdb__Aliases0_9, &ssdb__Aliases_11);
        }
#line 2388 "ssdb.m"
        if (ssdb__succeeded)
#line 2388 "ssdb.m"
          {
#line 2388 "ssdb.m"
            ssdb__V_10_10 = ((MR_Word) ssdb__conv0_V_10_10);
#line 2388 "ssdb.m"
            ssdb__succeeded = MR_TRUE;
#line 2388 "ssdb.m"
          }
#line 2396 "ssdb.m"
        if (ssdb__succeeded)
#line 2389 "ssdb.m"
          {
#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_unalias_4_p_0


		{
#line 314 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_aliases_lock,
                "ssdb__mutable_variable_aliases_lock");
#endif

#line 22805 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_unalias_4_p_0

	MR_Word X;

	X =  ssdb__Aliases_11 ;
		{
#line 314 "ssdb.m"
ssdb__mutable_variable_aliases = X;

#line 22822 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_unalias_4_p_0


		{
#line 314 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_aliases_lock,
                "ssdb__mutable_variable_aliases_lock");
#endif

#line 22840 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 2393 "ssdb.m"
            if ((ssdb__Interacting_6 == (MR_Integer) 0))
#line 2394 "ssdb.m"
              {
#line 2394 "ssdb.m"
              }
#line 2393 "ssdb.m"
            else
#line 2391 "ssdb.m"
              {
#line 2391 "ssdb.m"
                MR_String ssdb__V_33_33;
#line 2391 "ssdb.m"
                MR_String ssdb__V_35_35;

#line 22861 "ssdb.c"
                {
#line 22863 "ssdb.c"
                  ssdb__V_33_33 = mercury__string__f_43_43_2_f_0(ssdb__Name_8, (MR_String) "\' removed.\n");
                }
#line 22866 "ssdb.c"
                {
#line 22868 "ssdb.c"
                  ssdb__V_35_35 = mercury__string__f_43_43_2_f_0((MR_String) "Alias \140", ssdb__V_33_33);
                }
#line 22871 "ssdb.c"
                {
#line 22873 "ssdb.c"
                  mercury__io__write_string_3_p_0(ssdb__V_35_35);
#line 22875 "ssdb.c"
                  return;
                }
#line 2391 "ssdb.m"
              }
#line 2389 "ssdb.m"
          }
#line 2396 "ssdb.m"
        else
#line 2397 "ssdb.m"
          {
#line 2397 "ssdb.m"
            MR_String ssdb__V_46_46;
#line 2397 "ssdb.m"
            MR_String ssdb__V_48_48;

#line 22891 "ssdb.c"
            {
#line 22893 "ssdb.c"
              ssdb__V_46_46 = mercury__string__f_43_43_2_f_0(ssdb__Name_8, (MR_String) "\' cannot be removed, since it does not exist.\n");
            }
#line 22896 "ssdb.c"
            {
#line 22898 "ssdb.c"
              ssdb__V_48_48 = mercury__string__f_43_43_2_f_0((MR_String) "Alias \140", ssdb__V_46_46);
            }
#line 22901 "ssdb.c"
            {
#line 22903 "ssdb.c"
              mercury__io__write_string_3_p_0(ssdb__V_48_48);
#line 22905 "ssdb.c"
              return;
            }
#line 2397 "ssdb.m"
          }
#line 2387 "ssdb.m"
      }
#line 2400 "ssdb.m"
    else
#line 3430 "ssdb.m"
      {
#line 3431 "ssdb.m"
        {
#line 3431 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: command requires argument.\n");
#line 3431 "ssdb.m"
          return;
        }
#line 3430 "ssdb.m"
      }
#line 2400 "ssdb.m"
  }
#line 2382 "ssdb.m"
}

#line 2357 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_alias_4_p_0_1(
#line 2357 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 2357 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 2357 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 2357 "ssdb.m"
  MR_Box ssdb__wrapper_arg_3,
#line 2357 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_4)
#line 2357 "ssdb.m"
{
#line 2357 "ssdb.m"
  {
#line 2357 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;

#line 2357 "ssdb.m"
    {
#line 2357 "ssdb.m"
      ssdb__print_alias_4_p_0(((MR_String) ssdb__wrapper_arg_1), ((MR_Word) ssdb__wrapper_arg_2));
#line 2357 "ssdb.m"
      return;
    }
#line 2357 "ssdb.m"
  }
#line 2357 "ssdb.m"
}

#line 2351 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_alias_4_p_0(
#line 2351 "ssdb.m"
  MR_Word ssdb__Args_5,
#line 2351 "ssdb.m"
  MR_Word ssdb__Interacting_6)
#line 2351 "ssdb.m"
{
#line 2353 "ssdb.m"
  {
#line 2353 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 2353 "ssdb.m"
    MR_Word ssdb__Aliases0_8;

#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_alias_4_p_0


		{
#line 314 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_aliases_lock,
                "ssdb__mutable_variable_aliases_lock");
#endif

#line 22990 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_alias_4_p_0

	MR_Word X;

		{
#line 314 "ssdb.m"
X = ssdb__mutable_variable_aliases;

#line 23006 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Aliases0_8  = X;
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_alias_4_p_0


		{
#line 314 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_aliases_lock,
                "ssdb__mutable_variable_aliases_lock");
#endif

#line 23025 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 2358 "ssdb.m"
    if ((ssdb__Args_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2356 "ssdb.m"
      {
#line 2357 "ssdb.m"
        MR_Box ssdb__conv0_STATE_VARIABLE_IO_16;

#line 2357 "ssdb.m"
        {
#line 2357 "ssdb.m"
          mercury__map__foldl_4_p_2((MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0, (MR_Word) &ssdb_scalar_common_1[0], (MR_Word) &mercury__io__io__type_ctor_info_state_0, (MR_Word) &ssdb_scalar_common_2[2], ssdb__Aliases0_8, ((MR_Box) ((MR_Integer) 0)), &ssdb__conv0_STATE_VARIABLE_IO_16);
        }
#line 2356 "ssdb.m"
      }
#line 2358 "ssdb.m"
    else
#line 2358 "ssdb.m"
      {
#line 2358 "ssdb.m"
        MR_Word ssdb__V_44_44 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args_5, (MR_Integer) 1)));
#line 2358 "ssdb.m"
        MR_String ssdb__V_45_45 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args_5, (MR_Integer) 0)));

#line 2358 "ssdb.m"
        if ((ssdb__V_44_44 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2362 "ssdb.m"
          {
#line 2362 "ssdb.m"
            MR_Word ssdb__Command_10;
#line 2360 "ssdb.m"
            MR_Box ssdb__conv1_Command_10;

#line 2360 "ssdb.m"
            {
#line 2360 "ssdb.m"
              ssdb__succeeded = mercury__map__search_3_p_0((MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0, (MR_Word) &ssdb_scalar_common_1[0], ssdb__Aliases0_8, ((MR_Box) (ssdb__V_45_45)), &ssdb__conv1_Command_10);
            }
#line 2360 "ssdb.m"
            if (ssdb__succeeded)
#line 2360 "ssdb.m"
              {
#line 2360 "ssdb.m"
                ssdb__Command_10 = ((MR_Word) ssdb__conv1_Command_10);
#line 2360 "ssdb.m"
                ssdb__succeeded = MR_TRUE;
#line 2360 "ssdb.m"
              }
#line 2362 "ssdb.m"
            if (ssdb__succeeded)
#line 2361 "ssdb.m"
              {
#line 2361 "ssdb.m"
                ssdb__print_alias_4_p_0(ssdb__V_45_45, ssdb__Command_10);
#line 2361 "ssdb.m"
                return;
              }
#line 2362 "ssdb.m"
            else
#line 2363 "ssdb.m"
              {
#line 2363 "ssdb.m"
                {
#line 2363 "ssdb.m"
                  mercury__io__write_string_3_p_0((MR_String) "There is no such alias.\n");
#line 2363 "ssdb.m"
                  return;
                }
#line 2363 "ssdb.m"
              }
#line 2362 "ssdb.m"
          }
#line 2358 "ssdb.m"
        else
#line 2366 "ssdb.m"
          {
#line 2366 "ssdb.m"
            MR_String ssdb__Command_32 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__V_44_44, (MR_Integer) 0)));
#line 2367 "ssdb.m"
            MR_Word ssdb__V_12_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__V_44_44, (MR_Integer) 1)));

#line 1448 "ssdb.m"
            if ((strcmp(ssdb__Command_32, (MR_String) "up") == 0))
#line 1463 "ssdb.m"
              ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
            else
#line 1448 "ssdb.m"
              if ((strcmp(ssdb__Command_32, (MR_String) "down") == 0))
#line 1462 "ssdb.m"
                ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
              else
#line 1448 "ssdb.m"
                if ((strcmp(ssdb__Command_32, (MR_String) "goto") == 0))
#line 1450 "ssdb.m"
                  ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                else
#line 1448 "ssdb.m"
                  if ((strcmp(ssdb__Command_32, (MR_String) "help") == 0))
#line 1483 "ssdb.m"
                    ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                  else
#line 1448 "ssdb.m"
                    if ((strcmp(ssdb__Command_32, (MR_String) "list") == 0))
#line 1472 "ssdb.m"
                      ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                    else
#line 1448 "ssdb.m"
                      if ((strcmp(ssdb__Command_32, (MR_String) "next") == 0))
#line 1449 "ssdb.m"
                        ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                      else
#line 1448 "ssdb.m"
                        if ((strcmp(ssdb__Command_32, (MR_String) "quit") == 0))
#line 1485 "ssdb.m"
                          ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                        else
#line 1448 "ssdb.m"
                          if ((strcmp(ssdb__Command_32, (MR_String) "step") == 0))
#line 1448 "ssdb.m"
                            ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                          else
#line 1448 "ssdb.m"
                            if ((strcmp(ssdb__Command_32, (MR_String) "vars") == 0))
#line 1461 "ssdb.m"
                              ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                            else
#line 1448 "ssdb.m"
                              if ((strcmp(ssdb__Command_32, (MR_String) "alias") == 0))
#line 1469 "ssdb.m"
                                ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                              else
#line 1448 "ssdb.m"
                                if ((strcmp(ssdb__Command_32, (MR_String) "break") == 0))
#line 1478 "ssdb.m"
                                  ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                else
#line 1448 "ssdb.m"
                                  if ((strcmp(ssdb__Command_32, (MR_String) "level") == 0))
#line 1464 "ssdb.m"
                                    ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                  else
#line 1448 "ssdb.m"
                                    if ((strcmp(ssdb__Command_32, (MR_String) "print") == 0))
#line 1459 "ssdb.m"
                                      ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                    else
#line 1448 "ssdb.m"
                                      if ((strcmp(ssdb__Command_32, (MR_String) "retry") == 0))
#line 1456 "ssdb.m"
                                        ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                      else
#line 1448 "ssdb.m"
                                        if ((strcmp(ssdb__Command_32, (MR_String) "stack") == 0))
#line 1458 "ssdb.m"
                                          ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                        else
#line 1448 "ssdb.m"
                                          if ((strcmp(ssdb__Command_32, (MR_String) "browse") == 0))
#line 1460 "ssdb.m"
                                            ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                          else
#line 1448 "ssdb.m"
                                            if ((strcmp(ssdb__Command_32, (MR_String) "delete") == 0))
#line 1481 "ssdb.m"
                                              ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                            else
#line 1448 "ssdb.m"
                                              if ((strcmp(ssdb__Command_32, (MR_String) "enable") == 0))
#line 1479 "ssdb.m"
                                                ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                              else
#line 1448 "ssdb.m"
                                                if ((strcmp(ssdb__Command_32, (MR_String) "finish") == 0))
#line 1452 "ssdb.m"
                                                  ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                                else
#line 1448 "ssdb.m"
                                                  if ((strcmp(ssdb__Command_32, (MR_String) "format") == 0))
#line 1467 "ssdb.m"
                                                    ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                                  else
#line 1448 "ssdb.m"
                                                    if ((strcmp(ssdb__Command_32, (MR_String) "return") == 0))
#line 1453 "ssdb.m"
                                                      ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                                    else
#line 1448 "ssdb.m"
                                                      if ((strcmp(ssdb__Command_32, (MR_String) "source") == 0))
#line 1484 "ssdb.m"
                                                        ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                                      else
#line 1448 "ssdb.m"
                                                        if ((strcmp(ssdb__Command_32, (MR_String) "current") == 0))
#line 1465 "ssdb.m"
                                                          ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                                        else
#line 1448 "ssdb.m"
                                                          if ((strcmp(ssdb__Command_32, (MR_String) "disable") == 0))
#line 1480 "ssdb.m"
                                                            ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                                          else
#line 1448 "ssdb.m"
                                                            if ((strcmp(ssdb__Command_32, (MR_String) "unalias") == 0))
#line 1470 "ssdb.m"
                                                              ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                                            else
#line 1448 "ssdb.m"
                                                              if ((strcmp(ssdb__Command_32, (MR_String) "continue") == 0))
#line 1451 "ssdb.m"
                                                                ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                                              else
#line 1448 "ssdb.m"
                                                                if ((strcmp(ssdb__Command_32, (MR_String) "exception") == 0))
#line 1454 "ssdb.m"
                                                                  ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                                                else
#line 1448 "ssdb.m"
                                                                  if ((strcmp(ssdb__Command_32, (MR_String) "list_path") == 0))
#line 1473 "ssdb.m"
                                                                    ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                                                  else
#line 1448 "ssdb.m"
                                                                    if ((strcmp(ssdb__Command_32, (MR_String) "format_param") == 0))
#line 1468 "ssdb.m"
                                                                      ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                                                    else
#line 1448 "ssdb.m"
                                                                      if ((strcmp(ssdb__Command_32, (MR_String) "pop_list_dir") == 0))
#line 1475 "ssdb.m"
                                                                        ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                                                      else
#line 1448 "ssdb.m"
                                                                        if ((strcmp(ssdb__Command_32, (MR_String) "push_list_dir") == 0))
#line 1474 "ssdb.m"
                                                                          ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                                                        else
#line 1448 "ssdb.m"
                                                                          if ((strcmp(ssdb__Command_32, (MR_String) "list_context_lines") == 0))
#line 1476 "ssdb.m"
                                                                            ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                                                                          else
#line 1448 "ssdb.m"
                                                                            ssdb__succeeded = MR_FALSE;
#line 2377 "ssdb.m"
            if (ssdb__succeeded)
#line 2369 "ssdb.m"
              {
#line 2369 "ssdb.m"
                MR_Word ssdb__Aliases_14;

#line 2369 "ssdb.m"
                {
#line 2369 "ssdb.m"
                  mercury__map__set_4_p_0((MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0, (MR_Word) &ssdb_scalar_common_1[0], ((MR_Box) (ssdb__V_45_45)), ((MR_Box) (ssdb__V_44_44)), ssdb__Aliases0_8, &ssdb__Aliases_14);
                }
#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_alias_4_p_0


		{
#line 314 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_aliases_lock,
                "ssdb__mutable_variable_aliases_lock");
#endif

#line 23329 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_alias_4_p_0

	MR_Word X;

	X =  ssdb__Aliases_14 ;
		{
#line 314 "ssdb.m"
ssdb__mutable_variable_aliases = X;

#line 23346 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_alias_4_p_0


		{
#line 314 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_aliases_lock,
                "ssdb__mutable_variable_aliases_lock");
#endif

#line 23364 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 2374 "ssdb.m"
                if ((ssdb__Interacting_6 == (MR_Integer) 0))
#line 2375 "ssdb.m"
                  {
#line 2375 "ssdb.m"
                  }
#line 2374 "ssdb.m"
                else
#line 2372 "ssdb.m"
                  {
#line 2372 "ssdb.m"
                    ssdb__print_alias_4_p_0(ssdb__V_45_45, ssdb__V_44_44);
#line 2372 "ssdb.m"
                    return;
                  }
#line 2369 "ssdb.m"
              }
#line 2377 "ssdb.m"
            else
#line 2378 "ssdb.m"
              {
#line 2378 "ssdb.m"
                MR_String ssdb__V_47_47;
#line 2378 "ssdb.m"
                MR_String ssdb__V_49_49;

#line 23396 "ssdb.c"
                {
#line 23398 "ssdb.c"
                  ssdb__V_47_47 = mercury__string__f_43_43_2_f_0(ssdb__Command_32, (MR_String) "\' is not a valid command.\n");
                }
#line 23401 "ssdb.c"
                {
#line 23403 "ssdb.c"
                  ssdb__V_49_49 = mercury__string__f_43_43_2_f_0((MR_String) "\140", ssdb__V_47_47);
                }
#line 23406 "ssdb.c"
                {
#line 23408 "ssdb.c"
                  mercury__io__write_string_3_p_0(ssdb__V_49_49);
#line 23410 "ssdb.c"
                  return;
                }
#line 2378 "ssdb.m"
              }
#line 2366 "ssdb.m"
          }
#line 2358 "ssdb.m"
      }
#line 2353 "ssdb.m"
  }
#line 2351 "ssdb.m"
}

#line 2280 "ssdb.m"
static MR_bool MR_CALL 
ssdb__format_param_options_3_p_0(
#line 2280 "ssdb.m"
  MR_String ssdb__Opt_4,
#line 2280 "ssdb.m"
  MR_Word ssdb__STATE_VARIABLE_Config_0_6,
#line 2280 "ssdb.m"
  MR_Word * ssdb__STATE_VARIABLE_Config_7)
#line 2280 "ssdb.m"
{
#line 2287 "ssdb.m"
  {
#line 2287 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 2287 "ssdb.m"
    MR_Word ssdb__V_71_71 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__STATE_VARIABLE_Config_0_6, (MR_Integer) 0)))) >> (MR_Integer) 6)) & (MR_Integer) 1);
#line 2287 "ssdb.m"
    MR_Word ssdb__V_72_72 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__STATE_VARIABLE_Config_0_6, (MR_Integer) 0)))) >> (MR_Integer) 5)) & (MR_Integer) 1);
#line 2287 "ssdb.m"
    MR_Word ssdb__V_73_73 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__STATE_VARIABLE_Config_0_6, (MR_Integer) 0)))) >> (MR_Integer) 4)) & (MR_Integer) 1);
#line 2287 "ssdb.m"
    MR_Word ssdb__V_74_74 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__STATE_VARIABLE_Config_0_6, (MR_Integer) 0)))) >> (MR_Integer) 3)) & (MR_Integer) 1);
#line 2287 "ssdb.m"
    MR_Word ssdb__V_75_75 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__STATE_VARIABLE_Config_0_6, (MR_Integer) 0)))) >> (MR_Integer) 2)) & (MR_Integer) 1);
#line 2287 "ssdb.m"
    MR_Word ssdb__V_76_76 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__STATE_VARIABLE_Config_0_6, (MR_Integer) 0)))) >> (MR_Integer) 1)) & (MR_Integer) 1);
#line 2287 "ssdb.m"
    MR_Word ssdb__V_77_77 = ((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__STATE_VARIABLE_Config_0_6, (MR_Integer) 0)))) & (MR_Integer) 1);

#line 2287 "ssdb.m"
    if ((((strcmp(ssdb__Opt_4, (MR_String) "--raw") == 0)) || ((strcmp(ssdb__Opt_4, (MR_String) "-r") == 0))))
#line 2307 "ssdb.m"
      {
#line 2308 "ssdb.m"
        {
#line 2308 "ssdb.m"
          MR_Word base;
#line 2308 "ssdb.m"
          base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 2308 "ssdb.m"
          *ssdb__STATE_VARIABLE_Config_7 = base;
#line 2308 "ssdb.m"
          MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) ((ssdb__V_77_77 | ((((ssdb__V_76_76 << (MR_Integer) 1)) | ((((ssdb__V_75_75 << (MR_Integer) 2)) | ((((ssdb__V_74_74 << (MR_Integer) 3)) | (((((MR_Integer) 1 << (MR_Integer) 4)) | ((((ssdb__V_72_72 << (MR_Integer) 5)) | ((ssdb__V_71_71 << (MR_Integer) 6)))))))))))))));
#line 2308 "ssdb.m"
        }
#line 2307 "ssdb.m"
        ssdb__succeeded = MR_TRUE;
#line 2307 "ssdb.m"
      }
#line 2287 "ssdb.m"
    else
#line 2287 "ssdb.m"
      if ((((strcmp(ssdb__Opt_4, (MR_String) "--flat") == 0)) || ((strcmp(ssdb__Opt_4, (MR_String) "-f") == 0))))
#line 2302 "ssdb.m"
        {
#line 2303 "ssdb.m"
          {
#line 2303 "ssdb.m"
            MR_Word base;
#line 2303 "ssdb.m"
            base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 2303 "ssdb.m"
            *ssdb__STATE_VARIABLE_Config_7 = base;
#line 2303 "ssdb.m"
            MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) ((ssdb__V_77_77 | ((((ssdb__V_76_76 << (MR_Integer) 1)) | ((((ssdb__V_75_75 << (MR_Integer) 2)) | (((((MR_Integer) 1 << (MR_Integer) 3)) | ((((ssdb__V_73_73 << (MR_Integer) 4)) | ((((ssdb__V_72_72 << (MR_Integer) 5)) | ((ssdb__V_71_71 << (MR_Integer) 6)))))))))))))));
#line 2303 "ssdb.m"
          }
#line 2302 "ssdb.m"
          ssdb__succeeded = MR_TRUE;
#line 2302 "ssdb.m"
        }
#line 2287 "ssdb.m"
      else
#line 2287 "ssdb.m"
        if ((((strcmp(ssdb__Opt_4, (MR_String) "--print") == 0)) || ((strcmp(ssdb__Opt_4, (MR_String) "-P") == 0))))
#line 2287 "ssdb.m"
          {
#line 2288 "ssdb.m"
            {
#line 2288 "ssdb.m"
              MR_Word base;
#line 2288 "ssdb.m"
              base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 2288 "ssdb.m"
              *ssdb__STATE_VARIABLE_Config_7 = base;
#line 2288 "ssdb.m"
              MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (((MR_Integer) 1 | ((((ssdb__V_76_76 << (MR_Integer) 1)) | ((((ssdb__V_75_75 << (MR_Integer) 2)) | ((((ssdb__V_74_74 << (MR_Integer) 3)) | ((((ssdb__V_73_73 << (MR_Integer) 4)) | ((((ssdb__V_72_72 << (MR_Integer) 5)) | ((ssdb__V_71_71 << (MR_Integer) 6)))))))))))))));
#line 2288 "ssdb.m"
            }
#line 2287 "ssdb.m"
            ssdb__succeeded = MR_TRUE;
#line 2287 "ssdb.m"
          }
#line 2287 "ssdb.m"
        else
#line 2287 "ssdb.m"
          if ((((strcmp(ssdb__Opt_4, (MR_String) "--browse") == 0)) || ((strcmp(ssdb__Opt_4, (MR_String) "-B") == 0))))
#line 2292 "ssdb.m"
            {
#line 2293 "ssdb.m"
              {
#line 2293 "ssdb.m"
                MR_Word base;
#line 2293 "ssdb.m"
                base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 2293 "ssdb.m"
                *ssdb__STATE_VARIABLE_Config_7 = base;
#line 2293 "ssdb.m"
                MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) ((ssdb__V_77_77 | (((((MR_Integer) 1 << (MR_Integer) 1)) | ((((ssdb__V_75_75 << (MR_Integer) 2)) | ((((ssdb__V_74_74 << (MR_Integer) 3)) | ((((ssdb__V_73_73 << (MR_Integer) 4)) | ((((ssdb__V_72_72 << (MR_Integer) 5)) | ((ssdb__V_71_71 << (MR_Integer) 6)))))))))))))));
#line 2293 "ssdb.m"
              }
#line 2292 "ssdb.m"
              ssdb__succeeded = MR_TRUE;
#line 2292 "ssdb.m"
            }
#line 2287 "ssdb.m"
          else
#line 2287 "ssdb.m"
            if ((((strcmp(ssdb__Opt_4, (MR_String) "--pretty") == 0)) || ((strcmp(ssdb__Opt_4, (MR_String) "-p") == 0))))
#line 2317 "ssdb.m"
              {
#line 2318 "ssdb.m"
                {
#line 2318 "ssdb.m"
                  MR_Word base;
#line 2318 "ssdb.m"
                  base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 2318 "ssdb.m"
                  *ssdb__STATE_VARIABLE_Config_7 = base;
#line 2318 "ssdb.m"
                  MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) ((ssdb__V_77_77 | ((((ssdb__V_76_76 << (MR_Integer) 1)) | ((((ssdb__V_75_75 << (MR_Integer) 2)) | ((((ssdb__V_74_74 << (MR_Integer) 3)) | ((((ssdb__V_73_73 << (MR_Integer) 4)) | ((((ssdb__V_72_72 << (MR_Integer) 5)) | (((MR_Integer) 1 << (MR_Integer) 6)))))))))))))));
#line 2318 "ssdb.m"
                }
#line 2317 "ssdb.m"
                ssdb__succeeded = MR_TRUE;
#line 2317 "ssdb.m"
              }
#line 2287 "ssdb.m"
            else
#line 2287 "ssdb.m"
              if ((((strcmp(ssdb__Opt_4, (MR_String) "--verbose") == 0)) || ((strcmp(ssdb__Opt_4, (MR_String) "-v") == 0))))
#line 2312 "ssdb.m"
                {
#line 2313 "ssdb.m"
                  {
#line 2313 "ssdb.m"
                    MR_Word base;
#line 2313 "ssdb.m"
                    base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 2313 "ssdb.m"
                    *ssdb__STATE_VARIABLE_Config_7 = base;
#line 2313 "ssdb.m"
                    MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) ((ssdb__V_77_77 | ((((ssdb__V_76_76 << (MR_Integer) 1)) | ((((ssdb__V_75_75 << (MR_Integer) 2)) | ((((ssdb__V_74_74 << (MR_Integer) 3)) | ((((ssdb__V_73_73 << (MR_Integer) 4)) | (((((MR_Integer) 1 << (MR_Integer) 5)) | ((ssdb__V_71_71 << (MR_Integer) 6)))))))))))))));
#line 2313 "ssdb.m"
                  }
#line 2312 "ssdb.m"
                  ssdb__succeeded = MR_TRUE;
#line 2312 "ssdb.m"
                }
#line 2287 "ssdb.m"
              else
#line 2287 "ssdb.m"
                if ((((strcmp(ssdb__Opt_4, (MR_String) "--print-all") == 0)) || ((strcmp(ssdb__Opt_4, (MR_String) "-A") == 0))))
#line 2297 "ssdb.m"
                  {
#line 2298 "ssdb.m"
                    {
#line 2298 "ssdb.m"
                      MR_Word base;
#line 2298 "ssdb.m"
                      base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 2298 "ssdb.m"
                      *ssdb__STATE_VARIABLE_Config_7 = base;
#line 2298 "ssdb.m"
                      MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) ((ssdb__V_77_77 | ((((ssdb__V_76_76 << (MR_Integer) 1)) | (((((MR_Integer) 1 << (MR_Integer) 2)) | ((((ssdb__V_74_74 << (MR_Integer) 3)) | ((((ssdb__V_73_73 << (MR_Integer) 4)) | ((((ssdb__V_72_72 << (MR_Integer) 5)) | ((ssdb__V_71_71 << (MR_Integer) 6)))))))))))))));
#line 2298 "ssdb.m"
                    }
#line 2297 "ssdb.m"
                    ssdb__succeeded = MR_TRUE;
#line 2297 "ssdb.m"
                  }
#line 2287 "ssdb.m"
                else
#line 2287 "ssdb.m"
                  ssdb__succeeded = MR_FALSE;
#line 2287 "ssdb.m"
    return ssdb__succeeded;
#line 2287 "ssdb.m"
  }
#line 2280 "ssdb.m"
}

#line 2259 "ssdb.m"
static MR_bool MR_CALL 
ssdb__format_options_3_p_0(
#line 2259 "ssdb.m"
  MR_String ssdb__Opt_4,
#line 2259 "ssdb.m"
  MR_Word ssdb__STATE_VARIABLE_Config_0_6,
#line 2259 "ssdb.m"
  MR_Word * ssdb__STATE_VARIABLE_Config_7)
#line 2259 "ssdb.m"
{
#line 2266 "ssdb.m"
  {
#line 2266 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 2266 "ssdb.m"
    MR_Word ssdb__V_35_35 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__STATE_VARIABLE_Config_0_6, (MR_Integer) 0)))) >> (MR_Integer) 6)) & (MR_Integer) 1);
#line 2266 "ssdb.m"
    MR_Word ssdb__V_36_36 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__STATE_VARIABLE_Config_0_6, (MR_Integer) 0)))) >> (MR_Integer) 5)) & (MR_Integer) 1);
#line 2266 "ssdb.m"
    MR_Word ssdb__V_37_37 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__STATE_VARIABLE_Config_0_6, (MR_Integer) 0)))) >> (MR_Integer) 4)) & (MR_Integer) 1);
#line 2266 "ssdb.m"
    MR_Word ssdb__V_38_38 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__STATE_VARIABLE_Config_0_6, (MR_Integer) 0)))) >> (MR_Integer) 3)) & (MR_Integer) 1);
#line 2266 "ssdb.m"
    MR_Word ssdb__V_39_39 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__STATE_VARIABLE_Config_0_6, (MR_Integer) 0)))) >> (MR_Integer) 2)) & (MR_Integer) 1);
#line 2266 "ssdb.m"
    MR_Word ssdb__V_40_40 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__STATE_VARIABLE_Config_0_6, (MR_Integer) 0)))) >> (MR_Integer) 1)) & (MR_Integer) 1);
#line 2266 "ssdb.m"
    MR_Word ssdb__V_41_41 = ((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__STATE_VARIABLE_Config_0_6, (MR_Integer) 0)))) & (MR_Integer) 1);

#line 2266 "ssdb.m"
    if ((((strcmp(ssdb__Opt_4, (MR_String) "--print") == 0)) || ((strcmp(ssdb__Opt_4, (MR_String) "-P") == 0))))
#line 2266 "ssdb.m"
      {
#line 2267 "ssdb.m"
        {
#line 2267 "ssdb.m"
          MR_Word base;
#line 2267 "ssdb.m"
          base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 2267 "ssdb.m"
          *ssdb__STATE_VARIABLE_Config_7 = base;
#line 2267 "ssdb.m"
          MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (((MR_Integer) 1 | ((((ssdb__V_40_40 << (MR_Integer) 1)) | ((((ssdb__V_39_39 << (MR_Integer) 2)) | ((((ssdb__V_38_38 << (MR_Integer) 3)) | ((((ssdb__V_37_37 << (MR_Integer) 4)) | ((((ssdb__V_36_36 << (MR_Integer) 5)) | ((ssdb__V_35_35 << (MR_Integer) 6)))))))))))))));
#line 2267 "ssdb.m"
        }
#line 2266 "ssdb.m"
        ssdb__succeeded = MR_TRUE;
#line 2266 "ssdb.m"
      }
#line 2266 "ssdb.m"
    else
#line 2266 "ssdb.m"
      if ((((strcmp(ssdb__Opt_4, (MR_String) "--browse") == 0)) || ((strcmp(ssdb__Opt_4, (MR_String) "-B") == 0))))
#line 2271 "ssdb.m"
        {
#line 2272 "ssdb.m"
          {
#line 2272 "ssdb.m"
            MR_Word base;
#line 2272 "ssdb.m"
            base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 2272 "ssdb.m"
            *ssdb__STATE_VARIABLE_Config_7 = base;
#line 2272 "ssdb.m"
            MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) ((ssdb__V_41_41 | (((((MR_Integer) 1 << (MR_Integer) 1)) | ((((ssdb__V_39_39 << (MR_Integer) 2)) | ((((ssdb__V_38_38 << (MR_Integer) 3)) | ((((ssdb__V_37_37 << (MR_Integer) 4)) | ((((ssdb__V_36_36 << (MR_Integer) 5)) | ((ssdb__V_35_35 << (MR_Integer) 6)))))))))))))));
#line 2272 "ssdb.m"
          }
#line 2271 "ssdb.m"
          ssdb__succeeded = MR_TRUE;
#line 2271 "ssdb.m"
        }
#line 2266 "ssdb.m"
      else
#line 2266 "ssdb.m"
        if ((((strcmp(ssdb__Opt_4, (MR_String) "--print-all") == 0)) || ((strcmp(ssdb__Opt_4, (MR_String) "-A") == 0))))
#line 2276 "ssdb.m"
          {
#line 2277 "ssdb.m"
            {
#line 2277 "ssdb.m"
              MR_Word base;
#line 2277 "ssdb.m"
              base = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 2277 "ssdb.m"
              *ssdb__STATE_VARIABLE_Config_7 = base;
#line 2277 "ssdb.m"
              MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) ((ssdb__V_41_41 | ((((ssdb__V_40_40 << (MR_Integer) 1)) | (((((MR_Integer) 1 << (MR_Integer) 2)) | ((((ssdb__V_38_38 << (MR_Integer) 3)) | ((((ssdb__V_37_37 << (MR_Integer) 4)) | ((((ssdb__V_36_36 << (MR_Integer) 5)) | ((ssdb__V_35_35 << (MR_Integer) 6)))))))))))))));
#line 2277 "ssdb.m"
            }
#line 2276 "ssdb.m"
            ssdb__succeeded = MR_TRUE;
#line 2276 "ssdb.m"
          }
#line 2266 "ssdb.m"
        else
#line 2266 "ssdb.m"
          ssdb__succeeded = MR_FALSE;
#line 2266 "ssdb.m"
    return ssdb__succeeded;
#line 2266 "ssdb.m"
  }
#line 2259 "ssdb.m"
}

#line 2225 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_format_param_3_p_0(
#line 2225 "ssdb.m"
  MR_Word ssdb__STATE_VARIABLE_Args_0_20)
#line 2225 "ssdb.m"
{
#line 2227 "ssdb.m"
  {
#line 2227 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 2227 "ssdb.m"
    MR_Word ssdb__Res_7;
#line 2227 "ssdb.m"
    MR_Word ssdb__STATE_VARIABLE_Args_31_31;

#line 2229 "ssdb.m"
    {
#line 2229 "ssdb.m"
      ssdb__process_options__ho1_5_p_0(ssdb__STATE_VARIABLE_Args_0_20, &ssdb__STATE_VARIABLE_Args_31_31, (MR_Word) &ssdb_scalar_common_3[0], &ssdb__Res_7);
    }
#line 2241 "ssdb.m"
    if (((MR_tag((MR_Word) ssdb__Res_7)) == (MR_mktag((MR_Integer) 1))))
#line 2242 "ssdb.m"
      {
#line 2242 "ssdb.m"
        MR_Word ssdb__Error_19 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Res_7, (MR_Integer) 0)));
#line 2242 "ssdb.m"
        MR_String ssdb__V_34_34;

#line 2243 "ssdb.m"
        {
#line 2243 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: ");
        }
#line 2244 "ssdb.m"
        {
#line 2244 "ssdb.m"
          ssdb__V_34_34 = mercury__io__error_message_1_f_0(ssdb__Error_19);
        }
#line 2244 "ssdb.m"
        {
#line 2244 "ssdb.m"
          mercury__io__write_string_3_p_0(ssdb__V_34_34);
        }
#line 2245 "ssdb.m"
        {
#line 2245 "ssdb.m"
          mercury__io__nl_2_p_0();
#line 2245 "ssdb.m"
          return;
        }
#line 2242 "ssdb.m"
      }
#line 2241 "ssdb.m"
    else
#line 2231 "ssdb.m"
      {
#line 2231 "ssdb.m"
        MR_Word ssdb__P_8;
#line 2231 "ssdb.m"
        MR_Word ssdb__B_9;
#line 2231 "ssdb.m"
        MR_Word ssdb__A_10;
#line 2231 "ssdb.m"
        MR_Word ssdb__F_11;
#line 2231 "ssdb.m"
        MR_Word ssdb__Pr_12;
#line 2231 "ssdb.m"
        MR_Word ssdb__V_13;
#line 2231 "ssdb.m"
        MR_Word ssdb__NPr_14;
#line 2231 "ssdb.m"
        MR_Word ssdb__V_37_37 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Res_7, (MR_Integer) 0)));
#line 2238 "ssdb.m"
        MR_Word ssdb__Setting_15;
#line 2333 "ssdb.m"
        MR_String ssdb__Word_47;
#line 2333 "ssdb.m"
        MR_String ssdb__ValueStr_48;
#line 2333 "ssdb.m"
        MR_Integer ssdb__Value_49;
#line 2333 "ssdb.m"
        MR_Word ssdb__V_50_50;
#line 2333 "ssdb.m"
        MR_Word ssdb__V_51_51;
#line 2333 "ssdb.m"
        MR_Integer ssdb__V_54_54;

#line 2231 "ssdb.m"
        ssdb__P_8 = ((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__V_37_37, (MR_Integer) 0)))) & (MR_Integer) 1);
#line 2231 "ssdb.m"
        ssdb__B_9 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__V_37_37, (MR_Integer) 0)))) >> (MR_Integer) 1)) & (MR_Integer) 1);
#line 2231 "ssdb.m"
        ssdb__A_10 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__V_37_37, (MR_Integer) 0)))) >> (MR_Integer) 2)) & (MR_Integer) 1);
#line 2231 "ssdb.m"
        ssdb__F_11 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__V_37_37, (MR_Integer) 0)))) >> (MR_Integer) 3)) & (MR_Integer) 1);
#line 2231 "ssdb.m"
        ssdb__Pr_12 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__V_37_37, (MR_Integer) 0)))) >> (MR_Integer) 4)) & (MR_Integer) 1);
#line 2231 "ssdb.m"
        ssdb__V_13 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__V_37_37, (MR_Integer) 0)))) >> (MR_Integer) 5)) & (MR_Integer) 1);
#line 2231 "ssdb.m"
        ssdb__NPr_14 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__V_37_37, (MR_Integer) 0)))) >> (MR_Integer) 6)) & (MR_Integer) 1);
#line 2333 "ssdb.m"
        ssdb__succeeded = ((MR_tag((MR_Word) ssdb__STATE_VARIABLE_Args_31_31)) == (MR_mktag((MR_Integer) 1)));
#line 2333 "ssdb.m"
        if (ssdb__succeeded)
#line 2333 "ssdb.m"
          {
#line 2333 "ssdb.m"
            ssdb__Word_47 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__STATE_VARIABLE_Args_31_31, (MR_Integer) 0)));
#line 2333 "ssdb.m"
            ssdb__V_50_50 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__STATE_VARIABLE_Args_31_31, (MR_Integer) 1)));
#line 2333 "ssdb.m"
            ssdb__succeeded = ((MR_tag((MR_Word) ssdb__V_50_50)) == (MR_mktag((MR_Integer) 1)));
#line 2333 "ssdb.m"
            if (ssdb__succeeded)
#line 2333 "ssdb.m"
              {
#line 2333 "ssdb.m"
                ssdb__ValueStr_48 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__V_50_50, (MR_Integer) 0)));
#line 2333 "ssdb.m"
                ssdb__V_51_51 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__V_50_50, (MR_Integer) 1)));
#line 2333 "ssdb.m"
                ssdb__succeeded = (ssdb__V_51_51 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2333 "ssdb.m"
                if (ssdb__succeeded)
#line 2333 "ssdb.m"
                  {
#line 3514 "ssdb.m"
                    {
#line 3514 "ssdb.m"
                      ssdb__succeeded = mercury__string__to_int_2_p_0(ssdb__ValueStr_48, &ssdb__Value_49);
                    }
#line 2333 "ssdb.m"
                    if (ssdb__succeeded)
#line 2333 "ssdb.m"
                      {
#line 3515 "ssdb.m"
                        ssdb__V_54_54 = (MR_Integer) 0;
#line 3515 "ssdb.m"
                        ssdb__succeeded = (ssdb__Value_49 >= ssdb__V_54_54);
#line 2333 "ssdb.m"
                        if (ssdb__succeeded)
#line 2338 "ssdb.m"
                          {
#line 2338 "ssdb.m"
                            if ((strcmp(ssdb__Word_47, (MR_String) "size") == 0))
#line 2340 "ssdb.m"
                              {
#line 2340 "ssdb.m"
                                {
#line 2340 "ssdb.m"
                                  ssdb__Setting_15 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 2340 "ssdb.m"
                                  MR_hl_field(MR_mktag(1), ssdb__Setting_15, 0) = ((MR_Box) (ssdb__Value_49));
#line 2340 "ssdb.m"
                                }
#line 2340 "ssdb.m"
                                ssdb__succeeded = MR_TRUE;
#line 2340 "ssdb.m"
                              }
#line 2338 "ssdb.m"
                            else
#line 2338 "ssdb.m"
                              if ((strcmp(ssdb__Word_47, (MR_String) "depth") == 0))
#line 2337 "ssdb.m"
                                {
#line 2337 "ssdb.m"
                                  {
#line 2337 "ssdb.m"
                                    ssdb__Setting_15 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL);
#line 2337 "ssdb.m"
                                    MR_hl_field(MR_mktag(0), ssdb__Setting_15, 0) = ((MR_Box) (ssdb__Value_49));
#line 2337 "ssdb.m"
                                  }
#line 2337 "ssdb.m"
                                  ssdb__succeeded = MR_TRUE;
#line 2337 "ssdb.m"
                                }
#line 2338 "ssdb.m"
                              else
#line 2338 "ssdb.m"
                                if ((strcmp(ssdb__Word_47, (MR_String) "lines") == 0))
#line 2346 "ssdb.m"
                                  {
#line 2346 "ssdb.m"
                                    {
#line 2346 "ssdb.m"
                                      ssdb__Setting_15 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2346 "ssdb.m"
                                      MR_hl_field(MR_mktag(3), ssdb__Setting_15, 0) = ((MR_Box) (MR_Word) ((MR_Integer) 0));
#line 2346 "ssdb.m"
                                      MR_hl_field(MR_mktag(3), ssdb__Setting_15, 1) = ((MR_Box) (ssdb__Value_49));
#line 2346 "ssdb.m"
                                    }
#line 2346 "ssdb.m"
                                    ssdb__succeeded = MR_TRUE;
#line 2346 "ssdb.m"
                                  }
#line 2338 "ssdb.m"
                                else
#line 2338 "ssdb.m"
                                  if ((strcmp(ssdb__Word_47, (MR_String) "width") == 0))
#line 2343 "ssdb.m"
                                    {
#line 2343 "ssdb.m"
                                      {
#line 2343 "ssdb.m"
                                        ssdb__Setting_15 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 2343 "ssdb.m"
                                        MR_hl_field(MR_mktag(2), ssdb__Setting_15, 0) = ((MR_Box) (ssdb__Value_49));
#line 2343 "ssdb.m"
                                      }
#line 2343 "ssdb.m"
                                      ssdb__succeeded = MR_TRUE;
#line 2343 "ssdb.m"
                                    }
#line 2338 "ssdb.m"
                                  else
#line 2338 "ssdb.m"
                                    ssdb__succeeded = MR_FALSE;
#line 2338 "ssdb.m"
                          }
#line 2333 "ssdb.m"
                      }
#line 2333 "ssdb.m"
                  }
#line 2333 "ssdb.m"
              }
#line 2333 "ssdb.m"
          }
#line 2238 "ssdb.m"
        if (ssdb__succeeded)
#line 2233 "ssdb.m"
          {
#line 2233 "ssdb.m"
            MR_Word ssdb__State0_16;
#line 2233 "ssdb.m"
            MR_Word ssdb__State_18;

#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_format_param_3_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 23975 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_format_param_3_p_0

	MR_Word X;

		{
#line 324 "ssdb.m"
X = ssdb__mutable_variable_browser_state;

#line 23991 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__State0_16  = X;
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_format_param_3_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 24010 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 2235 "ssdb.m"
            {
#line 2235 "ssdb.m"
              mdb__browser_info__set_browser_param_11_p_0((MR_Integer) 0, ssdb__P_8, ssdb__B_9, ssdb__A_10, ssdb__F_11, ssdb__Pr_12, ssdb__V_13, ssdb__NPr_14, ssdb__Setting_15, ssdb__State0_16, &ssdb__State_18);
            }
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_format_param_3_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 24033 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_format_param_3_p_0

	MR_Word X;

	X =  ssdb__State_18 ;
		{
#line 324 "ssdb.m"
ssdb__mutable_variable_browser_state = X;

#line 24050 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_format_param_3_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 24068 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 2233 "ssdb.m"
          }
#line 2238 "ssdb.m"
        else
#line 2239 "ssdb.m"
          {
#line 2239 "ssdb.m"
            {
#line 2239 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: invalid format parameter.\n");
#line 2239 "ssdb.m"
              return;
            }
#line 2239 "ssdb.m"
          }
#line 2231 "ssdb.m"
      }
#line 2227 "ssdb.m"
  }
#line 2225 "ssdb.m"
}

#line 2199 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_format_3_p_0(
#line 2199 "ssdb.m"
  MR_Word ssdb__STATE_VARIABLE_Args_0_21)
#line 2199 "ssdb.m"
{
#line 2201 "ssdb.m"
  {
#line 2201 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 2201 "ssdb.m"
    MR_Word ssdb__Res_7;
#line 2201 "ssdb.m"
    MR_Word ssdb__STATE_VARIABLE_Args_32_32;

#line 2203 "ssdb.m"
    {
#line 2203 "ssdb.m"
      ssdb__process_options__ho2_5_p_0(ssdb__STATE_VARIABLE_Args_0_21, &ssdb__STATE_VARIABLE_Args_32_32, (MR_Word) &ssdb_scalar_common_3[0], &ssdb__Res_7);
    }
#line 2218 "ssdb.m"
    if (((MR_tag((MR_Word) ssdb__Res_7)) == (MR_mktag((MR_Integer) 1))))
#line 2219 "ssdb.m"
      {
#line 2219 "ssdb.m"
        MR_Word ssdb__Error_20 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Res_7, (MR_Integer) 0)));
#line 2219 "ssdb.m"
        MR_String ssdb__V_35_35;

#line 2220 "ssdb.m"
        {
#line 2220 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: ");
        }
#line 2221 "ssdb.m"
        {
#line 2221 "ssdb.m"
          ssdb__V_35_35 = mercury__io__error_message_1_f_0(ssdb__Error_20);
        }
#line 2221 "ssdb.m"
        {
#line 2221 "ssdb.m"
          mercury__io__write_string_3_p_0(ssdb__V_35_35);
        }
#line 2222 "ssdb.m"
        {
#line 2222 "ssdb.m"
          mercury__io__nl_2_p_0();
#line 2222 "ssdb.m"
          return;
        }
#line 2219 "ssdb.m"
      }
#line 2218 "ssdb.m"
    else
#line 2205 "ssdb.m"
      {
#line 2205 "ssdb.m"
        MR_Word ssdb__P_8;
#line 2205 "ssdb.m"
        MR_Word ssdb__B_9;
#line 2205 "ssdb.m"
        MR_Word ssdb__A_10;
#line 2205 "ssdb.m"
        MR_Word ssdb__F_11;
#line 2205 "ssdb.m"
        MR_Word ssdb__Pr_12;
#line 2205 "ssdb.m"
        MR_Word ssdb__V_13;
#line 2205 "ssdb.m"
        MR_Word ssdb__NPr_14;
#line 2205 "ssdb.m"
        MR_Word ssdb__V_38_38 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Res_7, (MR_Integer) 0)));
#line 2215 "ssdb.m"
        MR_Word ssdb__Format_16;
#line 2207 "ssdb.m"
        MR_String ssdb__Word_15;
#line 2207 "ssdb.m"
        MR_Word ssdb__V_39_39;

#line 2205 "ssdb.m"
        ssdb__P_8 = ((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__V_38_38, (MR_Integer) 0)))) & (MR_Integer) 1);
#line 2205 "ssdb.m"
        ssdb__B_9 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__V_38_38, (MR_Integer) 0)))) >> (MR_Integer) 1)) & (MR_Integer) 1);
#line 2205 "ssdb.m"
        ssdb__A_10 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__V_38_38, (MR_Integer) 0)))) >> (MR_Integer) 2)) & (MR_Integer) 1);
#line 2205 "ssdb.m"
        ssdb__F_11 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__V_38_38, (MR_Integer) 0)))) >> (MR_Integer) 3)) & (MR_Integer) 1);
#line 2205 "ssdb.m"
        ssdb__Pr_12 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__V_38_38, (MR_Integer) 0)))) >> (MR_Integer) 4)) & (MR_Integer) 1);
#line 2205 "ssdb.m"
        ssdb__V_13 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__V_38_38, (MR_Integer) 0)))) >> (MR_Integer) 5)) & (MR_Integer) 1);
#line 2205 "ssdb.m"
        ssdb__NPr_14 = ((((((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__V_38_38, (MR_Integer) 0)))) >> (MR_Integer) 6)) & (MR_Integer) 1);
#line 2207 "ssdb.m"
        ssdb__succeeded = ((MR_tag((MR_Word) ssdb__STATE_VARIABLE_Args_32_32)) == (MR_mktag((MR_Integer) 1)));
#line 2207 "ssdb.m"
        if (ssdb__succeeded)
#line 2207 "ssdb.m"
          {
#line 2207 "ssdb.m"
            ssdb__Word_15 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__STATE_VARIABLE_Args_32_32, (MR_Integer) 0)));
#line 2207 "ssdb.m"
            ssdb__V_39_39 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__STATE_VARIABLE_Args_32_32, (MR_Integer) 1)));
#line 2207 "ssdb.m"
            ssdb__succeeded = (ssdb__V_39_39 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2207 "ssdb.m"
            if (ssdb__succeeded)
#line 2325 "ssdb.m"
              {
#line 2325 "ssdb.m"
                if ((strcmp(ssdb__Word_15, (MR_String) "flat") == 0))
#line 2325 "ssdb.m"
                  {
#line 2325 "ssdb.m"
                    ssdb__Format_16 = (MR_Integer) 0;
#line 2325 "ssdb.m"
                    ssdb__succeeded = MR_TRUE;
#line 2325 "ssdb.m"
                  }
#line 2325 "ssdb.m"
                else
#line 2325 "ssdb.m"
                  if ((strcmp(ssdb__Word_15, (MR_String) "pretty") == 0))
#line 2328 "ssdb.m"
                    {
#line 2328 "ssdb.m"
                      ssdb__Format_16 = (MR_Integer) 3;
#line 2328 "ssdb.m"
                      ssdb__succeeded = MR_TRUE;
#line 2328 "ssdb.m"
                    }
#line 2325 "ssdb.m"
                  else
#line 2325 "ssdb.m"
                    if ((strcmp(ssdb__Word_15, (MR_String) "verbose") == 0))
#line 2327 "ssdb.m"
                      {
#line 2327 "ssdb.m"
                        ssdb__Format_16 = (MR_Integer) 2;
#line 2327 "ssdb.m"
                        ssdb__succeeded = MR_TRUE;
#line 2327 "ssdb.m"
                      }
#line 2325 "ssdb.m"
                    else
#line 2325 "ssdb.m"
                      if ((strcmp(ssdb__Word_15, (MR_String) "raw_pretty") == 0))
#line 2326 "ssdb.m"
                        {
#line 2326 "ssdb.m"
                          ssdb__Format_16 = (MR_Integer) 1;
#line 2326 "ssdb.m"
                          ssdb__succeeded = MR_TRUE;
#line 2326 "ssdb.m"
                        }
#line 2325 "ssdb.m"
                      else
#line 2325 "ssdb.m"
                        ssdb__succeeded = MR_FALSE;
#line 2325 "ssdb.m"
              }
#line 2207 "ssdb.m"
          }
#line 2215 "ssdb.m"
        if (ssdb__succeeded)
#line 2210 "ssdb.m"
          {
#line 2210 "ssdb.m"
            MR_Word ssdb__State0_17;
#line 2210 "ssdb.m"
            MR_Word ssdb__State_19;
#line 2210 "ssdb.m"
            MR_Word ssdb__V_41_41;

#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_format_3_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 24284 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_format_3_p_0

	MR_Word X;

		{
#line 324 "ssdb.m"
X = ssdb__mutable_variable_browser_state;

#line 24300 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__State0_17  = X;
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_format_3_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 24319 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 2212 "ssdb.m"
            {
#line 2212 "ssdb.m"
              ssdb__V_41_41 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2212 "ssdb.m"
              MR_hl_field(MR_mktag(3), ssdb__V_41_41, 0) = ((MR_Box) (MR_Word) ((MR_Integer) 1));
#line 2212 "ssdb.m"
              MR_hl_field(MR_mktag(3), ssdb__V_41_41, 1) = ((MR_Box) (ssdb__Format_16));
#line 2212 "ssdb.m"
            }
#line 2212 "ssdb.m"
            {
#line 2212 "ssdb.m"
              mdb__browser_info__set_browser_param_11_p_0((MR_Integer) 0, ssdb__P_8, ssdb__B_9, ssdb__A_10, ssdb__F_11, ssdb__Pr_12, ssdb__V_13, ssdb__NPr_14, ssdb__V_41_41, ssdb__State0_17, &ssdb__State_19);
            }
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_format_3_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 24352 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_format_3_p_0

	MR_Word X;

	X =  ssdb__State_19 ;
		{
#line 324 "ssdb.m"
ssdb__mutable_variable_browser_state = X;

#line 24369 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_format_3_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 24387 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 2210 "ssdb.m"
          }
#line 2215 "ssdb.m"
        else
#line 2216 "ssdb.m"
          {
#line 2216 "ssdb.m"
            {
#line 2216 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: cannot set to unknown format.\n");
#line 2216 "ssdb.m"
              return;
            }
#line 2216 "ssdb.m"
          }
#line 2205 "ssdb.m"
      }
#line 2201 "ssdb.m"
  }
#line 2199 "ssdb.m"
}

#line 2184 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_current_4_p_0(
#line 2184 "ssdb.m"
  MR_Word ssdb__Args_5,
#line 2184 "ssdb.m"
  MR_Word ssdb__Event_6)
#line 2184 "ssdb.m"
{
#line 2189 "ssdb.m"
  {
#line 2189 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 2189 "ssdb.m"
    if ((ssdb__Args_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2189 "ssdb.m"
      {
#line 2189 "ssdb.m"
        MR_Integer ssdb__EventNum_8;

#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_current_4_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 24448 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_current_4_p_0

	MR_Integer X;

		{
#line 292 "ssdb.m"
X = ssdb__mutable_variable_cur_ssdb_event_number;

#line 24464 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__EventNum_8  = X;
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_current_4_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 24483 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 2191 "ssdb.m"
        {
#line 2191 "ssdb.m"
          ssdb__print_event_info_4_p_0(ssdb__Event_6, ssdb__EventNum_8);
#line 2191 "ssdb.m"
          return;
        }
#line 2189 "ssdb.m"
      }
#line 2189 "ssdb.m"
    else
#line 3440 "ssdb.m"
      {
#line 3441 "ssdb.m"
        {
#line 3441 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: too many arguments to command.\n");
#line 3441 "ssdb.m"
          return;
        }
#line 3440 "ssdb.m"
      }
#line 2189 "ssdb.m"
  }
#line 2184 "ssdb.m"
}

#line 2152 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_level_5_p_0(
#line 2152 "ssdb.m"
  MR_Word ssdb__Args_6,
#line 2152 "ssdb.m"
  MR_Integer ssdb__STATE_VARIABLE_Depth_0_14,
#line 2152 "ssdb.m"
  MR_Integer * ssdb__STATE_VARIABLE_Depth_15)
#line 2152 "ssdb.m"
{
#line 2157 "ssdb.m"
  {
#line 2157 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 2157 "ssdb.m"
    if ((ssdb__Args_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2157 "ssdb.m"
      {
#line 3431 "ssdb.m"
        {
#line 3431 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: command requires argument.\n");
        }
#line 2158 "ssdb.m"
        *ssdb__STATE_VARIABLE_Depth_15 = ssdb__STATE_VARIABLE_Depth_0_14;
#line 2157 "ssdb.m"
      }
#line 2157 "ssdb.m"
    else
#line 2157 "ssdb.m"
      {
#line 2157 "ssdb.m"
        MR_Word ssdb__V_25_25 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args_6, (MR_Integer) 1)));
#line 2157 "ssdb.m"
        MR_String ssdb__V_26_26 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args_6, (MR_Integer) 0)));

#line 2157 "ssdb.m"
        if ((ssdb__V_25_25 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2163 "ssdb.m"
          {
#line 2163 "ssdb.m"
            MR_Integer ssdb__N_10;
#line 3513 "ssdb.m"
            MR_Integer ssdb__V_34_34;

#line 3514 "ssdb.m"
            {
#line 3514 "ssdb.m"
              ssdb__succeeded = mercury__string__to_int_2_p_0(ssdb__V_26_26, &ssdb__N_10);
            }
#line 3513 "ssdb.m"
            if (ssdb__succeeded)
#line 3513 "ssdb.m"
              {
#line 3515 "ssdb.m"
                ssdb__V_34_34 = (MR_Integer) 0;
#line 3515 "ssdb.m"
                ssdb__succeeded = (ssdb__N_10 >= ssdb__V_34_34);
#line 3513 "ssdb.m"
              }
#line 2163 "ssdb.m"
            if (ssdb__succeeded)
#line 2173 "ssdb.m"
              {
#line 2173 "ssdb.m"
                MR_Integer ssdb__StackDepth_42;

#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_level_5_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 24597 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_level_5_p_0

	MR_Integer X;

		{
#line 303 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack_depth;

#line 24613 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__StackDepth_42  = X;
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_level_5_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 24632 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 2175 "ssdb.m"
                ssdb__succeeded = (ssdb__N_10 < (MR_Integer) 0);
#line 2177 "ssdb.m"
                if (ssdb__succeeded)
#line 2176 "ssdb.m"
                  {
#line 2176 "ssdb.m"
                    {
#line 2176 "ssdb.m"
                      mercury__io__write_string_3_p_0((MR_String) "ssdb: that stack frame does not exist.\n");
                    }
#line 2176 "ssdb.m"
                    *ssdb__STATE_VARIABLE_Depth_15 = ssdb__STATE_VARIABLE_Depth_0_14;
#line 2176 "ssdb.m"
                  }
#line 2177 "ssdb.m"
                else
#line 2179 "ssdb.m"
                  {
#line 2177 "ssdb.m"
                    ssdb__succeeded = (ssdb__N_10 >= ssdb__StackDepth_42);
#line 2179 "ssdb.m"
                    if (ssdb__succeeded)
#line 2178 "ssdb.m"
                      {
#line 2178 "ssdb.m"
                        {
#line 2178 "ssdb.m"
                          mercury__io__write_string_3_p_0((MR_String) "ssdb: not that many ancestors.\n");
                        }
#line 2178 "ssdb.m"
                        *ssdb__STATE_VARIABLE_Depth_15 = ssdb__STATE_VARIABLE_Depth_0_14;
#line 2178 "ssdb.m"
                      }
#line 2179 "ssdb.m"
                    else
#line 2180 "ssdb.m"
                      {
#line 2180 "ssdb.m"
                        {
#line 2180 "ssdb.m"
                          ssdb__print_depth_change_3_p_0(ssdb__N_10);
                        }
#line 2181 "ssdb.m"
                        *ssdb__STATE_VARIABLE_Depth_15 = ssdb__N_10;
#line 2180 "ssdb.m"
                      }
#line 2179 "ssdb.m"
                  }
#line 2173 "ssdb.m"
              }
#line 2163 "ssdb.m"
            else
#line 2164 "ssdb.m"
              {
#line 3436 "ssdb.m"
                {
#line 3436 "ssdb.m"
                  mercury__io__write_string_3_p_0((MR_String) "ssdb: command requires integer argument.\n");
                }
#line 2164 "ssdb.m"
                *ssdb__STATE_VARIABLE_Depth_15 = ssdb__STATE_VARIABLE_Depth_0_14;
#line 2164 "ssdb.m"
              }
#line 2163 "ssdb.m"
          }
#line 2157 "ssdb.m"
        else
#line 2167 "ssdb.m"
          {
#line 3441 "ssdb.m"
            {
#line 3441 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: too many arguments to command.\n");
            }
#line 2168 "ssdb.m"
            *ssdb__STATE_VARIABLE_Depth_15 = ssdb__STATE_VARIABLE_Depth_0_14;
#line 2167 "ssdb.m"
          }
#line 2157 "ssdb.m"
      }
#line 2157 "ssdb.m"
  }
#line 2152 "ssdb.m"
}

#line 2133 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_up_down_6_p_0(
#line 2133 "ssdb.m"
  MR_Word ssdb__Args_7,
#line 2133 "ssdb.m"
  MR_Integer ssdb__Direction_8,
#line 2133 "ssdb.m"
  MR_Integer ssdb__STATE_VARIABLE_Depth_0_16,
#line 2133 "ssdb.m"
  MR_Integer * ssdb__STATE_VARIABLE_Depth_17)
#line 2133 "ssdb.m"
{
#line 2138 "ssdb.m"
  {
#line 2138 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 2138 "ssdb.m"
    if ((ssdb__Args_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2138 "ssdb.m"
      {
#line 2138 "ssdb.m"
        MR_Integer ssdb__V_28_28 = (ssdb__STATE_VARIABLE_Depth_0_16 + ssdb__Direction_8);
#line 2138 "ssdb.m"
        MR_Integer ssdb__StackDepth_40;

#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_up_down_6_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 24763 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_up_down_6_p_0

	MR_Integer X;

		{
#line 303 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack_depth;

#line 24779 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__StackDepth_40  = X;
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_up_down_6_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 24798 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 2175 "ssdb.m"
        ssdb__succeeded = (ssdb__V_28_28 < (MR_Integer) 0);
#line 2177 "ssdb.m"
        if (ssdb__succeeded)
#line 2176 "ssdb.m"
          {
#line 2176 "ssdb.m"
            {
#line 2176 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: that stack frame does not exist.\n");
            }
#line 2176 "ssdb.m"
            *ssdb__STATE_VARIABLE_Depth_17 = ssdb__STATE_VARIABLE_Depth_0_16;
#line 2176 "ssdb.m"
          }
#line 2177 "ssdb.m"
        else
#line 2179 "ssdb.m"
          {
#line 2177 "ssdb.m"
            ssdb__succeeded = (ssdb__V_28_28 >= ssdb__StackDepth_40);
#line 2179 "ssdb.m"
            if (ssdb__succeeded)
#line 2178 "ssdb.m"
              {
#line 2178 "ssdb.m"
                {
#line 2178 "ssdb.m"
                  mercury__io__write_string_3_p_0((MR_String) "ssdb: not that many ancestors.\n");
                }
#line 2178 "ssdb.m"
                *ssdb__STATE_VARIABLE_Depth_17 = ssdb__STATE_VARIABLE_Depth_0_16;
#line 2178 "ssdb.m"
              }
#line 2179 "ssdb.m"
            else
#line 2180 "ssdb.m"
              {
#line 2180 "ssdb.m"
                {
#line 2180 "ssdb.m"
                  ssdb__print_depth_change_3_p_0(ssdb__V_28_28);
                }
#line 2181 "ssdb.m"
                *ssdb__STATE_VARIABLE_Depth_17 = ssdb__V_28_28;
#line 2180 "ssdb.m"
              }
#line 2179 "ssdb.m"
          }
#line 2138 "ssdb.m"
      }
#line 2138 "ssdb.m"
    else
#line 2138 "ssdb.m"
      {
#line 2138 "ssdb.m"
        MR_Word ssdb__V_31_31 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args_7, (MR_Integer) 1)));
#line 2138 "ssdb.m"
        MR_String ssdb__V_32_32 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args_7, (MR_Integer) 0)));

#line 2138 "ssdb.m"
        if ((ssdb__V_31_31 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2144 "ssdb.m"
          {
#line 2144 "ssdb.m"
            MR_Integer ssdb__N_12;
#line 3513 "ssdb.m"
            MR_Integer ssdb__V_58_58;

#line 3514 "ssdb.m"
            {
#line 3514 "ssdb.m"
              ssdb__succeeded = mercury__string__to_int_2_p_0(ssdb__V_32_32, &ssdb__N_12);
            }
#line 3513 "ssdb.m"
            if (ssdb__succeeded)
#line 3513 "ssdb.m"
              {
#line 3515 "ssdb.m"
                ssdb__V_58_58 = (MR_Integer) 0;
#line 3515 "ssdb.m"
                ssdb__succeeded = (ssdb__N_12 >= ssdb__V_58_58);
#line 3513 "ssdb.m"
              }
#line 2144 "ssdb.m"
            if (ssdb__succeeded)
#line 2143 "ssdb.m"
              {
#line 2143 "ssdb.m"
                MR_Integer ssdb__V_23_23;
#line 2143 "ssdb.m"
                MR_Integer ssdb__V_26_26 = (ssdb__N_12 * ssdb__Direction_8);
#line 2143 "ssdb.m"
                MR_Integer ssdb__StackDepth_66;

#line 2143 "ssdb.m"
                ssdb__V_23_23 = (ssdb__STATE_VARIABLE_Depth_0_16 + ssdb__V_26_26);
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_up_down_6_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 24913 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_up_down_6_p_0

	MR_Integer X;

		{
#line 303 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack_depth;

#line 24929 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__StackDepth_66  = X;
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_up_down_6_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 24948 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 2175 "ssdb.m"
                ssdb__succeeded = (ssdb__V_23_23 < (MR_Integer) 0);
#line 2177 "ssdb.m"
                if (ssdb__succeeded)
#line 2176 "ssdb.m"
                  {
#line 2176 "ssdb.m"
                    {
#line 2176 "ssdb.m"
                      mercury__io__write_string_3_p_0((MR_String) "ssdb: that stack frame does not exist.\n");
                    }
#line 2176 "ssdb.m"
                    *ssdb__STATE_VARIABLE_Depth_17 = ssdb__STATE_VARIABLE_Depth_0_16;
#line 2176 "ssdb.m"
                  }
#line 2177 "ssdb.m"
                else
#line 2179 "ssdb.m"
                  {
#line 2177 "ssdb.m"
                    ssdb__succeeded = (ssdb__V_23_23 >= ssdb__StackDepth_66);
#line 2179 "ssdb.m"
                    if (ssdb__succeeded)
#line 2178 "ssdb.m"
                      {
#line 2178 "ssdb.m"
                        {
#line 2178 "ssdb.m"
                          mercury__io__write_string_3_p_0((MR_String) "ssdb: not that many ancestors.\n");
                        }
#line 2178 "ssdb.m"
                        *ssdb__STATE_VARIABLE_Depth_17 = ssdb__STATE_VARIABLE_Depth_0_16;
#line 2178 "ssdb.m"
                      }
#line 2179 "ssdb.m"
                    else
#line 2180 "ssdb.m"
                      {
#line 2180 "ssdb.m"
                        {
#line 2180 "ssdb.m"
                          ssdb__print_depth_change_3_p_0(ssdb__V_23_23);
                        }
#line 2181 "ssdb.m"
                        *ssdb__STATE_VARIABLE_Depth_17 = ssdb__V_23_23;
#line 2180 "ssdb.m"
                      }
#line 2179 "ssdb.m"
                  }
#line 2143 "ssdb.m"
              }
#line 2144 "ssdb.m"
            else
#line 2145 "ssdb.m"
              {
#line 3436 "ssdb.m"
                {
#line 3436 "ssdb.m"
                  mercury__io__write_string_3_p_0((MR_String) "ssdb: command requires integer argument.\n");
                }
#line 2145 "ssdb.m"
                *ssdb__STATE_VARIABLE_Depth_17 = ssdb__STATE_VARIABLE_Depth_0_16;
#line 2145 "ssdb.m"
              }
#line 2144 "ssdb.m"
          }
#line 2138 "ssdb.m"
        else
#line 2148 "ssdb.m"
          {
#line 3441 "ssdb.m"
            {
#line 3441 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: too many arguments to command.\n");
            }
#line 2149 "ssdb.m"
            *ssdb__STATE_VARIABLE_Depth_17 = ssdb__STATE_VARIABLE_Depth_0_16;
#line 2148 "ssdb.m"
          }
#line 2138 "ssdb.m"
      }
#line 2138 "ssdb.m"
  }
#line 2133 "ssdb.m"
}

#line 2127 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_up_5_p_0(
#line 2127 "ssdb.m"
  MR_Word ssdb__Args_6,
#line 2127 "ssdb.m"
  MR_Integer ssdb__STATE_VARIABLE_Depth_0_9,
#line 2127 "ssdb.m"
  MR_Integer * ssdb__STATE_VARIABLE_Depth_10)
#line 2127 "ssdb.m"
{
#line 2130 "ssdb.m"
  {
#line 2130 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 2131 "ssdb.m"
    {
#line 2131 "ssdb.m"
      ssdb__execute_ssdb_up_down_6_p_0(ssdb__Args_6, (MR_Integer) 1, ssdb__STATE_VARIABLE_Depth_0_9, ssdb__STATE_VARIABLE_Depth_10);
#line 2131 "ssdb.m"
      return;
    }
#line 2130 "ssdb.m"
  }
#line 2127 "ssdb.m"
}

#line 2121 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_down_5_p_0(
#line 2121 "ssdb.m"
  MR_Word ssdb__Args_6,
#line 2121 "ssdb.m"
  MR_Integer ssdb__STATE_VARIABLE_Depth_0_9,
#line 2121 "ssdb.m"
  MR_Integer * ssdb__STATE_VARIABLE_Depth_10)
#line 2121 "ssdb.m"
{
#line 2124 "ssdb.m"
  {
#line 2124 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 2125 "ssdb.m"
    {
#line 2125 "ssdb.m"
      ssdb__execute_ssdb_up_down_6_p_0(ssdb__Args_6, (MR_Integer) -1, ssdb__STATE_VARIABLE_Depth_0_9, ssdb__STATE_VARIABLE_Depth_10);
#line 2125 "ssdb.m"
      return;
    }
#line 2124 "ssdb.m"
  }
#line 2121 "ssdb.m"
}

#line 2108 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_vars_4_p_0(
#line 2108 "ssdb.m"
  MR_Word ssdb__Args_5,
#line 2108 "ssdb.m"
  MR_Integer ssdb__Depth_6)
#line 2108 "ssdb.m"
{
#line 2112 "ssdb.m"
  {
#line 2112 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 2112 "ssdb.m"
    if ((ssdb__Args_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2112 "ssdb.m"
      {
#line 2112 "ssdb.m"
        MR_Word ssdb__StackFrame_8;
#line 2112 "ssdb.m"
        MR_Word ssdb__ListVarValue_9;
#line 2112 "ssdb.m"
        MR_Word ssdb__Stack_30;
#line 995 "ssdb.m"
        MR_Box ssdb__conv0_StackFrame_8;
#line 2114 "ssdb.m"
        MR_Integer ssdb__V_18_18;
#line 2114 "ssdb.m"
        MR_Integer ssdb__V_19_19;
#line 2114 "ssdb.m"
        MR_Integer ssdb__V_20_20;
#line 2114 "ssdb.m"
        MR_Word ssdb__V_21_21;
#line 2114 "ssdb.m"
        MR_String ssdb__V_22_22;
#line 2114 "ssdb.m"
        MR_Integer ssdb__V_23_23;
#line 2114 "ssdb.m"
        MR_Word ssdb__V_24_24;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_vars_4_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 25149 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_vars_4_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 25165 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_30  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_vars_4_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 25184 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 995 "ssdb.m"
        {
#line 995 "ssdb.m"
          mercury__list__det_index0_3_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_stack_frame_0, ssdb__Stack_30, ssdb__Depth_6, &ssdb__conv0_StackFrame_8);
        }
#line 995 "ssdb.m"
        ssdb__StackFrame_8 = ((MR_Word) ssdb__conv0_StackFrame_8);
#line 2114 "ssdb.m"
        ssdb__V_18_18 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 0)));
#line 2114 "ssdb.m"
        ssdb__V_19_19 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 1)));
#line 2114 "ssdb.m"
        ssdb__V_20_20 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 2)));
#line 2114 "ssdb.m"
        ssdb__V_21_21 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 3)));
#line 2114 "ssdb.m"
        ssdb__V_22_22 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 4)));
#line 2114 "ssdb.m"
        ssdb__V_23_23 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 5)));
#line 2114 "ssdb.m"
        ssdb__ListVarValue_9 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 6)));
#line 2114 "ssdb.m"
        ssdb__V_24_24 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 7)));
#line 2115 "ssdb.m"
        {
#line 2115 "ssdb.m"
          ssdb__print_vars_list_4_p_0(ssdb__ListVarValue_9, (MR_Integer) 1);
#line 2115 "ssdb.m"
          return;
        }
#line 2112 "ssdb.m"
      }
#line 2112 "ssdb.m"
    else
#line 3440 "ssdb.m"
      {
#line 3441 "ssdb.m"
        {
#line 3441 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: too many arguments to command.\n");
#line 3441 "ssdb.m"
          return;
        }
#line 3440 "ssdb.m"
      }
#line 2112 "ssdb.m"
  }
#line 2108 "ssdb.m"
}

#line 2092 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_browse_4_p_0(
#line 2092 "ssdb.m"
  MR_Word ssdb__Args_5,
#line 2092 "ssdb.m"
  MR_Integer ssdb__Depth_6)
#line 2092 "ssdb.m"
{
#line 2094 "ssdb.m"
  {
#line 2094 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 2094 "ssdb.m"
    MR_Word ssdb__StackFrame_8;
#line 2094 "ssdb.m"
    MR_Word ssdb__Stack_37;
#line 995 "ssdb.m"
    MR_Box ssdb__conv0_StackFrame_8;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_browse_4_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 25272 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_browse_4_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 25288 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_37  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_browse_4_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 25307 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 995 "ssdb.m"
    {
#line 995 "ssdb.m"
      mercury__list__det_index0_3_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_stack_frame_0, ssdb__Stack_37, ssdb__Depth_6, &ssdb__conv0_StackFrame_8);
    }
#line 995 "ssdb.m"
    ssdb__StackFrame_8 = ((MR_Word) ssdb__conv0_StackFrame_8);
#line 2099 "ssdb.m"
    if ((ssdb__Args_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2097 "ssdb.m"
      {
#line 2097 "ssdb.m"
        MR_Word ssdb__V_21_21;
#line 2097 "ssdb.m"
        MR_Word ssdb__ProcId_44 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 3)));
#line 2097 "ssdb.m"
        MR_String ssdb__ProcName_46 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__ProcId_44, (MR_Integer) 1)));
#line 2097 "ssdb.m"
        MR_Word ssdb__ArgUnivs_47;
#line 2097 "ssdb.m"
        MR_Word ssdb__V_56_56 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 6)));
#line 2097 "ssdb.m"
        MR_Word ssdb__StdIn_69;
#line 2097 "ssdb.m"
        MR_Word ssdb__StdOut_70;
#line 2097 "ssdb.m"
        MR_Word ssdb__State0_71;
#line 2097 "ssdb.m"
        MR_Word ssdb__State_72;
#line 2055 "ssdb.m"
        MR_Integer ssdb__V_51_51 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 0)));
#line 2055 "ssdb.m"
        MR_Integer ssdb__V_52_52 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 1)));
#line 2055 "ssdb.m"
        MR_Integer ssdb__V_53_53 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 2)));
#line 2055 "ssdb.m"
        MR_String ssdb__V_54_54 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 4)));
#line 2055 "ssdb.m"
        MR_Integer ssdb__V_55_55 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 5)));
#line 2055 "ssdb.m"
        MR_Word ssdb__V_57_57 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 7)));
#line 2056 "ssdb.m"
        MR_String ssdb___ModuleName_45 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__ProcId_44, (MR_Integer) 0)));
#line 3242 "ssdb.m"
        MR_Word ssdb__V_73_73;

#line 2059 "ssdb.m"
        {
#line 2059 "ssdb.m"
          ssdb__make_arg_univs_3_p_0(ssdb__V_56_56, (MR_Integer) 0, &ssdb__ArgUnivs_47);
        }
#line 2062 "ssdb.m"
        {
#line 2062 "ssdb.m"
          ssdb__V_21_21 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL));
#line 2062 "ssdb.m"
          MR_hl_field(MR_mktag(1), ssdb__V_21_21, 0) = ((MR_Box) (ssdb__ProcName_46));
#line 2062 "ssdb.m"
          MR_hl_field(MR_mktag(1), ssdb__V_21_21, 1) = ((MR_Box) (ssdb__ArgUnivs_47));
#line 2062 "ssdb.m"
          MR_hl_field(MR_mktag(1), ssdb__V_21_21, 2) = ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2062 "ssdb.m"
        }
#line 3238 "ssdb.m"
        {
#line 3238 "ssdb.m"
          mercury__io__input_stream_3_p_0(&ssdb__StdIn_69);
        }
#line 3239 "ssdb.m"
        {
#line 3239 "ssdb.m"
          mercury__io__output_stream_3_p_0(&ssdb__StdOut_70);
        }
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_browse_4_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 25398 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_browse_4_p_0

	MR_Word X;

		{
#line 324 "ssdb.m"
X = ssdb__mutable_variable_browser_state;

#line 25414 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__State0_71  = X;
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_browse_4_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 25433 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 3242 "ssdb.m"
        {
#line 3242 "ssdb.m"
          mdb__browse__browse_browser_term_no_modes_8_p_0(ssdb__V_21_21, ssdb__StdIn_69, ssdb__StdOut_70, &ssdb__V_73_73, ssdb__State0_71, &ssdb__State_72);
        }
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_browse_4_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 25456 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_browse_4_p_0

	MR_Word X;

	X =  ssdb__State_72 ;
		{
#line 324 "ssdb.m"
ssdb__mutable_variable_browser_state = X;

#line 25473 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_browse_4_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 25491 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 2097 "ssdb.m"
      }
#line 2099 "ssdb.m"
    else
#line 2099 "ssdb.m"
      {
#line 2099 "ssdb.m"
        MR_Word ssdb__V_30_30 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args_5, (MR_Integer) 1)));
#line 2099 "ssdb.m"
        MR_String ssdb__V_31_31 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args_5, (MR_Integer) 0)));

#line 2099 "ssdb.m"
        if ((ssdb__V_30_30 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2100 "ssdb.m"
          {
#line 2100 "ssdb.m"
            MR_Word ssdb__ListVarValue_10 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 6)));
#line 2101 "ssdb.m"
            MR_Integer ssdb__V_23_23 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 0)));
#line 2101 "ssdb.m"
            MR_Integer ssdb__V_24_24 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 1)));
#line 2101 "ssdb.m"
            MR_Integer ssdb__V_25_25 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 2)));
#line 2101 "ssdb.m"
            MR_Word ssdb__V_26_26 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 3)));
#line 2101 "ssdb.m"
            MR_String ssdb__V_27_27 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 4)));
#line 2101 "ssdb.m"
            MR_Integer ssdb__V_28_28 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 5)));
#line 2101 "ssdb.m"
            MR_Word ssdb__V_29_29 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_8, (MR_Integer) 7)));

#line 2102 "ssdb.m"
            {
#line 2102 "ssdb.m"
              ssdb__browse_var_4_p_0(ssdb__ListVarValue_10, ssdb__V_31_31);
#line 2102 "ssdb.m"
              return;
            }
#line 2100 "ssdb.m"
          }
#line 2099 "ssdb.m"
        else
#line 3440 "ssdb.m"
          {
#line 3441 "ssdb.m"
            {
#line 3441 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: too many arguments to command.\n");
#line 3441 "ssdb.m"
              return;
            }
#line 3440 "ssdb.m"
          }
#line 2099 "ssdb.m"
      }
#line 2094 "ssdb.m"
  }
#line 2092 "ssdb.m"
}

#line 2064 "ssdb.m"
static void MR_CALL 
ssdb__make_arg_univs_3_p_0(
#line 2064 "ssdb.m"
  MR_Word ssdb__HeadVar__1_1,
#line 2064 "ssdb.m"
  MR_Integer ssdb__Pos_2,
#line 2064 "ssdb.m"
  MR_Word * ssdb__HeadVar__3_3)
#line 2064 "ssdb.m"
{
#line 2066 "ssdb.m"
  while (MR_TRUE)
#line 2066 "ssdb.m"
    {
#line 2066 "ssdb.m"
      /* tailcall optimized into a loop */
#line 2066 "ssdb.m"
      {
#line 2066 "ssdb.m"
        MR_bool ssdb__succeeded;

#line 2066 "ssdb.m"
        if ((ssdb__HeadVar__1_1 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2066 "ssdb.m"
          *ssdb__HeadVar__3_3 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 2066 "ssdb.m"
        else
#line 2067 "ssdb.m"
          {
#line 2067 "ssdb.m"
            MR_Word ssdb__Var_5 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__1_1, (MR_Integer) 0)));
#line 2067 "ssdb.m"
            MR_Word ssdb__Vars_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__HeadVar__1_1, (MR_Integer) 1)));

#line 2077 "ssdb.m"
            if (((MR_tag((MR_Word) ssdb__Var_5)) == (MR_mktag((MR_Integer) 1))))
#line 2078 "ssdb.m"
              {
#line 2078 "ssdb.m"
                MR_Word ssdb__TypeInfo_27_27 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Var_5, (MR_Integer) 0)));
#line 2078 "ssdb.m"
                MR_Box ssdb__Value_14 = (MR_hl_field(MR_mktag(1), ssdb__Var_5, (MR_Integer) 3));
#line 2078 "ssdb.m"
                MR_Integer ssdb__VarPos_23 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__Var_5, (MR_Integer) 2)));
#line 2078 "ssdb.m"
                MR_Word ssdb__ArgUnivs0_24;
#line 2078 "ssdb.m"
                MR_Word ssdb__Univ_25;
#line 2078 "ssdb.m"
                MR_String ssdb__V_13_13 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Var_5, (MR_Integer) 1)));

#line 2079 "ssdb.m"
                ssdb__succeeded = (ssdb__VarPos_23 == ssdb__Pos_2);
#line 2082 "ssdb.m"
                if (ssdb__succeeded)
#line 2080 "ssdb.m"
                  {
#line 2080 "ssdb.m"
                    MR_Integer ssdb__V_17_17 = (ssdb__Pos_2 + (MR_Integer) 1);

#line 2080 "ssdb.m"
                    {
#line 2080 "ssdb.m"
                      ssdb__make_arg_univs_3_p_0(ssdb__Vars_6, ssdb__V_17_17, &ssdb__ArgUnivs0_24);
                    }
#line 2081 "ssdb.m"
                    {
#line 2081 "ssdb.m"
                      mercury__univ__type_to_univ_2_p_1(ssdb__TypeInfo_27_27, ssdb__Value_14, &ssdb__Univ_25);
                    }
#line 2080 "ssdb.m"
                  }
#line 2082 "ssdb.m"
                else
#line 2083 "ssdb.m"
                  {
#line 2083 "ssdb.m"
                    {
#line 2083 "ssdb.m"
                      ssdb__make_arg_univs_3_p_0(ssdb__Vars_6, ssdb__Pos_2, &ssdb__ArgUnivs0_24);
                    }
#line 2084 "ssdb.m"
                    mercury__private_builtin__dummy_var = (MR_Integer) 0;
#line 2084 "ssdb.m"
                    {
#line 2084 "ssdb.m"
                      mercury__univ__type_to_univ_2_p_0((MR_Word) &mdb__browse__mdb__browse__type_ctor_info_unbound_0, ((MR_Box) ((MR_Integer) 0)), &ssdb__Univ_25);
                    }
#line 2083 "ssdb.m"
                  }
#line 2086 "ssdb.m"
                {
#line 2086 "ssdb.m"
                  MR_Word base;
#line 2086 "ssdb.m"
                  base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2086 "ssdb.m"
                  *ssdb__HeadVar__3_3 = base;
#line 2086 "ssdb.m"
                  MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (ssdb__Univ_25));
#line 2086 "ssdb.m"
                  MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (ssdb__ArgUnivs0_24));
#line 2086 "ssdb.m"
                }
#line 2078 "ssdb.m"
              }
#line 2077 "ssdb.m"
            else
#line 2077 "ssdb.m"
              if (((MR_tag((MR_Word) ssdb__Var_5)) == (MR_mktag((MR_Integer) 2))))
#line 2089 "ssdb.m"
                {
#line 2089 "ssdb.m"
                  /* direct tailcall eliminated */
#line 2089 "ssdb.m"
                  {
#line 2089 "ssdb.m"
                    MR_Word ssdb__HeadVar__1__tmp_copy_1 = ssdb__Vars_6;

#line 2089 "ssdb.m"
                    ssdb__HeadVar__1_1 = ssdb__HeadVar__1__tmp_copy_1;
#line 2089 "ssdb.m"
                  }
#line 2089 "ssdb.m"
                  continue;
#line 2089 "ssdb.m"
                }
#line 2077 "ssdb.m"
              else
#line 2069 "ssdb.m"
                {
#line 2069 "ssdb.m"
                  MR_Integer ssdb__VarPos_10 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Var_5, (MR_Integer) 1)));
#line 2069 "ssdb.m"
                  MR_Word ssdb__ArgUnivs0_11;
#line 2069 "ssdb.m"
                  MR_Word ssdb__Univ_12;
#line 2069 "ssdb.m"
                  MR_String ssdb__V_9_9 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Var_5, (MR_Integer) 0)));

#line 2070 "ssdb.m"
                  ssdb__succeeded = (ssdb__VarPos_10 == ssdb__Pos_2);
#line 2072 "ssdb.m"
                  if (ssdb__succeeded)
#line 2071 "ssdb.m"
                    {
#line 2071 "ssdb.m"
                      MR_Integer ssdb__V_20_20 = (ssdb__Pos_2 + (MR_Integer) 1);

#line 2071 "ssdb.m"
                      {
#line 2071 "ssdb.m"
                        ssdb__make_arg_univs_3_p_0(ssdb__Vars_6, ssdb__V_20_20, &ssdb__ArgUnivs0_11);
                      }
#line 2071 "ssdb.m"
                    }
#line 2072 "ssdb.m"
                  else
#line 2073 "ssdb.m"
                    {
#line 2073 "ssdb.m"
                      ssdb__make_arg_univs_3_p_0(ssdb__Vars_6, ssdb__Pos_2, &ssdb__ArgUnivs0_11);
                    }
#line 2075 "ssdb.m"
                  mercury__private_builtin__dummy_var = (MR_Integer) 0;
#line 2075 "ssdb.m"
                  {
#line 2075 "ssdb.m"
                    mercury__univ__type_to_univ_2_p_0((MR_Word) &mdb__browse__mdb__browse__type_ctor_info_unbound_0, ((MR_Box) ((MR_Integer) 0)), &ssdb__Univ_12);
                  }
#line 2076 "ssdb.m"
                  {
#line 2076 "ssdb.m"
                    MR_Word base;
#line 2076 "ssdb.m"
                    base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 2076 "ssdb.m"
                    *ssdb__HeadVar__3_3 = base;
#line 2076 "ssdb.m"
                    MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (ssdb__Univ_12));
#line 2076 "ssdb.m"
                    MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (ssdb__ArgUnivs0_11));
#line 2076 "ssdb.m"
                  }
#line 2069 "ssdb.m"
                }
#line 2067 "ssdb.m"
          }
#line 2066 "ssdb.m"
      }
#line 2066 "ssdb.m"
      break;
#line 2066 "ssdb.m"
    }
#line 2064 "ssdb.m"
}

#line 2008 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_print_4_p_0(
#line 2008 "ssdb.m"
  MR_Word ssdb__STATE_VARIABLE_Args_0_17,
#line 2008 "ssdb.m"
  MR_Integer ssdb__Depth_6)
#line 2008 "ssdb.m"
{
#line 2010 "ssdb.m"
  {
#line 2010 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 2010 "ssdb.m"
    MR_Word ssdb__Res_8;
#line 2010 "ssdb.m"
    MR_Word ssdb__STATE_VARIABLE_Args_21_21;

#line 2011 "ssdb.m"
    {
#line 2011 "ssdb.m"
      ssdb__process_options__ho3_5_p_0(ssdb__STATE_VARIABLE_Args_0_17, &ssdb__STATE_VARIABLE_Args_21_21, (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)), &ssdb__Res_8);
    }
#line 2033 "ssdb.m"
    if (((MR_tag((MR_Word) ssdb__Res_8)) == (MR_mktag((MR_Integer) 1))))
#line 2034 "ssdb.m"
      {
#line 2034 "ssdb.m"
        MR_Word ssdb__Error_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Res_8, (MR_Integer) 0)));
#line 2034 "ssdb.m"
        MR_String ssdb__V_25_25;

#line 2035 "ssdb.m"
        {
#line 2035 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: ");
        }
#line 2036 "ssdb.m"
        {
#line 2036 "ssdb.m"
          ssdb__V_25_25 = mercury__io__error_message_1_f_0(ssdb__Error_16);
        }
#line 2036 "ssdb.m"
        {
#line 2036 "ssdb.m"
          mercury__io__write_string_3_p_0(ssdb__V_25_25);
        }
#line 2037 "ssdb.m"
        {
#line 2037 "ssdb.m"
          mercury__io__nl_2_p_0();
#line 2037 "ssdb.m"
          return;
        }
#line 2034 "ssdb.m"
      }
#line 2033 "ssdb.m"
    else
#line 2013 "ssdb.m"
      {
#line 2013 "ssdb.m"
        MR_Word ssdb__MaybeFormat_9 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Res_8, (MR_Integer) 0)));
#line 2013 "ssdb.m"
        MR_Word ssdb__StackFrame_10;
#line 2013 "ssdb.m"
        MR_Word ssdb__Stack_65;
#line 995 "ssdb.m"
        MR_Box ssdb__conv0_StackFrame_10;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_print_4_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 25837 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_print_4_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 25853 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_65  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_print_4_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 25872 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 995 "ssdb.m"
        {
#line 995 "ssdb.m"
          mercury__list__det_index0_3_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_stack_frame_0, ssdb__Stack_65, ssdb__Depth_6, &ssdb__conv0_StackFrame_10);
        }
#line 995 "ssdb.m"
        ssdb__StackFrame_10 = ((MR_Word) ssdb__conv0_StackFrame_10);
#line 2015 "ssdb.m"
        ssdb__succeeded = (ssdb__STATE_VARIABLE_Args_21_21 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2018 "ssdb.m"
        if (ssdb__succeeded)
#line 2016 "ssdb.m"
          {
#line 2016 "ssdb.m"
            MR_Word ssdb__Term_11;
#line 2016 "ssdb.m"
            MR_Word ssdb__ProcId_72 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 3)));
#line 2016 "ssdb.m"
            MR_String ssdb__ProcName_74 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__ProcId_72, (MR_Integer) 1)));
#line 2016 "ssdb.m"
            MR_Word ssdb__ArgUnivs_75;
#line 2016 "ssdb.m"
            MR_Word ssdb__V_84_84 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 6)));
#line 2055 "ssdb.m"
            MR_Integer ssdb__V_79_79 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 0)));
#line 2055 "ssdb.m"
            MR_Integer ssdb__V_80_80 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 1)));
#line 2055 "ssdb.m"
            MR_Integer ssdb__V_81_81 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 2)));
#line 2055 "ssdb.m"
            MR_String ssdb__V_82_82 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 4)));
#line 2055 "ssdb.m"
            MR_Integer ssdb__V_83_83 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 5)));
#line 2055 "ssdb.m"
            MR_Word ssdb__V_85_85 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 7)));
#line 2056 "ssdb.m"
            MR_String ssdb___ModuleName_73 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__ProcId_72, (MR_Integer) 0)));

#line 2059 "ssdb.m"
            {
#line 2059 "ssdb.m"
              ssdb__make_arg_univs_3_p_0(ssdb__V_84_84, (MR_Integer) 0, &ssdb__ArgUnivs_75);
            }
#line 2062 "ssdb.m"
            {
#line 2062 "ssdb.m"
              ssdb__Term_11 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL));
#line 2062 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__Term_11, 0) = ((MR_Box) (ssdb__ProcName_74));
#line 2062 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__Term_11, 1) = ((MR_Box) (ssdb__ArgUnivs_75));
#line 2062 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__Term_11, 2) = ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2062 "ssdb.m"
            }
#line 2017 "ssdb.m"
            {
#line 2017 "ssdb.m"
              ssdb__print_browser_term_5_p_0(ssdb__MaybeFormat_9, (MR_Integer) 0, ssdb__Term_11);
#line 2017 "ssdb.m"
              return;
            }
#line 2016 "ssdb.m"
          }
#line 2018 "ssdb.m"
        else
#line 2027 "ssdb.m"
          {
#line 2018 "ssdb.m"
            MR_String ssdb__V_31_31;
#line 2018 "ssdb.m"
            MR_Word ssdb__V_32_32;

#line 2018 "ssdb.m"
            ssdb__succeeded = ((MR_tag((MR_Word) ssdb__STATE_VARIABLE_Args_21_21)) == (MR_mktag((MR_Integer) 1)));
#line 2018 "ssdb.m"
            if (ssdb__succeeded)
#line 2018 "ssdb.m"
              {
#line 2018 "ssdb.m"
                ssdb__V_31_31 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__STATE_VARIABLE_Args_21_21, (MR_Integer) 0)));
#line 2018 "ssdb.m"
                ssdb__V_32_32 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__STATE_VARIABLE_Args_21_21, (MR_Integer) 1)));
#line 2018 "ssdb.m"
                ssdb__succeeded = (strcmp(ssdb__V_31_31, (MR_String) "*") == 0);
#line 2018 "ssdb.m"
                if (ssdb__succeeded)
#line 2018 "ssdb.m"
                  ssdb__succeeded = (ssdb__V_32_32 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2018 "ssdb.m"
              }
#line 2027 "ssdb.m"
            if (ssdb__succeeded)
#line 2019 "ssdb.m"
              {
#line 2019 "ssdb.m"
                MR_Word ssdb__ListVarValue_12 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 6)));
#line 2019 "ssdb.m"
                MR_Integer ssdb__V_42_42 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 0)));
#line 2019 "ssdb.m"
                MR_Integer ssdb__V_43_43 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 1)));
#line 2019 "ssdb.m"
                MR_Integer ssdb__V_44_44 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 2)));
#line 2019 "ssdb.m"
                MR_Word ssdb__V_45_45 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 3)));
#line 2019 "ssdb.m"
                MR_String ssdb__V_46_46 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 4)));
#line 2019 "ssdb.m"
                MR_Integer ssdb__V_47_47 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 5)));
#line 2019 "ssdb.m"
                MR_Word ssdb__V_48_48 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 7)));

#line 2023 "ssdb.m"
                if ((ssdb__ListVarValue_12 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 2021 "ssdb.m"
                  {
#line 2022 "ssdb.m"
                    {
#line 2022 "ssdb.m"
                      mercury__io__write_string_3_p_0((MR_String) "ssdb: there are no live variables.\n");
#line 2022 "ssdb.m"
                      return;
                    }
#line 2021 "ssdb.m"
                  }
#line 2023 "ssdb.m"
                else
#line 2024 "ssdb.m"
                  {
#line 2025 "ssdb.m"
                    {
#line 2025 "ssdb.m"
                      ssdb__print_vars_5_p_0(ssdb__MaybeFormat_9, (MR_Integer) 2, ssdb__ListVarValue_12);
#line 2025 "ssdb.m"
                      return;
                    }
#line 2024 "ssdb.m"
                  }
#line 2019 "ssdb.m"
              }
#line 2027 "ssdb.m"
            else
#line 2030 "ssdb.m"
              {
#line 2030 "ssdb.m"
                MR_String ssdb__Arg_15;
#line 2027 "ssdb.m"
                MR_Word ssdb__V_37_37;

#line 2027 "ssdb.m"
                ssdb__succeeded = ((MR_tag((MR_Word) ssdb__STATE_VARIABLE_Args_21_21)) == (MR_mktag((MR_Integer) 1)));
#line 2027 "ssdb.m"
                if (ssdb__succeeded)
#line 2027 "ssdb.m"
                  {
#line 2027 "ssdb.m"
                    ssdb__Arg_15 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__STATE_VARIABLE_Args_21_21, (MR_Integer) 0)));
#line 2027 "ssdb.m"
                    ssdb__V_37_37 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__STATE_VARIABLE_Args_21_21, (MR_Integer) 1)));
#line 2027 "ssdb.m"
                    ssdb__succeeded = (ssdb__V_37_37 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 2027 "ssdb.m"
                  }
#line 2030 "ssdb.m"
                if (ssdb__succeeded)
#line 2028 "ssdb.m"
                  {
#line 2028 "ssdb.m"
                    MR_Word ssdb__ListVarValue_40 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 6)));
#line 2028 "ssdb.m"
                    MR_Integer ssdb__V_49_49 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 0)));
#line 2028 "ssdb.m"
                    MR_Integer ssdb__V_50_50 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 1)));
#line 2028 "ssdb.m"
                    MR_Integer ssdb__V_51_51 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 2)));
#line 2028 "ssdb.m"
                    MR_Word ssdb__V_52_52 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 3)));
#line 2028 "ssdb.m"
                    MR_String ssdb__V_53_53 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 4)));
#line 2028 "ssdb.m"
                    MR_Integer ssdb__V_54_54 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 5)));
#line 2028 "ssdb.m"
                    MR_Word ssdb__V_55_55 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 7)));

#line 2029 "ssdb.m"
                    {
#line 2029 "ssdb.m"
                      ssdb__print_var_with_name_5_p_0(ssdb__MaybeFormat_9, ssdb__ListVarValue_40, ssdb__Arg_15);
#line 2029 "ssdb.m"
                      return;
                    }
#line 2028 "ssdb.m"
                  }
#line 2030 "ssdb.m"
                else
#line 3440 "ssdb.m"
                  {
#line 3441 "ssdb.m"
                    {
#line 3441 "ssdb.m"
                      mercury__io__write_string_3_p_0((MR_String) "ssdb: too many arguments to command.\n");
#line 3441 "ssdb.m"
                      return;
                    }
#line 3440 "ssdb.m"
                  }
#line 2030 "ssdb.m"
              }
#line 2027 "ssdb.m"
          }
#line 2013 "ssdb.m"
      }
#line 2010 "ssdb.m"
  }
#line 2008 "ssdb.m"
}

#line 1989 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_stack_4_p_0(
#line 1989 "ssdb.m"
  MR_Word ssdb__Args_5,
#line 1989 "ssdb.m"
  MR_Integer ssdb__Depth_6)
#line 1989 "ssdb.m"
{
#line 1993 "ssdb.m"
  {
#line 1993 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 1993 "ssdb.m"
    if ((ssdb__Args_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1993 "ssdb.m"
      {
#line 1993 "ssdb.m"
        MR_Integer ssdb__V_20_20;

#line 1994 "ssdb.m"
        {
#line 1994 "ssdb.m"
          ssdb__V_20_20 = mercury__int__max_int_0_f_0();
        }
#line 1994 "ssdb.m"
        {
#line 1994 "ssdb.m"
          ssdb__print_stack_trace_5_p_0((MR_Integer) 0, ssdb__Depth_6, ssdb__V_20_20);
#line 1994 "ssdb.m"
          return;
        }
#line 1993 "ssdb.m"
      }
#line 1993 "ssdb.m"
    else
#line 2003 "ssdb.m"
      {
#line 2003 "ssdb.m"
        MR_Integer ssdb__N_11;
#line 1998 "ssdb.m"
        MR_String ssdb__NStr_10 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args_5, (MR_Integer) 0)));
#line 1998 "ssdb.m"
        MR_Word ssdb__V_14_14 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args_5, (MR_Integer) 1)));
#line 1998 "ssdb.m"
        MR_Integer ssdb__V_15_15;

#line 1998 "ssdb.m"
        ssdb__succeeded = (ssdb__V_14_14 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 1998 "ssdb.m"
        if (ssdb__succeeded)
#line 1998 "ssdb.m"
          {
#line 1999 "ssdb.m"
            {
#line 1999 "ssdb.m"
              ssdb__succeeded = mercury__string__to_int_2_p_0(ssdb__NStr_10, &ssdb__N_11);
            }
#line 1998 "ssdb.m"
            if (ssdb__succeeded)
#line 1998 "ssdb.m"
              {
#line 2000 "ssdb.m"
                ssdb__V_15_15 = (MR_Integer) 0;
#line 2000 "ssdb.m"
                ssdb__succeeded = (ssdb__N_11 > ssdb__V_15_15);
#line 1998 "ssdb.m"
              }
#line 1998 "ssdb.m"
          }
#line 2003 "ssdb.m"
        if (ssdb__succeeded)
#line 2002 "ssdb.m"
          {
#line 2002 "ssdb.m"
            {
#line 2002 "ssdb.m"
              ssdb__print_stack_trace_5_p_0((MR_Integer) 0, ssdb__Depth_6, ssdb__N_11);
#line 2002 "ssdb.m"
              return;
            }
#line 2002 "ssdb.m"
          }
#line 2003 "ssdb.m"
        else
#line 3435 "ssdb.m"
          {
#line 3436 "ssdb.m"
            {
#line 3436 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: command requires integer argument.\n");
#line 3436 "ssdb.m"
              return;
            }
#line 3435 "ssdb.m"
          }
#line 2003 "ssdb.m"
      }
#line 1993 "ssdb.m"
  }
#line 1989 "ssdb.m"
}

#line 1972 "ssdb.m"
static void MR_CALL 
ssdb__nondet_stack_contains_csn_2_5_p_0(
#line 1972 "ssdb.m"
  MR_Integer ssdb__CSN_6,
#line 1972 "ssdb.m"
  MR_Integer ssdb__Depth_7,
#line 1972 "ssdb.m"
  MR_Word * ssdb__Contains_8)
#line 1972 "ssdb.m"
{
#line 1978 "ssdb.m"
  while (MR_TRUE)
#line 1978 "ssdb.m"
    {
#line 1978 "ssdb.m"
      /* tailcall optimized into a loop */
#line 1978 "ssdb.m"
      {
#line 1978 "ssdb.m"
        MR_bool ssdb__succeeded = (ssdb__Depth_7 < (MR_Integer) 0);

#line 1978 "ssdb.m"
        if (ssdb__succeeded)
#line 1977 "ssdb.m"
          *ssdb__Contains_8 = (MR_Integer) 0;
#line 1978 "ssdb.m"
        else
#line 1979 "ssdb.m"
          {
#line 1979 "ssdb.m"
            MR_Word ssdb__StackFrame_10;
#line 1979 "ssdb.m"
            MR_Word ssdb__Stack_31;
#line 1056 "ssdb.m"
            MR_Box ssdb__conv0_StackFrame_10;
#line 1980 "ssdb.m"
            MR_Integer ssdb__V_25_25;
#line 1980 "ssdb.m"
            MR_Integer ssdb__V_18_18;
#line 1980 "ssdb.m"
            MR_Integer ssdb__V_19_19;
#line 1980 "ssdb.m"
            MR_Word ssdb__V_20_20;
#line 1980 "ssdb.m"
            MR_String ssdb__V_21_21;
#line 1980 "ssdb.m"
            MR_Integer ssdb__V_22_22;
#line 1980 "ssdb.m"
            MR_Word ssdb__V_23_23;
#line 1980 "ssdb.m"
            MR_Word ssdb__V_24_24;

#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_contains_csn_2_5_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_nondet_shadow_stack_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_lock");
#endif

#line 26264 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_contains_csn_2_5_p_0

	MR_Word X;

		{
#line 306 "ssdb.m"
X = ssdb__mutable_variable_nondet_shadow_stack;

#line 26280 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_31  = X;
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_contains_csn_2_5_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_nondet_shadow_stack_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_lock");
#endif

#line 26299 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 1056 "ssdb.m"
            {
#line 1056 "ssdb.m"
              mercury__list__det_index0_3_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_stack_frame_0, ssdb__Stack_31, ssdb__Depth_7, &ssdb__conv0_StackFrame_10);
            }
#line 1056 "ssdb.m"
            ssdb__StackFrame_10 = ((MR_Word) ssdb__conv0_StackFrame_10);
#line 1980 "ssdb.m"
            ssdb__V_18_18 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 0)));
#line 1980 "ssdb.m"
            ssdb__V_25_25 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 1)));
#line 1980 "ssdb.m"
            ssdb__V_19_19 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 2)));
#line 1980 "ssdb.m"
            ssdb__V_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 3)));
#line 1980 "ssdb.m"
            ssdb__V_21_21 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 4)));
#line 1980 "ssdb.m"
            ssdb__V_22_22 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 5)));
#line 1980 "ssdb.m"
            ssdb__V_23_23 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 6)));
#line 1980 "ssdb.m"
            ssdb__V_24_24 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_10, (MR_Integer) 7)));
#line 1980 "ssdb.m"
            ssdb__succeeded = (ssdb__CSN_6 == ssdb__V_25_25);
#line 1982 "ssdb.m"
            if (ssdb__succeeded)
#line 1981 "ssdb.m"
              *ssdb__Contains_8 = (MR_Integer) 1;
#line 1982 "ssdb.m"
            else
#line 1983 "ssdb.m"
              {
#line 1983 "ssdb.m"
                MR_Integer ssdb__V_15_15 = (ssdb__Depth_7 - (MR_Integer) 1);

#line 1983 "ssdb.m"
                /* direct tailcall eliminated */
#line 1983 "ssdb.m"
                {
#line 1983 "ssdb.m"
                  MR_Integer ssdb__Depth__tmp_copy_7 = ssdb__V_15_15;

#line 1983 "ssdb.m"
                  ssdb__Depth_7 = ssdb__Depth__tmp_copy_7;
#line 1983 "ssdb.m"
                }
#line 1983 "ssdb.m"
                continue;
#line 1983 "ssdb.m"
              }
#line 1979 "ssdb.m"
          }
#line 1978 "ssdb.m"
      }
#line 1978 "ssdb.m"
      break;
#line 1978 "ssdb.m"
    }
#line 1972 "ssdb.m"
}

#line 1934 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_retry_2_6_p_0(
#line 1934 "ssdb.m"
  MR_Integer ssdb__Num_7,
#line 1934 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1934 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1934 "ssdb.m"
  MR_Word * ssdb__WhatNext_10)
#line 1934 "ssdb.m"
{
#line 1937 "ssdb.m"
  {
#line 1937 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 1937 "ssdb.m"
    MR_Word ssdb__Frame_12;
#line 1937 "ssdb.m"
    MR_Integer ssdb__CSN_13;
#line 1937 "ssdb.m"
    MR_Word ssdb__Stack_34;
#line 995 "ssdb.m"
    MR_Box ssdb__conv0_Frame_12;
#line 1939 "ssdb.m"
    MR_Integer ssdb__V_22_22;
#line 1939 "ssdb.m"
    MR_Integer ssdb__V_23_23;
#line 1939 "ssdb.m"
    MR_Word ssdb__V_24_24;
#line 1939 "ssdb.m"
    MR_String ssdb__V_25_25;
#line 1939 "ssdb.m"
    MR_Integer ssdb__V_26_26;
#line 1939 "ssdb.m"
    MR_Word ssdb__V_27_27;
#line 1939 "ssdb.m"
    MR_Word ssdb__V_28_28;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_retry_2_6_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 26419 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_retry_2_6_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 26435 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_34  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_retry_2_6_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 26454 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 995 "ssdb.m"
    {
#line 995 "ssdb.m"
      mercury__list__det_index0_3_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_stack_frame_0, ssdb__Stack_34, ssdb__Num_7, &ssdb__conv0_Frame_12);
    }
#line 995 "ssdb.m"
    ssdb__Frame_12 = ((MR_Word) ssdb__conv0_Frame_12);
#line 1939 "ssdb.m"
    ssdb__V_22_22 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_12, (MR_Integer) 0)));
#line 1939 "ssdb.m"
    ssdb__CSN_13 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_12, (MR_Integer) 1)));
#line 1939 "ssdb.m"
    ssdb__V_23_23 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_12, (MR_Integer) 2)));
#line 1939 "ssdb.m"
    ssdb__V_24_24 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_12, (MR_Integer) 3)));
#line 1939 "ssdb.m"
    ssdb__V_25_25 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Frame_12, (MR_Integer) 4)));
#line 1939 "ssdb.m"
    ssdb__V_26_26 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_12, (MR_Integer) 5)));
#line 1939 "ssdb.m"
    ssdb__V_27_27 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_12, (MR_Integer) 6)));
#line 1939 "ssdb.m"
    ssdb__V_28_28 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_12, (MR_Integer) 7)));
#line 1946 "ssdb.m"
    if ((ssdb__Event_8 == (MR_Integer) 4))
#line 1947 "ssdb.m"
      {
#line 1947 "ssdb.m"
        MR_Word ssdb__Found_14;
#line 1947 "ssdb.m"
        MR_Integer ssdb__StackDepth_52;
#line 1947 "ssdb.m"
        MR_Integer ssdb__V_54_54;

#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_retry_2_6_p_0


		{
#line 308 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_nondet_shadow_stack_depth_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_depth_lock");
#endif

#line 26506 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_retry_2_6_p_0

	MR_Integer X;

		{
#line 308 "ssdb.m"
X = ssdb__mutable_variable_nondet_shadow_stack_depth;

#line 26522 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__StackDepth_52  = X;
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_retry_2_6_p_0


		{
#line 308 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_nondet_shadow_stack_depth_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_depth_lock");
#endif

#line 26541 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 1970 "ssdb.m"
        ssdb__V_54_54 = (ssdb__StackDepth_52 - (MR_Integer) 1);
#line 1970 "ssdb.m"
        {
#line 1970 "ssdb.m"
          ssdb__nondet_stack_contains_csn_2_5_p_0(ssdb__CSN_13, ssdb__V_54_54, &ssdb__Found_14);
        }
#line 1952 "ssdb.m"
        if ((ssdb__Found_14 == (MR_Integer) 0))
#line 1954 "ssdb.m"
          {
#line 1954 "ssdb.m"
            MR_Word base;
#line 1954 "ssdb.m"
            base = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 1954 "ssdb.m"
            *ssdb__WhatNext_10 = base;
#line 1954 "ssdb.m"
            MR_hl_field(MR_mktag(2), base, 0) = ((MR_Box) (ssdb__CSN_13));
#line 1954 "ssdb.m"
          }
#line 1952 "ssdb.m"
        else
#line 1951 "ssdb.m"
          {
#line 1951 "ssdb.m"
            MR_Word base;
#line 1951 "ssdb.m"
            base = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1951 "ssdb.m"
            *ssdb__WhatNext_10 = base;
#line 1951 "ssdb.m"
            MR_hl_field(MR_mktag(3), base, 0) = ((MR_Box) (MR_Word) ((MR_Integer) 0));
#line 1951 "ssdb.m"
            MR_hl_field(MR_mktag(3), base, 1) = ((MR_Box) (ssdb__CSN_13));
#line 1951 "ssdb.m"
          }
#line 1947 "ssdb.m"
      }
#line 1946 "ssdb.m"
    else
#line 1946 "ssdb.m"
      if ((((((ssdb__Event_8 == (MR_Integer) 1)) || ((ssdb__Event_8 == (MR_Integer) 2)))) || ((ssdb__Event_8 == (MR_Integer) 6))))
#line 1945 "ssdb.m"
        {
#line 1945 "ssdb.m"
          MR_Word base;
#line 1945 "ssdb.m"
          base = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 1945 "ssdb.m"
          *ssdb__WhatNext_10 = base;
#line 1945 "ssdb.m"
          MR_hl_field(MR_mktag(2), base, 0) = ((MR_Box) (ssdb__CSN_13));
#line 1945 "ssdb.m"
        }
#line 1946 "ssdb.m"
      else
#line 1961 "ssdb.m"
        {
#line 1962 "ssdb.m"
          {
#line 1962 "ssdb.m"
            mercury__io__write_string_3_p_0((MR_String) "Cannot retry at call or redo port.\n");
          }
#line 1518 "ssdb.m"
          {
#line 1518 "ssdb.m"
            ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1518 "ssdb.m"
            return;
          }
#line 1961 "ssdb.m"
        }
#line 1937 "ssdb.m"
  }
#line 1934 "ssdb.m"
}

#line 1904 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_retry_6_p_0(
#line 1904 "ssdb.m"
  MR_Word ssdb__Args_7,
#line 1904 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1904 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1904 "ssdb.m"
  MR_Word * ssdb__WhatNext_10)
#line 1904 "ssdb.m"
{
#line 1911 "ssdb.m"
  {
#line 1911 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 1911 "ssdb.m"
    if ((ssdb__Args_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1911 "ssdb.m"
      {
#line 1912 "ssdb.m"
        {
#line 1912 "ssdb.m"
          ssdb__execute_ssdb_retry_2_6_p_0((MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1912 "ssdb.m"
          return;
        }
#line 1911 "ssdb.m"
      }
#line 1911 "ssdb.m"
    else
#line 1911 "ssdb.m"
      {
#line 1911 "ssdb.m"
        MR_Word ssdb__V_38_38 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args_7, (MR_Integer) 1)));
#line 1911 "ssdb.m"
        MR_String ssdb__V_39_39 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args_7, (MR_Integer) 0)));

#line 1911 "ssdb.m"
        if ((ssdb__V_38_38 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1924 "ssdb.m"
          {
#line 1924 "ssdb.m"
            MR_Integer ssdb__Num_13;
#line 3513 "ssdb.m"
            MR_Integer ssdb__V_42_42;

#line 3514 "ssdb.m"
            {
#line 3514 "ssdb.m"
              ssdb__succeeded = mercury__string__to_int_2_p_0(ssdb__V_39_39, &ssdb__Num_13);
            }
#line 3513 "ssdb.m"
            if (ssdb__succeeded)
#line 3513 "ssdb.m"
              {
#line 3515 "ssdb.m"
                ssdb__V_42_42 = (MR_Integer) 0;
#line 3515 "ssdb.m"
                ssdb__succeeded = (ssdb__Num_13 >= ssdb__V_42_42);
#line 3513 "ssdb.m"
              }
#line 1924 "ssdb.m"
            if (ssdb__succeeded)
#line 1916 "ssdb.m"
              {
#line 1916 "ssdb.m"
                MR_Integer ssdb__CurDepth_14;

#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_retry_6_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 26708 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_retry_6_p_0

	MR_Integer X;

		{
#line 303 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack_depth;

#line 26724 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__CurDepth_14  = X;
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_retry_6_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 26743 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 1917 "ssdb.m"
                ssdb__succeeded = (ssdb__Num_13 < ssdb__CurDepth_14);
#line 1919 "ssdb.m"
                if (ssdb__succeeded)
#line 1918 "ssdb.m"
                  {
#line 1918 "ssdb.m"
                    ssdb__execute_ssdb_retry_2_6_p_0(ssdb__Num_13, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1918 "ssdb.m"
                    return;
                  }
#line 1919 "ssdb.m"
                else
#line 1921 "ssdb.m"
                  {
#line 1921 "ssdb.m"
                    MR_Word ssdb__V_27_27;
#line 1921 "ssdb.m"
                    MR_Word ssdb__V_29_29;
#line 1921 "ssdb.m"
                    MR_Integer ssdb__V_30_30 = (ssdb__CurDepth_14 - (MR_Integer) 1);

#line 1921 "ssdb.m"
                    {
#line 1921 "ssdb.m"
                      ssdb__V_29_29 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 1921 "ssdb.m"
                      MR_hl_field(MR_mktag(1), ssdb__V_29_29, 0) = ((MR_Box) (ssdb__V_30_30));
#line 1921 "ssdb.m"
                    }
#line 1920 "ssdb.m"
                    {
#line 1920 "ssdb.m"
                      ssdb__V_27_27 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1920 "ssdb.m"
                      MR_hl_field(MR_mktag(1), ssdb__V_27_27, 0) = ((MR_Box) (ssdb__V_29_29));
#line 1920 "ssdb.m"
                      MR_hl_field(MR_mktag(1), ssdb__V_27_27, 1) = ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 1920 "ssdb.m"
                    }
#line 1920 "ssdb.m"
                    {
#line 1920 "ssdb.m"
                      mercury__io__format_4_p_0((MR_String) "The depth must be between 0 and %i.\n", ssdb__V_27_27);
                    }
#line 1518 "ssdb.m"
                    {
#line 1518 "ssdb.m"
                      ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1518 "ssdb.m"
                      return;
                    }
#line 1921 "ssdb.m"
                  }
#line 1916 "ssdb.m"
              }
#line 1924 "ssdb.m"
            else
#line 1925 "ssdb.m"
              {
#line 3446 "ssdb.m"
                {
#line 3446 "ssdb.m"
                  mercury__io__write_string_3_p_0((MR_String) "ssdb: invalid argument to command.\n");
                }
#line 1518 "ssdb.m"
                {
#line 1518 "ssdb.m"
                  ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1518 "ssdb.m"
                  return;
                }
#line 1925 "ssdb.m"
              }
#line 1924 "ssdb.m"
          }
#line 1911 "ssdb.m"
        else
#line 1929 "ssdb.m"
          {
#line 3441 "ssdb.m"
            {
#line 3441 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: too many arguments to command.\n");
            }
#line 1518 "ssdb.m"
            {
#line 1518 "ssdb.m"
              ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1518 "ssdb.m"
              return;
            }
#line 1929 "ssdb.m"
          }
#line 1911 "ssdb.m"
      }
#line 1911 "ssdb.m"
  }
#line 1904 "ssdb.m"
}

#line 1889 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_exception_6_p_0(
#line 1889 "ssdb.m"
  MR_Word ssdb__Args_7,
#line 1889 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1889 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1889 "ssdb.m"
  MR_Word * ssdb__WhatNext_10)
#line 1889 "ssdb.m"
{
#line 1894 "ssdb.m"
  {
#line 1894 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 1894 "ssdb.m"
    if ((ssdb__Args_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1895 "ssdb.m"
      *ssdb__WhatNext_10 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4));
#line 1894 "ssdb.m"
    else
#line 1897 "ssdb.m"
      {
#line 1898 "ssdb.m"
        {
#line 1898 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "The exception command accepts no arguments.\n");
        }
#line 1518 "ssdb.m"
        {
#line 1518 "ssdb.m"
          ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1518 "ssdb.m"
          return;
        }
#line 1897 "ssdb.m"
      }
#line 1894 "ssdb.m"
  }
#line 1889 "ssdb.m"
}

#line 1861 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_return_6_p_0(
#line 1861 "ssdb.m"
  MR_Word ssdb__Args_7,
#line 1861 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1861 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1861 "ssdb.m"
  MR_Word * ssdb__WhatNext_10)
#line 1861 "ssdb.m"
{
#line 1866 "ssdb.m"
  {
#line 1866 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 1866 "ssdb.m"
    if ((ssdb__Args_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1872 "ssdb.m"
      if ((((ssdb__Event_8 == (MR_Integer) 1)) || ((ssdb__Event_8 == (MR_Integer) 4))))
#line 1871 "ssdb.m"
        *ssdb__WhatNext_10 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3));
#line 1872 "ssdb.m"
      else
#line 1879 "ssdb.m"
        {
#line 1880 "ssdb.m"
          {
#line 1880 "ssdb.m"
            mercury__io__write_string_3_p_0((MR_String) "This command is a no-op from this port.\n");
          }
#line 1518 "ssdb.m"
          {
#line 1518 "ssdb.m"
            ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1518 "ssdb.m"
            return;
          }
#line 1879 "ssdb.m"
        }
#line 1866 "ssdb.m"
    else
#line 1884 "ssdb.m"
      {
#line 3441 "ssdb.m"
        {
#line 3441 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: too many arguments to command.\n");
        }
#line 1518 "ssdb.m"
        {
#line 1518 "ssdb.m"
          ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1518 "ssdb.m"
          return;
        }
#line 1884 "ssdb.m"
      }
#line 1866 "ssdb.m"
  }
#line 1861 "ssdb.m"
}

#line 1818 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_finish_6_p_0(
#line 1818 "ssdb.m"
  MR_Word ssdb__Args_7,
#line 1818 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1818 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1818 "ssdb.m"
  MR_Word * ssdb__WhatNext_10)
#line 1818 "ssdb.m"
{
#line 1823 "ssdb.m"
  {
#line 1823 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 1823 "ssdb.m"
    if ((ssdb__Args_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1823 "ssdb.m"
      {
#line 1826 "ssdb.m"
        if ((ssdb__Event_8 == (MR_Integer) 0))
#line 1825 "ssdb.m"
          ssdb__succeeded = MR_TRUE;
#line 1826 "ssdb.m"
        else
#line 1826 "ssdb.m"
          if ((ssdb__Event_8 == (MR_Integer) 3))
#line 1826 "ssdb.m"
            ssdb__succeeded = MR_TRUE;
#line 1826 "ssdb.m"
          else
#line 1826 "ssdb.m"
            if ((ssdb__Event_8 == (MR_Integer) 5))
#line 1827 "ssdb.m"
              ssdb__succeeded = MR_TRUE;
#line 1826 "ssdb.m"
            else
#line 1826 "ssdb.m"
              ssdb__succeeded = MR_FALSE;
#line 1823 "ssdb.m"
        if (ssdb__succeeded)
#line 1830 "ssdb.m"
          {
#line 1830 "ssdb.m"
            MR_Word ssdb__StackFrame_12;
#line 1830 "ssdb.m"
            MR_Integer ssdb__CSN_13;
#line 1830 "ssdb.m"
            MR_Word ssdb__Stack_74;
#line 1831 "ssdb.m"
            MR_Integer ssdb__V_54_54;
#line 1831 "ssdb.m"
            MR_Integer ssdb__V_55_55;
#line 1831 "ssdb.m"
            MR_Word ssdb__V_56_56;
#line 1831 "ssdb.m"
            MR_String ssdb__V_57_57;
#line 1831 "ssdb.m"
            MR_Integer ssdb__V_58_58;
#line 1831 "ssdb.m"
            MR_Word ssdb__V_59_59;
#line 1831 "ssdb.m"
            MR_Word ssdb__V_60_60;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_finish_6_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 27039 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_finish_6_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 27055 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_74  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_finish_6_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 27074 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 981 "ssdb.m"
            if ((ssdb__Stack_74 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 979 "ssdb.m"
              {
#line 980 "ssdb.m"
                {
#line 980 "ssdb.m"
                  mercury__require__error_1_p_0((MR_String) "ssdb: stack_top on empty stack");
#line 980 "ssdb.m"
                  return;
                }
#line 979 "ssdb.m"
              }
#line 981 "ssdb.m"
            else
#line 982 "ssdb.m"
              {
#line 982 "ssdb.m"
                MR_Word ssdb__V_75_75;

#line 982 "ssdb.m"
                ssdb__StackFrame_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_74, (MR_Integer) 0)));
#line 982 "ssdb.m"
                ssdb__V_75_75 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_74, (MR_Integer) 1)));
#line 982 "ssdb.m"
              }
#line 1831 "ssdb.m"
            ssdb__V_54_54 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_12, (MR_Integer) 0)));
#line 1831 "ssdb.m"
            ssdb__CSN_13 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_12, (MR_Integer) 1)));
#line 1831 "ssdb.m"
            ssdb__V_55_55 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_12, (MR_Integer) 2)));
#line 1831 "ssdb.m"
            ssdb__V_56_56 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_12, (MR_Integer) 3)));
#line 1831 "ssdb.m"
            ssdb__V_57_57 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_12, (MR_Integer) 4)));
#line 1831 "ssdb.m"
            ssdb__V_58_58 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_12, (MR_Integer) 5)));
#line 1831 "ssdb.m"
            ssdb__V_59_59 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_12, (MR_Integer) 6)));
#line 1831 "ssdb.m"
            ssdb__V_60_60 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_12, (MR_Integer) 7)));
#line 1832 "ssdb.m"
            {
#line 1832 "ssdb.m"
              MR_Word base;
#line 1832 "ssdb.m"
              base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 1832 "ssdb.m"
              *ssdb__WhatNext_10 = base;
#line 1832 "ssdb.m"
              MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (ssdb__CSN_13));
#line 1832 "ssdb.m"
            }
#line 1830 "ssdb.m"
          }
#line 1823 "ssdb.m"
        else
#line 1835 "ssdb.m"
          {
#line 1834 "ssdb.m"
            {
#line 1834 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "The \140finish\' command can be executed only at a call or redo port.\n");
            }
#line 1518 "ssdb.m"
            {
#line 1518 "ssdb.m"
              ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1518 "ssdb.m"
              return;
            }
#line 1835 "ssdb.m"
          }
#line 1823 "ssdb.m"
      }
#line 1823 "ssdb.m"
    else
#line 1823 "ssdb.m"
      {
#line 1823 "ssdb.m"
        MR_Word ssdb__V_68_68 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args_7, (MR_Integer) 1)));
#line 1823 "ssdb.m"
        MR_String ssdb__V_69_69 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args_7, (MR_Integer) 0)));

#line 1823 "ssdb.m"
        if ((ssdb__V_68_68 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1851 "ssdb.m"
          {
#line 1851 "ssdb.m"
            MR_Integer ssdb__Num_15;
#line 3513 "ssdb.m"
            MR_Integer ssdb__V_90_90;

#line 3514 "ssdb.m"
            {
#line 3514 "ssdb.m"
              ssdb__succeeded = mercury__string__to_int_2_p_0(ssdb__V_69_69, &ssdb__Num_15);
            }
#line 3513 "ssdb.m"
            if (ssdb__succeeded)
#line 3513 "ssdb.m"
              {
#line 3515 "ssdb.m"
                ssdb__V_90_90 = (MR_Integer) 0;
#line 3515 "ssdb.m"
                ssdb__succeeded = (ssdb__Num_15 >= ssdb__V_90_90);
#line 3513 "ssdb.m"
              }
#line 1851 "ssdb.m"
            if (ssdb__succeeded)
#line 1841 "ssdb.m"
              {
#line 1841 "ssdb.m"
                MR_Integer ssdb__CurDepth_16;

#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_finish_6_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 27208 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_finish_6_p_0

	MR_Integer X;

		{
#line 303 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack_depth;

#line 27224 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__CurDepth_16  = X;
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_finish_6_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 27243 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 1842 "ssdb.m"
                ssdb__succeeded = (ssdb__Num_15 < ssdb__CurDepth_16);
#line 1846 "ssdb.m"
                if (ssdb__succeeded)
#line 1843 "ssdb.m"
                  {
#line 1843 "ssdb.m"
                    MR_Word ssdb__StackFrame_44;
#line 1843 "ssdb.m"
                    MR_Integer ssdb__CSN_45;
#line 1844 "ssdb.m"
                    MR_Integer ssdb__V_61_61;
#line 1844 "ssdb.m"
                    MR_Integer ssdb__V_62_62;
#line 1844 "ssdb.m"
                    MR_Word ssdb__V_63_63;
#line 1844 "ssdb.m"
                    MR_String ssdb__V_64_64;
#line 1844 "ssdb.m"
                    MR_Integer ssdb__V_65_65;
#line 1844 "ssdb.m"
                    MR_Word ssdb__V_66_66;
#line 1844 "ssdb.m"
                    MR_Word ssdb__V_67_67;

#line 1843 "ssdb.m"
                    {
#line 1843 "ssdb.m"
                      ssdb__stack_index_4_p_0(ssdb__Num_15, &ssdb__StackFrame_44);
                    }
#line 1844 "ssdb.m"
                    ssdb__V_61_61 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_44, (MR_Integer) 0)));
#line 1844 "ssdb.m"
                    ssdb__CSN_45 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_44, (MR_Integer) 1)));
#line 1844 "ssdb.m"
                    ssdb__V_62_62 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_44, (MR_Integer) 2)));
#line 1844 "ssdb.m"
                    ssdb__V_63_63 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_44, (MR_Integer) 3)));
#line 1844 "ssdb.m"
                    ssdb__V_64_64 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_44, (MR_Integer) 4)));
#line 1844 "ssdb.m"
                    ssdb__V_65_65 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_44, (MR_Integer) 5)));
#line 1844 "ssdb.m"
                    ssdb__V_66_66 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_44, (MR_Integer) 6)));
#line 1844 "ssdb.m"
                    ssdb__V_67_67 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__StackFrame_44, (MR_Integer) 7)));
#line 1845 "ssdb.m"
                    {
#line 1845 "ssdb.m"
                      MR_Word base;
#line 1845 "ssdb.m"
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 1845 "ssdb.m"
                      *ssdb__WhatNext_10 = base;
#line 1845 "ssdb.m"
                      MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (ssdb__CSN_45));
#line 1845 "ssdb.m"
                    }
#line 1843 "ssdb.m"
                  }
#line 1846 "ssdb.m"
                else
#line 1848 "ssdb.m"
                  {
#line 1848 "ssdb.m"
                    MR_Word ssdb__V_29_29;
#line 1848 "ssdb.m"
                    MR_Word ssdb__V_31_31;
#line 1848 "ssdb.m"
                    MR_Integer ssdb__V_32_32 = (ssdb__CurDepth_16 - (MR_Integer) 1);

#line 1848 "ssdb.m"
                    {
#line 1848 "ssdb.m"
                      ssdb__V_31_31 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 1848 "ssdb.m"
                      MR_hl_field(MR_mktag(1), ssdb__V_31_31, 0) = ((MR_Box) (ssdb__V_32_32));
#line 1848 "ssdb.m"
                    }
#line 1847 "ssdb.m"
                    {
#line 1847 "ssdb.m"
                      ssdb__V_29_29 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1847 "ssdb.m"
                      MR_hl_field(MR_mktag(1), ssdb__V_29_29, 0) = ((MR_Box) (ssdb__V_31_31));
#line 1847 "ssdb.m"
                      MR_hl_field(MR_mktag(1), ssdb__V_29_29, 1) = ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 1847 "ssdb.m"
                    }
#line 1847 "ssdb.m"
                    {
#line 1847 "ssdb.m"
                      mercury__io__format_4_p_0((MR_String) "The depth must be between 0 and %i.\n", ssdb__V_29_29);
                    }
#line 1849 "ssdb.m"
                    {
#line 1849 "ssdb.m"
                      ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1849 "ssdb.m"
                      return;
                    }
#line 1848 "ssdb.m"
                  }
#line 1841 "ssdb.m"
              }
#line 1851 "ssdb.m"
            else
#line 1852 "ssdb.m"
              {
#line 1852 "ssdb.m"
                {
#line 1852 "ssdb.m"
                  ssdb__print_invalid_argument_2_p_0();
                }
#line 1853 "ssdb.m"
                {
#line 1853 "ssdb.m"
                  ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1853 "ssdb.m"
                  return;
                }
#line 1852 "ssdb.m"
              }
#line 1851 "ssdb.m"
          }
#line 1823 "ssdb.m"
        else
#line 1856 "ssdb.m"
          {
#line 1857 "ssdb.m"
            {
#line 1857 "ssdb.m"
              ssdb__print_too_many_arguments_2_p_0();
            }
#line 1858 "ssdb.m"
            {
#line 1858 "ssdb.m"
              ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1858 "ssdb.m"
              return;
            }
#line 1856 "ssdb.m"
          }
#line 1823 "ssdb.m"
      }
#line 1823 "ssdb.m"
  }
#line 1818 "ssdb.m"
}

#line 1805 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_continue_6_p_0(
#line 1805 "ssdb.m"
  MR_Word ssdb__Args_7,
#line 1805 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1805 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1805 "ssdb.m"
  MR_Word * ssdb__WhatNext_10)
#line 1805 "ssdb.m"
{
#line 1810 "ssdb.m"
  {
#line 1810 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 1810 "ssdb.m"
    if ((ssdb__Args_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1811 "ssdb.m"
      *ssdb__WhatNext_10 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2));
#line 1810 "ssdb.m"
    else
#line 1813 "ssdb.m"
      {
#line 3441 "ssdb.m"
        {
#line 3441 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: too many arguments to command.\n");
        }
#line 1518 "ssdb.m"
        {
#line 1518 "ssdb.m"
          ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1518 "ssdb.m"
          return;
        }
#line 1813 "ssdb.m"
      }
#line 1810 "ssdb.m"
  }
#line 1805 "ssdb.m"
}

#line 1776 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_goto_6_p_0(
#line 1776 "ssdb.m"
  MR_Word ssdb__Args_7,
#line 1776 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1776 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1776 "ssdb.m"
  MR_Word * ssdb__WhatNext_10)
#line 1776 "ssdb.m"
{
#line 1781 "ssdb.m"
  {
#line 1781 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 1781 "ssdb.m"
    if ((ssdb__Args_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1781 "ssdb.m"
      {
#line 3436 "ssdb.m"
        {
#line 3436 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: command requires integer argument.\n");
        }
#line 1518 "ssdb.m"
        {
#line 1518 "ssdb.m"
          ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1518 "ssdb.m"
          return;
        }
#line 1781 "ssdb.m"
      }
#line 1781 "ssdb.m"
    else
#line 1781 "ssdb.m"
      {
#line 1781 "ssdb.m"
        MR_Word ssdb__V_32_32 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args_7, (MR_Integer) 1)));
#line 1781 "ssdb.m"
        MR_String ssdb__V_33_33 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args_7, (MR_Integer) 0)));

#line 1781 "ssdb.m"
        if ((ssdb__V_32_32 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1795 "ssdb.m"
          {
#line 1795 "ssdb.m"
            MR_Integer ssdb__Num_13;
#line 3513 "ssdb.m"
            MR_Integer ssdb__V_49_49;

#line 3514 "ssdb.m"
            {
#line 3514 "ssdb.m"
              ssdb__succeeded = mercury__string__to_int_2_p_0(ssdb__V_33_33, &ssdb__Num_13);
            }
#line 3513 "ssdb.m"
            if (ssdb__succeeded)
#line 3513 "ssdb.m"
              {
#line 3515 "ssdb.m"
                ssdb__V_49_49 = (MR_Integer) 0;
#line 3515 "ssdb.m"
                ssdb__succeeded = (ssdb__Num_13 >= ssdb__V_49_49);
#line 3513 "ssdb.m"
              }
#line 1795 "ssdb.m"
            if (ssdb__succeeded)
#line 1787 "ssdb.m"
              {
#line 1787 "ssdb.m"
                MR_Integer ssdb__CurEventNum_14;

#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_goto_6_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 27532 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_goto_6_p_0

	MR_Integer X;

		{
#line 292 "ssdb.m"
X = ssdb__mutable_variable_cur_ssdb_event_number;

#line 27548 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__CurEventNum_14  = X;
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_goto_6_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 27567 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 1788 "ssdb.m"
                ssdb__succeeded = (ssdb__Num_13 > ssdb__CurEventNum_14);
#line 1790 "ssdb.m"
                if (ssdb__succeeded)
#line 1789 "ssdb.m"
                  {
#line 1789 "ssdb.m"
                    MR_Word base;
#line 1789 "ssdb.m"
                    base = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1789 "ssdb.m"
                    *ssdb__WhatNext_10 = base;
#line 1789 "ssdb.m"
                    MR_hl_field(MR_mktag(3), base, 0) = ((MR_Box) (MR_Word) ((MR_Integer) 1));
#line 1789 "ssdb.m"
                    MR_hl_field(MR_mktag(3), base, 1) = ((MR_Box) (ssdb__Num_13));
#line 1789 "ssdb.m"
                  }
#line 1790 "ssdb.m"
                else
#line 1792 "ssdb.m"
                  {
#line 1791 "ssdb.m"
                    {
#line 1791 "ssdb.m"
                      mercury__io__write_string_3_p_0((MR_String) "The debugger cannot go to a past event.\n");
                    }
#line 1518 "ssdb.m"
                    {
#line 1518 "ssdb.m"
                      ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1518 "ssdb.m"
                      return;
                    }
#line 1792 "ssdb.m"
                  }
#line 1787 "ssdb.m"
              }
#line 1795 "ssdb.m"
            else
#line 1796 "ssdb.m"
              {
#line 3446 "ssdb.m"
                {
#line 3446 "ssdb.m"
                  mercury__io__write_string_3_p_0((MR_String) "ssdb: invalid argument to command.\n");
                }
#line 1518 "ssdb.m"
                {
#line 1518 "ssdb.m"
                  ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1518 "ssdb.m"
                  return;
                }
#line 1796 "ssdb.m"
              }
#line 1795 "ssdb.m"
          }
#line 1781 "ssdb.m"
        else
#line 1800 "ssdb.m"
          {
#line 3441 "ssdb.m"
            {
#line 3441 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: too many arguments to command.\n");
            }
#line 1518 "ssdb.m"
            {
#line 1518 "ssdb.m"
              ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1518 "ssdb.m"
              return;
            }
#line 1800 "ssdb.m"
          }
#line 1781 "ssdb.m"
      }
#line 1781 "ssdb.m"
  }
#line 1776 "ssdb.m"
}

#line 1752 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_next_6_p_0(
#line 1752 "ssdb.m"
  MR_Word ssdb__Args_7,
#line 1752 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1752 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1752 "ssdb.m"
  MR_Word * ssdb__WhatNext_10)
#line 1752 "ssdb.m"
{
#line 1757 "ssdb.m"
  {
#line 1757 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 1757 "ssdb.m"
    if ((ssdb__Args_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1765 "ssdb.m"
      {
#line 1760 "ssdb.m"
        if ((ssdb__Event_8 == (MR_Integer) 0))
#line 1759 "ssdb.m"
          ssdb__succeeded = MR_TRUE;
#line 1760 "ssdb.m"
        else
#line 1760 "ssdb.m"
          if ((ssdb__Event_8 == (MR_Integer) 3))
#line 1760 "ssdb.m"
            ssdb__succeeded = MR_TRUE;
#line 1760 "ssdb.m"
          else
#line 1760 "ssdb.m"
            if ((ssdb__Event_8 == (MR_Integer) 5))
#line 1761 "ssdb.m"
              ssdb__succeeded = MR_TRUE;
#line 1760 "ssdb.m"
            else
#line 1760 "ssdb.m"
              ssdb__succeeded = MR_FALSE;
#line 1765 "ssdb.m"
        if (ssdb__succeeded)
#line 1764 "ssdb.m"
          *ssdb__WhatNext_10 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1));
#line 1765 "ssdb.m"
        else
#line 1767 "ssdb.m"
          {
#line 1766 "ssdb.m"
            {
#line 1766 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "The \140next\' command can be executed only at a call or redo port.\n");
            }
#line 1518 "ssdb.m"
            {
#line 1518 "ssdb.m"
              ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1518 "ssdb.m"
              return;
            }
#line 1767 "ssdb.m"
          }
#line 1765 "ssdb.m"
      }
#line 1757 "ssdb.m"
    else
#line 1771 "ssdb.m"
      {
#line 3441 "ssdb.m"
        {
#line 3441 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: too many arguments to command.\n");
        }
#line 1518 "ssdb.m"
        {
#line 1518 "ssdb.m"
          ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1518 "ssdb.m"
          return;
        }
#line 1771 "ssdb.m"
      }
#line 1757 "ssdb.m"
  }
#line 1752 "ssdb.m"
}

#line 1730 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_step_6_p_0(
#line 1730 "ssdb.m"
  MR_Word ssdb__Args_7,
#line 1730 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1730 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1730 "ssdb.m"
  MR_Word * ssdb__WhatNext_10)
#line 1730 "ssdb.m"
{
#line 1735 "ssdb.m"
  {
#line 1735 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 1735 "ssdb.m"
    if ((ssdb__Args_7 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1736 "ssdb.m"
      *ssdb__WhatNext_10 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1735 "ssdb.m"
    else
#line 1746 "ssdb.m"
      {
#line 1746 "ssdb.m"
        MR_Integer ssdb__N_15;
#line 1740 "ssdb.m"
        MR_String ssdb__NStr_14 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Args_7, (MR_Integer) 0)));
#line 1740 "ssdb.m"
        MR_Word ssdb__V_19_19 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Args_7, (MR_Integer) 1)));
#line 1740 "ssdb.m"
        MR_Integer ssdb__V_20_20;

#line 1740 "ssdb.m"
        ssdb__succeeded = (ssdb__V_19_19 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 1740 "ssdb.m"
        if (ssdb__succeeded)
#line 1740 "ssdb.m"
          {
#line 1741 "ssdb.m"
            {
#line 1741 "ssdb.m"
              ssdb__succeeded = mercury__string__to_int_2_p_0(ssdb__NStr_14, &ssdb__N_15);
            }
#line 1740 "ssdb.m"
            if (ssdb__succeeded)
#line 1740 "ssdb.m"
              {
#line 1742 "ssdb.m"
                ssdb__V_20_20 = (MR_Integer) 0;
#line 1742 "ssdb.m"
                ssdb__succeeded = (ssdb__N_15 > ssdb__V_20_20);
#line 1740 "ssdb.m"
              }
#line 1740 "ssdb.m"
          }
#line 1746 "ssdb.m"
        if (ssdb__succeeded)
#line 1744 "ssdb.m"
          {
#line 1744 "ssdb.m"
            MR_Integer ssdb__EventNumber_16;
#line 1744 "ssdb.m"
            MR_Integer ssdb__V_22_22;

#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_step_6_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 27824 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_step_6_p_0

	MR_Integer X;

		{
#line 292 "ssdb.m"
X = ssdb__mutable_variable_cur_ssdb_event_number;

#line 27840 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__EventNumber_16  = X;
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__execute_ssdb_step_6_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 27859 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 1745 "ssdb.m"
            ssdb__V_22_22 = (ssdb__EventNumber_16 + ssdb__N_15);
#line 1745 "ssdb.m"
            {
#line 1745 "ssdb.m"
              MR_Word base;
#line 1745 "ssdb.m"
              base = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1745 "ssdb.m"
              *ssdb__WhatNext_10 = base;
#line 1745 "ssdb.m"
              MR_hl_field(MR_mktag(3), base, 0) = ((MR_Box) (MR_Word) ((MR_Integer) 1));
#line 1745 "ssdb.m"
              MR_hl_field(MR_mktag(3), base, 1) = ((MR_Box) (ssdb__V_22_22));
#line 1745 "ssdb.m"
            }
#line 1744 "ssdb.m"
          }
#line 1746 "ssdb.m"
        else
#line 1747 "ssdb.m"
          {
#line 3436 "ssdb.m"
            {
#line 3436 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb: command requires integer argument.\n");
            }
#line 1518 "ssdb.m"
            {
#line 1518 "ssdb.m"
              ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1518 "ssdb.m"
              return;
            }
#line 1747 "ssdb.m"
          }
#line 1746 "ssdb.m"
      }
#line 1735 "ssdb.m"
  }
#line 1730 "ssdb.m"
}

#line 3364 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_help_3_p_0_1(
#line 3364 "ssdb.m"
  MR_Box ssdb__closure_arg,
#line 3364 "ssdb.m"
  MR_Box ssdb__wrapper_arg_1,
#line 3364 "ssdb.m"
  MR_Box ssdb__wrapper_arg_2,
#line 3364 "ssdb.m"
  MR_Box * ssdb__wrapper_arg_3)
#line 3364 "ssdb.m"
{
#line 3364 "ssdb.m"
  {
#line 3364 "ssdb.m"
    MR_Box ssdb__closure = ssdb__closure_arg;

#line 3364 "ssdb.m"
    {
#line 3364 "ssdb.m"
      mercury__io__write_string_3_p_0(((MR_String) ssdb__wrapper_arg_1));
#line 3364 "ssdb.m"
      return;
    }
#line 3364 "ssdb.m"
  }
#line 3364 "ssdb.m"
}

#line 1715 "ssdb.m"
static void MR_CALL 
ssdb__execute_ssdb_help_3_p_0(
#line 1715 "ssdb.m"
  MR_Word ssdb__Args_4)
#line 1715 "ssdb.m"
{
#line 1719 "ssdb.m"
  {
#line 1719 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 1719 "ssdb.m"
    if ((ssdb__Args_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 3327 "ssdb.m"
      {
#line 3364 "ssdb.m"
        {
#line 3364 "ssdb.m"
          mercury__io__write_list_5_p_0((MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0, (MR_Word) MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[51]), (MR_String) "\n", (MR_Word) &ssdb_scalar_common_2[1]);
        }
#line 3365 "ssdb.m"
        {
#line 3365 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "\n\n");
#line 3365 "ssdb.m"
          return;
        }
#line 3327 "ssdb.m"
      }
#line 1719 "ssdb.m"
    else
#line 3440 "ssdb.m"
      {
#line 3441 "ssdb.m"
        {
#line 3441 "ssdb.m"
          mercury__io__write_string_3_p_0((MR_String) "ssdb: too many arguments to command.\n");
#line 3441 "ssdb.m"
          return;
        }
#line 3440 "ssdb.m"
      }
#line 1719 "ssdb.m"
  }
#line 1715 "ssdb.m"
}

#line 1605 "ssdb.m"
static void MR_CALL 
ssdb__execute_cmd_8_p_0(
#line 1605 "ssdb.m"
  MR_Word ssdb__Cmd_9,
#line 1605 "ssdb.m"
  MR_Word ssdb__Args_10,
#line 1605 "ssdb.m"
  MR_Word ssdb__Interacting_11,
#line 1605 "ssdb.m"
  MR_Word ssdb__Event_12,
#line 1605 "ssdb.m"
  MR_Integer ssdb__Depth_13,
#line 1605 "ssdb.m"
  MR_Word * ssdb__WhatNext_14)
#line 1605 "ssdb.m"
{
#line 1610 "ssdb.m"
  {
#line 1610 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 1610 "ssdb.m"
    if ((ssdb__Cmd_9 == (MR_Integer) 18))
#line 1709 "ssdb.m"
      {
#line 1669 "ssdb.m"
        {
#line 1669 "ssdb.m"
          ssdb__execute_ssdb_alias_4_p_0(ssdb__Args_10, ssdb__Interacting_11);
        }
#line 1518 "ssdb.m"
        {
#line 1518 "ssdb.m"
          ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1518 "ssdb.m"
          return;
        }
#line 1709 "ssdb.m"
      }
#line 1610 "ssdb.m"
    else
#line 1610 "ssdb.m"
      if ((ssdb__Cmd_9 == (MR_Integer) 25))
#line 1709 "ssdb.m"
        {
#line 1690 "ssdb.m"
          {
#line 1690 "ssdb.m"
            ssdb__execute_ssdb_break_3_p_0(ssdb__Args_10);
          }
#line 1518 "ssdb.m"
          {
#line 1518 "ssdb.m"
            ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1518 "ssdb.m"
            return;
          }
#line 1709 "ssdb.m"
        }
#line 1610 "ssdb.m"
      else
#line 1610 "ssdb.m"
        if ((ssdb__Cmd_9 == (MR_Integer) 10))
#line 1709 "ssdb.m"
          {
#line 1654 "ssdb.m"
            {
#line 1654 "ssdb.m"
              ssdb__execute_ssdb_browse_4_p_0(ssdb__Args_10, ssdb__Depth_13);
            }
#line 1710 "ssdb.m"
            {
#line 1710 "ssdb.m"
              ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
              return;
            }
#line 1709 "ssdb.m"
          }
#line 1610 "ssdb.m"
        else
#line 1610 "ssdb.m"
          if ((ssdb__Cmd_9 == (MR_Integer) 3))
#line 1620 "ssdb.m"
            {
#line 1620 "ssdb.m"
              ssdb__execute_ssdb_continue_6_p_0(ssdb__Args_10, ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1620 "ssdb.m"
              return;
            }
#line 1610 "ssdb.m"
          else
#line 1610 "ssdb.m"
            if ((ssdb__Cmd_9 == (MR_Integer) 15))
#line 1709 "ssdb.m"
              {
#line 1660 "ssdb.m"
                {
#line 1660 "ssdb.m"
                  ssdb__execute_ssdb_current_4_p_0(ssdb__Args_10, ssdb__Event_12);
                }
#line 1710 "ssdb.m"
                {
#line 1710 "ssdb.m"
                  ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
                  return;
                }
#line 1709 "ssdb.m"
              }
#line 1610 "ssdb.m"
            else
#line 1610 "ssdb.m"
              if ((ssdb__Cmd_9 == (MR_Integer) 28))
#line 1709 "ssdb.m"
                {
#line 1699 "ssdb.m"
                  {
#line 1699 "ssdb.m"
                    ssdb__execute_ssdb_delete_3_p_0(ssdb__Args_10);
                  }
#line 1710 "ssdb.m"
                  {
#line 1710 "ssdb.m"
                    ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
                    return;
                  }
#line 1709 "ssdb.m"
                }
#line 1610 "ssdb.m"
              else
#line 1610 "ssdb.m"
                if ((ssdb__Cmd_9 == (MR_Integer) 27))
#line 1709 "ssdb.m"
                  {
#line 1696 "ssdb.m"
                    {
#line 1696 "ssdb.m"
                      ssdb__execute_ssdb_disable_3_p_0(ssdb__Args_10);
                    }
#line 1710 "ssdb.m"
                    {
#line 1710 "ssdb.m"
                      ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
                      return;
                    }
#line 1709 "ssdb.m"
                  }
#line 1610 "ssdb.m"
                else
#line 1610 "ssdb.m"
                  if ((ssdb__Cmd_9 == (MR_Integer) 12))
#line 1643 "ssdb.m"
                    {
#line 1643 "ssdb.m"
                      MR_Integer ssdb__NewDepth_16;

#line 1636 "ssdb.m"
                      {
#line 1636 "ssdb.m"
                        ssdb__execute_ssdb_down_5_p_0(ssdb__Args_10, ssdb__Depth_13, &ssdb__NewDepth_16);
                      }
#line 1644 "ssdb.m"
                      {
#line 1644 "ssdb.m"
                        ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__NewDepth_16, ssdb__WhatNext_14);
#line 1644 "ssdb.m"
                        return;
                      }
#line 1643 "ssdb.m"
                    }
#line 1610 "ssdb.m"
                  else
#line 1610 "ssdb.m"
                    if ((ssdb__Cmd_9 == (MR_Integer) 26))
#line 1709 "ssdb.m"
                      {
#line 1693 "ssdb.m"
                        {
#line 1693 "ssdb.m"
                          ssdb__execute_ssdb_enable_3_p_0(ssdb__Args_10);
                        }
#line 1710 "ssdb.m"
                        {
#line 1710 "ssdb.m"
                          ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
                          return;
                        }
#line 1709 "ssdb.m"
                      }
#line 1610 "ssdb.m"
                    else
#line 1610 "ssdb.m"
                      if ((ssdb__Cmd_9 == (MR_Integer) 6))
#line 1629 "ssdb.m"
                        {
#line 1629 "ssdb.m"
                          ssdb__execute_ssdb_exception_6_p_0(ssdb__Args_10, ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1629 "ssdb.m"
                          return;
                        }
#line 1610 "ssdb.m"
                      else
#line 1610 "ssdb.m"
                        if ((ssdb__Cmd_9 == (MR_Integer) 4))
#line 1623 "ssdb.m"
                          {
#line 1623 "ssdb.m"
                            ssdb__execute_ssdb_finish_6_p_0(ssdb__Args_10, ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1623 "ssdb.m"
                            return;
                          }
#line 1610 "ssdb.m"
                        else
#line 1610 "ssdb.m"
                          if ((ssdb__Cmd_9 == (MR_Integer) 16))
#line 1709 "ssdb.m"
                            {
#line 1663 "ssdb.m"
                              {
#line 1663 "ssdb.m"
                                ssdb__execute_ssdb_format_3_p_0(ssdb__Args_10);
                              }
#line 1710 "ssdb.m"
                              {
#line 1710 "ssdb.m"
                                ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
                                return;
                              }
#line 1709 "ssdb.m"
                            }
#line 1610 "ssdb.m"
                          else
#line 1610 "ssdb.m"
                            if ((ssdb__Cmd_9 == (MR_Integer) 17))
#line 1709 "ssdb.m"
                              {
#line 1666 "ssdb.m"
                                {
#line 1666 "ssdb.m"
                                  ssdb__execute_ssdb_format_param_3_p_0(ssdb__Args_10);
                                }
#line 1710 "ssdb.m"
                                {
#line 1710 "ssdb.m"
                                  ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
                                  return;
                                }
#line 1709 "ssdb.m"
                              }
#line 1610 "ssdb.m"
                            else
#line 1610 "ssdb.m"
                              if ((ssdb__Cmd_9 == (MR_Integer) 2))
#line 1617 "ssdb.m"
                                {
#line 1617 "ssdb.m"
                                  ssdb__execute_ssdb_goto_6_p_0(ssdb__Args_10, ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1617 "ssdb.m"
                                  return;
                                }
#line 1610 "ssdb.m"
                              else
#line 1610 "ssdb.m"
                                if ((ssdb__Cmd_9 == (MR_Integer) 29))
#line 1709 "ssdb.m"
                                  {
#line 1702 "ssdb.m"
                                    {
#line 1702 "ssdb.m"
                                      ssdb__execute_ssdb_help_3_p_0(ssdb__Args_10);
                                    }
#line 1710 "ssdb.m"
                                    {
#line 1710 "ssdb.m"
                                      ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
                                      return;
                                    }
#line 1709 "ssdb.m"
                                  }
#line 1610 "ssdb.m"
                                else
#line 1610 "ssdb.m"
                                  if ((ssdb__Cmd_9 == (MR_Integer) 14))
#line 1643 "ssdb.m"
                                    {
#line 1643 "ssdb.m"
                                      MR_Integer ssdb__NewDepth_62;

#line 1642 "ssdb.m"
                                      {
#line 1642 "ssdb.m"
                                        ssdb__execute_ssdb_level_5_p_0(ssdb__Args_10, ssdb__Depth_13, &ssdb__NewDepth_62);
                                      }
#line 1644 "ssdb.m"
                                      {
#line 1644 "ssdb.m"
                                        ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__NewDepth_62, ssdb__WhatNext_14);
#line 1644 "ssdb.m"
                                        return;
                                      }
#line 1643 "ssdb.m"
                                    }
#line 1610 "ssdb.m"
                                  else
#line 1610 "ssdb.m"
                                    if ((ssdb__Cmd_9 == (MR_Integer) 20))
#line 1709 "ssdb.m"
                                      {
#line 1675 "ssdb.m"
                                        {
#line 1675 "ssdb.m"
                                          ssdb__execute_ssdb_list_4_p_0(ssdb__Args_10, ssdb__Depth_13);
                                        }
#line 1710 "ssdb.m"
                                        {
#line 1710 "ssdb.m"
                                          ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
                                          return;
                                        }
#line 1709 "ssdb.m"
                                      }
#line 1610 "ssdb.m"
                                    else
#line 1610 "ssdb.m"
                                      if ((ssdb__Cmd_9 == (MR_Integer) 24))
#line 1709 "ssdb.m"
                                        {
#line 1687 "ssdb.m"
                                          {
#line 1687 "ssdb.m"
                                            ssdb__execute_ssdb_list_context_lines_3_p_0(ssdb__Args_10);
                                          }
#line 1710 "ssdb.m"
                                          {
#line 1710 "ssdb.m"
                                            ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
                                            return;
                                          }
#line 1709 "ssdb.m"
                                        }
#line 1610 "ssdb.m"
                                      else
#line 1610 "ssdb.m"
                                        if ((ssdb__Cmd_9 == (MR_Integer) 21))
#line 1709 "ssdb.m"
                                          {
#line 1678 "ssdb.m"
                                            {
#line 1678 "ssdb.m"
                                              ssdb__execute_ssdb_list_path_3_p_0(ssdb__Args_10);
                                            }
#line 1710 "ssdb.m"
                                            {
#line 1710 "ssdb.m"
                                              ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
                                              return;
                                            }
#line 1709 "ssdb.m"
                                          }
#line 1610 "ssdb.m"
                                        else
#line 1610 "ssdb.m"
                                          if ((ssdb__Cmd_9 == (MR_Integer) 1))
#line 1614 "ssdb.m"
                                            {
#line 1614 "ssdb.m"
                                              ssdb__execute_ssdb_next_6_p_0(ssdb__Args_10, ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1614 "ssdb.m"
                                              return;
                                            }
#line 1610 "ssdb.m"
                                          else
#line 1610 "ssdb.m"
                                            if ((ssdb__Cmd_9 == (MR_Integer) 23))
#line 1709 "ssdb.m"
                                              {
#line 1684 "ssdb.m"
                                                {
#line 1684 "ssdb.m"
                                                  ssdb__execute_ssdb_pop_list_dir_3_p_0(ssdb__Args_10);
                                                }
#line 1710 "ssdb.m"
                                                {
#line 1710 "ssdb.m"
                                                  ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
                                                  return;
                                                }
#line 1709 "ssdb.m"
                                              }
#line 1610 "ssdb.m"
                                            else
#line 1610 "ssdb.m"
                                              if ((ssdb__Cmd_9 == (MR_Integer) 9))
#line 1709 "ssdb.m"
                                                {
#line 1651 "ssdb.m"
                                                  {
#line 1651 "ssdb.m"
                                                    ssdb__execute_ssdb_print_4_p_0(ssdb__Args_10, ssdb__Depth_13);
                                                  }
#line 1710 "ssdb.m"
                                                  {
#line 1710 "ssdb.m"
                                                    ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
                                                    return;
                                                  }
#line 1709 "ssdb.m"
                                                }
#line 1610 "ssdb.m"
                                              else
#line 1610 "ssdb.m"
                                                if ((ssdb__Cmd_9 == (MR_Integer) 22))
#line 1709 "ssdb.m"
                                                  {
#line 1681 "ssdb.m"
                                                    {
#line 1681 "ssdb.m"
                                                      ssdb__execute_ssdb_push_list_dir_3_p_0(ssdb__Args_10);
                                                    }
#line 1710 "ssdb.m"
                                                    {
#line 1710 "ssdb.m"
                                                      ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
                                                      return;
                                                    }
#line 1709 "ssdb.m"
                                                  }
#line 1610 "ssdb.m"
                                                else
#line 1610 "ssdb.m"
                                                  if ((ssdb__Cmd_9 == (MR_Integer) 31))
#line 1709 "ssdb.m"
                                                    {
#line 1708 "ssdb.m"
                                                      {
#line 1708 "ssdb.m"
                                                        ssdb__execute_ssdb_quit_4_p_0(ssdb__Args_10, ssdb__Interacting_11);
                                                      }
#line 1710 "ssdb.m"
                                                      {
#line 1710 "ssdb.m"
                                                        ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
                                                        return;
                                                      }
#line 1709 "ssdb.m"
                                                    }
#line 1610 "ssdb.m"
                                                  else
#line 1610 "ssdb.m"
                                                    if ((ssdb__Cmd_9 == (MR_Integer) 7))
#line 1632 "ssdb.m"
                                                      {
#line 1632 "ssdb.m"
                                                        ssdb__execute_ssdb_retry_6_p_0(ssdb__Args_10, ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1632 "ssdb.m"
                                                        return;
                                                      }
#line 1610 "ssdb.m"
                                                    else
#line 1610 "ssdb.m"
                                                      if ((ssdb__Cmd_9 == (MR_Integer) 5))
#line 1626 "ssdb.m"
                                                        {
#line 1626 "ssdb.m"
                                                          ssdb__execute_ssdb_return_6_p_0(ssdb__Args_10, ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1626 "ssdb.m"
                                                          return;
                                                        }
#line 1610 "ssdb.m"
                                                      else
#line 1610 "ssdb.m"
                                                        if ((ssdb__Cmd_9 == (MR_Integer) 30))
#line 1709 "ssdb.m"
                                                          {
#line 1705 "ssdb.m"
                                                            {
#line 1705 "ssdb.m"
                                                              ssdb__execute_ssdb_source_3_p_0(ssdb__Args_10);
                                                            }
#line 1710 "ssdb.m"
                                                            {
#line 1710 "ssdb.m"
                                                              ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
                                                              return;
                                                            }
#line 1709 "ssdb.m"
                                                          }
#line 1610 "ssdb.m"
                                                        else
#line 1610 "ssdb.m"
                                                          if ((ssdb__Cmd_9 == (MR_Integer) 8))
#line 1709 "ssdb.m"
                                                            {
#line 1648 "ssdb.m"
                                                              {
#line 1648 "ssdb.m"
                                                                ssdb__execute_ssdb_stack_4_p_0(ssdb__Args_10, ssdb__Depth_13);
                                                              }
#line 1710 "ssdb.m"
                                                              {
#line 1710 "ssdb.m"
                                                                ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
                                                                return;
                                                              }
#line 1709 "ssdb.m"
                                                            }
#line 1610 "ssdb.m"
                                                          else
#line 1610 "ssdb.m"
                                                            if ((ssdb__Cmd_9 == (MR_Integer) 0))
#line 1611 "ssdb.m"
                                                              {
#line 1611 "ssdb.m"
                                                                ssdb__execute_ssdb_step_6_p_0(ssdb__Args_10, ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1611 "ssdb.m"
                                                                return;
                                                              }
#line 1610 "ssdb.m"
                                                            else
#line 1610 "ssdb.m"
                                                              if ((ssdb__Cmd_9 == (MR_Integer) 19))
#line 1709 "ssdb.m"
                                                                {
#line 1672 "ssdb.m"
                                                                  {
#line 1672 "ssdb.m"
                                                                    ssdb__execute_ssdb_unalias_4_p_0(ssdb__Args_10, ssdb__Interacting_11);
                                                                  }
#line 1710 "ssdb.m"
                                                                  {
#line 1710 "ssdb.m"
                                                                    ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
                                                                    return;
                                                                  }
#line 1709 "ssdb.m"
                                                                }
#line 1610 "ssdb.m"
                                                              else
#line 1610 "ssdb.m"
                                                                if ((ssdb__Cmd_9 == (MR_Integer) 13))
#line 1643 "ssdb.m"
                                                                  {
#line 1643 "ssdb.m"
                                                                    MR_Integer ssdb__NewDepth_74;

#line 1639 "ssdb.m"
                                                                    {
#line 1639 "ssdb.m"
                                                                      ssdb__execute_ssdb_up_5_p_0(ssdb__Args_10, ssdb__Depth_13, &ssdb__NewDepth_74);
                                                                    }
#line 1644 "ssdb.m"
                                                                    {
#line 1644 "ssdb.m"
                                                                      ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__NewDepth_74, ssdb__WhatNext_14);
#line 1644 "ssdb.m"
                                                                      return;
                                                                    }
#line 1643 "ssdb.m"
                                                                  }
#line 1610 "ssdb.m"
                                                                else
#line 1709 "ssdb.m"
                                                                  {
#line 1657 "ssdb.m"
                                                                    {
#line 1657 "ssdb.m"
                                                                      ssdb__execute_ssdb_vars_4_p_0(ssdb__Args_10, ssdb__Depth_13);
                                                                    }
#line 1710 "ssdb.m"
                                                                    {
#line 1710 "ssdb.m"
                                                                      ssdb__read_and_execute_cmd_5_p_0(ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1710 "ssdb.m"
                                                                      return;
                                                                    }
#line 1709 "ssdb.m"
                                                                  }
#line 1610 "ssdb.m"
  }
#line 1605 "ssdb.m"
}

#line 1593 "ssdb.m"
static void MR_CALL 
ssdb__execute_cmd_string_8_p_0(
#line 1593 "ssdb.m"
  MR_String ssdb__CmdWord_9,
#line 1593 "ssdb.m"
  MR_Word ssdb__ArgWords_10,
#line 1593 "ssdb.m"
  MR_Word ssdb__Interacting_11,
#line 1593 "ssdb.m"
  MR_Word ssdb__Event_12,
#line 1593 "ssdb.m"
  MR_Integer ssdb__Depth_13,
#line 1593 "ssdb.m"
  MR_Word * ssdb__WhatNext_14)
#line 1593 "ssdb.m"
{
#line 1600 "ssdb.m"
  {
#line 1600 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 1600 "ssdb.m"
    MR_Word ssdb__Cmd_16;

#line 1448 "ssdb.m"
    if ((strcmp(ssdb__CmdWord_9, (MR_String) "up") == 0))
#line 1463 "ssdb.m"
      {
#line 1463 "ssdb.m"
        ssdb__Cmd_16 = (MR_Integer) 13;
#line 1463 "ssdb.m"
        ssdb__succeeded = MR_TRUE;
#line 1463 "ssdb.m"
      }
#line 1448 "ssdb.m"
    else
#line 1448 "ssdb.m"
      if ((strcmp(ssdb__CmdWord_9, (MR_String) "down") == 0))
#line 1462 "ssdb.m"
        {
#line 1462 "ssdb.m"
          ssdb__Cmd_16 = (MR_Integer) 12;
#line 1462 "ssdb.m"
          ssdb__succeeded = MR_TRUE;
#line 1462 "ssdb.m"
        }
#line 1448 "ssdb.m"
      else
#line 1448 "ssdb.m"
        if ((strcmp(ssdb__CmdWord_9, (MR_String) "goto") == 0))
#line 1450 "ssdb.m"
          {
#line 1450 "ssdb.m"
            ssdb__Cmd_16 = (MR_Integer) 2;
#line 1450 "ssdb.m"
            ssdb__succeeded = MR_TRUE;
#line 1450 "ssdb.m"
          }
#line 1448 "ssdb.m"
        else
#line 1448 "ssdb.m"
          if ((strcmp(ssdb__CmdWord_9, (MR_String) "help") == 0))
#line 1483 "ssdb.m"
            {
#line 1483 "ssdb.m"
              ssdb__Cmd_16 = (MR_Integer) 29;
#line 1483 "ssdb.m"
              ssdb__succeeded = MR_TRUE;
#line 1483 "ssdb.m"
            }
#line 1448 "ssdb.m"
          else
#line 1448 "ssdb.m"
            if ((strcmp(ssdb__CmdWord_9, (MR_String) "list") == 0))
#line 1472 "ssdb.m"
              {
#line 1472 "ssdb.m"
                ssdb__Cmd_16 = (MR_Integer) 20;
#line 1472 "ssdb.m"
                ssdb__succeeded = MR_TRUE;
#line 1472 "ssdb.m"
              }
#line 1448 "ssdb.m"
            else
#line 1448 "ssdb.m"
              if ((strcmp(ssdb__CmdWord_9, (MR_String) "next") == 0))
#line 1449 "ssdb.m"
                {
#line 1449 "ssdb.m"
                  ssdb__Cmd_16 = (MR_Integer) 1;
#line 1449 "ssdb.m"
                  ssdb__succeeded = MR_TRUE;
#line 1449 "ssdb.m"
                }
#line 1448 "ssdb.m"
              else
#line 1448 "ssdb.m"
                if ((strcmp(ssdb__CmdWord_9, (MR_String) "quit") == 0))
#line 1485 "ssdb.m"
                  {
#line 1485 "ssdb.m"
                    ssdb__Cmd_16 = (MR_Integer) 31;
#line 1485 "ssdb.m"
                    ssdb__succeeded = MR_TRUE;
#line 1485 "ssdb.m"
                  }
#line 1448 "ssdb.m"
                else
#line 1448 "ssdb.m"
                  if ((strcmp(ssdb__CmdWord_9, (MR_String) "step") == 0))
#line 1448 "ssdb.m"
                    {
#line 1448 "ssdb.m"
                      ssdb__Cmd_16 = (MR_Integer) 0;
#line 1448 "ssdb.m"
                      ssdb__succeeded = MR_TRUE;
#line 1448 "ssdb.m"
                    }
#line 1448 "ssdb.m"
                  else
#line 1448 "ssdb.m"
                    if ((strcmp(ssdb__CmdWord_9, (MR_String) "vars") == 0))
#line 1461 "ssdb.m"
                      {
#line 1461 "ssdb.m"
                        ssdb__Cmd_16 = (MR_Integer) 11;
#line 1461 "ssdb.m"
                        ssdb__succeeded = MR_TRUE;
#line 1461 "ssdb.m"
                      }
#line 1448 "ssdb.m"
                    else
#line 1448 "ssdb.m"
                      if ((strcmp(ssdb__CmdWord_9, (MR_String) "alias") == 0))
#line 1469 "ssdb.m"
                        {
#line 1469 "ssdb.m"
                          ssdb__Cmd_16 = (MR_Integer) 18;
#line 1469 "ssdb.m"
                          ssdb__succeeded = MR_TRUE;
#line 1469 "ssdb.m"
                        }
#line 1448 "ssdb.m"
                      else
#line 1448 "ssdb.m"
                        if ((strcmp(ssdb__CmdWord_9, (MR_String) "break") == 0))
#line 1478 "ssdb.m"
                          {
#line 1478 "ssdb.m"
                            ssdb__Cmd_16 = (MR_Integer) 25;
#line 1478 "ssdb.m"
                            ssdb__succeeded = MR_TRUE;
#line 1478 "ssdb.m"
                          }
#line 1448 "ssdb.m"
                        else
#line 1448 "ssdb.m"
                          if ((strcmp(ssdb__CmdWord_9, (MR_String) "level") == 0))
#line 1464 "ssdb.m"
                            {
#line 1464 "ssdb.m"
                              ssdb__Cmd_16 = (MR_Integer) 14;
#line 1464 "ssdb.m"
                              ssdb__succeeded = MR_TRUE;
#line 1464 "ssdb.m"
                            }
#line 1448 "ssdb.m"
                          else
#line 1448 "ssdb.m"
                            if ((strcmp(ssdb__CmdWord_9, (MR_String) "print") == 0))
#line 1459 "ssdb.m"
                              {
#line 1459 "ssdb.m"
                                ssdb__Cmd_16 = (MR_Integer) 9;
#line 1459 "ssdb.m"
                                ssdb__succeeded = MR_TRUE;
#line 1459 "ssdb.m"
                              }
#line 1448 "ssdb.m"
                            else
#line 1448 "ssdb.m"
                              if ((strcmp(ssdb__CmdWord_9, (MR_String) "retry") == 0))
#line 1456 "ssdb.m"
                                {
#line 1456 "ssdb.m"
                                  ssdb__Cmd_16 = (MR_Integer) 7;
#line 1456 "ssdb.m"
                                  ssdb__succeeded = MR_TRUE;
#line 1456 "ssdb.m"
                                }
#line 1448 "ssdb.m"
                              else
#line 1448 "ssdb.m"
                                if ((strcmp(ssdb__CmdWord_9, (MR_String) "stack") == 0))
#line 1458 "ssdb.m"
                                  {
#line 1458 "ssdb.m"
                                    ssdb__Cmd_16 = (MR_Integer) 8;
#line 1458 "ssdb.m"
                                    ssdb__succeeded = MR_TRUE;
#line 1458 "ssdb.m"
                                  }
#line 1448 "ssdb.m"
                                else
#line 1448 "ssdb.m"
                                  if ((strcmp(ssdb__CmdWord_9, (MR_String) "browse") == 0))
#line 1460 "ssdb.m"
                                    {
#line 1460 "ssdb.m"
                                      ssdb__Cmd_16 = (MR_Integer) 10;
#line 1460 "ssdb.m"
                                      ssdb__succeeded = MR_TRUE;
#line 1460 "ssdb.m"
                                    }
#line 1448 "ssdb.m"
                                  else
#line 1448 "ssdb.m"
                                    if ((strcmp(ssdb__CmdWord_9, (MR_String) "delete") == 0))
#line 1481 "ssdb.m"
                                      {
#line 1481 "ssdb.m"
                                        ssdb__Cmd_16 = (MR_Integer) 28;
#line 1481 "ssdb.m"
                                        ssdb__succeeded = MR_TRUE;
#line 1481 "ssdb.m"
                                      }
#line 1448 "ssdb.m"
                                    else
#line 1448 "ssdb.m"
                                      if ((strcmp(ssdb__CmdWord_9, (MR_String) "enable") == 0))
#line 1479 "ssdb.m"
                                        {
#line 1479 "ssdb.m"
                                          ssdb__Cmd_16 = (MR_Integer) 26;
#line 1479 "ssdb.m"
                                          ssdb__succeeded = MR_TRUE;
#line 1479 "ssdb.m"
                                        }
#line 1448 "ssdb.m"
                                      else
#line 1448 "ssdb.m"
                                        if ((strcmp(ssdb__CmdWord_9, (MR_String) "finish") == 0))
#line 1452 "ssdb.m"
                                          {
#line 1452 "ssdb.m"
                                            ssdb__Cmd_16 = (MR_Integer) 4;
#line 1452 "ssdb.m"
                                            ssdb__succeeded = MR_TRUE;
#line 1452 "ssdb.m"
                                          }
#line 1448 "ssdb.m"
                                        else
#line 1448 "ssdb.m"
                                          if ((strcmp(ssdb__CmdWord_9, (MR_String) "format") == 0))
#line 1467 "ssdb.m"
                                            {
#line 1467 "ssdb.m"
                                              ssdb__Cmd_16 = (MR_Integer) 16;
#line 1467 "ssdb.m"
                                              ssdb__succeeded = MR_TRUE;
#line 1467 "ssdb.m"
                                            }
#line 1448 "ssdb.m"
                                          else
#line 1448 "ssdb.m"
                                            if ((strcmp(ssdb__CmdWord_9, (MR_String) "return") == 0))
#line 1453 "ssdb.m"
                                              {
#line 1453 "ssdb.m"
                                                ssdb__Cmd_16 = (MR_Integer) 5;
#line 1453 "ssdb.m"
                                                ssdb__succeeded = MR_TRUE;
#line 1453 "ssdb.m"
                                              }
#line 1448 "ssdb.m"
                                            else
#line 1448 "ssdb.m"
                                              if ((strcmp(ssdb__CmdWord_9, (MR_String) "source") == 0))
#line 1484 "ssdb.m"
                                                {
#line 1484 "ssdb.m"
                                                  ssdb__Cmd_16 = (MR_Integer) 30;
#line 1484 "ssdb.m"
                                                  ssdb__succeeded = MR_TRUE;
#line 1484 "ssdb.m"
                                                }
#line 1448 "ssdb.m"
                                              else
#line 1448 "ssdb.m"
                                                if ((strcmp(ssdb__CmdWord_9, (MR_String) "current") == 0))
#line 1465 "ssdb.m"
                                                  {
#line 1465 "ssdb.m"
                                                    ssdb__Cmd_16 = (MR_Integer) 15;
#line 1465 "ssdb.m"
                                                    ssdb__succeeded = MR_TRUE;
#line 1465 "ssdb.m"
                                                  }
#line 1448 "ssdb.m"
                                                else
#line 1448 "ssdb.m"
                                                  if ((strcmp(ssdb__CmdWord_9, (MR_String) "disable") == 0))
#line 1480 "ssdb.m"
                                                    {
#line 1480 "ssdb.m"
                                                      ssdb__Cmd_16 = (MR_Integer) 27;
#line 1480 "ssdb.m"
                                                      ssdb__succeeded = MR_TRUE;
#line 1480 "ssdb.m"
                                                    }
#line 1448 "ssdb.m"
                                                  else
#line 1448 "ssdb.m"
                                                    if ((strcmp(ssdb__CmdWord_9, (MR_String) "unalias") == 0))
#line 1470 "ssdb.m"
                                                      {
#line 1470 "ssdb.m"
                                                        ssdb__Cmd_16 = (MR_Integer) 19;
#line 1470 "ssdb.m"
                                                        ssdb__succeeded = MR_TRUE;
#line 1470 "ssdb.m"
                                                      }
#line 1448 "ssdb.m"
                                                    else
#line 1448 "ssdb.m"
                                                      if ((strcmp(ssdb__CmdWord_9, (MR_String) "continue") == 0))
#line 1451 "ssdb.m"
                                                        {
#line 1451 "ssdb.m"
                                                          ssdb__Cmd_16 = (MR_Integer) 3;
#line 1451 "ssdb.m"
                                                          ssdb__succeeded = MR_TRUE;
#line 1451 "ssdb.m"
                                                        }
#line 1448 "ssdb.m"
                                                      else
#line 1448 "ssdb.m"
                                                        if ((strcmp(ssdb__CmdWord_9, (MR_String) "exception") == 0))
#line 1454 "ssdb.m"
                                                          {
#line 1454 "ssdb.m"
                                                            ssdb__Cmd_16 = (MR_Integer) 6;
#line 1454 "ssdb.m"
                                                            ssdb__succeeded = MR_TRUE;
#line 1454 "ssdb.m"
                                                          }
#line 1448 "ssdb.m"
                                                        else
#line 1448 "ssdb.m"
                                                          if ((strcmp(ssdb__CmdWord_9, (MR_String) "list_path") == 0))
#line 1473 "ssdb.m"
                                                            {
#line 1473 "ssdb.m"
                                                              ssdb__Cmd_16 = (MR_Integer) 21;
#line 1473 "ssdb.m"
                                                              ssdb__succeeded = MR_TRUE;
#line 1473 "ssdb.m"
                                                            }
#line 1448 "ssdb.m"
                                                          else
#line 1448 "ssdb.m"
                                                            if ((strcmp(ssdb__CmdWord_9, (MR_String) "format_param") == 0))
#line 1468 "ssdb.m"
                                                              {
#line 1468 "ssdb.m"
                                                                ssdb__Cmd_16 = (MR_Integer) 17;
#line 1468 "ssdb.m"
                                                                ssdb__succeeded = MR_TRUE;
#line 1468 "ssdb.m"
                                                              }
#line 1448 "ssdb.m"
                                                            else
#line 1448 "ssdb.m"
                                                              if ((strcmp(ssdb__CmdWord_9, (MR_String) "pop_list_dir") == 0))
#line 1475 "ssdb.m"
                                                                {
#line 1475 "ssdb.m"
                                                                  ssdb__Cmd_16 = (MR_Integer) 23;
#line 1475 "ssdb.m"
                                                                  ssdb__succeeded = MR_TRUE;
#line 1475 "ssdb.m"
                                                                }
#line 1448 "ssdb.m"
                                                              else
#line 1448 "ssdb.m"
                                                                if ((strcmp(ssdb__CmdWord_9, (MR_String) "push_list_dir") == 0))
#line 1474 "ssdb.m"
                                                                  {
#line 1474 "ssdb.m"
                                                                    ssdb__Cmd_16 = (MR_Integer) 22;
#line 1474 "ssdb.m"
                                                                    ssdb__succeeded = MR_TRUE;
#line 1474 "ssdb.m"
                                                                  }
#line 1448 "ssdb.m"
                                                                else
#line 1448 "ssdb.m"
                                                                  if ((strcmp(ssdb__CmdWord_9, (MR_String) "list_context_lines") == 0))
#line 1476 "ssdb.m"
                                                                    {
#line 1476 "ssdb.m"
                                                                      ssdb__Cmd_16 = (MR_Integer) 24;
#line 1476 "ssdb.m"
                                                                      ssdb__succeeded = MR_TRUE;
#line 1476 "ssdb.m"
                                                                    }
#line 1448 "ssdb.m"
                                                                  else
#line 1448 "ssdb.m"
                                                                    ssdb__succeeded = MR_FALSE;
#line 1600 "ssdb.m"
    if (ssdb__succeeded)
#line 1599 "ssdb.m"
      {
#line 1599 "ssdb.m"
        ssdb__execute_cmd_8_p_0(ssdb__Cmd_16, ssdb__ArgWords_10, ssdb__Interacting_11, ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1599 "ssdb.m"
        return;
      }
#line 1600 "ssdb.m"
    else
#line 1601 "ssdb.m"
      {
#line 1601 "ssdb.m"
        MR_String ssdb__V_27_27;
#line 1601 "ssdb.m"
        MR_String ssdb__V_29_29;

#line 29014 "ssdb.c"
        {
#line 29016 "ssdb.c"
          ssdb__V_27_27 = mercury__string__f_43_43_2_f_0(ssdb__CmdWord_9, (MR_String) "\' (try \"help\").\n");
        }
#line 29019 "ssdb.c"
        {
#line 29021 "ssdb.c"
          ssdb__V_29_29 = mercury__string__f_43_43_2_f_0((MR_String) "Unknown command \140", ssdb__V_27_27);
        }
#line 29024 "ssdb.c"
        {
#line 29026 "ssdb.c"
          mercury__io__write_string_3_p_0(ssdb__V_29_29);
        }
#line 1518 "ssdb.m"
        {
#line 1518 "ssdb.m"
          ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_12, ssdb__Depth_13, ssdb__WhatNext_14);
#line 1518 "ssdb.m"
          return;
        }
#line 1601 "ssdb.m"
      }
#line 1600 "ssdb.m"
  }
#line 1593 "ssdb.m"
}

#line 1560 "ssdb.m"
static void MR_CALL 
ssdb__expand_alias_and_execute_7_p_0(
#line 1560 "ssdb.m"
  MR_Word ssdb__Words_8,
#line 1560 "ssdb.m"
  MR_Word ssdb__Interacting_9,
#line 1560 "ssdb.m"
  MR_Word ssdb__Event_10,
#line 1560 "ssdb.m"
  MR_Integer ssdb__Depth_11,
#line 1560 "ssdb.m"
  MR_Word * ssdb__WhatNext_12)
#line 1560 "ssdb.m"
{
#line 1563 "ssdb.m"
  {
#line 1563 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 1563 "ssdb.m"
    MR_Word ssdb__Aliases_14;

#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__expand_alias_and_execute_7_p_0


		{
#line 314 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_aliases_lock,
                "ssdb__mutable_variable_aliases_lock");
#endif

#line 29077 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__expand_alias_and_execute_7_p_0

	MR_Word X;

		{
#line 314 "ssdb.m"
X = ssdb__mutable_variable_aliases;

#line 29093 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Aliases_14  = X;
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__expand_alias_and_execute_7_p_0


		{
#line 314 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_aliases_lock,
                "ssdb__mutable_variable_aliases_lock");
#endif

#line 29112 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 1573 "ssdb.m"
    if ((ssdb__Words_8 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1570 "ssdb.m"
      {
#line 1570 "ssdb.m"
        MR_String ssdb__AliasWord_15;
#line 1570 "ssdb.m"
        MR_Word ssdb__AliasWords_16;
#line 1567 "ssdb.m"
        MR_Word ssdb__V_32_32;
#line 1567 "ssdb.m"
        MR_Box ssdb__conv0_V_32_32;

#line 1567 "ssdb.m"
        {
#line 1567 "ssdb.m"
          ssdb__succeeded = mercury__map__search_3_p_0((MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0, (MR_Word) &ssdb_scalar_common_1[0], ssdb__Aliases_14, ((MR_Box) ((MR_String) "EMPTY")), &ssdb__conv0_V_32_32);
        }
#line 1567 "ssdb.m"
        if (ssdb__succeeded)
#line 1567 "ssdb.m"
          {
#line 1567 "ssdb.m"
            ssdb__V_32_32 = ((MR_Word) ssdb__conv0_V_32_32);
#line 1567 "ssdb.m"
            ssdb__succeeded = MR_TRUE;
#line 1567 "ssdb.m"
          }
#line 1567 "ssdb.m"
        if (ssdb__succeeded)
#line 1567 "ssdb.m"
          {
#line 1567 "ssdb.m"
            ssdb__succeeded = ((MR_tag((MR_Word) ssdb__V_32_32)) == (MR_mktag((MR_Integer) 1)));
#line 1567 "ssdb.m"
            if (ssdb__succeeded)
#line 1567 "ssdb.m"
              {
#line 1567 "ssdb.m"
                ssdb__AliasWord_15 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__V_32_32, (MR_Integer) 0)));
#line 1567 "ssdb.m"
                ssdb__AliasWords_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__V_32_32, (MR_Integer) 1)));
#line 1567 "ssdb.m"
              }
#line 1567 "ssdb.m"
          }
#line 1570 "ssdb.m"
        if (ssdb__succeeded)
#line 1568 "ssdb.m"
          {
#line 1568 "ssdb.m"
            ssdb__execute_cmd_string_8_p_0(ssdb__AliasWord_15, ssdb__AliasWords_16, ssdb__Interacting_9, ssdb__Event_10, ssdb__Depth_11, ssdb__WhatNext_12);
#line 1568 "ssdb.m"
            return;
          }
#line 1570 "ssdb.m"
        else
#line 1517 "ssdb.m"
          {
#line 1518 "ssdb.m"
            {
#line 1518 "ssdb.m"
              ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_10, ssdb__Depth_11, ssdb__WhatNext_12);
#line 1518 "ssdb.m"
              return;
            }
#line 1517 "ssdb.m"
          }
#line 1570 "ssdb.m"
      }
#line 1573 "ssdb.m"
    else
#line 1574 "ssdb.m"
      {
#line 1574 "ssdb.m"
        MR_String ssdb__FirstWord_17 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Words_8, (MR_Integer) 0)));
#line 1574 "ssdb.m"
        MR_Word ssdb__LaterWords_18 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Words_8, (MR_Integer) 1)));
#line 1582 "ssdb.m"
        MR_String ssdb__AliasWord_37;
#line 1582 "ssdb.m"
        MR_Word ssdb__AliasWords_38;
#line 1576 "ssdb.m"
        MR_Word ssdb__TypeCtorInfo_43_43;
#line 1576 "ssdb.m"
        MR_Word ssdb__TypeInfo_44_44;
#line 1576 "ssdb.m"
        MR_Integer ssdb__V_19_19;
#line 1576 "ssdb.m"
        MR_String ssdb__V_23_23;
#line 1576 "ssdb.m"
        MR_Word ssdb__V_24_24;
#line 1576 "ssdb.m"
        MR_Integer ssdb__V_61_61;
#line 1577 "ssdb.m"
        MR_Box ssdb__conv1_V_24_24;

#line 3514 "ssdb.m"
        {
#line 3514 "ssdb.m"
          ssdb__succeeded = mercury__string__to_int_2_p_0(ssdb__FirstWord_17, &ssdb__V_19_19);
        }
#line 1576 "ssdb.m"
        if (ssdb__succeeded)
#line 1576 "ssdb.m"
          {
#line 3515 "ssdb.m"
            ssdb__V_61_61 = (MR_Integer) 0;
#line 3515 "ssdb.m"
            ssdb__succeeded = (ssdb__V_19_19 >= ssdb__V_61_61);
#line 1576 "ssdb.m"
            if (ssdb__succeeded)
#line 1576 "ssdb.m"
              {
#line 1577 "ssdb.m"
                ssdb__V_23_23 = (MR_String) "NUMBER";
#line 29234 "ssdb.c"
                ssdb__TypeCtorInfo_43_43 = (MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0;
#line 29236 "ssdb.c"
                ssdb__TypeInfo_44_44 = (MR_Word) &ssdb_scalar_common_1[0];
#line 1577 "ssdb.m"
                {
#line 1577 "ssdb.m"
                  ssdb__succeeded = mercury__map__search_3_p_0(ssdb__TypeCtorInfo_43_43, ssdb__TypeInfo_44_44, ssdb__Aliases_14, ((MR_Box) (ssdb__V_23_23)), &ssdb__conv1_V_24_24);
                }
#line 1577 "ssdb.m"
                if (ssdb__succeeded)
#line 1577 "ssdb.m"
                  {
#line 1577 "ssdb.m"
                    ssdb__V_24_24 = ((MR_Word) ssdb__conv1_V_24_24);
#line 1577 "ssdb.m"
                    ssdb__succeeded = MR_TRUE;
#line 1577 "ssdb.m"
                  }
#line 1576 "ssdb.m"
                if (ssdb__succeeded)
#line 1576 "ssdb.m"
                  {
#line 1577 "ssdb.m"
                    ssdb__succeeded = ((MR_tag((MR_Word) ssdb__V_24_24)) == (MR_mktag((MR_Integer) 1)));
#line 1577 "ssdb.m"
                    if (ssdb__succeeded)
#line 1577 "ssdb.m"
                      {
#line 1577 "ssdb.m"
                        ssdb__AliasWord_37 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__V_24_24, (MR_Integer) 0)));
#line 1577 "ssdb.m"
                        ssdb__AliasWords_38 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__V_24_24, (MR_Integer) 1)));
#line 1577 "ssdb.m"
                      }
#line 1576 "ssdb.m"
                  }
#line 1576 "ssdb.m"
              }
#line 1576 "ssdb.m"
          }
#line 1582 "ssdb.m"
        if (ssdb__succeeded)
#line 1580 "ssdb.m"
          {
#line 1580 "ssdb.m"
            MR_Word ssdb__V_25_25;

#line 1580 "ssdb.m"
            {
#line 1580 "ssdb.m"
              ssdb__V_25_25 = mercury__list__f_43_43_2_f_0((MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0, ssdb__AliasWords_38, ssdb__Words_8);
            }
#line 1580 "ssdb.m"
            {
#line 1580 "ssdb.m"
              ssdb__execute_cmd_string_8_p_0(ssdb__AliasWord_37, ssdb__V_25_25, ssdb__Interacting_9, ssdb__Event_10, ssdb__Depth_11, ssdb__WhatNext_12);
#line 1580 "ssdb.m"
              return;
            }
#line 1580 "ssdb.m"
          }
#line 1582 "ssdb.m"
        else
#line 1587 "ssdb.m"
          {
#line 1587 "ssdb.m"
            MR_String ssdb__AliasWord_35;
#line 1587 "ssdb.m"
            MR_Word ssdb__AliasWords_36;
#line 1583 "ssdb.m"
            MR_Word ssdb__V_27_27;
#line 1583 "ssdb.m"
            MR_Box ssdb__conv2_V_27_27;

#line 1583 "ssdb.m"
            {
#line 1583 "ssdb.m"
              ssdb__succeeded = mercury__map__search_3_p_0((MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0, (MR_Word) &ssdb_scalar_common_1[0], ssdb__Aliases_14, ((MR_Box) (ssdb__FirstWord_17)), &ssdb__conv2_V_27_27);
            }
#line 1583 "ssdb.m"
            if (ssdb__succeeded)
#line 1583 "ssdb.m"
              {
#line 1583 "ssdb.m"
                ssdb__V_27_27 = ((MR_Word) ssdb__conv2_V_27_27);
#line 1583 "ssdb.m"
                ssdb__succeeded = MR_TRUE;
#line 1583 "ssdb.m"
              }
#line 1583 "ssdb.m"
            if (ssdb__succeeded)
#line 1583 "ssdb.m"
              {
#line 1583 "ssdb.m"
                ssdb__succeeded = ((MR_tag((MR_Word) ssdb__V_27_27)) == (MR_mktag((MR_Integer) 1)));
#line 1583 "ssdb.m"
                if (ssdb__succeeded)
#line 1583 "ssdb.m"
                  {
#line 1583 "ssdb.m"
                    ssdb__AliasWord_35 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__V_27_27, (MR_Integer) 0)));
#line 1583 "ssdb.m"
                    ssdb__AliasWords_36 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__V_27_27, (MR_Integer) 1)));
#line 1583 "ssdb.m"
                  }
#line 1583 "ssdb.m"
              }
#line 1587 "ssdb.m"
            if (ssdb__succeeded)
#line 1585 "ssdb.m"
              {
#line 1585 "ssdb.m"
                MR_Word ssdb__V_28_28;

#line 1585 "ssdb.m"
                {
#line 1585 "ssdb.m"
                  ssdb__V_28_28 = mercury__list__f_43_43_2_f_0((MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0, ssdb__AliasWords_36, ssdb__LaterWords_18);
                }
#line 1585 "ssdb.m"
                {
#line 1585 "ssdb.m"
                  ssdb__execute_cmd_string_8_p_0(ssdb__AliasWord_35, ssdb__V_28_28, ssdb__Interacting_9, ssdb__Event_10, ssdb__Depth_11, ssdb__WhatNext_12);
#line 1585 "ssdb.m"
                  return;
                }
#line 1585 "ssdb.m"
              }
#line 1587 "ssdb.m"
            else
#line 1588 "ssdb.m"
              {
#line 1588 "ssdb.m"
                ssdb__execute_cmd_string_8_p_0(ssdb__FirstWord_17, ssdb__LaterWords_18, ssdb__Interacting_9, ssdb__Event_10, ssdb__Depth_11, ssdb__WhatNext_12);
#line 1588 "ssdb.m"
                return;
              }
#line 1587 "ssdb.m"
          }
#line 1574 "ssdb.m"
      }
#line 1563 "ssdb.m"
  }
#line 1560 "ssdb.m"
}

#line 1520 "ssdb.m"
static void MR_CALL 
ssdb__read_and_execute_cmd_2_6_p_0(
#line 1520 "ssdb.m"
  MR_Integer ssdb__N_7,
#line 1520 "ssdb.m"
  MR_Word ssdb__Event_8,
#line 1520 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 1520 "ssdb.m"
  MR_Word * ssdb__WhatNext_10)
#line 1520 "ssdb.m"
{
#line 1523 "ssdb.m"
  while (MR_TRUE)
#line 1523 "ssdb.m"
    {
#line 1523 "ssdb.m"
      /* tailcall optimized into a loop */
#line 1523 "ssdb.m"
      {
#line 1523 "ssdb.m"
        MR_bool ssdb__succeeded;
#line 1523 "ssdb.m"
        MR_Word ssdb__Queue0_12;

#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__read_and_execute_cmd_2_6_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 29419 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__read_and_execute_cmd_2_6_p_0

	MR_Word X;

		{
#line 311 "ssdb.m"
X = ssdb__mutable_variable_command_queue;

#line 29435 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Queue0_12  = X;
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__read_and_execute_cmd_2_6_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 29454 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 29460 "ssdb.c"
        if ((ssdb__Queue0_12 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 29462 "ssdb.c"
          {
#line 29464 "ssdb.c"
            MR_Word ssdb__Result_13;

#line 1527 "ssdb.m"
            {
#line 1527 "ssdb.m"
              mercury__io__write_string_3_p_0((MR_String) "ssdb> ");
            }
#line 1528 "ssdb.m"
            {
#line 1528 "ssdb.m"
              mercury__io__flush_output_2_p_0();
            }
#line 1529 "ssdb.m"
            {
#line 1529 "ssdb.m"
              mercury__io__read_line_as_string_3_p_0(&ssdb__Result_13);
            }
#line 1543 "ssdb.m"
            if ((ssdb__Result_13 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1544 "ssdb.m"
              {
#line 1545 "ssdb.m"
                {
#line 1545 "ssdb.m"
                  ssdb__execute_cmd_8_p_0((MR_Integer) 31, (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)), (MR_Integer) 1, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1545 "ssdb.m"
                  return;
                }
#line 1544 "ssdb.m"
              }
#line 1543 "ssdb.m"
            else
#line 1543 "ssdb.m"
              if (((MR_tag((MR_Word) ssdb__Result_13)) == (MR_mktag((MR_Integer) 2))))
#line 1547 "ssdb.m"
                {
#line 1547 "ssdb.m"
                  MR_Word ssdb__Error_19 = ((MR_Word) (MR_hl_field(MR_mktag(2), ssdb__Result_13, (MR_Integer) 0)));
#line 1547 "ssdb.m"
                  MR_String ssdb__Msg_20;
#line 1547 "ssdb.m"
                  MR_String ssdb__V_49_49;
#line 1547 "ssdb.m"
                  MR_String ssdb__V_51_51;

#line 1548 "ssdb.m"
                  {
#line 1548 "ssdb.m"
                    mercury__io__error_message_2_p_0(ssdb__Error_19, &ssdb__Msg_20);
                  }
#line 29515 "ssdb.c"
                  {
#line 29517 "ssdb.c"
                    ssdb__V_49_49 = mercury__string__f_43_43_2_f_0(ssdb__Msg_20, (MR_String) "\n");
                  }
#line 29520 "ssdb.c"
                  {
#line 29522 "ssdb.c"
                    ssdb__V_51_51 = mercury__string__f_43_43_2_f_0((MR_String) "could not read command: ", ssdb__V_49_49);
                  }
#line 29525 "ssdb.c"
                  {
#line 29527 "ssdb.c"
                    mercury__io__write_string_3_p_0(ssdb__V_51_51);
                  }
#line 1553 "ssdb.m"
                  ssdb__succeeded = (ssdb__N_7 > (MR_Integer) 10);
#line 1555 "ssdb.m"
                  if (ssdb__succeeded)
#line 1554 "ssdb.m"
                    {
#line 1554 "ssdb.m"
                      {
#line 1554 "ssdb.m"
                        ssdb__execute_cmd_8_p_0((MR_Integer) 31, (MR_Word) MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[54]), (MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1554 "ssdb.m"
                        return;
                      }
#line 1554 "ssdb.m"
                    }
#line 1555 "ssdb.m"
                  else
#line 1556 "ssdb.m"
                    {
#line 1556 "ssdb.m"
                      MR_Integer ssdb__V_41_41 = (ssdb__N_7 + (MR_Integer) 1);

#line 1556 "ssdb.m"
                      /* direct tailcall eliminated */
#line 1556 "ssdb.m"
                      {
#line 1556 "ssdb.m"
                        MR_Integer ssdb__N__tmp_copy_7 = ssdb__V_41_41;

#line 1556 "ssdb.m"
                        ssdb__N_7 = ssdb__N__tmp_copy_7;
#line 1556 "ssdb.m"
                      }
#line 1556 "ssdb.m"
                      continue;
#line 1556 "ssdb.m"
                    }
#line 1547 "ssdb.m"
                }
#line 1543 "ssdb.m"
              else
#line 1538 "ssdb.m"
                {
#line 1538 "ssdb.m"
                  MR_String ssdb__String_17 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Result_13, (MR_Integer) 0)));
#line 1538 "ssdb.m"
                  MR_Word ssdb__Words_18;

#line 1540 "ssdb.m"
                  {
#line 1540 "ssdb.m"
                    ssdb__Words_18 = mercury__string__words_1_f_0(ssdb__String_17);
                  }
#line 1541 "ssdb.m"
                  {
#line 1541 "ssdb.m"
                    ssdb__expand_alias_and_execute_7_p_0(ssdb__Words_18, (MR_Integer) 1, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1541 "ssdb.m"
                    return;
                  }
#line 1538 "ssdb.m"
                }
#line 29592 "ssdb.c"
          }
#line 29594 "ssdb.c"
        else
#line 29596 "ssdb.c"
          {
#line 29598 "ssdb.c"
            MR_Word ssdb__Queue_16 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Queue0_12, (MR_Integer) 1)));
#line 29600 "ssdb.c"
            MR_String ssdb__String_59 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__Queue0_12, (MR_Integer) 0)));
#line 29602 "ssdb.c"
            MR_Word ssdb__Words_60;

#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__read_and_execute_cmd_2_6_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 29617 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__read_and_execute_cmd_2_6_p_0

	MR_Word X;

	X =  ssdb__Queue_16 ;
		{
#line 311 "ssdb.m"
ssdb__mutable_variable_command_queue = X;

#line 29634 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__read_and_execute_cmd_2_6_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 29652 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 1540 "ssdb.m"
            {
#line 1540 "ssdb.m"
              ssdb__Words_60 = mercury__string__words_1_f_0(ssdb__String_59);
            }
#line 1541 "ssdb.m"
            {
#line 1541 "ssdb.m"
              ssdb__expand_alias_and_execute_7_p_0(ssdb__Words_60, (MR_Integer) 0, ssdb__Event_8, ssdb__Depth_9, ssdb__WhatNext_10);
#line 1541 "ssdb.m"
              return;
            }
#line 29670 "ssdb.c"
          }
#line 1523 "ssdb.m"
      }
#line 1523 "ssdb.m"
      break;
#line 1523 "ssdb.m"
    }
#line 1520 "ssdb.m"
}

#line 1514 "ssdb.m"
static void MR_CALL 
ssdb__read_and_execute_cmd_5_p_0(
#line 1514 "ssdb.m"
  MR_Word ssdb__Event_6,
#line 1514 "ssdb.m"
  MR_Integer ssdb__Depth_7,
#line 1514 "ssdb.m"
  MR_Word * ssdb__WhatNext_8)
#line 1514 "ssdb.m"
{
#line 1517 "ssdb.m"
  {
#line 1517 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 1518 "ssdb.m"
    {
#line 1518 "ssdb.m"
      ssdb__read_and_execute_cmd_2_6_p_0((MR_Integer) 0, ssdb__Event_6, ssdb__Depth_7, ssdb__WhatNext_8);
#line 1518 "ssdb.m"
      return;
    }
#line 1517 "ssdb.m"
  }
#line 1514 "ssdb.m"
}

#line 1384 "ssdb.m"
static void MR_CALL 
ssdb__exception_handler_exists_2_p_0_1(
#line 1384 "ssdb.m"
  void * ssdb__env_ptr_arg)
#line 1384 "ssdb.m"
{
#line 1384 "ssdb.m"
  {
#line 1384 "ssdb.m"
    struct ssdb__exception_handler_exists_2_p_0_env_0_s * ssdb__env_ptr = (struct ssdb__exception_handler_exists_2_p_0_env_0_s *) ssdb__env_ptr_arg;

#line 1384 "ssdb.m"
    MR_builtin_longjmp((ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__commit_0, 1);
#line 1384 "ssdb.m"
  }
#line 1384 "ssdb.m"
}

#line 1385 "ssdb.m"
static void MR_CALL 
ssdb__exception_handler_exists_2_p_0_3(
#line 1385 "ssdb.m"
  void * ssdb__env_ptr_arg)
#line 1385 "ssdb.m"
{
#line 1385 "ssdb.m"
  {
#line 1385 "ssdb.m"
    struct ssdb__exception_handler_exists_2_p_0_env_0_s * ssdb__env_ptr = (struct ssdb__exception_handler_exists_2_p_0_env_0_s *) ssdb__env_ptr_arg;

#line 1385 "ssdb.m"
    (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__StackFrame_5 = ((MR_Word) (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__conv0_StackFrame_5);
#line 1385 "ssdb.m"
    {
#line 1385 "ssdb.m"
      ssdb__exception_handler_exists_2_p_0_2(ssdb__env_ptr);
#line 1385 "ssdb.m"
      return;
    }
#line 1385 "ssdb.m"
  }
#line 1385 "ssdb.m"
}

#line 1384 "ssdb.m"
static void MR_CALL 
ssdb__exception_handler_exists_2_p_0_2(
#line 1384 "ssdb.m"
  void * ssdb__env_ptr_arg)
#line 1384 "ssdb.m"
{
#line 1384 "ssdb.m"
  {
#line 1384 "ssdb.m"
    struct ssdb__exception_handler_exists_2_p_0_env_0_s * ssdb__env_ptr = (struct ssdb__exception_handler_exists_2_p_0_env_0_s *) ssdb__env_ptr_arg;

#line 1384 "ssdb.m"
    {
#line 1386 "ssdb.m"
      MR_Integer ssdb__V_8_8 = ((MR_Integer) (MR_hl_field(MR_mktag(0), (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__StackFrame_5, (MR_Integer) 0)));
#line 1386 "ssdb.m"
      MR_Integer ssdb__V_9_9;
#line 1386 "ssdb.m"
      MR_String ssdb__V_11_11;
#line 1386 "ssdb.m"
      MR_Integer ssdb__V_12_12;
#line 1386 "ssdb.m"
      MR_Word ssdb__V_13_13;
#line 1386 "ssdb.m"
      MR_Word ssdb__V_14_14;

#line 1386 "ssdb.m"
      (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__V_6_6 = ((MR_Integer) (MR_hl_field(MR_mktag(0), (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__StackFrame_5, (MR_Integer) 1)));
#line 1386 "ssdb.m"
      ssdb__V_9_9 = ((MR_Integer) (MR_hl_field(MR_mktag(0), (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__StackFrame_5, (MR_Integer) 2)));
#line 1386 "ssdb.m"
      (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__V_10_10 = ((MR_Word) (MR_hl_field(MR_mktag(0), (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__StackFrame_5, (MR_Integer) 3)));
#line 1386 "ssdb.m"
      ssdb__V_11_11 = ((MR_String) (MR_hl_field(MR_mktag(0), (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__StackFrame_5, (MR_Integer) 4)));
#line 1386 "ssdb.m"
      ssdb__V_12_12 = ((MR_Integer) (MR_hl_field(MR_mktag(0), (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__StackFrame_5, (MR_Integer) 5)));
#line 1386 "ssdb.m"
      ssdb__V_13_13 = ((MR_Word) (MR_hl_field(MR_mktag(0), (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__StackFrame_5, (MR_Integer) 6)));
#line 1386 "ssdb.m"
      ssdb__V_14_14 = ((MR_Word) (MR_hl_field(MR_mktag(0), (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__StackFrame_5, (MR_Integer) 7)));
#line 1386 "ssdb.m"
      (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__succeeded = ((ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__V_6_6 >= (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__CSN_3);
#line 1384 "ssdb.m"
      if ((ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__succeeded)
#line 1384 "ssdb.m"
        {
#line 1394 "ssdb.m"
          (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__V_25_25 = ((MR_String) (MR_hl_field(MR_mktag(0), (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__V_10_10, (MR_Integer) 0)));
#line 1394 "ssdb.m"
          (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__Name_24 = ((MR_String) (MR_hl_field(MR_mktag(0), (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__V_10_10, (MR_Integer) 1)));
#line 1394 "ssdb.m"
          (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__succeeded = (strcmp((ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__V_25_25, (MR_String) "exception") == 0);
#line 1384 "ssdb.m"
          if ((ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__succeeded)
#line 1384 "ssdb.m"
            {
#line 1396 "ssdb.m"
              if ((strcmp((ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__Name_24, (MR_String) "try") == 0))
#line 1395 "ssdb.m"
                (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__succeeded = MR_TRUE;
#line 1396 "ssdb.m"
              else
#line 1396 "ssdb.m"
                if ((strcmp((ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__Name_24, (MR_String) "try_io") == 0))
#line 1396 "ssdb.m"
                  (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__succeeded = MR_TRUE;
#line 1396 "ssdb.m"
                else
#line 1396 "ssdb.m"
                  if ((strcmp((ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__Name_24, (MR_String) "try_all") == 0))
#line 1398 "ssdb.m"
                    (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__succeeded = MR_TRUE;
#line 1396 "ssdb.m"
                  else
#line 1396 "ssdb.m"
                    if ((strcmp((ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__Name_24, (MR_String) "try_store") == 0))
#line 1397 "ssdb.m"
                      (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__succeeded = MR_TRUE;
#line 1396 "ssdb.m"
                    else
#line 1396 "ssdb.m"
                      if ((strcmp((ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__Name_24, (MR_String) "incremental_try_all") == 0))
#line 1399 "ssdb.m"
                        (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__succeeded = MR_TRUE;
#line 1396 "ssdb.m"
                      else
#line 1396 "ssdb.m"
                        (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__succeeded = MR_FALSE;
#line 1396 "ssdb.m"
              if ((ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__succeeded)
#line 1396 "ssdb.m"
                {
#line 1396 "ssdb.m"
                  ssdb__exception_handler_exists_2_p_0_1(ssdb__env_ptr);
#line 1396 "ssdb.m"
                  return;
                }
#line 1384 "ssdb.m"
            }
#line 1384 "ssdb.m"
        }
#line 1384 "ssdb.m"
    }
#line 1384 "ssdb.m"
  }
#line 1384 "ssdb.m"
}

#line 1384 "ssdb.m"
static void MR_CALL 
ssdb__exception_handler_exists_2_p_0_4(
#line 1384 "ssdb.m"
  void * ssdb__env_ptr_arg)
#line 1384 "ssdb.m"
{
#line 1384 "ssdb.m"
  {
#line 1384 "ssdb.m"
    struct ssdb__exception_handler_exists_2_p_0_env_0_s * ssdb__env_ptr = (struct ssdb__exception_handler_exists_2_p_0_env_0_s *) ssdb__env_ptr_arg;

#line 1384 "ssdb.m"
    if (MR_builtin_setjmp((ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__commit_0) == 0)
#line 1384 "ssdb.m"
      {
#line 1384 "ssdb.m"
        {
#line 1385 "ssdb.m"
          {
#line 1385 "ssdb.m"
            mercury__list__member_2_p_1((MR_Word) &ssdb__ssdb__type_ctor_info_stack_frame_0, &(ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__conv0_StackFrame_5, (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__StackFrames_4, ssdb__exception_handler_exists_2_p_0_3, ssdb__env_ptr);
          }
#line 1384 "ssdb.m"
        }
#line 1384 "ssdb.m"
        (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__succeeded = MR_FALSE;
#line 1384 "ssdb.m"
      }
#line 1384 "ssdb.m"
    else
#line 1384 "ssdb.m"
      (ssdb__env_ptr)->ssdb__exception_handler_exists_2_p_0_env_0__succeeded = MR_TRUE;
#line 1384 "ssdb.m"
  }
#line 1384 "ssdb.m"
}

#line 1382 "ssdb.m"
static MR_bool MR_CALL 
ssdb__exception_handler_exists_2_p_0(
#line 1382 "ssdb.m"
  MR_Integer ssdb__CSN_3,
#line 1382 "ssdb.m"
  MR_Word ssdb__StackFrames_4)
#line 1382 "ssdb.m"
{
#line 1382 "ssdb.m"
  {
#line 1382 "ssdb.m"
    struct ssdb__exception_handler_exists_2_p_0_env_0_s ssdb__env;

#line 1382 "ssdb.m"
    (ssdb__env).ssdb__exception_handler_exists_2_p_0_env_0__CSN_3 = ssdb__CSN_3;
#line 1382 "ssdb.m"
    (ssdb__env).ssdb__exception_handler_exists_2_p_0_env_0__StackFrames_4 = ssdb__StackFrames_4;
#line 1384 "ssdb.m"
    {
#line 1384 "ssdb.m"
      ssdb__exception_handler_exists_2_p_0_4(&ssdb__env);
    }
#line 1384 "ssdb.m"
    return (ssdb__env).ssdb__exception_handler_exists_2_p_0_env_0__succeeded;
#line 1382 "ssdb.m"
  }
#line 1382 "ssdb.m"
}

#line 1376 "ssdb.m"
static void MR_CALL 
ssdb__reset_counters_for_retry_3_p_0(
#line 1376 "ssdb.m"
  MR_Word ssdb__Frame_4)
#line 1376 "ssdb.m"
{
#line 1378 "ssdb.m"
  {
#line 1378 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 1378 "ssdb.m"
    MR_Integer ssdb__V_8_8;
#line 1378 "ssdb.m"
    MR_Integer ssdb__V_10_10 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_4, (MR_Integer) 0)));
#line 1378 "ssdb.m"
    MR_Integer ssdb__V_12_12;
#line 1378 "ssdb.m"
    MR_Integer ssdb__V_14_14;
#line 1379 "ssdb.m"
    MR_Integer ssdb__V_16_16 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_4, (MR_Integer) 1)));
#line 1379 "ssdb.m"
    MR_Integer ssdb__V_17_17 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_4, (MR_Integer) 2)));
#line 1379 "ssdb.m"
    MR_Word ssdb__V_18_18 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_4, (MR_Integer) 3)));
#line 1379 "ssdb.m"
    MR_String ssdb__V_19_19 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Frame_4, (MR_Integer) 4)));
#line 1379 "ssdb.m"
    MR_Integer ssdb__V_20_20 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_4, (MR_Integer) 5)));
#line 1379 "ssdb.m"
    MR_Word ssdb__V_21_21 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_4, (MR_Integer) 6)));
#line 1379 "ssdb.m"
    MR_Word ssdb__V_22_22 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_4, (MR_Integer) 7)));
#line 1380 "ssdb.m"
    MR_Integer ssdb__V_23_23;
#line 1380 "ssdb.m"
    MR_Integer ssdb__V_24_24;
#line 1380 "ssdb.m"
    MR_Word ssdb__V_25_25;
#line 1380 "ssdb.m"
    MR_String ssdb__V_26_26;
#line 1380 "ssdb.m"
    MR_Integer ssdb__V_27_27;
#line 1380 "ssdb.m"
    MR_Word ssdb__V_28_28;
#line 1380 "ssdb.m"
    MR_Word ssdb__V_29_29;

#line 1379 "ssdb.m"
    ssdb__V_8_8 = (ssdb__V_10_10 - (MR_Integer) 1);
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__reset_counters_for_retry_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 29993 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__reset_counters_for_retry_3_p_0

	MR_Integer X;

	X =  ssdb__V_8_8 ;
		{
#line 292 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_event_number = X;

#line 30010 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__reset_counters_for_retry_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 30028 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 1380 "ssdb.m"
    ssdb__V_23_23 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_4, (MR_Integer) 0)));
#line 1380 "ssdb.m"
    ssdb__V_14_14 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_4, (MR_Integer) 1)));
#line 1380 "ssdb.m"
    ssdb__V_24_24 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_4, (MR_Integer) 2)));
#line 1380 "ssdb.m"
    ssdb__V_25_25 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_4, (MR_Integer) 3)));
#line 1380 "ssdb.m"
    ssdb__V_26_26 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Frame_4, (MR_Integer) 4)));
#line 1380 "ssdb.m"
    ssdb__V_27_27 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_4, (MR_Integer) 5)));
#line 1380 "ssdb.m"
    ssdb__V_28_28 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_4, (MR_Integer) 6)));
#line 1380 "ssdb.m"
    ssdb__V_29_29 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_4, (MR_Integer) 7)));
#line 1380 "ssdb.m"
    ssdb__V_12_12 = (ssdb__V_14_14 - (MR_Integer) 1);
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__reset_counters_for_retry_3_p_0


		{
#line 295 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_csn_lock,
                "ssdb__mutable_variable_cur_ssdb_csn_lock");
#endif

#line 30064 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__reset_counters_for_retry_3_p_0

	MR_Integer X;

	X =  ssdb__V_12_12 ;
		{
#line 295 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_csn = X;

#line 30081 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__reset_counters_for_retry_3_p_0


		{
#line 295 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_csn_lock,
                "ssdb__mutable_variable_cur_ssdb_csn_lock");
#endif

#line 30099 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 1378 "ssdb.m"
  }
#line 1376 "ssdb.m"
}

#line 1318 "ssdb.m"
static void MR_CALL 
ssdb__update_next_stop_6_p_0(
#line 1318 "ssdb.m"
  MR_Integer ssdb__EventNum_7,
#line 1318 "ssdb.m"
  MR_Integer ssdb__CSN_8,
#line 1318 "ssdb.m"
  MR_Word ssdb__WhatNext_9,
#line 1318 "ssdb.m"
  MR_Word * ssdb__Retry_10)
#line 1318 "ssdb.m"
{
#line 1321 "ssdb.m"
  {
#line 1321 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 1321 "ssdb.m"
    MR_Word ssdb__NextStop_12;

#line 1326 "ssdb.m"
    if ((ssdb__WhatNext_9 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 1331 "ssdb.m"
      {
#line 1332 "ssdb.m"
        ssdb__NextStop_12 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1));
#line 1333 "ssdb.m"
        *ssdb__Retry_10 = (MR_Integer) 1;
#line 1331 "ssdb.m"
      }
#line 1326 "ssdb.m"
    else
#line 1326 "ssdb.m"
      if ((ssdb__WhatNext_9 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 4)))))
#line 1343 "ssdb.m"
        {
#line 1344 "ssdb.m"
          ssdb__NextStop_12 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3));
#line 1345 "ssdb.m"
          *ssdb__Retry_10 = (MR_Integer) 1;
#line 1343 "ssdb.m"
        }
#line 1326 "ssdb.m"
      else
#line 1326 "ssdb.m"
        if ((ssdb__WhatNext_9 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 1327 "ssdb.m"
          {
#line 1328 "ssdb.m"
            {
#line 1328 "ssdb.m"
              ssdb__NextStop_12 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 1328 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__NextStop_12, 0) = ((MR_Box) (ssdb__CSN_8));
#line 1328 "ssdb.m"
            }
#line 1329 "ssdb.m"
            *ssdb__Retry_10 = (MR_Integer) 1;
#line 1327 "ssdb.m"
          }
#line 1326 "ssdb.m"
        else
#line 1326 "ssdb.m"
          if ((ssdb__WhatNext_9 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 1339 "ssdb.m"
            {
#line 1340 "ssdb.m"
              ssdb__NextStop_12 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2));
#line 1341 "ssdb.m"
              *ssdb__Retry_10 = (MR_Integer) 1;
#line 1339 "ssdb.m"
            }
#line 1326 "ssdb.m"
          else
#line 1326 "ssdb.m"
            if ((ssdb__WhatNext_9 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1323 "ssdb.m"
              {
#line 1324 "ssdb.m"
                ssdb__NextStop_12 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1325 "ssdb.m"
                *ssdb__Retry_10 = (MR_Integer) 1;
#line 1323 "ssdb.m"
              }
#line 1326 "ssdb.m"
            else
#line 1326 "ssdb.m"
              if (((MR_tag((MR_Word) ssdb__WhatNext_9)) == (MR_mktag((MR_Integer) 1))))
#line 1335 "ssdb.m"
                {
#line 1335 "ssdb.m"
                  MR_Integer ssdb__EndCSN_13 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__WhatNext_9, (MR_Integer) 0)));

#line 1336 "ssdb.m"
                  {
#line 1336 "ssdb.m"
                    ssdb__NextStop_12 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1336 "ssdb.m"
                    MR_hl_field(MR_mktag(2), ssdb__NextStop_12, 0) = ((MR_Box) (ssdb__EndCSN_13));
#line 1336 "ssdb.m"
                    MR_hl_field(MR_mktag(2), ssdb__NextStop_12, 1) = ((MR_Box) ((MR_Integer) 1));
#line 1336 "ssdb.m"
                  }
#line 1337 "ssdb.m"
                  *ssdb__Retry_10 = (MR_Integer) 1;
#line 1335 "ssdb.m"
                }
#line 1326 "ssdb.m"
              else
#line 1326 "ssdb.m"
                if (((MR_tag((MR_Word) ssdb__WhatNext_9)) == (MR_mktag((MR_Integer) 2))))
#line 1347 "ssdb.m"
                  {
#line 1347 "ssdb.m"
                    MR_Integer ssdb__RetryCSN_14 = ((MR_Integer) (MR_hl_field(MR_mktag(2), ssdb__WhatNext_9, (MR_Integer) 0)));

#line 1348 "ssdb.m"
                    ssdb__succeeded = (ssdb__RetryCSN_14 == ssdb__CSN_8);
#line 1353 "ssdb.m"
                    if (ssdb__succeeded)
#line 1349 "ssdb.m"
                      {
#line 1349 "ssdb.m"
                        MR_Word ssdb__Frame_15;
#line 1349 "ssdb.m"
                        MR_Word ssdb__Stack_30;
#line 1349 "ssdb.m"
                        MR_Integer ssdb__V_40_40;
#line 1349 "ssdb.m"
                        MR_Integer ssdb__V_42_42;
#line 1349 "ssdb.m"
                        MR_Integer ssdb__V_44_44;
#line 1349 "ssdb.m"
                        MR_Integer ssdb__V_46_46;
#line 1379 "ssdb.m"
                        MR_Integer ssdb__V_48_48;
#line 1379 "ssdb.m"
                        MR_Integer ssdb__V_49_49;
#line 1379 "ssdb.m"
                        MR_Word ssdb__V_50_50;
#line 1379 "ssdb.m"
                        MR_String ssdb__V_51_51;
#line 1379 "ssdb.m"
                        MR_Integer ssdb__V_52_52;
#line 1379 "ssdb.m"
                        MR_Word ssdb__V_53_53;
#line 1379 "ssdb.m"
                        MR_Word ssdb__V_54_54;
#line 1380 "ssdb.m"
                        MR_Integer ssdb__V_55_55;
#line 1380 "ssdb.m"
                        MR_Integer ssdb__V_56_56;
#line 1380 "ssdb.m"
                        MR_Word ssdb__V_57_57;
#line 1380 "ssdb.m"
                        MR_String ssdb__V_58_58;
#line 1380 "ssdb.m"
                        MR_Integer ssdb__V_59_59;
#line 1380 "ssdb.m"
                        MR_Word ssdb__V_60_60;
#line 1380 "ssdb.m"
                        MR_Word ssdb__V_61_61;

#line 1349 "ssdb.m"
                        ssdb__NextStop_12 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1350 "ssdb.m"
                        *ssdb__Retry_10 = (MR_Integer) 0;
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__update_next_stop_6_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 30289 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__update_next_stop_6_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 30305 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_30  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__update_next_stop_6_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 30324 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 981 "ssdb.m"
                        if ((ssdb__Stack_30 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 979 "ssdb.m"
                          {
#line 980 "ssdb.m"
                            {
#line 980 "ssdb.m"
                              mercury__require__error_1_p_0((MR_String) "ssdb: stack_top on empty stack");
#line 980 "ssdb.m"
                              return;
                            }
#line 979 "ssdb.m"
                          }
#line 981 "ssdb.m"
                        else
#line 982 "ssdb.m"
                          {
#line 982 "ssdb.m"
                            MR_Word ssdb__V_31_31;

#line 982 "ssdb.m"
                            ssdb__Frame_15 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_30, (MR_Integer) 0)));
#line 982 "ssdb.m"
                            ssdb__V_31_31 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_30, (MR_Integer) 1)));
#line 982 "ssdb.m"
                          }
#line 1379 "ssdb.m"
                        ssdb__V_42_42 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_15, (MR_Integer) 0)));
#line 1379 "ssdb.m"
                        ssdb__V_48_48 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_15, (MR_Integer) 1)));
#line 1379 "ssdb.m"
                        ssdb__V_49_49 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_15, (MR_Integer) 2)));
#line 1379 "ssdb.m"
                        ssdb__V_50_50 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_15, (MR_Integer) 3)));
#line 1379 "ssdb.m"
                        ssdb__V_51_51 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Frame_15, (MR_Integer) 4)));
#line 1379 "ssdb.m"
                        ssdb__V_52_52 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_15, (MR_Integer) 5)));
#line 1379 "ssdb.m"
                        ssdb__V_53_53 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_15, (MR_Integer) 6)));
#line 1379 "ssdb.m"
                        ssdb__V_54_54 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_15, (MR_Integer) 7)));
#line 1379 "ssdb.m"
                        ssdb__V_40_40 = (ssdb__V_42_42 - (MR_Integer) 1);
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__update_next_stop_6_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 30386 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__update_next_stop_6_p_0

	MR_Integer X;

	X =  ssdb__V_40_40 ;
		{
#line 292 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_event_number = X;

#line 30403 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__update_next_stop_6_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 30421 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 1380 "ssdb.m"
                        ssdb__V_55_55 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_15, (MR_Integer) 0)));
#line 1380 "ssdb.m"
                        ssdb__V_46_46 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_15, (MR_Integer) 1)));
#line 1380 "ssdb.m"
                        ssdb__V_56_56 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_15, (MR_Integer) 2)));
#line 1380 "ssdb.m"
                        ssdb__V_57_57 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_15, (MR_Integer) 3)));
#line 1380 "ssdb.m"
                        ssdb__V_58_58 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Frame_15, (MR_Integer) 4)));
#line 1380 "ssdb.m"
                        ssdb__V_59_59 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_15, (MR_Integer) 5)));
#line 1380 "ssdb.m"
                        ssdb__V_60_60 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_15, (MR_Integer) 6)));
#line 1380 "ssdb.m"
                        ssdb__V_61_61 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_15, (MR_Integer) 7)));
#line 1380 "ssdb.m"
                        ssdb__V_44_44 = (ssdb__V_46_46 - (MR_Integer) 1);
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__update_next_stop_6_p_0


		{
#line 295 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_csn_lock,
                "ssdb__mutable_variable_cur_ssdb_csn_lock");
#endif

#line 30457 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__update_next_stop_6_p_0

	MR_Integer X;

	X =  ssdb__V_44_44 ;
		{
#line 295 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_csn = X;

#line 30474 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__update_next_stop_6_p_0


		{
#line 295 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_csn_lock,
                "ssdb__mutable_variable_cur_ssdb_csn_lock");
#endif

#line 30492 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 1349 "ssdb.m"
                      }
#line 1353 "ssdb.m"
                    else
#line 1354 "ssdb.m"
                      {
#line 1354 "ssdb.m"
                        {
#line 1354 "ssdb.m"
                          ssdb__NextStop_12 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1354 "ssdb.m"
                          MR_hl_field(MR_mktag(2), ssdb__NextStop_12, 0) = ((MR_Box) (ssdb__RetryCSN_14));
#line 1354 "ssdb.m"
                          MR_hl_field(MR_mktag(2), ssdb__NextStop_12, 1) = ((MR_Box) ((MR_Integer) 0));
#line 1354 "ssdb.m"
                        }
#line 1355 "ssdb.m"
                        *ssdb__Retry_10 = (MR_Integer) 1;
#line 1354 "ssdb.m"
                      }
#line 1347 "ssdb.m"
                  }
#line 1326 "ssdb.m"
                else
#line 1326 "ssdb.m"
                  if (((((MR_tag((MR_Word) ssdb__WhatNext_9)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__WhatNext_9, (MR_Integer) 0)))) == (MR_Integer) 1))))
#line 1362 "ssdb.m"
                    {
#line 1362 "ssdb.m"
                      MR_Integer ssdb__EventNumToGo_16 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__WhatNext_9, (MR_Integer) 1)));

#line 1363 "ssdb.m"
                      ssdb__succeeded = (ssdb__EventNum_7 == ssdb__EventNumToGo_16);
#line 1366 "ssdb.m"
                      if (ssdb__succeeded)
#line 1364 "ssdb.m"
                        {
#line 1364 "ssdb.m"
                          ssdb__NextStop_12 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 1365 "ssdb.m"
                          *ssdb__Retry_10 = (MR_Integer) 1;
#line 1364 "ssdb.m"
                        }
#line 1366 "ssdb.m"
                      else
#line 1367 "ssdb.m"
                        {
#line 1367 "ssdb.m"
                          {
#line 1367 "ssdb.m"
                            ssdb__NextStop_12 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1367 "ssdb.m"
                            MR_hl_field(MR_mktag(3), ssdb__NextStop_12, 0) = ((MR_Box) (MR_Word) ((MR_Integer) 1));
#line 1367 "ssdb.m"
                            MR_hl_field(MR_mktag(3), ssdb__NextStop_12, 1) = ((MR_Box) (ssdb__EventNumToGo_16));
#line 1367 "ssdb.m"
                          }
#line 1368 "ssdb.m"
                          *ssdb__Retry_10 = (MR_Integer) 1;
#line 1367 "ssdb.m"
                        }
#line 1362 "ssdb.m"
                    }
#line 1326 "ssdb.m"
                  else
#line 1358 "ssdb.m"
                    {
#line 1358 "ssdb.m"
                      MR_Integer ssdb__RetryCSN_25 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__WhatNext_9, (MR_Integer) 1)));

#line 1359 "ssdb.m"
                      {
#line 1359 "ssdb.m"
                        ssdb__NextStop_12 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, ((MR_Integer) 3 * sizeof(MR_Word)), NULL, NULL));
#line 1359 "ssdb.m"
                        MR_hl_field(MR_mktag(3), ssdb__NextStop_12, 0) = ((MR_Box) (MR_Word) ((MR_Integer) 0));
#line 1359 "ssdb.m"
                        MR_hl_field(MR_mktag(3), ssdb__NextStop_12, 1) = ((MR_Box) (ssdb__RetryCSN_25));
#line 1359 "ssdb.m"
                        MR_hl_field(MR_mktag(3), ssdb__NextStop_12, 2) = ((MR_Box) ((MR_Integer) 0));
#line 1359 "ssdb.m"
                      }
#line 1360 "ssdb.m"
                      *ssdb__Retry_10 = (MR_Integer) 1;
#line 1358 "ssdb.m"
                    }
#line 298 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__update_next_stop_6_p_0


		{
#line 298 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_next_stop_lock,
                "ssdb__mutable_variable_cur_ssdb_next_stop_lock");
#endif

#line 30596 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 298 "ssdb.m"
}
#line 298 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__update_next_stop_6_p_0

	MR_Word X;

	X =  ssdb__NextStop_12 ;
		{
#line 298 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_next_stop = X;

#line 30613 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 298 "ssdb.m"
}
#line 298 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__update_next_stop_6_p_0


		{
#line 298 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_next_stop_lock,
                "ssdb__mutable_variable_cur_ssdb_next_stop_lock");
#endif

#line 30631 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 298 "ssdb.m"
}
#line 1321 "ssdb.m"
  }
#line 1318 "ssdb.m"
}

#line 1307 "ssdb.m"
static void MR_CALL 
ssdb__is_same_int_3_p_0(
#line 1307 "ssdb.m"
  MR_Integer ssdb__IntA_4,
#line 1307 "ssdb.m"
  MR_Integer ssdb__IntB_5,
#line 1307 "ssdb.m"
  MR_Word * ssdb__IsSame_6)
#line 1307 "ssdb.m"
{
#line 1310 "ssdb.m"
  {
#line 1310 "ssdb.m"
    MR_bool ssdb__succeeded = (ssdb__IntA_4 == ssdb__IntB_5);

#line 1310 "ssdb.m"
    if (ssdb__succeeded)
#line 1310 "ssdb.m"
      *ssdb__IsSame_6 = (MR_Integer) 1;
#line 1310 "ssdb.m"
    else
#line 1310 "ssdb.m"
      *ssdb__IsSame_6 = (MR_Integer) 0;
#line 1310 "ssdb.m"
  }
#line 1307 "ssdb.m"
}

#line 1287 "ssdb.m"
static void MR_CALL 
ssdb__current_and_parent_frame_tracing_levels_4_p_0(
#line 1287 "ssdb.m"
  MR_Word * ssdb__CurrentLevel_5,
#line 1287 "ssdb.m"
  MR_Word * ssdb__ParentLevel_6)
#line 1287 "ssdb.m"
{
#line 1290 "ssdb.m"
  {
#line 1290 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 1290 "ssdb.m"
    MR_Word ssdb__Stack_8;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__current_and_parent_frame_tracing_levels_4_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 30699 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__current_and_parent_frame_tracing_levels_4_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 30715 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_8  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__current_and_parent_frame_tracing_levels_4_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 30734 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 1295 "ssdb.m"
    if ((ssdb__Stack_8 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1293 "ssdb.m"
      {
#line 1294 "ssdb.m"
        {
#line 1294 "ssdb.m"
          mercury__require__error_1_p_0((MR_String) "ssdb: current_frame_shallow_traced");
#line 1294 "ssdb.m"
          return;
        }
#line 1293 "ssdb.m"
      }
#line 1295 "ssdb.m"
    else
#line 1296 "ssdb.m"
      {
#line 1296 "ssdb.m"
        MR_Word ssdb__Current_9 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_8, (MR_Integer) 0)));
#line 1296 "ssdb.m"
        MR_Word ssdb__RestStack_10 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_8, (MR_Integer) 1)));
#line 1297 "ssdb.m"
        MR_Integer ssdb__V_17_17 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Current_9, (MR_Integer) 0)));
#line 1297 "ssdb.m"
        MR_Integer ssdb__V_18_18 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Current_9, (MR_Integer) 1)));
#line 1297 "ssdb.m"
        MR_Integer ssdb__V_19_19 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Current_9, (MR_Integer) 2)));
#line 1297 "ssdb.m"
        MR_Word ssdb__V_20_20 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Current_9, (MR_Integer) 3)));
#line 1297 "ssdb.m"
        MR_String ssdb__V_21_21 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Current_9, (MR_Integer) 4)));
#line 1297 "ssdb.m"
        MR_Integer ssdb__V_22_22 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Current_9, (MR_Integer) 5)));
#line 1297 "ssdb.m"
        MR_Word ssdb__V_23_23 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Current_9, (MR_Integer) 6)));

#line 1297 "ssdb.m"
        *ssdb__CurrentLevel_5 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Current_9, (MR_Integer) 7)));
#line 1301 "ssdb.m"
        if ((ssdb__RestStack_10 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1300 "ssdb.m"
          *ssdb__ParentLevel_6 = (MR_Integer) 0;
#line 1301 "ssdb.m"
        else
#line 1302 "ssdb.m"
          {
#line 1302 "ssdb.m"
            MR_Word ssdb__Parent_11 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__RestStack_10, (MR_Integer) 0)));
#line 1302 "ssdb.m"
            MR_Word ssdb__V_12_12 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__RestStack_10, (MR_Integer) 1)));
#line 1303 "ssdb.m"
            MR_Integer ssdb__V_24_24 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Parent_11, (MR_Integer) 0)));
#line 1303 "ssdb.m"
            MR_Integer ssdb__V_25_25 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Parent_11, (MR_Integer) 1)));
#line 1303 "ssdb.m"
            MR_Integer ssdb__V_26_26 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Parent_11, (MR_Integer) 2)));
#line 1303 "ssdb.m"
            MR_Word ssdb__V_27_27 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Parent_11, (MR_Integer) 3)));
#line 1303 "ssdb.m"
            MR_String ssdb__V_28_28 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Parent_11, (MR_Integer) 4)));
#line 1303 "ssdb.m"
            MR_Integer ssdb__V_29_29 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Parent_11, (MR_Integer) 5)));
#line 1303 "ssdb.m"
            MR_Word ssdb__V_30_30 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Parent_11, (MR_Integer) 6)));

#line 1303 "ssdb.m"
            *ssdb__ParentLevel_6 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Parent_11, (MR_Integer) 7)));
#line 1302 "ssdb.m"
          }
#line 1296 "ssdb.m"
      }
#line 1290 "ssdb.m"
  }
#line 1287 "ssdb.m"
}

#line 1127 "ssdb.m"
static void MR_CALL 
ssdb__should_stop_at_this_event_8_p_0(
#line 1127 "ssdb.m"
  MR_Word ssdb__Event_9,
#line 1127 "ssdb.m"
  MR_Integer ssdb__EventNum_10,
#line 1127 "ssdb.m"
  MR_Integer ssdb__CSN_11,
#line 1127 "ssdb.m"
  MR_Word ssdb__ProcId_12,
#line 1127 "ssdb.m"
  MR_Word * ssdb__ShouldStopAtEvent_13,
#line 1127 "ssdb.m"
  MR_Word * ssdb__AutoRetry_14)
#line 1127 "ssdb.m"
{
#line 1131 "ssdb.m"
  {
#line 1131 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 1131 "ssdb.m"
    MR_Word ssdb__NextStop_16;
#line 1131 "ssdb.m"
    MR_Word ssdb__ShouldStopAtEvent0_17;
#line 1131 "ssdb.m"
    MR_Word ssdb__CurrentLevel_23;
#line 1131 "ssdb.m"
    MR_Word ssdb__ParentLevel_24;

#line 298 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__should_stop_at_this_event_8_p_0


		{
#line 298 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_next_stop_lock,
                "ssdb__mutable_variable_cur_ssdb_next_stop_lock");
#endif

#line 30858 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 298 "ssdb.m"
}
#line 298 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__should_stop_at_this_event_8_p_0

	MR_Word X;

		{
#line 298 "ssdb.m"
X = ssdb__mutable_variable_cur_ssdb_next_stop;

#line 30874 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__NextStop_16  = X;
#line 298 "ssdb.m"
}
#line 298 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__should_stop_at_this_event_8_p_0


		{
#line 298 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_next_stop_lock,
                "ssdb__mutable_variable_cur_ssdb_next_stop_lock");
#endif

#line 30893 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 298 "ssdb.m"
}
#line 1137 "ssdb.m"
    if ((ssdb__NextStop_16 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 1)))))
#line 1142 "ssdb.m"
      {
#line 1142 "ssdb.m"
        MR_Box ssdb__Filter_66;
#line 1142 "ssdb.m"
        MR_String ssdb__ModuleName_67;
#line 1142 "ssdb.m"
        MR_String ssdb__ProcName_68;
#line 2891 "ssdb.m"
        MR_Word ssdb__V_72_72;
#line 2891 "ssdb.m"
        MR_Integer ssdb__V_73_73;
#line 2891 "ssdb.m"
        MR_Word ssdb__V_74_74;
#line 2891 "ssdb.m"
        MR_Integer ssdb__V_75_75;
#line 2891 "ssdb.m"
        MR_Integer ssdb__V_85_85;
#line 2891 "ssdb.m"
        MR_Integer ssdb__V_89_89;
#line 2891 "ssdb.m"
        MR_Integer ssdb__V_90_90;

#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__should_stop_at_this_event_8_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 30936 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__should_stop_at_this_event_8_p_0

	MR_BitmapPtr X;

		{
#line 319 "ssdb.m"
X = ssdb__mutable_variable_breakpoints_filter;

#line 30952 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Filter_66  = (MR_Box) X;
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__should_stop_at_this_event_8_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 30971 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 2889 "ssdb.m"
        ssdb__ModuleName_67 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__ProcId_12, (MR_Integer) 0)));
#line 2889 "ssdb.m"
        ssdb__ProcName_68 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__ProcId_12, (MR_Integer) 1)));
#line 2909 "ssdb.m"
        {
#line 2909 "ssdb.m"
          ssdb__V_85_85 = mercury__string__hash_1_f_0(ssdb__ProcName_68);
        }
#line 2861 "ssdb.m"
        ssdb__V_73_73 = (ssdb__V_85_85 & (MR_Integer) 65535);
#line 2891 "ssdb.m"
        {
#line 2891 "ssdb.m"
          ssdb__V_72_72 = mercury__bitmap__unsafe_bit_2_f_0(ssdb__V_73_73, ssdb__Filter_66);
        }
#line 2891 "ssdb.m"
        ssdb__succeeded = (ssdb__V_72_72 == (MR_Integer) 1);
#line 2891 "ssdb.m"
        if (ssdb__succeeded)
#line 2891 "ssdb.m"
          {
#line 2909 "ssdb.m"
            {
#line 2909 "ssdb.m"
              ssdb__V_89_89 = mercury__string__hash_1_f_0(ssdb__ModuleName_67);
            }
#line 2857 "ssdb.m"
            ssdb__V_90_90 = (MR_Integer) 65535;
#line 2861 "ssdb.m"
            ssdb__V_75_75 = (ssdb__V_89_89 & ssdb__V_90_90);
#line 2892 "ssdb.m"
            {
#line 2892 "ssdb.m"
              ssdb__V_74_74 = mercury__bitmap__unsafe_bit_2_f_0(ssdb__V_75_75, ssdb__Filter_66);
            }
#line 2892 "ssdb.m"
            ssdb__succeeded = (ssdb__V_74_74 == (MR_Integer) 1);
#line 2891 "ssdb.m"
          }
#line 2903 "ssdb.m"
        if (ssdb__succeeded)
#line 2894 "ssdb.m"
          {
#line 2894 "ssdb.m"
            MR_Word ssdb__BreakPoints_69;
#line 2896 "ssdb.m"
            MR_Word ssdb__BreakPoint_70;
#line 2896 "ssdb.m"
            MR_Word ssdb__V_77_77;
#line 2896 "ssdb.m"
            MR_Box ssdb__conv0_BreakPoint_70;
#line 2897 "ssdb.m"
            MR_Integer ssdb__V_78_78;
#line 2897 "ssdb.m"
            MR_Word ssdb__V_79_79;

#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__should_stop_at_this_event_8_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 31046 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__should_stop_at_this_event_8_p_0

	MR_Word X;

		{
#line 317 "ssdb.m"
X = ssdb__mutable_variable_breakpoints_map;

#line 31062 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__BreakPoints_69  = X;
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__should_stop_at_this_event_8_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 31081 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 2896 "ssdb.m"
            {
#line 2896 "ssdb.m"
              ssdb__succeeded = mercury__map__search_3_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0, ssdb__BreakPoints_69, ((MR_Box) (ssdb__ProcId_12)), &ssdb__conv0_BreakPoint_70);
            }
#line 2896 "ssdb.m"
            if (ssdb__succeeded)
#line 2896 "ssdb.m"
              {
#line 2896 "ssdb.m"
                ssdb__BreakPoint_70 = ((MR_Word) ssdb__conv0_BreakPoint_70);
#line 2896 "ssdb.m"
                ssdb__succeeded = MR_TRUE;
#line 2896 "ssdb.m"
              }
#line 2896 "ssdb.m"
            if (ssdb__succeeded)
#line 2896 "ssdb.m"
              {
#line 2897 "ssdb.m"
                ssdb__V_78_78 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__BreakPoint_70, (MR_Integer) 0)));
#line 2897 "ssdb.m"
                ssdb__V_79_79 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__BreakPoint_70, (MR_Integer) 1)));
#line 2897 "ssdb.m"
                ssdb__V_77_77 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__BreakPoint_70, (MR_Integer) 2)));
#line 2897 "ssdb.m"
                ssdb__succeeded = (ssdb__V_77_77 == (MR_Integer) 0);
#line 2896 "ssdb.m"
              }
#line 2900 "ssdb.m"
            if (ssdb__succeeded)
#line 2899 "ssdb.m"
              ssdb__ShouldStopAtEvent0_17 = (MR_Integer) 1;
#line 2900 "ssdb.m"
            else
#line 2901 "ssdb.m"
              ssdb__ShouldStopAtEvent0_17 = (MR_Integer) 0;
#line 2894 "ssdb.m"
          }
#line 2903 "ssdb.m"
        else
#line 2904 "ssdb.m"
          ssdb__ShouldStopAtEvent0_17 = (MR_Integer) 0;
#line 1144 "ssdb.m"
        *ssdb__AutoRetry_14 = (MR_Integer) 1;
#line 1142 "ssdb.m"
      }
#line 1137 "ssdb.m"
    else
#line 1137 "ssdb.m"
      if ((ssdb__NextStop_16 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 3)))))
#line 1258 "ssdb.m"
        {
#line 1262 "ssdb.m"
          if ((ssdb__Event_9 == (MR_Integer) 7))
#line 1261 "ssdb.m"
            ssdb__ShouldStopAtEvent0_17 = (MR_Integer) 1;
#line 1262 "ssdb.m"
          else
#line 1271 "ssdb.m"
            ssdb__ShouldStopAtEvent0_17 = (MR_Integer) 0;
#line 1273 "ssdb.m"
          *ssdb__AutoRetry_14 = (MR_Integer) 1;
#line 1258 "ssdb.m"
        }
#line 1137 "ssdb.m"
      else
#line 1137 "ssdb.m"
        if ((ssdb__NextStop_16 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 2)))))
#line 1236 "ssdb.m"
          {
#line 1246 "ssdb.m"
            if ((((ssdb__Event_9 == (MR_Integer) 1)) || ((ssdb__Event_9 == (MR_Integer) 4))))
#line 1250 "ssdb.m"
              ssdb__ShouldStopAtEvent0_17 = (MR_Integer) 0;
#line 1246 "ssdb.m"
            else
#line 1245 "ssdb.m"
              ssdb__ShouldStopAtEvent0_17 = (MR_Integer) 1;
#line 1252 "ssdb.m"
            *ssdb__AutoRetry_14 = (MR_Integer) 1;
#line 1236 "ssdb.m"
          }
#line 1137 "ssdb.m"
        else
#line 1137 "ssdb.m"
          if ((ssdb__NextStop_16 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1134 "ssdb.m"
            {
#line 1135 "ssdb.m"
              ssdb__ShouldStopAtEvent0_17 = (MR_Integer) 1;
#line 1136 "ssdb.m"
              *ssdb__AutoRetry_14 = (MR_Integer) 1;
#line 1134 "ssdb.m"
            }
#line 1137 "ssdb.m"
          else
#line 1137 "ssdb.m"
            if (((MR_tag((MR_Word) ssdb__NextStop_16)) == (MR_mktag((MR_Integer) 2))))
#line 1146 "ssdb.m"
              {
#line 1146 "ssdb.m"
                MR_Word ssdb__AutoRetry0_19 = ((MR_Word) (MR_hl_field(MR_mktag(2), ssdb__NextStop_16, (MR_Integer) 1)));
#line 1146 "ssdb.m"
                MR_Integer ssdb__StopCSN_38 = ((MR_Integer) (MR_hl_field(MR_mktag(2), ssdb__NextStop_16, (MR_Integer) 0)));

#line 1173 "ssdb.m"
                if ((ssdb__Event_9 == (MR_Integer) 7))
#line 1174 "ssdb.m"
                  {
#line 1174 "ssdb.m"
                    MR_Word ssdb__Stack_21;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__should_stop_at_this_event_8_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 31212 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__should_stop_at_this_event_8_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 31228 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_21  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__should_stop_at_this_event_8_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 31247 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 1178 "ssdb.m"
                    {
#line 1178 "ssdb.m"
                      ssdb__succeeded = ssdb__exception_handler_exists_2_p_0(ssdb__StopCSN_38, ssdb__Stack_21);
                    }
#line 1180 "ssdb.m"
                    if (ssdb__succeeded)
#line 1179 "ssdb.m"
                      ssdb__ShouldStopAtEvent0_17 = (MR_Integer) 0;
#line 1180 "ssdb.m"
                    else
#line 1181 "ssdb.m"
                      ssdb__ShouldStopAtEvent0_17 = (MR_Integer) 1;
#line 1183 "ssdb.m"
                    *ssdb__AutoRetry_14 = (MR_Integer) 1;
#line 1174 "ssdb.m"
                  }
#line 1173 "ssdb.m"
                else
#line 1173 "ssdb.m"
                  if ((((((ssdb__Event_9 == (MR_Integer) 0)) || ((ssdb__Event_9 == (MR_Integer) 3)))) || ((ssdb__Event_9 == (MR_Integer) 5))))
#line 1188 "ssdb.m"
                    {
#line 1189 "ssdb.m"
                      ssdb__ShouldStopAtEvent0_17 = (MR_Integer) 0;
#line 1190 "ssdb.m"
                      *ssdb__AutoRetry_14 = (MR_Integer) 1;
#line 1188 "ssdb.m"
                    }
#line 1173 "ssdb.m"
                  else
#line 1169 "ssdb.m"
                    {
#line 1153 "ssdb.m"
                      ssdb__succeeded = (ssdb__StopCSN_38 == ssdb__CSN_11);
#line 1169 "ssdb.m"
                      if (ssdb__succeeded)
#line 1154 "ssdb.m"
                        {
#line 1154 "ssdb.m"
                          ssdb__ShouldStopAtEvent0_17 = (MR_Integer) 1;
#line 1155 "ssdb.m"
                          *ssdb__AutoRetry_14 = ssdb__AutoRetry0_19;
#line 1166 "ssdb.m"
                          if ((*ssdb__AutoRetry_14 == (MR_Integer) 1))
#line 1167 "ssdb.m"
                            {
#line 1167 "ssdb.m"
                            }
#line 1166 "ssdb.m"
                          else
#line 1157 "ssdb.m"
                            {
#line 1157 "ssdb.m"
                              MR_Word ssdb__Frame_20;

#line 1164 "ssdb.m"
                              {
#line 1164 "ssdb.m"
                                ssdb__stack_top_3_p_0(&ssdb__Frame_20);
                              }
#line 1165 "ssdb.m"
                              {
#line 1165 "ssdb.m"
                                ssdb__reset_counters_for_retry_3_p_0(ssdb__Frame_20);
                              }
#line 1157 "ssdb.m"
                            }
#line 1154 "ssdb.m"
                        }
#line 1169 "ssdb.m"
                      else
#line 1170 "ssdb.m"
                        {
#line 1170 "ssdb.m"
                          ssdb__ShouldStopAtEvent0_17 = (MR_Integer) 0;
#line 1171 "ssdb.m"
                          *ssdb__AutoRetry_14 = (MR_Integer) 1;
#line 1170 "ssdb.m"
                        }
#line 1169 "ssdb.m"
                    }
#line 1146 "ssdb.m"
              }
#line 1137 "ssdb.m"
            else
#line 1137 "ssdb.m"
              if (((MR_tag((MR_Word) ssdb__NextStop_16)) == (MR_mktag((MR_Integer) 1))))
#line 1138 "ssdb.m"
                {
#line 1138 "ssdb.m"
                  MR_Integer ssdb__StopCSN_18 = ((MR_Integer) (MR_hl_field(MR_mktag(1), ssdb__NextStop_16, (MR_Integer) 0)));

#line 1139 "ssdb.m"
                  {
#line 1139 "ssdb.m"
                    ssdb__is_same_int_3_p_0(ssdb__StopCSN_18, ssdb__CSN_11, &ssdb__ShouldStopAtEvent0_17);
                  }
#line 1140 "ssdb.m"
                  *ssdb__AutoRetry_14 = (MR_Integer) 1;
#line 1138 "ssdb.m"
                }
#line 1137 "ssdb.m"
              else
#line 1137 "ssdb.m"
                if (((((MR_tag((MR_Word) ssdb__NextStop_16)) == (MR_mktag((MR_Integer) 3)))) && (((((MR_Integer) (MR_Word) (MR_hl_field(MR_mktag(3), ssdb__NextStop_16, (MR_Integer) 0)))) == (MR_Integer) 0))))
#line 1193 "ssdb.m"
                  {
#line 1193 "ssdb.m"
                    MR_Integer ssdb__StopCSN_47 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__NextStop_16, (MR_Integer) 1)));
#line 1193 "ssdb.m"
                    MR_Word ssdb__AutoRetry0_48 = ((MR_Word) (MR_hl_field(MR_mktag(3), ssdb__NextStop_16, (MR_Integer) 2)));

#line 1215 "ssdb.m"
                    if ((ssdb__Event_9 == (MR_Integer) 7))
#line 1216 "ssdb.m"
                      {
#line 1216 "ssdb.m"
                        MR_Word ssdb__Stack_44;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__should_stop_at_this_event_8_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 31385 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__should_stop_at_this_event_8_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 31401 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_44  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__should_stop_at_this_event_8_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 31420 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 1218 "ssdb.m"
                        {
#line 1218 "ssdb.m"
                          ssdb__succeeded = ssdb__exception_handler_exists_2_p_0(ssdb__StopCSN_47, ssdb__Stack_44);
                        }
#line 1220 "ssdb.m"
                        if (ssdb__succeeded)
#line 1219 "ssdb.m"
                          ssdb__ShouldStopAtEvent0_17 = (MR_Integer) 0;
#line 1220 "ssdb.m"
                        else
#line 1221 "ssdb.m"
                          ssdb__ShouldStopAtEvent0_17 = (MR_Integer) 1;
#line 1223 "ssdb.m"
                        *ssdb__AutoRetry_14 = (MR_Integer) 1;
#line 1216 "ssdb.m"
                      }
#line 1215 "ssdb.m"
                    else
#line 1215 "ssdb.m"
                      if ((ssdb__Event_9 == (MR_Integer) 6))
#line 1211 "ssdb.m"
                        {
#line 1196 "ssdb.m"
                          ssdb__succeeded = (ssdb__StopCSN_47 == ssdb__CSN_11);
#line 1211 "ssdb.m"
                          if (ssdb__succeeded)
#line 1197 "ssdb.m"
                            {
#line 1197 "ssdb.m"
                              ssdb__ShouldStopAtEvent0_17 = (MR_Integer) 1;
#line 1198 "ssdb.m"
                              *ssdb__AutoRetry_14 = ssdb__AutoRetry0_48;
#line 1208 "ssdb.m"
                              if ((*ssdb__AutoRetry_14 == (MR_Integer) 1))
#line 1209 "ssdb.m"
                                {
#line 1209 "ssdb.m"
                                }
#line 1208 "ssdb.m"
                              else
#line 1200 "ssdb.m"
                                {
#line 1200 "ssdb.m"
                                  MR_Word ssdb__Frame_39;
#line 1202 "ssdb.m"
                                  MR_Integer ssdb__V_58_58;
#line 1202 "ssdb.m"
                                  MR_Integer ssdb__V_51_51;
#line 1202 "ssdb.m"
                                  MR_Integer ssdb__V_52_52;
#line 1202 "ssdb.m"
                                  MR_Word ssdb__V_53_53;
#line 1202 "ssdb.m"
                                  MR_String ssdb__V_54_54;
#line 1202 "ssdb.m"
                                  MR_Integer ssdb__V_55_55;
#line 1202 "ssdb.m"
                                  MR_Word ssdb__V_56_56;
#line 1202 "ssdb.m"
                                  MR_Word ssdb__V_57_57;

#line 1201 "ssdb.m"
                                  {
#line 1201 "ssdb.m"
                                    ssdb__nondet_stack_index_4_p_0((MR_Integer) 0, &ssdb__Frame_39);
                                  }
#line 1202 "ssdb.m"
                                  ssdb__V_51_51 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_39, (MR_Integer) 0)));
#line 1202 "ssdb.m"
                                  ssdb__V_58_58 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_39, (MR_Integer) 1)));
#line 1202 "ssdb.m"
                                  ssdb__V_52_52 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_39, (MR_Integer) 2)));
#line 1202 "ssdb.m"
                                  ssdb__V_53_53 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_39, (MR_Integer) 3)));
#line 1202 "ssdb.m"
                                  ssdb__V_54_54 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Frame_39, (MR_Integer) 4)));
#line 1202 "ssdb.m"
                                  ssdb__V_55_55 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_39, (MR_Integer) 5)));
#line 1202 "ssdb.m"
                                  ssdb__V_56_56 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_39, (MR_Integer) 6)));
#line 1202 "ssdb.m"
                                  ssdb__V_57_57 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_39, (MR_Integer) 7)));
#line 1202 "ssdb.m"
                                  ssdb__succeeded = (ssdb__CSN_11 == ssdb__V_58_58);
#line 1205 "ssdb.m"
                                  if (ssdb__succeeded)
#line 1204 "ssdb.m"
                                    {
#line 1204 "ssdb.m"
                                      ssdb__reset_counters_for_retry_3_p_0(ssdb__Frame_39);
                                    }
#line 1205 "ssdb.m"
                                  else
#line 1206 "ssdb.m"
                                    {
#line 1206 "ssdb.m"
                                      {
#line 1206 "ssdb.m"
                                        mercury__require__error_1_p_0((MR_String) "ssdb: nondet stack frame has unexpected CSN");
#line 1206 "ssdb.m"
                                        return;
                                      }
#line 1206 "ssdb.m"
                                    }
#line 1200 "ssdb.m"
                                }
#line 1197 "ssdb.m"
                            }
#line 1211 "ssdb.m"
                          else
#line 1212 "ssdb.m"
                            {
#line 1212 "ssdb.m"
                              ssdb__ShouldStopAtEvent0_17 = (MR_Integer) 0;
#line 1213 "ssdb.m"
                              *ssdb__AutoRetry_14 = (MR_Integer) 1;
#line 1212 "ssdb.m"
                            }
#line 1211 "ssdb.m"
                        }
#line 1215 "ssdb.m"
                      else
#line 1231 "ssdb.m"
                        {
#line 1232 "ssdb.m"
                          ssdb__ShouldStopAtEvent0_17 = (MR_Integer) 0;
#line 1233 "ssdb.m"
                          *ssdb__AutoRetry_14 = (MR_Integer) 1;
#line 1231 "ssdb.m"
                        }
#line 1193 "ssdb.m"
                  }
#line 1137 "ssdb.m"
                else
#line 1254 "ssdb.m"
                  {
#line 1254 "ssdb.m"
                    MR_Integer ssdb__EventNumToGo_22 = ((MR_Integer) (MR_hl_field(MR_mktag(3), ssdb__NextStop_16, (MR_Integer) 1)));

#line 1255 "ssdb.m"
                    {
#line 1255 "ssdb.m"
                      ssdb__is_same_int_3_p_0(ssdb__EventNumToGo_22, ssdb__EventNum_10, &ssdb__ShouldStopAtEvent0_17);
                    }
#line 1256 "ssdb.m"
                    *ssdb__AutoRetry_14 = (MR_Integer) 1;
#line 1254 "ssdb.m"
                  }
#line 1276 "ssdb.m"
    {
#line 1276 "ssdb.m"
      ssdb__current_and_parent_frame_tracing_levels_4_p_0(&ssdb__CurrentLevel_23, &ssdb__ParentLevel_24);
    }
#line 1278 "ssdb.m"
    ssdb__succeeded = (ssdb__ShouldStopAtEvent0_17 == (MR_Integer) 1);
#line 1278 "ssdb.m"
    if (ssdb__succeeded)
#line 1278 "ssdb.m"
      {
#line 1279 "ssdb.m"
        ssdb__succeeded = (ssdb__CurrentLevel_23 == (MR_Integer) 1);
#line 1278 "ssdb.m"
        if (ssdb__succeeded)
#line 1280 "ssdb.m"
          ssdb__succeeded = (ssdb__ParentLevel_24 == (MR_Integer) 1);
#line 1278 "ssdb.m"
      }
#line 1283 "ssdb.m"
    if (ssdb__succeeded)
#line 1282 "ssdb.m"
      *ssdb__ShouldStopAtEvent_13 = (MR_Integer) 0;
#line 1283 "ssdb.m"
    else
#line 1284 "ssdb.m"
      *ssdb__ShouldStopAtEvent_13 = ssdb__ShouldStopAtEvent0_17;
#line 1131 "ssdb.m"
  }
#line 1127 "ssdb.m"
}

#line 1072 "ssdb.m"
static void MR_CALL 
ssdb__nondet_stack_pop_2_p_0(void)
#line 1072 "ssdb.m"
{
#line 1074 "ssdb.m"
  {
#line 1074 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 1074 "ssdb.m"
    MR_Word ssdb__Stack_4;
#line 1074 "ssdb.m"
    MR_Integer ssdb__Depth_5;

#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_pop_2_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_nondet_shadow_stack_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_lock");
#endif

#line 31633 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_pop_2_p_0

	MR_Word X;

		{
#line 306 "ssdb.m"
X = ssdb__mutable_variable_nondet_shadow_stack;

#line 31649 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_4  = X;
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_pop_2_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_nondet_shadow_stack_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_lock");
#endif

#line 31668 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_pop_2_p_0


		{
#line 308 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_nondet_shadow_stack_depth_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_depth_lock");
#endif

#line 31686 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_pop_2_p_0

	MR_Integer X;

		{
#line 308 "ssdb.m"
X = ssdb__mutable_variable_nondet_shadow_stack_depth;

#line 31702 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Depth_5  = X;
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_pop_2_p_0


		{
#line 308 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_nondet_shadow_stack_depth_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_depth_lock");
#endif

#line 31721 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 1080 "ssdb.m"
    if ((ssdb__Stack_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1078 "ssdb.m"
      {
#line 1079 "ssdb.m"
        {
#line 1079 "ssdb.m"
          mercury__require__error_1_p_0((MR_String) "ssdb: nondet_stack_pop on empty stack");
#line 1079 "ssdb.m"
          return;
        }
#line 1078 "ssdb.m"
      }
#line 1080 "ssdb.m"
    else
#line 1081 "ssdb.m"
      {
#line 1081 "ssdb.m"
        MR_Word ssdb__StackTail_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_4, (MR_Integer) 1)));
#line 1081 "ssdb.m"
        MR_Integer ssdb__V_13_13;
#line 1081 "ssdb.m"
        MR_Word ssdb__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_4, (MR_Integer) 0)));

#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_pop_2_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_nondet_shadow_stack_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_lock");
#endif

#line 31763 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_pop_2_p_0

	MR_Word X;

	X =  ssdb__StackTail_7 ;
		{
#line 306 "ssdb.m"
ssdb__mutable_variable_nondet_shadow_stack = X;

#line 31780 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_pop_2_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_nondet_shadow_stack_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_lock");
#endif

#line 31798 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 1083 "ssdb.m"
        ssdb__V_13_13 = (ssdb__Depth_5 - (MR_Integer) 1);
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_pop_2_p_0


		{
#line 308 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_nondet_shadow_stack_depth_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_depth_lock");
#endif

#line 31818 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_pop_2_p_0

	MR_Integer X;

	X =  ssdb__V_13_13 ;
		{
#line 308 "ssdb.m"
ssdb__mutable_variable_nondet_shadow_stack_depth = X;

#line 31835 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_pop_2_p_0


		{
#line 308 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_nondet_shadow_stack_depth_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_depth_lock");
#endif

#line 31853 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 1081 "ssdb.m"
      }
#line 1074 "ssdb.m"
  }
#line 1072 "ssdb.m"
}

#line 1063 "ssdb.m"
static void MR_CALL 
ssdb__nondet_stack_push_3_p_0(
#line 1063 "ssdb.m"
  MR_Word ssdb__Frame_4)
#line 1063 "ssdb.m"
{
#line 1066 "ssdb.m"
  {
#line 1066 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 1066 "ssdb.m"
    MR_Word ssdb__Stack_6;
#line 1066 "ssdb.m"
    MR_Integer ssdb__Depth_7;
#line 1066 "ssdb.m"
    MR_Word ssdb__V_11_11;
#line 1066 "ssdb.m"
    MR_Integer ssdb__V_14_14;

#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_push_3_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_nondet_shadow_stack_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_lock");
#endif

#line 31898 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_push_3_p_0

	MR_Word X;

		{
#line 306 "ssdb.m"
X = ssdb__mutable_variable_nondet_shadow_stack;

#line 31914 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_6  = X;
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_push_3_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_nondet_shadow_stack_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_lock");
#endif

#line 31933 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 1068 "ssdb.m"
    {
#line 1068 "ssdb.m"
      ssdb__V_11_11 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1068 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_11_11, 0) = ((MR_Box) (ssdb__Frame_4));
#line 1068 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_11_11, 1) = ((MR_Box) (ssdb__Stack_6));
#line 1068 "ssdb.m"
    }
#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_push_3_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_nondet_shadow_stack_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_lock");
#endif

#line 31961 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_push_3_p_0

	MR_Word X;

	X =  ssdb__V_11_11 ;
		{
#line 306 "ssdb.m"
ssdb__mutable_variable_nondet_shadow_stack = X;

#line 31978 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_push_3_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_nondet_shadow_stack_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_lock");
#endif

#line 31996 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_push_3_p_0


		{
#line 308 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_nondet_shadow_stack_depth_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_depth_lock");
#endif

#line 32014 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_push_3_p_0

	MR_Integer X;

		{
#line 308 "ssdb.m"
X = ssdb__mutable_variable_nondet_shadow_stack_depth;

#line 32030 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Depth_7  = X;
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_push_3_p_0


		{
#line 308 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_nondet_shadow_stack_depth_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_depth_lock");
#endif

#line 32049 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 1070 "ssdb.m"
    ssdb__V_14_14 = (ssdb__Depth_7 + (MR_Integer) 1);
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_push_3_p_0


		{
#line 308 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_nondet_shadow_stack_depth_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_depth_lock");
#endif

#line 32069 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_push_3_p_0

	MR_Integer X;

	X =  ssdb__V_14_14 ;
		{
#line 308 "ssdb.m"
ssdb__mutable_variable_nondet_shadow_stack_depth = X;

#line 32086 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_push_3_p_0


		{
#line 308 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_nondet_shadow_stack_depth_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_depth_lock");
#endif

#line 32104 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 1066 "ssdb.m"
  }
#line 1063 "ssdb.m"
}

#line 1051 "ssdb.m"
static void MR_CALL 
ssdb__nondet_stack_index_4_p_0(
#line 1051 "ssdb.m"
  MR_Integer ssdb__Num_5,
#line 1051 "ssdb.m"
  MR_Word * ssdb__Frame_6)
#line 1051 "ssdb.m"
{
#line 1054 "ssdb.m"
  {
#line 1054 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 1054 "ssdb.m"
    MR_Word ssdb__Stack_8;
#line 1056 "ssdb.m"
    MR_Box ssdb__conv0_Frame_6;

#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_index_4_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_nondet_shadow_stack_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_lock");
#endif

#line 32145 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_index_4_p_0

	MR_Word X;

		{
#line 306 "ssdb.m"
X = ssdb__mutable_variable_nondet_shadow_stack;

#line 32161 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_8  = X;
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__nondet_stack_index_4_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_nondet_shadow_stack_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_lock");
#endif

#line 32180 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 1056 "ssdb.m"
    {
#line 1056 "ssdb.m"
      mercury__list__det_index0_3_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_stack_frame_0, ssdb__Stack_8, ssdb__Num_5, &ssdb__conv0_Frame_6);
    }
#line 1056 "ssdb.m"
    *ssdb__Frame_6 = ((MR_Word) ssdb__conv0_Frame_6);
#line 1054 "ssdb.m"
  }
#line 1051 "ssdb.m"
}

#line 1010 "ssdb.m"
static void MR_CALL 
ssdb__stack_pop_2_p_0(void)
#line 1010 "ssdb.m"
{
#line 1012 "ssdb.m"
  {
#line 1012 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 1012 "ssdb.m"
    MR_Word ssdb__Stack_4;
#line 1012 "ssdb.m"
    MR_Integer ssdb__Depth_5;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_pop_2_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 32224 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_pop_2_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 32240 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_4  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_pop_2_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 32259 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_pop_2_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 32277 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_pop_2_p_0

	MR_Integer X;

		{
#line 303 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack_depth;

#line 32293 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Depth_5  = X;
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_pop_2_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 32312 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 1018 "ssdb.m"
    if ((ssdb__Stack_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1016 "ssdb.m"
      {
#line 1017 "ssdb.m"
        {
#line 1017 "ssdb.m"
          mercury__require__error_1_p_0((MR_String) "ssdb: stack_pop on empty stack");
#line 1017 "ssdb.m"
          return;
        }
#line 1016 "ssdb.m"
      }
#line 1018 "ssdb.m"
    else
#line 1019 "ssdb.m"
      {
#line 1019 "ssdb.m"
        MR_Word ssdb__StackTail_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_4, (MR_Integer) 1)));
#line 1019 "ssdb.m"
        MR_Integer ssdb__V_13_13;
#line 1019 "ssdb.m"
        MR_Word ssdb__V_6_6 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_4, (MR_Integer) 0)));

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_pop_2_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 32354 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_pop_2_p_0

	MR_Word X;

	X =  ssdb__StackTail_7 ;
		{
#line 301 "ssdb.m"
ssdb__mutable_variable_shadow_stack = X;

#line 32371 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_pop_2_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 32389 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 1021 "ssdb.m"
        ssdb__V_13_13 = (ssdb__Depth_5 - (MR_Integer) 1);
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_pop_2_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 32409 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_pop_2_p_0

	MR_Integer X;

	X =  ssdb__V_13_13 ;
		{
#line 303 "ssdb.m"
ssdb__mutable_variable_shadow_stack_depth = X;

#line 32426 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_pop_2_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 32444 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 1019 "ssdb.m"
      }
#line 1012 "ssdb.m"
  }
#line 1010 "ssdb.m"
}

#line 1002 "ssdb.m"
static void MR_CALL 
ssdb__stack_push_3_p_0(
#line 1002 "ssdb.m"
  MR_Word ssdb__Frame_4)
#line 1002 "ssdb.m"
{
#line 1004 "ssdb.m"
  {
#line 1004 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 1004 "ssdb.m"
    MR_Word ssdb__Stack_6;
#line 1004 "ssdb.m"
    MR_Integer ssdb__Depth_7;
#line 1004 "ssdb.m"
    MR_Word ssdb__V_11_11;
#line 1004 "ssdb.m"
    MR_Integer ssdb__V_14_14;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_push_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 32489 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_push_3_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 32505 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_6  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_push_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 32524 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 1006 "ssdb.m"
    {
#line 1006 "ssdb.m"
      ssdb__V_11_11 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1006 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_11_11, 0) = ((MR_Box) (ssdb__Frame_4));
#line 1006 "ssdb.m"
      MR_hl_field(MR_mktag(1), ssdb__V_11_11, 1) = ((MR_Box) (ssdb__Stack_6));
#line 1006 "ssdb.m"
    }
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_push_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 32552 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_push_3_p_0

	MR_Word X;

	X =  ssdb__V_11_11 ;
		{
#line 301 "ssdb.m"
ssdb__mutable_variable_shadow_stack = X;

#line 32569 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_push_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 32587 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_push_3_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 32605 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_push_3_p_0

	MR_Integer X;

		{
#line 303 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack_depth;

#line 32621 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Depth_7  = X;
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_push_3_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 32640 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 1008 "ssdb.m"
    ssdb__V_14_14 = (ssdb__Depth_7 + (MR_Integer) 1);
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_push_3_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 32660 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_push_3_p_0

	MR_Integer X;

	X =  ssdb__V_14_14 ;
		{
#line 303 "ssdb.m"
ssdb__mutable_variable_shadow_stack_depth = X;

#line 32677 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_push_3_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 32695 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 1004 "ssdb.m"
  }
#line 1002 "ssdb.m"
}

#line 991 "ssdb.m"
static void MR_CALL 
ssdb__stack_index_4_p_0(
#line 991 "ssdb.m"
  MR_Integer ssdb__Num_5,
#line 991 "ssdb.m"
  MR_Word * ssdb__Frame_6)
#line 991 "ssdb.m"
{
#line 993 "ssdb.m"
  {
#line 993 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 993 "ssdb.m"
    MR_Word ssdb__Stack_8;
#line 995 "ssdb.m"
    MR_Box ssdb__conv0_Frame_6;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_index_4_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 32736 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_index_4_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 32752 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_8  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_index_4_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 32771 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 995 "ssdb.m"
    {
#line 995 "ssdb.m"
      mercury__list__det_index0_3_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_stack_frame_0, ssdb__Stack_8, ssdb__Num_5, &ssdb__conv0_Frame_6);
    }
#line 995 "ssdb.m"
    *ssdb__Frame_6 = ((MR_Word) ssdb__conv0_Frame_6);
#line 993 "ssdb.m"
  }
#line 991 "ssdb.m"
}

#line 974 "ssdb.m"
static void MR_CALL 
ssdb__stack_top_3_p_0(
#line 974 "ssdb.m"
  MR_Word * ssdb__Frame_4)
#line 974 "ssdb.m"
{
#line 976 "ssdb.m"
  {
#line 976 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 976 "ssdb.m"
    MR_Word ssdb__Stack_6;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_top_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 32815 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_top_3_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 32831 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_6  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__stack_top_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 32850 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 981 "ssdb.m"
    if ((ssdb__Stack_6 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 979 "ssdb.m"
      {
#line 980 "ssdb.m"
        {
#line 980 "ssdb.m"
          mercury__require__error_1_p_0((MR_String) "ssdb: stack_top on empty stack");
#line 980 "ssdb.m"
          return;
        }
#line 979 "ssdb.m"
      }
#line 981 "ssdb.m"
    else
#line 982 "ssdb.m"
      {
#line 982 "ssdb.m"
        MR_Word ssdb__V_7_7;

#line 982 "ssdb.m"
        *ssdb__Frame_4 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_6, (MR_Integer) 0)));
#line 982 "ssdb.m"
        ssdb__V_7_7 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_6, (MR_Integer) 1)));
#line 982 "ssdb.m"
      }
#line 976 "ssdb.m"
  }
#line 974 "ssdb.m"
}

#line 813 "ssdb.m"
static void MR_CALL 
ssdb__search_nondet_stack_frame_2_7_p_0(
#line 813 "ssdb.m"
  MR_Word ssdb__ProcId_8,
#line 813 "ssdb.m"
  MR_Integer ssdb__Depth_9,
#line 813 "ssdb.m"
  MR_Integer ssdb__N_10,
#line 813 "ssdb.m"
  MR_Integer ssdb__StackDepth_11,
#line 813 "ssdb.m"
  MR_Word * ssdb__MaybeStackFrame_12)
#line 813 "ssdb.m"
{
#line 820 "ssdb.m"
  while (MR_TRUE)
#line 820 "ssdb.m"
    {
#line 820 "ssdb.m"
      /* tailcall optimized into a loop */
#line 820 "ssdb.m"
      {
#line 820 "ssdb.m"
        MR_bool ssdb__succeeded = (ssdb__N_10 >= ssdb__StackDepth_11);

#line 820 "ssdb.m"
        if (ssdb__succeeded)
#line 819 "ssdb.m"
          *ssdb__MaybeStackFrame_12 = (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0));
#line 820 "ssdb.m"
        else
#line 821 "ssdb.m"
          {
#line 821 "ssdb.m"
            MR_Word ssdb__Frame_14;
#line 821 "ssdb.m"
            MR_Word ssdb__Stack_58;
#line 1056 "ssdb.m"
            MR_Box ssdb__conv0_Frame_14;
#line 823 "ssdb.m"
            MR_String ssdb__V_18_18;
#line 823 "ssdb.m"
            MR_Word ssdb__V_19_19;
#line 823 "ssdb.m"
            MR_Integer ssdb__V_27_27;
#line 823 "ssdb.m"
            MR_String ssdb__V_32_32;
#line 823 "ssdb.m"
            MR_String ssdb__V_33_33;
#line 823 "ssdb.m"
            MR_String ssdb__V_50_50;
#line 823 "ssdb.m"
            MR_Integer ssdb__V_25_25;
#line 823 "ssdb.m"
            MR_Integer ssdb__V_26_26;
#line 823 "ssdb.m"
            MR_String ssdb__V_28_28;
#line 823 "ssdb.m"
            MR_Integer ssdb__V_29_29;
#line 823 "ssdb.m"
            MR_Word ssdb__V_30_30;
#line 823 "ssdb.m"
            MR_Word ssdb__V_31_31;

#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__search_nondet_stack_frame_2_7_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_nondet_shadow_stack_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_lock");
#endif

#line 32964 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__search_nondet_stack_frame_2_7_p_0

	MR_Word X;

		{
#line 306 "ssdb.m"
X = ssdb__mutable_variable_nondet_shadow_stack;

#line 32980 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_58  = X;
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__search_nondet_stack_frame_2_7_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_nondet_shadow_stack_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_lock");
#endif

#line 32999 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 1056 "ssdb.m"
            {
#line 1056 "ssdb.m"
              mercury__list__det_index0_3_p_0((MR_Word) &ssdb__ssdb__type_ctor_info_stack_frame_0, ssdb__Stack_58, ssdb__N_10, &ssdb__conv0_Frame_14);
            }
#line 1056 "ssdb.m"
            ssdb__Frame_14 = ((MR_Word) ssdb__conv0_Frame_14);
#line 823 "ssdb.m"
            ssdb__V_25_25 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_14, (MR_Integer) 0)));
#line 823 "ssdb.m"
            ssdb__V_26_26 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_14, (MR_Integer) 1)));
#line 823 "ssdb.m"
            ssdb__V_27_27 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_14, (MR_Integer) 2)));
#line 823 "ssdb.m"
            ssdb__V_19_19 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_14, (MR_Integer) 3)));
#line 823 "ssdb.m"
            ssdb__V_28_28 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Frame_14, (MR_Integer) 4)));
#line 823 "ssdb.m"
            ssdb__V_29_29 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_14, (MR_Integer) 5)));
#line 823 "ssdb.m"
            ssdb__V_30_30 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_14, (MR_Integer) 6)));
#line 823 "ssdb.m"
            ssdb__V_31_31 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_14, (MR_Integer) 7)));
#line 825 "ssdb.m"
            ssdb__succeeded = (ssdb__Depth_9 == ssdb__V_27_27);
#line 823 "ssdb.m"
            if (ssdb__succeeded)
#line 823 "ssdb.m"
              {
#line 823 "ssdb.m"
                ssdb__V_18_18 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__V_19_19, (MR_Integer) 0)));
#line 823 "ssdb.m"
                ssdb__V_32_32 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__V_19_19, (MR_Integer) 1)));
#line 823 "ssdb.m"
                ssdb__V_50_50 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__ProcId_8, (MR_Integer) 0)));
#line 823 "ssdb.m"
                ssdb__V_33_33 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__ProcId_8, (MR_Integer) 1)));
#line 823 "ssdb.m"
                ssdb__succeeded = (strcmp(ssdb__V_18_18, ssdb__V_50_50) == 0);
#line 823 "ssdb.m"
                if (ssdb__succeeded)
#line 824 "ssdb.m"
                  ssdb__succeeded = (strcmp(ssdb__V_32_32, ssdb__V_33_33) == 0);
#line 823 "ssdb.m"
              }
#line 828 "ssdb.m"
            if (ssdb__succeeded)
#line 827 "ssdb.m"
              {
#line 827 "ssdb.m"
                MR_Word base;
#line 827 "ssdb.m"
                base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 827 "ssdb.m"
                *ssdb__MaybeStackFrame_12 = base;
#line 827 "ssdb.m"
                MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (ssdb__Frame_14));
#line 827 "ssdb.m"
              }
#line 828 "ssdb.m"
            else
#line 829 "ssdb.m"
              {
#line 829 "ssdb.m"
                MR_Integer ssdb__V_22_22 = (ssdb__N_10 + (MR_Integer) 1);

#line 829 "ssdb.m"
                /* direct tailcall eliminated */
#line 829 "ssdb.m"
                {
#line 829 "ssdb.m"
                  MR_Integer ssdb__N__tmp_copy_10 = ssdb__V_22_22;

#line 829 "ssdb.m"
                  ssdb__N_10 = ssdb__N__tmp_copy_10;
#line 829 "ssdb.m"
                }
#line 829 "ssdb.m"
                continue;
#line 829 "ssdb.m"
              }
#line 821 "ssdb.m"
          }
#line 820 "ssdb.m"
      }
#line 820 "ssdb.m"
      break;
#line 820 "ssdb.m"
    }
#line 813 "ssdb.m"
}

#line 530 "ssdb.m"
static void MR_CALL 
ssdb__step_next_stop_2_p_0(void)
#line 530 "ssdb.m"
{
#line 539 "ssdb.m"
  {
#line 539 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 298 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__step_next_stop_2_p_0


		{
#line 298 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_next_stop_lock,
                "ssdb__mutable_variable_cur_ssdb_next_stop_lock");
#endif

#line 33119 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 298 "ssdb.m"
}
#line 298 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__step_next_stop_2_p_0

	MR_Word X;

	X =  (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)) ;
		{
#line 298 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_next_stop = X;

#line 33136 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 298 "ssdb.m"
}
#line 298 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__step_next_stop_2_p_0


		{
#line 298 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_next_stop_lock,
                "ssdb__mutable_variable_cur_ssdb_next_stop_lock");
#endif

#line 33154 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 298 "ssdb.m"
}
#line 539 "ssdb.m"
  }
#line 530 "ssdb.m"
}

#line 460 "ssdb.m"
static void MR_CALL 
ssdb__install_sigint_handler_2_p_0(void)
#line 460 "ssdb.m"
{
#line 464 "ssdb.m"
  {
#line 464 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 467 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__install_sigint_handler_2_p_0


		{
#line 467 "ssdb.m"

    MR_setup_signal(SIGINT, (MR_Code *) MR_ssdb_sigint_handler,
        MR_FALSE, "ssdb: cannot install SIGINT signal handler");

#line 33186 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 467 "ssdb.m"
}
#line 464 "ssdb.m"
  }
#line 460 "ssdb.m"
}

#line 405 "ssdb.m"
static void MR_CALL 
ssdb__add_source_commands_2_p_0(void)
#line 405 "ssdb.m"
{
#line 407 "ssdb.m"
  {
#line 407 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 407 "ssdb.m"
    MR_Word ssdb__MaybeHome_4;
#line 407 "ssdb.m"
    MR_Word ssdb__Res_42;

#line 408 "ssdb.m"
    {
#line 408 "ssdb.m"
      mercury__io__get_environment_var_4_p_0((MR_String) "HOME", &ssdb__MaybeHome_4);
    }
#line 412 "ssdb.m"
    if ((ssdb__MaybeHome_4 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 413 "ssdb.m"
      {
#line 413 "ssdb.m"
      }
#line 412 "ssdb.m"
    else
#line 410 "ssdb.m"
      {
#line 410 "ssdb.m"
        MR_String ssdb__Home_5 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__MaybeHome_4, (MR_Integer) 0)));
#line 410 "ssdb.m"
        MR_String ssdb__V_10_10;
#line 410 "ssdb.m"
        MR_Word ssdb__Res_19;

#line 411 "ssdb.m"
        {
#line 411 "ssdb.m"
          ssdb__V_10_10 = mercury__dir__f_slash_2_f_0(ssdb__Home_5, (MR_String) ".ssdbrc");
        }
#line 420 "ssdb.m"
        {
#line 420 "ssdb.m"
          mercury__io__check_file_accessibility_5_p_0(ssdb__V_10_10, (MR_Word) MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[52]), &ssdb__Res_19);
        }
#line 426 "ssdb.m"
        if ((ssdb__Res_19 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 422 "ssdb.m"
          {
#line 422 "ssdb.m"
            MR_String ssdb__Command_20;
#line 422 "ssdb.m"
            MR_Word ssdb__Queue_21;
#line 422 "ssdb.m"
            MR_Word ssdb__V_29_29;
#line 422 "ssdb.m"
            MR_Word ssdb__V_31_31;

#line 423 "ssdb.m"
            {
#line 423 "ssdb.m"
              ssdb__Command_20 = mercury__string__f_43_43_2_f_0((MR_String) "source ", ssdb__V_10_10);
            }
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_source_commands_2_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 33273 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_source_commands_2_p_0

	MR_Word X;

		{
#line 311 "ssdb.m"
X = ssdb__mutable_variable_command_queue;

#line 33289 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Queue_21  = X;
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_source_commands_2_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 33308 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 425 "ssdb.m"
            {
#line 425 "ssdb.m"
              ssdb__V_31_31 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 425 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__V_31_31, 0) = ((MR_Box) (ssdb__Command_20));
#line 425 "ssdb.m"
              MR_hl_field(MR_mktag(1), ssdb__V_31_31, 1) = ((MR_Box) (MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0))));
#line 425 "ssdb.m"
            }
#line 425 "ssdb.m"
            {
#line 425 "ssdb.m"
              ssdb__V_29_29 = mercury__list__f_43_43_2_f_0((MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0, ssdb__Queue_21, ssdb__V_31_31);
            }
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_source_commands_2_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 33341 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_source_commands_2_p_0

	MR_Word X;

	X =  ssdb__V_29_29 ;
		{
#line 311 "ssdb.m"
ssdb__mutable_variable_command_queue = X;

#line 33358 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_source_commands_2_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 33376 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 422 "ssdb.m"
          }
#line 426 "ssdb.m"
        else
#line 427 "ssdb.m"
          {
#line 427 "ssdb.m"
          }
#line 410 "ssdb.m"
      }
#line 420 "ssdb.m"
    {
#line 420 "ssdb.m"
      mercury__io__check_file_accessibility_5_p_0((MR_String) ".ssdbrc", (MR_Word) MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[52]), &ssdb__Res_42);
    }
#line 426 "ssdb.m"
    if ((ssdb__Res_42 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 422 "ssdb.m"
      {
#line 422 "ssdb.m"
        MR_Word ssdb__Queue_44;
#line 422 "ssdb.m"
        MR_Word ssdb__V_52_52;

#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_source_commands_2_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 33418 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_source_commands_2_p_0

	MR_Word X;

		{
#line 311 "ssdb.m"
X = ssdb__mutable_variable_command_queue;

#line 33434 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Queue_44  = X;
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_source_commands_2_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 33453 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 425 "ssdb.m"
        {
#line 425 "ssdb.m"
          ssdb__V_52_52 = mercury__list__f_43_43_2_f_0((MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0, ssdb__Queue_44, (MR_Word) MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[53]));
        }
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_source_commands_2_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 33476 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_source_commands_2_p_0

	MR_Word X;

	X =  ssdb__V_52_52 ;
		{
#line 311 "ssdb.m"
ssdb__mutable_variable_command_queue = X;

#line 33493 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__add_source_commands_2_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 33511 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 422 "ssdb.m"
      }
#line 426 "ssdb.m"
    else
#line 427 "ssdb.m"
      {
#line 427 "ssdb.m"
      }
#line 407 "ssdb.m"
  }
#line 405 "ssdb.m"
}

#line 362 "ssdb.m"
static void MR_CALL 
ssdb__init_debugger_state_2_p_0(void)
#line 362 "ssdb.m"
{
#line 364 "ssdb.m"
  {
#line 364 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 364 "ssdb.m"
    MR_Word ssdb__MaybeEnv_4;
#line 364 "ssdb.m"
    MR_Word ssdb__MaybeTTY_5;

#line 365 "ssdb.m"
    {
#line 365 "ssdb.m"
      mercury__io__get_environment_var_4_p_0((MR_String) "SSDB", &ssdb__MaybeEnv_4);
    }
#line 366 "ssdb.m"
    {
#line 366 "ssdb.m"
      mercury__io__get_environment_var_4_p_0((MR_String) "SSDB_TTY", &ssdb__MaybeTTY_5);
    }
#line 368 "ssdb.m"
    {
#line 368 "ssdb.m"
      MR_String ssdb__V_6_6;

#line 368 "ssdb.m"
      ssdb__succeeded = ((MR_tag((MR_Word) ssdb__MaybeEnv_4)) == (MR_mktag((MR_Integer) 1)));
#line 368 "ssdb.m"
      if (ssdb__succeeded)
#line 368 "ssdb.m"
        ssdb__V_6_6 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__MaybeEnv_4, (MR_Integer) 0)));
#line 368 "ssdb.m"
    }
#line 369 "ssdb.m"
    if (!(ssdb__succeeded))
#line 369 "ssdb.m"
      {
#line 369 "ssdb.m"
        MR_String ssdb__V_7_7;

#line 369 "ssdb.m"
        ssdb__succeeded = ((MR_tag((MR_Word) ssdb__MaybeTTY_5)) == (MR_mktag((MR_Integer) 1)));
#line 369 "ssdb.m"
        if (ssdb__succeeded)
#line 369 "ssdb.m"
          ssdb__V_7_7 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__MaybeTTY_5, (MR_Integer) 0)));
#line 369 "ssdb.m"
      }
#line 401 "ssdb.m"
    if (ssdb__succeeded)
#line 390 "ssdb.m"
      {
#line 394 "ssdb.m"
        MR_String ssdb__V_28_28;

#line 388 "ssdb.m"
        if ((ssdb__MaybeTTY_5 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 389 "ssdb.m"
          {
#line 389 "ssdb.m"
          }
#line 388 "ssdb.m"
        else
#line 373 "ssdb.m"
          {
#line 373 "ssdb.m"
            MR_String ssdb__FileName_8 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__MaybeTTY_5, (MR_Integer) 0)));
#line 373 "ssdb.m"
            MR_Word ssdb__InputRes_9;
#line 373 "ssdb.m"
            MR_Word ssdb__OutputRes_12;

#line 374 "ssdb.m"
            {
#line 374 "ssdb.m"
              mercury__io__open_input_4_p_0(ssdb__FileName_8, &ssdb__InputRes_9);
            }
#line 378 "ssdb.m"
            if (((MR_tag((MR_Word) ssdb__InputRes_9)) == (MR_mktag((MR_Integer) 1))))
#line 379 "ssdb.m"
              {
#line 379 "ssdb.m"
              }
#line 378 "ssdb.m"
            else
#line 376 "ssdb.m"
              {
#line 376 "ssdb.m"
                MR_Word ssdb__InputStream_10 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__InputRes_9, (MR_Integer) 0)));

#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__init_debugger_state_2_p_0


		{
#line 342 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_tty_in_lock,
                "ssdb__mutable_variable_tty_in_lock");
#endif

#line 33636 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 342 "ssdb.m"
}
#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__init_debugger_state_2_p_0

	MR_Word X;

	X =  ssdb__InputStream_10 ;
		{
#line 342 "ssdb.m"
ssdb__mutable_variable_tty_in = X;

#line 33653 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 342 "ssdb.m"
}
#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__init_debugger_state_2_p_0


		{
#line 342 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_tty_in_lock,
                "ssdb__mutable_variable_tty_in_lock");
#endif

#line 33671 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 342 "ssdb.m"
}
#line 376 "ssdb.m"
              }
#line 381 "ssdb.m"
            {
#line 381 "ssdb.m"
              mercury__io__open_output_4_p_0(ssdb__FileName_8, &ssdb__OutputRes_12);
            }
#line 385 "ssdb.m"
            if (((MR_tag((MR_Word) ssdb__OutputRes_12)) == (MR_mktag((MR_Integer) 1))))
#line 386 "ssdb.m"
              {
#line 386 "ssdb.m"
              }
#line 385 "ssdb.m"
            else
#line 383 "ssdb.m"
              {
#line 383 "ssdb.m"
                MR_Word ssdb__OutputStream_13 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__OutputRes_12, (MR_Integer) 0)));

#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__init_debugger_state_2_p_0


		{
#line 344 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_tty_out_lock,
                "ssdb__mutable_variable_tty_out_lock");
#endif

#line 33709 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 344 "ssdb.m"
}
#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__init_debugger_state_2_p_0

	MR_Word X;

	X =  ssdb__OutputStream_13 ;
		{
#line 344 "ssdb.m"
ssdb__mutable_variable_tty_out = X;

#line 33726 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 344 "ssdb.m"
}
#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__init_debugger_state_2_p_0


		{
#line 344 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_tty_out_lock,
                "ssdb__mutable_variable_tty_out_lock");
#endif

#line 33744 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 344 "ssdb.m"
}
#line 383 "ssdb.m"
              }
#line 373 "ssdb.m"
          }
#line 391 "ssdb.m"
        {
#line 391 "ssdb.m"
          ssdb__install_sigint_handler_2_p_0();
        }
#line 393 "ssdb.m"
        {
#line 393 "ssdb.m"
          ssdb__add_source_commands_2_p_0();
        }
#line 394 "ssdb.m"
        ssdb__succeeded = ((MR_tag((MR_Word) ssdb__MaybeEnv_4)) == (MR_mktag((MR_Integer) 1)));
#line 394 "ssdb.m"
        if (ssdb__succeeded)
#line 394 "ssdb.m"
          {
#line 394 "ssdb.m"
            ssdb__V_28_28 = ((MR_String) (MR_hl_field(MR_mktag(1), ssdb__MaybeEnv_4, (MR_Integer) 0)));
#line 394 "ssdb.m"
            ssdb__succeeded = (strcmp(ssdb__V_28_28, (MR_String) "0") == 0);
#line 394 "ssdb.m"
          }
#line 398 "ssdb.m"
        if (ssdb__succeeded)
#line 397 "ssdb.m"
          {
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__init_debugger_state_2_p_0


		{
#line 357 "ssdb.m"

#line 33788 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__init_debugger_state_2_p_0

	MR_Word X;

	X =  (MR_Integer) 0 ;
		{
#line 357 "ssdb.m"
MR_set_thread_local_mutable(MR_Word, X, ssdb__mutable_variable_debugger_state);

#line 33805 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__init_debugger_state_2_p_0


		{
#line 357 "ssdb.m"

#line 33819 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 397 "ssdb.m"
          }
#line 398 "ssdb.m"
        else
#line 399 "ssdb.m"
          {
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__init_debugger_state_2_p_0


		{
#line 357 "ssdb.m"

#line 33839 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__init_debugger_state_2_p_0

	MR_Word X;

	X =  (MR_Integer) 1 ;
		{
#line 357 "ssdb.m"
MR_set_thread_local_mutable(MR_Word, X, ssdb__mutable_variable_debugger_state);

#line 33856 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__init_debugger_state_2_p_0


		{
#line 357 "ssdb.m"

#line 33870 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 399 "ssdb.m"
          }
#line 390 "ssdb.m"
      }
#line 401 "ssdb.m"
    else
#line 402 "ssdb.m"
      {
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__init_debugger_state_2_p_0


		{
#line 357 "ssdb.m"

#line 33892 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__init_debugger_state_2_p_0

	MR_Word X;

	X =  (MR_Integer) 0 ;
		{
#line 357 "ssdb.m"
MR_set_thread_local_mutable(MR_Word, X, ssdb__mutable_variable_debugger_state);

#line 33909 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__init_debugger_state_2_p_0


		{
#line 357 "ssdb.m"

#line 33923 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 402 "ssdb.m"
      }
#line 364 "ssdb.m"
  }
#line 362 "ssdb.m"
}

#line 357 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_debugger_state_1_p_0(
#line 357 "ssdb.m"
  MR_Word ssdb__X_1)
#line 357 "ssdb.m"
{
#line 357 "ssdb.m"
  {
#line 357 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_debugger_state_1_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 357 "ssdb.m"
MR_set_thread_local_mutable(MR_Word, X, ssdb__mutable_variable_debugger_state);

#line 33959 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
  }
#line 357 "ssdb.m"
}

#line 357 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_debugger_state_1_p_0(
#line 357 "ssdb.m"
  MR_Word * ssdb__X_1)
#line 357 "ssdb.m"
{
#line 357 "ssdb.m"
  {
#line 357 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_debugger_state_1_p_0

	MR_Word X;

		{
#line 357 "ssdb.m"
MR_get_thread_local_mutable(MR_Word, X, ssdb__mutable_variable_debugger_state);

#line 33992 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
  }
#line 357 "ssdb.m"
}

#line 357 "ssdb.m"
static void MR_CALL 
ssdb__unlock_debugger_state_0_p_0(void)
#line 357 "ssdb.m"
{
#line 357 "ssdb.m"
  {
#line 357 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_debugger_state_0_p_0


		{
#line 357 "ssdb.m"

#line 34022 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
  }
#line 357 "ssdb.m"
}

#line 357 "ssdb.m"
static void MR_CALL 
ssdb__lock_debugger_state_0_p_0(void)
#line 357 "ssdb.m"
{
#line 357 "ssdb.m"
  {
#line 357 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_debugger_state_0_p_0


		{
#line 357 "ssdb.m"

#line 34051 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
  }
#line 357 "ssdb.m"
}

#line 357 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_debugger_state_0_p_0(void)
#line 357 "ssdb.m"
{
#line 357 "ssdb.m"
  {
#line 357 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_debugger_state_0_p_0


		{
#line 357 "ssdb.m"
ssdb__mutable_variable_debugger_state = MR_new_thread_local_mutable_index();

#line 34081 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
  }
#line 357 "ssdb.m"
}

#line 357 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_debugger_state_0_p_0(void)
#line 357 "ssdb.m"
{
#line 357 "ssdb.m"
  {
#line 357 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_debugger_state_0_p_0


		{
#line 357 "ssdb.m"
ssdb__mutable_variable_debugger_state = MR_new_thread_local_mutable_index();

#line 34111 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_debugger_state_0_p_0


		{
#line 357 "ssdb.m"

#line 34125 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_debugger_state_0_p_0

	MR_Word X;

	X =  (MR_Integer) 0 ;
		{
#line 357 "ssdb.m"
MR_set_thread_local_mutable(MR_Word, X, ssdb__mutable_variable_debugger_state);

#line 34142 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_debugger_state_0_p_0


		{
#line 357 "ssdb.m"

#line 34156 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
  }
#line 357 "ssdb.m"
}

#line 349 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_saved_output_stream_1_p_0(
#line 349 "ssdb.m"
  MR_Word ssdb__X_1)
#line 349 "ssdb.m"
{
#line 349 "ssdb.m"
  {
#line 349 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_saved_output_stream_1_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 349 "ssdb.m"
ssdb__mutable_variable_saved_output_stream = X;

#line 34190 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 349 "ssdb.m"
  }
#line 349 "ssdb.m"
}

#line 349 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_saved_output_stream_1_p_0(
#line 349 "ssdb.m"
  MR_Word * ssdb__X_1)
#line 349 "ssdb.m"
{
#line 349 "ssdb.m"
  {
#line 349 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_saved_output_stream_1_p_0

	MR_Word X;

		{
#line 349 "ssdb.m"
X = ssdb__mutable_variable_saved_output_stream;

#line 34223 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 349 "ssdb.m"
}
#line 349 "ssdb.m"
  }
#line 349 "ssdb.m"
}

#line 349 "ssdb.m"
static void MR_CALL 
ssdb__unlock_saved_output_stream_0_p_0(void)
#line 349 "ssdb.m"
{
#line 349 "ssdb.m"
  {
#line 349 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_saved_output_stream_0_p_0


		{
#line 349 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_saved_output_stream_lock,
                "ssdb__mutable_variable_saved_output_stream_lock");
#endif

#line 34257 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 349 "ssdb.m"
  }
#line 349 "ssdb.m"
}

#line 349 "ssdb.m"
static void MR_CALL 
ssdb__lock_saved_output_stream_0_p_0(void)
#line 349 "ssdb.m"
{
#line 349 "ssdb.m"
  {
#line 349 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_saved_output_stream_0_p_0


		{
#line 349 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_saved_output_stream_lock,
                "ssdb__mutable_variable_saved_output_stream_lock");
#endif

#line 34290 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 349 "ssdb.m"
  }
#line 349 "ssdb.m"
}

#line 349 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_saved_output_stream_0_p_0(void)
#line 349 "ssdb.m"
{
#line 349 "ssdb.m"
  {
#line 349 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_saved_output_stream_0_p_0


		{
#line 349 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_saved_output_stream_lock, MR_MUTEX_ATTR);
#endif

#line 34322 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 349 "ssdb.m"
  }
#line 349 "ssdb.m"
}

#line 349 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_saved_output_stream_0_p_0(void)
#line 349 "ssdb.m"
{
#line 349 "ssdb.m"
  {
#line 349 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 349 "ssdb.m"
    MR_Word ssdb__X_1;

#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_saved_output_stream_0_p_0


		{
#line 349 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_saved_output_stream_lock, MR_MUTEX_ATTR);
#endif

#line 34356 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 349 "ssdb.m"
    {
#line 349 "ssdb.m"
      ssdb__X_1 = mercury__io__stdout_stream_0_f_0();
    }
#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_saved_output_stream_0_p_0


		{
#line 349 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_saved_output_stream_lock,
                "ssdb__mutable_variable_saved_output_stream_lock");
#endif

#line 34379 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_saved_output_stream_0_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 349 "ssdb.m"
ssdb__mutable_variable_saved_output_stream = X;

#line 34396 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 349 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_saved_output_stream_0_p_0


		{
#line 349 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_saved_output_stream_lock,
                "ssdb__mutable_variable_saved_output_stream_lock");
#endif

#line 34414 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 349 "ssdb.m"
}
#line 349 "ssdb.m"
  }
#line 349 "ssdb.m"
}

#line 347 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_saved_input_stream_1_p_0(
#line 347 "ssdb.m"
  MR_Word ssdb__X_1)
#line 347 "ssdb.m"
{
#line 347 "ssdb.m"
  {
#line 347 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_saved_input_stream_1_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 347 "ssdb.m"
ssdb__mutable_variable_saved_input_stream = X;

#line 34448 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 347 "ssdb.m"
  }
#line 347 "ssdb.m"
}

#line 347 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_saved_input_stream_1_p_0(
#line 347 "ssdb.m"
  MR_Word * ssdb__X_1)
#line 347 "ssdb.m"
{
#line 347 "ssdb.m"
  {
#line 347 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_saved_input_stream_1_p_0

	MR_Word X;

		{
#line 347 "ssdb.m"
X = ssdb__mutable_variable_saved_input_stream;

#line 34481 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 347 "ssdb.m"
}
#line 347 "ssdb.m"
  }
#line 347 "ssdb.m"
}

#line 347 "ssdb.m"
static void MR_CALL 
ssdb__unlock_saved_input_stream_0_p_0(void)
#line 347 "ssdb.m"
{
#line 347 "ssdb.m"
  {
#line 347 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_saved_input_stream_0_p_0


		{
#line 347 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_saved_input_stream_lock,
                "ssdb__mutable_variable_saved_input_stream_lock");
#endif

#line 34515 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 347 "ssdb.m"
  }
#line 347 "ssdb.m"
}

#line 347 "ssdb.m"
static void MR_CALL 
ssdb__lock_saved_input_stream_0_p_0(void)
#line 347 "ssdb.m"
{
#line 347 "ssdb.m"
  {
#line 347 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_saved_input_stream_0_p_0


		{
#line 347 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_saved_input_stream_lock,
                "ssdb__mutable_variable_saved_input_stream_lock");
#endif

#line 34548 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 347 "ssdb.m"
  }
#line 347 "ssdb.m"
}

#line 347 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_saved_input_stream_0_p_0(void)
#line 347 "ssdb.m"
{
#line 347 "ssdb.m"
  {
#line 347 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_saved_input_stream_0_p_0


		{
#line 347 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_saved_input_stream_lock, MR_MUTEX_ATTR);
#endif

#line 34580 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 347 "ssdb.m"
  }
#line 347 "ssdb.m"
}

#line 347 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_saved_input_stream_0_p_0(void)
#line 347 "ssdb.m"
{
#line 347 "ssdb.m"
  {
#line 347 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 347 "ssdb.m"
    MR_Word ssdb__X_1;

#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_saved_input_stream_0_p_0


		{
#line 347 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_saved_input_stream_lock, MR_MUTEX_ATTR);
#endif

#line 34614 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 347 "ssdb.m"
    {
#line 347 "ssdb.m"
      ssdb__X_1 = mercury__io__stdin_stream_0_f_0();
    }
#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_saved_input_stream_0_p_0


		{
#line 347 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_saved_input_stream_lock,
                "ssdb__mutable_variable_saved_input_stream_lock");
#endif

#line 34637 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_saved_input_stream_0_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 347 "ssdb.m"
ssdb__mutable_variable_saved_input_stream = X;

#line 34654 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 347 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_saved_input_stream_0_p_0


		{
#line 347 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_saved_input_stream_lock,
                "ssdb__mutable_variable_saved_input_stream_lock");
#endif

#line 34672 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 347 "ssdb.m"
}
#line 347 "ssdb.m"
  }
#line 347 "ssdb.m"
}

#line 344 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_tty_out_1_p_0(
#line 344 "ssdb.m"
  MR_Word ssdb__X_1)
#line 344 "ssdb.m"
{
#line 344 "ssdb.m"
  {
#line 344 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_tty_out_1_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 344 "ssdb.m"
ssdb__mutable_variable_tty_out = X;

#line 34706 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 344 "ssdb.m"
}
#line 344 "ssdb.m"
  }
#line 344 "ssdb.m"
}

#line 344 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_tty_out_1_p_0(
#line 344 "ssdb.m"
  MR_Word * ssdb__X_1)
#line 344 "ssdb.m"
{
#line 344 "ssdb.m"
  {
#line 344 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_tty_out_1_p_0

	MR_Word X;

		{
#line 344 "ssdb.m"
X = ssdb__mutable_variable_tty_out;

#line 34739 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 344 "ssdb.m"
}
#line 344 "ssdb.m"
  }
#line 344 "ssdb.m"
}

#line 344 "ssdb.m"
static void MR_CALL 
ssdb__unlock_tty_out_0_p_0(void)
#line 344 "ssdb.m"
{
#line 344 "ssdb.m"
  {
#line 344 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_tty_out_0_p_0


		{
#line 344 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_tty_out_lock,
                "ssdb__mutable_variable_tty_out_lock");
#endif

#line 34773 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 344 "ssdb.m"
}
#line 344 "ssdb.m"
  }
#line 344 "ssdb.m"
}

#line 344 "ssdb.m"
static void MR_CALL 
ssdb__lock_tty_out_0_p_0(void)
#line 344 "ssdb.m"
{
#line 344 "ssdb.m"
  {
#line 344 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_tty_out_0_p_0


		{
#line 344 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_tty_out_lock,
                "ssdb__mutable_variable_tty_out_lock");
#endif

#line 34806 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 344 "ssdb.m"
}
#line 344 "ssdb.m"
  }
#line 344 "ssdb.m"
}

#line 344 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_tty_out_0_p_0(void)
#line 344 "ssdb.m"
{
#line 344 "ssdb.m"
  {
#line 344 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_tty_out_0_p_0


		{
#line 344 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_tty_out_lock, MR_MUTEX_ATTR);
#endif

#line 34838 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 344 "ssdb.m"
}
#line 344 "ssdb.m"
  }
#line 344 "ssdb.m"
}

#line 344 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_tty_out_0_p_0(void)
#line 344 "ssdb.m"
{
#line 344 "ssdb.m"
  {
#line 344 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 344 "ssdb.m"
    MR_Word ssdb__X_1;

#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_tty_out_0_p_0


		{
#line 344 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_tty_out_lock, MR_MUTEX_ATTR);
#endif

#line 34872 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 344 "ssdb.m"
}
#line 344 "ssdb.m"
    {
#line 344 "ssdb.m"
      ssdb__X_1 = mercury__io__stdout_stream_0_f_0();
    }
#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_tty_out_0_p_0


		{
#line 344 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_tty_out_lock,
                "ssdb__mutable_variable_tty_out_lock");
#endif

#line 34895 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 344 "ssdb.m"
}
#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_tty_out_0_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 344 "ssdb.m"
ssdb__mutable_variable_tty_out = X;

#line 34912 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 344 "ssdb.m"
}
#line 344 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_tty_out_0_p_0


		{
#line 344 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_tty_out_lock,
                "ssdb__mutable_variable_tty_out_lock");
#endif

#line 34930 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 344 "ssdb.m"
}
#line 344 "ssdb.m"
  }
#line 344 "ssdb.m"
}

#line 342 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_tty_in_1_p_0(
#line 342 "ssdb.m"
  MR_Word ssdb__X_1)
#line 342 "ssdb.m"
{
#line 342 "ssdb.m"
  {
#line 342 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_tty_in_1_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 342 "ssdb.m"
ssdb__mutable_variable_tty_in = X;

#line 34964 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 342 "ssdb.m"
}
#line 342 "ssdb.m"
  }
#line 342 "ssdb.m"
}

#line 342 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_tty_in_1_p_0(
#line 342 "ssdb.m"
  MR_Word * ssdb__X_1)
#line 342 "ssdb.m"
{
#line 342 "ssdb.m"
  {
#line 342 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_tty_in_1_p_0

	MR_Word X;

		{
#line 342 "ssdb.m"
X = ssdb__mutable_variable_tty_in;

#line 34997 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 342 "ssdb.m"
}
#line 342 "ssdb.m"
  }
#line 342 "ssdb.m"
}

#line 342 "ssdb.m"
static void MR_CALL 
ssdb__unlock_tty_in_0_p_0(void)
#line 342 "ssdb.m"
{
#line 342 "ssdb.m"
  {
#line 342 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_tty_in_0_p_0


		{
#line 342 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_tty_in_lock,
                "ssdb__mutable_variable_tty_in_lock");
#endif

#line 35031 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 342 "ssdb.m"
}
#line 342 "ssdb.m"
  }
#line 342 "ssdb.m"
}

#line 342 "ssdb.m"
static void MR_CALL 
ssdb__lock_tty_in_0_p_0(void)
#line 342 "ssdb.m"
{
#line 342 "ssdb.m"
  {
#line 342 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_tty_in_0_p_0


		{
#line 342 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_tty_in_lock,
                "ssdb__mutable_variable_tty_in_lock");
#endif

#line 35064 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 342 "ssdb.m"
}
#line 342 "ssdb.m"
  }
#line 342 "ssdb.m"
}

#line 342 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_tty_in_0_p_0(void)
#line 342 "ssdb.m"
{
#line 342 "ssdb.m"
  {
#line 342 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_tty_in_0_p_0


		{
#line 342 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_tty_in_lock, MR_MUTEX_ATTR);
#endif

#line 35096 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 342 "ssdb.m"
}
#line 342 "ssdb.m"
  }
#line 342 "ssdb.m"
}

#line 342 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_tty_in_0_p_0(void)
#line 342 "ssdb.m"
{
#line 342 "ssdb.m"
  {
#line 342 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 342 "ssdb.m"
    MR_Word ssdb__X_1;

#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_tty_in_0_p_0


		{
#line 342 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_tty_in_lock, MR_MUTEX_ATTR);
#endif

#line 35130 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 342 "ssdb.m"
}
#line 342 "ssdb.m"
    {
#line 342 "ssdb.m"
      ssdb__X_1 = mercury__io__stdin_stream_0_f_0();
    }
#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_tty_in_0_p_0


		{
#line 342 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_tty_in_lock,
                "ssdb__mutable_variable_tty_in_lock");
#endif

#line 35153 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 342 "ssdb.m"
}
#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_tty_in_0_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 342 "ssdb.m"
ssdb__mutable_variable_tty_in = X;

#line 35170 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 342 "ssdb.m"
}
#line 342 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_tty_in_0_p_0


		{
#line 342 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_tty_in_lock,
                "ssdb__mutable_variable_tty_in_lock");
#endif

#line 35188 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 342 "ssdb.m"
}
#line 342 "ssdb.m"
  }
#line 342 "ssdb.m"
}

#line 333 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_list_params_1_p_0(
#line 333 "ssdb.m"
  MR_Word ssdb__X_1)
#line 333 "ssdb.m"
{
#line 333 "ssdb.m"
  {
#line 333 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_list_params_1_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 333 "ssdb.m"
ssdb__mutable_variable_list_params = X;

#line 35222 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
  }
#line 333 "ssdb.m"
}

#line 333 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_list_params_1_p_0(
#line 333 "ssdb.m"
  MR_Word * ssdb__X_1)
#line 333 "ssdb.m"
{
#line 333 "ssdb.m"
  {
#line 333 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_list_params_1_p_0

	MR_Word X;

		{
#line 333 "ssdb.m"
X = ssdb__mutable_variable_list_params;

#line 35255 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
  }
#line 333 "ssdb.m"
}

#line 333 "ssdb.m"
static void MR_CALL 
ssdb__unlock_list_params_0_p_0(void)
#line 333 "ssdb.m"
{
#line 333 "ssdb.m"
  {
#line 333 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_list_params_0_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 35289 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
  }
#line 333 "ssdb.m"
}

#line 333 "ssdb.m"
static void MR_CALL 
ssdb__lock_list_params_0_p_0(void)
#line 333 "ssdb.m"
{
#line 333 "ssdb.m"
  {
#line 333 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_list_params_0_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 35322 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
  }
#line 333 "ssdb.m"
}

#line 333 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_list_params_0_p_0(void)
#line 333 "ssdb.m"
{
#line 333 "ssdb.m"
  {
#line 333 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_list_params_0_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_list_params_lock, MR_MUTEX_ATTR);
#endif

#line 35354 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
  }
#line 333 "ssdb.m"
}

#line 333 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_list_params_0_p_0(void)
#line 333 "ssdb.m"
{
#line 333 "ssdb.m"
  {
#line 333 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 333 "ssdb.m"
    MR_Word ssdb__X_1;
#line 333 "ssdb.m"
    MR_Word ssdb__V_2_2;

#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_list_params_0_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_list_params_lock, MR_MUTEX_ATTR);
#endif

#line 35390 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 338 "ssdb.m"
    {
#line 338 "ssdb.m"
      ssdb__V_2_2 = mdb__listing__new_list_path_0_f_0();
    }
#line 338 "ssdb.m"
    {
#line 338 "ssdb.m"
      ssdb__X_1 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL);
#line 338 "ssdb.m"
      MR_hl_field(MR_mktag(0), ssdb__X_1, 0) = ((MR_Box) (ssdb__V_2_2));
#line 338 "ssdb.m"
      MR_hl_field(MR_mktag(0), ssdb__X_1, 1) = ((MR_Box) ((MR_Integer) 2));
#line 338 "ssdb.m"
    }
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_list_params_0_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 35423 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_list_params_0_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 333 "ssdb.m"
ssdb__mutable_variable_list_params = X;

#line 35440 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_list_params_0_p_0


		{
#line 333 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_list_params_lock,
                "ssdb__mutable_variable_list_params_lock");
#endif

#line 35458 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 333 "ssdb.m"
}
#line 333 "ssdb.m"
  }
#line 333 "ssdb.m"
}

#line 324 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_browser_state_1_p_0(
#line 324 "ssdb.m"
  MR_Word ssdb__X_1)
#line 324 "ssdb.m"
{
#line 324 "ssdb.m"
  {
#line 324 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_browser_state_1_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 324 "ssdb.m"
ssdb__mutable_variable_browser_state = X;

#line 35492 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
  }
#line 324 "ssdb.m"
}

#line 324 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_browser_state_1_p_0(
#line 324 "ssdb.m"
  MR_Word * ssdb__X_1)
#line 324 "ssdb.m"
{
#line 324 "ssdb.m"
  {
#line 324 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_browser_state_1_p_0

	MR_Word X;

		{
#line 324 "ssdb.m"
X = ssdb__mutable_variable_browser_state;

#line 35525 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
  }
#line 324 "ssdb.m"
}

#line 324 "ssdb.m"
static void MR_CALL 
ssdb__unlock_browser_state_0_p_0(void)
#line 324 "ssdb.m"
{
#line 324 "ssdb.m"
  {
#line 324 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_browser_state_0_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 35559 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
  }
#line 324 "ssdb.m"
}

#line 324 "ssdb.m"
static void MR_CALL 
ssdb__lock_browser_state_0_p_0(void)
#line 324 "ssdb.m"
{
#line 324 "ssdb.m"
  {
#line 324 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_browser_state_0_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 35592 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
  }
#line 324 "ssdb.m"
}

#line 324 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_browser_state_0_p_0(void)
#line 324 "ssdb.m"
{
#line 324 "ssdb.m"
  {
#line 324 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_browser_state_0_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_browser_state_lock, MR_MUTEX_ATTR);
#endif

#line 35624 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
  }
#line 324 "ssdb.m"
}

#line 324 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_browser_state_0_p_0(void)
#line 324 "ssdb.m"
{
#line 324 "ssdb.m"
  {
#line 324 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 324 "ssdb.m"
    MR_Word ssdb__X_1;

#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_browser_state_0_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_browser_state_lock, MR_MUTEX_ATTR);
#endif

#line 35658 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 331 "ssdb.m"
    {
#line 331 "ssdb.m"
      mdb__browser_info__init_persistent_state_1_p_0(&ssdb__X_1);
    }
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_browser_state_0_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 35681 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_browser_state_0_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 324 "ssdb.m"
ssdb__mutable_variable_browser_state = X;

#line 35698 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_browser_state_0_p_0


		{
#line 324 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_browser_state_lock,
                "ssdb__mutable_variable_browser_state_lock");
#endif

#line 35716 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 324 "ssdb.m"
}
#line 324 "ssdb.m"
  }
#line 324 "ssdb.m"
}

#line 319 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_breakpoints_filter_1_p_0(
#line 319 "ssdb.m"
  MR_Box ssdb__X_1)
#line 319 "ssdb.m"
{
#line 319 "ssdb.m"
  {
#line 319 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_breakpoints_filter_1_p_0

	MR_BitmapPtr X;

	X = (MR_BitmapPtr) ssdb__X_1 ;
		{
#line 319 "ssdb.m"
ssdb__mutable_variable_breakpoints_filter = X;

#line 35750 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
  }
#line 319 "ssdb.m"
}

#line 319 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_breakpoints_filter_1_p_0(
#line 319 "ssdb.m"
  MR_Box * ssdb__X_1)
#line 319 "ssdb.m"
{
#line 319 "ssdb.m"
  {
#line 319 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_breakpoints_filter_1_p_0

	MR_BitmapPtr X;

		{
#line 319 "ssdb.m"
X = ssdb__mutable_variable_breakpoints_filter;

#line 35783 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = (MR_Box) X;
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
  }
#line 319 "ssdb.m"
}

#line 319 "ssdb.m"
static void MR_CALL 
ssdb__unlock_breakpoints_filter_0_p_0(void)
#line 319 "ssdb.m"
{
#line 319 "ssdb.m"
  {
#line 319 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_breakpoints_filter_0_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 35817 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
  }
#line 319 "ssdb.m"
}

#line 319 "ssdb.m"
static void MR_CALL 
ssdb__lock_breakpoints_filter_0_p_0(void)
#line 319 "ssdb.m"
{
#line 319 "ssdb.m"
  {
#line 319 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_breakpoints_filter_0_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 35850 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
  }
#line 319 "ssdb.m"
}

#line 319 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_breakpoints_filter_0_p_0(void)
#line 319 "ssdb.m"
{
#line 319 "ssdb.m"
  {
#line 319 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_breakpoints_filter_0_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_breakpoints_filter_lock, MR_MUTEX_ATTR);
#endif

#line 35882 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
  }
#line 319 "ssdb.m"
}

#line 319 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_breakpoints_filter_0_p_0(void)
#line 319 "ssdb.m"
{
#line 319 "ssdb.m"
  {
#line 319 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 319 "ssdb.m"
    MR_Box ssdb__X_1;

#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_breakpoints_filter_0_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_breakpoints_filter_lock, MR_MUTEX_ATTR);
#endif

#line 35916 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 2853 "ssdb.m"
    {
#line 2853 "ssdb.m"
      ssdb__X_1 = mercury__bitmap__init_1_f_0((MR_Integer) 65536);
    }
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_breakpoints_filter_0_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 35939 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_breakpoints_filter_0_p_0

	MR_BitmapPtr X;

	X = (MR_BitmapPtr) ssdb__X_1 ;
		{
#line 319 "ssdb.m"
ssdb__mutable_variable_breakpoints_filter = X;

#line 35956 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_breakpoints_filter_0_p_0


		{
#line 319 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_filter_lock,
                "ssdb__mutable_variable_breakpoints_filter_lock");
#endif

#line 35974 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 319 "ssdb.m"
}
#line 319 "ssdb.m"
  }
#line 319 "ssdb.m"
}

#line 317 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_breakpoints_map_1_p_0(
#line 317 "ssdb.m"
  MR_Word ssdb__X_1)
#line 317 "ssdb.m"
{
#line 317 "ssdb.m"
  {
#line 317 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_breakpoints_map_1_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 317 "ssdb.m"
ssdb__mutable_variable_breakpoints_map = X;

#line 36008 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
  }
#line 317 "ssdb.m"
}

#line 317 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_breakpoints_map_1_p_0(
#line 317 "ssdb.m"
  MR_Word * ssdb__X_1)
#line 317 "ssdb.m"
{
#line 317 "ssdb.m"
  {
#line 317 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_breakpoints_map_1_p_0

	MR_Word X;

		{
#line 317 "ssdb.m"
X = ssdb__mutable_variable_breakpoints_map;

#line 36041 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
  }
#line 317 "ssdb.m"
}

#line 317 "ssdb.m"
static void MR_CALL 
ssdb__unlock_breakpoints_map_0_p_0(void)
#line 317 "ssdb.m"
{
#line 317 "ssdb.m"
  {
#line 317 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_breakpoints_map_0_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 36075 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
  }
#line 317 "ssdb.m"
}

#line 317 "ssdb.m"
static void MR_CALL 
ssdb__lock_breakpoints_map_0_p_0(void)
#line 317 "ssdb.m"
{
#line 317 "ssdb.m"
  {
#line 317 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_breakpoints_map_0_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 36108 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
  }
#line 317 "ssdb.m"
}

#line 317 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_breakpoints_map_0_p_0(void)
#line 317 "ssdb.m"
{
#line 317 "ssdb.m"
  {
#line 317 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_breakpoints_map_0_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_breakpoints_map_lock, MR_MUTEX_ATTR);
#endif

#line 36140 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
  }
#line 317 "ssdb.m"
}

#line 317 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_breakpoints_map_0_p_0(void)
#line 317 "ssdb.m"
{
#line 317 "ssdb.m"
  {
#line 317 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 317 "ssdb.m"
    MR_Word ssdb__X_1;

#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_breakpoints_map_0_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_breakpoints_map_lock, MR_MUTEX_ATTR);
#endif

#line 36174 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
    {
#line 317 "ssdb.m"
      ssdb__X_1 = mercury__map__init_0_f_0((MR_Word) &ssdb__ssdb__type_ctor_info_ssdb_proc_id_0, (MR_Word) &ssdb__ssdb__type_ctor_info_breakpoint_0);
    }
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_breakpoints_map_0_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 36197 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_breakpoints_map_0_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 317 "ssdb.m"
ssdb__mutable_variable_breakpoints_map = X;

#line 36214 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_breakpoints_map_0_p_0


		{
#line 317 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_breakpoints_map_lock,
                "ssdb__mutable_variable_breakpoints_map_lock");
#endif

#line 36232 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 317 "ssdb.m"
}
#line 317 "ssdb.m"
  }
#line 317 "ssdb.m"
}

#line 314 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_aliases_1_p_0(
#line 314 "ssdb.m"
  MR_Word ssdb__X_1)
#line 314 "ssdb.m"
{
#line 314 "ssdb.m"
  {
#line 314 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_aliases_1_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 314 "ssdb.m"
ssdb__mutable_variable_aliases = X;

#line 36266 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
  }
#line 314 "ssdb.m"
}

#line 314 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_aliases_1_p_0(
#line 314 "ssdb.m"
  MR_Word * ssdb__X_1)
#line 314 "ssdb.m"
{
#line 314 "ssdb.m"
  {
#line 314 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_aliases_1_p_0

	MR_Word X;

		{
#line 314 "ssdb.m"
X = ssdb__mutable_variable_aliases;

#line 36299 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
  }
#line 314 "ssdb.m"
}

#line 314 "ssdb.m"
static void MR_CALL 
ssdb__unlock_aliases_0_p_0(void)
#line 314 "ssdb.m"
{
#line 314 "ssdb.m"
  {
#line 314 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_aliases_0_p_0


		{
#line 314 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_aliases_lock,
                "ssdb__mutable_variable_aliases_lock");
#endif

#line 36333 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
  }
#line 314 "ssdb.m"
}

#line 314 "ssdb.m"
static void MR_CALL 
ssdb__lock_aliases_0_p_0(void)
#line 314 "ssdb.m"
{
#line 314 "ssdb.m"
  {
#line 314 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_aliases_0_p_0


		{
#line 314 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_aliases_lock,
                "ssdb__mutable_variable_aliases_lock");
#endif

#line 36366 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
  }
#line 314 "ssdb.m"
}

#line 314 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_aliases_0_p_0(void)
#line 314 "ssdb.m"
{
#line 314 "ssdb.m"
  {
#line 314 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_aliases_0_p_0


		{
#line 314 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_aliases_lock, MR_MUTEX_ATTR);
#endif

#line 36398 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
  }
#line 314 "ssdb.m"
}

#line 314 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_aliases_0_p_0(void)
#line 314 "ssdb.m"
{
#line 314 "ssdb.m"
  {
#line 314 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 314 "ssdb.m"
    MR_Word ssdb__X_1;

#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_aliases_0_p_0


		{
#line 314 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_aliases_lock, MR_MUTEX_ATTR);
#endif

#line 36432 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
    {
#line 314 "ssdb.m"
      ssdb__X_1 = mercury__map__init_0_f_0((MR_Word) &mercury__builtin__builtin__type_ctor_info_string_0, (MR_Word) &ssdb_scalar_common_1[0]);
    }
#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_aliases_0_p_0


		{
#line 314 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_aliases_lock,
                "ssdb__mutable_variable_aliases_lock");
#endif

#line 36455 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_aliases_0_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 314 "ssdb.m"
ssdb__mutable_variable_aliases = X;

#line 36472 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_aliases_0_p_0


		{
#line 314 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_aliases_lock,
                "ssdb__mutable_variable_aliases_lock");
#endif

#line 36490 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 314 "ssdb.m"
}
#line 314 "ssdb.m"
  }
#line 314 "ssdb.m"
}

#line 311 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_command_queue_1_p_0(
#line 311 "ssdb.m"
  MR_Word ssdb__X_1)
#line 311 "ssdb.m"
{
#line 311 "ssdb.m"
  {
#line 311 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_command_queue_1_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 311 "ssdb.m"
ssdb__mutable_variable_command_queue = X;

#line 36524 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
  }
#line 311 "ssdb.m"
}

#line 311 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_command_queue_1_p_0(
#line 311 "ssdb.m"
  MR_Word * ssdb__X_1)
#line 311 "ssdb.m"
{
#line 311 "ssdb.m"
  {
#line 311 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_command_queue_1_p_0

	MR_Word X;

		{
#line 311 "ssdb.m"
X = ssdb__mutable_variable_command_queue;

#line 36557 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
  }
#line 311 "ssdb.m"
}

#line 311 "ssdb.m"
static void MR_CALL 
ssdb__unlock_command_queue_0_p_0(void)
#line 311 "ssdb.m"
{
#line 311 "ssdb.m"
  {
#line 311 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_command_queue_0_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 36591 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
  }
#line 311 "ssdb.m"
}

#line 311 "ssdb.m"
static void MR_CALL 
ssdb__lock_command_queue_0_p_0(void)
#line 311 "ssdb.m"
{
#line 311 "ssdb.m"
  {
#line 311 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_command_queue_0_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 36624 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
  }
#line 311 "ssdb.m"
}

#line 311 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_command_queue_0_p_0(void)
#line 311 "ssdb.m"
{
#line 311 "ssdb.m"
  {
#line 311 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_command_queue_0_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_command_queue_lock, MR_MUTEX_ATTR);
#endif

#line 36656 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
  }
#line 311 "ssdb.m"
}

#line 311 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_command_queue_0_p_0(void)
#line 311 "ssdb.m"
{
#line 311 "ssdb.m"
  {
#line 311 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_command_queue_0_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_command_queue_lock, MR_MUTEX_ATTR);
#endif

#line 36688 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_command_queue_0_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 36706 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_command_queue_0_p_0

	MR_Word X;

	X =  (MR_Word) MR_mkword(MR_mktag(1), &ssdb_scalar_common_1[17]) ;
		{
#line 311 "ssdb.m"
ssdb__mutable_variable_command_queue = X;

#line 36723 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_command_queue_0_p_0


		{
#line 311 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_command_queue_lock,
                "ssdb__mutable_variable_command_queue_lock");
#endif

#line 36741 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 311 "ssdb.m"
}
#line 311 "ssdb.m"
  }
#line 311 "ssdb.m"
}

#line 308 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_nondet_shadow_stack_depth_1_p_0(
#line 308 "ssdb.m"
  MR_Integer ssdb__X_1)
#line 308 "ssdb.m"
{
#line 308 "ssdb.m"
  {
#line 308 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_nondet_shadow_stack_depth_1_p_0

	MR_Integer X;

	X =  ssdb__X_1 ;
		{
#line 308 "ssdb.m"
ssdb__mutable_variable_nondet_shadow_stack_depth = X;

#line 36775 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
  }
#line 308 "ssdb.m"
}

#line 308 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_nondet_shadow_stack_depth_1_p_0(
#line 308 "ssdb.m"
  MR_Integer * ssdb__X_1)
#line 308 "ssdb.m"
{
#line 308 "ssdb.m"
  {
#line 308 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_nondet_shadow_stack_depth_1_p_0

	MR_Integer X;

		{
#line 308 "ssdb.m"
X = ssdb__mutable_variable_nondet_shadow_stack_depth;

#line 36808 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
  }
#line 308 "ssdb.m"
}

#line 308 "ssdb.m"
static void MR_CALL 
ssdb__unlock_nondet_shadow_stack_depth_0_p_0(void)
#line 308 "ssdb.m"
{
#line 308 "ssdb.m"
  {
#line 308 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_nondet_shadow_stack_depth_0_p_0


		{
#line 308 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_nondet_shadow_stack_depth_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_depth_lock");
#endif

#line 36842 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
  }
#line 308 "ssdb.m"
}

#line 308 "ssdb.m"
static void MR_CALL 
ssdb__lock_nondet_shadow_stack_depth_0_p_0(void)
#line 308 "ssdb.m"
{
#line 308 "ssdb.m"
  {
#line 308 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_nondet_shadow_stack_depth_0_p_0


		{
#line 308 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_nondet_shadow_stack_depth_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_depth_lock");
#endif

#line 36875 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
  }
#line 308 "ssdb.m"
}

#line 308 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_nondet_shadow_stack_depth_0_p_0(void)
#line 308 "ssdb.m"
{
#line 308 "ssdb.m"
  {
#line 308 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_nondet_shadow_stack_depth_0_p_0


		{
#line 308 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_nondet_shadow_stack_depth_lock, MR_MUTEX_ATTR);
#endif

#line 36907 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
  }
#line 308 "ssdb.m"
}

#line 308 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_nondet_shadow_stack_depth_0_p_0(void)
#line 308 "ssdb.m"
{
#line 308 "ssdb.m"
  {
#line 308 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_nondet_shadow_stack_depth_0_p_0


		{
#line 308 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_nondet_shadow_stack_depth_lock, MR_MUTEX_ATTR);
#endif

#line 36939 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_nondet_shadow_stack_depth_0_p_0


		{
#line 308 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_nondet_shadow_stack_depth_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_depth_lock");
#endif

#line 36957 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_nondet_shadow_stack_depth_0_p_0

	MR_Integer X;

	X =  (MR_Integer) 0 ;
		{
#line 308 "ssdb.m"
ssdb__mutable_variable_nondet_shadow_stack_depth = X;

#line 36974 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_nondet_shadow_stack_depth_0_p_0


		{
#line 308 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_nondet_shadow_stack_depth_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_depth_lock");
#endif

#line 36992 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 308 "ssdb.m"
}
#line 308 "ssdb.m"
  }
#line 308 "ssdb.m"
}

#line 306 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_nondet_shadow_stack_1_p_0(
#line 306 "ssdb.m"
  MR_Word ssdb__X_1)
#line 306 "ssdb.m"
{
#line 306 "ssdb.m"
  {
#line 306 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_nondet_shadow_stack_1_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 306 "ssdb.m"
ssdb__mutable_variable_nondet_shadow_stack = X;

#line 37026 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
  }
#line 306 "ssdb.m"
}

#line 306 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_nondet_shadow_stack_1_p_0(
#line 306 "ssdb.m"
  MR_Word * ssdb__X_1)
#line 306 "ssdb.m"
{
#line 306 "ssdb.m"
  {
#line 306 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_nondet_shadow_stack_1_p_0

	MR_Word X;

		{
#line 306 "ssdb.m"
X = ssdb__mutable_variable_nondet_shadow_stack;

#line 37059 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
  }
#line 306 "ssdb.m"
}

#line 306 "ssdb.m"
static void MR_CALL 
ssdb__unlock_nondet_shadow_stack_0_p_0(void)
#line 306 "ssdb.m"
{
#line 306 "ssdb.m"
  {
#line 306 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_nondet_shadow_stack_0_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_nondet_shadow_stack_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_lock");
#endif

#line 37093 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
  }
#line 306 "ssdb.m"
}

#line 306 "ssdb.m"
static void MR_CALL 
ssdb__lock_nondet_shadow_stack_0_p_0(void)
#line 306 "ssdb.m"
{
#line 306 "ssdb.m"
  {
#line 306 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_nondet_shadow_stack_0_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_nondet_shadow_stack_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_lock");
#endif

#line 37126 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
  }
#line 306 "ssdb.m"
}

#line 306 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_nondet_shadow_stack_0_p_0(void)
#line 306 "ssdb.m"
{
#line 306 "ssdb.m"
  {
#line 306 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_nondet_shadow_stack_0_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_nondet_shadow_stack_lock, MR_MUTEX_ATTR);
#endif

#line 37158 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
  }
#line 306 "ssdb.m"
}

#line 306 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_nondet_shadow_stack_0_p_0(void)
#line 306 "ssdb.m"
{
#line 306 "ssdb.m"
  {
#line 306 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_nondet_shadow_stack_0_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_nondet_shadow_stack_lock, MR_MUTEX_ATTR);
#endif

#line 37190 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_nondet_shadow_stack_0_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_nondet_shadow_stack_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_lock");
#endif

#line 37208 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_nondet_shadow_stack_0_p_0

	MR_Word X;

	X =  (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)) ;
		{
#line 306 "ssdb.m"
ssdb__mutable_variable_nondet_shadow_stack = X;

#line 37225 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_nondet_shadow_stack_0_p_0


		{
#line 306 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_nondet_shadow_stack_lock,
                "ssdb__mutable_variable_nondet_shadow_stack_lock");
#endif

#line 37243 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 306 "ssdb.m"
}
#line 306 "ssdb.m"
  }
#line 306 "ssdb.m"
}

#line 303 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_shadow_stack_depth_1_p_0(
#line 303 "ssdb.m"
  MR_Integer ssdb__X_1)
#line 303 "ssdb.m"
{
#line 303 "ssdb.m"
  {
#line 303 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_shadow_stack_depth_1_p_0

	MR_Integer X;

	X =  ssdb__X_1 ;
		{
#line 303 "ssdb.m"
ssdb__mutable_variable_shadow_stack_depth = X;

#line 37277 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
  }
#line 303 "ssdb.m"
}

#line 303 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_shadow_stack_depth_1_p_0(
#line 303 "ssdb.m"
  MR_Integer * ssdb__X_1)
#line 303 "ssdb.m"
{
#line 303 "ssdb.m"
  {
#line 303 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_shadow_stack_depth_1_p_0

	MR_Integer X;

		{
#line 303 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack_depth;

#line 37310 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
  }
#line 303 "ssdb.m"
}

#line 303 "ssdb.m"
static void MR_CALL 
ssdb__unlock_shadow_stack_depth_0_p_0(void)
#line 303 "ssdb.m"
{
#line 303 "ssdb.m"
  {
#line 303 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_shadow_stack_depth_0_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 37344 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
  }
#line 303 "ssdb.m"
}

#line 303 "ssdb.m"
static void MR_CALL 
ssdb__lock_shadow_stack_depth_0_p_0(void)
#line 303 "ssdb.m"
{
#line 303 "ssdb.m"
  {
#line 303 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_shadow_stack_depth_0_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 37377 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
  }
#line 303 "ssdb.m"
}

#line 303 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_shadow_stack_depth_0_p_0(void)
#line 303 "ssdb.m"
{
#line 303 "ssdb.m"
  {
#line 303 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_shadow_stack_depth_0_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_shadow_stack_depth_lock, MR_MUTEX_ATTR);
#endif

#line 37409 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
  }
#line 303 "ssdb.m"
}

#line 303 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_shadow_stack_depth_0_p_0(void)
#line 303 "ssdb.m"
{
#line 303 "ssdb.m"
  {
#line 303 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_shadow_stack_depth_0_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_shadow_stack_depth_lock, MR_MUTEX_ATTR);
#endif

#line 37441 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_shadow_stack_depth_0_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 37459 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_shadow_stack_depth_0_p_0

	MR_Integer X;

	X =  (MR_Integer) 0 ;
		{
#line 303 "ssdb.m"
ssdb__mutable_variable_shadow_stack_depth = X;

#line 37476 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_shadow_stack_depth_0_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 37494 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
  }
#line 303 "ssdb.m"
}

#line 301 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_shadow_stack_1_p_0(
#line 301 "ssdb.m"
  MR_Word ssdb__X_1)
#line 301 "ssdb.m"
{
#line 301 "ssdb.m"
  {
#line 301 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_shadow_stack_1_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 301 "ssdb.m"
ssdb__mutable_variable_shadow_stack = X;

#line 37528 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
  }
#line 301 "ssdb.m"
}

#line 301 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_shadow_stack_1_p_0(
#line 301 "ssdb.m"
  MR_Word * ssdb__X_1)
#line 301 "ssdb.m"
{
#line 301 "ssdb.m"
  {
#line 301 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_shadow_stack_1_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 37561 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
  }
#line 301 "ssdb.m"
}

#line 301 "ssdb.m"
static void MR_CALL 
ssdb__unlock_shadow_stack_0_p_0(void)
#line 301 "ssdb.m"
{
#line 301 "ssdb.m"
  {
#line 301 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_shadow_stack_0_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 37595 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
  }
#line 301 "ssdb.m"
}

#line 301 "ssdb.m"
static void MR_CALL 
ssdb__lock_shadow_stack_0_p_0(void)
#line 301 "ssdb.m"
{
#line 301 "ssdb.m"
  {
#line 301 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_shadow_stack_0_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 37628 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
  }
#line 301 "ssdb.m"
}

#line 301 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_shadow_stack_0_p_0(void)
#line 301 "ssdb.m"
{
#line 301 "ssdb.m"
  {
#line 301 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_shadow_stack_0_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_shadow_stack_lock, MR_MUTEX_ATTR);
#endif

#line 37660 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
  }
#line 301 "ssdb.m"
}

#line 301 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_shadow_stack_0_p_0(void)
#line 301 "ssdb.m"
{
#line 301 "ssdb.m"
  {
#line 301 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_shadow_stack_0_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_shadow_stack_lock, MR_MUTEX_ATTR);
#endif

#line 37692 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_shadow_stack_0_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 37710 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_shadow_stack_0_p_0

	MR_Word X;

	X =  (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)) ;
		{
#line 301 "ssdb.m"
ssdb__mutable_variable_shadow_stack = X;

#line 37727 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_shadow_stack_0_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 37745 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
  }
#line 301 "ssdb.m"
}

#line 298 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_cur_ssdb_next_stop_1_p_0(
#line 298 "ssdb.m"
  MR_Word ssdb__X_1)
#line 298 "ssdb.m"
{
#line 298 "ssdb.m"
  {
#line 298 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 298 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_cur_ssdb_next_stop_1_p_0

	MR_Word X;

	X =  ssdb__X_1 ;
		{
#line 298 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_next_stop = X;

#line 37779 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 298 "ssdb.m"
}
#line 298 "ssdb.m"
  }
#line 298 "ssdb.m"
}

#line 298 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_cur_ssdb_next_stop_1_p_0(
#line 298 "ssdb.m"
  MR_Word * ssdb__X_1)
#line 298 "ssdb.m"
{
#line 298 "ssdb.m"
  {
#line 298 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 298 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_cur_ssdb_next_stop_1_p_0

	MR_Word X;

		{
#line 298 "ssdb.m"
X = ssdb__mutable_variable_cur_ssdb_next_stop;

#line 37812 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 298 "ssdb.m"
}
#line 298 "ssdb.m"
  }
#line 298 "ssdb.m"
}

#line 298 "ssdb.m"
static void MR_CALL 
ssdb__unlock_cur_ssdb_next_stop_0_p_0(void)
#line 298 "ssdb.m"
{
#line 298 "ssdb.m"
  {
#line 298 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 298 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_cur_ssdb_next_stop_0_p_0


		{
#line 298 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_next_stop_lock,
                "ssdb__mutable_variable_cur_ssdb_next_stop_lock");
#endif

#line 37846 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 298 "ssdb.m"
}
#line 298 "ssdb.m"
  }
#line 298 "ssdb.m"
}

#line 298 "ssdb.m"
static void MR_CALL 
ssdb__lock_cur_ssdb_next_stop_0_p_0(void)
#line 298 "ssdb.m"
{
#line 298 "ssdb.m"
  {
#line 298 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 298 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_cur_ssdb_next_stop_0_p_0


		{
#line 298 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_next_stop_lock,
                "ssdb__mutable_variable_cur_ssdb_next_stop_lock");
#endif

#line 37879 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 298 "ssdb.m"
}
#line 298 "ssdb.m"
  }
#line 298 "ssdb.m"
}

#line 298 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_cur_ssdb_next_stop_0_p_0(void)
#line 298 "ssdb.m"
{
#line 298 "ssdb.m"
  {
#line 298 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 298 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_cur_ssdb_next_stop_0_p_0


		{
#line 298 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_cur_ssdb_next_stop_lock, MR_MUTEX_ATTR);
#endif

#line 37911 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 298 "ssdb.m"
}
#line 298 "ssdb.m"
  }
#line 298 "ssdb.m"
}

#line 298 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_cur_ssdb_next_stop_0_p_0(void)
#line 298 "ssdb.m"
{
#line 298 "ssdb.m"
  {
#line 298 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 298 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_ssdb_next_stop_0_p_0


		{
#line 298 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_cur_ssdb_next_stop_lock, MR_MUTEX_ATTR);
#endif

#line 37943 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 298 "ssdb.m"
}
#line 298 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_ssdb_next_stop_0_p_0


		{
#line 298 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_next_stop_lock,
                "ssdb__mutable_variable_cur_ssdb_next_stop_lock");
#endif

#line 37961 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 298 "ssdb.m"
}
#line 298 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_ssdb_next_stop_0_p_0

	MR_Word X;

	X =  (MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)) ;
		{
#line 298 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_next_stop = X;

#line 37978 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 298 "ssdb.m"
}
#line 298 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_ssdb_next_stop_0_p_0


		{
#line 298 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_next_stop_lock,
                "ssdb__mutable_variable_cur_ssdb_next_stop_lock");
#endif

#line 37996 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 298 "ssdb.m"
}
#line 298 "ssdb.m"
  }
#line 298 "ssdb.m"
}

#line 295 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_cur_ssdb_csn_1_p_0(
#line 295 "ssdb.m"
  MR_Integer ssdb__X_1)
#line 295 "ssdb.m"
{
#line 295 "ssdb.m"
  {
#line 295 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_cur_ssdb_csn_1_p_0

	MR_Integer X;

	X =  ssdb__X_1 ;
		{
#line 295 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_csn = X;

#line 38030 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
  }
#line 295 "ssdb.m"
}

#line 295 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_cur_ssdb_csn_1_p_0(
#line 295 "ssdb.m"
  MR_Integer * ssdb__X_1)
#line 295 "ssdb.m"
{
#line 295 "ssdb.m"
  {
#line 295 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_cur_ssdb_csn_1_p_0

	MR_Integer X;

		{
#line 295 "ssdb.m"
X = ssdb__mutable_variable_cur_ssdb_csn;

#line 38063 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
  }
#line 295 "ssdb.m"
}

#line 295 "ssdb.m"
static void MR_CALL 
ssdb__unlock_cur_ssdb_csn_0_p_0(void)
#line 295 "ssdb.m"
{
#line 295 "ssdb.m"
  {
#line 295 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_cur_ssdb_csn_0_p_0


		{
#line 295 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_csn_lock,
                "ssdb__mutable_variable_cur_ssdb_csn_lock");
#endif

#line 38097 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
  }
#line 295 "ssdb.m"
}

#line 295 "ssdb.m"
static void MR_CALL 
ssdb__lock_cur_ssdb_csn_0_p_0(void)
#line 295 "ssdb.m"
{
#line 295 "ssdb.m"
  {
#line 295 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_cur_ssdb_csn_0_p_0


		{
#line 295 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_csn_lock,
                "ssdb__mutable_variable_cur_ssdb_csn_lock");
#endif

#line 38130 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
  }
#line 295 "ssdb.m"
}

#line 295 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_cur_ssdb_csn_0_p_0(void)
#line 295 "ssdb.m"
{
#line 295 "ssdb.m"
  {
#line 295 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_cur_ssdb_csn_0_p_0


		{
#line 295 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_cur_ssdb_csn_lock, MR_MUTEX_ATTR);
#endif

#line 38162 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
  }
#line 295 "ssdb.m"
}

#line 295 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_cur_ssdb_csn_0_p_0(void)
#line 295 "ssdb.m"
{
#line 295 "ssdb.m"
  {
#line 295 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_ssdb_csn_0_p_0


		{
#line 295 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_cur_ssdb_csn_lock, MR_MUTEX_ATTR);
#endif

#line 38194 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_ssdb_csn_0_p_0


		{
#line 295 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_csn_lock,
                "ssdb__mutable_variable_cur_ssdb_csn_lock");
#endif

#line 38212 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_ssdb_csn_0_p_0

	MR_Integer X;

	X =  (MR_Integer) 0 ;
		{
#line 295 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_csn = X;

#line 38229 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_ssdb_csn_0_p_0


		{
#line 295 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_csn_lock,
                "ssdb__mutable_variable_cur_ssdb_csn_lock");
#endif

#line 38247 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
  }
#line 295 "ssdb.m"
}

#line 292 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_cur_ssdb_event_number_1_p_0(
#line 292 "ssdb.m"
  MR_Integer ssdb__X_1)
#line 292 "ssdb.m"
{
#line 292 "ssdb.m"
  {
#line 292 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_cur_ssdb_event_number_1_p_0

	MR_Integer X;

	X =  ssdb__X_1 ;
		{
#line 292 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_event_number = X;

#line 38281 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
  }
#line 292 "ssdb.m"
}

#line 292 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_cur_ssdb_event_number_1_p_0(
#line 292 "ssdb.m"
  MR_Integer * ssdb__X_1)
#line 292 "ssdb.m"
{
#line 292 "ssdb.m"
  {
#line 292 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_cur_ssdb_event_number_1_p_0

	MR_Integer X;

		{
#line 292 "ssdb.m"
X = ssdb__mutable_variable_cur_ssdb_event_number;

#line 38314 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
  }
#line 292 "ssdb.m"
}

#line 292 "ssdb.m"
static void MR_CALL 
ssdb__unlock_cur_ssdb_event_number_0_p_0(void)
#line 292 "ssdb.m"
{
#line 292 "ssdb.m"
  {
#line 292 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_cur_ssdb_event_number_0_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 38348 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
  }
#line 292 "ssdb.m"
}

#line 292 "ssdb.m"
static void MR_CALL 
ssdb__lock_cur_ssdb_event_number_0_p_0(void)
#line 292 "ssdb.m"
{
#line 292 "ssdb.m"
  {
#line 292 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_cur_ssdb_event_number_0_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 38381 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
  }
#line 292 "ssdb.m"
}

#line 292 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_cur_ssdb_event_number_0_p_0(void)
#line 292 "ssdb.m"
{
#line 292 "ssdb.m"
  {
#line 292 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_cur_ssdb_event_number_0_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_cur_ssdb_event_number_lock, MR_MUTEX_ATTR);
#endif

#line 38413 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
  }
#line 292 "ssdb.m"
}

#line 292 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_cur_ssdb_event_number_0_p_0(void)
#line 292 "ssdb.m"
{
#line 292 "ssdb.m"
  {
#line 292 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_ssdb_event_number_0_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_cur_ssdb_event_number_lock, MR_MUTEX_ATTR);
#endif

#line 38445 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_ssdb_event_number_0_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 38463 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_ssdb_event_number_0_p_0

	MR_Integer X;

	X =  (MR_Integer) 0 ;
		{
#line 292 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_event_number = X;

#line 38480 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_ssdb_event_number_0_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 38498 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
  }
#line 292 "ssdb.m"
}

#line 289 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_cur_line_number_1_p_0(
#line 289 "ssdb.m"
  MR_Integer ssdb__X_1)
#line 289 "ssdb.m"
{
#line 289 "ssdb.m"
  {
#line 289 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 289 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_cur_line_number_1_p_0

	MR_Integer X;

	X =  ssdb__X_1 ;
		{
#line 289 "ssdb.m"
ssdb__mutable_variable_cur_line_number = X;

#line 38532 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 289 "ssdb.m"
}
#line 289 "ssdb.m"
  }
#line 289 "ssdb.m"
}

#line 289 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_cur_line_number_1_p_0(
#line 289 "ssdb.m"
  MR_Integer * ssdb__X_1)
#line 289 "ssdb.m"
{
#line 289 "ssdb.m"
  {
#line 289 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 289 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_cur_line_number_1_p_0

	MR_Integer X;

		{
#line 289 "ssdb.m"
X = ssdb__mutable_variable_cur_line_number;

#line 38565 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 289 "ssdb.m"
}
#line 289 "ssdb.m"
  }
#line 289 "ssdb.m"
}

#line 289 "ssdb.m"
static void MR_CALL 
ssdb__unlock_cur_line_number_0_p_0(void)
#line 289 "ssdb.m"
{
#line 289 "ssdb.m"
  {
#line 289 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 289 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_cur_line_number_0_p_0


		{
#line 289 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_line_number_lock,
                "ssdb__mutable_variable_cur_line_number_lock");
#endif

#line 38599 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 289 "ssdb.m"
}
#line 289 "ssdb.m"
  }
#line 289 "ssdb.m"
}

#line 289 "ssdb.m"
static void MR_CALL 
ssdb__lock_cur_line_number_0_p_0(void)
#line 289 "ssdb.m"
{
#line 289 "ssdb.m"
  {
#line 289 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 289 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_cur_line_number_0_p_0


		{
#line 289 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_line_number_lock,
                "ssdb__mutable_variable_cur_line_number_lock");
#endif

#line 38632 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 289 "ssdb.m"
}
#line 289 "ssdb.m"
  }
#line 289 "ssdb.m"
}

#line 289 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_cur_line_number_0_p_0(void)
#line 289 "ssdb.m"
{
#line 289 "ssdb.m"
  {
#line 289 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 289 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_cur_line_number_0_p_0


		{
#line 289 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_cur_line_number_lock, MR_MUTEX_ATTR);
#endif

#line 38664 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 289 "ssdb.m"
}
#line 289 "ssdb.m"
  }
#line 289 "ssdb.m"
}

#line 289 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_cur_line_number_0_p_0(void)
#line 289 "ssdb.m"
{
#line 289 "ssdb.m"
  {
#line 289 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 289 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_line_number_0_p_0


		{
#line 289 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_cur_line_number_lock, MR_MUTEX_ATTR);
#endif

#line 38696 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 289 "ssdb.m"
}
#line 289 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_line_number_0_p_0


		{
#line 289 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_line_number_lock,
                "ssdb__mutable_variable_cur_line_number_lock");
#endif

#line 38714 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 289 "ssdb.m"
}
#line 289 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_line_number_0_p_0

	MR_Integer X;

	X =  (MR_Integer) 0 ;
		{
#line 289 "ssdb.m"
ssdb__mutable_variable_cur_line_number = X;

#line 38731 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 289 "ssdb.m"
}
#line 289 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_line_number_0_p_0


		{
#line 289 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_line_number_lock,
                "ssdb__mutable_variable_cur_line_number_lock");
#endif

#line 38749 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 289 "ssdb.m"
}
#line 289 "ssdb.m"
  }
#line 289 "ssdb.m"
}

#line 287 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_set_cur_filename_1_p_0(
#line 287 "ssdb.m"
  MR_String ssdb__X_1)
#line 287 "ssdb.m"
{
#line 287 "ssdb.m"
  {
#line 287 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 287 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_set_cur_filename_1_p_0

	MR_String X;

	X =  ssdb__X_1 ;
		{
#line 287 "ssdb.m"
ssdb__mutable_variable_cur_filename = X;

#line 38783 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 287 "ssdb.m"
}
#line 287 "ssdb.m"
  }
#line 287 "ssdb.m"
}

#line 287 "ssdb.m"
static void MR_CALL 
ssdb__unsafe_get_cur_filename_1_p_0(
#line 287 "ssdb.m"
  MR_String * ssdb__X_1)
#line 287 "ssdb.m"
{
#line 287 "ssdb.m"
  {
#line 287 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 287 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unsafe_get_cur_filename_1_p_0

	MR_String X;

		{
#line 287 "ssdb.m"
X = ssdb__mutable_variable_cur_filename;

#line 38816 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__X_1  = X;
#line 287 "ssdb.m"
}
#line 287 "ssdb.m"
  }
#line 287 "ssdb.m"
}

#line 287 "ssdb.m"
static void MR_CALL 
ssdb__unlock_cur_filename_0_p_0(void)
#line 287 "ssdb.m"
{
#line 287 "ssdb.m"
  {
#line 287 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 287 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__unlock_cur_filename_0_p_0


		{
#line 287 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_filename_lock,
                "ssdb__mutable_variable_cur_filename_lock");
#endif

#line 38850 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 287 "ssdb.m"
}
#line 287 "ssdb.m"
  }
#line 287 "ssdb.m"
}

#line 287 "ssdb.m"
static void MR_CALL 
ssdb__lock_cur_filename_0_p_0(void)
#line 287 "ssdb.m"
{
#line 287 "ssdb.m"
  {
#line 287 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 287 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__lock_cur_filename_0_p_0


		{
#line 287 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_filename_lock,
                "ssdb__mutable_variable_cur_filename_lock");
#endif

#line 38883 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 287 "ssdb.m"
}
#line 287 "ssdb.m"
  }
#line 287 "ssdb.m"
}

#line 287 "ssdb.m"
static void MR_CALL 
ssdb__pre_initialise_mutable_cur_filename_0_p_0(void)
#line 287 "ssdb.m"
{
#line 287 "ssdb.m"
  {
#line 287 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 287 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pre_initialise_mutable_cur_filename_0_p_0


		{
#line 287 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_cur_filename_lock, MR_MUTEX_ATTR);
#endif

#line 38915 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 287 "ssdb.m"
}
#line 287 "ssdb.m"
  }
#line 287 "ssdb.m"
}

#line 287 "ssdb.m"
static void MR_CALL 
ssdb__initialise_mutable_cur_filename_0_p_0(void)
#line 287 "ssdb.m"
{
#line 287 "ssdb.m"
  {
#line 287 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 287 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_filename_0_p_0


		{
#line 287 "ssdb.m"
#ifdef MR_THREAD_SAFE
   pthread_mutex_init(&ssdb__mutable_variable_cur_filename_lock, MR_MUTEX_ATTR);
#endif

#line 38947 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 287 "ssdb.m"
}
#line 287 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_filename_0_p_0


		{
#line 287 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_filename_lock,
                "ssdb__mutable_variable_cur_filename_lock");
#endif

#line 38965 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 287 "ssdb.m"
}
#line 287 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_filename_0_p_0

	MR_String X;

	X =  (MR_String) "" ;
		{
#line 287 "ssdb.m"
ssdb__mutable_variable_cur_filename = X;

#line 38982 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 287 "ssdb.m"
}
#line 287 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__initialise_mutable_cur_filename_0_p_0


		{
#line 287 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_filename_lock,
                "ssdb__mutable_variable_cur_filename_lock");
#endif

#line 39000 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 287 "ssdb.m"
}
#line 287 "ssdb.m"
  }
#line 287 "ssdb.m"
}

#line 140 "ssdb.m"
void MR_CALL 
ssdb__enable_debugging_2_p_0(void)
#line 140 "ssdb.m"
{
#line 561 "ssdb.m"
  {
#line 561 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__enable_debugging_2_p_0


		{
#line 357 "ssdb.m"

#line 39029 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__enable_debugging_2_p_0

	MR_Word X;

	X =  (MR_Integer) 1 ;
		{
#line 357 "ssdb.m"
MR_set_thread_local_mutable(MR_Word, X, ssdb__mutable_variable_debugger_state);

#line 39046 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__enable_debugging_2_p_0


		{
#line 357 "ssdb.m"

#line 39060 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 561 "ssdb.m"
  }
#line 140 "ssdb.m"
}

#line 134 "ssdb.m"
void MR_CALL 
ssdb__resume_debugging_3_p_0(
#line 134 "ssdb.m"
  MR_Word ssdb__Paused_4)
#line 134 "ssdb.m"
{
#line 555 "ssdb.m"
  {
#line 555 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 555 "ssdb.m"
    if ((ssdb__Paused_4 == (MR_Integer) 0))
#line 558 "ssdb.m"
      {
#line 558 "ssdb.m"
      }
#line 555 "ssdb.m"
    else
#line 555 "ssdb.m"
      {
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__resume_debugging_3_p_0


		{
#line 357 "ssdb.m"

#line 39101 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__resume_debugging_3_p_0

	MR_Word X;

	X =  (MR_Integer) 1 ;
		{
#line 357 "ssdb.m"
MR_set_thread_local_mutable(MR_Word, X, ssdb__mutable_variable_debugger_state);

#line 39118 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__resume_debugging_3_p_0


		{
#line 357 "ssdb.m"

#line 39132 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 555 "ssdb.m"
      }
#line 555 "ssdb.m"
  }
#line 134 "ssdb.m"
}

#line 133 "ssdb.m"
void MR_CALL 
ssdb__pause_debugging_3_p_0(
#line 133 "ssdb.m"
  MR_Word * ssdb__Paused_4)
#line 133 "ssdb.m"
{
#line 544 "ssdb.m"
  {
#line 544 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pause_debugging_3_p_0


		{
#line 357 "ssdb.m"

#line 39165 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pause_debugging_3_p_0

	MR_Word X;

		{
#line 357 "ssdb.m"
MR_get_thread_local_mutable(MR_Word, X, ssdb__mutable_variable_debugger_state);

#line 39181 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 *ssdb__Paused_4  = X;
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pause_debugging_3_p_0


		{
#line 357 "ssdb.m"

#line 39196 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 548 "ssdb.m"
    if ((*ssdb__Paused_4 == (MR_Integer) 0))
#line 547 "ssdb.m"
      {
#line 547 "ssdb.m"
      }
#line 548 "ssdb.m"
    else
#line 549 "ssdb.m"
      {
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pause_debugging_3_p_0


		{
#line 357 "ssdb.m"

#line 39220 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pause_debugging_3_p_0

	MR_Word X;

	X =  (MR_Integer) 0 ;
		{
#line 357 "ssdb.m"
MR_set_thread_local_mutable(MR_Word, X, ssdb__mutable_variable_debugger_state);

#line 39237 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__pause_debugging_3_p_0


		{
#line 357 "ssdb.m"

#line 39251 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 549 "ssdb.m"
      }
#line 544 "ssdb.m"
  }
#line 133 "ssdb.m"
}

#line 113 "ssdb.m"
void MR_CALL 
ssdb__handle_event_redo_nondet_2_p_0(
#line 113 "ssdb.m"
  MR_Word ssdb__ProcId_3,
#line 113 "ssdb.m"
  MR_Word ssdb___ListVarValue_4)
#line 113 "ssdb.m"
{
#line 765 "ssdb.m"
  {
#line 765 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 765 "ssdb.m"
    {
#line 765 "ssdb.m"
      ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_114_101_100_111_95_110_111_110_100_101_116_95_95_91_50_93_95_48_2_p_0(ssdb__ProcId_3);
#line 765 "ssdb.m"
      return;
    }
#line 765 "ssdb.m"
  }
#line 113 "ssdb.m"
}

#line 108 "ssdb.m"
void MR_CALL 
ssdb__handle_event_fail_nondet_3_p_0(
#line 108 "ssdb.m"
  MR_Word ssdb__ProcId_4,
#line 108 "ssdb.m"
  MR_Word ssdb___ListVarValue_5,
#line 108 "ssdb.m"
  MR_Word * ssdb__Retry_6)
#line 108 "ssdb.m"
{
#line 716 "ssdb.m"
  {
#line 716 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 716 "ssdb.m"
    {
#line 716 "ssdb.m"
      ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_110_111_110_100_101_116_95_95_91_50_93_95_48_3_p_0(ssdb__ProcId_4, ssdb__Retry_6);
#line 716 "ssdb.m"
      return;
    }
#line 716 "ssdb.m"
  }
#line 108 "ssdb.m"
}

#line 103 "ssdb.m"
void MR_CALL 
ssdb__handle_event_fail_3_p_0(
#line 103 "ssdb.m"
  MR_Word ssdb__ProcId_4,
#line 103 "ssdb.m"
  MR_Word ssdb___ListVarValue_5,
#line 103 "ssdb.m"
  MR_Word * ssdb__Retry_6)
#line 103 "ssdb.m"
{
#line 702 "ssdb.m"
  {
#line 702 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 702 "ssdb.m"
    {
#line 702 "ssdb.m"
      ssdb__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_104_97_110_100_108_101_95_101_118_101_110_116_95_102_97_105_108_95_95_91_50_93_95_48_3_p_0(ssdb__ProcId_4, ssdb__Retry_6);
#line 702 "ssdb.m"
      return;
    }
#line 702 "ssdb.m"
  }
#line 103 "ssdb.m"
}

#line 98 "ssdb.m"
void MR_CALL 
ssdb__handle_event_exit_nondet_2_p_0(
#line 98 "ssdb.m"
  MR_Word ssdb__ProcId_3,
#line 98 "ssdb.m"
  MR_Word ssdb__ListVarValue_4)
#line 98 "ssdb.m"
{
#line 654 "ssdb.m"
  {
#line 654 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 654 "ssdb.m"
    MR_Word ssdb__DebuggerState_6;

#line 3455 "ssdb.m"
    mercury__private_builtin__dummy_var = mercury__private_builtin__dummy_var;
#line 3456 "ssdb.m"
    {
#line 3456 "ssdb.m"
      mercury__builtin__impure_true_0_p_0();
    }
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_nondet_2_p_0


		{
#line 357 "ssdb.m"

#line 39377 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_nondet_2_p_0

	MR_Word X;

		{
#line 357 "ssdb.m"
MR_get_thread_local_mutable(MR_Word, X, ssdb__mutable_variable_debugger_state);

#line 39393 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__DebuggerState_6  = X;
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_nondet_2_p_0


		{
#line 357 "ssdb.m"

#line 39408 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 660 "ssdb.m"
    if ((ssdb__DebuggerState_6 == (MR_Integer) 0))
#line 661 "ssdb.m"
      {
#line 661 "ssdb.m"
      }
#line 660 "ssdb.m"
    else
#line 657 "ssdb.m"
      {
#line 657 "ssdb.m"
        MR_Integer ssdb__EventNum_29;
#line 657 "ssdb.m"
        MR_Integer ssdb__CSN_30;
#line 657 "ssdb.m"
        MR_Word ssdb__Stop_31;
#line 657 "ssdb.m"
        MR_Word ssdb__AutoRetry_32;
#line 657 "ssdb.m"
        MR_Integer ssdb__EventNum0_49;
#line 657 "ssdb.m"
        MR_Word ssdb__Frame_61;
#line 657 "ssdb.m"
        MR_Word ssdb__Stack_74;
#line 989 "ssdb.m"
        MR_Integer ssdb__V_63_63;
#line 989 "ssdb.m"
        MR_Integer ssdb__V_64_64;
#line 989 "ssdb.m"
        MR_Word ssdb__V_65_65;
#line 989 "ssdb.m"
        MR_String ssdb__V_66_66;
#line 989 "ssdb.m"
        MR_Integer ssdb__V_67_67;
#line 989 "ssdb.m"
        MR_Word ssdb__V_68_68;
#line 989 "ssdb.m"
        MR_Word ssdb__V_69_69;

#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_nondet_2_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 39465 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_nondet_2_p_0

	MR_Integer X;

		{
#line 292 "ssdb.m"
X = ssdb__mutable_variable_cur_ssdb_event_number;

#line 39481 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__EventNum0_49  = X;
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_nondet_2_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 39500 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 969 "ssdb.m"
        ssdb__EventNum_29 = (ssdb__EventNum0_49 + (MR_Integer) 1);
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_nondet_2_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 39520 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_nondet_2_p_0

	MR_Integer X;

	X =  ssdb__EventNum_29 ;
		{
#line 292 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_event_number = X;

#line 39537 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_nondet_2_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 39555 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_nondet_2_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 39573 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_nondet_2_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 39589 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_74  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_nondet_2_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 39608 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 981 "ssdb.m"
        if ((ssdb__Stack_74 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 979 "ssdb.m"
          {
#line 980 "ssdb.m"
            {
#line 980 "ssdb.m"
              mercury__require__error_1_p_0((MR_String) "ssdb: stack_top on empty stack");
#line 980 "ssdb.m"
              return;
            }
#line 979 "ssdb.m"
          }
#line 981 "ssdb.m"
        else
#line 982 "ssdb.m"
          {
#line 982 "ssdb.m"
            MR_Word ssdb__V_75_75;

#line 982 "ssdb.m"
            ssdb__Frame_61 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_74, (MR_Integer) 0)));
#line 982 "ssdb.m"
            ssdb__V_75_75 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_74, (MR_Integer) 1)));
#line 982 "ssdb.m"
          }
#line 989 "ssdb.m"
        ssdb__V_63_63 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 0)));
#line 989 "ssdb.m"
        ssdb__CSN_30 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 1)));
#line 989 "ssdb.m"
        ssdb__V_64_64 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 2)));
#line 989 "ssdb.m"
        ssdb__V_65_65 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 3)));
#line 989 "ssdb.m"
        ssdb__V_66_66 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 4)));
#line 989 "ssdb.m"
        ssdb__V_67_67 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 5)));
#line 989 "ssdb.m"
        ssdb__V_68_68 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 6)));
#line 989 "ssdb.m"
        ssdb__V_69_69 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_61, (MR_Integer) 7)));
#line 674 "ssdb.m"
        {
#line 674 "ssdb.m"
          ssdb__should_stop_at_this_event_8_p_0((MR_Integer) 4, ssdb__EventNum_29, ssdb__CSN_30, ssdb__ProcId_3, &ssdb__Stop_31, &ssdb__AutoRetry_32);
        }
#line 692 "ssdb.m"
        if ((ssdb__Stop_31 == (MR_Integer) 0))
#line 694 "ssdb.m"
          {
#line 694 "ssdb.m"
          }
#line 692 "ssdb.m"
        else
#line 677 "ssdb.m"
          {
#line 677 "ssdb.m"
            MR_Word ssdb__WhatNext_33;
#line 691 "ssdb.m"
            MR_Word ssdb___Retry_105;

#line 681 "ssdb.m"
            if ((ssdb__AutoRetry_32 == (MR_Integer) 1))
#line 682 "ssdb.m"
              {
#line 682 "ssdb.m"
                MR_Word ssdb__Stack0_84;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_nondet_2_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 39695 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_nondet_2_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 39711 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack0_84  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_nondet_2_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 39730 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 1045 "ssdb.m"
                if ((ssdb__Stack0_84 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1043 "ssdb.m"
                  {
#line 1044 "ssdb.m"
                    {
#line 1044 "ssdb.m"
                      mercury__require__error_1_p_0((MR_String) "ssdb: update_top_var_list on empty stack");
#line 1044 "ssdb.m"
                      return;
                    }
#line 1043 "ssdb.m"
                  }
#line 1045 "ssdb.m"
                else
#line 1046 "ssdb.m"
                  {
#line 1046 "ssdb.m"
                    MR_Word ssdb__Frame0_85 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack0_84, (MR_Integer) 0)));
#line 1046 "ssdb.m"
                    MR_Word ssdb__Frames_86 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack0_84, (MR_Integer) 1)));
#line 1046 "ssdb.m"
                    MR_Word ssdb__Frame_87;
#line 1046 "ssdb.m"
                    MR_Word ssdb__V_89_89;
#line 1047 "ssdb.m"
                    MR_Integer ssdb__V_92_92 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame0_85, (MR_Integer) 0)));
#line 1047 "ssdb.m"
                    MR_Integer ssdb__V_93_93 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame0_85, (MR_Integer) 1)));
#line 1047 "ssdb.m"
                    MR_Integer ssdb__V_94_94 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame0_85, (MR_Integer) 2)));
#line 1047 "ssdb.m"
                    MR_Word ssdb__V_95_95 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame0_85, (MR_Integer) 3)));
#line 1047 "ssdb.m"
                    MR_String ssdb__V_96_96 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Frame0_85, (MR_Integer) 4)));
#line 1047 "ssdb.m"
                    MR_Integer ssdb__V_97_97 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame0_85, (MR_Integer) 5)));
#line 1047 "ssdb.m"
                    MR_Word ssdb__V_99_99 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame0_85, (MR_Integer) 7)));
#line 1047 "ssdb.m"
                    MR_Word ssdb__V_98_98 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame0_85, (MR_Integer) 6)));

#line 1047 "ssdb.m"
                    {
#line 1047 "ssdb.m"
                      ssdb__Frame_87 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 8 * sizeof(MR_Word)), NULL, NULL);
#line 1047 "ssdb.m"
                      MR_hl_field(MR_mktag(0), ssdb__Frame_87, 0) = ((MR_Box) (ssdb__V_92_92));
#line 1047 "ssdb.m"
                      MR_hl_field(MR_mktag(0), ssdb__Frame_87, 1) = ((MR_Box) (ssdb__V_93_93));
#line 1047 "ssdb.m"
                      MR_hl_field(MR_mktag(0), ssdb__Frame_87, 2) = ((MR_Box) (ssdb__V_94_94));
#line 1047 "ssdb.m"
                      MR_hl_field(MR_mktag(0), ssdb__Frame_87, 3) = ((MR_Box) (ssdb__V_95_95));
#line 1047 "ssdb.m"
                      MR_hl_field(MR_mktag(0), ssdb__Frame_87, 4) = ((MR_Box) (ssdb__V_96_96));
#line 1047 "ssdb.m"
                      MR_hl_field(MR_mktag(0), ssdb__Frame_87, 5) = ((MR_Box) (ssdb__V_97_97));
#line 1047 "ssdb.m"
                      MR_hl_field(MR_mktag(0), ssdb__Frame_87, 6) = ((MR_Box) (ssdb__ListVarValue_4));
#line 1047 "ssdb.m"
                      MR_hl_field(MR_mktag(0), ssdb__Frame_87, 7) = ((MR_Box) (ssdb__V_99_99));
#line 1047 "ssdb.m"
                    }
#line 1048 "ssdb.m"
                    {
#line 1048 "ssdb.m"
                      ssdb__V_89_89 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1048 "ssdb.m"
                      MR_hl_field(MR_mktag(1), ssdb__V_89_89, 0) = ((MR_Box) (ssdb__Frame_87));
#line 1048 "ssdb.m"
                      MR_hl_field(MR_mktag(1), ssdb__V_89_89, 1) = ((MR_Box) (ssdb__Frames_86));
#line 1048 "ssdb.m"
                    }
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_nondet_2_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 39822 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_nondet_2_p_0

	MR_Word X;

	X =  ssdb__V_89_89 ;
		{
#line 301 "ssdb.m"
ssdb__mutable_variable_shadow_stack = X;

#line 39839 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_nondet_2_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 39857 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 1046 "ssdb.m"
                  }
#line 686 "ssdb.m"
                {
#line 686 "ssdb.m"
                  ssdb__save_streams_2_p_0();
                }
#line 687 "ssdb.m"
                {
#line 687 "ssdb.m"
                  ssdb__print_event_info_4_p_0((MR_Integer) 4, ssdb__EventNum_29);
                }
#line 688 "ssdb.m"
                {
#line 688 "ssdb.m"
                  ssdb__read_and_execute_cmd_5_p_0((MR_Integer) 4, (MR_Integer) 0, &ssdb__WhatNext_33);
                }
#line 689 "ssdb.m"
                {
#line 689 "ssdb.m"
                  ssdb__restore_streams_2_p_0();
                }
#line 682 "ssdb.m"
              }
#line 681 "ssdb.m"
            else
#line 680 "ssdb.m"
              {
#line 680 "ssdb.m"
                ssdb__WhatNext_33 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 680 "ssdb.m"
                MR_hl_field(MR_mktag(2), ssdb__WhatNext_33, 0) = ((MR_Box) (ssdb__CSN_30));
#line 680 "ssdb.m"
              }
#line 691 "ssdb.m"
            {
#line 691 "ssdb.m"
              ssdb__update_next_stop_6_p_0(ssdb__EventNum_29, ssdb__CSN_30, ssdb__WhatNext_33, &ssdb___Retry_105);
            }
#line 677 "ssdb.m"
          }
#line 696 "ssdb.m"
        {
#line 696 "ssdb.m"
          ssdb__stack_pop_2_p_0();
        }
#line 657 "ssdb.m"
      }
#line 3462 "ssdb.m"
    {
#line 3462 "ssdb.m"
      mercury__builtin__impure_true_0_p_0();
#line 3462 "ssdb.m"
      return;
    }
#line 654 "ssdb.m"
  }
#line 98 "ssdb.m"
}

#line 93 "ssdb.m"
void MR_CALL 
ssdb__handle_event_exit_3_p_0(
#line 93 "ssdb.m"
  MR_Word ssdb__ProcId_4,
#line 93 "ssdb.m"
  MR_Word ssdb__ListVarValue_5,
#line 93 "ssdb.m"
  MR_Word * ssdb__Retry_6)
#line 93 "ssdb.m"
{
#line 640 "ssdb.m"
  {
#line 640 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 640 "ssdb.m"
    MR_Word ssdb__DebuggerState_8;

#line 3455 "ssdb.m"
    mercury__private_builtin__dummy_var = mercury__private_builtin__dummy_var;
#line 3456 "ssdb.m"
    {
#line 3456 "ssdb.m"
      mercury__builtin__impure_true_0_p_0();
    }
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_3_p_0


		{
#line 357 "ssdb.m"

#line 39956 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_3_p_0

	MR_Word X;

		{
#line 357 "ssdb.m"
MR_get_thread_local_mutable(MR_Word, X, ssdb__mutable_variable_debugger_state);

#line 39972 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__DebuggerState_8  = X;
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_3_p_0


		{
#line 357 "ssdb.m"

#line 39987 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 645 "ssdb.m"
    if ((ssdb__DebuggerState_8 == (MR_Integer) 0))
#line 647 "ssdb.m"
      *ssdb__Retry_6 = (MR_Integer) 1;
#line 645 "ssdb.m"
    else
#line 643 "ssdb.m"
      {
#line 643 "ssdb.m"
        MR_Integer ssdb__EventNum_30;
#line 643 "ssdb.m"
        MR_Integer ssdb__CSN_31;
#line 643 "ssdb.m"
        MR_Word ssdb__Stop_32;
#line 643 "ssdb.m"
        MR_Word ssdb__AutoRetry_33;
#line 643 "ssdb.m"
        MR_Integer ssdb__EventNum0_50;
#line 643 "ssdb.m"
        MR_Word ssdb__Frame_62;
#line 643 "ssdb.m"
        MR_Word ssdb__Stack_75;
#line 989 "ssdb.m"
        MR_Integer ssdb__V_64_64;
#line 989 "ssdb.m"
        MR_Integer ssdb__V_65_65;
#line 989 "ssdb.m"
        MR_Word ssdb__V_66_66;
#line 989 "ssdb.m"
        MR_String ssdb__V_67_67;
#line 989 "ssdb.m"
        MR_Integer ssdb__V_68_68;
#line 989 "ssdb.m"
        MR_Word ssdb__V_69_69;
#line 989 "ssdb.m"
        MR_Word ssdb__V_70_70;

#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 40042 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_3_p_0

	MR_Integer X;

		{
#line 292 "ssdb.m"
X = ssdb__mutable_variable_cur_ssdb_event_number;

#line 40058 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__EventNum0_50  = X;
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 40077 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 969 "ssdb.m"
        ssdb__EventNum_30 = (ssdb__EventNum0_50 + (MR_Integer) 1);
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 40097 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_3_p_0

	MR_Integer X;

	X =  ssdb__EventNum_30 ;
		{
#line 292 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_event_number = X;

#line 40114 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 40132 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 40150 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_3_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 40166 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_75  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 40185 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 981 "ssdb.m"
        if ((ssdb__Stack_75 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 979 "ssdb.m"
          {
#line 980 "ssdb.m"
            {
#line 980 "ssdb.m"
              mercury__require__error_1_p_0((MR_String) "ssdb: stack_top on empty stack");
#line 980 "ssdb.m"
              return;
            }
#line 979 "ssdb.m"
          }
#line 981 "ssdb.m"
        else
#line 982 "ssdb.m"
          {
#line 982 "ssdb.m"
            MR_Word ssdb__V_76_76;

#line 982 "ssdb.m"
            ssdb__Frame_62 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_75, (MR_Integer) 0)));
#line 982 "ssdb.m"
            ssdb__V_76_76 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack_75, (MR_Integer) 1)));
#line 982 "ssdb.m"
          }
#line 989 "ssdb.m"
        ssdb__V_64_64 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_62, (MR_Integer) 0)));
#line 989 "ssdb.m"
        ssdb__CSN_31 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_62, (MR_Integer) 1)));
#line 989 "ssdb.m"
        ssdb__V_65_65 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_62, (MR_Integer) 2)));
#line 989 "ssdb.m"
        ssdb__V_66_66 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_62, (MR_Integer) 3)));
#line 989 "ssdb.m"
        ssdb__V_67_67 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Frame_62, (MR_Integer) 4)));
#line 989 "ssdb.m"
        ssdb__V_68_68 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame_62, (MR_Integer) 5)));
#line 989 "ssdb.m"
        ssdb__V_69_69 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_62, (MR_Integer) 6)));
#line 989 "ssdb.m"
        ssdb__V_70_70 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame_62, (MR_Integer) 7)));
#line 674 "ssdb.m"
        {
#line 674 "ssdb.m"
          ssdb__should_stop_at_this_event_8_p_0((MR_Integer) 1, ssdb__EventNum_30, ssdb__CSN_31, ssdb__ProcId_4, &ssdb__Stop_32, &ssdb__AutoRetry_33);
        }
#line 692 "ssdb.m"
        if ((ssdb__Stop_32 == (MR_Integer) 0))
#line 694 "ssdb.m"
          *ssdb__Retry_6 = (MR_Integer) 1;
#line 692 "ssdb.m"
        else
#line 677 "ssdb.m"
          {
#line 677 "ssdb.m"
            MR_Word ssdb__WhatNext_34;

#line 681 "ssdb.m"
            if ((ssdb__AutoRetry_33 == (MR_Integer) 1))
#line 682 "ssdb.m"
              {
#line 682 "ssdb.m"
                MR_Word ssdb__Stack0_85;

#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 40268 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_3_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 40284 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack0_85  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 40303 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 1045 "ssdb.m"
                if ((ssdb__Stack0_85 == ((MR_Word) MR_mkword(MR_mktag(0), MR_mkbody((MR_Integer) 0)))))
#line 1043 "ssdb.m"
                  {
#line 1044 "ssdb.m"
                    {
#line 1044 "ssdb.m"
                      mercury__require__error_1_p_0((MR_String) "ssdb: update_top_var_list on empty stack");
#line 1044 "ssdb.m"
                      return;
                    }
#line 1043 "ssdb.m"
                  }
#line 1045 "ssdb.m"
                else
#line 1046 "ssdb.m"
                  {
#line 1046 "ssdb.m"
                    MR_Word ssdb__Frame0_86 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack0_85, (MR_Integer) 0)));
#line 1046 "ssdb.m"
                    MR_Word ssdb__Frames_87 = ((MR_Word) (MR_hl_field(MR_mktag(1), ssdb__Stack0_85, (MR_Integer) 1)));
#line 1046 "ssdb.m"
                    MR_Word ssdb__Frame_88;
#line 1046 "ssdb.m"
                    MR_Word ssdb__V_90_90;
#line 1047 "ssdb.m"
                    MR_Integer ssdb__V_93_93 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame0_86, (MR_Integer) 0)));
#line 1047 "ssdb.m"
                    MR_Integer ssdb__V_94_94 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame0_86, (MR_Integer) 1)));
#line 1047 "ssdb.m"
                    MR_Integer ssdb__V_95_95 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame0_86, (MR_Integer) 2)));
#line 1047 "ssdb.m"
                    MR_Word ssdb__V_96_96 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame0_86, (MR_Integer) 3)));
#line 1047 "ssdb.m"
                    MR_String ssdb__V_97_97 = ((MR_String) (MR_hl_field(MR_mktag(0), ssdb__Frame0_86, (MR_Integer) 4)));
#line 1047 "ssdb.m"
                    MR_Integer ssdb__V_98_98 = ((MR_Integer) (MR_hl_field(MR_mktag(0), ssdb__Frame0_86, (MR_Integer) 5)));
#line 1047 "ssdb.m"
                    MR_Word ssdb__V_100_100 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame0_86, (MR_Integer) 7)));
#line 1047 "ssdb.m"
                    MR_Word ssdb__V_99_99 = ((MR_Word) (MR_hl_field(MR_mktag(0), ssdb__Frame0_86, (MR_Integer) 6)));

#line 1047 "ssdb.m"
                    {
#line 1047 "ssdb.m"
                      ssdb__Frame_88 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 8 * sizeof(MR_Word)), NULL, NULL);
#line 1047 "ssdb.m"
                      MR_hl_field(MR_mktag(0), ssdb__Frame_88, 0) = ((MR_Box) (ssdb__V_93_93));
#line 1047 "ssdb.m"
                      MR_hl_field(MR_mktag(0), ssdb__Frame_88, 1) = ((MR_Box) (ssdb__V_94_94));
#line 1047 "ssdb.m"
                      MR_hl_field(MR_mktag(0), ssdb__Frame_88, 2) = ((MR_Box) (ssdb__V_95_95));
#line 1047 "ssdb.m"
                      MR_hl_field(MR_mktag(0), ssdb__Frame_88, 3) = ((MR_Box) (ssdb__V_96_96));
#line 1047 "ssdb.m"
                      MR_hl_field(MR_mktag(0), ssdb__Frame_88, 4) = ((MR_Box) (ssdb__V_97_97));
#line 1047 "ssdb.m"
                      MR_hl_field(MR_mktag(0), ssdb__Frame_88, 5) = ((MR_Box) (ssdb__V_98_98));
#line 1047 "ssdb.m"
                      MR_hl_field(MR_mktag(0), ssdb__Frame_88, 6) = ((MR_Box) (ssdb__ListVarValue_5));
#line 1047 "ssdb.m"
                      MR_hl_field(MR_mktag(0), ssdb__Frame_88, 7) = ((MR_Box) (ssdb__V_100_100));
#line 1047 "ssdb.m"
                    }
#line 1048 "ssdb.m"
                    {
#line 1048 "ssdb.m"
                      ssdb__V_90_90 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1048 "ssdb.m"
                      MR_hl_field(MR_mktag(1), ssdb__V_90_90, 0) = ((MR_Box) (ssdb__Frame_88));
#line 1048 "ssdb.m"
                      MR_hl_field(MR_mktag(1), ssdb__V_90_90, 1) = ((MR_Box) (ssdb__Frames_87));
#line 1048 "ssdb.m"
                    }
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 40395 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_3_p_0

	MR_Word X;

	X =  ssdb__V_90_90 ;
		{
#line 301 "ssdb.m"
ssdb__mutable_variable_shadow_stack = X;

#line 40412 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_exit_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 40430 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 1046 "ssdb.m"
                  }
#line 686 "ssdb.m"
                {
#line 686 "ssdb.m"
                  ssdb__save_streams_2_p_0();
                }
#line 687 "ssdb.m"
                {
#line 687 "ssdb.m"
                  ssdb__print_event_info_4_p_0((MR_Integer) 1, ssdb__EventNum_30);
                }
#line 688 "ssdb.m"
                {
#line 688 "ssdb.m"
                  ssdb__read_and_execute_cmd_5_p_0((MR_Integer) 1, (MR_Integer) 0, &ssdb__WhatNext_34);
                }
#line 689 "ssdb.m"
                {
#line 689 "ssdb.m"
                  ssdb__restore_streams_2_p_0();
                }
#line 682 "ssdb.m"
              }
#line 681 "ssdb.m"
            else
#line 680 "ssdb.m"
              {
#line 680 "ssdb.m"
                ssdb__WhatNext_34 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, ((MR_Integer) 1 * sizeof(MR_Word)), NULL, NULL));
#line 680 "ssdb.m"
                MR_hl_field(MR_mktag(2), ssdb__WhatNext_34, 0) = ((MR_Box) (ssdb__CSN_31));
#line 680 "ssdb.m"
              }
#line 691 "ssdb.m"
            {
#line 691 "ssdb.m"
              ssdb__update_next_stop_6_p_0(ssdb__EventNum_30, ssdb__CSN_31, ssdb__WhatNext_34, ssdb__Retry_6);
            }
#line 677 "ssdb.m"
          }
#line 696 "ssdb.m"
        {
#line 696 "ssdb.m"
          ssdb__stack_pop_2_p_0();
        }
#line 643 "ssdb.m"
      }
#line 3462 "ssdb.m"
    {
#line 3462 "ssdb.m"
      mercury__builtin__impure_true_0_p_0();
#line 3462 "ssdb.m"
      return;
    }
#line 640 "ssdb.m"
  }
#line 93 "ssdb.m"
}

#line 88 "ssdb.m"
void MR_CALL 
ssdb__handle_event_call_nondet_3_p_0(
#line 88 "ssdb.m"
  MR_Word ssdb__ProcId_4,
#line 88 "ssdb.m"
  MR_Word ssdb__ListVarValue_5,
#line 88 "ssdb.m"
  MR_Word ssdb__Level_6)
#line 88 "ssdb.m"
{
#line 587 "ssdb.m"
  {
#line 587 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 587 "ssdb.m"
    MR_Word ssdb__DebuggerState_8;

#line 3455 "ssdb.m"
    mercury__private_builtin__dummy_var = mercury__private_builtin__dummy_var;
#line 3456 "ssdb.m"
    {
#line 3456 "ssdb.m"
      mercury__builtin__impure_true_0_p_0();
    }
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 357 "ssdb.m"

#line 40529 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0

	MR_Word X;

		{
#line 357 "ssdb.m"
MR_get_thread_local_mutable(MR_Word, X, ssdb__mutable_variable_debugger_state);

#line 40545 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__DebuggerState_8  = X;
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 357 "ssdb.m"

#line 40560 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 593 "ssdb.m"
    if ((ssdb__DebuggerState_8 == (MR_Integer) 0))
#line 594 "ssdb.m"
      {
#line 594 "ssdb.m"
      }
#line 593 "ssdb.m"
    else
#line 590 "ssdb.m"
      {
#line 590 "ssdb.m"
        MR_Integer ssdb__EventNum_30;
#line 590 "ssdb.m"
        MR_Integer ssdb__CSN_31;
#line 590 "ssdb.m"
        MR_Integer ssdb__OldDepth_32;
#line 590 "ssdb.m"
        MR_Integer ssdb__Depth_33;
#line 590 "ssdb.m"
        MR_String ssdb__SiteFile_34;
#line 590 "ssdb.m"
        MR_Integer ssdb__SiteLine_35;
#line 590 "ssdb.m"
        MR_Word ssdb__StackFrame_36;
#line 590 "ssdb.m"
        MR_Word ssdb__Stop_37;
#line 590 "ssdb.m"
        MR_Integer ssdb__EventNum0_60;
#line 590 "ssdb.m"
        MR_Integer ssdb__CSN0_72;
#line 590 "ssdb.m"
        MR_Word ssdb__Stack_95;
#line 590 "ssdb.m"
        MR_Integer ssdb__Depth_96;
#line 590 "ssdb.m"
        MR_Word ssdb__V_98_98;
#line 590 "ssdb.m"
        MR_Integer ssdb__V_101_101;
#line 623 "ssdb.m"
        MR_Word ssdb___AutoRetry_38;

#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 40619 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0

	MR_Integer X;

		{
#line 292 "ssdb.m"
X = ssdb__mutable_variable_cur_ssdb_event_number;

#line 40635 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__EventNum0_60  = X;
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 40654 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 969 "ssdb.m"
        ssdb__EventNum_30 = (ssdb__EventNum0_60 + (MR_Integer) 1);
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 40674 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0

	MR_Integer X;

	X =  ssdb__EventNum_30 ;
		{
#line 292 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_event_number = X;

#line 40691 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 40709 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 295 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_csn_lock,
                "ssdb__mutable_variable_cur_ssdb_csn_lock");
#endif

#line 40727 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0

	MR_Integer X;

		{
#line 295 "ssdb.m"
X = ssdb__mutable_variable_cur_ssdb_csn;

#line 40743 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__CSN0_72  = X;
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 295 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_csn_lock,
                "ssdb__mutable_variable_cur_ssdb_csn_lock");
#endif

#line 40762 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 960 "ssdb.m"
        ssdb__CSN_31 = (ssdb__CSN0_72 + (MR_Integer) 1);
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 295 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_csn_lock,
                "ssdb__mutable_variable_cur_ssdb_csn_lock");
#endif

#line 40782 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0

	MR_Integer X;

	X =  ssdb__CSN_31 ;
		{
#line 295 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_csn = X;

#line 40799 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 295 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_csn_lock,
                "ssdb__mutable_variable_cur_ssdb_csn_lock");
#endif

#line 40817 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 40835 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0

	MR_Integer X;

		{
#line 303 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack_depth;

#line 40851 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__OldDepth_32  = X;
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 40870 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 608 "ssdb.m"
        ssdb__Depth_33 = (ssdb__OldDepth_32 + (MR_Integer) 1);
#line 287 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 287 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_filename_lock,
                "ssdb__mutable_variable_cur_filename_lock");
#endif

#line 40890 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 287 "ssdb.m"
}
#line 287 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0

	MR_String X;

		{
#line 287 "ssdb.m"
X = ssdb__mutable_variable_cur_filename;

#line 40906 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__SiteFile_34  = X;
#line 287 "ssdb.m"
}
#line 287 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 287 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_filename_lock,
                "ssdb__mutable_variable_cur_filename_lock");
#endif

#line 40925 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 287 "ssdb.m"
}
#line 289 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 289 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_line_number_lock,
                "ssdb__mutable_variable_cur_line_number_lock");
#endif

#line 40943 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 289 "ssdb.m"
}
#line 289 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0

	MR_Integer X;

		{
#line 289 "ssdb.m"
X = ssdb__mutable_variable_cur_line_number;

#line 40959 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__SiteLine_35  = X;
#line 289 "ssdb.m"
}
#line 289 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 289 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_line_number_lock,
                "ssdb__mutable_variable_cur_line_number_lock");
#endif

#line 40978 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 289 "ssdb.m"
}
#line 613 "ssdb.m"
        {
#line 613 "ssdb.m"
          ssdb__StackFrame_36 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 8 * sizeof(MR_Word)), NULL, NULL);
#line 613 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__StackFrame_36, 0) = ((MR_Box) (ssdb__EventNum_30));
#line 613 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__StackFrame_36, 1) = ((MR_Box) (ssdb__CSN_31));
#line 613 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__StackFrame_36, 2) = ((MR_Box) (ssdb__Depth_33));
#line 613 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__StackFrame_36, 3) = ((MR_Box) (ssdb__ProcId_4));
#line 613 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__StackFrame_36, 4) = ((MR_Box) (ssdb__SiteFile_34));
#line 613 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__StackFrame_36, 5) = ((MR_Box) (ssdb__SiteLine_35));
#line 613 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__StackFrame_36, 6) = ((MR_Box) (ssdb__ListVarValue_5));
#line 613 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__StackFrame_36, 7) = ((MR_Box) (ssdb__Level_6));
#line 613 "ssdb.m"
        }
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 41018 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 41034 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_95  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 41053 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 1006 "ssdb.m"
        {
#line 1006 "ssdb.m"
          ssdb__V_98_98 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1006 "ssdb.m"
          MR_hl_field(MR_mktag(1), ssdb__V_98_98, 0) = ((MR_Box) (ssdb__StackFrame_36));
#line 1006 "ssdb.m"
          MR_hl_field(MR_mktag(1), ssdb__V_98_98, 1) = ((MR_Box) (ssdb__Stack_95));
#line 1006 "ssdb.m"
        }
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 41081 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0

	MR_Word X;

	X =  ssdb__V_98_98 ;
		{
#line 301 "ssdb.m"
ssdb__mutable_variable_shadow_stack = X;

#line 41098 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 41116 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 41134 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0

	MR_Integer X;

		{
#line 303 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack_depth;

#line 41150 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Depth_96  = X;
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 41169 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 1008 "ssdb.m"
        ssdb__V_101_101 = (ssdb__Depth_96 + (MR_Integer) 1);
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 41189 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0

	MR_Integer X;

	X =  ssdb__V_101_101 ;
		{
#line 303 "ssdb.m"
ssdb__mutable_variable_shadow_stack_depth = X;

#line 41206 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_nondet_3_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 41224 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 620 "ssdb.m"
        {
#line 620 "ssdb.m"
          ssdb__nondet_stack_push_3_p_0(ssdb__StackFrame_36);
        }
#line 623 "ssdb.m"
        {
#line 623 "ssdb.m"
          ssdb__should_stop_at_this_event_8_p_0((MR_Integer) 3, ssdb__EventNum_30, ssdb__CSN_31, ssdb__ProcId_4, &ssdb__Stop_37, &ssdb___AutoRetry_38);
        }
#line 632 "ssdb.m"
        if ((ssdb__Stop_37 == (MR_Integer) 0))
#line 633 "ssdb.m"
          {
#line 633 "ssdb.m"
          }
#line 632 "ssdb.m"
        else
#line 626 "ssdb.m"
          {
#line 626 "ssdb.m"
            MR_Word ssdb__WhatNext_39;
#line 630 "ssdb.m"
            MR_Word ssdb___Retry_40;

#line 627 "ssdb.m"
            {
#line 627 "ssdb.m"
              ssdb__save_streams_2_p_0();
            }
#line 628 "ssdb.m"
            {
#line 628 "ssdb.m"
              ssdb__print_event_info_4_p_0((MR_Integer) 3, ssdb__EventNum_30);
            }
#line 629 "ssdb.m"
            {
#line 629 "ssdb.m"
              ssdb__read_and_execute_cmd_5_p_0((MR_Integer) 3, (MR_Integer) 0, &ssdb__WhatNext_39);
            }
#line 630 "ssdb.m"
            {
#line 630 "ssdb.m"
              ssdb__update_next_stop_6_p_0(ssdb__EventNum_30, ssdb__CSN_31, ssdb__WhatNext_39, &ssdb___Retry_40);
            }
#line 631 "ssdb.m"
            {
#line 631 "ssdb.m"
              ssdb__restore_streams_2_p_0();
            }
#line 626 "ssdb.m"
          }
#line 590 "ssdb.m"
      }
#line 3462 "ssdb.m"
    {
#line 3462 "ssdb.m"
      mercury__builtin__impure_true_0_p_0();
#line 3462 "ssdb.m"
      return;
    }
#line 587 "ssdb.m"
  }
#line 88 "ssdb.m"
}

#line 83 "ssdb.m"
void MR_CALL 
ssdb__handle_event_call_3_p_0(
#line 83 "ssdb.m"
  MR_Word ssdb__ProcId_4,
#line 83 "ssdb.m"
  MR_Word ssdb__ListVarValue_5,
#line 83 "ssdb.m"
  MR_Word ssdb__Level_6)
#line 83 "ssdb.m"
{
#line 574 "ssdb.m"
  {
#line 574 "ssdb.m"
    MR_bool ssdb__succeeded;
#line 574 "ssdb.m"
    MR_Word ssdb__DebuggerState_8;

#line 3455 "ssdb.m"
    mercury__private_builtin__dummy_var = mercury__private_builtin__dummy_var;
#line 3456 "ssdb.m"
    {
#line 3456 "ssdb.m"
      mercury__builtin__impure_true_0_p_0();
    }
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 357 "ssdb.m"

#line 41329 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0

	MR_Word X;

		{
#line 357 "ssdb.m"
MR_get_thread_local_mutable(MR_Word, X, ssdb__mutable_variable_debugger_state);

#line 41345 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__DebuggerState_8  = X;
#line 357 "ssdb.m"
}
#line 357 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 357 "ssdb.m"

#line 41360 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 357 "ssdb.m"
}
#line 579 "ssdb.m"
    if ((ssdb__DebuggerState_8 == (MR_Integer) 0))
#line 580 "ssdb.m"
      {
#line 580 "ssdb.m"
      }
#line 579 "ssdb.m"
    else
#line 577 "ssdb.m"
      {
#line 577 "ssdb.m"
        MR_Integer ssdb__EventNum_30;
#line 577 "ssdb.m"
        MR_Integer ssdb__CSN_31;
#line 577 "ssdb.m"
        MR_Integer ssdb__OldDepth_32;
#line 577 "ssdb.m"
        MR_Integer ssdb__Depth_33;
#line 577 "ssdb.m"
        MR_String ssdb__SiteFile_34;
#line 577 "ssdb.m"
        MR_Integer ssdb__SiteLine_35;
#line 577 "ssdb.m"
        MR_Word ssdb__StackFrame_36;
#line 577 "ssdb.m"
        MR_Word ssdb__Stop_37;
#line 577 "ssdb.m"
        MR_Integer ssdb__EventNum0_60;
#line 577 "ssdb.m"
        MR_Integer ssdb__CSN0_72;
#line 577 "ssdb.m"
        MR_Word ssdb__Stack_95;
#line 577 "ssdb.m"
        MR_Integer ssdb__Depth_96;
#line 577 "ssdb.m"
        MR_Word ssdb__V_98_98;
#line 577 "ssdb.m"
        MR_Integer ssdb__V_101_101;
#line 623 "ssdb.m"
        MR_Word ssdb___AutoRetry_38;

#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 41419 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0

	MR_Integer X;

		{
#line 292 "ssdb.m"
X = ssdb__mutable_variable_cur_ssdb_event_number;

#line 41435 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__EventNum0_60  = X;
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 41454 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 969 "ssdb.m"
        ssdb__EventNum_30 = (ssdb__EventNum0_60 + (MR_Integer) 1);
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 41474 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0

	MR_Integer X;

	X =  ssdb__EventNum_30 ;
		{
#line 292 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_event_number = X;

#line 41491 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 292 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 292 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_event_number_lock,
                "ssdb__mutable_variable_cur_ssdb_event_number_lock");
#endif

#line 41509 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 292 "ssdb.m"
}
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 295 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_csn_lock,
                "ssdb__mutable_variable_cur_ssdb_csn_lock");
#endif

#line 41527 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0

	MR_Integer X;

		{
#line 295 "ssdb.m"
X = ssdb__mutable_variable_cur_ssdb_csn;

#line 41543 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__CSN0_72  = X;
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 295 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_csn_lock,
                "ssdb__mutable_variable_cur_ssdb_csn_lock");
#endif

#line 41562 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 960 "ssdb.m"
        ssdb__CSN_31 = (ssdb__CSN0_72 + (MR_Integer) 1);
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 295 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_ssdb_csn_lock,
                "ssdb__mutable_variable_cur_ssdb_csn_lock");
#endif

#line 41582 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0

	MR_Integer X;

	X =  ssdb__CSN_31 ;
		{
#line 295 "ssdb.m"
ssdb__mutable_variable_cur_ssdb_csn = X;

#line 41599 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 295 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 295 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_ssdb_csn_lock,
                "ssdb__mutable_variable_cur_ssdb_csn_lock");
#endif

#line 41617 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 295 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 41635 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0

	MR_Integer X;

		{
#line 303 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack_depth;

#line 41651 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__OldDepth_32  = X;
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 41670 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 608 "ssdb.m"
        ssdb__Depth_33 = (ssdb__OldDepth_32 + (MR_Integer) 1);
#line 287 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 287 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_filename_lock,
                "ssdb__mutable_variable_cur_filename_lock");
#endif

#line 41690 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 287 "ssdb.m"
}
#line 287 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0

	MR_String X;

		{
#line 287 "ssdb.m"
X = ssdb__mutable_variable_cur_filename;

#line 41706 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__SiteFile_34  = X;
#line 287 "ssdb.m"
}
#line 287 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 287 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_filename_lock,
                "ssdb__mutable_variable_cur_filename_lock");
#endif

#line 41725 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 287 "ssdb.m"
}
#line 289 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 289 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_line_number_lock,
                "ssdb__mutable_variable_cur_line_number_lock");
#endif

#line 41743 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 289 "ssdb.m"
}
#line 289 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0

	MR_Integer X;

		{
#line 289 "ssdb.m"
X = ssdb__mutable_variable_cur_line_number;

#line 41759 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__SiteLine_35  = X;
#line 289 "ssdb.m"
}
#line 289 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 289 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_line_number_lock,
                "ssdb__mutable_variable_cur_line_number_lock");
#endif

#line 41778 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 289 "ssdb.m"
}
#line 613 "ssdb.m"
        {
#line 613 "ssdb.m"
          ssdb__StackFrame_36 = (MR_Word) MR_new_object(MR_Word, ((MR_Integer) 8 * sizeof(MR_Word)), NULL, NULL);
#line 613 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__StackFrame_36, 0) = ((MR_Box) (ssdb__EventNum_30));
#line 613 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__StackFrame_36, 1) = ((MR_Box) (ssdb__CSN_31));
#line 613 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__StackFrame_36, 2) = ((MR_Box) (ssdb__Depth_33));
#line 613 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__StackFrame_36, 3) = ((MR_Box) (ssdb__ProcId_4));
#line 613 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__StackFrame_36, 4) = ((MR_Box) (ssdb__SiteFile_34));
#line 613 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__StackFrame_36, 5) = ((MR_Box) (ssdb__SiteLine_35));
#line 613 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__StackFrame_36, 6) = ((MR_Box) (ssdb__ListVarValue_5));
#line 613 "ssdb.m"
          MR_hl_field(MR_mktag(0), ssdb__StackFrame_36, 7) = ((MR_Box) (ssdb__Level_6));
#line 613 "ssdb.m"
        }
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 41818 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0

	MR_Word X;

		{
#line 301 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack;

#line 41834 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Stack_95  = X;
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 41853 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 1006 "ssdb.m"
        {
#line 1006 "ssdb.m"
          ssdb__V_98_98 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, ((MR_Integer) 2 * sizeof(MR_Word)), NULL, NULL));
#line 1006 "ssdb.m"
          MR_hl_field(MR_mktag(1), ssdb__V_98_98, 0) = ((MR_Box) (ssdb__StackFrame_36));
#line 1006 "ssdb.m"
          MR_hl_field(MR_mktag(1), ssdb__V_98_98, 1) = ((MR_Box) (ssdb__Stack_95));
#line 1006 "ssdb.m"
        }
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 41881 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0

	MR_Word X;

	X =  ssdb__V_98_98 ;
		{
#line 301 "ssdb.m"
ssdb__mutable_variable_shadow_stack = X;

#line 41898 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 301 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 301 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_lock,
                "ssdb__mutable_variable_shadow_stack_lock");
#endif

#line 41916 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 301 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 41934 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0

	MR_Integer X;

		{
#line 303 "ssdb.m"
X = ssdb__mutable_variable_shadow_stack_depth;

#line 41950 "ssdb.c"

		;}
#undef MR_PROC_LABEL
	 ssdb__Depth_96  = X;
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 41969 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 1008 "ssdb.m"
        ssdb__V_101_101 = (ssdb__Depth_96 + (MR_Integer) 1);
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 41989 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0

	MR_Integer X;

	X =  ssdb__V_101_101 ;
		{
#line 303 "ssdb.m"
ssdb__mutable_variable_shadow_stack_depth = X;

#line 42006 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 303 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__handle_event_call_3_p_0


		{
#line 303 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_shadow_stack_depth_lock,
                "ssdb__mutable_variable_shadow_stack_depth_lock");
#endif

#line 42024 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 303 "ssdb.m"
}
#line 623 "ssdb.m"
        {
#line 623 "ssdb.m"
          ssdb__should_stop_at_this_event_8_p_0((MR_Integer) 0, ssdb__EventNum_30, ssdb__CSN_31, ssdb__ProcId_4, &ssdb__Stop_37, &ssdb___AutoRetry_38);
        }
#line 632 "ssdb.m"
        if ((ssdb__Stop_37 == (MR_Integer) 0))
#line 633 "ssdb.m"
          {
#line 633 "ssdb.m"
          }
#line 632 "ssdb.m"
        else
#line 626 "ssdb.m"
          {
#line 626 "ssdb.m"
            MR_Word ssdb__WhatNext_39;
#line 630 "ssdb.m"
            MR_Word ssdb___Retry_40;

#line 627 "ssdb.m"
            {
#line 627 "ssdb.m"
              ssdb__save_streams_2_p_0();
            }
#line 628 "ssdb.m"
            {
#line 628 "ssdb.m"
              ssdb__print_event_info_4_p_0((MR_Integer) 0, ssdb__EventNum_30);
            }
#line 629 "ssdb.m"
            {
#line 629 "ssdb.m"
              ssdb__read_and_execute_cmd_5_p_0((MR_Integer) 0, (MR_Integer) 0, &ssdb__WhatNext_39);
            }
#line 630 "ssdb.m"
            {
#line 630 "ssdb.m"
              ssdb__update_next_stop_6_p_0(ssdb__EventNum_30, ssdb__CSN_31, ssdb__WhatNext_39, &ssdb___Retry_40);
            }
#line 631 "ssdb.m"
            {
#line 631 "ssdb.m"
              ssdb__restore_streams_2_p_0();
            }
#line 626 "ssdb.m"
          }
#line 577 "ssdb.m"
      }
#line 3462 "ssdb.m"
    {
#line 3462 "ssdb.m"
      mercury__builtin__impure_true_0_p_0();
#line 3462 "ssdb.m"
      return;
    }
#line 574 "ssdb.m"
  }
#line 83 "ssdb.m"
}

#line 79 "ssdb.m"
void MR_CALL 
ssdb__set_context_2_p_0(
#line 79 "ssdb.m"
  MR_String ssdb__FileName_3,
#line 79 "ssdb.m"
  MR_Integer ssdb__Line_4)
#line 79 "ssdb.m"
{
#line 566 "ssdb.m"
  {
#line 566 "ssdb.m"
    MR_bool ssdb__succeeded;

#line 287 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__set_context_2_p_0


		{
#line 287 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_filename_lock,
                "ssdb__mutable_variable_cur_filename_lock");
#endif

#line 42117 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 287 "ssdb.m"
}
#line 287 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__set_context_2_p_0

	MR_String X;

	X =  ssdb__FileName_3 ;
		{
#line 287 "ssdb.m"
ssdb__mutable_variable_cur_filename = X;

#line 42134 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 287 "ssdb.m"
}
#line 287 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__set_context_2_p_0


		{
#line 287 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_filename_lock,
                "ssdb__mutable_variable_cur_filename_lock");
#endif

#line 42152 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 287 "ssdb.m"
}
#line 289 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__set_context_2_p_0


		{
#line 289 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_LOCK(&ssdb__mutable_variable_cur_line_number_lock,
                "ssdb__mutable_variable_cur_line_number_lock");
#endif

#line 42170 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 289 "ssdb.m"
}
#line 289 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__set_context_2_p_0

	MR_Integer X;

	X =  ssdb__Line_4 ;
		{
#line 289 "ssdb.m"
ssdb__mutable_variable_cur_line_number = X;

#line 42187 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 289 "ssdb.m"
}
#line 289 "ssdb.m"
{
#define MR_PROC_LABEL ssdb__set_context_2_p_0


		{
#line 289 "ssdb.m"
#ifdef MR_THREAD_SAFE
  MR_UNLOCK(&ssdb__mutable_variable_cur_line_number_lock,
                "ssdb__mutable_variable_cur_line_number_lock");
#endif

#line 42205 "ssdb.c"

		;}
#undef MR_PROC_LABEL
#line 289 "ssdb.m"
}
#line 566 "ssdb.m"
  }
#line 79 "ssdb.m"
}

void mercury__ssdb__init(void)
{
}

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

	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_bp_state_0);
	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_breakpoint_0);
	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_breakpoints_map_0);
	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_debugger_state_0);
	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_debugging_paused_0);
	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_format_config_0);
	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_list_params_0);
	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_list_var_value_0);
	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_next_stop_0);
	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_pos_0);
	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_ssdb_cmd_0);
	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_ssdb_event_type_0);
	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_ssdb_proc_id_0);
	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_ssdb_retry_0);
	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_ssdb_tracing_level_0);
	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_stack_frame_0);
	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_var_name_0);
	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_var_value_0);
	MR_register_type_ctor_info(&ssdb__ssdb__type_ctor_info_what_next_0);
}

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

void mercury__ssdb__required_init(void)
{
	ssdb__user_init_pred_0();
	ssdb__user_init_pred_1();
	ssdb__user_init_pred_2();
	ssdb__user_init_pred_3();
	ssdb__user_init_pred_4();
	ssdb__user_init_pred_5();
	ssdb__user_init_pred_6();
	ssdb__user_init_pred_7();
	ssdb__user_init_pred_8();
	ssdb__user_init_pred_9();
	ssdb__user_init_pred_10();
	ssdb__user_init_pred_11();
	ssdb__user_init_pred_12();
	ssdb__user_init_pred_13();
	ssdb__user_init_pred_14();
	ssdb__user_init_pred_15();
	ssdb__user_init_pred_16();
	ssdb__user_init_pred_17();
	ssdb__user_init_pred_18();
	ssdb__user_init_pred_19();
	ssdb__user_init_pred_20();
}

/* ensure everything is compiled with the same grade */
static const void *const MR_grade = &MR_GRADE_VAR;

/* :- end_module ssdb. */
