% compiler: GNU Prolog 1.1.7 (Jul 3 2000)
% file    : read_file.pl
% date    : 7 20 2000
% time    : 11:15:32


file_name('/home/lima/diaz/GNU-Prolog/src/Pl2Wam/read_file.pl').


predicate(read_file_init/1,106,static,private,user,[
    allocate(1),
    get_variable(y(0),0),
    put_structure(buff_clause/3,0),
    unify_void(3),
    call(retractall/1),
    put_structure(buff_aux_pred/3,0),
    unify_void(3),
    call(retractall/1),
    put_structure(buff_discontig_clause/3,0),
    unify_void(3),
    call(retractall/1),
    put_structure(buff_dyn_interf_clause/3,0),
    unify_void(3),
    call(retractall/1),
    put_structure(buff_exe_system/1,0),
    unify_void(1),
    call(retractall/1),
    put_structure(buff_exe_user/1,0),
    unify_void(1),
    call(retractall/1),
    put_structure(empty_dyn_pred/3,0),
    unify_void(3),
    call(retractall/1),
    put_structure(ensure_linked/2,0),
    unify_void(2),
    call(retractall/1),
    put_structure(pred_info/3,0),
    unify_void(3),
    call(retractall/1),
    put_atom(default_kind,0),
    put_atom(user,1),
    call_c_test('Blt_G_Assign',[0,1]),
    put_atom(reading_dyn_pred,0),
    put_atom(f,1),
    call_c_test('Blt_G_Assign',[0,1]),
    put_atom(eof_reached,0),
    put_atom(f,1),
    call_c_test('Blt_G_Assign',[0,1]),
    put_atom(open_file_stack,0),
    put_nil(1),
    call_c_test('Blt_G_Assign',[0,1]),
    put_atom(where,0),
    put_integer(0,1),
    call_c_test('Blt_G_Assign',[0,1]),
    put_atom(syn_error_nb,0),
    put_integer(0,1),
    call_c_test('Blt_G_Assign',[0,1]),
    put_atom(in_lines,0),
    put_integer(0,1),
    call_c_test('Blt_G_Assign',[0,1]),
    put_atom(in_bytes,0),
    put_integer(0,1),
    call_c_test('Blt_G_Assign',[0,1]),
    put_value(y(0),0),
    deallocate,
    execute(open_new_prolog_file/1)]).


predicate(read_file_term/2,129,static,private,user,[
    put_atom(in_bytes,2),
    call_c_test('Blt_G_Read',[2,0]),
    put_atom(in_lines,0),
    call_c_test('Blt_G_Read',[0,1]),
    proceed]).


predicate(read_file_error_nb/1,136,static,private,user,[
    put_atom(syn_error_nb,1),
    call_c_test('Blt_G_Read',[1,0]),
    proceed]).


predicate(open_new_prolog_file/1,142,static,private,user,[
    allocate(2),
    put_variable(y(0),1),
    call(prolog_file_name/2),
    put_value(y(0),0),
    put_variable(y(1),1),
    call('$open_new_prolog_file/1_$aux1'/2),
    put_atom(open_file_stack,0),
    put_variable(x(2),1),
    call_c_test('Blt_G_Read',[0,1]),
    put_atom(open_file_stack,0),
    put_structure((*)/2,3),
    unify_local_value(y(0)),
    unify_local_value(y(1)),
    put_list(1),
    unify_value(x(3)),
    unify_value(x(2)),
    call_c_test('Blt_G_Assign',[0,1]),
    deallocate,
    proceed]).


predicate('$open_new_prolog_file/1_$aux1'/2,142,static,private,user,[
    load_cut_level(2),
    try_me_else(2),
    switch_on_term(1,1,fail,fail,fail),

label(1),
    get_atom(user,0),
    cut(x(2)),
    put_value(x(1),0),
    execute(current_input/1),

label(2),
    trust_me_else_fail,
    put_value(x(1),2),
    put_atom(read,1),
    execute(open/3)]).


predicate(close_last_prolog_file/0,152,static,private,user,[
    allocate(5),
    put_atom(open_file_stack,0),
    put_structure((*)/2,1),
    unify_void(1),
    unify_variable(y(0)),
    put_list(2),
    unify_value(x(1)),
    unify_variable(x(1)),
    call_c_test('Blt_G_Read',[0,2]),
    put_atom(open_file_stack,0),
    call_c_test('Blt_G_Assign',[0,1]),
    put_atom(in_bytes,0),
    put_variable(y(1),1),
    call_c_test('Blt_G_Read',[0,1]),
    put_atom(in_lines,0),
    put_variable(y(2),1),
    call_c_test('Blt_G_Read',[0,1]),
    put_value(y(0),0),
    put_variable(y(3),1),
    call(character_count/2),
    put_value(y(0),0),
    put_variable(y(4),1),
    call(line_count/2),
    math_fast_load_value(y(1),1),
    math_fast_load_value(y(3),0),
    function('Fct_Fast_Add',2,[1,0]),
    math_fast_load_value(y(2),1),
    math_fast_load_value(y(4),0),
    function('Fct_Fast_Add',1,[1,0]),
    put_atom(in_bytes,0),
    call_c_test('Blt_G_Assign',[0,2]),
    put_atom(in_lines,0),
    call_c_test('Blt_G_Assign',[0,1]),
    put_value(y(0),0),
    deallocate,
    execute(close/1)]).


predicate(read_predicate/3,172,static,private,user,[
    allocate(3),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_variable(y(2),2),
    call(repeat/0),
    put_value(y(0),0),
    put_value(y(1),1),
    put_value(y(2),2),
    call(read_predicate1/3),
    put_value(y(0),0),
    put_value(y(1),1),
    put_value(y(2),2),
    deallocate,
    execute('$read_predicate/3_$aux1'/3)]).


predicate('$read_predicate/3_$aux1'/3,172,static,private,user,[
    load_cut_level(3),
    try_me_else(1),
    put_atom(reading_dyn_pred,4),
    put_atom(f,5),
    call_c_test('Blt_G_Read',[4,5]),
    put_atom(native_code,4),
    put_atom(t,5),
    call_c_test('Blt_G_Read',[4,5]),
    cut(x(3)),
    execute(read_predicate_next/3),

label(1),
    trust_me_else_fail,
    proceed]).


predicate(read_predicate_next/3,183,static,private,user,[
    load_cut_level(3),
    try_me_else(1),
    allocate(4),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_variable(y(2),2),
    get_variable(y(3),3),
    put_atom(dyn,0),
    put_value(y(0),1),
    put_value(y(1),2),
    call(test_pred_info/3),
    cut(y(3)),
    put_value(y(2),0),
    get_list(0),
    unify_variable(x(0)),
    unify_void(1),
    get_structure((+)/2,0),
    unify_variable(x(2)),
    unify_void(1),
    put_value(y(0),0),
    put_value(y(1),1),
    call(add_dyn_interf_clause/3),
    put_value(y(2),0),
    put_value(y(0),1),
    put_value(y(1),2),
    call(create_exe_clauses_for_dyn_pred/3),
    fail,

label(1),
    retry_me_else(2),
    allocate(2),
    get_variable(y(0),2),
    get_variable(x(2),1),
    get_variable(y(1),3),
    put_value(x(0),1),
    put_atom(pub,0),
    call(test_pred_info/3),
    cut(y(1)),
    put_value(y(0),0),
    deallocate,
    execute(create_exe_clauses_for_pub_pred/1),

label(2),
    trust_me_else_fail,
    proceed]).


