a.03.itrs

loading
details
attribute value
description
owner Johannes Waldmann
uploaded 2017-08-17 03:45:14.0
disk size 970 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
# Heapsort
# Cousot/Halbwachs: Automatic Discovery of Linear Restraints Among Variables of a Program (POPL 1978)
(VAR i j l r n)
(RULES
eval_1(i, j, l, r, n) -> eval_2(i, j, l - 1, r, n) :|: l >= 2
eval_1(i, j, l, r, n) -> eval_2(i, j, l, r - 1, n) :|: 2 > l
eval_2(i, j, l, r, n) -> eval_3(l, 2 * l, l, r, n) :|: r >= 2
eval_3(i, j, l, r, n) -> eval_4(i, j, l, r, n) :|: r >= j && r - 1 >= j
eval_3(i, j, l, r, n) -> eval_4(i, j + 1, l, r, n) :|: r >= j && r - 1 >= j
eval_3(i, j, l, r, n) -> eval_3(j, 2 * j, l, r, n) :|: r >= j && r - 1 >= j && j >= 1
eval_3(i, j, l, r, n) -> eval_3(j + 1, 2 * j + 2, l, r, n) :|: r >= j && r - 1 >= j && j >= 1
eval_3(i, j, l, r, n) -> eval_4(i, j, l, r, n) :|: r >= j && j > r - 1
eval_3(i, j, l, r, n) -> eval_3(j, 2 * j, l, r, n) :|: r >= j && j > r - 1 && j >= 1
eval_4(i, j, l, r, n) -> eval_2(i, j, l - 1, r, n) :|: l >= 2 && l >= 1 && r >= 2
eval_4(i, j, l, r, n) -> eval_2(i, j, l, r - 1, n) :|: 2 > l && l >= 1 && r >= 2
)
popout

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

actions get anonymous link download benchmark