WORST_CASE(Omega(0),?) Initial ITS Start location: l8 0: l0 -> l1 : i2^0'=i2^post0, tmp88^0'=tmp88^post0, size1^0'=size1^post0, tmp1111^0'=tmp1111^post0, size1010^0'=size1010^post0, size77^0'=size77^post0, (-size1^post0+size1^0 == 0 /\ -size77^post0+size77^0 == 0 /\ i2^0-i2^post0 == 0 /\ tmp88^0-tmp88^post0 == 0 /\ size1010^0-size1010^post0 == 0 /\ -tmp1111^post0+tmp1111^0 == 0), cost: 1 7: l1 -> l5 : i2^0'=i2^post7, tmp88^0'=tmp88^post7, size1^0'=size1^post7, tmp1111^0'=tmp1111^post7, size1010^0'=size1010^post7, size77^0'=size77^post7, (-size77^post7+size77^0 == 0 /\ i2^post7 == 0 /\ -tmp1111^post7+tmp1111^0 == 0 /\ tmp88^0-tmp88^post7 == 0 /\ -i2^0+size1^0 <= 0 /\ size1010^0-size1010^post7 == 0 /\ size1^0-size1^post7 == 0), cost: 1 8: l1 -> l0 : i2^0'=i2^post8, tmp88^0'=tmp88^post8, size1^0'=size1^post8, tmp1111^0'=tmp1111^post8, size1010^0'=size1010^post8, size77^0'=size77^post8, (-1-i2^0+i2^post8 == 0 /\ size77^0-size77^post8 == 0 /\ -tmp1111^post8+tmp1111^0 == 0 /\ tmp88^0-tmp88^post8 == 0 /\ size1^0-size1^post8 == 0 /\ 1+i2^0-size1^0 <= 0 /\ -size1010^post8+size1010^0 == 0), cost: 1 1: l2 -> l3 : i2^0'=i2^post1, tmp88^0'=tmp88^post1, size1^0'=size1^post1, tmp1111^0'=tmp1111^post1, size1010^0'=size1010^post1, size77^0'=size77^post1, (size1010^0-size1010^post1 == 0 /\ i2^0-i2^post1 == 0 /\ -size77^post1+size77^0 == 0 /\ -i2^0+size1^0 <= 0 /\ tmp1111^0-tmp1111^post1 == 0 /\ tmp88^0-tmp88^post1 == 0 /\ -size1^post1+size1^0 == 0), cost: 1 2: l2 -> l4 : i2^0'=i2^post2, tmp88^0'=tmp88^post2, size1^0'=size1^post2, tmp1111^0'=tmp1111^post2, size1010^0'=size1010^post2, size77^0'=size77^post2, (-tmp1111^post2+tmp1111^0 == 0 /\ size77^0-size77^post2 == 0 /\ 1+i2^0-size1^0 <= 0 /\ tmp88^0-tmp88^post2 == 0 /\ size1010^0-size1010^post2 == 0 /\ size1^0-size1^post2 == 0 /\ -1-i2^0+i2^post2 == 0), cost: 1 6: l4 -> l2 : i2^0'=i2^post6, tmp88^0'=tmp88^post6, size1^0'=size1^post6, tmp1111^0'=tmp1111^post6, size1010^0'=size1010^post6, size77^0'=size77^post6, (tmp88^0-tmp88^post6 == 0 /\ i2^0-i2^post6 == 0 /\ size1010^0-size1010^post6 == 0 /\ tmp1111^0-tmp1111^post6 == 0 /\ -size1^post6+size1^0 == 0 /\ -size77^post6+size77^0 == 0), cost: 1 3: l5 -> l6 : i2^0'=i2^post3, tmp88^0'=tmp88^post3, size1^0'=size1^post3, tmp1111^0'=tmp1111^post3, size1010^0'=size1010^post3, size77^0'=size77^post3, (-size77^post3+size77^0 == 0 /\ tmp88^0-tmp88^post3 == 0 /\ -tmp1111^post3+tmp1111^0 == 0 /\ size1^0-size1^post3 == 0 /\ -size1010^post3+size1010^0 == 0 /\ i2^0-i2^post3 == 0), cost: 1 4: l6 -> l4 : i2^0'=i2^post4, tmp88^0'=tmp88^post4, size1^0'=size1^post4, tmp1111^0'=tmp1111^post4, size1010^0'=size1010^post4, size77^0'=size77^post4, (tmp88^0-tmp88^post4 == 0 /\ size1^0-size1^post4 == 0 /\ -tmp1111^post4+tmp1111^0 == 0 /\ -size77^post4+size77^0 == 0 /\ -i2^0+size1^0 <= 0 /\ -size1010^post4+size1010^0 == 0 /\ i2^post4 == 0), cost: 1 5: l6 -> l5 : i2^0'=i2^post5, tmp88^0'=tmp88^post5, size1^0'=size1^post5, tmp1111^0'=tmp1111^post5, size1010^0'=size1010^post5, size77^0'=size77^post5, (-size77^post5+size77^0 == 0 /\ -size1010^post5+size1010^0 == 0 /\ 1+i2^0-size1^0 <= 0 /\ tmp88^0-tmp88^post5 == 0 /\ -1-i2^0+i2^post5 == 0 /\ tmp1111^0-tmp1111^post5 == 0 /\ size1^0-size1^post5 == 0), cost: 1 9: l7 -> l0 : i2^0'=i2^post9, tmp88^0'=tmp88^post9, size1^0'=size1^post9, tmp1111^0'=tmp1111^post9, size1010^0'=size1010^post9, size77^0'=size77^post9, (0 == 0 /\ i2^post9 == 0 /\ size1010^post9-size1^post9 == 0 /\ -size1^post9+size77^post9 == 0 /\ -10+size1^post9 == 0), cost: 1 10: l8 -> l7 : i2^0'=i2^post10, tmp88^0'=tmp88^post10, size1^0'=size1^post10, tmp1111^0'=tmp1111^post10, size1010^0'=size1010^post10, size77^0'=size77^post10, (size1^0-size1^post10 == 0 /\ i2^0-i2^post10 == 0 /\ -size77^post10+size77^0 == 0 /\ -size1010^post10+size1010^0 == 0 /\ tmp1111^0-tmp1111^post10 == 0 /\ tmp88^0-tmp88^post10 == 0), cost: 1 Removed unreachable rules and leafs Start location: l8 0: l0 -> l1 : i2^0'=i2^post0, tmp88^0'=tmp88^post0, size1^0'=size1^post0, tmp1111^0'=tmp1111^post0, size1010^0'=size1010^post0, size77^0'=size77^post0, (-size1^post0+size1^0 == 0 /\ -size77^post0+size77^0 == 0 /\ i2^0-i2^post0 == 0 /\ tmp88^0-tmp88^post0 == 0 /\ size1010^0-size1010^post0 == 0 /\ -tmp1111^post0+tmp1111^0 == 0), cost: 1 7: l1 -> l5 : i2^0'=i2^post7, tmp88^0'=tmp88^post7, size1^0'=size1^post7, tmp1111^0'=tmp1111^post7, size1010^0'=size1010^post7, size77^0'=size77^post7, (-size77^post7+size77^0 == 0 /\ i2^post7 == 0 /\ -tmp1111^post7+tmp1111^0 == 0 /\ tmp88^0-tmp88^post7 == 0 /\ -i2^0+size1^0 <= 0 /\ size1010^0-size1010^post7 == 0 /\ size1^0-size1^post7 == 0), cost: 1 8: l1 -> l0 : i2^0'=i2^post8, tmp88^0'=tmp88^post8, size1^0'=size1^post8, tmp1111^0'=tmp1111^post8, size1010^0'=size1010^post8, size77^0'=size77^post8, (-1-i2^0+i2^post8 == 0 /\ size77^0-size77^post8 == 0 /\ -tmp1111^post8+tmp1111^0 == 0 /\ tmp88^0-tmp88^post8 == 0 /\ size1^0-size1^post8 == 0 /\ 1+i2^0-size1^0 <= 0 /\ -size1010^post8+size1010^0 == 0), cost: 1 2: l2 -> l4 : i2^0'=i2^post2, tmp88^0'=tmp88^post2, size1^0'=size1^post2, tmp1111^0'=tmp1111^post2, size1010^0'=size1010^post2, size77^0'=size77^post2, (-tmp1111^post2+tmp1111^0 == 0 /\ size77^0-size77^post2 == 0 /\ 1+i2^0-size1^0 <= 0 /\ tmp88^0-tmp88^post2 == 0 /\ size1010^0-size1010^post2 == 0 /\ size1^0-size1^post2 == 0 /\ -1-i2^0+i2^post2 == 0), cost: 1 6: l4 -> l2 : i2^0'=i2^post6, tmp88^0'=tmp88^post6, size1^0'=size1^post6, tmp1111^0'=tmp1111^post6, size1010^0'=size1010^post6, size77^0'=size77^post6, (tmp88^0-tmp88^post6 == 0 /\ i2^0-i2^post6 == 0 /\ size1010^0-size1010^post6 == 0 /\ tmp1111^0-tmp1111^post6 == 0 /\ -size1^post6+size1^0 == 0 /\ -size77^post6+size77^0 == 0), cost: 1 3: l5 -> l6 : i2^0'=i2^post3, tmp88^0'=tmp88^post3, size1^0'=size1^post3, tmp1111^0'=tmp1111^post3, size1010^0'=size1010^post3, size77^0'=size77^post3, (-size77^post3+size77^0 == 0 /\ tmp88^0-tmp88^post3 == 0 /\ -tmp1111^post3+tmp1111^0 == 0 /\ size1^0-size1^post3 == 0 /\ -size1010^post3+size1010^0 == 0 /\ i2^0-i2^post3 == 0), cost: 1 4: l6 -> l4 : i2^0'=i2^post4, tmp88^0'=tmp88^post4, size1^0'=size1^post4, tmp1111^0'=tmp1111^post4, size1010^0'=size1010^post4, size77^0'=size77^post4, (tmp88^0-tmp88^post4 == 0 /\ size1^0-size1^post4 == 0 /\ -tmp1111^post4+tmp1111^0 == 0 /\ -size77^post4+size77^0 == 0 /\ -i2^0+size1^0 <= 0 /\ -size1010^post4+size1010^0 == 0 /\ i2^post4 == 0), cost: 1 5: l6 -> l5 : i2^0'=i2^post5, tmp88^0'=tmp88^post5, size1^0'=size1^post5, tmp1111^0'=tmp1111^post5, size1010^0'=size1010^post5, size77^0'=size77^post5, (-size77^post5+size77^0 == 0 /\ -size1010^post5+size1010^0 == 0 /\ 1+i2^0-size1^0 <= 0 /\ tmp88^0-tmp88^post5 == 0 /\ -1-i2^0+i2^post5 == 0 /\ tmp1111^0-tmp1111^post5 == 0 /\ size1^0-size1^post5 == 0), cost: 1 9: l7 -> l0 : i2^0'=i2^post9, tmp88^0'=tmp88^post9, size1^0'=size1^post9, tmp1111^0'=tmp1111^post9, size1010^0'=size1010^post9, size77^0'=size77^post9, (0 == 0 /\ i2^post9 == 0 /\ size1010^post9-size1^post9 == 0 /\ -size1^post9+size77^post9 == 0 /\ -10+size1^post9 == 0), cost: 1 10: l8 -> l7 : i2^0'=i2^post10, tmp88^0'=tmp88^post10, size1^0'=size1^post10, tmp1111^0'=tmp1111^post10, size1010^0'=size1010^post10, size77^0'=size77^post10, (size1^0-size1^post10 == 0 /\ i2^0-i2^post10 == 0 /\ -size77^post10+size77^0 == 0 /\ -size1010^post10+size1010^0 == 0 /\ tmp1111^0-tmp1111^post10 == 0 /\ tmp88^0-tmp88^post10 == 0), cost: 1 Applied preprocessing Original rule: l0 -> l1 : i2^0'=i2^post0, tmp88^0'=tmp88^post0, size1^0'=size1^post0, tmp1111^0'=tmp1111^post0, size1010^0'=size1010^post0, size77^0'=size77^post0, (-size1^post0+size1^0 == 0 /\ -size77^post0+size77^0 == 0 /\ i2^0-i2^post0 == 0 /\ tmp88^0-tmp88^post0 == 0 /\ size1010^0-size1010^post0 == 0 /\ -tmp1111^post0+tmp1111^0 == 0), cost: 1 New rule: l0 -> l1 : TRUE, cost: 1 Applied preprocessing Original rule: l2 -> l4 : i2^0'=i2^post2, tmp88^0'=tmp88^post2, size1^0'=size1^post2, tmp1111^0'=tmp1111^post2, size1010^0'=size1010^post2, size77^0'=size77^post2, (-tmp1111^post2+tmp1111^0 == 0 /\ size77^0-size77^post2 == 0 /\ 1+i2^0-size1^0 <= 0 /\ tmp88^0-tmp88^post2 == 0 /\ size1010^0-size1010^post2 == 0 /\ size1^0-size1^post2 == 0 /\ -1-i2^0+i2^post2 == 0), cost: 1 New rule: l2 -> l4 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 Applied preprocessing Original rule: l5 -> l6 : i2^0'=i2^post3, tmp88^0'=tmp88^post3, size1^0'=size1^post3, tmp1111^0'=tmp1111^post3, size1010^0'=size1010^post3, size77^0'=size77^post3, (-size77^post3+size77^0 == 0 /\ tmp88^0-tmp88^post3 == 0 /\ -tmp1111^post3+tmp1111^0 == 0 /\ size1^0-size1^post3 == 0 /\ -size1010^post3+size1010^0 == 0 /\ i2^0-i2^post3 == 0), cost: 1 New rule: l5 -> l6 : TRUE, cost: 1 Applied preprocessing Original rule: l6 -> l4 : i2^0'=i2^post4, tmp88^0'=tmp88^post4, size1^0'=size1^post4, tmp1111^0'=tmp1111^post4, size1010^0'=size1010^post4, size77^0'=size77^post4, (tmp88^0-tmp88^post4 == 0 /\ size1^0-size1^post4 == 0 /\ -tmp1111^post4+tmp1111^0 == 0 /\ -size77^post4+size77^0 == 0 /\ -i2^0+size1^0 <= 0 /\ -size1010^post4+size1010^0 == 0 /\ i2^post4 == 0), cost: 1 New rule: l6 -> l4 : i2^0'=0, -i2^0+size1^0 <= 0, cost: 1 Applied preprocessing Original rule: l6 -> l5 : i2^0'=i2^post5, tmp88^0'=tmp88^post5, size1^0'=size1^post5, tmp1111^0'=tmp1111^post5, size1010^0'=size1010^post5, size77^0'=size77^post5, (-size77^post5+size77^0 == 0 /\ -size1010^post5+size1010^0 == 0 /\ 1+i2^0-size1^0 <= 0 /\ tmp88^0-tmp88^post5 == 0 /\ -1-i2^0+i2^post5 == 0 /\ tmp1111^0-tmp1111^post5 == 0 /\ size1^0-size1^post5 == 0), cost: 1 New rule: l6 -> l5 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 Applied preprocessing Original rule: l4 -> l2 : i2^0'=i2^post6, tmp88^0'=tmp88^post6, size1^0'=size1^post6, tmp1111^0'=tmp1111^post6, size1010^0'=size1010^post6, size77^0'=size77^post6, (tmp88^0-tmp88^post6 == 0 /\ i2^0-i2^post6 == 0 /\ size1010^0-size1010^post6 == 0 /\ tmp1111^0-tmp1111^post6 == 0 /\ -size1^post6+size1^0 == 0 /\ -size77^post6+size77^0 == 0), cost: 1 New rule: l4 -> l2 : TRUE, cost: 1 Applied preprocessing Original rule: l1 -> l5 : i2^0'=i2^post7, tmp88^0'=tmp88^post7, size1^0'=size1^post7, tmp1111^0'=tmp1111^post7, size1010^0'=size1010^post7, size77^0'=size77^post7, (-size77^post7+size77^0 == 0 /\ i2^post7 == 0 /\ -tmp1111^post7+tmp1111^0 == 0 /\ tmp88^0-tmp88^post7 == 0 /\ -i2^0+size1^0 <= 0 /\ size1010^0-size1010^post7 == 0 /\ size1^0-size1^post7 == 0), cost: 1 New rule: l1 -> l5 : i2^0'=0, -i2^0+size1^0 <= 0, cost: 1 Applied preprocessing Original rule: l1 -> l0 : i2^0'=i2^post8, tmp88^0'=tmp88^post8, size1^0'=size1^post8, tmp1111^0'=tmp1111^post8, size1010^0'=size1010^post8, size77^0'=size77^post8, (-1-i2^0+i2^post8 == 0 /\ size77^0-size77^post8 == 0 /\ -tmp1111^post8+tmp1111^0 == 0 /\ tmp88^0-tmp88^post8 == 0 /\ size1^0-size1^post8 == 0 /\ 1+i2^0-size1^0 <= 0 /\ -size1010^post8+size1010^0 == 0), cost: 1 New rule: l1 -> l0 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 Applied preprocessing Original rule: l7 -> l0 : i2^0'=i2^post9, tmp88^0'=tmp88^post9, size1^0'=size1^post9, tmp1111^0'=tmp1111^post9, size1010^0'=size1010^post9, size77^0'=size77^post9, (0 == 0 /\ i2^post9 == 0 /\ size1010^post9-size1^post9 == 0 /\ -size1^post9+size77^post9 == 0 /\ -10+size1^post9 == 0), cost: 1 New rule: l7 -> l0 : i2^0'=0, tmp88^0'=tmp88^post9, size1^0'=10, tmp1111^0'=tmp1111^post9, size1010^0'=10, size77^0'=10, 0 == 0, cost: 1 Applied preprocessing Original rule: l8 -> l7 : i2^0'=i2^post10, tmp88^0'=tmp88^post10, size1^0'=size1^post10, tmp1111^0'=tmp1111^post10, size1010^0'=size1010^post10, size77^0'=size77^post10, (size1^0-size1^post10 == 0 /\ i2^0-i2^post10 == 0 /\ -size77^post10+size77^0 == 0 /\ -size1010^post10+size1010^0 == 0 /\ tmp1111^0-tmp1111^post10 == 0 /\ tmp88^0-tmp88^post10 == 0), cost: 1 New rule: l8 -> l7 : TRUE, cost: 1 Simplified rules Start location: l8 11: l0 -> l1 : TRUE, cost: 1 17: l1 -> l5 : i2^0'=0, -i2^0+size1^0 <= 0, cost: 1 18: l1 -> l0 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 12: l2 -> l4 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 16: l4 -> l2 : TRUE, cost: 1 13: l5 -> l6 : TRUE, cost: 1 14: l6 -> l4 : i2^0'=0, -i2^0+size1^0 <= 0, cost: 1 15: l6 -> l5 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 19: l7 -> l0 : i2^0'=0, tmp88^0'=tmp88^post9, size1^0'=10, tmp1111^0'=tmp1111^post9, size1010^0'=10, size77^0'=10, 0 == 0, cost: 1 20: l8 -> l7 : TRUE, cost: 1 Eliminating location l7 by chaining: Applied chaining First rule: l8 -> l7 : TRUE, cost: 1 Second rule: l7 -> l0 : i2^0'=0, tmp88^0'=tmp88^post9, size1^0'=10, tmp1111^0'=tmp1111^post9, size1010^0'=10, size77^0'=10, 0 == 0, cost: 1 New rule: l8 -> l0 : i2^0'=0, tmp88^0'=tmp88^post9, size1^0'=10, tmp1111^0'=tmp1111^post9, size1010^0'=10, size77^0'=10, 0 == 0, cost: 2 Applied deletion Removed the following rules: 19 20 Eliminating location l2 by chaining: Applied chaining First rule: l4 -> l2 : TRUE, cost: 1 Second rule: l2 -> l4 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 New rule: l4 -> l4 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 2 Applied deletion Removed the following rules: 12 16 Eliminated locations on linear paths Start location: l8 11: l0 -> l1 : TRUE, cost: 1 17: l1 -> l5 : i2^0'=0, -i2^0+size1^0 <= 0, cost: 1 18: l1 -> l0 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 22: l4 -> l4 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 2 13: l5 -> l6 : TRUE, cost: 1 14: l6 -> l4 : i2^0'=0, -i2^0+size1^0 <= 0, cost: 1 15: l6 -> l5 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 21: l8 -> l0 : i2^0'=0, tmp88^0'=tmp88^post9, size1^0'=10, tmp1111^0'=tmp1111^post9, size1010^0'=10, size77^0'=10, 0 == 0, cost: 2 Applied acceleration Original rule: l4 -> l4 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 2 New rule: l4 -> l4 : i2^0'=i2^0+n0, (-i2^0+size1^0-n0 >= 0 /\ n0 >= 0), cost: 2*n0 Applied instantiation Original rule: l4 -> l4 : i2^0'=i2^0+n0, (-i2^0+size1^0-n0 >= 0 /\ n0 >= 0), cost: 2*n0 New rule: l4 -> l4 : i2^0'=size1^0, (0 >= 0 /\ -i2^0+size1^0 >= 0), cost: -2*i2^0+2*size1^0 Applied simplification Original rule: l4 -> l4 : i2^0'=size1^0, (0 >= 0 /\ -i2^0+size1^0 >= 0), cost: -2*i2^0+2*size1^0 New rule: l4 -> l4 : i2^0'=size1^0, -i2^0+size1^0 >= 0, cost: -2*i2^0+2*size1^0 Applied deletion Removed the following rules: 22 Accelerated simple loops Start location: l8 11: l0 -> l1 : TRUE, cost: 1 17: l1 -> l5 : i2^0'=0, -i2^0+size1^0 <= 0, cost: 1 18: l1 -> l0 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 24: l4 -> l4 : i2^0'=size1^0, -i2^0+size1^0 >= 0, cost: -2*i2^0+2*size1^0 13: l5 -> l6 : TRUE, cost: 1 14: l6 -> l4 : i2^0'=0, -i2^0+size1^0 <= 0, cost: 1 15: l6 -> l5 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 21: l8 -> l0 : i2^0'=0, tmp88^0'=tmp88^post9, size1^0'=10, tmp1111^0'=tmp1111^post9, size1010^0'=10, size77^0'=10, 0 == 0, cost: 2 Applied chaining First rule: l6 -> l4 : i2^0'=0, -i2^0+size1^0 <= 0, cost: 1 Second rule: l4 -> l4 : i2^0'=size1^0, -i2^0+size1^0 >= 0, cost: -2*i2^0+2*size1^0 New rule: l6 -> l4 : i2^0'=size1^0, (size1^0 >= 0 /\ -i2^0+size1^0 <= 0), cost: 1+2*size1^0 Applied deletion Removed the following rules: 24 Chained accelerated rules with incoming rules Start location: l8 11: l0 -> l1 : TRUE, cost: 1 17: l1 -> l5 : i2^0'=0, -i2^0+size1^0 <= 0, cost: 1 18: l1 -> l0 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 13: l5 -> l6 : TRUE, cost: 1 14: l6 -> l4 : i2^0'=0, -i2^0+size1^0 <= 0, cost: 1 15: l6 -> l5 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 25: l6 -> l4 : i2^0'=size1^0, (size1^0 >= 0 /\ -i2^0+size1^0 <= 0), cost: 1+2*size1^0 21: l8 -> l0 : i2^0'=0, tmp88^0'=tmp88^post9, size1^0'=10, tmp1111^0'=tmp1111^post9, size1010^0'=10, size77^0'=10, 0 == 0, cost: 2 Removed unreachable locations and irrelevant leafs Start location: l8 11: l0 -> l1 : TRUE, cost: 1 17: l1 -> l5 : i2^0'=0, -i2^0+size1^0 <= 0, cost: 1 18: l1 -> l0 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 13: l5 -> l6 : TRUE, cost: 1 15: l6 -> l5 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 21: l8 -> l0 : i2^0'=0, tmp88^0'=tmp88^post9, size1^0'=10, tmp1111^0'=tmp1111^post9, size1010^0'=10, size77^0'=10, 0 == 0, cost: 2 Eliminating location l6 by chaining: Applied chaining First rule: l5 -> l6 : TRUE, cost: 1 Second rule: l6 -> l5 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 New rule: l5 -> l5 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 2 Applied deletion Removed the following rules: 13 15 Eliminated locations on linear paths Start location: l8 11: l0 -> l1 : TRUE, cost: 1 17: l1 -> l5 : i2^0'=0, -i2^0+size1^0 <= 0, cost: 1 18: l1 -> l0 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 26: l5 -> l5 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 2 21: l8 -> l0 : i2^0'=0, tmp88^0'=tmp88^post9, size1^0'=10, tmp1111^0'=tmp1111^post9, size1010^0'=10, size77^0'=10, 0 == 0, cost: 2 Applied acceleration Original rule: l5 -> l5 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 2 New rule: l5 -> l5 : i2^0'=i2^0+n3, (-i2^0+size1^0-n3 >= 0 /\ n3 >= 0), cost: 2*n3 Applied instantiation Original rule: l5 -> l5 : i2^0'=i2^0+n3, (-i2^0+size1^0-n3 >= 0 /\ n3 >= 0), cost: 2*n3 New rule: l5 -> l5 : i2^0'=size1^0, (0 >= 0 /\ -i2^0+size1^0 >= 0), cost: -2*i2^0+2*size1^0 Applied simplification Original rule: l5 -> l5 : i2^0'=size1^0, (0 >= 0 /\ -i2^0+size1^0 >= 0), cost: -2*i2^0+2*size1^0 New rule: l5 -> l5 : i2^0'=size1^0, -i2^0+size1^0 >= 0, cost: -2*i2^0+2*size1^0 Applied deletion Removed the following rules: 26 Accelerated simple loops Start location: l8 11: l0 -> l1 : TRUE, cost: 1 17: l1 -> l5 : i2^0'=0, -i2^0+size1^0 <= 0, cost: 1 18: l1 -> l0 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 28: l5 -> l5 : i2^0'=size1^0, -i2^0+size1^0 >= 0, cost: -2*i2^0+2*size1^0 21: l8 -> l0 : i2^0'=0, tmp88^0'=tmp88^post9, size1^0'=10, tmp1111^0'=tmp1111^post9, size1010^0'=10, size77^0'=10, 0 == 0, cost: 2 Applied chaining First rule: l1 -> l5 : i2^0'=0, -i2^0+size1^0 <= 0, cost: 1 Second rule: l5 -> l5 : i2^0'=size1^0, -i2^0+size1^0 >= 0, cost: -2*i2^0+2*size1^0 New rule: l1 -> l5 : i2^0'=size1^0, (size1^0 >= 0 /\ -i2^0+size1^0 <= 0), cost: 1+2*size1^0 Applied deletion Removed the following rules: 28 Chained accelerated rules with incoming rules Start location: l8 11: l0 -> l1 : TRUE, cost: 1 17: l1 -> l5 : i2^0'=0, -i2^0+size1^0 <= 0, cost: 1 18: l1 -> l0 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 29: l1 -> l5 : i2^0'=size1^0, (size1^0 >= 0 /\ -i2^0+size1^0 <= 0), cost: 1+2*size1^0 21: l8 -> l0 : i2^0'=0, tmp88^0'=tmp88^post9, size1^0'=10, tmp1111^0'=tmp1111^post9, size1010^0'=10, size77^0'=10, 0 == 0, cost: 2 Removed unreachable locations and irrelevant leafs Start location: l8 11: l0 -> l1 : TRUE, cost: 1 18: l1 -> l0 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 21: l8 -> l0 : i2^0'=0, tmp88^0'=tmp88^post9, size1^0'=10, tmp1111^0'=tmp1111^post9, size1010^0'=10, size77^0'=10, 0 == 0, cost: 2 Eliminating location l1 by chaining: Applied chaining First rule: l0 -> l1 : TRUE, cost: 1 Second rule: l1 -> l0 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 1 New rule: l0 -> l0 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 2 Applied deletion Removed the following rules: 11 18 Eliminated locations on linear paths Start location: l8 30: l0 -> l0 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 2 21: l8 -> l0 : i2^0'=0, tmp88^0'=tmp88^post9, size1^0'=10, tmp1111^0'=tmp1111^post9, size1010^0'=10, size77^0'=10, 0 == 0, cost: 2 Applied acceleration Original rule: l0 -> l0 : i2^0'=1+i2^0, 1+i2^0-size1^0 <= 0, cost: 2 New rule: l0 -> l0 : i2^0'=i2^0+n6, (n6 >= 0 /\ -i2^0+size1^0-n6 >= 0), cost: 2*n6 Applied instantiation Original rule: l0 -> l0 : i2^0'=i2^0+n6, (n6 >= 0 /\ -i2^0+size1^0-n6 >= 0), cost: 2*n6 New rule: l0 -> l0 : i2^0'=size1^0, (0 >= 0 /\ -i2^0+size1^0 >= 0), cost: -2*i2^0+2*size1^0 Applied simplification Original rule: l0 -> l0 : i2^0'=size1^0, (0 >= 0 /\ -i2^0+size1^0 >= 0), cost: -2*i2^0+2*size1^0 New rule: l0 -> l0 : i2^0'=size1^0, -i2^0+size1^0 >= 0, cost: -2*i2^0+2*size1^0 Applied deletion Removed the following rules: 30 Accelerated simple loops Start location: l8 32: l0 -> l0 : i2^0'=size1^0, -i2^0+size1^0 >= 0, cost: -2*i2^0+2*size1^0 21: l8 -> l0 : i2^0'=0, tmp88^0'=tmp88^post9, size1^0'=10, tmp1111^0'=tmp1111^post9, size1010^0'=10, size77^0'=10, 0 == 0, cost: 2 Applied chaining First rule: l8 -> l0 : i2^0'=0, tmp88^0'=tmp88^post9, size1^0'=10, tmp1111^0'=tmp1111^post9, size1010^0'=10, size77^0'=10, 0 == 0, cost: 2 Second rule: l0 -> l0 : i2^0'=size1^0, -i2^0+size1^0 >= 0, cost: -2*i2^0+2*size1^0 New rule: l8 -> l0 : i2^0'=10, tmp88^0'=tmp88^post9, size1^0'=10, tmp1111^0'=tmp1111^post9, size1010^0'=10, size77^0'=10, (0 == 0 /\ 10 >= 0), cost: 22 Applied deletion Removed the following rules: 32 Chained accelerated rules with incoming rules Start location: l8 21: l8 -> l0 : i2^0'=0, tmp88^0'=tmp88^post9, size1^0'=10, tmp1111^0'=tmp1111^post9, size1010^0'=10, size77^0'=10, 0 == 0, cost: 2 33: l8 -> l0 : i2^0'=10, tmp88^0'=tmp88^post9, size1^0'=10, tmp1111^0'=tmp1111^post9, size1010^0'=10, size77^0'=10, (0 == 0 /\ 10 >= 0), cost: 22 Removed unreachable locations and irrelevant leafs Start location: l8 Computing asymptotic complexity Proved the following lower bound Complexity: Unknown Cpx degree: ? Solved cost: 0 Rule cost: 0