predicate(read_predicate1/3,201,static,private,user,[
    load_cut_level(3),
    try_me_else(1),
    allocate(1),
    get_variable(x(4),0),
    get_variable(y(0),3),
    put_structure(buff_aux_pred/3,0),
    unify_local_value(x(4)),
    unify_local_value(x(1)),
    unify_local_value(x(2)),
    call(retract/1),
    cut(y(0)),
    deallocate,
    proceed,

label(1),
    retry_me_else(2),
    allocate(6),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_variable(y(2),2),
    get_variable(y(3),3),
    put_atom(eof_reached,0),
    put_atom(f,1),
    call_c_test('Blt_G_Read',[0,1]),
    cut(y(3)),
    call(repeat/0),
    put_value(y(0),0),
    put_value(y(1),1),
    put_variable(y(4),2),
    call(get_next_clause/3),
    put_value(y(4),0),
    get_structure((+)/2,0),
    unify_void(1),
    unify_variable(y(5)),
    put_structure(empty_dyn_pred/3,0),
    unify_local_value(y(0)),
    unify_local_value(y(1)),
    unify_void(1),
    call(retractall/1),
    put_value(y(0),0),
    put_value(y(1),1),
    put_value(y(4),2),
    call('$read_predicate1/3_$aux1'/3),
    put_value(y(0),0),
    put_value(y(1),1),
    call('$read_predicate1/3_$aux2'/2),
    cut(y(3)),
    put_value(y(5),0),
    put_atom(end_of_file,1),
    call_c_test('Blt_Term_Neq',[0,1]),
    put_value(y(0),0),
    put_value(y(1),1),
    call(define_predicate/2),
    put_value(y(0),0),
    put_value(y(1),1),
    put_unsafe_value(y(4),2),
    put_value(y(2),3),
    deallocate,
    execute(group_clauses_by_pred/4),

label(2),
    retry_me_else(3),
    allocate(4),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_list(2),
    unify_variable(x(1)),
    unify_variable(y(2)),
    get_variable(y(3),3),
    put_structure(buff_discontig_clause/3,0),
    unify_local_value(y(0)),
    unify_local_value(y(1)),
    unify_value(x(1)),
    call(retract/1),
    cut(y(3)),
    put_value(y(0),0),
    put_value(y(1),1),
    put_value(y(2),2),
    deallocate,
    execute(recover_discontig_clauses/3),

label(3),
    retry_me_else(4),
    allocate(1),
    get_variable(x(4),0),
    get_list(2),
    unify_variable(x(2)),
    unify_nil,
    get_variable(y(0),3),
    put_atom(reading_dyn_pred,0),
    put_atom(t,3),
    call_c_test('Blt_G_Assign',[0,3]),
    put_structure(buff_dyn_interf_clause/3,0),
    unify_local_value(x(4)),
    unify_local_value(x(1)),
    unify_value(x(2)),
    call(retract/1),
    cut(y(0)),
    deallocate,
    proceed,

label(4),
    retry_me_else(5),
    allocate(5),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_list(2),
    unify_variable(y(2)),
    unify_nil,
    get_variable(y(3),3),
    put_atom(reading_dyn_pred,0),
    put_atom(t,1),
    call_c_test('Blt_G_Assign',[0,1]),
    put_structure(empty_dyn_pred/3,0),
    unify_local_value(y(0)),
    unify_local_value(y(1)),
    unify_variable(y(4)),
    call(retract/1),
    put_value(y(0),0),
    put_value(y(1),1),
    call(define_predicate/2),
    put_value(y(0),0),
    put_value(y(1),1),
    put_value(y(4),2),
    put_value(y(2),3),
    call('$read_predicate1/3_$aux3'/4),
    cut(y(3)),
    deallocate,
    proceed,

label(5),
    retry_me_else(6),
    allocate(6),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_variable(y(2),2),
    get_variable(y(3),3),
    put_atom(reading_dyn_pred,0),
    put_atom(f,1),
    call_c_test('Blt_G_Assign',[0,1]),
    put_structure(buff_exe_system/1,0),
    unify_structure((+)/2),
    unify_variable(y(4)),
    unify_variable(y(5)),
    call(retract/1),
    put_value(y(0),0),
    get_atom('$exe_system',0),
    put_value(y(1),0),
    get_integer(0,0),
    put_value(y(2),0),
    get_list(0),
    unify_variable(x(0)),
    unify_nil,
    get_structure((+)/2,0),
    unify_value(y(4)),
    unify_structure((:-)/2),
    unify_local_value(y(0)),
    unify_value(y(5)),
    cut(y(3)),
    deallocate,
    proceed,

label(6),
    retry_me_else(7),
    allocate(6),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_variable(y(2),2),
    get_variable(y(3),3),
    put_structure(buff_exe_user/1,0),
    unify_structure((+)/2),
    unify_variable(y(4)),
    unify_variable(y(5)),
    call(retract/1),
    put_value(y(0),0),
    get_atom('$exe_user',0),
    put_value(y(1),0),
    get_integer(0,0),
    put_value(y(2),0),
    get_list(0),
    unify_variable(x(0)),
    unify_nil,
    get_structure((+)/2,0),
    unify_value(y(4)),
    unify_structure((:-)/2),
    unify_local_value(y(0)),
    unify_value(y(5)),
    cut(y(3)),
    deallocate,
    proceed,

label(7),
    trust_me_else_fail,
    switch_on_term(8,8,fail,fail,fail),

label(8),
    get_atom(end_of_file,0),
    get_integer(0,1),
    get_nil(2),
    cut(x(3)),
    proceed]).


predicate('$read_predicate1/3_$aux3'/4,240,static,private,user,[
    load_cut_level(4),
    try_me_else(1),
    put_atom(native_code,5),
    put_atom(t,6),
    call_c_test('Blt_G_Read',[5,6]),
    cut(x(4)),
    execute(create_dyn_interf_clause/4),

label(1),
    trust_me_else_fail,
    get_structure((+)/2,3),
    unify_local_value(x(2)),
    unify_atom('$$empty$$predicate$$clause$$'),
    proceed]).


predicate('$read_predicate1/3_$aux2'/2,205,static,private,user,[
    load_cut_level(2),
    try_me_else(1),
    allocate(3),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_variable(y(2),2),
    put_atom(def,0),
    put_value(y(0),1),
    put_value(y(1),2),
    call(test_pred_info/3),
    cut(y(2)),
    put_atom('discontiguous predicate ~q - clause ignored',0),
    put_structure((/)/2,2),
    unify_local_value(y(0)),
    unify_local_value(y(1)),
    put_list(1),
    unify_value(x(2)),
    unify_nil,
    call(warn/2),
    fail,

label(1),
    trust_me_else_fail,
    proceed]).


predicate('$read_predicate1/3_$aux1'/3,205,static,private,user,[
    load_cut_level(3),
    try_me_else(1),
    allocate(4),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_variable(y(2),2),
    get_variable(y(3),3),
    put_atom(discontig,0),
    put_value(y(0),1),
    put_value(y(1),2),
    call(test_pred_info/3),
    cut(y(3)),
    put_structure(buff_discontig_clause/3,0),
    unify_local_value(y(0)),
    unify_local_value(y(1)),
    unify_local_value(y(2)),
    call(assertz/1),
    put_value(y(0),0),
    put_value(y(1),1),
    call(define_predicate/2),
    fail,

label(1),
    trust_me_else_fail,
    proceed]).


predicate(group_clauses_by_pred/4,267,static,private,user,[
    allocate(6),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_list(3),
    unify_local_value(x(2)),
    unify_variable(y(2)),
    put_variable(y(3),0),
    put_variable(y(4),1),
    put_variable(y(5),2),
    call(get_next_clause/3),
    put_value(y(0),0),
    put_unsafe_value(y(3),1),
    put_value(y(1),2),
    put_unsafe_value(y(4),3),
    put_unsafe_value(y(5),4),
    put_value(y(2),5),
    deallocate,
    execute('$group_clauses_by_pred/4_$aux1'/6)]).


predicate('$group_clauses_by_pred/4_$aux1'/6,267,static,private,user,[
    load_cut_level(6),
    try_me_else(1),
    get_value(x(1),0),
    get_value(x(3),2),
    cut(x(6)),
    put_value(x(1),0),
    put_value(x(3),1),
    put_value(x(4),2),
    put_value(x(5),3),
    execute(group_clauses_by_pred/4),

label(1),
    trust_me_else_fail,
    get_nil(5),
    put_value(x(1),0),
    put_value(x(3),1),
    put_value(x(4),2),
    execute('$group_clauses_by_pred/4_$aux2'/3)]).


predicate('$group_clauses_by_pred/4_$aux2'/3,267,static,private,user,[
    load_cut_level(3),
    try_me_else(2),
    switch_on_term(1,1,fail,fail,fail),

label(1),
    get_atom(end_of_file,0),
    get_integer(0,1),
    cut(x(3)),
    proceed,

label(2),
    trust_me_else_fail,
    get_variable(x(3),0),
    put_structure(buff_clause/3,0),
    unify_local_value(x(3)),
    unify_local_value(x(1)),
    unify_local_value(x(2)),
    execute(asserta/1)]).


predicate(add_dyn_interf_clause/3,280,static,private,user,[
    load_cut_level(3),
    try_me_else(1),
    allocate(1),
    get_variable(x(2),0),
    get_variable(y(0),3),
    put_structure(buff_dyn_interf_clause/3,0),
    unify_local_value(x(2)),
    unify_local_value(x(1)),
    unify_void(1),
    put_atom(true,1),
    call(clause/2),
    cut(y(0)),
    deallocate,
    proceed,

label(1),
    trust_me_else_fail,
    allocate(3),
    get_variable(y(0),0),
    get_variable(y(1),1),
    put_value(y(0),0),
    put_value(y(1),1),
    put_variable(y(2),3),
    call(create_dyn_interf_clause/4),
    put_structure(buff_dyn_interf_clause/3,0),
    unify_local_value(y(0)),
    unify_local_value(y(1)),
    unify_local_value(y(2)),
    deallocate,
    execute(assertz/1)]).


predicate(create_dyn_interf_clause/4,291,static,private,user,[
    allocate(4),
    get_variable(y(0),0),
    get_variable(y(1),2),
    get_variable(y(2),3),
    put_variable(y(3),0),
    call(length/2),
    put_variable(x(0),1),
    put_list(2),
    unify_local_value(y(0)),
    unify_local_value(y(3)),
    call_c_test('Blt_Univ',[1,2]),
    put_value(y(2),1),
    get_structure((+)/2,1),
    unify_local_value(y(1)),
    unify_structure((:-)/2),
    unify_value(x(0)),
    unify_structure(call/1),
    unify_value(x(0)),
    deallocate,
    proceed]).


