WORST_CASE(Omega(1),?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l12 0: l0 -> l1 : __const_5^0'=__const_5^post_1, i4^0'=i4^post_1, j5^0'=j5^post_1, k6^0'=k6^post_1, [ __const_5^0==__const_5^post_1 && i4^0==i4^post_1 && j5^0==j5^post_1 && k6^0==k6^post_1 ], cost: 1 13: l1 -> l4 : __const_5^0'=__const_5^post_14, i4^0'=i4^post_14, j5^0'=j5^post_14, k6^0'=k6^post_14, [ 1+__const_5^0<=i4^0 && i4^post_14==1 && __const_5^0==__const_5^post_14 && j5^0==j5^post_14 && k6^0==k6^post_14 ], cost: 1 14: l1 -> l2 : __const_5^0'=__const_5^post_15, i4^0'=i4^post_15, j5^0'=j5^post_15, k6^0'=k6^post_15, [ i4^0<=__const_5^0 && j5^post_15==1 && __const_5^0==__const_5^post_15 && i4^0==i4^post_15 && k6^0==k6^post_15 ], cost: 1 1: l2 -> l3 : __const_5^0'=__const_5^post_2, i4^0'=i4^post_2, j5^0'=j5^post_2, k6^0'=k6^post_2, [ __const_5^0==__const_5^post_2 && i4^0==i4^post_2 && j5^0==j5^post_2 && k6^0==k6^post_2 ], cost: 1 11: l3 -> l0 : __const_5^0'=__const_5^post_12, i4^0'=i4^post_12, j5^0'=j5^post_12, k6^0'=k6^post_12, [ 1+__const_5^0<=j5^0 && i4^post_12==1+i4^0 && __const_5^0==__const_5^post_12 && j5^0==j5^post_12 && k6^0==k6^post_12 ], cost: 1 12: l3 -> l2 : __const_5^0'=__const_5^post_13, i4^0'=i4^post_13, j5^0'=j5^post_13, k6^0'=k6^post_13, [ j5^0<=__const_5^0 && j5^post_13==1+j5^0 && __const_5^0==__const_5^post_13 && i4^0==i4^post_13 && k6^0==k6^post_13 ], cost: 1 2: l4 -> l5 : __const_5^0'=__const_5^post_3, i4^0'=i4^post_3, j5^0'=j5^post_3, k6^0'=k6^post_3, [ __const_5^0==__const_5^post_3 && i4^0==i4^post_3 && j5^0==j5^post_3 && k6^0==k6^post_3 ], cost: 1 8: l5 -> l10 : __const_5^0'=__const_5^post_9, i4^0'=i4^post_9, j5^0'=j5^post_9, k6^0'=k6^post_9, [ 1+__const_5^0<=i4^0 && __const_5^0==__const_5^post_9 && i4^0==i4^post_9 && j5^0==j5^post_9 && k6^0==k6^post_9 ], cost: 1 9: l5 -> l6 : __const_5^0'=__const_5^post_10, i4^0'=i4^post_10, j5^0'=j5^post_10, k6^0'=k6^post_10, [ i4^0<=__const_5^0 && j5^post_10==1 && __const_5^0==__const_5^post_10 && i4^0==i4^post_10 && k6^0==k6^post_10 ], cost: 1 3: l6 -> l7 : __const_5^0'=__const_5^post_4, i4^0'=i4^post_4, j5^0'=j5^post_4, k6^0'=k6^post_4, [ __const_5^0==__const_5^post_4 && i4^0==i4^post_4 && j5^0==j5^post_4 && k6^0==k6^post_4 ], cost: 1 6: l7 -> l4 : __const_5^0'=__const_5^post_7, i4^0'=i4^post_7, j5^0'=j5^post_7, k6^0'=k6^post_7, [ 1+__const_5^0<=j5^0 && i4^post_7==1+i4^0 && __const_5^0==__const_5^post_7 && j5^0==j5^post_7 && k6^0==k6^post_7 ], cost: 1 7: l7 -> l9 : __const_5^0'=__const_5^post_8, i4^0'=i4^post_8, j5^0'=j5^post_8, k6^0'=k6^post_8, [ j5^0<=__const_5^0 && k6^post_8==1 && __const_5^0==__const_5^post_8 && i4^0==i4^post_8 && j5^0==j5^post_8 ], cost: 1 4: l8 -> l6 : __const_5^0'=__const_5^post_5, i4^0'=i4^post_5, j5^0'=j5^post_5, k6^0'=k6^post_5, [ 1+__const_5^0<=k6^0 && j5^post_5==1+j5^0 && __const_5^0==__const_5^post_5 && i4^0==i4^post_5 && k6^0==k6^post_5 ], cost: 1 5: l8 -> l9 : __const_5^0'=__const_5^post_6, i4^0'=i4^post_6, j5^0'=j5^post_6, k6^0'=k6^post_6, [ k6^0<=__const_5^0 && k6^post_6==1+k6^0 && __const_5^0==__const_5^post_6 && i4^0==i4^post_6 && j5^0==j5^post_6 ], cost: 1 10: l9 -> l8 : __const_5^0'=__const_5^post_11, i4^0'=i4^post_11, j5^0'=j5^post_11, k6^0'=k6^post_11, [ __const_5^0==__const_5^post_11 && i4^0==i4^post_11 && j5^0==j5^post_11 && k6^0==k6^post_11 ], cost: 1 15: l11 -> l0 : __const_5^0'=__const_5^post_16, i4^0'=i4^post_16, j5^0'=j5^post_16, k6^0'=k6^post_16, [ i4^post_16==1 && __const_5^0==__const_5^post_16 && j5^0==j5^post_16 && k6^0==k6^post_16 ], cost: 1 16: l12 -> l11 : __const_5^0'=__const_5^post_17, i4^0'=i4^post_17, j5^0'=j5^post_17, k6^0'=k6^post_17, [ __const_5^0==__const_5^post_17 && i4^0==i4^post_17 && j5^0==j5^post_17 && k6^0==k6^post_17 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 16: l12 -> l11 : __const_5^0'=__const_5^post_17, i4^0'=i4^post_17, j5^0'=j5^post_17, k6^0'=k6^post_17, [ __const_5^0==__const_5^post_17 && i4^0==i4^post_17 && j5^0==j5^post_17 && k6^0==k6^post_17 ], cost: 1 Removed unreachable and leaf rules: Start location: l12 0: l0 -> l1 : __const_5^0'=__const_5^post_1, i4^0'=i4^post_1, j5^0'=j5^post_1, k6^0'=k6^post_1, [ __const_5^0==__const_5^post_1 && i4^0==i4^post_1 && j5^0==j5^post_1 && k6^0==k6^post_1 ], cost: 1 13: l1 -> l4 : __const_5^0'=__const_5^post_14, i4^0'=i4^post_14, j5^0'=j5^post_14, k6^0'=k6^post_14, [ 1+__const_5^0<=i4^0 && i4^post_14==1 && __const_5^0==__const_5^post_14 && j5^0==j5^post_14 && k6^0==k6^post_14 ], cost: 1 14: l1 -> l2 : __const_5^0'=__const_5^post_15, i4^0'=i4^post_15, j5^0'=j5^post_15, k6^0'=k6^post_15, [ i4^0<=__const_5^0 && j5^post_15==1 && __const_5^0==__const_5^post_15 && i4^0==i4^post_15 && k6^0==k6^post_15 ], cost: 1 1: l2 -> l3 : __const_5^0'=__const_5^post_2, i4^0'=i4^post_2, j5^0'=j5^post_2, k6^0'=k6^post_2, [ __const_5^0==__const_5^post_2 && i4^0==i4^post_2 && j5^0==j5^post_2 && k6^0==k6^post_2 ], cost: 1 11: l3 -> l0 : __const_5^0'=__const_5^post_12, i4^0'=i4^post_12, j5^0'=j5^post_12, k6^0'=k6^post_12, [ 1+__const_5^0<=j5^0 && i4^post_12==1+i4^0 && __const_5^0==__const_5^post_12 && j5^0==j5^post_12 && k6^0==k6^post_12 ], cost: 1 12: l3 -> l2 : __const_5^0'=__const_5^post_13, i4^0'=i4^post_13, j5^0'=j5^post_13, k6^0'=k6^post_13, [ j5^0<=__const_5^0 && j5^post_13==1+j5^0 && __const_5^0==__const_5^post_13 && i4^0==i4^post_13 && k6^0==k6^post_13 ], cost: 1 2: l4 -> l5 : __const_5^0'=__const_5^post_3, i4^0'=i4^post_3, j5^0'=j5^post_3, k6^0'=k6^post_3, [ __const_5^0==__const_5^post_3 && i4^0==i4^post_3 && j5^0==j5^post_3 && k6^0==k6^post_3 ], cost: 1 9: l5 -> l6 : __const_5^0'=__const_5^post_10, i4^0'=i4^post_10, j5^0'=j5^post_10, k6^0'=k6^post_10, [ i4^0<=__const_5^0 && j5^post_10==1 && __const_5^0==__const_5^post_10 && i4^0==i4^post_10 && k6^0==k6^post_10 ], cost: 1 3: l6 -> l7 : __const_5^0'=__const_5^post_4, i4^0'=i4^post_4, j5^0'=j5^post_4, k6^0'=k6^post_4, [ __const_5^0==__const_5^post_4 && i4^0==i4^post_4 && j5^0==j5^post_4 && k6^0==k6^post_4 ], cost: 1 6: l7 -> l4 : __const_5^0'=__const_5^post_7, i4^0'=i4^post_7, j5^0'=j5^post_7, k6^0'=k6^post_7, [ 1+__const_5^0<=j5^0 && i4^post_7==1+i4^0 && __const_5^0==__const_5^post_7 && j5^0==j5^post_7 && k6^0==k6^post_7 ], cost: 1 7: l7 -> l9 : __const_5^0'=__const_5^post_8, i4^0'=i4^post_8, j5^0'=j5^post_8, k6^0'=k6^post_8, [ j5^0<=__const_5^0 && k6^post_8==1 && __const_5^0==__const_5^post_8 && i4^0==i4^post_8 && j5^0==j5^post_8 ], cost: 1 4: l8 -> l6 : __const_5^0'=__const_5^post_5, i4^0'=i4^post_5, j5^0'=j5^post_5, k6^0'=k6^post_5, [ 1+__const_5^0<=k6^0 && j5^post_5==1+j5^0 && __const_5^0==__const_5^post_5 && i4^0==i4^post_5 && k6^0==k6^post_5 ], cost: 1 5: l8 -> l9 : __const_5^0'=__const_5^post_6, i4^0'=i4^post_6, j5^0'=j5^post_6, k6^0'=k6^post_6, [ k6^0<=__const_5^0 && k6^post_6==1+k6^0 && __const_5^0==__const_5^post_6 && i4^0==i4^post_6 && j5^0==j5^post_6 ], cost: 1 10: l9 -> l8 : __const_5^0'=__const_5^post_11, i4^0'=i4^post_11, j5^0'=j5^post_11, k6^0'=k6^post_11, [ __const_5^0==__const_5^post_11 && i4^0==i4^post_11 && j5^0==j5^post_11 && k6^0==k6^post_11 ], cost: 1 15: l11 -> l0 : __const_5^0'=__const_5^post_16, i4^0'=i4^post_16, j5^0'=j5^post_16, k6^0'=k6^post_16, [ i4^post_16==1 && __const_5^0==__const_5^post_16 && j5^0==j5^post_16 && k6^0==k6^post_16 ], cost: 1 16: l12 -> l11 : __const_5^0'=__const_5^post_17, i4^0'=i4^post_17, j5^0'=j5^post_17, k6^0'=k6^post_17, [ __const_5^0==__const_5^post_17 && i4^0==i4^post_17 && j5^0==j5^post_17 && k6^0==k6^post_17 ], cost: 1 Simplified all rules, resulting in: Start location: l12 0: l0 -> l1 : [], cost: 1 13: l1 -> l4 : i4^0'=1, [ 1+__const_5^0<=i4^0 ], cost: 1 14: l1 -> l2 : j5^0'=1, [ i4^0<=__const_5^0 ], cost: 1 1: l2 -> l3 : [], cost: 1 11: l3 -> l0 : i4^0'=1+i4^0, [ 1+__const_5^0<=j5^0 ], cost: 1 12: l3 -> l2 : j5^0'=1+j5^0, [ j5^0<=__const_5^0 ], cost: 1 2: l4 -> l5 : [], cost: 1 9: l5 -> l6 : j5^0'=1, [ i4^0<=__const_5^0 ], cost: 1 3: l6 -> l7 : [], cost: 1 6: l7 -> l4 : i4^0'=1+i4^0, [ 1+__const_5^0<=j5^0 ], cost: 1 7: l7 -> l9 : k6^0'=1, [ j5^0<=__const_5^0 ], cost: 1 4: l8 -> l6 : j5^0'=1+j5^0, [ 1+__const_5^0<=k6^0 ], cost: 1 5: l8 -> l9 : k6^0'=1+k6^0, [ k6^0<=__const_5^0 ], cost: 1 10: l9 -> l8 : [], cost: 1 15: l11 -> l0 : i4^0'=1, [], cost: 1 16: l12 -> l11 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l12 0: l0 -> l1 : [], cost: 1 13: l1 -> l4 : i4^0'=1, [ 1+__const_5^0<=i4^0 ], cost: 1 14: l1 -> l2 : j5^0'=1, [ i4^0<=__const_5^0 ], cost: 1 1: l2 -> l3 : [], cost: 1 11: l3 -> l0 : i4^0'=1+i4^0, [ 1+__const_5^0<=j5^0 ], cost: 1 12: l3 -> l2 : j5^0'=1+j5^0, [ j5^0<=__const_5^0 ], cost: 1 18: l4 -> l6 : j5^0'=1, [ i4^0<=__const_5^0 ], cost: 2 3: l6 -> l7 : [], cost: 1 6: l7 -> l4 : i4^0'=1+i4^0, [ 1+__const_5^0<=j5^0 ], cost: 1 7: l7 -> l9 : k6^0'=1, [ j5^0<=__const_5^0 ], cost: 1 4: l8 -> l6 : j5^0'=1+j5^0, [ 1+__const_5^0<=k6^0 ], cost: 1 5: l8 -> l9 : k6^0'=1+k6^0, [ k6^0<=__const_5^0 ], cost: 1 10: l9 -> l8 : [], cost: 1 17: l12 -> l0 : i4^0'=1, [], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l12 19: l0 -> l4 : i4^0'=1, [ 1+__const_5^0<=i4^0 ], cost: 2 20: l0 -> l2 : j5^0'=1, [ i4^0<=__const_5^0 ], cost: 2 21: l2 -> l0 : i4^0'=1+i4^0, [ 1+__const_5^0<=j5^0 ], cost: 2 22: l2 -> l2 : j5^0'=1+j5^0, [ j5^0<=__const_5^0 ], cost: 2 18: l4 -> l6 : j5^0'=1, [ i4^0<=__const_5^0 ], cost: 2 23: l6 -> l4 : i4^0'=1+i4^0, [ 1+__const_5^0<=j5^0 ], cost: 2 24: l6 -> l9 : k6^0'=1, [ j5^0<=__const_5^0 ], cost: 2 25: l9 -> l6 : j5^0'=1+j5^0, [ 1+__const_5^0<=k6^0 ], cost: 2 26: l9 -> l9 : k6^0'=1+k6^0, [ k6^0<=__const_5^0 ], cost: 2 17: l12 -> l0 : i4^0'=1, [], cost: 2 Accelerating simple loops of location 2. Accelerating the following rules: 22: l2 -> l2 : j5^0'=1+j5^0, [ j5^0<=__const_5^0 ], cost: 2 Accelerated rule 22 with backward acceleration, yielding the new rule 27. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 22. Accelerating simple loops of location 9. Accelerating the following rules: 26: l9 -> l9 : k6^0'=1+k6^0, [ k6^0<=__const_5^0 ], cost: 2 Accelerated rule 26 with backward acceleration, yielding the new rule 28. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 26. Accelerated all simple loops using metering functions (where possible): Start location: l12 19: l0 -> l4 : i4^0'=1, [ 1+__const_5^0<=i4^0 ], cost: 2 20: l0 -> l2 : j5^0'=1, [ i4^0<=__const_5^0 ], cost: 2 21: l2 -> l0 : i4^0'=1+i4^0, [ 1+__const_5^0<=j5^0 ], cost: 2 27: l2 -> l2 : j5^0'=1+__const_5^0, [ 1-j5^0+__const_5^0>=0 ], cost: 2-2*j5^0+2*__const_5^0 18: l4 -> l6 : j5^0'=1, [ i4^0<=__const_5^0 ], cost: 2 23: l6 -> l4 : i4^0'=1+i4^0, [ 1+__const_5^0<=j5^0 ], cost: 2 24: l6 -> l9 : k6^0'=1, [ j5^0<=__const_5^0 ], cost: 2 25: l9 -> l6 : j5^0'=1+j5^0, [ 1+__const_5^0<=k6^0 ], cost: 2 28: l9 -> l9 : k6^0'=1+__const_5^0, [ 1-k6^0+__const_5^0>=0 ], cost: 2-2*k6^0+2*__const_5^0 17: l12 -> l0 : i4^0'=1, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l12 19: l0 -> l4 : i4^0'=1, [ 1+__const_5^0<=i4^0 ], cost: 2 20: l0 -> l2 : j5^0'=1, [ i4^0<=__const_5^0 ], cost: 2 29: l0 -> l2 : j5^0'=1+__const_5^0, [ i4^0<=__const_5^0 && __const_5^0>=0 ], cost: 2+2*__const_5^0 21: l2 -> l0 : i4^0'=1+i4^0, [ 1+__const_5^0<=j5^0 ], cost: 2 18: l4 -> l6 : j5^0'=1, [ i4^0<=__const_5^0 ], cost: 2 23: l6 -> l4 : i4^0'=1+i4^0, [ 1+__const_5^0<=j5^0 ], cost: 2 24: l6 -> l9 : k6^0'=1, [ j5^0<=__const_5^0 ], cost: 2 30: l6 -> l9 : k6^0'=1+__const_5^0, [ j5^0<=__const_5^0 && __const_5^0>=0 ], cost: 2+2*__const_5^0 25: l9 -> l6 : j5^0'=1+j5^0, [ 1+__const_5^0<=k6^0 ], cost: 2 17: l12 -> l0 : i4^0'=1, [], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l12 19: l0 -> l4 : i4^0'=1, [ 1+__const_5^0<=i4^0 ], cost: 2 31: l0 -> l0 : i4^0'=1+i4^0, j5^0'=1, [ i4^0<=__const_5^0 && 1+__const_5^0<=1 ], cost: 4 32: l0 -> l0 : i4^0'=1+i4^0, j5^0'=1+__const_5^0, [ i4^0<=__const_5^0 && __const_5^0>=0 ], cost: 4+2*__const_5^0 18: l4 -> l6 : j5^0'=1, [ i4^0<=__const_5^0 ], cost: 2 23: l6 -> l4 : i4^0'=1+i4^0, [ 1+__const_5^0<=j5^0 ], cost: 2 33: l6 -> l6 : j5^0'=1+j5^0, k6^0'=1, [ j5^0<=__const_5^0 && 1+__const_5^0<=1 ], cost: 4 34: l6 -> l6 : j5^0'=1+j5^0, k6^0'=1+__const_5^0, [ j5^0<=__const_5^0 && __const_5^0>=0 ], cost: 4+2*__const_5^0 17: l12 -> l0 : i4^0'=1, [], cost: 2 Accelerating simple loops of location 0. Accelerating the following rules: 31: l0 -> l0 : i4^0'=1+i4^0, j5^0'=1, [ i4^0<=__const_5^0 && 1+__const_5^0<=1 ], cost: 4 32: l0 -> l0 : i4^0'=1+i4^0, j5^0'=1+__const_5^0, [ i4^0<=__const_5^0 && __const_5^0>=0 ], cost: 4+2*__const_5^0 Accelerated rule 31 with backward acceleration, yielding the new rule 35. Accelerated rule 32 with backward acceleration, yielding the new rule 36. [accelerate] Nesting with 2 inner and 2 outer candidates Removing the simple loops: 31 32. Accelerating simple loops of location 6. Accelerating the following rules: 33: l6 -> l6 : j5^0'=1+j5^0, k6^0'=1, [ j5^0<=__const_5^0 && 1+__const_5^0<=1 ], cost: 4 34: l6 -> l6 : j5^0'=1+j5^0, k6^0'=1+__const_5^0, [ j5^0<=__const_5^0 && __const_5^0>=0 ], cost: 4+2*__const_5^0 Accelerated rule 33 with backward acceleration, yielding the new rule 37. Accelerated rule 34 with backward acceleration, yielding the new rule 38. [accelerate] Nesting with 2 inner and 2 outer candidates Removing the simple loops: 33 34. Accelerated all simple loops using metering functions (where possible): Start location: l12 19: l0 -> l4 : i4^0'=1, [ 1+__const_5^0<=i4^0 ], cost: 2 35: l0 -> l0 : i4^0'=1+__const_5^0, j5^0'=1, [ 1+__const_5^0<=1 && 1-i4^0+__const_5^0>=1 ], cost: 4-4*i4^0+4*__const_5^0 36: l0 -> l0 : i4^0'=1+__const_5^0, j5^0'=1+__const_5^0, [ __const_5^0>=0 && 1-i4^0+__const_5^0>=1 ], cost: 4-2*(-1+i4^0-__const_5^0)*__const_5^0-4*i4^0+4*__const_5^0 18: l4 -> l6 : j5^0'=1, [ i4^0<=__const_5^0 ], cost: 2 23: l6 -> l4 : i4^0'=1+i4^0, [ 1+__const_5^0<=j5^0 ], cost: 2 37: l6 -> l6 : j5^0'=1+__const_5^0, k6^0'=1, [ 1+__const_5^0<=1 && 1-j5^0+__const_5^0>=1 ], cost: 4-4*j5^0+4*__const_5^0 38: l6 -> l6 : j5^0'=1+__const_5^0, k6^0'=1+__const_5^0, [ __const_5^0>=0 && 1-j5^0+__const_5^0>=1 ], cost: 4-2*(-1+j5^0-__const_5^0)*__const_5^0-4*j5^0+4*__const_5^0 17: l12 -> l0 : i4^0'=1, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l12 19: l0 -> l4 : i4^0'=1, [ 1+__const_5^0<=i4^0 ], cost: 2 18: l4 -> l6 : j5^0'=1, [ i4^0<=__const_5^0 ], cost: 2 40: l4 -> l6 : j5^0'=1+__const_5^0, k6^0'=1+__const_5^0, [ i4^0<=__const_5^0 && __const_5^0>=1 ], cost: 2+2*__const_5^0^2+4*__const_5^0 23: l6 -> l4 : i4^0'=1+i4^0, [ 1+__const_5^0<=j5^0 ], cost: 2 17: l12 -> l0 : i4^0'=1, [], cost: 2 39: l12 -> l0 : i4^0'=1+__const_5^0, j5^0'=1+__const_5^0, [ __const_5^0>=1 ], cost: 2+2*__const_5^0^2+4*__const_5^0 Eliminated locations (on tree-shaped paths): Start location: l12 43: l4 -> l4 : i4^0'=1+i4^0, j5^0'=1, [ i4^0<=__const_5^0 && 1+__const_5^0<=1 ], cost: 4 44: l4 -> l4 : i4^0'=1+i4^0, j5^0'=1+__const_5^0, k6^0'=1+__const_5^0, [ i4^0<=__const_5^0 && __const_5^0>=1 ], cost: 4+2*__const_5^0^2+4*__const_5^0 41: l12 -> l4 : i4^0'=1, [ 1+__const_5^0<=1 ], cost: 4 42: l12 -> l4 : i4^0'=1, j5^0'=1+__const_5^0, [ __const_5^0>=1 ], cost: 4+2*__const_5^0^2+4*__const_5^0 Accelerating simple loops of location 4. Accelerating the following rules: 43: l4 -> l4 : i4^0'=1+i4^0, j5^0'=1, [ i4^0<=__const_5^0 && 1+__const_5^0<=1 ], cost: 4 44: l4 -> l4 : i4^0'=1+i4^0, j5^0'=1+__const_5^0, k6^0'=1+__const_5^0, [ i4^0<=__const_5^0 && __const_5^0>=1 ], cost: 4+2*__const_5^0^2+4*__const_5^0 Accelerated rule 43 with backward acceleration, yielding the new rule 45. Accelerated rule 44 with backward acceleration, yielding the new rule 46. [accelerate] Nesting with 2 inner and 2 outer candidates Removing the simple loops: 43 44. Accelerated all simple loops using metering functions (where possible): Start location: l12 45: l4 -> l4 : i4^0'=1+__const_5^0, j5^0'=1, [ 1+__const_5^0<=1 && 1-i4^0+__const_5^0>=1 ], cost: 4-4*i4^0+4*__const_5^0 46: l4 -> l4 : i4^0'=1+__const_5^0, j5^0'=1+__const_5^0, k6^0'=1+__const_5^0, [ __const_5^0>=1 && 1-i4^0+__const_5^0>=1 ], cost: 4-4*(-1+i4^0-__const_5^0)*__const_5^0-4*i4^0-2*(-1+i4^0-__const_5^0)*__const_5^0^2+4*__const_5^0 41: l12 -> l4 : i4^0'=1, [ 1+__const_5^0<=1 ], cost: 4 42: l12 -> l4 : i4^0'=1, j5^0'=1+__const_5^0, [ __const_5^0>=1 ], cost: 4+2*__const_5^0^2+4*__const_5^0 Chained accelerated rules (with incoming rules): Start location: l12 41: l12 -> l4 : i4^0'=1, [ 1+__const_5^0<=1 ], cost: 4 42: l12 -> l4 : i4^0'=1, j5^0'=1+__const_5^0, [ __const_5^0>=1 ], cost: 4+2*__const_5^0^2+4*__const_5^0 47: l12 -> l4 : i4^0'=1+__const_5^0, j5^0'=1+__const_5^0, k6^0'=1+__const_5^0, [ __const_5^0>=1 ], cost: 4+6*__const_5^0^2+8*__const_5^0+2*__const_5^0^3 Removed unreachable locations (and leaf rules with constant cost): Start location: l12 42: l12 -> l4 : i4^0'=1, j5^0'=1+__const_5^0, [ __const_5^0>=1 ], cost: 4+2*__const_5^0^2+4*__const_5^0 47: l12 -> l4 : i4^0'=1+__const_5^0, j5^0'=1+__const_5^0, k6^0'=1+__const_5^0, [ __const_5^0>=1 ], cost: 4+6*__const_5^0^2+8*__const_5^0+2*__const_5^0^3 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l12 42: l12 -> l4 : i4^0'=1, j5^0'=1+__const_5^0, [ __const_5^0>=1 ], cost: 4+2*__const_5^0^2+4*__const_5^0 47: l12 -> l4 : i4^0'=1+__const_5^0, j5^0'=1+__const_5^0, k6^0'=1+__const_5^0, [ __const_5^0>=1 ], cost: 4+6*__const_5^0^2+8*__const_5^0+2*__const_5^0^3 Computing asymptotic complexity for rule 47 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 42 Resulting cost 0 has complexity: Unknown Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Constant Cpx degree: 0 Solved cost: 1 Rule cost: 1 Rule guard: [ __const_5^0==__const_5^post_17 && i4^0==i4^post_17 && j5^0==j5^post_17 && k6^0==k6^post_17 ] WORST_CASE(Omega(1),?)