svcomp-mult-commutative-true-unreach-call-true-termination-modified-c.pl

loading
details
attribute value
description
owner Johannes Waldmann
uploaded 2017-08-17 03:45:08.0
disk size 484 Bytes
downloadable true
type
attribute value
name no_type
processor id 1
description this is the default benchmark type for rejected benchmarks and benchmarks that are not associated with a type.
owning community none
loading contents
%Source: Ports of programs found in TPDB/C/AProVE_numeric
%query: main(g,g).
% source: port of http://cl2-informatik.uibk.ac.at/mercurial.cgi/TPDB/file/72cccd64ec42/C/AProVE_numeric/svcomp_MultCommutative_true-unreach-call_true-termination_modified.c
main(M, N) :- M >= 0, N >= 0, mult(M, N, Ret1), mult(N, M, Ret2).

mult(N, M, Ret) :- M < 0, !, M1 is -M, mult(N, M1, Ret).
mult(_, M, Ret) :- M =:= 0, Ret is 0.
mult(N, M, Ret) :- !, M1 is M - 1, mult(N, M1, Ret1), Ret is N + Ret1.
popout

content may be truncated. 'popout' for larger text window.

actions get anonymous link download benchmark