/*
** Automatically generated from `query.m' by the
** Mercury compiler, version 0.5-beta. Do not edit.
*/
/*
INIT mercury__query__init
ENDINIT
*/
#include "imp.h"
Define_extern_entry(mercury__benchmark_1_0);
Define_extern_entry(mercury__main_2_0);
Declare_label(mercury__main_2_0_i3);
Declare_label(mercury__main_2_0_i4);
Declare_label(mercury__main_2_0_i5);
Declare_label(mercury__main_2_0_i6);
Declare_label(mercury__main_2_0_i7);
Declare_label(mercury__main_2_0_i8);
Declare_label(mercury__main_2_0_i9);
Declare_label(mercury__main_2_0_i10);
Declare_label(mercury__main_2_0_i11);
Declare_label(mercury__main_2_0_i12);
Declare_label(mercury__main_2_0_i2);
Declare_label(mercury__main_2_0_i13);
Declare_local(mercury__query_1_0_l);
Declare_label(mercury__query_1_0_i1);
Declare_label(mercury__query_1_0_i2);
Declare_local(mercury__density_2_0_l);
Declare_label(mercury__density_2_0_i1);
Declare_label(mercury__density_2_0_i2);
Declare_local(mercury__pop_2_0_l);
Declare_label(mercury__pop_2_0_i4);
Declare_label(mercury__pop_2_0_i6);
Declare_label(mercury__pop_2_0_i9);
Declare_label(mercury__pop_2_0_i10);
Declare_label(mercury__pop_2_0_i11);
Declare_label(mercury__pop_2_0_i12);
Declare_label(mercury__pop_2_0_i13);
Declare_label(mercury__pop_2_0_i14);
Declare_label(mercury__pop_2_0_i15);
Declare_label(mercury__pop_2_0_i16);
Declare_label(mercury__pop_2_0_i17);
Declare_label(mercury__pop_2_0_i18);
Declare_label(mercury__pop_2_0_i19);
Declare_label(mercury__pop_2_0_i20);
Declare_label(mercury__pop_2_0_i21);
Declare_label(mercury__pop_2_0_i22);
Declare_label(mercury__pop_2_0_i23);
Declare_label(mercury__pop_2_0_i24);
Declare_label(mercury__pop_2_0_i25);
Declare_label(mercury__pop_2_0_i26);
Declare_label(mercury__pop_2_0_i27);
Declare_label(mercury__pop_2_0_i28);
Declare_label(mercury__pop_2_0_i29);
Declare_label(mercury__pop_2_0_i30);
Declare_label(mercury__pop_2_0_i31);
Declare_label(mercury__pop_2_0_i32);
Declare_label(mercury__pop_2_0_i33);
Declare_label(mercury__pop_2_0_i1);
Declare_local(mercury__pop_2_1_l);
Declare_label(mercury__pop_2_1_i2);
Declare_label(mercury__pop_2_1_i5);
Declare_label(mercury__pop_2_1_i7);
Declare_label(mercury__pop_2_1_i9);
Declare_label(mercury__pop_2_1_i11);
Declare_label(mercury__pop_2_1_i13);
Declare_label(mercury__pop_2_1_i15);
Declare_label(mercury__pop_2_1_i17);
Declare_label(mercury__pop_2_1_i19);
Declare_label(mercury__pop_2_1_i21);
Declare_label(mercury__pop_2_1_i23);
Declare_label(mercury__pop_2_1_i25);
Declare_label(mercury__pop_2_1_i27);
Declare_label(mercury__pop_2_1_i29);
Declare_label(mercury__pop_2_1_i31);
Declare_label(mercury__pop_2_1_i33);
Declare_label(mercury__pop_2_1_i35);
Declare_label(mercury__pop_2_1_i37);
Declare_label(mercury__pop_2_1_i39);
Declare_label(mercury__pop_2_1_i41);
Declare_label(mercury__pop_2_1_i43);
Declare_label(mercury__pop_2_1_i45);
Declare_label(mercury__pop_2_1_i47);
Declare_label(mercury__pop_2_1_i49);
Declare_local(mercury__area_2_0_l);
Declare_label(mercury__area_2_0_i4);
Declare_label(mercury__area_2_0_i6);
Declare_label(mercury__area_2_0_i9);
Declare_label(mercury__area_2_0_i10);
Declare_label(mercury__area_2_0_i11);
Declare_label(mercury__area_2_0_i12);
Declare_label(mercury__area_2_0_i13);
Declare_label(mercury__area_2_0_i14);
Declare_label(mercury__area_2_0_i15);
Declare_label(mercury__area_2_0_i16);
Declare_label(mercury__area_2_0_i17);
Declare_label(mercury__area_2_0_i18);
Declare_label(mercury__area_2_0_i19);
Declare_label(mercury__area_2_0_i20);
Declare_label(mercury__area_2_0_i21);
Declare_label(mercury__area_2_0_i22);
Declare_label(mercury__area_2_0_i23);
Declare_label(mercury__area_2_0_i24);
Declare_label(mercury__area_2_0_i25);
Declare_label(mercury__area_2_0_i26);
Declare_label(mercury__area_2_0_i27);
Declare_label(mercury__area_2_0_i28);
Declare_label(mercury__area_2_0_i29);
Declare_label(mercury__area_2_0_i30);
Declare_label(mercury__area_2_0_i31);
Declare_label(mercury__area_2_0_i32);
Declare_label(mercury__area_2_0_i33);
Declare_label(mercury__area_2_0_i1);
Declare_local(mercury__area_2_1_l);
Declare_label(mercury__area_2_1_i2);
Declare_label(mercury__area_2_1_i5);
Declare_label(mercury__area_2_1_i7);
Declare_label(mercury__area_2_1_i9);
Declare_label(mercury__area_2_1_i11);
Declare_label(mercury__area_2_1_i13);
Declare_label(mercury__area_2_1_i15);
Declare_label(mercury__area_2_1_i17);
Declare_label(mercury__area_2_1_i19);
Declare_label(mercury__area_2_1_i21);
Declare_label(mercury__area_2_1_i23);
Declare_label(mercury__area_2_1_i25);
Declare_label(mercury__area_2_1_i27);
Declare_label(mercury__area_2_1_i29);
Declare_label(mercury__area_2_1_i31);
Declare_label(mercury__area_2_1_i33);
Declare_label(mercury__area_2_1_i35);
Declare_label(mercury__area_2_1_i37);
Declare_label(mercury__area_2_1_i39);
Declare_label(mercury__area_2_1_i41);
Declare_label(mercury__area_2_1_i43);
Declare_label(mercury__area_2_1_i45);
Declare_label(mercury__area_2_1_i47);
Declare_label(mercury__area_2_1_i49);
Define_extern_entry(mercury____Unify___quad_0_0);
Declare_label(mercury____Unify___quad_0_0_i1);
Define_extern_entry(mercury____Index___quad_0_0);
Define_extern_entry(mercury____Compare___quad_0_0);
Declare_label(mercury____Compare___quad_0_0_i5);
Declare_label(mercury____Compare___quad_0_0_i9);
Declare_label(mercury____Compare___quad_0_0_i12);
Declare_label(mercury____Compare___quad_0_0_i16);
Declare_label(mercury____Compare___quad_0_0_i19);
Declare_label(mercury____Compare___quad_0_0_i23);
BEGIN_MODULE(mercury__query_module)
init_entry(mercury__benchmark_1_0);
init_entry(mercury__main_2_0);
init_label(mercury__main_2_0_i3);
init_label(mercury__main_2_0_i4);
init_label(mercury__main_2_0_i5);
init_label(mercury__main_2_0_i6);
init_label(mercury__main_2_0_i7);
init_label(mercury__main_2_0_i8);
init_label(mercury__main_2_0_i9);
init_label(mercury__main_2_0_i10);
init_label(mercury__main_2_0_i11);
init_label(mercury__main_2_0_i12);
init_label(mercury__main_2_0_i2);
init_label(mercury__main_2_0_i13);
init_local(mercury__query_1_0_l);
init_label(mercury__query_1_0_i1);
init_label(mercury__query_1_0_i2);
init_local(mercury__density_2_0_l);
init_label(mercury__density_2_0_i1);
init_label(mercury__density_2_0_i2);
init_local(mercury__pop_2_0_l);
init_label(mercury__pop_2_0_i4);
init_label(mercury__pop_2_0_i6);
init_label(mercury__pop_2_0_i9);
init_label(mercury__pop_2_0_i10);
init_label(mercury__pop_2_0_i11);
init_label(mercury__pop_2_0_i12);
init_label(mercury__pop_2_0_i13);
init_label(mercury__pop_2_0_i14);
init_label(mercury__pop_2_0_i15);
init_label(mercury__pop_2_0_i16);
init_label(mercury__pop_2_0_i17);
init_label(mercury__pop_2_0_i18);
init_label(mercury__pop_2_0_i19);
init_label(mercury__pop_2_0_i20);
init_label(mercury__pop_2_0_i21);
init_label(mercury__pop_2_0_i22);
init_label(mercury__pop_2_0_i23);
init_label(mercury__pop_2_0_i24);
init_label(mercury__pop_2_0_i25);
init_label(mercury__pop_2_0_i26);
init_label(mercury__pop_2_0_i27);
init_label(mercury__pop_2_0_i28);
init_label(mercury__pop_2_0_i29);
init_label(mercury__pop_2_0_i30);
init_label(mercury__pop_2_0_i31);
init_label(mercury__pop_2_0_i32);
init_label(mercury__pop_2_0_i33);
init_label(mercury__pop_2_0_i1);
init_local(mercury__pop_2_1_l);
init_label(mercury__pop_2_1_i2);
init_label(mercury__pop_2_1_i5);
init_label(mercury__pop_2_1_i7);
init_label(mercury__pop_2_1_i9);
init_label(mercury__pop_2_1_i11);
init_label(mercury__pop_2_1_i13);
init_label(mercury__pop_2_1_i15);
init_label(mercury__pop_2_1_i17);
init_label(mercury__pop_2_1_i19);
init_label(mercury__pop_2_1_i21);
init_label(mercury__pop_2_1_i23);
init_label(mercury__pop_2_1_i25);
init_label(mercury__pop_2_1_i27);
init_label(mercury__pop_2_1_i29);
init_label(mercury__pop_2_1_i31);
init_label(mercury__pop_2_1_i33);
init_label(mercury__pop_2_1_i35);
init_label(mercury__pop_2_1_i37);
init_label(mercury__pop_2_1_i39);
init_label(mercury__pop_2_1_i41);
init_label(mercury__pop_2_1_i43);
init_label(mercury__pop_2_1_i45);
init_label(mercury__pop_2_1_i47);
init_label(mercury__pop_2_1_i49);
init_local(mercury__area_2_0_l);
init_label(mercury__area_2_0_i4);
init_label(mercury__area_2_0_i6);
init_label(mercury__area_2_0_i9);
init_label(mercury__area_2_0_i10);
init_label(mercury__area_2_0_i11);
init_label(mercury__area_2_0_i12);
init_label(mercury__area_2_0_i13);
init_label(mercury__area_2_0_i14);
init_label(mercury__area_2_0_i15);
init_label(mercury__area_2_0_i16);
init_label(mercury__area_2_0_i17);
init_label(mercury__area_2_0_i18);
init_label(mercury__area_2_0_i19);
init_label(mercury__area_2_0_i20);
init_label(mercury__area_2_0_i21);
init_label(mercury__area_2_0_i22);
init_label(mercury__area_2_0_i23);
init_label(mercury__area_2_0_i24);
init_label(mercury__area_2_0_i25);
init_label(mercury__area_2_0_i26);
init_label(mercury__area_2_0_i27);
init_label(mercury__area_2_0_i28);
init_label(mercury__area_2_0_i29);
init_label(mercury__area_2_0_i30);
init_label(mercury__area_2_0_i31);
init_label(mercury__area_2_0_i32);
init_label(mercury__area_2_0_i33);
init_label(mercury__area_2_0_i1);
init_local(mercury__area_2_1_l);
init_label(mercury__area_2_1_i2);
init_label(mercury__area_2_1_i5);
init_label(mercury__area_2_1_i7);
init_label(mercury__area_2_1_i9);
init_label(mercury__area_2_1_i11);
init_label(mercury__area_2_1_i13);
init_label(mercury__area_2_1_i15);
init_label(mercury__area_2_1_i17);
init_label(mercury__area_2_1_i19);
init_label(mercury__area_2_1_i21);
init_label(mercury__area_2_1_i23);
init_label(mercury__area_2_1_i25);
init_label(mercury__area_2_1_i27);
init_label(mercury__area_2_1_i29);
init_label(mercury__area_2_1_i31);
init_label(mercury__area_2_1_i33);
init_label(mercury__area_2_1_i35);
init_label(mercury__area_2_1_i37);
init_label(mercury__area_2_1_i39);
init_label(mercury__area_2_1_i41);
init_label(mercury__area_2_1_i43);
init_label(mercury__area_2_1_i45);
init_label(mercury__area_2_1_i47);
init_label(mercury__area_2_1_i49);
init_entry(mercury____Unify___quad_0_0);
init_label(mercury____Unify___quad_0_0_i1);
init_entry(mercury____Index___quad_0_0);
init_entry(mercury____Compare___quad_0_0);
init_label(mercury____Compare___quad_0_0_i5);
init_label(mercury____Compare___quad_0_0_i9);
init_label(mercury____Compare___quad_0_0_i12);
init_label(mercury____Compare___quad_0_0_i16);
init_label(mercury____Compare___quad_0_0_i19);
init_label(mercury____Compare___quad_0_0_i23);
BEGIN_CODE
/*-------------------------------------------------------------------------*/
/* code for predicate benchmark/1 in mode 0 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
*/
Define_entry(mercury__benchmark_1_0);
/* Procedure entry point */
{ mkframe("benchmark/1", 1, ENTRY(do_fail)); }
/* Nondet stackframe */
/* End of procedure prologue */
{ LVALUE_CAST(Word,maxfr) = (Integer) bt_prevfr((Integer) curfr); }
/* discard this frame */
{ LVALUE_CAST(Word,succip) = (Integer) bt_succip((Integer) curfr); }
/* setup PC on return from tailcall */
{ LVALUE_CAST(Word,curfr) = (Integer) bt_succfr((Integer) curfr); }
/* setup curfr on return from tailcall */
/*
* Live lvalues:
*/
{ localtailcall(mercury__query_1_0_l,
LABEL(mercury__benchmark_1_0)); }
/* branch to nondet procedure (redirected return) */
/*-------------------------------------------------------------------------*/
/* code for predicate main/2 in mode 0 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
DCG_0 -> framevar(0)
C1 -> framevar(1)
C2 -> framevar(2)
D1 -> framevar(3)
D2 -> framevar(4)
*/
Define_entry(mercury__main_2_0);
/* Procedure entry point */
{ mkframe("main/2", 7, LABEL(mercury__main_2_0_i2)); }
/* Nondet stackframe */
{ framevar(5) = (Integer) maxfr; }
/* Save maxfr */
{ mark_hp(framevar(6)); }
/* Save heap pointer */
{ framevar(0) = (Integer) r1; }
/* Assigning from DCG_0 */
/*
* Live lvalues:
* framevar(0)
* framevar(5)
* framevar(6)
*/
{ localcall(mercury__benchmark_1_0,
LABEL(mercury__main_2_0_i3),
LABEL(mercury__main_2_0)); }
/*
* Garbage collection livevals info
* r1 num(7)
* framevar(6) hp
* framevar(5) maxfr
* framevar(0) num(8)
*/
/* branch to nondet procedure */
Define_label(mercury__main_2_0_i3);
update_prof_current_proc(LABEL(mercury__main_2_0));
{ framevar(1) = (Integer) field(mktag(0), (Integer) r1, 0); }
/* vn flush */
{ framevar(2) = (Integer) field(mktag(0), (Integer) r1, 2); }
/* vn flush */
{ framevar(3) = (Integer) field(mktag(0), (Integer) r1, 1); }
/* vn flush */
{ framevar(4) = (Integer) field(mktag(0), (Integer) r1, 3); }
/* vn flush */
{ r1 = string_const("quad(\"", 6); }
/* vn flush */
{ r2 = (Integer) framevar(0); }
/* vn flush */
{ LVALUE_CAST(Word,bt_redoip((Integer) framevar(5))) = (Integer) ENTRY(do_fail); }
/* vn flush */
/*
* Live lvalues:
* r1
* r2
* framevar(0)
* framevar(1)
* framevar(2)
* framevar(3)
* framevar(4)
* framevar(5)
*/
{ Declare_entry(mercury__io__write_string_3_0);
call(ENTRY(mercury__io__write_string_3_0),
LABEL(mercury__main_2_0_i4),
LABEL(mercury__main_2_0)); }
/*
* Garbage collection livevals info
* r3 num(8)
* framevar(5) maxfr
* framevar(0) num(8)
* framevar(1) num(0)
* framevar(2) num(0)
* framevar(3) num(2)
* framevar(4) num(2)
*/
Define_label(mercury__main_2_0_i4);
update_prof_current_proc(LABEL(mercury__main_2_0));
/* Continuation label */
{ r1 = (Integer) framevar(1); }
/* Assigning from C1 */
{ r2 = (Integer) r3; }
/* Assigning from DCG_1 */
/*
* Live lvalues:
* r1
* r2
* framevar(0)
* framevar(2)
* framevar(3)
* framevar(4)
* framevar(5)
*/
{ Declare_entry(mercury__io__write_string_3_0);
call(ENTRY(mercury__io__write_string_3_0),
LABEL(mercury__main_2_0_i5),
LABEL(mercury__main_2_0)); }
/*
* Garbage collection livevals info
* r3 num(8)
* framevar(5) maxfr
* framevar(0) num(8)
* framevar(2) num(0)
* framevar(3) num(2)
* framevar(4) num(2)
*/
/* branch to det procedure */
Define_label(mercury__main_2_0_i5);
update_prof_current_proc(LABEL(mercury__main_2_0));
/* Continuation label */
{ r1 = string_const("\", ", 3); }
/* Assigning from variable number 22 */
{ r2 = (Integer) r3; }
/* Assigning from DCG_2 */
/*
* Live lvalues:
* r1
* r2
* framevar(0)
* framevar(2)
* framevar(3)
* framevar(4)
* framevar(5)
*/
{ Declare_entry(mercury__io__write_string_3_0);
call(ENTRY(mercury__io__write_string_3_0),
LABEL(mercury__main_2_0_i6),
LABEL(mercury__main_2_0)); }
/*
* Garbage collection livevals info
* r3 num(8)
* framevar(5) maxfr
* framevar(0) num(8)
* framevar(2) num(0)
* framevar(3) num(2)
* framevar(4) num(2)
*/
/* branch to det procedure */
Define_label(mercury__main_2_0_i6);
update_prof_current_proc(LABEL(mercury__main_2_0));
/* Continuation label */
{ r1 = (Integer) framevar(3); }
/* Assigning from D1 */
{ r2 = (Integer) r3; }
/* Assigning from DCG_3 */
/*
* Live lvalues:
* r1
* r2
* framevar(0)
* framevar(2)
* framevar(4)
* framevar(5)
*/
{ Declare_entry(mercury__io__write_int_3_0);
call(ENTRY(mercury__io__write_int_3_0),
LABEL(mercury__main_2_0_i7),
LABEL(mercury__main_2_0)); }
/*
* Garbage collection livevals info
* r3 num(8)
* framevar(5) maxfr
* framevar(0) num(8)
* framevar(2) num(0)
* framevar(4) num(2)
*/
/* branch to det procedure */
Define_label(mercury__main_2_0_i7);
update_prof_current_proc(LABEL(mercury__main_2_0));
/* Continuation label */
{ r1 = string_const(", \"", 3); }
/* Assigning from variable number 21 */
{ r2 = (Integer) r3; }
/* Assigning from DCG_4 */
/*
* Live lvalues:
* r1
* r2
* framevar(0)
* framevar(2)
* framevar(4)
* framevar(5)
*/
{ Declare_entry(mercury__io__write_string_3_0);
call(ENTRY(mercury__io__write_string_3_0),
LABEL(mercury__main_2_0_i8),
LABEL(mercury__main_2_0)); }
/*
* Garbage collection livevals info
* r3 num(8)
* framevar(5) maxfr
* framevar(0) num(8)
* framevar(2) num(0)
* framevar(4) num(2)
*/
/* branch to det procedure */
Define_label(mercury__main_2_0_i8);
update_prof_current_proc(LABEL(mercury__main_2_0));
/* Continuation label */
{ r1 = (Integer) framevar(2); }
/* Assigning from C2 */
{ r2 = (Integer) r3; }
/* Assigning from DCG_5 */
/*
* Live lvalues:
* r1
* r2
* framevar(0)
* framevar(4)
* framevar(5)
*/
{ Declare_entry(mercury__io__write_string_3_0);
call(ENTRY(mercury__io__write_string_3_0),
LABEL(mercury__main_2_0_i9),
LABEL(mercury__main_2_0)); }
/*
* Garbage collection livevals info
* r3 num(8)
* framevar(5) maxfr
* framevar(0) num(8)
* framevar(4) num(2)
*/
/* branch to det procedure */
Define_label(mercury__main_2_0_i9);
update_prof_current_proc(LABEL(mercury__main_2_0));
/* Continuation label */
{ r1 = string_const("\", ", 3); }
/* Assigning from variable number 20 */
{ r2 = (Integer) r3; }
/* Assigning from DCG_6 */
/*
* Live lvalues:
* r1
* r2
* framevar(0)
* framevar(4)
* framevar(5)
*/
{ Declare_entry(mercury__io__write_string_3_0);
call(ENTRY(mercury__io__write_string_3_0),
LABEL(mercury__main_2_0_i10),
LABEL(mercury__main_2_0)); }
/*
* Garbage collection livevals info
* r3 num(8)
* framevar(5) maxfr
* framevar(0) num(8)
* framevar(4) num(2)
*/
/* branch to det procedure */
Define_label(mercury__main_2_0_i10);
update_prof_current_proc(LABEL(mercury__main_2_0));
/* Continuation label */
{ r1 = (Integer) framevar(4); }
/* Assigning from D2 */
{ r2 = (Integer) r3; }
/* Assigning from DCG_7 */
/*
* Live lvalues:
* r1
* r2
* framevar(0)
* framevar(5)
*/
{ Declare_entry(mercury__io__write_int_3_0);
call(ENTRY(mercury__io__write_int_3_0),
LABEL(mercury__main_2_0_i11),
LABEL(mercury__main_2_0)); }
/*
* Garbage collection livevals info
* r3 num(8)
* framevar(5) maxfr
* framevar(0) num(8)
*/
/* branch to det procedure */
Define_label(mercury__main_2_0_i11);
update_prof_current_proc(LABEL(mercury__main_2_0));
/* Continuation label */
{ r1 = string_const(")\n", 2); }
/* Assigning from variable number 19 */
{ r2 = (Integer) r3; }
/* Assigning from DCG_8 */
/*
* Live lvalues:
* r1
* r2
* framevar(0)
* framevar(5)
*/
{ Declare_entry(mercury__io__write_string_3_0);
call(ENTRY(mercury__io__write_string_3_0),
LABEL(mercury__main_2_0_i12),
LABEL(mercury__main_2_0)); }
/*
* Garbage collection livevals info
* r3 num(8)
* framevar(5) maxfr
* framevar(0) num(8)
*/
/* branch to det procedure */
Define_label(mercury__main_2_0_i12);
update_prof_current_proc(LABEL(mercury__main_2_0));
{ r2 = (Integer) r3; }
/* vn flush */
/*
* Live lvalues:
* r2
*/
{ succeed(); }
Define_label(mercury__main_2_0_i2);
update_prof_current_proc(LABEL(mercury__main_2_0));
{ restore_hp((Integer) framevar(6)); }
{ r1 = string_const("no solution\n", 12); }
/* vn flush */
{ r2 = (Integer) framevar(0); }
/* vn flush */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) ENTRY(do_fail); }
/* vn flush */
/*
* Live lvalues:
* r1
* r2
* framevar(5)
*/
{ Declare_entry(mercury__io__write_string_3_0);
call(ENTRY(mercury__io__write_string_3_0),
LABEL(mercury__main_2_0_i13),
LABEL(mercury__main_2_0)); }
/*
* Garbage collection livevals info
* r3 num(8)
* framevar(5) maxfr
*/
Define_label(mercury__main_2_0_i13);
update_prof_current_proc(LABEL(mercury__main_2_0));
/* Continuation label */
{ r2 = (Integer) r3; }
/* Assigning from HeadVar__2 */
/* Start of procedure epilogue */
/*
* Live lvalues:
* r2
*/
{ succeed(); }
/* Succeed */
/*-------------------------------------------------------------------------*/
/* code for predicate query/1 in mode 0 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
C1 -> framevar(0)
D1 -> framevar(1)
*/
Define_local(mercury__query_1_0_l);
/* Procedure entry point */
{ mkframe("query/1", 2, ENTRY(do_fail)); }
/* Nondet stackframe */
/* End of procedure prologue */
/*
* Live lvalues:
*/
{ localcall(mercury__density_2_0_l,
LABEL(mercury__query_1_0_i1),
LABEL(mercury__query_1_0_l)); }
/*
* Garbage collection livevals info
* r2 num(2)
* r1 num(0)
*/
/* branch to nondet procedure */
Define_label(mercury__query_1_0_i1);
update_prof_current_proc(LABEL(mercury__query_1_0_l));
/* Continuation label */
{ framevar(0) = (Integer) r1; }
/* Assigning from C1 */
{ framevar(1) = (Integer) r2; }
/* Assigning from D1 */
/*
* Live lvalues:
* framevar(0)
* framevar(1)
*/
{ localcall(mercury__density_2_0_l,
LABEL(mercury__query_1_0_i2),
LABEL(mercury__query_1_0_l)); }
/*
* Garbage collection livevals info
* r2 num(2)
* r1 num(0)
* framevar(0) num(0)
* framevar(1) num(2)
*/
/* branch to nondet procedure */
Define_label(mercury__query_1_0_i2);
update_prof_current_proc(LABEL(mercury__query_1_0_l));
/* Continuation label */
{ if (((Integer) framevar(1) <= (Integer) r2))
redo(); }
/* Test for failure */
{ r3 = (20 * (Integer) framevar(1)); }
/* Assigning from T1 */
{ r4 = (21 * (Integer) r2); }
/* Assigning from T2 */
{ if (((Integer) r3 >= (Integer) r4))
redo(); }
/* Test for failure */
/* Start of procedure epilogue */
{ r3 = (Integer) r1; }
/* shuffle lval */
{ tag_incr_hp(r1, mktag(0), 4); }
/* Allocating heap for HeadVar__1 */
{ field(mktag(0), (Integer) r1, 0) = (Integer) framevar(0); }
/* Assigning from */
{ field(mktag(0), (Integer) r1, 1) = (Integer) framevar(1); }
/* Assigning from */
{ field(mktag(0), (Integer) r1, 2) = (Integer) r3; }
/* Assigning from */
{ field(mktag(0), (Integer) r1, 3) = (Integer) r2; }
/* Assigning from */
/*
* Live lvalues:
* r1
*/
{ succeed(); }
/* Succeed */
/*-------------------------------------------------------------------------*/
/* code for predicate density/2 in mode 0 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
HeadVar__1 -> framevar(0)
P -> framevar(1)
*/
Define_local(mercury__density_2_0_l);
/* Procedure entry point */
{ mkframe("density/2", 2, ENTRY(do_fail)); }
/* Nondet stackframe */
/* End of procedure prologue */
/*
* Live lvalues:
*/
{ localcall(mercury__pop_2_1_l,
LABEL(mercury__density_2_0_i1),
LABEL(mercury__density_2_0_l)); }
/*
* Garbage collection livevals info
* r2 num(2)
* r1 num(0)
*/
/* branch to nondet procedure */
Define_label(mercury__density_2_0_i1);
update_prof_current_proc(LABEL(mercury__density_2_0_l));
{ framevar(1) = (Integer) r2; }
/* vn flush */
{ r2 = (Integer) r1; }
/* vn flush */
{ framevar(0) = (Integer) r1; }
/* vn flush */
/*
* Live lvalues:
* r2
* framevar(0)
* framevar(1)
*/
{ localcall(mercury__area_2_0_l,
LABEL(mercury__density_2_0_i2),
LABEL(mercury__density_2_0_l)); }
/*
* Garbage collection livevals info
* r3 num(2)
* framevar(0) num(0)
* framevar(1) num(2)
*/
Define_label(mercury__density_2_0_i2);
update_prof_current_proc(LABEL(mercury__density_2_0_l));
/* Continuation label */
{ if (!((Integer) r1))
redo(); }
/* fail */
/* Start of procedure epilogue */
{ r1 = (Integer) framevar(0); }
/* Assigning from HeadVar__1 */
{ r2 = (((Integer) framevar(1) * 100) / (Integer) r3); }
/* Assigning from HeadVar__2 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
/*-------------------------------------------------------------------------*/
/* code for predicate pop/2 in mode 0 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
*/
Define_local(mercury__pop_2_0_l);
/* Procedure entry point */
/* End of procedure prologue */
/* hashed string switch */
{ r1 = (hash_string((Integer) r2) & 63); }
/* compute the hash value of the input string */
Define_label(mercury__pop_2_0_i4);
/* begin hash chain loop */
while (1) {
{ static const Word mercury_const_8[] = {
string_const("spain", 5),
string_const("argentina", 9),
0,
string_const("ussr", 4),
string_const("usa", 3),
0,
0,
0,
string_const("brazil", 6),
0,
0,
0,
0,
0,
string_const("india", 5),
0,
string_const("iran", 4),
0,
0,
string_const("mexico", 6),
0,
string_const("indonesia", 9),
0,
0,
string_const("nigeria", 7),
0,
string_const("egypt", 5),
string_const("france", 6),
0,
0,
string_const("poland", 6),
0,
0,
0,
string_const("turkey", 6),
0,
0,
0,
0,
0,
string_const("china", 5),
0,
string_const("w_germany", 9),
0,
string_const("italy", 5),
0,
string_const("philippines", 11),
string_const("ethiopia", 8),
0,
string_const("japan", 5),
0,
string_const("pakistan", 8),
0,
0,
0,
string_const("bangladesh", 10),
0,
string_const("s_korea", 7),
0,
string_const("thailand", 8),
string_const("uk", 2),
0,
0,
0
};
r3 = ((Word *)mkword(mktag(0), mercury_const_8))[(Integer) r1]; }
/* lookup the string for this hash slot */
{ if (((Integer) r3 && (strcmp((char *)(Integer) r3, (char *)(Integer) r2) ==0)))
GOTO_LABEL(mercury__pop_2_0_i6); }
/* did we find a match? */
{ static const Word mercury_const_7[] = {
-1,
-1,
-2,
-1,
1,
-2,
-2,
-2,
-1,
-2,
-2,
-2,
-2,
-2,
-1,
-2,
-1,
-2,
-2,
-1,
-2,
-1,
-2,
-2,
-1,
-2,
-1,
-1,
-2,
-2,
-1,
-2,
-2,
-2,
-1,
-2,
-2,
-2,
-2,
-2,
-1,
-2,
-1,
-2,
-1,
-2,
-1,
-1,
-2,
-1,
-2,
-1,
-2,
-2,
-2,
-1,
-2,
-1,
-2,
-1,
-1,
-2,
-2,
-2
};
r1 = ((Word *)mkword(mktag(0), mercury_const_7))[(Integer) r1]; }
/* not yet, so get next slot in hash chain */
{ if (((Integer) r1 >= 0))
continue; }
/* keep searching until we reach the end of the chain */
/* no succip restoration */
/* no sp restoration */
{ r1 = FALSE; }
/* Fail */
/*
* Live lvalues:
* r1
*/
{ proceed(); }
/* shortcircuit */
break; } /* end while */
Define_label(mercury__pop_2_0_i6);
/* we found a match */
{ COMPUTED_GOTO((Integer) r1,
LABEL(mercury__pop_2_0_i9) AND
LABEL(mercury__pop_2_0_i10) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i11) AND
LABEL(mercury__pop_2_0_i12) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i13) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i14) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i15) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i16) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i17) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i18) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i19) AND
LABEL(mercury__pop_2_0_i20) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i21) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i22) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i23) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i24) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i25) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i26) AND
LABEL(mercury__pop_2_0_i27) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i28) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i29) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i30) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i31) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i32) AND
LABEL(mercury__pop_2_0_i33) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1) AND
LABEL(mercury__pop_2_0_i1)); }
/* jump to the corresponding code (some shortcircuits) */
Define_label(mercury__pop_2_0_i9);
/* case "spain" */
{ r3 = 352; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i10);
/* case "argentina" */
{ r3 = 251; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i11);
/* case "ussr" */
{ r3 = 2521; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i12);
/* case "usa" */
{ r3 = 2119; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i13);
/* case "brazil" */
{ r3 = 1042; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i14);
/* case "india" */
{ r3 = 5863; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i15);
/* case "iran" */
{ r3 = 320; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i16);
/* case "mexico" */
{ r3 = 581; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i17);
/* case "indonesia" */
{ r3 = 1276; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i18);
/* case "nigeria" */
{ r3 = 613; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i19);
/* case "egypt" */
{ r3 = 364; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i20);
/* case "france" */
{ r3 = 525; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i21);
/* case "poland" */
{ r3 = 337; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i22);
/* case "turkey" */
{ r3 = 383; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i23);
/* case "china" */
{ r3 = 8250; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i24);
/* case "w_germany" */
{ r3 = 620; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i25);
/* case "italy" */
{ r3 = 554; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i26);
/* case "philippines" */
{ r3 = 415; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i27);
/* case "ethiopia" */
{ r3 = 272; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i28);
/* case "japan" */
{ r3 = 1097; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i29);
/* case "pakistan" */
{ r3 = 682; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i30);
/* case "bangladesh" */
{ r3 = 750; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i31);
/* case "s_korea" */
{ r3 = 335; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i32);
/* case "thailand" */
{ r3 = 410; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__pop_2_0_i33);
/* case "uk" */
{ r3 = 559; }
/* Assigning from HeadVar__2 */
/* Start of procedure epilogue */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* Return from procedure call */
Define_label(mercury__pop_2_0_i1);
/* End of failure continuation */
{ r1 = FALSE; }
/* Fail */
/*
* Live lvalues:
* r1
*/
{ proceed(); }
/* Return from procedure call */
/*-------------------------------------------------------------------------*/
/* code for predicate pop/2 in mode 1 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
*/
Define_local(mercury__pop_2_1_l);
/* Procedure entry point */
{ mkframe("pop/2", 2, LABEL(mercury__pop_2_1_i2)); }
/* Nondet stackframe */
{ mark_hp(framevar(1)); }
/* Save heap pointer */
{ r2 = 8250; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("china", 5); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i2);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i5); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 5863; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("india", 5); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i5);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i7); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 2521; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("ussr", 4); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i7);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i9); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 2119; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("usa", 3); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i9);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i11); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 1276; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("indonesia", 9); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i11);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i13); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 1097; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("japan", 5); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i13);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i15); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 1042; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("brazil", 6); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i15);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i17); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 750; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("bangladesh", 10); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i17);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i19); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 682; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("pakistan", 8); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i19);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i21); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 620; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("w_germany", 9); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i21);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i23); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 613; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("nigeria", 7); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i23);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i25); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 581; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("mexico", 6); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i25);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i27); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 559; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("uk", 2); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i27);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i29); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 554; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("italy", 5); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i29);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i31); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 525; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("france", 6); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i31);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i33); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 415; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("philippines", 11); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i33);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i35); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 410; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("thailand", 8); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i35);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i37); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 383; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("turkey", 6); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i37);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i39); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 364; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("egypt", 5); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i39);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i41); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 352; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("spain", 5); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i41);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i43); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 337; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("poland", 6); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i43);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i45); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 335; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("s_korea", 7); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i45);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i47); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 320; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("iran", 4); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i47);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__pop_2_1_i49); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 272; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("ethiopia", 8); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__pop_2_1_i49);
update_prof_current_proc(LABEL(mercury__pop_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) ENTRY(do_fail); }
/* restore failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 251; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("argentina", 9); }
/* Assigning from HeadVar__1 */
/* Start of procedure epilogue */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
/*-------------------------------------------------------------------------*/
/* code for predicate area/2 in mode 0 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
*/
Define_local(mercury__area_2_0_l);
/* Procedure entry point */
/* End of procedure prologue */
/* hashed string switch */
{ r1 = (hash_string((Integer) r2) & 63); }
/* compute the hash value of the input string */
Define_label(mercury__area_2_0_i4);
/* begin hash chain loop */
while (1) {
{ static const Word mercury_const_8[] = {
string_const("spain", 5),
string_const("argentina", 9),
0,
string_const("ussr", 4),
string_const("usa", 3),
0,
0,
0,
string_const("brazil", 6),
0,
0,
0,
0,
0,
string_const("india", 5),
0,
string_const("iran", 4),
0,
0,
string_const("mexico", 6),
0,
string_const("indonesia", 9),
0,
0,
string_const("nigeria", 7),
0,
string_const("egypt", 5),
string_const("france", 6),
0,
0,
string_const("poland", 6),
0,
0,
0,
string_const("turkey", 6),
0,
0,
0,
0,
0,
string_const("china", 5),
0,
string_const("w_germany", 9),
0,
string_const("italy", 5),
0,
string_const("philippines", 11),
string_const("ethiopia", 8),
0,
string_const("japan", 5),
0,
string_const("pakistan", 8),
0,
0,
0,
string_const("bangladesh", 10),
0,
string_const("s_korea", 7),
0,
string_const("thailand", 8),
string_const("uk", 2),
0,
0,
0
};
r3 = ((Word *)mkword(mktag(0), mercury_const_8))[(Integer) r1]; }
/* lookup the string for this hash slot */
{ if (((Integer) r3 && (strcmp((char *)(Integer) r3, (char *)(Integer) r2) ==0)))
GOTO_LABEL(mercury__area_2_0_i6); }
/* did we find a match? */
{ static const Word mercury_const_7[] = {
-1,
-1,
-2,
-1,
1,
-2,
-2,
-2,
-1,
-2,
-2,
-2,
-2,
-2,
-1,
-2,
-1,
-2,
-2,
-1,
-2,
-1,
-2,
-2,
-1,
-2,
-1,
-1,
-2,
-2,
-1,
-2,
-2,
-2,
-1,
-2,
-2,
-2,
-2,
-2,
-1,
-2,
-1,
-2,
-1,
-2,
-1,
-1,
-2,
-1,
-2,
-1,
-2,
-2,
-2,
-1,
-2,
-1,
-2,
-1,
-1,
-2,
-2,
-2
};
r1 = ((Word *)mkword(mktag(0), mercury_const_7))[(Integer) r1]; }
/* not yet, so get next slot in hash chain */
{ if (((Integer) r1 >= 0))
continue; }
/* keep searching until we reach the end of the chain */
/* no succip restoration */
/* no sp restoration */
{ r1 = FALSE; }
/* Fail */
/*
* Live lvalues:
* r1
*/
{ proceed(); }
/* shortcircuit */
break; } /* end while */
Define_label(mercury__area_2_0_i6);
/* we found a match */
{ COMPUTED_GOTO((Integer) r1,
LABEL(mercury__area_2_0_i9) AND
LABEL(mercury__area_2_0_i10) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i11) AND
LABEL(mercury__area_2_0_i12) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i13) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i14) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i15) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i16) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i17) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i18) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i19) AND
LABEL(mercury__area_2_0_i20) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i21) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i22) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i23) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i24) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i25) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i26) AND
LABEL(mercury__area_2_0_i27) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i28) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i29) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i30) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i31) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i32) AND
LABEL(mercury__area_2_0_i33) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1) AND
LABEL(mercury__area_2_0_i1)); }
/* jump to the corresponding code (some shortcircuits) */
Define_label(mercury__area_2_0_i9);
/* case "spain" */
{ r3 = 190; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i10);
/* case "argentina" */
{ r3 = 1080; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i11);
/* case "ussr" */
{ r3 = 8708; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i12);
/* case "usa" */
{ r3 = 3609; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i13);
/* case "brazil" */
{ r3 = 3288; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i14);
/* case "india" */
{ r3 = 1139; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i15);
/* case "iran" */
{ r3 = 628; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i16);
/* case "mexico" */
{ r3 = 764; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i17);
/* case "indonesia" */
{ r3 = 570; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i18);
/* case "nigeria" */
{ r3 = 373; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i19);
/* case "egypt" */
{ r3 = 386; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i20);
/* case "france" */
{ r3 = 213; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i21);
/* case "poland" */
{ r3 = 121; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i22);
/* case "turkey" */
{ r3 = 296; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i23);
/* case "china" */
{ r3 = 3380; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i24);
/* case "w_germany" */
{ r3 = 96; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i25);
/* case "italy" */
{ r3 = 116; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i26);
/* case "philippines" */
{ r3 = 90; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i27);
/* case "ethiopia" */
{ r3 = 350; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i28);
/* case "japan" */
{ r3 = 148; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i29);
/* case "pakistan" */
{ r3 = 311; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i30);
/* case "bangladesh" */
{ r3 = 55; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i31);
/* case "s_korea" */
{ r3 = 37; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i32);
/* case "thailand" */
{ r3 = 200; }
/* Assigning from HeadVar__2 */
/* no succip restoration */
/* no sp restoration */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__area_2_0_i33);
/* case "uk" */
{ r3 = 86; }
/* Assigning from HeadVar__2 */
/* Start of procedure epilogue */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
* r3
*/
{ proceed(); }
/* Return from procedure call */
Define_label(mercury__area_2_0_i1);
/* End of failure continuation */
{ r1 = FALSE; }
/* Fail */
/*
* Live lvalues:
* r1
*/
{ proceed(); }
/* Return from procedure call */
/*-------------------------------------------------------------------------*/
/* code for predicate area/2 in mode 1 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
*/
Define_local(mercury__area_2_1_l);
/* Procedure entry point */
{ mkframe("area/2", 2, LABEL(mercury__area_2_1_i2)); }
/* Nondet stackframe */
{ mark_hp(framevar(1)); }
/* Save heap pointer */
{ r2 = 3380; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("china", 5); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i2);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i5); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 1139; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("india", 5); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i5);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i7); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 8708; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("ussr", 4); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i7);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i9); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 3609; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("usa", 3); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i9);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i11); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 570; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("indonesia", 9); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i11);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i13); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 148; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("japan", 5); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i13);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i15); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 3288; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("brazil", 6); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i15);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i17); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 55; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("bangladesh", 10); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i17);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i19); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 311; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("pakistan", 8); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i19);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i21); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 96; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("w_germany", 9); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i21);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i23); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 373; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("nigeria", 7); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i23);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i25); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 764; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("mexico", 6); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i25);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i27); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 86; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("uk", 2); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i27);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i29); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 116; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("italy", 5); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i29);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i31); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 213; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("france", 6); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i31);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i33); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 90; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("philippines", 11); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i33);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i35); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 200; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("thailand", 8); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i35);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i37); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 296; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("turkey", 6); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i37);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i39); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 386; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("egypt", 5); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i39);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i41); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 190; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("spain", 5); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i41);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i43); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 121; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("poland", 6); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i43);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i45); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 37; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("s_korea", 7); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i45);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i47); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 628; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("iran", 4); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i47);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__area_2_1_i49); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 350; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("ethiopia", 8); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__area_2_1_i49);
update_prof_current_proc(LABEL(mercury__area_2_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) ENTRY(do_fail); }
/* restore failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r2 = 1080; }
/* Assigning from HeadVar__2 */
{ r1 = string_const("argentina", 9); }
/* Assigning from HeadVar__1 */
/* Start of procedure epilogue */
/*
* Live lvalues:
* r1
* r2
*/
{ succeed(); }
/* Succeed */
/*-------------------------------------------------------------------------*/
/* code for predicate __Unify__/2 in mode 0 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
*/
Define_entry(mercury____Unify___quad_0_0);
/* Procedure entry point */
/* End of procedure prologue */
{ if ((strcmp((char *)(Integer) field(mktag(0), (Integer) r2, 0), (char *)(Integer) field(mktag(0), (Integer) r3, 0)) !=0))
GOTO_LABEL(mercury____Unify___quad_0_0_i1); }
/* Test for failure */
{ if (((Integer) field(mktag(0), (Integer) r2, 1) != (Integer) field(mktag(0), (Integer) r3, 1)))
GOTO_LABEL(mercury____Unify___quad_0_0_i1); }
/* Test for failure */
{ if ((strcmp((char *)(Integer) field(mktag(0), (Integer) r2, 2), (char *)(Integer) field(mktag(0), (Integer) r3, 2)) !=0))
GOTO_LABEL(mercury____Unify___quad_0_0_i1); }
/* Test for failure */
{ if (((Integer) field(mktag(0), (Integer) r2, 3) != (Integer) field(mktag(0), (Integer) r3, 3)))
GOTO_LABEL(mercury____Unify___quad_0_0_i1); }
/* Test for failure */
/* Start of procedure epilogue */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
*/
{ proceed(); }
/* Return from procedure call */
Define_label(mercury____Unify___quad_0_0_i1);
/* End of failure continuation */
{ r1 = FALSE; }
/* Fail */
/*
* Live lvalues:
* r1
*/
{ proceed(); }
/* Return from procedure call */
/*-------------------------------------------------------------------------*/
/* code for predicate __Index__/2 in mode 0 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
*/
Define_entry(mercury____Index___quad_0_0);
/* Procedure entry point */
/* End of procedure prologue */
/* Start of procedure epilogue */
{ r2 = 0; }
/* Assigning from variable number 2 */
/* End of procedure epilogue */
/*
* Live lvalues:
* r2
*/
{ proceed(); }
/* Return from procedure call */
/*-------------------------------------------------------------------------*/
/* code for predicate __Compare__/3 in mode 0 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
variable number 8 -> stackvar(1)
variable number 4 -> stackvar(2)
variable number 12 -> stackvar(1)
variable number 10 -> stackvar(3)
variable number 6 -> stackvar(4)
variable number 14 -> stackvar(3)
variable number 9 -> stackvar(5)
variable number 5 -> stackvar(6)
variable number 13 -> stackvar(5)
variable number 11 -> stackvar(7)
variable number 7 -> stackvar(8)
*/
Define_entry(mercury____Compare___quad_0_0);
incr_sp(10);
/* late setup */
{ detstackvar(10) = (Integer) succip; }
/* late save */
{ mark_hp(detstackvar(9)); }
{ detstackvar(3) = (Integer) field(mktag(0), (Integer) r3, 2); }
/* vn flush */
{ detstackvar(4) = (Integer) field(mktag(0), (Integer) r2, 2); }
/* vn flush */
{ detstackvar(5) = (Integer) field(mktag(0), (Integer) r3, 1); }
/* vn flush */
{ detstackvar(6) = (Integer) field(mktag(0), (Integer) r2, 1); }
/* vn flush */
{ detstackvar(7) = (Integer) field(mktag(0), (Integer) r3, 3); }
/* vn flush */
{ detstackvar(8) = (Integer) field(mktag(0), (Integer) r2, 3); }
/* vn flush */
{ r3 = (Integer) field(mktag(0), (Integer) r3, 0); }
/* vn flush */
{ r2 = (Integer) field(mktag(0), (Integer) r2, 0); }
/* vn flush */
/*
* Live lvalues:
* r2
* r3
* detstackvar(3)
* detstackvar(4)
* detstackvar(5)
* detstackvar(6)
* detstackvar(7)
* detstackvar(8)
* detstackvar(9)
* detstackvar(10)
*/
{ Declare_entry(mercury__builtin_compare_string_3_0);
call(ENTRY(mercury__builtin_compare_string_3_0),
LABEL(mercury____Compare___quad_0_0_i5),
LABEL(mercury____Compare___quad_0_0)); }
/*
* Garbage collection livevals info
* detstackvar(10) succip
* r1 num(9)
* detstackvar(9) hp
* detstackvar(3) num(0)
* detstackvar(4) num(0)
* detstackvar(5) num(2)
* detstackvar(6) num(2)
* detstackvar(7) num(2)
* detstackvar(8) num(2)
*/
Define_label(mercury____Compare___quad_0_0_i5);
update_prof_current_proc(LABEL(mercury____Compare___quad_0_0));
{ if (((Integer) r1 == 0))
GOTO_LABEL(mercury____Compare___quad_0_0_i9); }
{ LVALUE_CAST(Word,succip) = (Integer) detstackvar(10); }
/* vn flush */
decr_sp(10);
/*
* Live lvalues:
* r1
*/
{ proceed(); }
Define_label(mercury____Compare___quad_0_0_i9);
{ r8 = (Integer) detstackvar(3); }
{ r7 = (Integer) detstackvar(4); }
{ r6 = (Integer) detstackvar(5); }
{ r5 = (Integer) detstackvar(6); }
{ r4 = (Integer) detstackvar(7); }
{ r1 = (Integer) detstackvar(8); }
{ restore_hp((Integer) detstackvar(9)); }
/* Restore heap pointer */
{ mark_hp(detstackvar(9)); }
/* Save heap pointer */
{ detstackvar(3) = (Integer) r8; }
/* Assigning from variable number 10 */
{ detstackvar(4) = (Integer) r7; }
/* Assigning from variable number 6 */
{ detstackvar(7) = (Integer) r4; }
/* Assigning from variable number 11 */
{ detstackvar(8) = (Integer) r1; }
/* Assigning from variable number 7 */
{ r2 = (Integer) r5; }
/* Assigning from variable number 5 */
{ r3 = (Integer) r6; }
/* Assigning from variable number 9 */
/*
* Live lvalues:
* r2
* r3
* detstackvar(3)
* detstackvar(4)
* detstackvar(7)
* detstackvar(8)
* detstackvar(9)
* detstackvar(10)
*/
{ Declare_entry(mercury__builtin_compare_int_3_0);
call(ENTRY(mercury__builtin_compare_int_3_0),
LABEL(mercury____Compare___quad_0_0_i12),
LABEL(mercury____Compare___quad_0_0)); }
/*
* Garbage collection livevals info
* detstackvar(10) succip
* r1 num(9)
* detstackvar(9) hp
* detstackvar(3) num(0)
* detstackvar(4) num(0)
* detstackvar(7) num(2)
* detstackvar(8) num(2)
*/
/* branch to det procedure */
Define_label(mercury____Compare___quad_0_0_i12);
update_prof_current_proc(LABEL(mercury____Compare___quad_0_0));
{ if (((Integer) r1 == 0))
GOTO_LABEL(mercury____Compare___quad_0_0_i16); }
{ LVALUE_CAST(Word,succip) = (Integer) detstackvar(10); }
/* vn flush */
decr_sp(10);
/*
* Live lvalues:
* r1
*/
{ proceed(); }
Define_label(mercury____Compare___quad_0_0_i16);
{ r8 = (Integer) detstackvar(3); }
{ r7 = (Integer) detstackvar(4); }
{ r4 = (Integer) detstackvar(7); }
{ r1 = (Integer) detstackvar(8); }
{ restore_hp((Integer) detstackvar(9)); }
/* Restore heap pointer */
{ mark_hp(detstackvar(9)); }
/* Save heap pointer */
{ detstackvar(7) = (Integer) r4; }
/* Assigning from variable number 11 */
{ detstackvar(8) = (Integer) r1; }
/* Assigning from variable number 7 */
{ r2 = (Integer) r7; }
/* Assigning from variable number 6 */
{ r3 = (Integer) r8; }
/* Assigning from variable number 10 */
/*
* Live lvalues:
* r2
* r3
* detstackvar(7)
* detstackvar(8)
* detstackvar(9)
* detstackvar(10)
*/
{ Declare_entry(mercury__builtin_compare_string_3_0);
call(ENTRY(mercury__builtin_compare_string_3_0),
LABEL(mercury____Compare___quad_0_0_i19),
LABEL(mercury____Compare___quad_0_0)); }
/*
* Garbage collection livevals info
* detstackvar(10) succip
* r1 num(9)
* detstackvar(9) hp
* detstackvar(7) num(2)
* detstackvar(8) num(2)
*/
/* branch to det procedure */
Define_label(mercury____Compare___quad_0_0_i19);
update_prof_current_proc(LABEL(mercury____Compare___quad_0_0));
{ if (((Integer) r1 == 0))
GOTO_LABEL(mercury____Compare___quad_0_0_i23); }
{ LVALUE_CAST(Word,succip) = (Integer) detstackvar(10); }
/* vn flush */
decr_sp(10);
/*
* Live lvalues:
* r1
*/
{ proceed(); }
Define_label(mercury____Compare___quad_0_0_i23);
{ restore_hp((Integer) detstackvar(9)); }
{ r2 = (Integer) detstackvar(8); }
/* vn flush */
{ r3 = (Integer) detstackvar(7); }
/* vn flush */
{ LVALUE_CAST(Word,succip) = (Integer) detstackvar(10); }
/* vn flush */
decr_sp(10);
/*
* Live lvalues:
* r2
* r3
* detstackvar(10)
*/
{ Declare_entry(mercury__builtin_compare_int_3_0);
tailcall(ENTRY(mercury__builtin_compare_int_3_0),
LABEL(mercury____Compare___quad_0_0)); }
END_MODULE
#if (defined(USE_GCC_NONLOCAL_GOTOS) && !defined(USE_ASM_LABELS)) \
|| defined(PROFILE_CALLS) || defined(DEBUG_GOTOS) \
|| defined(DEBUG_LABELS) || !defined(SPEED)
static void mercury__query_bunch_0(void)
{
mercury__query_module();
}
#endif
void mercury__query__init(void); /* suppress gcc warning */
void mercury__query__init(void)
{
#if (defined(USE_GCC_NONLOCAL_GOTOS) && !defined(USE_ASM_LABELS)) \
|| defined(PROFILE_CALLS) || defined(DEBUG_GOTOS) \
|| defined(DEBUG_LABELS) || !defined(SPEED)
mercury__query_bunch_0();
#endif
}