:- module integer. :- pragma termination_info(integer:'<'((builtin:in), (builtin:in)), finite(0, [no, no]), cannot_loop). :- pragma termination_info(integer:'>'((builtin:in), (builtin:in)), finite(0, [no, no]), cannot_loop). :- pragma termination_info(integer:'=<'((builtin:in), (builtin:in)), finite(0, [no, no]), cannot_loop). :- pragma termination_info(integer:'>='((builtin:in), (builtin:in)), finite(0, [no, no]), cannot_loop). :- pragma termination_info(integer:integer((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:to_string((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:from_string((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:'+'((builtin:in)) = (builtin:out), finite(0, [yes, no]), cannot_loop). :- pragma termination_info(integer:'-'((builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(integer:'+'((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:'-'((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:'*'((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:'//'((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:div((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:rem((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:mod((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:'<<'((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:'>>'((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:'/\\'((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:'\\/'((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:xor((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:'\\'((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:abs((builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(integer:pow((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(integer:float((builtin:in)) = (builtin:out), finite(0, [no, no]), cannot_loop). :- pragma termination_info(integer:int((builtin:in)) = (builtin:out), finite(0, [no, no]), can_loop). :- pragma termination_info((integer:base) = (builtin:out), finite(0, [no]), cannot_loop). :- pragma termination_info(integer:big_abs((builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(integer:neg_list((builtin:in), (builtin:out), (builtin:in)), infinite, cannot_loop). :- pragma termination_info(integer:big_isnegative((builtin:in)), finite(0, [no]), cannot_loop). :- pragma termination_info(integer:big_neg((builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(integer:big_mul((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:big_sign((builtin:in), (builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(integer:big_quot((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:big_rem((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:big_div((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:big_mod((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:big_cmp((builtin:in), (builtin:in)) = (builtin:out), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(integer:big_plus((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:int_to_integer((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:signum((builtin:in)) = (builtin:out), finite(0, [no, no]), cannot_loop). :- pragma termination_info(integer:integer_signum((builtin:in)) = (builtin:out), finite(0, [no, no]), cannot_loop). :- pragma termination_info(integer:pos_mul((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:big_quot_rem((builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(integer:big_pow((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(integer:float_list((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), finite(0, [no, yes, no, no]), cannot_loop). :- pragma termination_info((integer:one) = (builtin:out), finite(4, [no]), cannot_loop). :- pragma termination_info(integer:string_to_integer((builtin:in)) = (builtin:out), infinite, can_loop).