WORST_CASE(Omega(0),?) Initial ITS Start location: l5 0: l0 -> l1 : z^0'=z^post0, __const_36^0'=__const_36^post0, y^0'=y^post0, __const_127^0'=__const_127^post0, counter^0'=counter^post0, (-counter^post0+counter^0 == 0 /\ z^0-z^post0 == 0 /\ __const_127^0-__const_127^post0 == 0 /\ -__const_36^post0+__const_36^0 == 0 /\ __const_36^0-counter^0 <= 0 /\ y^0-y^post0 == 0), cost: 1 1: l0 -> l2 : z^0'=z^post1, __const_36^0'=__const_36^post1, y^0'=y^post1, __const_127^0'=__const_127^post1, counter^0'=counter^post1, (-__const_127^post1+__const_127^0 == 0 /\ -y^post1+y^0 == 0 /\ __const_36^0-__const_36^post1 == 0 /\ -1+counter^post1-counter^0 == 0 /\ 1-__const_36^0+counter^0 <= 0 /\ -1-z^0+z^post1 == 0), cost: 1 4: l2 -> l0 : z^0'=z^post4, __const_36^0'=__const_36^post4, y^0'=y^post4, __const_127^0'=__const_127^post4, counter^0'=counter^post4, (__const_127^0-__const_127^post4 == 0 /\ y^0-y^post4 == 0 /\ -counter^post4+counter^0 == 0 /\ __const_36^0-__const_36^post4 == 0 /\ z^0-z^post4 == 0), cost: 1 2: l3 -> l2 : z^0'=z^post2, __const_36^0'=__const_36^post2, y^0'=y^post2, __const_127^0'=__const_127^post2, counter^0'=counter^post2, (0 == 0 /\ -__const_36^post2+__const_36^0 == 0 /\ -counter^post2+counter^0 == 0 /\ __const_127^0-__const_127^post2 == 0 /\ y^0-__const_127^0 <= 0 /\ y^0-y^post2 == 0), cost: 1 3: l3 -> l1 : z^0'=z^post3, __const_36^0'=__const_36^post3, y^0'=y^post3, __const_127^0'=__const_127^post3, counter^0'=counter^post3, (z^0-z^post3 == 0 /\ -counter^post3+counter^0 == 0 /\ 1-y^0+__const_127^0 <= 0 /\ __const_36^0-__const_36^post3 == 0 /\ y^0-y^post3 == 0 /\ -__const_127^post3+__const_127^0 == 0), cost: 1 5: l4 -> l3 : z^0'=z^post5, __const_36^0'=__const_36^post5, y^0'=y^post5, __const_127^0'=__const_127^post5, counter^0'=counter^post5, (z^0-z^post5 == 0 /\ counter^post5 == 0 /\ -y^post5+y^0 == 0 /\ -__const_127^post5+__const_127^0 == 0 /\ __const_36^0-__const_36^post5 == 0), cost: 1 6: l5 -> l4 : z^0'=z^post6, __const_36^0'=__const_36^post6, y^0'=y^post6, __const_127^0'=__const_127^post6, counter^0'=counter^post6, (-counter^post6+counter^0 == 0 /\ y^0-y^post6 == 0 /\ z^0-z^post6 == 0 /\ -__const_127^post6+__const_127^0 == 0 /\ __const_36^0-__const_36^post6 == 0), cost: 1 Removed unreachable rules and leafs Start location: l5 1: l0 -> l2 : z^0'=z^post1, __const_36^0'=__const_36^post1, y^0'=y^post1, __const_127^0'=__const_127^post1, counter^0'=counter^post1, (-__const_127^post1+__const_127^0 == 0 /\ -y^post1+y^0 == 0 /\ __const_36^0-__const_36^post1 == 0 /\ -1+counter^post1-counter^0 == 0 /\ 1-__const_36^0+counter^0 <= 0 /\ -1-z^0+z^post1 == 0), cost: 1 4: l2 -> l0 : z^0'=z^post4, __const_36^0'=__const_36^post4, y^0'=y^post4, __const_127^0'=__const_127^post4, counter^0'=counter^post4, (__const_127^0-__const_127^post4 == 0 /\ y^0-y^post4 == 0 /\ -counter^post4+counter^0 == 0 /\ __const_36^0-__const_36^post4 == 0 /\ z^0-z^post4 == 0), cost: 1 2: l3 -> l2 : z^0'=z^post2, __const_36^0'=__const_36^post2, y^0'=y^post2, __const_127^0'=__const_127^post2, counter^0'=counter^post2, (0 == 0 /\ -__const_36^post2+__const_36^0 == 0 /\ -counter^post2+counter^0 == 0 /\ __const_127^0-__const_127^post2 == 0 /\ y^0-__const_127^0 <= 0 /\ y^0-y^post2 == 0), cost: 1 5: l4 -> l3 : z^0'=z^post5, __const_36^0'=__const_36^post5, y^0'=y^post5, __const_127^0'=__const_127^post5, counter^0'=counter^post5, (z^0-z^post5 == 0 /\ counter^post5 == 0 /\ -y^post5+y^0 == 0 /\ -__const_127^post5+__const_127^0 == 0 /\ __const_36^0-__const_36^post5 == 0), cost: 1 6: l5 -> l4 : z^0'=z^post6, __const_36^0'=__const_36^post6, y^0'=y^post6, __const_127^0'=__const_127^post6, counter^0'=counter^post6, (-counter^post6+counter^0 == 0 /\ y^0-y^post6 == 0 /\ z^0-z^post6 == 0 /\ -__const_127^post6+__const_127^0 == 0 /\ __const_36^0-__const_36^post6 == 0), cost: 1 Applied preprocessing Original rule: l0 -> l2 : z^0'=z^post1, __const_36^0'=__const_36^post1, y^0'=y^post1, __const_127^0'=__const_127^post1, counter^0'=counter^post1, (-__const_127^post1+__const_127^0 == 0 /\ -y^post1+y^0 == 0 /\ __const_36^0-__const_36^post1 == 0 /\ -1+counter^post1-counter^0 == 0 /\ 1-__const_36^0+counter^0 <= 0 /\ -1-z^0+z^post1 == 0), cost: 1 New rule: l0 -> l2 : z^0'=1+z^0, counter^0'=1+counter^0, 1-__const_36^0+counter^0 <= 0, cost: 1 Applied preprocessing Original rule: l3 -> l2 : z^0'=z^post2, __const_36^0'=__const_36^post2, y^0'=y^post2, __const_127^0'=__const_127^post2, counter^0'=counter^post2, (0 == 0 /\ -__const_36^post2+__const_36^0 == 0 /\ -counter^post2+counter^0 == 0 /\ __const_127^0-__const_127^post2 == 0 /\ y^0-__const_127^0 <= 0 /\ y^0-y^post2 == 0), cost: 1 New rule: l3 -> l2 : z^0'=z^post2, y^0-__const_127^0 <= 0, cost: 1 Applied preprocessing Original rule: l2 -> l0 : z^0'=z^post4, __const_36^0'=__const_36^post4, y^0'=y^post4, __const_127^0'=__const_127^post4, counter^0'=counter^post4, (__const_127^0-__const_127^post4 == 0 /\ y^0-y^post4 == 0 /\ -counter^post4+counter^0 == 0 /\ __const_36^0-__const_36^post4 == 0 /\ z^0-z^post4 == 0), cost: 1 New rule: l2 -> l0 : TRUE, cost: 1 Applied preprocessing Original rule: l4 -> l3 : z^0'=z^post5, __const_36^0'=__const_36^post5, y^0'=y^post5, __const_127^0'=__const_127^post5, counter^0'=counter^post5, (z^0-z^post5 == 0 /\ counter^post5 == 0 /\ -y^post5+y^0 == 0 /\ -__const_127^post5+__const_127^0 == 0 /\ __const_36^0-__const_36^post5 == 0), cost: 1 New rule: l4 -> l3 : counter^0'=0, TRUE, cost: 1 Applied preprocessing Original rule: l5 -> l4 : z^0'=z^post6, __const_36^0'=__const_36^post6, y^0'=y^post6, __const_127^0'=__const_127^post6, counter^0'=counter^post6, (-counter^post6+counter^0 == 0 /\ y^0-y^post6 == 0 /\ z^0-z^post6 == 0 /\ -__const_127^post6+__const_127^0 == 0 /\ __const_36^0-__const_36^post6 == 0), cost: 1 New rule: l5 -> l4 : TRUE, cost: 1 Simplified rules Start location: l5 7: l0 -> l2 : z^0'=1+z^0, counter^0'=1+counter^0, 1-__const_36^0+counter^0 <= 0, cost: 1 9: l2 -> l0 : TRUE, cost: 1 8: l3 -> l2 : z^0'=z^post2, y^0-__const_127^0 <= 0, cost: 1 10: l4 -> l3 : counter^0'=0, TRUE, cost: 1 11: l5 -> l4 : TRUE, cost: 1 Eliminating location l4 by chaining: Applied chaining First rule: l5 -> l4 : TRUE, cost: 1 Second rule: l4 -> l3 : counter^0'=0, TRUE, cost: 1 New rule: l5 -> l3 : counter^0'=0, TRUE, cost: 2 Applied deletion Removed the following rules: 10 11 Eliminating location l3 by chaining: Applied chaining First rule: l5 -> l3 : counter^0'=0, TRUE, cost: 2 Second rule: l3 -> l2 : z^0'=z^post2, y^0-__const_127^0 <= 0, cost: 1 New rule: l5 -> l2 : z^0'=z^post2, counter^0'=0, y^0-__const_127^0 <= 0, cost: 3 Applied deletion Removed the following rules: 8 12 Eliminating location l0 by chaining: Applied chaining First rule: l2 -> l0 : TRUE, cost: 1 Second rule: l0 -> l2 : z^0'=1+z^0, counter^0'=1+counter^0, 1-__const_36^0+counter^0 <= 0, cost: 1 New rule: l2 -> l2 : z^0'=1+z^0, counter^0'=1+counter^0, 1-__const_36^0+counter^0 <= 0, cost: 2 Applied deletion Removed the following rules: 7 9 Eliminated locations on linear paths Start location: l5 14: l2 -> l2 : z^0'=1+z^0, counter^0'=1+counter^0, 1-__const_36^0+counter^0 <= 0, cost: 2 13: l5 -> l2 : z^0'=z^post2, counter^0'=0, y^0-__const_127^0 <= 0, cost: 3 Applied acceleration Original rule: l2 -> l2 : z^0'=1+z^0, counter^0'=1+counter^0, 1-__const_36^0+counter^0 <= 0, cost: 2 New rule: l2 -> l2 : z^0'=z^0+n, counter^0'=n+counter^0, (__const_36^0-n-counter^0 >= 0 /\ n >= 0), cost: 2*n Sub-proof via acceration calculus written to file:///tmp/tmpnam_bhflhB.txt Applied instantiation Original rule: l2 -> l2 : z^0'=z^0+n, counter^0'=n+counter^0, (__const_36^0-n-counter^0 >= 0 /\ n >= 0), cost: 2*n New rule: l2 -> l2 : z^0'=z^0+__const_36^0-counter^0, counter^0'=__const_36^0, (0 >= 0 /\ __const_36^0-counter^0 >= 0), cost: 2*__const_36^0-2*counter^0 Applied simplification Original rule: l2 -> l2 : z^0'=z^0+__const_36^0-counter^0, counter^0'=__const_36^0, (0 >= 0 /\ __const_36^0-counter^0 >= 0), cost: 2*__const_36^0-2*counter^0 New rule: l2 -> l2 : z^0'=z^0+__const_36^0-counter^0, counter^0'=__const_36^0, __const_36^0-counter^0 >= 0, cost: 2*__const_36^0-2*counter^0 Applied deletion Removed the following rules: 14 Accelerated simple loops Start location: l5 16: l2 -> l2 : z^0'=z^0+__const_36^0-counter^0, counter^0'=__const_36^0, __const_36^0-counter^0 >= 0, cost: 2*__const_36^0-2*counter^0 13: l5 -> l2 : z^0'=z^post2, counter^0'=0, y^0-__const_127^0 <= 0, cost: 3 Applied chaining First rule: l5 -> l2 : z^0'=z^post2, counter^0'=0, y^0-__const_127^0 <= 0, cost: 3 Second rule: l2 -> l2 : z^0'=z^0+__const_36^0-counter^0, counter^0'=__const_36^0, __const_36^0-counter^0 >= 0, cost: 2*__const_36^0-2*counter^0 New rule: l5 -> l2 : z^0'=__const_36^0+z^post2, counter^0'=__const_36^0, (__const_36^0 >= 0 /\ y^0-__const_127^0 <= 0), cost: 3+2*__const_36^0 Applied deletion Removed the following rules: 16 Chained accelerated rules with incoming rules Start location: l5 13: l5 -> l2 : z^0'=z^post2, counter^0'=0, y^0-__const_127^0 <= 0, cost: 3 17: l5 -> l2 : z^0'=__const_36^0+z^post2, counter^0'=__const_36^0, (__const_36^0 >= 0 /\ y^0-__const_127^0 <= 0), cost: 3+2*__const_36^0 Removed unreachable locations and irrelevant leafs Start location: l5 Computing asymptotic complexity Proved the following lower bound Complexity: Unknown Cpx degree: ? Solved cost: 0 Rule cost: 0