% compiler: GNU Prolog 1.4.2
% file    : inst_codif.pl


file_name('/home/diaz/GP/src/src/Pl2Wam/inst_codif.pl').


predicate(alias_stop_instruction/1,42,static,private,monofile,global,[
    pragma_arity(2),
    get_current_choice(x(1)),
    allocate(1),
    get_variable(x(2),0),
    get_variable(y(0),1),
    put_variable(x(0),1),
    put_void(3),
    call_c('Pl_Blt_Functor',[fast_call,boolean],[x(2),x(1),x(3)]),
    put_value(x(2),1),
    call('$alias_stop_instruction/1_$aux1'/2),
    cut(y(0)),
    deallocate,
    proceed]).


predicate('$alias_stop_instruction/1_$aux1'/2,42,static,private,monofile,local,[
    switch_on_term(2,1,fail,fail,fail),

label(1),
    switch_on_atom([(call,3),(execute,5),(call_c,7)]),

label(2),
    try_me_else(4),

label(3),
    get_atom(call,0),
    proceed,

label(4),
    retry_me_else(6),

label(5),
    get_atom(execute,0),
    proceed,

label(6),
    trust_me_else_fail,

label(7),
    get_atom(call_c,0),
    put_integer(2,2),
    put_variable(x(0),3),
    call_c('Pl_Blt_Arg',[fast_call,boolean],[x(2),x(1),x(3)]),
    execute('$alias_stop_instruction/1_$aux2'/1)]).


predicate('$alias_stop_instruction/1_$aux2'/1,42,static,private,monofile,local,[
    try_me_else(1),
    put_value(x(0),1),
    put_atom(jump,0),
    execute(memberchk/2),

label(1),
    trust_me_else_fail,
    put_value(x(0),1),
    put_atom(use_x_args,0),
    execute(memberchk/2)]).


predicate(codification/2,56,static,private,monofile,global,[
    pragma_arity(3),
    get_current_choice(x(2)),
    allocate(1),
    get_variable(y(0),2),
    call(codif/2),
    cut(y(0)),
    deallocate,
    proceed]).