predicate(recover_discontig_clauses/3,299,static,private,user,[
    load_cut_level(3),
    try_me_else(1),
    allocate(4),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_list(2),
    unify_variable(x(1)),
    unify_variable(y(2)),
    get_variable(y(3),3),
    put_structure(buff_discontig_clause/3,0),
    unify_local_value(y(0)),
    unify_local_value(y(1)),
    unify_value(x(1)),
    call(retract/1),
    cut(y(3)),
    put_value(y(0),0),
    put_value(y(1),1),
    put_value(y(2),2),
    deallocate,
    execute(recover_discontig_clauses/3),

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


predicate(create_exe_clauses_for_dyn_pred/3,309,static,private,user,[
    switch_on_term(1,2,fail,4,fail),

label(1),
    try_me_else(3),

label(2),
    get_nil(0),
    proceed,

label(3),
    trust_me_else_fail,

label(4),
    allocate(6),
    get_variable(y(1),1),
    get_variable(y(2),2),
    get_list(0),
    unify_variable(x(0)),
    unify_variable(y(0)),
    get_structure((+)/2,0),
    unify_variable(y(3)),
    unify_variable(y(4)),
    put_value(y(1),0),
    put_value(y(2),1),
    put_structure((+)/2,2),
    unify_value(y(3)),
    unify_value(y(4)),
    put_variable(y(5),3),
    call(add_wrapper_to_dyn_clause/4),
    put_atom(system,0),
    put_structure(execute/1,2),
    unify_structure((/)/2),
    unify_local_value(y(5)),
    unify_local_value(y(2)),
    put_structure('$add_clause_term_and_bc'/2,1),
    unify_value(y(4)),
    unify_list,
    unify_value(x(2)),
    unify_nil,
    put_value(y(3),2),
    call(handle_initialization/3),
    put_value(y(0),0),
    put_value(y(1),1),
    put_value(y(2),2),
    deallocate,
    execute(create_exe_clauses_for_dyn_pred/3)]).


predicate(create_exe_clauses_for_pub_pred/1,323,static,private,user,[
    switch_on_term(1,2,fail,4,fail),

label(1),
    try_me_else(3),

label(2),
    get_nil(0),
    proceed,

label(3),
    trust_me_else_fail,

label(4),
    allocate(1),
    get_list(0),
    unify_variable(x(0)),
    unify_variable(y(0)),
    get_structure((+)/2,0),
    unify_variable(x(2)),
    unify_variable(x(0)),
    put_structure('$add_clause_term'/1,1),
    unify_value(x(0)),
    put_atom(system,0),
    call(handle_initialization/3),
    put_value(y(0),0),
    deallocate,
    execute(create_exe_clauses_for_pub_pred/1)]).


predicate(get_next_clause/3,332,static,private,user,[
    load_cut_level(3),
    try_me_else(1),
    allocate(2),
    get_variable(y(0),2),
    get_variable(x(2),0),
    get_variable(y(1),3),
    put_structure(buff_clause/3,0),
    unify_local_value(x(2)),
    unify_local_value(x(1)),
    unify_local_value(y(0)),
    call(retract/1),
    put_value(y(0),0),
    get_structure((+)/2,0),
    unify_variable(x(1)),
    unify_void(1),
    put_atom(where,0),
    call_c_test('Blt_G_Assign',[0,1]),
    cut(y(1)),
    deallocate,
    proceed,

label(1),
    trust_me_else_fail,
    allocate(9),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_variable(y(2),2),
    get_variable(y(3),3),
    put_atom(open_file_stack,0),
    put_variable(y(4),1),
    call_c_test('Blt_G_Read',[0,1]),
    put_value(y(4),0),
    get_list(0),
    unify_variable(x(0)),
    unify_void(1),
    get_structure((*)/2,0),
    unify_void(1),
    unify_variable(y(5)),
    put_structure(singletons/1,1),
    unify_variable(y(7)),
    put_structure(read_term/3,0),
    unify_value(y(5)),
    unify_variable(y(6)),
    unify_list,
    unify_value(x(1)),
    unify_nil,
    put_structure(syntax_error/1,2),
    unify_variable(y(8)),
    put_structure(error/2,1),
    unify_value(x(2)),
    unify_void(1),
    put_atom(after_syn_error,2),
    put_atom(any,3),
    put_integer(0,4),
    put_atom(false,5),
    call('$catch'/6),
    put_value(y(8),0),
    put_value(y(6),1),
    put_value(y(5),2),
    put_value(y(4),3),
    put_value(y(7),4),
    put_value(y(0),5),
    put_value(y(1),6),
    put_value(y(2),7),
    call('$get_next_clause/3_$aux1'/8),
    cut(y(3)),
    deallocate,
    proceed]).


predicate('$get_next_clause/3_$aux1'/8,338,static,private,user,[
    load_cut_level(8),
    try_me_else(1),
    allocate(13),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_variable(y(2),2),
    get_variable(y(3),3),
    get_variable(y(4),4),
    get_variable(y(5),5),
    get_variable(y(6),6),
    get_variable(y(7),7),
    put_value(y(0),0),
    call_c_test('Blt_Var',[0]),
    cut(x(8)),
    put_variable(y(8),0),
    put_void(1),
    call(last_read_start_line_column/2),
    put_structure(expand_term/2,0),
    unify_local_value(y(1)),
    unify_variable(y(9)),
    put_structure(error/2,1),
    unify_local_value(y(0)),
    unify_void(1),
    put_structure(dcg_error/1,2),
    unify_local_value(y(0)),
    put_atom(any,3),
    put_integer(0,4),
    put_atom(false,5),
    call('$catch'/6),
    put_value(y(2),0),
    put_variable(y(10),1),
    put_variable(y(11),2),
    call(stream_line_column/3),
    put_value(y(11),0),
    put_variable(y(12),1),
    put_value(y(10),2),
    call('$get_next_clause/3_$aux2'/3),
    put_structure((+)/2,1),
    unify_local_value(y(3)),
    unify_structure((-)/2),
    unify_local_value(y(8)),
    unify_local_value(y(12)),
    put_atom(where,0),
    call_c_test('Blt_G_Assign',[0,1]),
    put_value(y(9),0),
    put_value(y(4),2),
    put_value(y(5),3),
    put_value(y(6),4),
    put_value(y(7),5),
    deallocate,
    execute(get_next_clause1/6),

label(1),
    trust_me_else_fail,
    put_value(x(5),0),
    put_value(x(6),1),
    put_value(x(7),2),
    execute(get_next_clause/3)]).


predicate('$get_next_clause/3_$aux2'/3,338,static,private,user,[
    load_cut_level(3),
    try_me_else(2),
    switch_on_term(1,fail,1,fail,fail),

label(1),
    get_integer(1,0),
    cut(x(3)),
    math_fast_load_value(x(2),0),
    function('Fct_Fast_Dec',0,[0]),
    get_value(x(1),0),
    proceed,

label(2),
    trust_me_else_fail,
    get_value(x(2),1),
    proceed]).


predicate(get_next_clause1/6,362,static,private,user,[
    load_cut_level(6),
    try_me_else(5),
    switch_on_term(1,2,fail,fail,4),

label(1),
    try_me_else(3),

label(2),
    allocate(3),
    get_atom(end_of_file,0),
    get_variable(y(0),3),
    get_variable(y(1),4),
    get_variable(y(2),5),
    call(close_last_prolog_file/0),
    put_atom(open_file_stack,1),
    put_variable(x(0),2),
    call_c_test('Blt_G_Read',[1,2]),
    put_value(y(0),1),
    put_value(y(1),2),
    put_value(y(2),3),
    deallocate,
    execute('$get_next_clause1/6_$aux1'/4),

label(3),
    trust_me_else_fail,

label(4),
    allocate(6),
    get_structure((:-)/1,0),
    unify_variable(y(0)),
    get_variable(y(1),1),
    get_variable(y(2),3),
    get_variable(y(3),4),
    get_variable(y(4),5),
    get_variable(y(5),6),
    put_value(x(2),0),
    put_atom(directive,1),
    call(display_singletons/2),
    put_value(y(0),0),
    put_value(y(1),1),
    call('$get_next_clause1/6_$aux2'/2),
    cut(y(5)),
    put_value(y(2),0),
    put_value(y(3),1),
    put_value(y(4),2),
    deallocate,
    execute(get_next_clause/3),

label(5),
    trust_me_else_fail,
    allocate(4),
    get_variable(y(0),2),
    get_variable(y(1),3),
    get_variable(y(2),4),
    get_structure((+)/2,5),
    unify_local_value(x(1)),
    unify_local_value(x(0)),
    put_variable(y(3),1),
    call('$get_next_clause1/6_$aux3'/2),
    put_value(y(3),0),
    call('$get_next_clause1/6_$aux4'/1),
    put_value(y(3),0),
    call('$get_next_clause1/6_$aux5'/1),
    put_value(y(3),0),
    put_value(y(1),1),
    put_value(y(2),2),
    call_c_test('Blt_Functor',[0,1,2]),
    put_value(y(1),0),
    put_value(y(2),1),
    call(check_predicate/2),
    put_value(y(0),0),
    put_structure((/)/2,1),
    unify_local_value(y(1)),
    unify_local_value(y(2)),
    deallocate,
    execute(display_singletons/2)]).


predicate('$get_next_clause1/6_$aux5'/1,381,static,private,user,[
    load_cut_level(1),
    try_me_else(1),
    call_c_test('Blt_Callable',[0]),
    cut(x(1)),
    proceed,

label(1),
    trust_me_else_fail,
    put_list(1),
    unify_local_value(x(0)),
    unify_nil,
    put_atom('head is not a callable (~q)',0),
    execute(error/2)]).


predicate('$get_next_clause1/6_$aux4'/1,381,static,private,user,[
    load_cut_level(1),
    try_me_else(1),
    call_c_test('Blt_Non_Var',[0]),
    cut(x(1)),
    proceed,

label(1),
    trust_me_else_fail,
    put_atom('head is a variable',0),
    put_nil(1),
    execute(error/2)]).


predicate('$get_next_clause1/6_$aux3'/2,381,static,private,user,[
    try_me_else(2),
    switch_on_term(1,fail,fail,fail,1),

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

label(2),
    trust_me_else_fail,
    get_value(x(1),0),
    proceed]).


predicate('$get_next_clause1/6_$aux2'/2,373,static,private,user,[
    try_me_else(1),
    execute(handle_directive/2),

label(1),
    trust_me_else_fail,
    put_list(1),
    unify_local_value(x(0)),
    unify_nil,
    put_atom('invalid directive ~q',0),
    execute(error/2)]).


predicate('$get_next_clause1/6_$aux1'/4,362,static,private,user,[
    load_cut_level(4),
    try_me_else(2),
    switch_on_term(1,1,fail,fail,fail),

label(1),
    get_nil(0),
    cut(x(4)),
    get_atom(end_of_file,1),
    get_integer(0,2),
    get_structure((+)/2,3),
    unify_void(1),
    unify_atom(end_of_file),
    put_atom(eof_reached,0),
    put_atom(t,1),
    call_c_test('Blt_G_Assign',[0,1]),
    proceed,

label(2),
    trust_me_else_fail,
    put_value(x(1),0),
    put_value(x(2),1),
    put_value(x(3),2),
    execute(get_next_clause/3)]).


predicate(after_syn_error/0,394,static,private,user,[
    allocate(3),
    put_atom(syn_error_nb,1),
    put_variable(x(0),2),
    call_c_test('Blt_G_Read',[1,2]),
    math_fast_load_value(x(0),0),
    function('Fct_Fast_Inc',1,[0]),
    put_atom(syn_error_nb,0),
    call_c_test('Blt_G_Assign',[0,1]),
    put_void(0),
    put_variable(y(0),1),
    put_variable(y(1),2),
    put_variable(y(2),3),
    call(syntax_error_info/4),
    put_atom(open_file_stack,0),
    put_variable(x(2),1),
    call_c_test('Blt_G_Read',[0,1]),
    put_atom(where,0),
    put_structure((+)/2,1),
    unify_value(x(2)),
    unify_structure((-)/2),
    unify_local_value(y(0)),
    unify_local_value(y(0)),
    call_c_test('Blt_G_Assign',[0,1]),
    put_atom('syntax error: ~a (char:~d)',0),
    put_list(1),
    unify_local_value(y(2)),
    unify_list,
    unify_local_value(y(1)),
    unify_nil,
    put_atom(error,2),
    deallocate,
    execute(disp_msg/3)]).


predicate(dcg_error/1,406,static,private,user,[
    allocate(2),
    get_variable(y(0),0),
    put_variable(y(1),0),
    put_void(1),
    call(last_read_start_line_column/2),
    put_atom(open_file_stack,0),
    put_variable(x(2),1),
    call_c_test('Blt_G_Read',[0,1]),
    put_atom(where,0),
    put_structure((+)/2,1),
    unify_value(x(2)),
    unify_structure((-)/2),
    unify_local_value(y(1)),
    unify_local_value(y(1)),
    call_c_test('Blt_G_Assign',[0,1]),
    put_atom('DCG error raised: ~w',0),
    put_list(1),
    unify_local_value(y(0)),
    unify_nil,
    deallocate,
    execute(error/2)]).


predicate(display_singletons/2,415,static,private,user,[
    load_cut_level(2),
    try_me_else(1),
    allocate(2),
    get_variable(y(0),1),
    put_atom(singl_warn,1),
    put_atom(t,3),
    call_c_test('Blt_G_Read',[1,3]),
    cut(x(2)),
    put_variable(y(1),1),
    call(get_singletons/2),
    put_unsafe_value(y(1),0),
    put_value(y(0),1),
    deallocate,
    execute('$display_singletons/2_$aux1'/2),

label(1),
    trust_me_else_fail,
    proceed]).


predicate('$display_singletons/2_$aux1'/2,415,static,private,user,[
    load_cut_level(2),
    try_me_else(2),
    switch_on_term(1,1,fail,fail,fail),

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

label(2),
    trust_me_else_fail,
    get_variable(x(2),1),
    put_list(1),
    unify_local_value(x(0)),
    unify_list,
    unify_local_value(x(2)),
    unify_nil,
    put_atom('singleton variables ~w for ~q',0),
    execute(warn/2)]).


predicate(get_singletons/2,428,static,private,user,[
    switch_on_term(1,2,fail,4,fail),

label(1),
    try_me_else(3),

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

label(3),
    trust_me_else_fail,

label(4),
    allocate(2),
    get_list(0),
    unify_variable(x(0)),
    unify_variable(y(0)),
    get_structure((=)/2,0),
    unify_variable(x(0)),
    unify_void(1),
    put_variable(y(1),2),
    call('$get_singletons/2_$aux1'/3),
    put_value(y(0),0),
    put_unsafe_value(y(1),1),
    deallocate,
    execute(get_singletons/2)]).


predicate('$get_singletons/2_$aux1'/3,430,static,private,user,[
    load_cut_level(3),
    try_me_else(1),
    allocate(3),
    get_variable(y(0),1),
    get_variable(y(1),2),
    get_variable(y(2),3),
    put_integer(0,1),
    put_integer(1,2),
    put_void(3),
    put_atom('_',4),
    call(sub_atom/5),
    cut(y(2)),
    put_value(y(0),0),
    get_value(y(1),0),
    deallocate,
    proceed,

label(1),
    trust_me_else_fail,
    get_list(1),
    unify_local_value(x(0)),
    unify_local_value(x(2)),
    proceed]).


predicate(handle_directive/2,440,static,private,user,[
    get_variable(x(2),1),
    get_variable(x(3),0),
    put_list(4),
    unify_variable(x(0)),
    unify_variable(x(1)),
    call_c_test('Blt_Univ',[3,4]),
    execute(handle_directive/3)]).


predicate(foreign_get_options/1,550,static,private,user,[
    switch_on_term(1,2,fail,4,fail),

label(1),
    try_me_else(3),

label(2),
    get_nil(0),
    proceed,

label(3),
    trust_me_else_fail,

label(4),
    allocate(1),
    get_list(0),
    unify_variable(x(0)),
    unify_variable(y(0)),
    call(foreign_get_options1/1),
    put_value(y(0),0),
    deallocate,
    execute(foreign_get_options/1)]).


predicate(foreign_get_options1/1,557,static,private,user,[
    switch_on_term(2,fail,fail,fail,1),

label(1),
    switch_on_structure([(fct_name/1,3),(return/1,5),(bip_name/1,7),(bip_name/2,9),(choice_size/1,11)]),

label(2),
    try_me_else(4),

label(3),
    get_structure(fct_name/1,0),
    unify_variable(x(1)),
    call_c_test('Blt_Atom',[1]),
    put_atom(foreign_fct_name,0),
    call_c_test('Blt_G_Assign',[0,1]),
    proceed,

label(4),
    retry_me_else(6),

label(5),
    allocate(1),
    get_structure(return/1,0),
    unify_variable(y(0)),
    put_value(y(0),0),
    call_c_test('Blt_Atom',[0]),
    put_value(y(0),0),
    call('$foreign_get_options1/1_$aux1'/1),
    put_atom(foreign_return,0),
    put_value(y(0),1),
    call_c_test('Blt_G_Assign',[0,1]),
    deallocate,
    proceed,

label(6),
    retry_me_else(8),

label(7),
    get_structure(bip_name/1,0),
    unify_variable(x(0)),
    call_c_test('Blt_Non_Var',[0]),
    get_atom(none,0),
    put_atom(foreign_bip_name,0),
    put_atom('',1),
    call_c_test('Blt_G_Assign',[0,1]),
    put_atom(foreign_bip_arity,0),
    put_integer(-2,1),
    call_c_test('Blt_G_Assign',[0,1]),
    proceed,

label(8),
    retry_me_else(10),

label(9),
    get_structure(bip_name/2,0),
    unify_variable(x(2)),
    unify_variable(x(1)),
    call_c_test('Blt_Atom',[2]),
    call_c_test('Blt_Integer',[1]),
    put_atom(foreign_bip_name,0),
    call_c_test('Blt_G_Assign',[0,2]),
    put_atom(foreign_bip_arity,0),
    call_c_test('Blt_G_Assign',[0,1]),
    proceed,

label(10),
    trust_me_else_fail,

label(11),
    get_structure(choice_size/1,0),
    unify_variable(x(1)),
    call_c_test('Blt_Integer',[1]),
    put_atom(foreign_choice_size,0),
    call_c_test('Blt_G_Assign',[0,1]),
    proceed]).


predicate('$foreign_get_options1/1_$aux1'/1,561,static,private,user,[
    switch_on_term(2,1,fail,fail,fail),

label(1),
    switch_on_atom([(none,3),(boolean,5),(jump,7)]),

label(2),
    try_me_else(4),

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

label(4),
    retry_me_else(6),

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

label(6),
    trust_me_else_fail,

label(7),
    get_atom(jump,0),
    proceed]).


predicate(foreign_check_types/4,585,static,private,user,[
    load_cut_level(4),
    try_me_else(1),
    get_nil(3),
    get_value(x(1),0),
    cut(x(4)),
    proceed,

label(1),
    trust_me_else_fail,
    allocate(5),
    get_variable(y(0),1),
    get_variable(y(1),2),
    get_list(3),
    unify_variable(x(1)),
    unify_variable(y(3)),
    get_structure((',')/2,1),
    unify_variable(y(2)),
    unify_variable(x(2)),
    math_fast_load_value(x(0),0),
    function('Fct_Fast_Inc',0,[0]),
    get_variable(y(4),0),
    put_value(y(4),1),
    put_value(y(1),3),
    put_variable(x(0),4),
    call_c_test('Blt_Arg',[1,3,4]),
    call_c_test('Blt_Non_Var',[0]),
    put_value(y(2),1),
    call('$foreign_check_types/4_$aux1'/3),
    put_value(y(2),0),
    call_c_test('Blt_Non_Var',[0]),
    put_value(y(2),0),
    call(foreign_check_arg/1),
    put_value(y(4),0),
    put_value(y(0),1),
    put_value(y(1),2),
    put_value(y(3),3),
    deallocate,
    execute(foreign_check_types/4)]).


predicate('$foreign_check_types/4_$aux1'/3,588,static,private,user,[
    switch_on_term(2,9,fail,fail,1),

label(1),
    switch_on_structure([((+)/1,3),((-)/1,5),((?)/1,7)]),

label(2),
    try_me_else(4),

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

label(4),
    retry_me_else(6),

label(5),
    get_structure((-)/1,0),
    unify_local_value(x(1)),
    get_integer(1,2),
    proceed,

label(6),
    retry_me_else(8),

label(7),
    get_structure((?)/1,0),
    unify_local_value(x(1)),
    get_integer(2,2),
    proceed,

label(8),
    trust_me_else_fail,

label(9),
    get_atom(term,0),
    get_atom(term,1),
    get_integer(0,2),
    proceed]).


predicate(foreign_check_arg/1,603,static,private,user,[
    switch_on_term(2,1,fail,fail,fail),

label(1),
    switch_on_atom([(integer,3),(positive,5),(float,7),(number,9),(atom,11),(boolean,13),(char,15),(in_char,17),(code,19),(in_code,21),(byte,23),(in_byte,25),(string,27),(chars,29),(codes,31),(term,33)]),

label(2),
    try_me_else(4),

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

label(4),
    retry_me_else(6),

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

label(6),
    retry_me_else(8),

label(7),
    get_atom(float,0),
    proceed,

label(8),
    retry_me_else(10),

label(9),
    get_atom(number,0),
    proceed,

label(10),
    retry_me_else(12),

label(11),
    get_atom(atom,0),
    proceed,

label(12),
    retry_me_else(14),

label(13),
    get_atom(boolean,0),
    proceed,

label(14),
    retry_me_else(16),

label(15),
    get_atom(char,0),
    proceed,

label(16),
    retry_me_else(18),

label(17),
    get_atom(in_char,0),
    proceed,

label(18),
    retry_me_else(20),

label(19),
    get_atom(code,0),
    proceed,

label(20),
    retry_me_else(22),

label(21),
    get_atom(in_code,0),
    proceed,

label(22),
    retry_me_else(24),

label(23),
    get_atom(byte,0),
    proceed,

label(24),
    retry_me_else(26),

label(25),
    get_atom(in_byte,0),
    proceed,

label(26),
    retry_me_else(28),

label(27),
    get_atom(string,0),
    proceed,

label(28),
    retry_me_else(30),

label(29),
    get_atom(chars,0),
    proceed,

label(30),
    retry_me_else(32),

label(31),
    get_atom(codes,0),
    proceed,

label(32),
    trust_me_else_fail,

label(33),
    get_atom(term,0),
    proceed]).


predicate(handle_initialization/3,630,static,private,user,[
    switch_on_term(2,1,fail,fail,fail),

label(1),
    switch_on_atom([(system,3),(user,5)]),

label(2),
    try_me_else(4),

label(3),
    get_atom(system,0),
    put_structure(buff_exe_system/1,0),
    unify_structure((+)/2),
    unify_local_value(x(2)),
    unify_local_value(x(1)),
    execute(assertz/1),

label(4),
    trust_me_else_fail,

label(5),
    get_atom(user,0),
    put_structure(buff_exe_user/1,0),
    unify_structure((+)/2),
    unify_local_value(x(2)),
    unify_local_value(x(1)),
    execute(assertz/1)]).


predicate(exec_directive/1,639,static,private,user,[
    load_cut_level(1),
    try_me_else(1),
    allocate(1),
    get_variable(y(0),1),
    put_structure(exec_directive_exception/2,2),
    unify_local_value(x(0)),
    unify_variable(x(1)),
    put_atom(any,3),
    put_integer(0,4),
    put_atom(false,5),
    call('$catch'/6),
    cut(y(0)),
    deallocate,
    proceed,

label(1),
    trust_me_else_fail,
    put_list(1),
    unify_local_value(x(0)),
    unify_nil,
    put_atom('directive failed (~q)',0),
    execute(warn/2)]).


predicate(exec_directive_exception/2,646,static,private,user,[
    get_variable(x(2),1),
    put_list(1),
    unify_local_value(x(0)),
    unify_list,
    unify_local_value(x(2)),
    unify_nil,
    put_atom('directive failed (~q) with exception (~q)',0),
    execute(warn/2)]).


predicate(used_bips_via_call/0,651,static,private,user,[
    allocate(0),
    put_void(0),
    put_void(1),
    put_void(2),
    call(op/3),
    put_void(0),
    put_void(1),
    call(char_conversion/2),
    put_void(0),
    put_void(1),
    call(set_prolog_flag/2),
    put_void(0),
    put_void(1),
    deallocate,
    execute(expand_term/2)]).


predicate(add_empty_dyn/2,660,static,private,user,[
    load_cut_level(2),
    switch_on_term(2,3,fail,5,1),

label(1),
    switch_on_structure([((',')/2,7),((/)/2,9)]),

label(2),
    try_me_else(4),

label(3),
    get_nil(0),
    cut(x(2)),
    proceed,

label(4),
    retry_me_else(6),

label(5),
    allocate(2),
    get_variable(y(1),1),
    get_list(0),
    unify_variable(x(0)),
    unify_variable(y(0)),
    cut(x(2)),
    put_value(y(1),1),
    call(add_empty_dyn/2),
    put_value(y(0),0),
    put_value(y(1),1),
    deallocate,
    execute(add_empty_dyn/2),

label(6),
    retry_me_else(8),

label(7),
    allocate(2),
    get_variable(y(1),1),
    get_structure((',')/2,0),
    unify_variable(x(0)),
    unify_variable(y(0)),
    cut(x(2)),
    put_value(y(1),1),
    call(add_empty_dyn/2),
    put_value(y(0),0),
    put_value(y(1),1),
    deallocate,
    execute(add_empty_dyn/2),

label(8),
    trust_me_else_fail,

label(9),
    get_structure((/)/2,0),
    unify_variable(x(3)),
    unify_variable(x(2)),
    put_structure(empty_dyn_pred/3,0),
    unify_value(x(3)),
    unify_value(x(2)),
    unify_local_value(x(1)),
    execute(assertz/1)]).


predicate(add_ensure_linked/1,679,static,private,user,[
    load_cut_level(1),
    switch_on_term(3,4,fail,6,1),

label(1),
    switch_on_structure([((',')/2,8),((/)/2,2)]),

label(2),
    try(10),
    trust(12),

label(3),
    try_me_else(5),

label(4),
    get_nil(0),
    cut(x(1)),
    proceed,

label(5),
    retry_me_else(7),

label(6),
    allocate(1),
    get_list(0),
    unify_variable(x(0)),
    unify_variable(y(0)),
    cut(x(1)),
    call(add_ensure_linked/1),
    put_value(y(0),0),
    deallocate,
    execute(add_ensure_linked/1),

label(7),
    retry_me_else(9),

label(8),
    allocate(1),
    get_structure((',')/2,0),
    unify_variable(x(0)),
    unify_variable(y(0)),
    cut(x(1)),
    call(add_ensure_linked/1),
    put_value(y(0),0),
    deallocate,
    execute(add_ensure_linked/1),

label(9),
    retry_me_else(11),

label(10),
    allocate(1),
    get_structure((/)/2,0),
    unify_variable(x(3)),
    unify_variable(x(2)),
    get_variable(y(0),1),
    put_structure(ensure_linked/2,0),
    unify_value(x(3)),
    unify_value(x(2)),
    put_atom(true,1),
    call(clause/2),
    cut(y(0)),
    deallocate,
    proceed,

label(11),
    trust_me_else_fail,

label(12),
    get_structure((/)/2,0),
    unify_variable(x(2)),
    unify_variable(x(1)),
    put_structure(ensure_linked/2,0),
    unify_value(x(2)),
    unify_value(x(1)),
    execute(assertz/1)]).


predicate(set_flag_for_preds/2,702,static,private,user,[
    load_cut_level(2),
    switch_on_term(2,3,fail,5,1),

label(1),
    switch_on_structure([((',')/2,7),((/)/2,9)]),

label(2),
    try_me_else(4),

label(3),
    get_nil(0),
    cut(x(2)),
    proceed,

label(4),
    retry_me_else(6),

label(5),
    allocate(2),
    get_variable(y(1),1),
    get_list(0),
    unify_variable(x(0)),
    unify_variable(y(0)),
    cut(x(2)),
    put_value(y(1),1),
    call(set_flag_for_preds/2),
    put_value(y(0),0),
    put_value(y(1),1),
    deallocate,
    execute(set_flag_for_preds/2),

label(6),
    retry_me_else(8),

label(7),
    allocate(2),
    get_variable(y(1),1),
    get_structure((',')/2,0),
    unify_variable(x(0)),
    unify_variable(y(0)),
    cut(x(2)),
    put_value(y(1),1),
    call(set_flag_for_preds/2),
    put_value(y(0),0),
    put_value(y(1),1),
    deallocate,
    execute(set_flag_for_preds/2),

label(8),
    trust_me_else_fail,

label(9),
    get_variable(x(4),1),
    get_structure((/)/2,0),
    unify_variable(x(0)),
    unify_variable(x(1)),
    get_variable(x(3),2),
    call_c_test('Blt_Atom',[0]),
    call_c_test('Blt_Integer',[1]),
    put_value(x(4),2),
    execute('$set_flag_for_preds/2_$aux1'/4)]).


predicate('$set_flag_for_preds/2_$aux1'/4,715,static,private,user,[
    load_cut_level(4),
    try_me_else(1),
    allocate(3),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_variable(y(2),4),
    put_atom(def,0),
    put_value(y(0),1),
    put_value(y(1),2),
    call(test_pred_info/3),
    cut(y(2)),
    put_atom('directive occurs after definition of ~q - directive ignored',0),
    put_structure((/)/2,2),
    unify_local_value(y(0)),
    unify_local_value(y(1)),
    put_list(1),
    unify_value(x(2)),
    unify_nil,
    deallocate,
    execute(warn/2),

label(1),
    trust_me_else_fail,
    allocate(4),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_variable(y(2),2),
    get_variable(y(3),3),
    put_value(y(2),0),
    put_value(y(0),1),
    put_value(y(1),2),
    call('$set_flag_for_preds/2_$aux2'/3),
    cut(y(3)),
    put_value(y(2),0),
    put_value(y(0),1),
    put_value(y(1),2),
    deallocate,
    execute(set_pred_info/3)]).


predicate('$set_flag_for_preds/2_$aux2'/3,715,static,private,user,[
    try_me_else(6),
    switch_on_term(2,1,fail,fail,fail),

label(1),
    switch_on_atom([(bpl,3),(bfd,5)]),

label(2),
    try_me_else(4),

label(3),
    get_atom(bpl,0),
    put_atom(bfd,0),
    execute(unset_pred_info/3),

label(4),
    trust_me_else_fail,

label(5),
    get_atom(bfd,0),
    put_atom(bpl,0),
    execute(unset_pred_info/3),

label(6),
    trust_me_else_fail,
    proceed]).


predicate(define_predicate/2,731,static,private,user,[
    load_cut_level(2),
    try_me_else(1),
    allocate(3),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_variable(y(2),2),
    put_atom(def,0),
    put_value(y(0),1),
    put_value(y(1),2),
    call(set_pred_info/3),
    put_atom(bpl,0),
    put_value(y(0),1),
    put_value(y(1),2),
    call(test_pred_info/3),
    cut(y(2)),
    deallocate,
    proceed,

label(1),
    retry_me_else(2),
    allocate(1),
    get_variable(x(3),1),
    get_variable(y(0),2),
    put_value(x(0),1),
    put_value(x(3),2),
    put_atom(bfd,0),
    call(test_pred_info/3),
    cut(y(0)),
    deallocate,
    proceed,

label(2),
    retry_me_else(3),
    get_variable(x(3),1),
    put_atom(default_kind,1),
    put_atom(built_in,4),
    call_c_test('Blt_G_Read',[1,4]),
    cut(x(2)),
    put_value(x(0),1),
    put_value(x(3),2),
    put_atom(bpl,0),
    execute(set_pred_info/3),

label(3),
    retry_me_else(4),
    get_variable(x(3),1),
    put_atom(default_kind,1),
    put_atom(built_in_fd,4),
    call_c_test('Blt_G_Read',[1,4]),
    cut(x(2)),
    put_value(x(0),1),
    put_value(x(3),2),
    put_atom(bfd,0),
    execute(set_pred_info/3),

label(4),
    trust_me_else_fail,
    proceed]).


predicate(flag_bit/2,755,static,private,user,[
    switch_on_term(2,1,fail,fail,fail),

label(1),
    switch_on_atom([(def,3),(dyn,5),(pub,7),(bpl,9),(bfd,11),(discontig,13),(cut,15)]),

label(2),
    try_me_else(4),

label(3),
    get_atom(def,0),
    get_integer(0,1),
    proceed,

label(4),
    retry_me_else(6),

label(5),
    get_atom(dyn,0),
    get_integer(1,1),
    proceed,

label(6),
    retry_me_else(8),

label(7),
    get_atom(pub,0),
    get_integer(2,1),
    proceed,

label(8),
    retry_me_else(10),

label(9),
    get_atom(bpl,0),
    get_integer(3,1),
    proceed,

label(10),
    retry_me_else(12),

label(11),
    get_atom(bfd,0),
    get_integer(4,1),
    proceed,

label(12),
    retry_me_else(14),

label(13),
    get_atom(discontig,0),
    get_integer(5,1),
    proceed,

label(14),
    trust_me_else_fail,

label(15),
    get_atom(cut,0),
    get_integer(6,1),
    proceed]).


predicate(set_pred_info/3,766,static,private,user,[
    load_cut_level(3),
    allocate(5),
    get_variable(y(0),1),
    get_variable(y(1),2),
    get_variable(y(2),3),
    put_variable(y(3),1),
    call(flag_bit/2),
    put_value(y(0),0),
    put_value(y(1),1),
    put_variable(y(4),2),
    call('$set_pred_info/3_$aux1'/3),
    cut(y(2)),
    math_fast_load_value(y(4),1),
    put_integer(1,2),
    math_fast_load_value(y(3),0),
    function('Fct_Fast_Shl',0,[2,0]),
    function('Fct_Fast_Or',1,[1,0]),
    put_structure(pred_info/3,0),
    unify_local_value(y(0)),
    unify_local_value(y(1)),
    unify_local_value(x(1)),
    deallocate,
    execute(assertz/1)]).


predicate('$set_pred_info/3_$aux1'/3,766,static,private,user,[
    try_me_else(1),
    get_variable(x(3),0),
    put_structure(pred_info/3,0),
    unify_local_value(x(3)),
    unify_local_value(x(1)),
    unify_local_value(x(2)),
    execute(retract/1),

label(1),
    trust_me_else_fail,
    get_integer(0,2),
    proceed]).


predicate(unset_pred_info/3,776,static,private,user,[
    load_cut_level(3),
    try_me_else(1),
    allocate(5),
    get_variable(y(0),1),
    get_variable(y(1),2),
    get_variable(y(2),3),
    put_variable(y(3),1),
    call(flag_bit/2),
    put_structure(pred_info/3,0),
    unify_local_value(y(0)),
    unify_local_value(y(1)),
    unify_variable(y(4)),
    call(retract/1),
    cut(y(2)),
    math_fast_load_value(y(4),1),
    put_integer(1,2),
    math_fast_load_value(y(3),0),
    function('Fct_Fast_Shl',0,[2,0]),
    function('Fct_Fast_Not',0,[0]),
    function('Fct_Fast_And',1,[1,0]),
    put_structure(pred_info/3,0),
    unify_local_value(y(0)),
    unify_local_value(y(1)),
    unify_local_value(x(1)),
    deallocate,
    execute(assertz/1),

label(1),
    trust_me_else_fail,
    proceed]).


predicate(test_pred_info/3,788,static,private,user,[
    allocate(4),
    get_variable(y(0),1),
    get_variable(y(1),2),
    put_variable(y(2),1),
    call(flag_bit/2),
    put_structure(pred_info/3,0),
    unify_local_value(y(0)),
    unify_local_value(y(1)),
    unify_variable(y(3)),
    put_void(1),
    call(clause/2),
    math_fast_load_value(y(3),1),
    put_integer(1,2),
    math_fast_load_value(y(2),0),
    function('Fct_Fast_Shl',0,[2,0]),
    function('Fct_Fast_And',0,[1,0]),
    put_integer(0,1),
    call_c_test('Blt_Fast_Gt',[0,1]),
    deallocate,
    proceed]).


predicate(check_predicate/2,796,static,private,user,[
    load_cut_level(2),
    try_me_else(1),
    allocate(3),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_variable(y(2),2),
    put_atom(redef_error,0),
    put_atom(t,1),
    call_c_test('Blt_G_Read',[0,1]),
    put_value(y(0),0),
    put_value(y(1),1),
    call(bip/2),
    cut(y(2)),
    put_atom('redefining built-in predicate ~q',0),
    put_structure((/)/2,2),
    unify_local_value(y(0)),
    unify_local_value(y(1)),
    put_list(1),
    unify_value(x(2)),
    unify_nil,
    deallocate,
    execute(error/2),

label(1),
    retry_me_else(2),
    allocate(3),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_variable(y(2),2),
    put_atom(redef_error,0),
    put_atom(t,1),
    call_c_test('Blt_G_Read',[0,1]),
    put_value(y(0),0),
    put_value(y(1),1),
    call(control_construct/2),
    cut(y(2)),
    put_atom('redefining control construct ~q',0),
    put_structure((/)/2,2),
    unify_local_value(y(0)),
    unify_local_value(y(1)),
    put_list(1),
    unify_value(x(2)),
    unify_nil,
    deallocate,
    execute(error/2),

label(2),
    retry_me_else(3),
    allocate(3),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_variable(y(2),2),
    put_atom(susp_warn,0),
    put_atom(t,1),
    call_c_test('Blt_G_Read',[0,1]),
    put_value(y(0),0),
    put_value(y(1),1),
    call(suspicious_predicate/2),
    cut(y(2)),
    put_atom('suspicious predicate ~q',0),
    put_structure((/)/2,2),
    unify_local_value(y(0)),
    unify_local_value(y(1)),
    put_list(1),
    unify_value(x(2)),
    unify_nil,
    deallocate,
    execute(warn/2),

label(3),
    retry_me_else(4),
    allocate(3),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_variable(y(2),2),
    put_value(y(0),0),
    call('$aux_name'/1),
    cut(y(2)),
    put_atom('using system auxiliary predicate ~q',0),
    put_structure((/)/2,2),
    unify_local_value(y(0)),
    unify_local_value(y(1)),
    put_list(1),
    unify_value(x(2)),
    unify_nil,
    deallocate,
    execute(warn/2),

label(4),
    trust_me_else_fail,
    proceed]).


predicate(control_construct/2,824,static,private,user,[
    switch_on_term(2,1,fail,fail,fail),

label(1),
    switch_on_atom([((','),3),((;),5),((->),7),(!,9),(fail,11),(true,13),(call,15),(catch,17),(throw,19)]),

label(2),
    try_me_else(4),

label(3),
    get_atom(',',0),
    get_integer(2,1),
    proceed,

label(4),
    retry_me_else(6),

label(5),
    get_atom(;,0),
    get_integer(2,1),
    proceed,

label(6),
    retry_me_else(8),

label(7),
    get_atom(->,0),
    get_integer(2,1),
    proceed,

label(8),
    retry_me_else(10),

label(9),
    get_atom(!,0),
    get_integer(0,1),
    proceed,

label(10),
    retry_me_else(12),

label(11),
    get_atom(fail,0),
    get_integer(0,1),
    proceed,

label(12),
    retry_me_else(14),

label(13),
    get_atom(true,0),
    get_integer(0,1),
    proceed,

label(14),
    retry_me_else(16),

label(15),
    get_atom(call,0),
    get_integer(1,1),
    proceed,

label(16),
    retry_me_else(18),

label(17),
    get_atom(catch,0),
    get_integer(3,1),
    proceed,

label(18),
    trust_me_else_fail,

label(19),
    get_atom(throw,0),
    get_integer(1,1),
    proceed]).


predicate(suspicious_predicate/2,834,static,private,user,[
    switch_on_term(3,1,fail,fail,fail),

label(1),
    switch_on_atom([((','),4),((;),6),((->),8),(!,10),((:-),2),((-->),16),({},18),((+),20),((-),22),((*),24),((/),26),((//),28)]),

label(2),
    try(12),
    trust(14),

label(3),
    try_me_else(5),

label(4),
    get_atom(',',0),
    get_integer(2,1),
    proceed,

label(5),
    retry_me_else(7),

label(6),
    get_atom(;,0),
    get_integer(2,1),
    proceed,

label(7),
    retry_me_else(9),

label(8),
    get_atom(->,0),
    get_integer(2,1),
    proceed,

label(9),
    retry_me_else(11),

label(10),
    get_atom(!,0),
    get_integer(0,1),
    proceed,

label(11),
    retry_me_else(13),

label(12),
    get_atom(:-,0),
    get_integer(1,1),
    proceed,

label(13),
    retry_me_else(15),

label(14),
    get_atom(:-,0),
    get_integer(2,1),
    proceed,

label(15),
    retry_me_else(17),

label(16),
    get_atom(-->,0),
    get_integer(2,1),
    proceed,

label(17),
    retry_me_else(19),

label(18),
    get_atom({},0),
    math_fast_load_value(x(1),0),
    put_integer(2,1),
    call_c_test('Blt_Fast_Lt',[0,1]),
    proceed,

label(19),
    retry_me_else(21),

label(20),
    get_atom(+,0),
    get_integer(2,1),
    proceed,

label(21),
    retry_me_else(23),

label(22),
    get_atom(-,0),
    get_integer(2,1),
    proceed,

label(23),
    retry_me_else(25),

label(24),
    get_atom(*,0),
    get_integer(2,1),
    proceed,

label(25),
    retry_me_else(27),

label(26),
    get_atom(/,0),
    get_integer(2,1),
    proceed,

label(27),
    trust_me_else_fail,

label(28),
    get_atom(//,0),
    get_integer(2,1),
    proceed]).


predicate(warn/2,851,static,private,user,[
    put_atom(warning,2),
    execute(disp_msg/3)]).


predicate(error/2,857,static,private,user,[
    load_cut_level(2),
    allocate(1),
    get_variable(y(0),2),
    put_atom('fatal error',2),
    call(disp_msg/3),
    call(repeat/0),
    put_value(y(0),0),
    call('$error/2_$aux1'/1),
    deallocate,
    execute(abort/0)]).


predicate('$error/2_$aux1'/1,857,static,private,user,[
    load_cut_level(1),
    try_me_else(1),
    allocate(1),
    get_variable(y(0),1),
    call(close_last_prolog_file/0),
    cut(y(0)),
    fail,

label(1),
    trust_me_else_fail,
    cut(x(0)),
    proceed]).


predicate(disp_msg/3,868,static,private,user,[
    allocate(3),
    get_variable(y(0),0),
    get_variable(y(1),1),
    get_variable(y(2),2),
    put_value(y(1),0),
    call(numbervars/1),
    put_atom(where,1),
    put_variable(x(0),2),
    call_c_test('Blt_G_Read',[1,2]),
    call('$disp_msg/3_$aux1'/1),
    put_atom('~a: ',0),
    put_list(1),
    unify_local_value(y(2)),
    unify_nil,
    call(format/2),
    put_value(y(0),0),
    put_value(y(1),1),
    call(format/2),
    put_atom(user_output,0),
    deallocate,
    execute(nl/1)]).


predicate('$disp_msg/3_$aux1'/1,868,static,private,user,[
    load_cut_level(1),
    try_me_else(2),
    switch_on_term(1,fail,fail,fail,1),

label(1),
    allocate(1),
    get_structure((+)/2,0),
    unify_variable(x(0)),
    unify_variable(y(0)),
    put_value(y(0),2),
    get_structure((-)/2,2),
    unify_void(2),
    cut(x(1)),
    put_void(1),
    call(disp_file_name/2),
    put_value(y(0),0),
    deallocate,
    execute(disp_lines/1),

label(2),
    trust_me_else_fail,
    proceed]).


predicate(disp_file_name/2,882,static,private,user,[
    load_cut_level(2),
    switch_on_term(1,2,fail,4,fail),

label(1),
    try_me_else(3),

label(2),
    get_nil(0),
    get_atom('',1),
    cut(x(2)),
    proceed,

label(3),
    trust_me_else_fail,

label(4),
    allocate(2),
    get_atom(' including ',1),
    get_list(0),
    unify_variable(x(1)),
    unify_variable(x(0)),
    get_structure((*)/2,1),
    unify_variable(y(0)),
    unify_void(1),
    put_variable(y(1),1),
    call(disp_file_name/2),
    put_atom('~a~a',0),
    put_list(1),
    unify_local_value(y(1)),
    unify_list,
    unify_value(y(0)),
    unify_nil,
    deallocate,
    execute(format/2)]).


predicate(disp_lines/1,892,static,private,user,[
    load_cut_level(1),
    switch_on_term(3,fail,fail,fail,1),

label(1),
    switch_on_structure([((-)/2,2)]),

label(2),
    try(4),
    trust(6),

label(3),
    try_me_else(5),

label(4),
    get_structure((-)/2,0),
    unify_variable(x(0)),
    unify_value(x(0)),
    cut(x(1)),
    put_list(1),
    unify_value(x(0)),
    unify_nil,
    put_atom(':~d ',0),
    execute(format/2),

label(5),
    trust_me_else_fail,

label(6),
    get_structure((-)/2,0),
    unify_variable(x(2)),
    unify_variable(x(0)),
    put_list(1),
    unify_value(x(2)),
    unify_list,
    unify_value(x(0)),
    unify_nil,
    put_atom(':~d--~d ',0),
    execute(format/2)]).


predicate(exception/1,904,static,private,user,[
    load_cut_level(1),
    try_me_else(9),
    switch_on_term(3,fail,fail,fail,1),

label(1),
    switch_on_structure([(error/2,2)]),

label(2),
    try(4),
    retry(6),
    trust(8),

label(3),
    try_me_else(5),

label(4),
    allocate(3),
    get_structure(error/2,0),
    unify_variable(x(0)),
    unify_void(1),
    get_structure(syntax_error/1,0),
    unify_void(1),
    cut(x(1)),
    put_void(0),
    put_variable(y(0),1),
    put_variable(y(1),2),
    put_variable(y(2),3),
    call(syntax_error_info/4),
    put_atom(open_file_stack,0),
    put_variable(x(2),1),
    call_c_test('Blt_G_Read',[0,1]),
    put_atom(where,0),
    put_structure((+)/2,1),
    unify_value(x(2)),
    unify_structure((-)/2),
    unify_local_value(y(0)),
    unify_local_value(y(0)),
    call_c_test('Blt_G_Assign',[0,1]),
    put_atom('syntax error: ~a (char:~d)',0),
    put_list(1),
    unify_local_value(y(2)),
    unify_list,
    unify_local_value(y(1)),
    unify_nil,
    deallocate,
    execute(error/2),

label(5),
    retry_me_else(7),

label(6),
    get_structure(error/2,0),
    unify_variable(x(0)),
    unify_void(1),
    get_structure(existence_error/2,0),
    unify_atom(source_sink),
    unify_variable(x(0)),
    cut(x(1)),
    put_list(1),
    unify_value(x(0)),
    unify_nil,
    put_atom('cannot open file ~a - does not exist',0),
    execute(error/2),

label(7),
    trust_me_else_fail,

label(8),
    get_structure(error/2,0),
    unify_variable(x(0)),
    unify_void(1),
    get_structure(permission_error/3,0),
    unify_atom(open),
    unify_atom(source_sink),
    unify_variable(x(0)),
    cut(x(1)),
    put_list(1),
    unify_value(x(0)),
    unify_nil,
    put_atom('cannot open file ~a - permission error',0),
    execute(error/2),

label(9),
    trust_me_else_fail,
    put_list(1),
    unify_local_value(x(0)),
    unify_nil,
    put_atom('exception raised: ~q',0),
    execute(error/2)]).


predicate(handle_directive/3,445,static,private,user,[
    load_cut_level(3),
    try_me_else(33),
    switch_on_term(3,1,fail,fail,fail),

label(1),
    switch_on_atom([(public,4),(dynamic,6),(discontiguous,8),(built_in,10),(built_in_fd,12),(ensure_linked,14),(multifile,16),(ensure_loaded,18),(include,20),(op,22),(char_conversion,24),(set_prolog_flag,26),(initialization,28),(foreign,2)]),

label(2),
    try(30),
    trust(32),

label(3),
    try_me_else(5),

label(4),
    get_atom(public,0),
    cut(x(3)),
    put_nil(0),
    call_c_test('Blt_Term_Neq',[1,0]),
    put_value(x(1),0),
    put_atom(pub,1),
    execute(set_flag_for_preds/2),

label(5),
    retry_me_else(7),

label(6),
    allocate(2),
    get_atom(dynamic,0),
    get_variable(y(0),1),
    get_variable(y(1),2),
    cut(x(3)),
    put_value(y(0),0),
    put_nil(1),
    call_c_test('Blt_Term_Neq',[0,1]),
    put_value(y(0),0),
    put_atom(dyn,1),
    call(set_flag_for_preds/2),
    put_value(y(0),0),
    put_atom(pub,1),
    call(set_flag_for_preds/2),
    put_value(y(0),0),
    put_value(y(1),1),
    deallocate,
    execute(add_empty_dyn/2),

label(7),
    retry_me_else(9),

label(8),
    get_atom(discontiguous,0),
    cut(x(3)),
    put_nil(0),
    call_c_test('Blt_Term_Neq',[1,0]),
    put_value(x(1),0),
    put_atom(discontig,1),
    execute(set_flag_for_preds/2),

label(9),
    retry_me_else(11),

label(10),
    allocate(1),
    get_atom(built_in,0),
    get_variable(y(0),3),
    cut(y(0)),
    put_value(x(1),0),
    call('$handle_directive/3_$aux1'/1),
    cut(y(0)),
    deallocate,
    proceed,

label(11),
    retry_me_else(13),

label(12),
    get_atom(built_in_fd,0),
    cut(x(3)),
    put_value(x(1),0),
    execute('$handle_directive/3_$aux2'/1),

label(13),
    retry_me_else(15),

label(14),
    get_atom(ensure_linked,0),
    cut(x(3)),
    put_value(x(1),0),
    execute('$handle_directive/3_$aux3'/1),

label(15),
    retry_me_else(17),

label(16),
    get_atom(multifile,0),
    cut(x(3)),
    put_atom('multifile directive not supported - directive ignored',0),
    put_nil(1),
    execute(warn/2),

label(17),
    retry_me_else(19),

label(18),
    get_atom(ensure_loaded,0),
    cut(x(3)),
    put_atom('ensure_loaded directive not supported - directive ignored',0),
    put_nil(1),
    execute(warn/2),

label(19),
    retry_me_else(21),

label(20),
    get_atom(include,0),
    get_list(1),
    unify_variable(x(0)),
    unify_nil,
    cut(x(3)),
    execute(open_new_prolog_file/1),

label(21),
    retry_me_else(23),

label(22),
    allocate(4),
    get_atom(op,0),
    get_list(1),
    unify_variable(y(0)),
    unify_list,
    unify_variable(y(1)),
    unify_list,
    unify_variable(y(2)),
    unify_nil,
    get_variable(y(3),2),
    cut(x(3)),
    put_structure(op/3,0),
    unify_value(y(0)),
    unify_value(y(1)),
    unify_value(y(2)),
    call(exec_directive/1),
    put_atom(system,0),
    put_structure(op/3,1),
    unify_value(y(0)),
    unify_value(y(1)),
    unify_value(y(2)),
    put_value(y(3),2),
    deallocate,
    execute(handle_initialization/3),

label(23),
    retry_me_else(25),

label(24),
    allocate(3),
    get_atom(char_conversion,0),
    get_list(1),
    unify_variable(y(0)),
    unify_list,
    unify_variable(y(1)),
    unify_nil,
    get_variable(y(2),2),
    cut(x(3)),
    put_structure(char_conversion/2,0),
    unify_value(y(0)),
    unify_value(y(1)),
    call(exec_directive/1),
    put_atom(system,0),
    put_structure(char_conversion/2,1),
    unify_value(y(0)),
    unify_value(y(1)),
    put_value(y(2),2),
    deallocate,
    execute(handle_initialization/3),

label(25),
    retry_me_else(27),

label(26),
    allocate(3),
    get_atom(set_prolog_flag,0),
    get_list(1),
    unify_variable(y(0)),
    unify_list,
    unify_variable(y(1)),
    unify_nil,
    get_variable(y(2),2),
    cut(x(3)),
    put_structure(set_prolog_flag/2,0),
    unify_value(y(0)),
    unify_value(y(1)),
    call(exec_directive/1),
    call('$handle_directive/3_$aux4'/0),
    put_atom(system,0),
    put_structure(set_prolog_flag/2,1),
    unify_value(y(0)),
    unify_value(y(1)),
    put_value(y(2),2),
    deallocate,
    execute(handle_initialization/3),

label(27),
    retry_me_else(29),

label(28),
    get_atom(initialization,0),
    get_list(1),
    unify_variable(x(1)),
    unify_nil,
    cut(x(3)),
    put_atom(user,0),
    execute(handle_initialization/3),

label(29),
    retry_me_else(31),

label(30),
    get_atom(foreign,0),
    get_list(1),
    unify_variable(x(0)),
    unify_nil,
    cut(x(3)),
    put_list(1),
    unify_value(x(0)),
    unify_list,
    unify_nil,
    unify_nil,
    put_atom(foreign,0),
    execute(handle_directive/3),

label(31),
    trust_me_else_fail,

label(32),
    allocate(5),
    get_atom(foreign,0),
    get_variable(y(1),2),
    get_list(1),
    unify_variable(y(0)),
    unify_list,
    unify_variable(x(0)),
    unify_nil,
    cut(x(3)),
    put_value(y(0),1),
    call_c_test('Blt_Callable',[1]),
    call_c_test('Blt_List',[0]),
    put_value(y(0),1),
    put_variable(y(2),2),
    put_variable(y(3),3),
    call_c_test('Blt_Functor',[1,2,3]),
    put_atom(foreign_fct_name,1),
    put_value(y(2),2),
    call_c_test('Blt_G_Assign',[1,2]),
    put_atom(foreign_return,1),
    put_atom(boolean,2),
    call_c_test('Blt_G_Assign',[1,2]),
    put_atom(foreign_bip_name,1),
    put_value(y(2),2),
    call_c_test('Blt_G_Assign',[1,2]),
    put_atom(foreign_bip_arity,1),
    put_value(y(3),2),
    call_c_test('Blt_G_Assign',[1,2]),
    put_atom(foreign_choice_size,1),
    put_integer(-1,2),
    call_c_test('Blt_G_Assign',[1,2]),
    call(foreign_get_options/1),
    put_integer(0,0),
    put_value(y(3),1),
    put_value(y(0),2),
    put_variable(y(4),3),
    call(foreign_check_types/4),
    put_structure((/)/2,0),
    unify_atom(foreign),
    unify_integer(2),
    call(test_call_c_allowed/1),
    put_atom(foreign_fct_name,0),
    put_variable(x(5),1),
    call_c_test('Blt_G_Read',[0,1]),
    put_atom(foreign_return,0),
    put_variable(x(4),1),
    call_c_test('Blt_G_Read',[0,1]),
    put_atom(foreign_bip_name,0),
    put_variable(x(3),1),
    call_c_test('Blt_G_Read',[0,1]),
    put_atom(foreign_bip_arity,0),
    put_variable(x(2),1),
    call_c_test('Blt_G_Read',[0,1]),
    put_atom(foreign_choice_size,1),
    put_variable(x(0),6),
    call_c_test('Blt_G_Read',[1,6]),
    put_variable(x(6),1),
    put_value(y(2),7),
    put_value(y(3),8),
    call_c_test('Blt_Functor',[1,7,8]),
    put_structure((+)/2,1),
    unify_local_value(y(1)),
    unify_structure((:-)/2),
    unify_value(x(6)),
    unify_structure('$foreign_call_c'/7),
    unify_value(x(6)),
    unify_local_value(y(4)),
    unify_value(x(5)),
    unify_value(x(4)),
    unify_value(x(3)),
    unify_value(x(2)),
    unify_value(x(0)),
    put_structure(buff_discontig_clause/3,0),
    unify_local_value(y(2)),
    unify_local_value(y(3)),
    unify_value(x(1)),
    call(assertz/1),
    put_structure((/)/2,0),
    unify_atom('$force_foreign_link'),
    unify_integer(0),
    deallocate,
    execute(add_ensure_linked/1),

label(33),
    trust_me_else_fail,
    allocate(2),
    get_variable(y(0),0),
    put_value(x(1),0),
    put_variable(y(1),1),
    call(length/2),
    put_atom('unknown directive ~q - maybe use initialization/1 - directive ignored',0),
    put_structure((/)/2,2),
    unify_local_value(y(0)),
    unify_local_value(y(1)),
    put_list(1),
    unify_value(x(2)),
    unify_nil,
    deallocate,
    execute(warn/2)]).


predicate('$handle_directive/3_$aux4'/0,505,static,private,user,[
    load_cut_level(0),
    try_me_else(1),
    allocate(1),
    get_variable(y(0),0),
    put_atom(singleton_warning,0),
    put_atom(off,1),
    call(current_prolog_flag/2),
    cut(y(0)),
    put_atom(singl_warn,0),
    put_atom(f,1),
    call_c_test('Blt_G_Assign',[0,1]),
    deallocate,
    proceed,

label(1),
    trust_me_else_fail,
    put_atom(singl_warn,0),
    put_atom(t,1),
    call_c_test('Blt_G_Assign',[0,1]),
    proceed]).


predicate('$handle_directive/3_$aux3'/1,474,static,private,user,[
    load_cut_level(1),
    try_me_else(1),
    put_atom(native_code,0),
    put_atom(f,2),
    call_c_test('Blt_G_Read',[0,2]),
    cut(x(1)),
    put_atom('ensure_linked ignored in byte-code compilation mode',0),
    put_nil(1),
    execute(warn/2),

label(1),
    trust_me_else_fail,
    put_nil(1),
    call_c_test('Blt_Term_Neq',[0,1]),
    execute(add_ensure_linked/1)]).


predicate('$handle_directive/3_$aux2'/1,468,static,private,user,[
    try_me_else(1),
    put_nil(1),
    call_c_test('Blt_Term_Eq',[0,1]),
    put_atom(default_kind,0),
    put_atom(built_in_fd,1),
    call_c_test('Blt_G_Assign',[0,1]),
    proceed,

label(1),
    trust_me_else_fail,
    put_nil(1),
    call_c_test('Blt_Term_Neq',[0,1]),
    put_atom(bfd,1),
    execute(set_flag_for_preds/2)]).


predicate('$handle_directive/3_$aux1'/1,462,static,private,user,[
    try_me_else(1),
    put_nil(1),
    call_c_test('Blt_Term_Eq',[0,1]),
    put_atom(default_kind,0),
    put_atom(built_in,1),
    call_c_test('Blt_G_Assign',[0,1]),
    proceed,

label(1),
    trust_me_else_fail,
    put_nil(1),
    call_c_test('Blt_Term_Neq',[0,1]),
    put_atom(bpl,1),
    execute(set_flag_for_preds/2)]).


directive(104,system,[
    put_integer(200,0),
    put_atom(fx,1),
    put_atom(?,2),
    execute(op/3)]).
