WORST_CASE(Omega(1),?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l8 0: l0 -> l1 : oldX0^0'=oldX0^post_1, oldX1^0'=oldX1^post_1, oldX2^0'=oldX2^post_1, oldX3^0'=oldX3^post_1, x0^0'=x0^post_1, x1^0'=x1^post_1, [ oldX0^post_1==x0^0 && oldX1^post_1==x1^0 && oldX2^post_1==oldX2^post_1 && oldX3^post_1==oldX3^post_1 && x0^post_1==oldX2^post_1 && x1^post_1==oldX3^post_1 ], cost: 1 1: l0 -> l2 : oldX0^0'=oldX0^post_2, oldX1^0'=oldX1^post_2, oldX2^0'=oldX2^post_2, oldX3^0'=oldX3^post_2, x0^0'=x0^post_2, x1^0'=x1^post_2, [ oldX0^post_2==x0^0 && oldX1^post_2==x1^0 && oldX2^post_2==oldX2^post_2 && x0^post_2==-1+oldX0^post_2 && x1^post_2==oldX2^post_2 && oldX3^0==oldX3^post_2 ], cost: 1 2: l0 -> l2 : oldX0^0'=oldX0^post_3, oldX1^0'=oldX1^post_3, oldX2^0'=oldX2^post_3, oldX3^0'=oldX3^post_3, x0^0'=x0^post_3, x1^0'=x1^post_3, [ oldX0^post_3==x0^0 && oldX1^post_3==x1^0 && x0^post_3==oldX0^post_3 && x1^post_3==-1+oldX1^post_3 && oldX2^0==oldX2^post_3 && oldX3^0==oldX3^post_3 ], cost: 1 10: l2 -> l6 : oldX0^0'=oldX0^post_11, oldX1^0'=oldX1^post_11, oldX2^0'=oldX2^post_11, oldX3^0'=oldX3^post_11, x0^0'=x0^post_11, x1^0'=x1^post_11, [ oldX0^post_11==x0^0 && oldX1^post_11==x1^0 && x0^post_11==oldX0^post_11 && x1^post_11==oldX1^post_11 && oldX2^0==oldX2^post_11 && oldX3^0==oldX3^post_11 ], cost: 1 3: l3 -> l1 : oldX0^0'=oldX0^post_4, oldX1^0'=oldX1^post_4, oldX2^0'=oldX2^post_4, oldX3^0'=oldX3^post_4, x0^0'=x0^post_4, x1^0'=x1^post_4, [ oldX0^post_4==x0^0 && oldX1^post_4==x1^0 && oldX2^post_4==oldX2^post_4 && oldX3^post_4==oldX3^post_4 && x0^post_4==oldX2^post_4 && x1^post_4==oldX3^post_4 ], cost: 1 4: l3 -> l2 : oldX0^0'=oldX0^post_5, oldX1^0'=oldX1^post_5, oldX2^0'=oldX2^post_5, oldX3^0'=oldX3^post_5, x0^0'=x0^post_5, x1^0'=x1^post_5, [ oldX0^post_5==x0^0 && oldX1^post_5==x1^0 && x0^post_5==-1+oldX0^post_5 && x1^post_5==1 && oldX2^0==oldX2^post_5 && oldX3^0==oldX3^post_5 ], cost: 1 5: l4 -> l0 : oldX0^0'=oldX0^post_6, oldX1^0'=oldX1^post_6, oldX2^0'=oldX2^post_6, oldX3^0'=oldX3^post_6, x0^0'=x0^post_6, x1^0'=x1^post_6, [ oldX0^post_6==x0^0 && oldX1^post_6==x1^0 && 1<=oldX1^post_6 && x0^post_6==oldX0^post_6 && x1^post_6==oldX1^post_6 && oldX2^0==oldX2^post_6 && oldX3^0==oldX3^post_6 ], cost: 1 6: l4 -> l3 : oldX0^0'=oldX0^post_7, oldX1^0'=oldX1^post_7, oldX2^0'=oldX2^post_7, oldX3^0'=oldX3^post_7, x0^0'=x0^post_7, x1^0'=x1^post_7, [ oldX0^post_7==x0^0 && oldX1^post_7==x1^0 && oldX1^post_7<=0 && x0^post_7==oldX0^post_7 && x1^post_7==oldX1^post_7 && oldX2^0==oldX2^post_7 && oldX3^0==oldX3^post_7 ], cost: 1 7: l5 -> l1 : oldX0^0'=oldX0^post_8, oldX1^0'=oldX1^post_8, oldX2^0'=oldX2^post_8, oldX3^0'=oldX3^post_8, x0^0'=x0^post_8, x1^0'=x1^post_8, [ oldX0^post_8==x0^0 && oldX1^post_8==x1^0 && oldX2^post_8==oldX2^post_8 && oldX3^post_8==oldX3^post_8 && x0^post_8==oldX2^post_8 && x1^post_8==oldX3^post_8 ], cost: 1 8: l6 -> l4 : oldX0^0'=oldX0^post_9, oldX1^0'=oldX1^post_9, oldX2^0'=oldX2^post_9, oldX3^0'=oldX3^post_9, x0^0'=x0^post_9, x1^0'=x1^post_9, [ oldX0^post_9==x0^0 && oldX1^post_9==x1^0 && 1<=oldX0^post_9 && x0^post_9==oldX0^post_9 && x1^post_9==oldX1^post_9 && oldX2^0==oldX2^post_9 && oldX3^0==oldX3^post_9 ], cost: 1 9: l6 -> l5 : oldX0^0'=oldX0^post_10, oldX1^0'=oldX1^post_10, oldX2^0'=oldX2^post_10, oldX3^0'=oldX3^post_10, x0^0'=x0^post_10, x1^0'=x1^post_10, [ oldX0^post_10==x0^0 && oldX1^post_10==x1^0 && oldX0^post_10<=0 && x0^post_10==oldX0^post_10 && x1^post_10==oldX1^post_10 && oldX2^0==oldX2^post_10 && oldX3^0==oldX3^post_10 ], cost: 1 11: l7 -> l0 : oldX0^0'=oldX0^post_12, oldX1^0'=oldX1^post_12, oldX2^0'=oldX2^post_12, oldX3^0'=oldX3^post_12, x0^0'=x0^post_12, x1^0'=x1^post_12, [ oldX0^0==oldX0^post_12 && oldX1^0==oldX1^post_12 && oldX2^0==oldX2^post_12 && oldX3^0==oldX3^post_12 && x0^0==x0^post_12 && x1^0==x1^post_12 ], cost: 1 12: l7 -> l3 : oldX0^0'=oldX0^post_13, oldX1^0'=oldX1^post_13, oldX2^0'=oldX2^post_13, oldX3^0'=oldX3^post_13, x0^0'=x0^post_13, x1^0'=x1^post_13, [ oldX0^0==oldX0^post_13 && oldX1^0==oldX1^post_13 && oldX2^0==oldX2^post_13 && oldX3^0==oldX3^post_13 && x0^0==x0^post_13 && x1^0==x1^post_13 ], cost: 1 13: l7 -> l1 : oldX0^0'=oldX0^post_14, oldX1^0'=oldX1^post_14, oldX2^0'=oldX2^post_14, oldX3^0'=oldX3^post_14, x0^0'=x0^post_14, x1^0'=x1^post_14, [ oldX0^0==oldX0^post_14 && oldX1^0==oldX1^post_14 && oldX2^0==oldX2^post_14 && oldX3^0==oldX3^post_14 && x0^0==x0^post_14 && x1^0==x1^post_14 ], cost: 1 14: l7 -> l4 : oldX0^0'=oldX0^post_15, oldX1^0'=oldX1^post_15, oldX2^0'=oldX2^post_15, oldX3^0'=oldX3^post_15, x0^0'=x0^post_15, x1^0'=x1^post_15, [ oldX0^0==oldX0^post_15 && oldX1^0==oldX1^post_15 && oldX2^0==oldX2^post_15 && oldX3^0==oldX3^post_15 && x0^0==x0^post_15 && x1^0==x1^post_15 ], cost: 1 15: l7 -> l5 : oldX0^0'=oldX0^post_16, oldX1^0'=oldX1^post_16, oldX2^0'=oldX2^post_16, oldX3^0'=oldX3^post_16, x0^0'=x0^post_16, x1^0'=x1^post_16, [ oldX0^0==oldX0^post_16 && oldX1^0==oldX1^post_16 && oldX2^0==oldX2^post_16 && oldX3^0==oldX3^post_16 && x0^0==x0^post_16 && x1^0==x1^post_16 ], cost: 1 16: l7 -> l6 : oldX0^0'=oldX0^post_17, oldX1^0'=oldX1^post_17, oldX2^0'=oldX2^post_17, oldX3^0'=oldX3^post_17, x0^0'=x0^post_17, x1^0'=x1^post_17, [ oldX0^0==oldX0^post_17 && oldX1^0==oldX1^post_17 && oldX2^0==oldX2^post_17 && oldX3^0==oldX3^post_17 && x0^0==x0^post_17 && x1^0==x1^post_17 ], cost: 1 17: l7 -> l2 : oldX0^0'=oldX0^post_18, oldX1^0'=oldX1^post_18, oldX2^0'=oldX2^post_18, oldX3^0'=oldX3^post_18, x0^0'=x0^post_18, x1^0'=x1^post_18, [ oldX0^0==oldX0^post_18 && oldX1^0==oldX1^post_18 && oldX2^0==oldX2^post_18 && oldX3^0==oldX3^post_18 && x0^0==x0^post_18 && x1^0==x1^post_18 ], cost: 1 18: l8 -> l7 : oldX0^0'=oldX0^post_19, oldX1^0'=oldX1^post_19, oldX2^0'=oldX2^post_19, oldX3^0'=oldX3^post_19, x0^0'=x0^post_19, x1^0'=x1^post_19, [ oldX0^0==oldX0^post_19 && oldX1^0==oldX1^post_19 && oldX2^0==oldX2^post_19 && oldX3^0==oldX3^post_19 && x0^0==x0^post_19 && x1^0==x1^post_19 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 18: l8 -> l7 : oldX0^0'=oldX0^post_19, oldX1^0'=oldX1^post_19, oldX2^0'=oldX2^post_19, oldX3^0'=oldX3^post_19, x0^0'=x0^post_19, x1^0'=x1^post_19, [ oldX0^0==oldX0^post_19 && oldX1^0==oldX1^post_19 && oldX2^0==oldX2^post_19 && oldX3^0==oldX3^post_19 && x0^0==x0^post_19 && x1^0==x1^post_19 ], cost: 1 Removed unreachable and leaf rules: Start location: l8 1: l0 -> l2 : oldX0^0'=oldX0^post_2, oldX1^0'=oldX1^post_2, oldX2^0'=oldX2^post_2, oldX3^0'=oldX3^post_2, x0^0'=x0^post_2, x1^0'=x1^post_2, [ oldX0^post_2==x0^0 && oldX1^post_2==x1^0 && oldX2^post_2==oldX2^post_2 && x0^post_2==-1+oldX0^post_2 && x1^post_2==oldX2^post_2 && oldX3^0==oldX3^post_2 ], cost: 1 2: l0 -> l2 : oldX0^0'=oldX0^post_3, oldX1^0'=oldX1^post_3, oldX2^0'=oldX2^post_3, oldX3^0'=oldX3^post_3, x0^0'=x0^post_3, x1^0'=x1^post_3, [ oldX0^post_3==x0^0 && oldX1^post_3==x1^0 && x0^post_3==oldX0^post_3 && x1^post_3==-1+oldX1^post_3 && oldX2^0==oldX2^post_3 && oldX3^0==oldX3^post_3 ], cost: 1 10: l2 -> l6 : oldX0^0'=oldX0^post_11, oldX1^0'=oldX1^post_11, oldX2^0'=oldX2^post_11, oldX3^0'=oldX3^post_11, x0^0'=x0^post_11, x1^0'=x1^post_11, [ oldX0^post_11==x0^0 && oldX1^post_11==x1^0 && x0^post_11==oldX0^post_11 && x1^post_11==oldX1^post_11 && oldX2^0==oldX2^post_11 && oldX3^0==oldX3^post_11 ], cost: 1 4: l3 -> l2 : oldX0^0'=oldX0^post_5, oldX1^0'=oldX1^post_5, oldX2^0'=oldX2^post_5, oldX3^0'=oldX3^post_5, x0^0'=x0^post_5, x1^0'=x1^post_5, [ oldX0^post_5==x0^0 && oldX1^post_5==x1^0 && x0^post_5==-1+oldX0^post_5 && x1^post_5==1 && oldX2^0==oldX2^post_5 && oldX3^0==oldX3^post_5 ], cost: 1 5: l4 -> l0 : oldX0^0'=oldX0^post_6, oldX1^0'=oldX1^post_6, oldX2^0'=oldX2^post_6, oldX3^0'=oldX3^post_6, x0^0'=x0^post_6, x1^0'=x1^post_6, [ oldX0^post_6==x0^0 && oldX1^post_6==x1^0 && 1<=oldX1^post_6 && x0^post_6==oldX0^post_6 && x1^post_6==oldX1^post_6 && oldX2^0==oldX2^post_6 && oldX3^0==oldX3^post_6 ], cost: 1 6: l4 -> l3 : oldX0^0'=oldX0^post_7, oldX1^0'=oldX1^post_7, oldX2^0'=oldX2^post_7, oldX3^0'=oldX3^post_7, x0^0'=x0^post_7, x1^0'=x1^post_7, [ oldX0^post_7==x0^0 && oldX1^post_7==x1^0 && oldX1^post_7<=0 && x0^post_7==oldX0^post_7 && x1^post_7==oldX1^post_7 && oldX2^0==oldX2^post_7 && oldX3^0==oldX3^post_7 ], cost: 1 8: l6 -> l4 : oldX0^0'=oldX0^post_9, oldX1^0'=oldX1^post_9, oldX2^0'=oldX2^post_9, oldX3^0'=oldX3^post_9, x0^0'=x0^post_9, x1^0'=x1^post_9, [ oldX0^post_9==x0^0 && oldX1^post_9==x1^0 && 1<=oldX0^post_9 && x0^post_9==oldX0^post_9 && x1^post_9==oldX1^post_9 && oldX2^0==oldX2^post_9 && oldX3^0==oldX3^post_9 ], cost: 1 11: l7 -> l0 : oldX0^0'=oldX0^post_12, oldX1^0'=oldX1^post_12, oldX2^0'=oldX2^post_12, oldX3^0'=oldX3^post_12, x0^0'=x0^post_12, x1^0'=x1^post_12, [ oldX0^0==oldX0^post_12 && oldX1^0==oldX1^post_12 && oldX2^0==oldX2^post_12 && oldX3^0==oldX3^post_12 && x0^0==x0^post_12 && x1^0==x1^post_12 ], cost: 1 12: l7 -> l3 : oldX0^0'=oldX0^post_13, oldX1^0'=oldX1^post_13, oldX2^0'=oldX2^post_13, oldX3^0'=oldX3^post_13, x0^0'=x0^post_13, x1^0'=x1^post_13, [ oldX0^0==oldX0^post_13 && oldX1^0==oldX1^post_13 && oldX2^0==oldX2^post_13 && oldX3^0==oldX3^post_13 && x0^0==x0^post_13 && x1^0==x1^post_13 ], cost: 1 14: l7 -> l4 : oldX0^0'=oldX0^post_15, oldX1^0'=oldX1^post_15, oldX2^0'=oldX2^post_15, oldX3^0'=oldX3^post_15, x0^0'=x0^post_15, x1^0'=x1^post_15, [ oldX0^0==oldX0^post_15 && oldX1^0==oldX1^post_15 && oldX2^0==oldX2^post_15 && oldX3^0==oldX3^post_15 && x0^0==x0^post_15 && x1^0==x1^post_15 ], cost: 1 16: l7 -> l6 : oldX0^0'=oldX0^post_17, oldX1^0'=oldX1^post_17, oldX2^0'=oldX2^post_17, oldX3^0'=oldX3^post_17, x0^0'=x0^post_17, x1^0'=x1^post_17, [ oldX0^0==oldX0^post_17 && oldX1^0==oldX1^post_17 && oldX2^0==oldX2^post_17 && oldX3^0==oldX3^post_17 && x0^0==x0^post_17 && x1^0==x1^post_17 ], cost: 1 17: l7 -> l2 : oldX0^0'=oldX0^post_18, oldX1^0'=oldX1^post_18, oldX2^0'=oldX2^post_18, oldX3^0'=oldX3^post_18, x0^0'=x0^post_18, x1^0'=x1^post_18, [ oldX0^0==oldX0^post_18 && oldX1^0==oldX1^post_18 && oldX2^0==oldX2^post_18 && oldX3^0==oldX3^post_18 && x0^0==x0^post_18 && x1^0==x1^post_18 ], cost: 1 18: l8 -> l7 : oldX0^0'=oldX0^post_19, oldX1^0'=oldX1^post_19, oldX2^0'=oldX2^post_19, oldX3^0'=oldX3^post_19, x0^0'=x0^post_19, x1^0'=x1^post_19, [ oldX0^0==oldX0^post_19 && oldX1^0==oldX1^post_19 && oldX2^0==oldX2^post_19 && oldX3^0==oldX3^post_19 && x0^0==x0^post_19 && x1^0==x1^post_19 ], cost: 1 Simplified all rules, resulting in: Start location: l8 1: l0 -> l2 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=x1^post_2, [], cost: 1 2: l0 -> l2 : oldX0^0'=x0^0, oldX1^0'=x1^0, x1^0'=-1+x1^0, [], cost: 1 10: l2 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, [], cost: 1 4: l3 -> l2 : oldX0^0'=x0^0, oldX1^0'=x1^0, x0^0'=-1+x0^0, x1^0'=1, [], cost: 1 5: l4 -> l0 : oldX0^0'=x0^0, oldX1^0'=x1^0, [ 1<=x1^0 ], cost: 1 6: l4 -> l3 : oldX0^0'=x0^0, oldX1^0'=x1^0, [ x1^0<=0 ], cost: 1 8: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, [ 1<=x0^0 ], cost: 1 11: l7 -> l0 : [], cost: 1 12: l7 -> l3 : [], cost: 1 14: l7 -> l4 : [], cost: 1 16: l7 -> l6 : [], cost: 1 17: l7 -> l2 : [], cost: 1 18: l8 -> l7 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on tree-shaped paths): Start location: l8 1: l0 -> l2 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=x1^post_2, [], cost: 1 2: l0 -> l2 : oldX0^0'=x0^0, oldX1^0'=x1^0, x1^0'=-1+x1^0, [], cost: 1 10: l2 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, [], cost: 1 4: l3 -> l2 : oldX0^0'=x0^0, oldX1^0'=x1^0, x0^0'=-1+x0^0, x1^0'=1, [], cost: 1 5: l4 -> l0 : oldX0^0'=x0^0, oldX1^0'=x1^0, [ 1<=x1^0 ], cost: 1 6: l4 -> l3 : oldX0^0'=x0^0, oldX1^0'=x1^0, [ x1^0<=0 ], cost: 1 8: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, [ 1<=x0^0 ], cost: 1 19: l8 -> l0 : [], cost: 2 20: l8 -> l3 : [], cost: 2 21: l8 -> l4 : [], cost: 2 22: l8 -> l6 : [], cost: 2 23: l8 -> l2 : [], cost: 2 Eliminated location l0 (as a last resort): Start location: l8 10: l2 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, [], cost: 1 4: l3 -> l2 : oldX0^0'=x0^0, oldX1^0'=x1^0, x0^0'=-1+x0^0, x1^0'=1, [], cost: 1 6: l4 -> l3 : oldX0^0'=x0^0, oldX1^0'=x1^0, [ x1^0<=0 ], cost: 1 24: l4 -> l2 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=x1^post_2, [ 1<=x1^0 ], cost: 2 25: l4 -> l2 : oldX0^0'=x0^0, oldX1^0'=x1^0, x1^0'=-1+x1^0, [ 1<=x1^0 ], cost: 2 8: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, [ 1<=x0^0 ], cost: 1 20: l8 -> l3 : [], cost: 2 21: l8 -> l4 : [], cost: 2 22: l8 -> l6 : [], cost: 2 23: l8 -> l2 : [], cost: 2 26: l8 -> l2 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=x1^post_2, [], cost: 3 27: l8 -> l2 : oldX0^0'=x0^0, oldX1^0'=x1^0, x1^0'=-1+x1^0, [], cost: 3 Eliminated location l2 (as a last resort): Start location: l8 28: l3 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=1, x0^0'=-1+x0^0, x1^0'=1, [], cost: 2 6: l4 -> l3 : oldX0^0'=x0^0, oldX1^0'=x1^0, [ x1^0<=0 ], cost: 1 30: l4 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=x1^post_2, [ 1<=x1^0 ], cost: 3 31: l4 -> l6 : oldX0^0'=x0^0, oldX1^0'=-1+x1^0, x1^0'=-1+x1^0, [ 1<=x1^0 ], cost: 3 8: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, [ 1<=x0^0 ], cost: 1 20: l8 -> l3 : [], cost: 2 21: l8 -> l4 : [], cost: 2 22: l8 -> l6 : [], cost: 2 29: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, [], cost: 3 32: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=x1^post_2, [], cost: 4 33: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=-1+x1^0, x1^0'=-1+x1^0, [], cost: 4 Eliminated location l3 (as a last resort): Start location: l8 30: l4 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=x1^post_2, [ 1<=x1^0 ], cost: 3 31: l4 -> l6 : oldX0^0'=x0^0, oldX1^0'=-1+x1^0, x1^0'=-1+x1^0, [ 1<=x1^0 ], cost: 3 34: l4 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=1, x0^0'=-1+x0^0, x1^0'=1, [ x1^0<=0 ], cost: 3 8: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, [ 1<=x0^0 ], cost: 1 21: l8 -> l4 : [], cost: 2 22: l8 -> l6 : [], cost: 2 29: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, [], cost: 3 32: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=x1^post_2, [], cost: 4 33: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=-1+x1^0, x1^0'=-1+x1^0, [], cost: 4 35: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=1, x0^0'=-1+x0^0, x1^0'=1, [], cost: 4 Eliminated location l4 (as a last resort): Start location: l8 36: l6 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=x1^post_2, [ 1<=x0^0 && 1<=x1^0 ], cost: 4 37: l6 -> l6 : oldX0^0'=x0^0, oldX1^0'=-1+x1^0, x1^0'=-1+x1^0, [ 1<=x0^0 && 1<=x1^0 ], cost: 4 38: l6 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=1, x0^0'=-1+x0^0, x1^0'=1, [ 1<=x0^0 && x1^0<=0 ], cost: 4 22: l8 -> l6 : [], cost: 2 29: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, [], cost: 3 32: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=x1^post_2, [], cost: 4 33: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=-1+x1^0, x1^0'=-1+x1^0, [], cost: 4 35: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=1, x0^0'=-1+x0^0, x1^0'=1, [], cost: 4 39: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=x1^post_2, [ 1<=x1^0 ], cost: 5 40: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=-1+x1^0, x1^0'=-1+x1^0, [ 1<=x1^0 ], cost: 5 41: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=1, x0^0'=-1+x0^0, x1^0'=1, [ x1^0<=0 ], cost: 5 Accelerating simple loops of location 6. Accelerating the following rules: 36: l6 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=x1^post_2, [ 1<=x0^0 && 1<=x1^0 ], cost: 4 37: l6 -> l6 : oldX0^0'=x0^0, oldX1^0'=-1+x1^0, x1^0'=-1+x1^0, [ 1<=x0^0 && 1<=x1^0 ], cost: 4 38: l6 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=1, x0^0'=-1+x0^0, x1^0'=1, [ 1<=x0^0 && x1^0<=0 ], cost: 4 [test] deduced pseudo-invariant -x1^0+x1^post_2<=0, also trying x1^0-x1^post_2<=-1 Accelerated rule 36 with backward acceleration, yielding the new rule 42. Accelerated rule 37 with backward acceleration, yielding the new rule 43. Failed to prove monotonicity of the guard of rule 38. [accelerate] Nesting with 3 inner and 3 outer candidates Nested simple loops 36 (outer loop) and 38 (inner loop) with Rule(6 | 1<=x1^0, x1^post_2<=0, k_6>=1, 1<=1-2*k_6+x0^0, | 8*k_6 || 6 | 0=-2*k_6+x0^0, 1=1, 2=x1^post_2, 4=-2*k_6+x0^0, 5=1, ), resulting in the new rules: 44, 45. Nested simple loops 37 (outer loop) and 38 (inner loop) with Rule(6 | x1^0<=0, -1+x0^0>=1, 1<=1, | -8+8*x0^0 || 6 | 0=1, 1=0, 4=1, 5=0, ), resulting in the new rules: 46, 47. Removing the simple loops: 36 37. Accelerated all simple loops using metering functions (where possible): Start location: l8 38: l6 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=1, x0^0'=-1+x0^0, x1^0'=1, [ 1<=x0^0 && x1^0<=0 ], cost: 4 42: l6 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ -x1^0+x1^post_2<=0 && x0^0>=1 && 1<=x1^post_2 ], cost: 4*x0^0 43: l6 -> l6 : oldX0^0'=x0^0, oldX1^0'=0, x1^0'=0, [ 1<=x0^0 && x1^0>=1 ], cost: 4*x1^0 44: l6 -> l6 : oldX0^0'=-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2*k_6+x0^0, x1^0'=1, [ 1<=x1^0 && x1^post_2<=0 && k_6>=1 && 1<=1-2*k_6+x0^0 ], cost: 8*k_6 45: l6 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ 1<=x0^0 && x1^0<=0 && x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 4+8*k_6 46: l6 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ x1^0<=0 && -1+x0^0>=1 ], cost: -8+8*x0^0 47: l6 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ 1<=x1^0 && -1+x1^0<=0 && -1+x0^0>=1 ], cost: -4+8*x0^0 22: l8 -> l6 : [], cost: 2 29: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, [], cost: 3 32: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=x1^post_2, [], cost: 4 33: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=-1+x1^0, x1^0'=-1+x1^0, [], cost: 4 35: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=1, x0^0'=-1+x0^0, x1^0'=1, [], cost: 4 39: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=x1^post_2, [ 1<=x1^0 ], cost: 5 40: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=-1+x1^0, x1^0'=-1+x1^0, [ 1<=x1^0 ], cost: 5 41: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=1, x0^0'=-1+x0^0, x1^0'=1, [ x1^0<=0 ], cost: 5 Chained accelerated rules (with incoming rules): Start location: l8 22: l8 -> l6 : [], cost: 2 29: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, [], cost: 3 32: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=x1^post_2, [], cost: 4 33: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=-1+x1^0, x1^0'=-1+x1^0, [], cost: 4 35: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=1, x0^0'=-1+x0^0, x1^0'=1, [], cost: 4 39: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=x1^post_2, [ 1<=x1^0 ], cost: 5 40: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=-1+x1^0, x1^0'=-1+x1^0, [ 1<=x1^0 ], cost: 5 41: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=1, x0^0'=-1+x0^0, x1^0'=1, [ x1^0<=0 ], cost: 5 48: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=1, x0^0'=-1+x0^0, x1^0'=1, [ 1<=x0^0 && x1^0<=0 ], cost: 6 49: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=1, x0^0'=-1+x0^0, x1^0'=1, [ 1<=x0^0 && x1^0<=0 ], cost: 7 50: l8 -> l6 : oldX0^0'=-2+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2+x0^0, x1^0'=1, [ 1<=-1+x0^0 && x1^post_2<=0 ], cost: 8 51: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=1, x0^0'=-1+x0^0, x1^0'=1, [ 1<=x0^0 && -1+x1^0<=0 ], cost: 8 52: l8 -> l6 : oldX0^0'=-2+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2+x0^0, x1^0'=1, [ 1<=x1^0 && 1<=-1+x0^0 && x1^post_2<=0 ], cost: 9 53: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=1, x0^0'=-1+x0^0, x1^0'=1, [ 1-x1^0==0 && 1<=x0^0 ], cost: 9 54: l8 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ -x1^0+x1^post_2<=0 && x0^0>=1 && 1<=x1^post_2 ], cost: 2+4*x0^0 55: l8 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ -x1^0+x1^post_2<=0 && x0^0>=1 && 1<=x1^post_2 ], cost: 3+4*x0^0 56: l8 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ -1+x0^0>=1 && 1<=x1^post_2 ], cost: 4*x0^0 57: l8 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ 1-x1^0+x1^post_2<=0 && x0^0>=1 && 1<=x1^post_2 ], cost: 4+4*x0^0 58: l8 -> l6 : oldX0^0'=0, oldX1^0'=1, oldX2^0'=1, x0^0'=0, x1^0'=1, [ -1+x0^0>=1 ], cost: 4*x0^0 59: l8 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ 1<=x1^0 && -1+x0^0>=1 && 1<=x1^post_2 ], cost: 1+4*x0^0 60: l8 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ 1<=x1^0 && 1-x1^0+x1^post_2<=0 && x0^0>=1 && 1<=x1^post_2 ], cost: 5+4*x0^0 61: l8 -> l6 : oldX0^0'=0, oldX1^0'=1, oldX2^0'=1, x0^0'=0, x1^0'=1, [ x1^0<=0 && -1+x0^0>=1 ], cost: 1+4*x0^0 62: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=0, x1^0'=0, [ 1<=x0^0 && x1^0>=1 ], cost: 2+4*x1^0 63: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=0, x1^0'=0, [ 1<=x0^0 && x1^0>=1 ], cost: 3+4*x1^0 64: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=0, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=0, [ 1<=-1+x0^0 && x1^post_2>=1 ], cost: 4+4*x1^post_2 65: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=0, x1^0'=0, [ 1<=x0^0 && -1+x1^0>=1 ], cost: 4*x1^0 66: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=0, x0^0'=-1+x0^0, x1^0'=0, [ 1<=-1+x0^0 ], cost: 8 67: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=0, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=0, [ 1<=x1^0 && 1<=-1+x0^0 && x1^post_2>=1 ], cost: 5+4*x1^post_2 68: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=0, x1^0'=0, [ 1<=x0^0 && -1+x1^0>=1 ], cost: 1+4*x1^0 69: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=0, x0^0'=-1+x0^0, x1^0'=0, [ x1^0<=0 && 1<=-1+x0^0 ], cost: 9 70: l8 -> l6 : oldX0^0'=-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2*k_6+x0^0, x1^0'=1, [ 1<=x1^0 && x1^post_2<=0 && k_6>=1 && 1<=1-2*k_6+x0^0 ], cost: 2+8*k_6 71: l8 -> l6 : oldX0^0'=-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2*k_6+x0^0, x1^0'=1, [ 1<=x1^0 && x1^post_2<=0 && k_6>=1 && 1<=1-2*k_6+x0^0 ], cost: 3+8*k_6 72: l8 -> l6 : oldX0^0'=-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2*k_6+x0^0, x1^0'=1, [ 1<=-1+x1^0 && x1^post_2<=0 && k_6>=1 && 1<=1-2*k_6+x0^0 ], cost: 4+8*k_6 73: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 4+8*k_6 74: l8 -> l6 : oldX0^0'=-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2*k_6+x0^0, x1^0'=1, [ 1<=-1+x1^0 && x1^post_2<=0 && k_6>=1 && 1<=1-2*k_6+x0^0 ], cost: 5+8*k_6 75: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ x1^0<=0 && x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 5+8*k_6 76: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ 1<=x0^0 && x1^0<=0 && x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 6+8*k_6 77: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ 1<=x0^0 && x1^0<=0 && x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 7+8*k_6 78: l8 -> l6 : oldX0^0'=-2-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2-2*k_6+x0^0, x1^0'=1, [ 1<=-1+x0^0 && x1^post_2<=0 && k_6>=1 && 1<=-1-2*k_6+x0^0 ], cost: 8+8*k_6 79: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ 1<=x0^0 && -1+x1^0<=0 && x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 8+8*k_6 80: l8 -> l6 : oldX0^0'=-2-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2-2*k_6+x0^0, x1^0'=1, [ 1<=x1^0 && 1<=-1+x0^0 && x1^post_2<=0 && k_6>=1 && 1<=-1-2*k_6+x0^0 ], cost: 9+8*k_6 81: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ 1-x1^0==0 && 1<=x0^0 && x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 9+8*k_6 82: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ x1^0<=0 && -1+x0^0>=1 ], cost: -6+8*x0^0 83: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ x1^0<=0 && -1+x0^0>=1 ], cost: -5+8*x0^0 84: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, oldX2^0'=x1^post_2, x0^0'=1, x1^0'=0, [ x1^post_2<=0 && -2+x0^0>=1 ], cost: -12+8*x0^0 85: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ -1+x1^0<=0 && -1+x0^0>=1 ], cost: -4+8*x0^0 86: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, oldX2^0'=x1^post_2, x0^0'=1, x1^0'=0, [ 1<=x1^0 && x1^post_2<=0 && -2+x0^0>=1 ], cost: -11+8*x0^0 87: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ 1-x1^0==0 && -1+x0^0>=1 ], cost: -3+8*x0^0 88: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ 1-x1^0==0 && -1+x0^0>=1 ], cost: -2+8*x0^0 89: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ 1-x1^0==0 && -1+x0^0>=1 ], cost: -1+8*x0^0 90: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, oldX2^0'=1, x0^0'=1, x1^0'=0, [ -2+x0^0>=1 ], cost: -8+8*x0^0 91: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ 2-x1^0==0 && -1+x0^0>=1 ], cost: 8*x0^0 92: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ -2+x0^0>=1 ], cost: -8+8*x0^0 93: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, oldX2^0'=1, x0^0'=1, x1^0'=0, [ 1<=x1^0 && -2+x0^0>=1 ], cost: -7+8*x0^0 94: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ 2-x1^0==0 && -1+x0^0>=1 ], cost: 1+8*x0^0 95: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ x1^0<=0 && -2+x0^0>=1 ], cost: -7+8*x0^0 Removed unreachable locations (and leaf rules with constant cost): Start location: l8 54: l8 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ -x1^0+x1^post_2<=0 && x0^0>=1 && 1<=x1^post_2 ], cost: 2+4*x0^0 55: l8 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ -x1^0+x1^post_2<=0 && x0^0>=1 && 1<=x1^post_2 ], cost: 3+4*x0^0 56: l8 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ -1+x0^0>=1 && 1<=x1^post_2 ], cost: 4*x0^0 57: l8 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ 1-x1^0+x1^post_2<=0 && x0^0>=1 && 1<=x1^post_2 ], cost: 4+4*x0^0 58: l8 -> l6 : oldX0^0'=0, oldX1^0'=1, oldX2^0'=1, x0^0'=0, x1^0'=1, [ -1+x0^0>=1 ], cost: 4*x0^0 59: l8 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ 1<=x1^0 && -1+x0^0>=1 && 1<=x1^post_2 ], cost: 1+4*x0^0 60: l8 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ 1<=x1^0 && 1-x1^0+x1^post_2<=0 && x0^0>=1 && 1<=x1^post_2 ], cost: 5+4*x0^0 61: l8 -> l6 : oldX0^0'=0, oldX1^0'=1, oldX2^0'=1, x0^0'=0, x1^0'=1, [ x1^0<=0 && -1+x0^0>=1 ], cost: 1+4*x0^0 62: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=0, x1^0'=0, [ 1<=x0^0 && x1^0>=1 ], cost: 2+4*x1^0 63: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=0, x1^0'=0, [ 1<=x0^0 && x1^0>=1 ], cost: 3+4*x1^0 64: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=0, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=0, [ 1<=-1+x0^0 && x1^post_2>=1 ], cost: 4+4*x1^post_2 65: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=0, x1^0'=0, [ 1<=x0^0 && -1+x1^0>=1 ], cost: 4*x1^0 67: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=0, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=0, [ 1<=x1^0 && 1<=-1+x0^0 && x1^post_2>=1 ], cost: 5+4*x1^post_2 68: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=0, x1^0'=0, [ 1<=x0^0 && -1+x1^0>=1 ], cost: 1+4*x1^0 70: l8 -> l6 : oldX0^0'=-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2*k_6+x0^0, x1^0'=1, [ 1<=x1^0 && x1^post_2<=0 && k_6>=1 && 1<=1-2*k_6+x0^0 ], cost: 2+8*k_6 71: l8 -> l6 : oldX0^0'=-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2*k_6+x0^0, x1^0'=1, [ 1<=x1^0 && x1^post_2<=0 && k_6>=1 && 1<=1-2*k_6+x0^0 ], cost: 3+8*k_6 72: l8 -> l6 : oldX0^0'=-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2*k_6+x0^0, x1^0'=1, [ 1<=-1+x1^0 && x1^post_2<=0 && k_6>=1 && 1<=1-2*k_6+x0^0 ], cost: 4+8*k_6 73: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 4+8*k_6 74: l8 -> l6 : oldX0^0'=-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2*k_6+x0^0, x1^0'=1, [ 1<=-1+x1^0 && x1^post_2<=0 && k_6>=1 && 1<=1-2*k_6+x0^0 ], cost: 5+8*k_6 75: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ x1^0<=0 && x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 5+8*k_6 76: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ 1<=x0^0 && x1^0<=0 && x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 6+8*k_6 77: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ 1<=x0^0 && x1^0<=0 && x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 7+8*k_6 78: l8 -> l6 : oldX0^0'=-2-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2-2*k_6+x0^0, x1^0'=1, [ 1<=-1+x0^0 && x1^post_2<=0 && k_6>=1 && 1<=-1-2*k_6+x0^0 ], cost: 8+8*k_6 79: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ 1<=x0^0 && -1+x1^0<=0 && x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 8+8*k_6 80: l8 -> l6 : oldX0^0'=-2-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2-2*k_6+x0^0, x1^0'=1, [ 1<=x1^0 && 1<=-1+x0^0 && x1^post_2<=0 && k_6>=1 && 1<=-1-2*k_6+x0^0 ], cost: 9+8*k_6 81: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ 1-x1^0==0 && 1<=x0^0 && x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 9+8*k_6 82: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ x1^0<=0 && -1+x0^0>=1 ], cost: -6+8*x0^0 83: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ x1^0<=0 && -1+x0^0>=1 ], cost: -5+8*x0^0 84: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, oldX2^0'=x1^post_2, x0^0'=1, x1^0'=0, [ x1^post_2<=0 && -2+x0^0>=1 ], cost: -12+8*x0^0 85: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ -1+x1^0<=0 && -1+x0^0>=1 ], cost: -4+8*x0^0 86: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, oldX2^0'=x1^post_2, x0^0'=1, x1^0'=0, [ 1<=x1^0 && x1^post_2<=0 && -2+x0^0>=1 ], cost: -11+8*x0^0 87: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ 1-x1^0==0 && -1+x0^0>=1 ], cost: -3+8*x0^0 88: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ 1-x1^0==0 && -1+x0^0>=1 ], cost: -2+8*x0^0 89: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ 1-x1^0==0 && -1+x0^0>=1 ], cost: -1+8*x0^0 90: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, oldX2^0'=1, x0^0'=1, x1^0'=0, [ -2+x0^0>=1 ], cost: -8+8*x0^0 91: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ 2-x1^0==0 && -1+x0^0>=1 ], cost: 8*x0^0 92: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ -2+x0^0>=1 ], cost: -8+8*x0^0 93: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, oldX2^0'=1, x0^0'=1, x1^0'=0, [ 1<=x1^0 && -2+x0^0>=1 ], cost: -7+8*x0^0 94: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ 2-x1^0==0 && -1+x0^0>=1 ], cost: 1+8*x0^0 95: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ x1^0<=0 && -2+x0^0>=1 ], cost: -7+8*x0^0 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l8 55: l8 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ -x1^0+x1^post_2<=0 && x0^0>=1 && 1<=x1^post_2 ], cost: 3+4*x0^0 56: l8 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ -1+x0^0>=1 && 1<=x1^post_2 ], cost: 4*x0^0 57: l8 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ 1-x1^0+x1^post_2<=0 && x0^0>=1 && 1<=x1^post_2 ], cost: 4+4*x0^0 58: l8 -> l6 : oldX0^0'=0, oldX1^0'=1, oldX2^0'=1, x0^0'=0, x1^0'=1, [ -1+x0^0>=1 ], cost: 4*x0^0 59: l8 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ 1<=x1^0 && -1+x0^0>=1 && 1<=x1^post_2 ], cost: 1+4*x0^0 60: l8 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ 1<=x1^0 && 1-x1^0+x1^post_2<=0 && x0^0>=1 && 1<=x1^post_2 ], cost: 5+4*x0^0 61: l8 -> l6 : oldX0^0'=0, oldX1^0'=1, oldX2^0'=1, x0^0'=0, x1^0'=1, [ x1^0<=0 && -1+x0^0>=1 ], cost: 1+4*x0^0 63: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=0, x1^0'=0, [ 1<=x0^0 && x1^0>=1 ], cost: 3+4*x1^0 64: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=0, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=0, [ 1<=-1+x0^0 && x1^post_2>=1 ], cost: 4+4*x1^post_2 67: l8 -> l6 : oldX0^0'=-1+x0^0, oldX1^0'=0, oldX2^0'=x1^post_2, x0^0'=-1+x0^0, x1^0'=0, [ 1<=x1^0 && 1<=-1+x0^0 && x1^post_2>=1 ], cost: 5+4*x1^post_2 68: l8 -> l6 : oldX0^0'=x0^0, oldX1^0'=0, x1^0'=0, [ 1<=x0^0 && -1+x1^0>=1 ], cost: 1+4*x1^0 71: l8 -> l6 : oldX0^0'=-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2*k_6+x0^0, x1^0'=1, [ 1<=x1^0 && x1^post_2<=0 && k_6>=1 && 1<=1-2*k_6+x0^0 ], cost: 3+8*k_6 73: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 4+8*k_6 74: l8 -> l6 : oldX0^0'=-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2*k_6+x0^0, x1^0'=1, [ 1<=-1+x1^0 && x1^post_2<=0 && k_6>=1 && 1<=1-2*k_6+x0^0 ], cost: 5+8*k_6 75: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ x1^0<=0 && x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 5+8*k_6 77: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ 1<=x0^0 && x1^0<=0 && x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 7+8*k_6 78: l8 -> l6 : oldX0^0'=-2-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2-2*k_6+x0^0, x1^0'=1, [ 1<=-1+x0^0 && x1^post_2<=0 && k_6>=1 && 1<=-1-2*k_6+x0^0 ], cost: 8+8*k_6 79: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ 1<=x0^0 && -1+x1^0<=0 && x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 8+8*k_6 80: l8 -> l6 : oldX0^0'=-2-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2-2*k_6+x0^0, x1^0'=1, [ 1<=x1^0 && 1<=-1+x0^0 && x1^post_2<=0 && k_6>=1 && 1<=-1-2*k_6+x0^0 ], cost: 9+8*k_6 81: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ 1-x1^0==0 && 1<=x0^0 && x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 9+8*k_6 83: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ x1^0<=0 && -1+x0^0>=1 ], cost: -5+8*x0^0 84: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, oldX2^0'=x1^post_2, x0^0'=1, x1^0'=0, [ x1^post_2<=0 && -2+x0^0>=1 ], cost: -12+8*x0^0 85: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ -1+x1^0<=0 && -1+x0^0>=1 ], cost: -4+8*x0^0 86: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, oldX2^0'=x1^post_2, x0^0'=1, x1^0'=0, [ 1<=x1^0 && x1^post_2<=0 && -2+x0^0>=1 ], cost: -11+8*x0^0 89: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ 1-x1^0==0 && -1+x0^0>=1 ], cost: -1+8*x0^0 92: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ -2+x0^0>=1 ], cost: -8+8*x0^0 93: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, oldX2^0'=1, x0^0'=1, x1^0'=0, [ 1<=x1^0 && -2+x0^0>=1 ], cost: -7+8*x0^0 94: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ 2-x1^0==0 && -1+x0^0>=1 ], cost: 1+8*x0^0 95: l8 -> l6 : oldX0^0'=1, oldX1^0'=0, x0^0'=1, x1^0'=0, [ x1^0<=0 && -2+x0^0>=1 ], cost: -7+8*x0^0 Computing asymptotic complexity for rule 64 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 67 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 73 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 78 Simplified the guard: 78: l8 -> l6 : oldX0^0'=-2-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2-2*k_6+x0^0, x1^0'=1, [ x1^post_2<=0 && k_6>=1 && 1<=-1-2*k_6+x0^0 ], cost: 8+8*k_6 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 75 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 71 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 74 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 81 Simplified the guard: 81: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ 1-x1^0==0 && x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 9+8*k_6 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 80 Simplified the guard: 80: l8 -> l6 : oldX0^0'=-2-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-2-2*k_6+x0^0, x1^0'=1, [ 1<=x1^0 && x1^post_2<=0 && k_6>=1 && 1<=-1-2*k_6+x0^0 ], cost: 9+8*k_6 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 79 Simplified the guard: 79: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ -1+x1^0<=0 && x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 8+8*k_6 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 77 Simplified the guard: 77: l8 -> l6 : oldX0^0'=-1-2*k_6+x0^0, oldX1^0'=1, oldX2^0'=x1^post_2, x0^0'=-1-2*k_6+x0^0, x1^0'=1, [ x1^0<=0 && x1^post_2<=0 && k_6>=1 && 1<=-2*k_6+x0^0 ], cost: 7+8*k_6 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 58 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 92 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 83 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 95 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 84 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 85 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 89 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 93 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 94 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 68 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 63 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 61 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 56 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 86 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 59 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 57 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 55 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 60 Simplified the guard: 60: l8 -> l6 : oldX0^0'=0, oldX1^0'=x1^post_2, oldX2^0'=x1^post_2, x0^0'=0, x1^0'=x1^post_2, [ 1-x1^0+x1^post_2<=0 && x0^0>=1 && 1<=x1^post_2 ], cost: 5+4*x0^0 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: [ oldX0^0==oldX0^post_19 && oldX1^0==oldX1^post_19 && oldX2^0==oldX2^post_19 && oldX3^0==oldX3^post_19 && x0^0==x0^post_19 && x1^0==x1^post_19 ] WORST_CASE(Omega(1),?)