predicate(codif/2,60,static,private,monofile,global,[
    pragma_arity(3),
    get_current_choice(x(2)),
    try_me_else(80),
    switch_on_term(8,fail,fail,fail,1),

label(1),
    switch_on_structure([(get_variable/2,2),(get_value/2,3),(get_atom/2,17),(get_integer/2,19),(get_float/2,21),(get_nil/1,23),(get_list/1,25),(get_structure/2,27),(put_variable/2,4),(put_void/1,31),(put_value/2,5),(put_unsafe_value/2,39),(put_atom/2,41),(put_integer/2,43),(put_float/2,45),(put_nil/1,47),(put_list/1,49),(put_structure/2,51),(math_load_value/2,6),(math_fast_load_value/2,7),(unify_variable/1,61),(unify_value/1,63),(unify_local_value/1,65),(call/1,67),(execute/1,69),(get_current_choice/1,71),(cut/1,73),(soft_cut/1,75),(call_c/3,77),(foreign_call_c/4,79)]),

label(2),
    try(9),
    trust(13),

label(3),
    try(11),
    trust(15),

label(4),
    try(29),
    trust(35),

label(5),
    try(33),
    trust(37),

label(6),
    try(53),
    trust(55),

label(7),
    try(57),
    trust(59),

label(8),
    try_me_else(10),

label(9),
    get_structure(get_variable/2,0),
    unify_variable(x(0)),
    unify_variable(x(2)),
    get_structure(x/1,0),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(c/2,1),
    unify_value(x(2)),
    unify_value(x(0)),
    proceed,

label(10),
    retry_me_else(12),

label(11),
    get_structure(get_value/2,0),
    unify_variable(x(2)),
    unify_variable(x(0)),
    get_structure(x/1,2),
    unify_variable(x(2)),
    get_list(1),
    unify_variable(x(3)),
    unify_list,
    unify_variable(x(1)),
    unify_nil,
    get_structure(r/1,3),
    unify_value(x(2)),
    get_structure(r/1,1),
    unify_value(x(0)),
    proceed,

label(12),
    retry_me_else(14),

label(13),
    get_structure(get_variable/2,0),
    unify_variable(x(2)),
    unify_variable(x(0)),
    get_structure(y/1,2),
    unify_void(1),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(r/1,1),
    unify_value(x(0)),
    proceed,

label(14),
    retry_me_else(16),

label(15),
    get_structure(get_value/2,0),
    unify_variable(x(2)),
    unify_variable(x(0)),
    get_structure(y/1,2),
    unify_void(1),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(r/1,1),
    unify_value(x(0)),
    proceed,

label(16),
    retry_me_else(18),

label(17),
    get_structure(get_atom/2,0),
    unify_void(1),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(r/1,1),
    unify_value(x(0)),
    proceed,

label(18),
    retry_me_else(20),

label(19),
    get_structure(get_integer/2,0),
    unify_void(1),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(r/1,1),
    unify_value(x(0)),
    proceed,

label(20),
    retry_me_else(22),

label(21),
    get_structure(get_float/2,0),
    unify_void(1),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(r/1,1),
    unify_value(x(0)),
    proceed,

label(22),
    retry_me_else(24),

label(23),
    get_structure(get_nil/1,0),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(r/1,1),
    unify_value(x(0)),
    proceed,

label(24),
    retry_me_else(26),

label(25),
    get_structure(get_list/1,0),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(r/1,1),
    unify_value(x(0)),
    proceed,

label(26),
    retry_me_else(28),

label(27),
    get_structure(get_structure/2,0),
    unify_void(1),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(r/1,1),
    unify_value(x(0)),
    proceed,

label(28),
    retry_me_else(30),

label(29),
    get_structure(put_variable/2,0),
    unify_variable(x(2)),
    unify_variable(x(0)),
    get_structure(x/1,2),
    unify_variable(x(2)),
    get_list(1),
    unify_variable(x(3)),
    unify_list,
    unify_variable(x(1)),
    unify_nil,
    get_structure(w/1,3),
    unify_value(x(2)),
    get_structure(w/1,1),
    unify_value(x(0)),
    proceed,

label(30),
    retry_me_else(32),

label(31),
    get_structure(put_void/1,0),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(w/1,1),
    unify_value(x(0)),
    proceed,

label(32),
    retry_me_else(34),

label(33),
    get_structure(put_value/2,0),
    unify_variable(x(2)),
    unify_variable(x(0)),
    get_structure(x/1,2),
    unify_variable(x(2)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(c/2,1),
    unify_value(x(2)),
    unify_value(x(0)),
    proceed,

label(34),
    retry_me_else(36),

label(35),
    get_structure(put_variable/2,0),
    unify_variable(x(2)),
    unify_variable(x(0)),
    get_structure(y/1,2),
    unify_void(1),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(w/1,1),
    unify_value(x(0)),
    proceed,

label(36),
    retry_me_else(38),

label(37),
    get_structure(put_value/2,0),
    unify_variable(x(2)),
    unify_variable(x(0)),
    get_structure(y/1,2),
    unify_void(1),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(w/1,1),
    unify_value(x(0)),
    proceed,

label(38),
    retry_me_else(40),

label(39),
    get_structure(put_unsafe_value/2,0),
    unify_variable(x(2)),
    unify_variable(x(0)),
    get_structure(y/1,2),
    unify_void(1),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(w/1,1),
    unify_value(x(0)),
    proceed,

label(40),
    retry_me_else(42),

label(41),
    get_structure(put_atom/2,0),
    unify_void(1),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(w/1,1),
    unify_value(x(0)),
    proceed,

label(42),
    retry_me_else(44),

label(43),
    get_structure(put_integer/2,0),
    unify_void(1),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(w/1,1),
    unify_value(x(0)),
    proceed,

label(44),
    retry_me_else(46),

label(45),
    get_structure(put_float/2,0),
    unify_void(1),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(w/1,1),
    unify_value(x(0)),
    proceed,

label(46),
    retry_me_else(48),

label(47),
    get_structure(put_nil/1,0),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(w/1,1),
    unify_value(x(0)),
    proceed,

label(48),
    retry_me_else(50),

label(49),
    get_structure(put_list/1,0),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(w/1,1),
    unify_value(x(0)),
    proceed,

label(50),
    retry_me_else(52),

label(51),
    get_structure(put_structure/2,0),
    unify_void(1),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(w/1,1),
    unify_value(x(0)),
    proceed,

label(52),
    retry_me_else(54),

label(53),
    get_structure(math_load_value/2,0),
    unify_variable(x(2)),
    unify_variable(x(0)),
    get_structure(x/1,2),
    unify_variable(x(2)),
    get_list(1),
    unify_variable(x(3)),
    unify_list,
    unify_variable(x(1)),
    unify_nil,
    get_structure(r/1,3),
    unify_value(x(2)),
    get_structure(w/1,1),
    unify_value(x(0)),
    proceed,

label(54),
    retry_me_else(56),

label(55),
    get_structure(math_load_value/2,0),
    unify_variable(x(2)),
    unify_variable(x(0)),
    get_structure(y/1,2),
    unify_void(1),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(w/1,1),
    unify_value(x(0)),
    proceed,

label(56),
    retry_me_else(58),

label(57),
    get_structure(math_fast_load_value/2,0),
    unify_variable(x(2)),
    unify_variable(x(0)),
    get_structure(x/1,2),
    unify_variable(x(2)),
    get_list(1),
    unify_variable(x(3)),
    unify_list,
    unify_variable(x(1)),
    unify_nil,
    get_structure(r/1,3),
    unify_value(x(2)),
    get_structure(w/1,1),
    unify_value(x(0)),
    proceed,

label(58),
    retry_me_else(60),

label(59),
    get_structure(math_fast_load_value/2,0),
    unify_variable(x(2)),
    unify_variable(x(0)),
    get_structure(y/1,2),
    unify_void(1),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(w/1,1),
    unify_value(x(0)),
    proceed,

label(60),
    retry_me_else(62),

label(61),
    get_structure(unify_variable/1,0),
    unify_structure(x/1),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(w/1,1),
    unify_value(x(0)),
    proceed,

label(62),
    retry_me_else(64),

label(63),
    get_structure(unify_value/1,0),
    unify_structure(x/1),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(r/1,1),
    unify_value(x(0)),
    proceed,

label(64),
    retry_me_else(66),

label(65),
    get_structure(unify_local_value/1,0),
    unify_structure(x/1),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(r/1,1),
    unify_value(x(0)),
    proceed,

label(66),
    retry_me_else(68),

label(67),
    allocate(3),
    get_variable(y(0),1),
    get_structure(call/1,0),
    unify_variable(x(0)),
    get_variable(y(1),2),
    put_variable(y(2),1),
    call('$codif/2_$aux1'/2),
    cut(y(1)),
    put_integer(0,0),
    put_unsafe_value(y(2),1),
    put_value(y(0),2),
    deallocate,
    execute(lst_r_for_call_execute/3),

label(68),
    retry_me_else(70),

label(69),
    allocate(3),
    get_variable(y(0),1),
    get_structure(execute/1,0),
    unify_variable(x(0)),
    get_variable(y(1),2),
    put_variable(y(2),1),
    call('$codif/2_$aux2'/2),
    cut(y(1)),
    put_integer(0,0),
    put_unsafe_value(y(2),1),
    put_value(y(0),2),
    deallocate,
    execute(lst_r_for_call_execute/3),

label(70),
    retry_me_else(72),

label(71),
    get_structure(get_current_choice/1,0),
    unify_structure(x/1),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(w/1,1),
    unify_value(x(0)),
    proceed,

label(72),
    retry_me_else(74),

label(73),
    get_structure(cut/1,0),
    unify_structure(x/1),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(r/1,1),
    unify_value(x(0)),
    proceed,

label(74),
    retry_me_else(76),

label(75),
    get_structure(soft_cut/1,0),
    unify_structure(x/1),
    unify_variable(x(0)),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    get_structure(r/1,1),
    unify_value(x(0)),
    proceed,

label(76),
    retry_me_else(78),

label(77),
    allocate(3),
    get_variable(y(1),1),
    get_structure(call_c/3,0),
    unify_void(1),
    unify_variable(x(0)),
    unify_variable(y(0)),
    put_variable(y(2),1),
    call('$codif/2_$aux3'/2),
    put_value(y(0),0),
    put_unsafe_value(y(2),1),
    put_value(y(1),2),
    deallocate,
    execute(lst_rw_for_c_call/3),

label(78),
    trust_me_else_fail,

label(79),
    get_structure(foreign_call_c/4,0),
    unify_void(2),
    unify_variable(x(0)),
    unify_void(1),
    put_value(x(1),2),
    put_nil(1),
    execute(lst_rw_for_foreign_c_call/3),

label(80),
    trust_me_else_fail,
    get_nil(1),
    proceed]).


predicate('$codif/2_$aux3'/2,132,static,private,monofile,local,[
    pragma_arity(3),
    get_current_choice(x(2)),
    try_me_else(1),
    allocate(3),
    get_variable(y(0),1),
    get_variable(y(1),2),
    put_value(x(0),1),
    put_structure(x/1,0),
    unify_variable(y(2)),
    call(member/2),
    cut(y(1)),
    put_value(y(0),0),
    get_list(0),
    unify_variable(x(0)),
    unify_nil,
    get_structure(w/1,0),
    unify_value(y(2)),
    deallocate,
    proceed,

label(1),
    trust_me_else_fail,
    get_nil(1),
    proceed]).


predicate('$codif/2_$aux2'/2,122,static,private,monofile,local,[
    switch_on_term(2,fail,fail,fail,1),

label(1),
    switch_on_structure([((/)/2,3),((:)/2,5)]),

label(2),
    try_me_else(4),

label(3),
    get_structure((/)/2,0),
    unify_void(1),
    unify_local_value(x(1)),
    proceed,

label(4),
    trust_me_else_fail,

label(5),
    get_structure((:)/2,0),
    unify_void(1),
    unify_structure((/)/2),
    unify_void(1),
    unify_local_value(x(1)),
    proceed]).


predicate('$codif/2_$aux1'/2,118,static,private,monofile,local,[
    switch_on_term(2,fail,fail,fail,1),

label(1),
    switch_on_structure([((/)/2,3),((:)/2,5)]),

label(2),
    try_me_else(4),

label(3),
    get_structure((/)/2,0),
    unify_void(1),
    unify_local_value(x(1)),
    proceed,

label(4),
    trust_me_else_fail,

label(5),
    get_structure((:)/2,0),
    unify_void(1),
    unify_structure((/)/2),
    unify_void(1),
    unify_local_value(x(1)),
    proceed]).


predicate(lst_r_for_call_execute/3,149,static,private,monofile,global,[
    try_me_else(1),
    get_nil(2),
    get_value(x(1),0),
    proceed,

label(1),
    trust_me_else_fail,
    get_list(2),
    unify_variable(x(3)),
    unify_variable(x(2)),
    get_structure(r/1,3),
    unify_local_value(x(0)),
    math_fast_load_value(x(0),0),
    call_c('Pl_Fct_Fast_Inc',[fast_call,x(0)],[x(0)]),
    execute(lst_r_for_call_execute/3)]).


predicate(lst_rw_for_foreign_c_call/3,158,static,private,monofile,global,[
    switch_on_term(1,2,fail,4,fail),

label(1),
    try_me_else(3),

label(2),
    get_nil(0),
    get_value(x(2),1),
    proceed,

label(3),
    trust_me_else_fail,

label(4),
    get_variable(x(3),1),
    get_list(0),
    unify_variable(x(1)),
    unify_variable(x(0)),
    get_list(2),
    unify_variable(x(4)),
    unify_variable(x(2)),
    get_structure(r/1,4),
    unify_value(x(1)),
    put_structure(w/1,4),
    unify_value(x(1)),
    put_list(1),
    unify_value(x(4)),
    unify_local_value(x(3)),
    execute(lst_rw_for_foreign_c_call/3)]).


predicate(lst_rw_for_c_call/3,166,static,private,monofile,global,[
    pragma_arity(4),
    get_current_choice(x(3)),
    switch_on_term(2,3,fail,1,fail),

label(1),
    try(5),
    trust(7),

label(2),
    try_me_else(4),

label(3),
    get_nil(0),
    get_value(x(2),1),
    proceed,

label(4),
    retry_me_else(6),

label(5),
    get_variable(x(4),1),
    get_list(0),
    unify_variable(x(1)),
    unify_variable(x(0)),
    get_structure(x/1,1),
    unify_variable(x(1)),
    get_list(2),
    unify_variable(x(5)),
    unify_variable(x(2)),
    get_structure(r/1,5),
    unify_value(x(1)),
    cut(x(3)),
    put_structure(w/1,3),
    unify_value(x(1)),
    put_list(1),
    unify_value(x(3)),
    unify_local_value(x(4)),
    execute(lst_rw_for_c_call/3),

label(6),
    trust_me_else_fail,

label(7),
    get_list(0),
    unify_void(1),
    unify_variable(x(0)),
    execute(lst_rw_for_c_call/3)]).
