:- module builtin.
:- use_module builtin, char, float, int, list, private_builtin, require, rtti_implementation, std_util, string.
:- type (builtin:c_pointer).
builtin:false :-
		fail.
builtin:ordering(X_4, Y_5) = R_6 :-
		builtin:compare(R_6, X_4, Y_5).
builtin:(X_3 @< Y_4) :-
		V_5 = builtin:(<),
		builtin:compare(V_5, X_3, Y_4).
builtin:(X_3 @=< Y_4) :-
		\+ (
			V_5 = builtin:(>),
			builtin:compare(V_5, X_3, Y_4)
		).
builtin:(X_3 @> Y_4) :-
		V_5 = builtin:(>),
		builtin:compare(V_5, X_3, Y_4).
builtin:(X_3 @>= Y_4) :-
		\+ (
			V_5 = builtin:(<),
			builtin:compare(V_5, X_3, Y_4)
		).
builtin:call_rtti_generic_unify(X_3, Y_4) :-
		rtti_implementation:generic_unify(X_3, Y_4).
builtin:call_rtti_generic_compare(Res_4, X_5, Y_6) :-
		rtti_implementation:generic_compare(Res_4, X_5, Y_6).
:- pragma termination_info(builtin:unsafe_promise_unique((builtin:in), (builtin:uo)), infinite, cannot_loop).
:- pragma termination_info(builtin:unsafe_promise_unique((builtin:in)) = (builtin:uo), infinite, cannot_loop).
:- pragma termination_info((builtin:false), infinite, cannot_loop).
:- pragma termination_info(builtin:promise_only_solution((pred((builtin:out)) is cc_multi)) = (builtin:out), infinite, can_loop).
:- pragma termination_info(builtin:promise_only_solution((pred((builtin:out)) is cc_nondet)) = (builtin:out), infinite, can_loop).
:- pragma termination_info(builtin:promise_only_solution_io((pred((builtin:out), (builtin:di), (builtin:uo)) is cc_multi), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop).
:- pragma termination_info(builtin:ordering((builtin:in), (builtin:in)) = (builtin:out), finite(0, [no, no, no, no]), cannot_loop).
:- pragma termination_info(builtin:'@<'((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop).
:- pragma termination_info(builtin:'@=<'((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop).
:- pragma termination_info(builtin:'@>'((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop).
:- pragma termination_info(builtin:'@>='((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop).
:- pragma termination_info(builtin:get_one_solution((pred((builtin:out)) is cc_multi)) = (builtin:out), infinite, can_loop).
:- pragma termination_info(builtin:get_one_solution((pred((builtin:out)) is cc_nondet)) = (builtin:out), infinite, can_loop).
:- pragma termination_info(builtin:get_one_solution_io((pred((builtin:out), (builtin:di), (builtin:uo)) is cc_multi), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop).
:- pragma termination_info(builtin:call_rtti_generic_unify((builtin:in), (builtin:in)), finite(0, [no, no, no]), can_loop).
:- pragma termination_info(builtin:call_rtti_generic_compare((builtin:out), (builtin:in), (builtin:in)), infinite, can_loop).
