/*
** Automatically generated from `crypt.m' by the
** Mercury compiler, version 0.5-beta. Do not edit.
*/
/*
INIT mercury__crypt__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_i2);
Declare_label(mercury__main_2_0_i5);
Declare_local(mercury__crypt_1_0_l);
Declare_label(mercury__crypt_1_0_i1);
Declare_label(mercury__crypt_1_0_i2);
Declare_label(mercury__crypt_1_0_i3);
Declare_label(mercury__crypt_1_0_i4);
Declare_label(mercury__crypt_1_0_i8);
Declare_label(mercury__crypt_1_0_i17);
Declare_label(mercury__crypt_1_0_i19);
Declare_label(mercury__crypt_1_0_i21);
Declare_label(mercury__crypt_1_0_i23);
Declare_label(mercury__crypt_1_0_i25);
Declare_label(mercury__crypt_1_0_i27);
Declare_label(mercury__crypt_1_0_i31);
Declare_label(mercury__crypt_1_0_i38);
Declare_label(mercury__crypt_1_0_i40);
Declare_label(mercury__crypt_1_0_i42);
Declare_label(mercury__crypt_1_0_i44);
Declare_label(mercury__crypt_1_0_i54);
Declare_label(mercury__crypt_1_0_i79);
Declare_label(mercury__crypt_1_0_i81);
Declare_label(mercury__crypt_1_0_i83);
Declare_label(mercury__crypt_1_0_i85);
Declare_label(mercury__crypt_1_0_i87);
Declare_local(mercury__sum2_3_0_l);
Declare_label(mercury__sum2_3_0_i3);
Declare_local(mercury__sum2_4_0_l);
Declare_label(mercury__sum2_4_0_i29);
Declare_label(mercury__sum2_4_0_i21);
Declare_label(mercury__sum2_4_0_i25);
Declare_label(mercury__sum2_4_0_i26);
Declare_label(mercury__sum2_4_0_i1003);
Declare_label(mercury__sum2_4_0_i16);
Declare_label(mercury__sum2_4_0_i17);
Declare_label(mercury__sum2_4_0_i6);
Declare_label(mercury__sum2_4_0_i10);
Declare_local(mercury__mult_3_0_l);
Declare_label(mercury__mult_3_0_i3);
Declare_local(mercury__mult_4_0_l);
Declare_label(mercury__mult_4_0_i6);
Declare_label(mercury__mult_4_0_i7);
Declare_label(mercury__mult_4_0_i1);
Declare_local(mercury__zero_1_0_l);
Declare_label(mercury__zero_1_0_i1000);
Declare_label(mercury__zero_1_0_i1001);
Declare_local(mercury__odd_1_0_l);
Declare_label(mercury__odd_1_0_i3);
Declare_label(mercury__odd_1_0_i1);
Declare_local(mercury__odd_1_1_l);
Declare_label(mercury__odd_1_1_i2);
Declare_label(mercury__odd_1_1_i5);
Declare_label(mercury__odd_1_1_i7);
Declare_label(mercury__odd_1_1_i9);
Declare_local(mercury__even_1_0_l);
Declare_label(mercury__even_1_0_i3);
Declare_label(mercury__even_1_0_i1);
Declare_local(mercury__even_1_1_l);
Declare_label(mercury__even_1_1_i2);
Declare_label(mercury__even_1_1_i5);
Declare_label(mercury__even_1_1_i7);
Declare_label(mercury__even_1_1_i9);
Declare_local(mercury__lefteven_1_0_l);
Declare_label(mercury__lefteven_1_0_i3);
Declare_label(mercury__lefteven_1_0_i1);
Declare_local(mercury__lefteven_1_1_l);
Declare_label(mercury__lefteven_1_1_i2);
Declare_label(mercury__lefteven_1_1_i5);
Declare_label(mercury__lefteven_1_1_i7);
BEGIN_MODULE(mercury__crypt_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_i2);
init_label(mercury__main_2_0_i5);
init_local(mercury__crypt_1_0_l);
init_label(mercury__crypt_1_0_i1);
init_label(mercury__crypt_1_0_i2);
init_label(mercury__crypt_1_0_i3);
init_label(mercury__crypt_1_0_i4);
init_label(mercury__crypt_1_0_i8);
init_label(mercury__crypt_1_0_i17);
init_label(mercury__crypt_1_0_i19);
init_label(mercury__crypt_1_0_i21);
init_label(mercury__crypt_1_0_i23);
init_label(mercury__crypt_1_0_i25);
init_label(mercury__crypt_1_0_i27);
init_label(mercury__crypt_1_0_i31);
init_label(mercury__crypt_1_0_i38);
init_label(mercury__crypt_1_0_i40);
init_label(mercury__crypt_1_0_i42);
init_label(mercury__crypt_1_0_i44);
init_label(mercury__crypt_1_0_i54);
init_label(mercury__crypt_1_0_i79);
init_label(mercury__crypt_1_0_i81);
init_label(mercury__crypt_1_0_i83);
init_label(mercury__crypt_1_0_i85);
init_label(mercury__crypt_1_0_i87);
init_local(mercury__sum2_3_0_l);
init_label(mercury__sum2_3_0_i3);
init_local(mercury__sum2_4_0_l);
init_label(mercury__sum2_4_0_i29);
init_label(mercury__sum2_4_0_i21);
init_label(mercury__sum2_4_0_i25);
init_label(mercury__sum2_4_0_i26);
init_label(mercury__sum2_4_0_i1003);
init_label(mercury__sum2_4_0_i16);
init_label(mercury__sum2_4_0_i17);
init_label(mercury__sum2_4_0_i6);
init_label(mercury__sum2_4_0_i10);
init_local(mercury__mult_3_0_l);
init_label(mercury__mult_3_0_i3);
init_local(mercury__mult_4_0_l);
init_label(mercury__mult_4_0_i6);
init_label(mercury__mult_4_0_i7);
init_label(mercury__mult_4_0_i1);
init_local(mercury__zero_1_0_l);
init_label(mercury__zero_1_0_i1000);
init_label(mercury__zero_1_0_i1001);
init_local(mercury__odd_1_0_l);
init_label(mercury__odd_1_0_i3);
init_label(mercury__odd_1_0_i1);
init_local(mercury__odd_1_1_l);
init_label(mercury__odd_1_1_i2);
init_label(mercury__odd_1_1_i5);
init_label(mercury__odd_1_1_i7);
init_label(mercury__odd_1_1_i9);
init_local(mercury__even_1_0_l);
init_label(mercury__even_1_0_i3);
init_label(mercury__even_1_0_i1);
init_local(mercury__even_1_1_l);
init_label(mercury__even_1_1_i2);
init_label(mercury__even_1_1_i5);
init_label(mercury__even_1_1_i7);
init_label(mercury__even_1_1_i9);
init_local(mercury__lefteven_1_0_l);
init_label(mercury__lefteven_1_0_i3);
init_label(mercury__lefteven_1_0_i1);
init_local(mercury__lefteven_1_1_l);
init_label(mercury__lefteven_1_1_i2);
init_label(mercury__lefteven_1_1_i5);
init_label(mercury__lefteven_1_1_i7);
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__crypt_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)
*/
Define_entry(mercury__main_2_0);
/* Procedure entry point */
{ mkframe("main/2", 3, LABEL(mercury__main_2_0_i2)); }
/* Nondet stackframe */
{ framevar(1) = (Integer) maxfr; }
/* Save maxfr */
{ mark_hp(framevar(2)); }
/* Save heap pointer */
{ framevar(0) = (Integer) r1; }
/* Assigning from DCG_0 */
/*
* Live lvalues:
* framevar(0)
* framevar(1)
* framevar(2)
*/
{ localcall(mercury__crypt_1_0_l,
LABEL(mercury__main_2_0_i3),
LABEL(mercury__main_2_0)); }
/*
* Garbage collection livevals info
* r1 num(7)
* framevar(2) hp
* framevar(1) 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));
/* Continuation label */
{ LVALUE_CAST(Word,bt_redoip((Integer) framevar(1))) = (Integer) ENTRY(do_fail); }
/* prune away the `else' case of the if-then-else */
{ r2 = (Integer) framevar(0); }
/* Assigning from DCG_0 */
/*
* Live lvalues:
* r1
* r2
* framevar(0)
* framevar(1)
*/
{ Declare_entry(mercury__print_list_3_0);
call(ENTRY(mercury__print_list_3_0),
LABEL(mercury__main_2_0_i4),
LABEL(mercury__main_2_0)); }
/*
* Garbage collection livevals info
* r3 num(8)
* framevar(1) maxfr
* framevar(0) num(8)
*/
/* branch to det procedure */
Define_label(mercury__main_2_0_i4);
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(2)); }
{ 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(1)
*/
{ 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(1) maxfr
*/
Define_label(mercury__main_2_0_i5);
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 crypt/1 in mode 0 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
O -> framevar(0)
G -> framevar(1)
C -> framevar(2)
Z -> framevar(3)
K -> framevar(0)
A -> framevar(4)
variable number 66 -> framevar(5)
X -> framevar(0)
I -> framevar(6)
E -> framevar(7)
HeadVar__1 -> framevar(8)
P -> framevar(9)
H -> framevar(10)
D -> framevar(3)
L -> framevar(8)
B -> framevar(11)
Y -> framevar(9)
J -> framevar(12)
F -> framevar(13)
N -> framevar(12)
*/
Define_local(mercury__crypt_1_0_l);
/* Procedure entry point */
{ mkframe("crypt/1", 14, ENTRY(do_fail)); }
/* Nondet stackframe */
/* End of procedure prologue */
{ framevar(5) = (Integer) mkword(mktag(0), mkbody(0)); }
/* Assigning from variable number 66 */
/*
* Live lvalues:
* framevar(5)
*/
{ localcall(mercury__odd_1_1_l,
LABEL(mercury__crypt_1_0_i1),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* r1 num(2)
* framevar(5) num(7)
*/
/* branch to nondet procedure */
Define_label(mercury__crypt_1_0_i1);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
/* Continuation label */
{ framevar(4) = (Integer) r1; }
/* Assigning from A */
/*
* Live lvalues:
* framevar(4)
* framevar(5)
*/
{ localcall(mercury__even_1_1_l,
LABEL(mercury__crypt_1_0_i2),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* r1 num(2)
* framevar(4) num(2)
* framevar(5) num(7)
*/
/* branch to nondet procedure */
Define_label(mercury__crypt_1_0_i2);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
/* Continuation label */
{ framevar(11) = (Integer) r1; }
/* Assigning from B */
/*
* Live lvalues:
* framevar(4)
* framevar(5)
* framevar(11)
*/
{ localcall(mercury__even_1_1_l,
LABEL(mercury__crypt_1_0_i3),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* r1 num(2)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(11) num(2)
*/
/* branch to nondet procedure */
Define_label(mercury__crypt_1_0_i3);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
/* Continuation label */
{ framevar(2) = (Integer) r1; }
/* Assigning from C */
/*
* Live lvalues:
* framevar(2)
* framevar(4)
* framevar(5)
* framevar(11)
*/
{ localcall(mercury__even_1_1_l,
LABEL(mercury__crypt_1_0_i4),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* r1 num(2)
* framevar(2) num(2)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(11) num(2)
*/
/* branch to nondet procedure */
Define_label(mercury__crypt_1_0_i4);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
{ incr_hp(r4, 6); }
{ r3 = (Integer) mkword(mktag(1), ((Integer) r4 + 16)); }
/* vn flush */
{ r5 = (Integer) mkword(mktag(1), ((Integer) r4 + 8)); }
/* vn flush */
{ r2 = (Integer) r1; }
/* vn flush */
{ framevar(7) = (Integer) r1; }
/* vn flush */
{ r1 = (Integer) mkword(mktag(1), (Integer) r4); }
/* vn flush */
{ field(mktag(1), (Integer) r5, 1) = (Integer) r3; }
/* vn flush */
{ field(mktag(1), (Integer) r1, 1) = (Integer) r5; }
/* vn flush */
{ field(mktag(1), (Integer) r3, 1) = (Integer) mkword(mktag(0), mkbody(0)); }
/* vn flush */
{ field(mktag(1), (Integer) r3, 0) = (Integer) framevar(4); }
/* vn flush */
{ field(mktag(1), (Integer) r5, 0) = (Integer) framevar(11); }
/* vn flush */
{ field(mktag(1), (Integer) r1, 0) = (Integer) framevar(2); }
/* vn flush */
/*
* Live lvalues:
* r1
* r2
* framevar(2)
* framevar(4)
* framevar(5)
* framevar(7)
* framevar(11)
*/
{ localcall(mercury__mult_3_0_l,
LABEL(mercury__crypt_1_0_i8),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* r3 num(7)
* framevar(2) num(2)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(7) num(2)
* framevar(11) num(2)
*/
Define_label(mercury__crypt_1_0_i8);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
{ if (((Integer) r3 == (Integer) mkword(mktag(0), mkbody(0))))
redo(); }
{ r1 = (Integer) field(mktag(1), (Integer) r3, 1); }
/* vn flush */
{ if (((Integer) r1 == (Integer) mkword(mktag(0), mkbody(0))))
redo(); }
{ r4 = (Integer) field(mktag(1), (Integer) r1, 1); }
/* vn flush */
{ if (((Integer) r4 == (Integer) mkword(mktag(0), mkbody(0))))
redo(); }
{ r5 = (Integer) field(mktag(1), (Integer) r4, 1); }
/* vn flush */
{ if (((Integer) r5 == (Integer) mkword(mktag(0), mkbody(0))))
redo(); }
{ r2 = (Integer) field(mktag(1), (Integer) r5, 0); }
/* vn flush */
{ Word temp1, temp2, temp3, temp4;
{ temp1 = (Integer) field(mktag(1), (Integer) r5, 1); }
/* vn flush */
{ temp2 = (Integer) field(mktag(1), (Integer) r4, 0); }
/* vn flush */
{ temp3 = (Integer) field(mktag(1), (Integer) r1, 0); }
/* vn flush */
{ temp4 = (Integer) field(mktag(1), (Integer) r3, 0); }
/* vn flush */
{ framevar(0) = (Integer) temp1; }
/* vn flush */
{ framevar(1) = (Integer) temp2; }
/* vn flush */
{ framevar(6) = (Integer) temp4; }
/* vn flush */
{ framevar(10) = (Integer) temp3; }
/* vn flush */
{ framevar(13) = (Integer) r2; }
/* vn flush */
/*
* Live lvalues:
* r2
* framevar(0)
* framevar(1)
* framevar(2)
* framevar(4)
* framevar(5)
* framevar(6)
* framevar(7)
* framevar(10)
* framevar(11)
* framevar(13)
*/
{ localcall(mercury__lefteven_1_0_l,
LABEL(mercury__crypt_1_0_i17),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* framevar(0) num(7)
* framevar(1) num(2)
* framevar(2) num(2)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(6) num(2)
* framevar(7) num(2)
* framevar(10) num(2)
* framevar(11) num(2)
* framevar(13) num(2)
*/
}
Define_label(mercury__crypt_1_0_i17);
/* Continuation label */
{ if (!((Integer) r1))
redo(); }
/* fail */
{ r2 = (Integer) framevar(1); }
/* Assigning from G */
/*
* Live lvalues:
* r2
* framevar(0)
* framevar(1)
* framevar(2)
* framevar(4)
* framevar(5)
* framevar(6)
* framevar(7)
* framevar(10)
* framevar(11)
* framevar(13)
*/
{ localcall(mercury__odd_1_0_l,
LABEL(mercury__crypt_1_0_i19),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* framevar(0) num(7)
* framevar(1) num(2)
* framevar(2) num(2)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(6) num(2)
* framevar(7) num(2)
* framevar(10) num(2)
* framevar(11) num(2)
* framevar(13) num(2)
*/
/* branch to semidet procedure */
Define_label(mercury__crypt_1_0_i19);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
/* Continuation label */
{ if (!((Integer) r1))
redo(); }
/* fail */
{ r2 = (Integer) framevar(10); }
/* Assigning from H */
/*
* Live lvalues:
* r2
* framevar(0)
* framevar(1)
* framevar(2)
* framevar(4)
* framevar(5)
* framevar(6)
* framevar(7)
* framevar(10)
* framevar(11)
* framevar(13)
*/
{ localcall(mercury__even_1_0_l,
LABEL(mercury__crypt_1_0_i21),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* framevar(0) num(7)
* framevar(1) num(2)
* framevar(2) num(2)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(6) num(2)
* framevar(7) num(2)
* framevar(10) num(2)
* framevar(11) num(2)
* framevar(13) num(2)
*/
/* branch to semidet procedure */
Define_label(mercury__crypt_1_0_i21);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
/* Continuation label */
{ if (!((Integer) r1))
redo(); }
/* fail */
{ r2 = (Integer) framevar(6); }
/* Assigning from I */
/*
* Live lvalues:
* r2
* framevar(0)
* framevar(1)
* framevar(2)
* framevar(4)
* framevar(5)
* framevar(6)
* framevar(7)
* framevar(10)
* framevar(11)
* framevar(13)
*/
{ localcall(mercury__even_1_0_l,
LABEL(mercury__crypt_1_0_i23),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* framevar(0) num(7)
* framevar(1) num(2)
* framevar(2) num(2)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(6) num(2)
* framevar(7) num(2)
* framevar(10) num(2)
* framevar(11) num(2)
* framevar(13) num(2)
*/
/* branch to semidet procedure */
Define_label(mercury__crypt_1_0_i23);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
/* Continuation label */
{ if (!((Integer) r1))
redo(); }
/* fail */
{ r2 = (Integer) framevar(0); }
/* Assigning from X */
/*
* Live lvalues:
* r2
* framevar(1)
* framevar(2)
* framevar(4)
* framevar(5)
* framevar(6)
* framevar(7)
* framevar(10)
* framevar(11)
* framevar(13)
*/
{ localcall(mercury__zero_1_0_l,
LABEL(mercury__crypt_1_0_i25),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* framevar(1) num(2)
* framevar(2) num(2)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(6) num(2)
* framevar(7) num(2)
* framevar(10) num(2)
* framevar(11) num(2)
* framevar(13) num(2)
*/
/* branch to semidet procedure */
Define_label(mercury__crypt_1_0_i25);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
/* Continuation label */
{ if (!((Integer) r1))
redo(); }
/* fail */
/*
* Live lvalues:
* framevar(1)
* framevar(2)
* framevar(4)
* framevar(5)
* framevar(6)
* framevar(7)
* framevar(10)
* framevar(11)
* framevar(13)
*/
{ localcall(mercury__lefteven_1_1_l,
LABEL(mercury__crypt_1_0_i27),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* r1 num(2)
* framevar(1) num(2)
* framevar(2) num(2)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(6) num(2)
* framevar(7) num(2)
* framevar(10) num(2)
* framevar(11) num(2)
* framevar(13) num(2)
*/
/* branch to nondet procedure */
Define_label(mercury__crypt_1_0_i27);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
{ incr_hp(r4, 6); }
{ r3 = (Integer) mkword(mktag(1), ((Integer) r4 + 16)); }
/* vn flush */
{ r5 = (Integer) mkword(mktag(1), ((Integer) r4 + 8)); }
/* vn flush */
{ r2 = (Integer) r1; }
/* vn flush */
{ framevar(3) = (Integer) r1; }
/* vn flush */
{ r1 = (Integer) mkword(mktag(1), (Integer) r4); }
/* vn flush */
{ field(mktag(1), (Integer) r5, 1) = (Integer) r3; }
/* vn flush */
{ field(mktag(1), (Integer) r1, 1) = (Integer) r5; }
/* vn flush */
{ field(mktag(1), (Integer) r3, 1) = (Integer) mkword(mktag(0), mkbody(0)); }
/* vn flush */
{ field(mktag(1), (Integer) r3, 0) = (Integer) framevar(4); }
/* vn flush */
{ field(mktag(1), (Integer) r5, 0) = (Integer) framevar(11); }
/* vn flush */
{ field(mktag(1), (Integer) r1, 0) = (Integer) framevar(2); }
/* vn flush */
/*
* Live lvalues:
* r1
* r2
* framevar(1)
* framevar(2)
* framevar(3)
* framevar(4)
* framevar(5)
* framevar(6)
* framevar(7)
* framevar(10)
* framevar(11)
* framevar(13)
*/
{ localcall(mercury__mult_3_0_l,
LABEL(mercury__crypt_1_0_i31),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* r3 num(7)
* framevar(1) num(2)
* framevar(2) num(2)
* framevar(3) num(2)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(6) num(2)
* framevar(7) num(2)
* framevar(10) num(2)
* framevar(11) num(2)
* framevar(13) num(2)
*/
Define_label(mercury__crypt_1_0_i31);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
{ if (((Integer) r3 == (Integer) mkword(mktag(0), mkbody(0))))
redo(); }
{ r1 = (Integer) field(mktag(1), (Integer) r3, 1); }
/* vn flush */
{ if (((Integer) r1 == (Integer) mkword(mktag(0), mkbody(0))))
redo(); }
{ r4 = (Integer) field(mktag(1), (Integer) r1, 1); }
/* vn flush */
{ if (((Integer) r4 == (Integer) mkword(mktag(0), mkbody(0))))
redo(); }
{ r2 = (Integer) field(mktag(1), (Integer) r4, 0); }
/* vn flush */
{ r5 = (Integer) field(mktag(1), (Integer) r4, 1); }
/* vn flush */
{ Word temp1, temp2;
{ temp1 = (Integer) field(mktag(1), (Integer) r1, 0); }
/* vn flush */
{ temp2 = (Integer) field(mktag(1), (Integer) r3, 0); }
/* vn flush */
{ framevar(0) = (Integer) temp1; }
/* vn flush */
{ framevar(8) = (Integer) temp2; }
/* vn flush */
{ framevar(9) = (Integer) r5; }
/* vn flush */
{ framevar(12) = (Integer) r2; }
/* vn flush */
/*
* Live lvalues:
* r2
* framevar(0)
* framevar(1)
* framevar(2)
* framevar(3)
* framevar(4)
* framevar(5)
* framevar(6)
* framevar(7)
* framevar(8)
* framevar(9)
* framevar(10)
* framevar(11)
* framevar(12)
* framevar(13)
*/
{ localcall(mercury__lefteven_1_0_l,
LABEL(mercury__crypt_1_0_i38),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* framevar(0) num(2)
* framevar(1) num(2)
* framevar(2) num(2)
* framevar(3) num(2)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(6) num(2)
* framevar(7) num(2)
* framevar(8) num(2)
* framevar(9) num(7)
* framevar(10) num(2)
* framevar(11) num(2)
* framevar(12) num(2)
* framevar(13) num(2)
*/
}
Define_label(mercury__crypt_1_0_i38);
/* Continuation label */
{ if (!((Integer) r1))
redo(); }
/* fail */
{ r2 = (Integer) framevar(0); }
/* Assigning from K */
/*
* Live lvalues:
* r2
* framevar(0)
* framevar(1)
* framevar(2)
* framevar(3)
* framevar(4)
* framevar(5)
* framevar(6)
* framevar(7)
* framevar(8)
* framevar(9)
* framevar(10)
* framevar(11)
* framevar(12)
* framevar(13)
*/
{ localcall(mercury__odd_1_0_l,
LABEL(mercury__crypt_1_0_i40),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* framevar(0) num(2)
* framevar(1) num(2)
* framevar(2) num(2)
* framevar(3) num(2)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(6) num(2)
* framevar(7) num(2)
* framevar(8) num(2)
* framevar(9) num(7)
* framevar(10) num(2)
* framevar(11) num(2)
* framevar(12) num(2)
* framevar(13) num(2)
*/
/* branch to semidet procedure */
Define_label(mercury__crypt_1_0_i40);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
/* Continuation label */
{ if (!((Integer) r1))
redo(); }
/* fail */
{ r2 = (Integer) framevar(8); }
/* Assigning from L */
/*
* Live lvalues:
* r2
* framevar(0)
* framevar(1)
* framevar(2)
* framevar(3)
* framevar(4)
* framevar(5)
* framevar(6)
* framevar(7)
* framevar(8)
* framevar(9)
* framevar(10)
* framevar(11)
* framevar(12)
* framevar(13)
*/
{ localcall(mercury__even_1_0_l,
LABEL(mercury__crypt_1_0_i42),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* framevar(0) num(2)
* framevar(1) num(2)
* framevar(2) num(2)
* framevar(3) num(2)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(6) num(2)
* framevar(7) num(2)
* framevar(8) num(2)
* framevar(9) num(7)
* framevar(10) num(2)
* framevar(11) num(2)
* framevar(12) num(2)
* framevar(13) num(2)
*/
/* branch to semidet procedure */
Define_label(mercury__crypt_1_0_i42);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
/* Continuation label */
{ if (!((Integer) r1))
redo(); }
/* fail */
{ r2 = (Integer) framevar(9); }
/* Assigning from Y */
/*
* Live lvalues:
* r2
* framevar(0)
* framevar(1)
* framevar(2)
* framevar(3)
* framevar(4)
* framevar(5)
* framevar(6)
* framevar(7)
* framevar(8)
* framevar(10)
* framevar(11)
* framevar(12)
* framevar(13)
*/
{ localcall(mercury__zero_1_0_l,
LABEL(mercury__crypt_1_0_i44),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* framevar(0) num(2)
* framevar(1) num(2)
* framevar(2) num(2)
* framevar(3) num(2)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(6) num(2)
* framevar(7) num(2)
* framevar(8) num(2)
* framevar(10) num(2)
* framevar(11) num(2)
* framevar(12) num(2)
* framevar(13) num(2)
*/
/* branch to semidet procedure */
Define_label(mercury__crypt_1_0_i44);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
{ if (!((Integer) r1))
redo(); }
{ incr_hp(r4, 16); }
{ r3 = (Integer) mkword(mktag(1), ((Integer) r4 + 56)); }
/* vn flush */
{ r5 = (Integer) mkword(mktag(1), ((Integer) r4 + 48)); }
/* vn flush */
{ Word temp1, temp2, temp3, temp4;
{ temp1 = (Integer) mkword(mktag(1), ((Integer) r4 + 40)); }
/* vn flush */
{ r2 = (Integer) mkword(mktag(1), ((Integer) r4 + 32)); }
/* vn flush */
{ temp2 = (Integer) mkword(mktag(1), ((Integer) r4 + 24)); }
/* vn flush */
{ temp3 = (Integer) mkword(mktag(1), ((Integer) r4 + 16)); }
/* vn flush */
{ temp4 = (Integer) mkword(mktag(1), ((Integer) r4 + 8)); }
/* vn flush */
{ r1 = (Integer) mkword(mktag(1), (Integer) r4); }
/* vn flush */
{ field(mktag(1), (Integer) r5, 1) = (Integer) r3; }
/* vn flush */
{ field(mktag(1), (Integer) temp1, 1) = (Integer) r5; }
/* vn flush */
{ field(mktag(1), (Integer) r2, 1) = (Integer) temp1; }
/* vn flush */
{ field(mktag(1), (Integer) temp3, 1) = (Integer) temp2; }
/* vn flush */
{ field(mktag(1), (Integer) temp4, 1) = (Integer) temp3; }
/* vn flush */
{ field(mktag(1), (Integer) r1, 1) = (Integer) temp4; }
/* vn flush */
{ field(mktag(1), (Integer) r3, 1) = (Integer) mkword(mktag(0), mkbody(0)); }
/* vn flush */
{ field(mktag(1), (Integer) r3, 0) = (Integer) framevar(12); }
/* vn flush */
{ field(mktag(1), (Integer) r5, 0) = (Integer) framevar(0); }
/* vn flush */
{ field(mktag(1), (Integer) temp1, 0) = (Integer) framevar(8); }
/* vn flush */
{ field(mktag(1), (Integer) r2, 0) = 0; }
/* vn flush */
{ field(mktag(1), (Integer) temp2, 1) = (Integer) mkword(mktag(0), mkbody(0)); }
/* vn flush */
{ field(mktag(1), (Integer) temp2, 0) = (Integer) framevar(13); }
/* vn flush */
{ field(mktag(1), (Integer) temp3, 0) = (Integer) framevar(1); }
/* vn flush */
{ field(mktag(1), (Integer) temp4, 0) = (Integer) framevar(10); }
/* vn flush */
{ field(mktag(1), (Integer) r1, 0) = (Integer) framevar(6); }
/* vn flush */
/*
* Live lvalues:
* r1
* r2
* framevar(0)
* framevar(1)
* framevar(2)
* framevar(3)
* framevar(4)
* framevar(5)
* framevar(6)
* framevar(7)
* framevar(8)
* framevar(10)
* framevar(11)
* framevar(12)
* framevar(13)
*/
{ localcall(mercury__sum2_3_0_l,
LABEL(mercury__crypt_1_0_i54),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* r3 num(7)
* framevar(0) num(2)
* framevar(1) num(2)
* framevar(2) num(2)
* framevar(3) num(2)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(6) num(2)
* framevar(7) num(2)
* framevar(8) num(2)
* framevar(10) num(2)
* framevar(11) num(2)
* framevar(12) num(2)
* framevar(13) num(2)
*/
}
Define_label(mercury__crypt_1_0_i54);
/* Continuation label */
/* checking that variable number 23 has functor '.'/2 (inverted test) */
{ if (((Integer) r3 == (Integer) mkword(mktag(0), mkbody(0))))
redo(); }
/* fail */
/* checking that variable number 33 has functor '.'/2 (inverted test) */
{ if (((Integer) field(mktag(1), (Integer) r3, 1) == (Integer) mkword(mktag(0), mkbody(0))))
redo(); }
/* fail */
/* checking that variable number 34 has functor '.'/2 (inverted test) */
{ if (((Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) r3, 1), 1) == (Integer) mkword(mktag(0), mkbody(0))))
redo(); }
/* fail */
/* checking that variable number 35 has functor '.'/2 (inverted test) */
{ if (((Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) r3, 1), 1), 1) == (Integer) mkword(mktag(0), mkbody(0))))
redo(); }
/* fail */
{ r1 = (Integer) framevar(0); }
/* shuffle lval */
{ framevar(0) = (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) r3, 1), 0); }
/* Assigning from O */
{ r2 = (Integer) framevar(3); }
/* shuffle lval */
{ framevar(3) = (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) r3, 1), 1), 1), 1); }
/* Assigning from Z */
{ r4 = (Integer) framevar(8); }
/* shuffle lval */
{ r5 = (Integer) framevar(5); }
/* Assigning from variable number 66 */
{ tag_incr_hp(framevar(8), mktag(1), 2); }
/* Allocating heap for HeadVar__1 */
{ field(mktag(1), (Integer) framevar(8), 0) = (Integer) framevar(4); }
/* Assigning from */
{ tag_incr_hp(field(mktag(1), (Integer) framevar(8), 1), mktag(1), 2); }
/* Allocating heap for */
{ field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 0) = (Integer) framevar(11); }
/* Assigning from */
{ tag_incr_hp(field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), mktag(1), 2); }
/* Allocating heap for */
{ field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 0) = (Integer) framevar(2); }
/* Assigning from */
{ tag_incr_hp(field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), mktag(1), 2); }
/* Allocating heap for */
{ field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 0) = (Integer) r2; }
/* Assigning from */
{ tag_incr_hp(field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), mktag(1), 2); }
/* Allocating heap for */
{ field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 0) = (Integer) framevar(7); }
/* Assigning from */
{ tag_incr_hp(field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), mktag(1), 2); }
/* Allocating heap for */
{ field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 0) = (Integer) framevar(13); }
/* Assigning from */
{ tag_incr_hp(field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), mktag(1), 2); }
/* Allocating heap for */
{ field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 0) = (Integer) framevar(1); }
/* Assigning from */
{ tag_incr_hp(field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), mktag(1), 2); }
/* Allocating heap for */
{ field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), 0) = (Integer) framevar(10); }
/* Assigning from */
{ tag_incr_hp(field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), 1), mktag(1), 2); }
/* Allocating heap for */
{ field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), 1), 0) = (Integer) framevar(6); }
/* Assigning from */
{ tag_incr_hp(field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), 1), 1), mktag(1), 2); }
/* Allocating heap for */
{ field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), 1), 1), 0) = (Integer) framevar(12); }
/* Assigning from */
{ tag_incr_hp(field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), mktag(1), 2); }
/* Allocating heap for */
{ field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 0) = (Integer) r1; }
/* Assigning from */
{ tag_incr_hp(field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), mktag(1), 2); }
/* Allocating heap for */
{ field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 0) = (Integer) r4; }
/* Assigning from */
{ tag_incr_hp(field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), mktag(1), 2); }
/* Allocating heap for */
{ field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 0) = (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) r3, 1), 1), 1), 0); }
/* Assigning from */
{ tag_incr_hp(field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), mktag(1), 2); }
/* Allocating heap for */
{ field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 0) = (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) r3, 1), 1), 0); }
/* Assigning from */
{ tag_incr_hp(field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), mktag(1), 2); }
/* Allocating heap for */
{ field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 0) = (Integer) framevar(0); }
/* Assigning from */
{ tag_incr_hp(field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), mktag(1), 2); }
/* Allocating heap for */
{ field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 0) = (Integer) field(mktag(1), (Integer) r3, 0); }
/* Assigning from */
{ field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) framevar(8), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1), 1) = (Integer) r5; }
/* Assigning from */
{ framevar(9) = (Integer) field(mktag(1), (Integer) r3, 0); }
/* Assigning from P */
{ r6 = (Integer) framevar(12); }
/* shuffle lval */
{ framevar(12) = (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) r3, 1), 1), 0); }
/* Assigning from N */
{ r7 = (Integer) r2; }
/* shuffle lval */
{ r2 = (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) field(mktag(1), (Integer) r3, 1), 1), 1), 0); }
/* Assigning from M */
/*
* Live lvalues:
* r2
* framevar(0)
* framevar(1)
* framevar(2)
* framevar(3)
* framevar(4)
* framevar(5)
* framevar(6)
* framevar(7)
* framevar(8)
* framevar(9)
* framevar(10)
* framevar(11)
* framevar(12)
* framevar(13)
*/
{ localcall(mercury__odd_1_0_l,
LABEL(mercury__crypt_1_0_i79),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* framevar(0) num(2)
* framevar(1) num(2)
* framevar(2) num(2)
* framevar(3) num(7)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(6) num(2)
* framevar(7) num(2)
* framevar(8) num(7)
* framevar(9) num(2)
* framevar(10) num(2)
* framevar(11) num(2)
* framevar(12) num(2)
* framevar(13) num(2)
*/
/* branch to semidet procedure */
Define_label(mercury__crypt_1_0_i79);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
/* Continuation label */
{ if (!((Integer) r1))
redo(); }
/* fail */
{ r2 = (Integer) framevar(12); }
/* Assigning from N */
/*
* Live lvalues:
* r2
* framevar(0)
* framevar(1)
* framevar(2)
* framevar(3)
* framevar(4)
* framevar(5)
* framevar(6)
* framevar(7)
* framevar(8)
* framevar(9)
* framevar(10)
* framevar(11)
* framevar(13)
*/
{ localcall(mercury__odd_1_0_l,
LABEL(mercury__crypt_1_0_i81),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* framevar(0) num(2)
* framevar(1) num(2)
* framevar(2) num(2)
* framevar(3) num(7)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(6) num(2)
* framevar(7) num(2)
* framevar(8) num(7)
* framevar(9) num(2)
* framevar(10) num(2)
* framevar(11) num(2)
* framevar(13) num(2)
*/
/* branch to semidet procedure */
Define_label(mercury__crypt_1_0_i81);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
/* Continuation label */
{ if (!((Integer) r1))
redo(); }
/* fail */
{ r2 = (Integer) framevar(0); }
/* Assigning from O */
/*
* Live lvalues:
* r2
* framevar(1)
* framevar(2)
* framevar(3)
* framevar(4)
* framevar(5)
* framevar(6)
* framevar(7)
* framevar(8)
* framevar(9)
* framevar(10)
* framevar(11)
* framevar(13)
*/
{ localcall(mercury__even_1_0_l,
LABEL(mercury__crypt_1_0_i83),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* framevar(1) num(2)
* framevar(2) num(2)
* framevar(3) num(7)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(6) num(2)
* framevar(7) num(2)
* framevar(8) num(7)
* framevar(9) num(2)
* framevar(10) num(2)
* framevar(11) num(2)
* framevar(13) num(2)
*/
/* branch to semidet procedure */
Define_label(mercury__crypt_1_0_i83);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
/* Continuation label */
{ if (!((Integer) r1))
redo(); }
/* fail */
{ r2 = (Integer) framevar(9); }
/* Assigning from P */
/*
* Live lvalues:
* r2
* framevar(1)
* framevar(2)
* framevar(3)
* framevar(4)
* framevar(5)
* framevar(6)
* framevar(7)
* framevar(8)
* framevar(10)
* framevar(11)
* framevar(13)
*/
{ localcall(mercury__even_1_0_l,
LABEL(mercury__crypt_1_0_i85),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* framevar(1) num(2)
* framevar(2) num(2)
* framevar(3) num(7)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(6) num(2)
* framevar(7) num(2)
* framevar(8) num(7)
* framevar(10) num(2)
* framevar(11) num(2)
* framevar(13) num(2)
*/
/* branch to semidet procedure */
Define_label(mercury__crypt_1_0_i85);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
/* Continuation label */
{ if (!((Integer) r1))
redo(); }
/* fail */
{ r2 = (Integer) framevar(3); }
/* Assigning from Z */
/*
* Live lvalues:
* r2
* framevar(1)
* framevar(2)
* framevar(4)
* framevar(5)
* framevar(6)
* framevar(7)
* framevar(8)
* framevar(10)
* framevar(11)
* framevar(13)
*/
{ localcall(mercury__zero_1_0_l,
LABEL(mercury__crypt_1_0_i87),
LABEL(mercury__crypt_1_0_l)); }
/*
* Garbage collection livevals info
* framevar(1) num(2)
* framevar(2) num(2)
* framevar(4) num(2)
* framevar(5) num(7)
* framevar(6) num(2)
* framevar(7) num(2)
* framevar(8) num(7)
* framevar(10) num(2)
* framevar(11) num(2)
* framevar(13) num(2)
*/
/* branch to semidet procedure */
Define_label(mercury__crypt_1_0_i87);
update_prof_current_proc(LABEL(mercury__crypt_1_0_l));
/* Continuation label */
{ if (!((Integer) r1))
redo(); }
/* fail */
/* Start of procedure epilogue */
{ r1 = (Integer) framevar(8); }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
*/
{ succeed(); }
/* Succeed */
/*-------------------------------------------------------------------------*/
/* code for predicate sum2/3 in mode 0 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
*/
Define_local(mercury__sum2_3_0_l);
/* Procedure entry point */
/* End of procedure prologue */
{ r3 = 0; }
/* Assigning from variable number 7 */
incr_sp(1);
/* late setup */
{ detstackvar(1) = (Integer) succip; }
/* late save */
{ localcall(mercury__sum2_4_0_l,
LABEL(mercury__sum2_3_0_i3),
LABEL(mercury__sum2_3_0_l)); }
/*
* Garbage collection livevals info
* detstackvar(1) succip
* r4 num(7)
*/
/* branch to det procedure */
Define_label(mercury__sum2_3_0_i3);
update_prof_current_proc(LABEL(mercury__sum2_3_0_l));
/* Continuation label */
{ r3 = (Integer) r4; }
/* Assigning from HeadVar__3 */
{ LVALUE_CAST(Word,succip) = (Integer) detstackvar(1); }
/* restore the success ip */
decr_sp(1);
/* Deallocate stack frame */
/*
* Live lvalues:
* r3
*/
{ proceed(); }
/* Return from procedure call */
/*-------------------------------------------------------------------------*/
/* code for predicate sum2/4 in mode 0 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
B -> stackvar(1)
AL -> stackvar(1)
HeadVar__2 -> stackvar(2)
Carry -> stackvar(3)
C -> stackvar(1)
HeadVar__1 -> stackvar(2)
BL -> stackvar(4)
C -> stackvar(1)
Carry -> stackvar(1)
C -> stackvar(1)
Carry -> stackvar(3)
A -> stackvar(4)
*/
Define_local(mercury__sum2_4_0_l);
/* Procedure entry point */
/* End of procedure prologue */
/* checking that HeadVar__2 has functor '[]'/0 */
{ detstackvar(0) = (Integer) succip; }
/* late save */
{ if (((Integer) r2 == (Integer) mkword(mktag(0), mkbody(0))))
GOTO_LABEL(mercury__sum2_4_0_i1003); }
/* jump to setup */
/* checking that HeadVar__1 has functor '[]'/0 */
incr_sp(5);
/* late setup after succip */
{ if (((Integer) r1 == (Integer) mkword(mktag(0), mkbody(0))))
GOTO_LABEL(mercury__sum2_4_0_i21); }
/* tag test */
{ r4 = (((Integer) field(mktag(1), (Integer) r1, 0) + (Integer) field(mktag(1), (Integer) r2, 0)) + (Integer) r3); }
/* vn flush */
{ r2 = (Integer) field(mktag(1), (Integer) r2, 1); }
/* vn flush */
{ r1 = (Integer) field(mktag(1), (Integer) r1, 1); }
/* vn flush */
{ r3 = ((Integer) r4 / 10); }
/* vn flush */
{ detstackvar(1) = ((Integer) r4 % 10); }
/* vn flush */
/*
* Live lvalues:
* r1
* r2
* r3
* detstackvar(1)
* detstackvar(5)
*/
{ localcall(mercury__sum2_4_0_l,
LABEL(mercury__sum2_4_0_i29),
LABEL(mercury__sum2_4_0_l)); }
/*
* Garbage collection livevals info
* detstackvar(5) succip
* r4 num(7)
* detstackvar(1) num(2)
*/
Define_label(mercury__sum2_4_0_i29);
update_prof_current_proc(LABEL(mercury__sum2_4_0_l));
/* Continuation label */
{ r1 = (Integer) r4; }
/* shuffle lval */
{ tag_incr_hp(r4, mktag(1), 2); }
/* Allocating heap for HeadVar__4 */
{ field(mktag(1), (Integer) r4, 0) = (Integer) detstackvar(1); }
/* Assigning from */
{ field(mktag(1), (Integer) r4, 1) = (Integer) r1; }
/* Assigning from */
{ LVALUE_CAST(Word,succip) = (Integer) detstackvar(5); }
/* restore the success ip */
decr_sp(5);
/* Deallocate stack frame */
/*
* Live lvalues:
* r4
*/
{ proceed(); }
/* Return from procedure call */
Define_label(mercury__sum2_4_0_i21);
/* next case */
{ r1 = (Integer) field(mktag(1), (Integer) r2, 1); }
/* Assigning from BL */
{ r4 = (Integer) field(mktag(1), (Integer) r2, 0); }
/* Assigning from B */
/* checking that Carry has functor 0 */
{ if (((Integer) r3 == 0))
GOTO_LABEL(mercury__sum2_4_0_i25); }
/* branch over failure */
{ r2 = (Integer) r1; }
/* vn flush */
{ r5 = ((Integer) r4 + (Integer) r3); }
/* vn flush */
{ r1 = (Integer) mkword(mktag(0), mkbody(0)); }
/* vn flush */
{ r3 = ((Integer) r5 / 10); }
/* vn flush */
{ detstackvar(1) = ((Integer) r5 % 10); }
/* vn flush */
/*
* Live lvalues:
* r1
* r2
* r3
* detstackvar(1)
* detstackvar(5)
*/
{ localcall(mercury__sum2_4_0_l,
LABEL(mercury__sum2_4_0_i26),
LABEL(mercury__sum2_4_0_l)); }
/*
* Garbage collection livevals info
* detstackvar(5) succip
* r4 num(7)
* detstackvar(1) num(2)
*/
Define_label(mercury__sum2_4_0_i25);
{ r4 = (Integer) r2; }
/* Assigning from HeadVar__4 */
{ LVALUE_CAST(Word,succip) = (Integer) detstackvar(5); }
/* restore the success ip */
decr_sp(5);
/* Deallocate stack frame */
/*
* Live lvalues:
* r4
*/
{ proceed(); }
/* Return from procedure call */
Define_label(mercury__sum2_4_0_i26);
update_prof_current_proc(LABEL(mercury__sum2_4_0_l));
/* Continuation label */
{ r1 = (Integer) r4; }
/* shuffle lval */
{ tag_incr_hp(r4, mktag(1), 2); }
/* Allocating heap for HeadVar__4 */
{ field(mktag(1), (Integer) r4, 0) = (Integer) detstackvar(1); }
/* Assigning from */
{ field(mktag(1), (Integer) r4, 1) = (Integer) r1; }
/* Assigning from */
{ LVALUE_CAST(Word,succip) = (Integer) detstackvar(5); }
/* restore the success ip */
decr_sp(5);
/* Deallocate stack frame */
/*
* Live lvalues:
* r4
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__sum2_4_0_i1003);
/* label for late setup code */
incr_sp(5);
/* late setup after succip */
/* checking that HeadVar__1 has functor '[]'/0 */
{ if (((Integer) r1 == (Integer) mkword(mktag(0), mkbody(0))))
GOTO_LABEL(mercury__sum2_4_0_i6); }
/* tag test */
{ r2 = (Integer) field(mktag(1), (Integer) r1, 0); }
/* Assigning from A */
{ r4 = (Integer) field(mktag(1), (Integer) r1, 1); }
/* Assigning from AL */
/* checking that Carry has functor 0 */
{ if (((Integer) r3 == 0))
GOTO_LABEL(mercury__sum2_4_0_i16); }
/* branch over failure */
{ r5 = ((Integer) r2 + (Integer) r3); }
/* vn flush */
{ r1 = (Integer) mkword(mktag(0), mkbody(0)); }
/* vn flush */
{ r2 = (Integer) r4; }
/* vn flush */
{ r3 = ((Integer) r5 / 10); }
/* vn flush */
{ detstackvar(1) = ((Integer) r5 % 10); }
/* vn flush */
/*
* Live lvalues:
* r1
* r2
* r3
* detstackvar(1)
* detstackvar(5)
*/
{ localcall(mercury__sum2_4_0_l,
LABEL(mercury__sum2_4_0_i17),
LABEL(mercury__sum2_4_0_l)); }
/*
* Garbage collection livevals info
* detstackvar(5) succip
* r4 num(7)
* detstackvar(1) num(2)
*/
Define_label(mercury__sum2_4_0_i16);
{ r4 = (Integer) r1; }
/* Assigning from HeadVar__4 */
{ LVALUE_CAST(Word,succip) = (Integer) detstackvar(5); }
/* restore the success ip */
decr_sp(5);
/* Deallocate stack frame */
/*
* Live lvalues:
* r4
*/
{ proceed(); }
/* Return from procedure call */
Define_label(mercury__sum2_4_0_i17);
update_prof_current_proc(LABEL(mercury__sum2_4_0_l));
/* Continuation label */
{ r1 = (Integer) r4; }
/* shuffle lval */
{ tag_incr_hp(r4, mktag(1), 2); }
/* Allocating heap for HeadVar__4 */
{ field(mktag(1), (Integer) r4, 0) = (Integer) detstackvar(1); }
/* Assigning from */
{ field(mktag(1), (Integer) r4, 1) = (Integer) r1; }
/* Assigning from */
{ LVALUE_CAST(Word,succip) = (Integer) detstackvar(5); }
/* restore the success ip */
decr_sp(5);
/* Deallocate stack frame */
/*
* Live lvalues:
* r4
*/
{ proceed(); }
/* shortcircuit */
Define_label(mercury__sum2_4_0_i6);
/* next case */
/* checking that Carry has functor 0 */
{ if (((Integer) r3 == 0))
GOTO_LABEL(mercury__sum2_4_0_i10); }
/* branch over failure */
{ tag_incr_hp(r4, mktag(1), 2); }
/* Allocating heap for HeadVar__4 */
{ field(mktag(1), (Integer) r4, 0) = (Integer) r3; }
/* Assigning from */
{ field(mktag(1), (Integer) r4, 1) = (Integer) mkword(mktag(0), mkbody(0)); }
/* Assigning from */
{ LVALUE_CAST(Word,succip) = (Integer) detstackvar(5); }
/* restore the success ip */
decr_sp(5);
/* Deallocate stack frame */
/*
* Live lvalues:
* r4
*/
{ proceed(); }
/* Return from procedure call */
Define_label(mercury__sum2_4_0_i10);
{ r4 = (Integer) mkword(mktag(0), mkbody(0)); }
/* Assigning from HeadVar__4 */
{ LVALUE_CAST(Word,succip) = (Integer) detstackvar(5); }
/* restore the success ip */
decr_sp(5);
/* Deallocate stack frame */
/*
* Live lvalues:
* r4
*/
{ proceed(); }
/* shortcircuit */
/*-------------------------------------------------------------------------*/
/* code for predicate mult/3 in mode 0 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
*/
Define_local(mercury__mult_3_0_l);
/* Procedure entry point */
/* End of procedure prologue */
{ r3 = 0; }
/* Assigning from variable number 7 */
incr_sp(1);
/* late setup */
{ detstackvar(1) = (Integer) succip; }
/* late save */
{ localcall(mercury__mult_4_0_l,
LABEL(mercury__mult_3_0_i3),
LABEL(mercury__mult_3_0_l)); }
/*
* Garbage collection livevals info
* detstackvar(1) succip
* r4 num(7)
*/
/* branch to det procedure */
Define_label(mercury__mult_3_0_i3);
update_prof_current_proc(LABEL(mercury__mult_3_0_l));
/* Continuation label */
{ r3 = (Integer) r4; }
/* Assigning from HeadVar__3 */
{ LVALUE_CAST(Word,succip) = (Integer) detstackvar(1); }
/* restore the success ip */
decr_sp(1);
/* Deallocate stack frame */
/*
* Live lvalues:
* r3
*/
{ proceed(); }
/* Return from procedure call */
/*-------------------------------------------------------------------------*/
/* code for predicate mult/4 in mode 0 */
Define_local(mercury__mult_4_0_l);
/* Procedure entry point */
/*
Stack slot assignments (if any):
B -> stackvar(1)
*/
/* checking that HeadVar__1 has functor '[]'/0 */
{ if (((Integer) r1 == (Integer) mkword(mktag(0), mkbody(0))))
GOTO_LABEL(mercury__mult_4_0_i1); }
/* tag test */
{ r6 = (Integer) sp; }
/* initialize counter register */
Define_label(mercury__mult_4_0_i6);
incr_sp(1);
/* src_access(vn_field(1, 0, 1)), src_access(vn_field(1, 0, 1)), */
{ r5 = (Integer) r1; }
/* vn flush */
{ r1 = (Integer) field(mktag(1), (Integer) r1, 1); }
/* vn flush */
{ Word temp1, temp2, temp3, temp4;
{ temp1 = (Integer) field(mktag(1), (Integer) r5, 0); }
/* vn flush */
{ temp2 = (((Integer) temp1 * (Integer) r2) + (Integer) r3); }
/* vn flush */
{ detstackvar(1) = ((Integer) temp2 % 10); }
/* vn flush */
{ r3 = ((Integer) temp2 / 10); }
/* vn flush */
/*
* Live lvalues:
* r1
* r2
* r3
* r6
* detstackvar(1)
*/
{ if (((Integer) r1 != (Integer) mkword(mktag(0), mkbody(0))))
GOTO_LABEL(mercury__mult_4_0_i6); }
{ incr_hp(temp4, 4); }
{ temp3 = (Integer) mkword(mktag(1), ((Integer) temp4 + 8)); }
/* vn flush */
{ r4 = (Integer) mkword(mktag(1), (Integer) temp4); }
/* vn flush */
{ field(mktag(1), (Integer) temp3, 1) = (Integer) mkword(mktag(0), mkbody(0)); }
/* vn flush */
{ field(mktag(1), (Integer) temp3, 0) = ((Integer) r3 / 10); }
/* vn flush */
{ field(mktag(1), (Integer) r4, 1) = (Integer) temp3; }
/* vn flush */
{ field(mktag(1), (Integer) r4, 0) = ((Integer) r3 % 10); }
/* vn flush */
}
Define_label(mercury__mult_4_0_i7);
while (1) {
{ r1 = (Integer) r4; }
/* shuffle lval */
{ tag_incr_hp(r4, mktag(1), 2); }
/* Allocating heap for HeadVar__4 */
{ field(mktag(1), (Integer) r4, 0) = (Integer) detstackvar(1); }
/* Assigning from */
{ field(mktag(1), (Integer) r4, 1) = (Integer) r1; }
/* Assigning from */
decr_sp(1);
{ if (((Integer) sp > (Integer) r6))
continue; }
/* test on upward loop */
/*
* Live lvalues:
* r4
*/
{ proceed(); }
/* exit from recursive case */
break; } /* end while */
Define_label(mercury__mult_4_0_i1);
{ incr_hp(r2, 4); }
{ r1 = (Integer) mkword(mktag(1), ((Integer) r2 + 8)); }
/* vn flush */
{ r4 = (Integer) mkword(mktag(1), (Integer) r2); }
/* vn flush */
{ field(mktag(1), (Integer) r4, 1) = (Integer) r1; }
/* vn flush */
{ field(mktag(1), (Integer) r1, 1) = (Integer) mkword(mktag(0), mkbody(0)); }
/* vn flush */
{ field(mktag(1), (Integer) r1, 0) = ((Integer) r3 / 10); }
/* vn flush */
{ field(mktag(1), (Integer) r4, 0) = ((Integer) r3 % 10); }
/* vn flush */
/*
* Live lvalues:
* r4
*/
{ proceed(); }
/*-------------------------------------------------------------------------*/
/* code for predicate zero/1 in mode 0 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
*/
Define_local(mercury__zero_1_0_l);
{ if (((Integer) r2 == (Integer) mkword(mktag(0), mkbody(0))))
GOTO_LABEL(mercury__zero_1_0_i1001); }
/* (teardown redirect) */
{ r3 = (Integer) field(mktag(1), (Integer) r2, 0); }
/* vn flush */
{ if (((Integer) r3 == 0))
GOTO_LABEL(mercury__zero_1_0_i1000); }
/* (teardown redirect) */
{ r1 = FALSE; }
/* vn flush */
/*
* Live lvalues:
* r1
*/
{ proceed(); }
Define_label(mercury__zero_1_0_i1000);
/* non-teardown parallel label */
while (1) {
{ r2 = (Integer) field(mktag(1), (Integer) r2, 1); }
/* vn flush */
{ if (((Integer) r2 == (Integer) mkword(mktag(0), mkbody(0))))
GOTO_LABEL(mercury__zero_1_0_i1001); }
/* (teardown redirect) */
{ r3 = (Integer) field(mktag(1), (Integer) r2, 0); }
/* vn flush */
{ if (((Integer) r3 == 0))
continue; }
/* (teardown redirect) */
{ r1 = FALSE; }
/* vn flush */
/*
* Live lvalues:
* r1
*/
{ proceed(); }
break; } /* end while */
Define_label(mercury__zero_1_0_i1001);
/* non-teardown parallel label */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
*/
{ proceed(); }
/* Return from procedure call */
/*-------------------------------------------------------------------------*/
/* code for predicate odd/1 in mode 0 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
*/
Define_local(mercury__odd_1_0_l);
/* Procedure entry point */
/* End of procedure prologue */
{ if (((unsigned)(((Integer) r2 - 1)) > 8))
GOTO_LABEL(mercury__odd_1_0_i1); }
/* Test for failure */
{ COMPUTED_GOTO(((Integer) r2 - 1),
LABEL(mercury__odd_1_0_i3) AND
LABEL(mercury__odd_1_0_i1) AND
LABEL(mercury__odd_1_0_i3) AND
LABEL(mercury__odd_1_0_i1) AND
LABEL(mercury__odd_1_0_i3) AND
LABEL(mercury__odd_1_0_i1) AND
LABEL(mercury__odd_1_0_i3) AND
LABEL(mercury__odd_1_0_i1) AND
LABEL(mercury__odd_1_0_i3)); }
/* switch (using dense jump table) (some shortcircuits) */
Define_label(mercury__odd_1_0_i3);
/* End of dense switch */
/* Start of procedure epilogue */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
*/
{ proceed(); }
/* Return from procedure call */
Define_label(mercury__odd_1_0_i1);
/* End of failure continuation */
{ r1 = FALSE; }
/* Fail */
/*
* Live lvalues:
* r1
*/
{ proceed(); }
/* Return from procedure call */
/*-------------------------------------------------------------------------*/
/* code for predicate odd/1 in mode 1 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
*/
Define_local(mercury__odd_1_1_l);
/* Procedure entry point */
{ mkframe("odd/1", 2, LABEL(mercury__odd_1_1_i2)); }
/* Nondet stackframe */
{ mark_hp(framevar(1)); }
/* Save heap pointer */
{ r1 = 1; }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__odd_1_1_i2);
update_prof_current_proc(LABEL(mercury__odd_1_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__odd_1_1_i5); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r1 = 3; }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__odd_1_1_i5);
update_prof_current_proc(LABEL(mercury__odd_1_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__odd_1_1_i7); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r1 = 5; }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__odd_1_1_i7);
update_prof_current_proc(LABEL(mercury__odd_1_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__odd_1_1_i9); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r1 = 7; }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__odd_1_1_i9);
update_prof_current_proc(LABEL(mercury__odd_1_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 */
{ r1 = 9; }
/* Assigning from HeadVar__1 */
/* Start of procedure epilogue */
/*
* Live lvalues:
* r1
*/
{ succeed(); }
/* Succeed */
/*-------------------------------------------------------------------------*/
/* code for predicate even/1 in mode 0 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
*/
Define_local(mercury__even_1_0_l);
/* Procedure entry point */
/* End of procedure prologue */
{ if (((unsigned)((Integer) r2) > 8))
GOTO_LABEL(mercury__even_1_0_i1); }
/* Test for failure */
{ COMPUTED_GOTO((Integer) r2,
LABEL(mercury__even_1_0_i3) AND
LABEL(mercury__even_1_0_i1) AND
LABEL(mercury__even_1_0_i3) AND
LABEL(mercury__even_1_0_i1) AND
LABEL(mercury__even_1_0_i3) AND
LABEL(mercury__even_1_0_i1) AND
LABEL(mercury__even_1_0_i3) AND
LABEL(mercury__even_1_0_i1) AND
LABEL(mercury__even_1_0_i3)); }
/* switch (using dense jump table) (some shortcircuits) */
Define_label(mercury__even_1_0_i3);
/* End of dense switch */
/* Start of procedure epilogue */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
*/
{ proceed(); }
/* Return from procedure call */
Define_label(mercury__even_1_0_i1);
/* End of failure continuation */
{ r1 = FALSE; }
/* Fail */
/*
* Live lvalues:
* r1
*/
{ proceed(); }
/* Return from procedure call */
/*-------------------------------------------------------------------------*/
/* code for predicate even/1 in mode 1 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
*/
Define_local(mercury__even_1_1_l);
/* Procedure entry point */
{ mkframe("even/1", 2, LABEL(mercury__even_1_1_i2)); }
/* Nondet stackframe */
{ mark_hp(framevar(1)); }
/* Save heap pointer */
{ r1 = 0; }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__even_1_1_i2);
update_prof_current_proc(LABEL(mercury__even_1_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__even_1_1_i5); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r1 = 2; }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__even_1_1_i5);
update_prof_current_proc(LABEL(mercury__even_1_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__even_1_1_i7); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r1 = 4; }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__even_1_1_i7);
update_prof_current_proc(LABEL(mercury__even_1_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__even_1_1_i9); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r1 = 6; }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__even_1_1_i9);
update_prof_current_proc(LABEL(mercury__even_1_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 */
{ r1 = 8; }
/* Assigning from HeadVar__1 */
/* Start of procedure epilogue */
/*
* Live lvalues:
* r1
*/
{ succeed(); }
/* Succeed */
/*-------------------------------------------------------------------------*/
/* code for predicate lefteven/1 in mode 0 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
*/
Define_local(mercury__lefteven_1_0_l);
/* Procedure entry point */
/* End of procedure prologue */
{ if (((unsigned)(((Integer) r2 - 2)) > 6))
GOTO_LABEL(mercury__lefteven_1_0_i1); }
/* Test for failure */
{ COMPUTED_GOTO(((Integer) r2 - 2),
LABEL(mercury__lefteven_1_0_i3) AND
LABEL(mercury__lefteven_1_0_i1) AND
LABEL(mercury__lefteven_1_0_i3) AND
LABEL(mercury__lefteven_1_0_i1) AND
LABEL(mercury__lefteven_1_0_i3) AND
LABEL(mercury__lefteven_1_0_i1) AND
LABEL(mercury__lefteven_1_0_i3)); }
/* switch (using dense jump table) (some shortcircuits) */
Define_label(mercury__lefteven_1_0_i3);
/* End of dense switch */
/* Start of procedure epilogue */
{ r1 = TRUE; }
/* Succeed */
/*
* Live lvalues:
* r1
*/
{ proceed(); }
/* Return from procedure call */
Define_label(mercury__lefteven_1_0_i1);
/* End of failure continuation */
{ r1 = FALSE; }
/* Fail */
/*
* Live lvalues:
* r1
*/
{ proceed(); }
/* Return from procedure call */
/*-------------------------------------------------------------------------*/
/* code for predicate lefteven/1 in mode 1 */
/* Start of procedure prologue */
/*
Stack slot assignments (if any):
*/
Define_local(mercury__lefteven_1_1_l);
/* Procedure entry point */
{ mkframe("lefteven/1", 2, LABEL(mercury__lefteven_1_1_i2)); }
/* Nondet stackframe */
{ mark_hp(framevar(1)); }
/* Save heap pointer */
{ r1 = 2; }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__lefteven_1_1_i2);
update_prof_current_proc(LABEL(mercury__lefteven_1_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__lefteven_1_1_i5); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r1 = 4; }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__lefteven_1_1_i5);
update_prof_current_proc(LABEL(mercury__lefteven_1_1_l));
/* Part of the failure continuation */
{ LVALUE_CAST(Word,bt_redoip((Integer) maxfr)) = (Integer) LABEL(mercury__lefteven_1_1_i7); }
/* modify failure cont */
{ restore_hp((Integer) framevar(1)); }
/* Reset heap pointer */
{ r1 = 6; }
/* Assigning from HeadVar__1 */
/*
* Live lvalues:
* r1
*/
{ succeed(); }
/* Succeed */
Define_label(mercury__lefteven_1_1_i7);
update_prof_current_proc(LABEL(mercury__lefteven_1_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 */
{ r1 = 8; }
/* Assigning from HeadVar__1 */
/* Start of procedure epilogue */
/*
* Live lvalues:
* r1
*/
{ succeed(); }
/* Succeed */
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__crypt_bunch_0(void)
{
mercury__crypt_module();
}
#endif
void mercury__crypt__init(void); /* suppress gcc warning */
void mercury__crypt__init(void)
{
#if (defined(USE_GCC_NONLOCAL_GOTOS) && !defined(USE_ASM_LABELS)) \
|| defined(PROFILE_CALLS) || defined(DEBUG_GOTOS) \
|| defined(DEBUG_LABELS) || !defined(SPEED)
mercury__crypt_bunch_0();
#endif
}