WORST_CASE(INF,?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l10 0: l0 -> l1 : oldX0^0'=oldX0^post_1, oldX1^0'=oldX1^post_1, oldX2^0'=oldX2^post_1, oldX3^0'=oldX3^post_1, oldX4^0'=oldX4^post_1, oldX5^0'=oldX5^post_1, oldX6^0'=oldX6^post_1, oldX7^0'=oldX7^post_1, x0^0'=x0^post_1, x1^0'=x1^post_1, x2^0'=x2^post_1, x3^0'=x3^post_1, [ oldX0^post_1==x0^0 && oldX1^post_1==x1^0 && oldX2^post_1==x2^0 && oldX3^post_1==x3^0 && x0^post_1==oldX0^post_1 && x1^post_1==oldX1^post_1 && x2^post_1==-1+oldX2^post_1 && x3^post_1==-1+oldX3^post_1 && oldX4^0==oldX4^post_1 && oldX5^0==oldX5^post_1 && oldX6^0==oldX6^post_1 && oldX7^0==oldX7^post_1 ], cost: 1 12: l1 -> l6 : oldX0^0'=oldX0^post_13, oldX1^0'=oldX1^post_13, oldX2^0'=oldX2^post_13, oldX3^0'=oldX3^post_13, oldX4^0'=oldX4^post_13, oldX5^0'=oldX5^post_13, oldX6^0'=oldX6^post_13, oldX7^0'=oldX7^post_13, x0^0'=x0^post_13, x1^0'=x1^post_13, x2^0'=x2^post_13, x3^0'=x3^post_13, [ oldX0^post_13==x0^0 && oldX1^post_13==x1^0 && oldX2^post_13==x2^0 && oldX3^post_13==x3^0 && 1<=oldX0^post_13 && x0^post_13==oldX0^post_13 && x1^post_13==oldX1^post_13 && x2^post_13==oldX2^post_13 && x3^post_13==oldX3^post_13 && oldX4^0==oldX4^post_13 && oldX5^0==oldX5^post_13 && oldX6^0==oldX6^post_13 && oldX7^0==oldX7^post_13 ], cost: 1 13: l1 -> l5 : oldX0^0'=oldX0^post_14, oldX1^0'=oldX1^post_14, oldX2^0'=oldX2^post_14, oldX3^0'=oldX3^post_14, oldX4^0'=oldX4^post_14, oldX5^0'=oldX5^post_14, oldX6^0'=oldX6^post_14, oldX7^0'=oldX7^post_14, x0^0'=x0^post_14, x1^0'=x1^post_14, x2^0'=x2^post_14, x3^0'=x3^post_14, [ oldX0^post_14==x0^0 && oldX1^post_14==x1^0 && oldX2^post_14==x2^0 && oldX3^post_14==x3^0 && oldX0^post_14<=0 && x0^post_14==oldX0^post_14 && x1^post_14==oldX1^post_14 && x2^post_14==oldX2^post_14 && x3^post_14==oldX3^post_14 && oldX4^0==oldX4^post_14 && oldX5^0==oldX5^post_14 && oldX6^0==oldX6^post_14 && oldX7^0==oldX7^post_14 ], cost: 1 1: l2 -> l0 : oldX0^0'=oldX0^post_2, oldX1^0'=oldX1^post_2, oldX2^0'=oldX2^post_2, oldX3^0'=oldX3^post_2, oldX4^0'=oldX4^post_2, oldX5^0'=oldX5^post_2, oldX6^0'=oldX6^post_2, oldX7^0'=oldX7^post_2, x0^0'=x0^post_2, x1^0'=x1^post_2, x2^0'=x2^post_2, x3^0'=x3^post_2, [ oldX0^post_2==x0^0 && oldX1^post_2==x1^0 && oldX2^post_2==x2^0 && oldX3^post_2==x3^0 && 1<=oldX2^post_2 && x0^post_2==oldX0^post_2 && x1^post_2==oldX1^post_2 && x2^post_2==oldX2^post_2 && x3^post_2==oldX3^post_2 && oldX4^0==oldX4^post_2 && oldX5^0==oldX5^post_2 && oldX6^0==oldX6^post_2 && oldX7^0==oldX7^post_2 ], cost: 1 2: l2 -> l0 : oldX0^0'=oldX0^post_3, oldX1^0'=oldX1^post_3, oldX2^0'=oldX2^post_3, oldX3^0'=oldX3^post_3, oldX4^0'=oldX4^post_3, oldX5^0'=oldX5^post_3, oldX6^0'=oldX6^post_3, oldX7^0'=oldX7^post_3, x0^0'=x0^post_3, x1^0'=x1^post_3, x2^0'=x2^post_3, x3^0'=x3^post_3, [ oldX0^post_3==x0^0 && oldX1^post_3==x1^0 && oldX2^post_3==x2^0 && oldX3^post_3==x3^0 && 1+oldX2^post_3<=0 && x0^post_3==oldX0^post_3 && x1^post_3==oldX1^post_3 && x2^post_3==oldX2^post_3 && x3^post_3==oldX3^post_3 && oldX4^0==oldX4^post_3 && oldX5^0==oldX5^post_3 && oldX6^0==oldX6^post_3 && oldX7^0==oldX7^post_3 ], cost: 1 3: l2 -> l3 : oldX0^0'=oldX0^post_4, oldX1^0'=oldX1^post_4, oldX2^0'=oldX2^post_4, oldX3^0'=oldX3^post_4, oldX4^0'=oldX4^post_4, oldX5^0'=oldX5^post_4, oldX6^0'=oldX6^post_4, oldX7^0'=oldX7^post_4, x0^0'=x0^post_4, x1^0'=x1^post_4, x2^0'=x2^post_4, x3^0'=x3^post_4, [ oldX0^post_4==x0^0 && oldX1^post_4==x1^0 && oldX2^post_4==x2^0 && oldX3^post_4==x3^0 && oldX2^post_4<=0 && 0<=oldX2^post_4 && x0^post_4==oldX0^post_4 && x1^post_4==oldX1^post_4 && x2^post_4==oldX2^post_4 && x3^post_4==oldX3^post_4 && oldX4^0==oldX4^post_4 && oldX5^0==oldX5^post_4 && oldX6^0==oldX6^post_4 && oldX7^0==oldX7^post_4 ], cost: 1 7: l3 -> l1 : oldX0^0'=oldX0^post_8, oldX1^0'=oldX1^post_8, oldX2^0'=oldX2^post_8, oldX3^0'=oldX3^post_8, oldX4^0'=oldX4^post_8, oldX5^0'=oldX5^post_8, oldX6^0'=oldX6^post_8, oldX7^0'=oldX7^post_8, x0^0'=x0^post_8, x1^0'=x1^post_8, x2^0'=x2^post_8, x3^0'=x3^post_8, [ oldX0^post_8==x0^0 && oldX1^post_8==x1^0 && oldX2^post_8==x2^0 && oldX3^post_8==x3^0 && x0^post_8==oldX0^post_8 && x1^post_8==1+oldX1^post_8 && x2^post_8==oldX0^post_8 && x3^post_8==oldX3^post_8 && oldX4^0==oldX4^post_8 && oldX5^0==oldX5^post_8 && oldX6^0==oldX6^post_8 && oldX7^0==oldX7^post_8 ], cost: 1 4: l4 -> l5 : oldX0^0'=oldX0^post_5, oldX1^0'=oldX1^post_5, oldX2^0'=oldX2^post_5, oldX3^0'=oldX3^post_5, oldX4^0'=oldX4^post_5, oldX5^0'=oldX5^post_5, oldX6^0'=oldX6^post_5, oldX7^0'=oldX7^post_5, x0^0'=x0^post_5, x1^0'=x1^post_5, x2^0'=x2^post_5, x3^0'=x3^post_5, [ oldX0^post_5==x0^0 && oldX1^post_5==x1^0 && oldX2^post_5==x2^0 && oldX3^post_5==x3^0 && oldX3^post_5<=0 && x0^post_5==oldX0^post_5 && x1^post_5==oldX1^post_5 && x2^post_5==oldX2^post_5 && x3^post_5==oldX3^post_5 && oldX4^0==oldX4^post_5 && oldX5^0==oldX5^post_5 && oldX6^0==oldX6^post_5 && oldX7^0==oldX7^post_5 ], cost: 1 5: l4 -> l5 : oldX0^0'=oldX0^post_6, oldX1^0'=oldX1^post_6, oldX2^0'=oldX2^post_6, oldX3^0'=oldX3^post_6, oldX4^0'=oldX4^post_6, oldX5^0'=oldX5^post_6, oldX6^0'=oldX6^post_6, oldX7^0'=oldX7^post_6, x0^0'=x0^post_6, x1^0'=x1^post_6, x2^0'=x2^post_6, x3^0'=x3^post_6, [ oldX0^post_6==x0^0 && oldX1^post_6==x1^0 && oldX2^post_6==x2^0 && oldX3^post_6==x3^0 && oldX2^post_6<=0 && x0^post_6==oldX0^post_6 && x1^post_6==oldX1^post_6 && x2^post_6==oldX2^post_6 && x3^post_6==oldX3^post_6 && oldX4^0==oldX4^post_6 && oldX5^0==oldX5^post_6 && oldX6^0==oldX6^post_6 && oldX7^0==oldX7^post_6 ], cost: 1 6: l4 -> l2 : oldX0^0'=oldX0^post_7, oldX1^0'=oldX1^post_7, oldX2^0'=oldX2^post_7, oldX3^0'=oldX3^post_7, oldX4^0'=oldX4^post_7, oldX5^0'=oldX5^post_7, oldX6^0'=oldX6^post_7, oldX7^0'=oldX7^post_7, x0^0'=x0^post_7, x1^0'=x1^post_7, x2^0'=x2^post_7, x3^0'=x3^post_7, [ oldX0^post_7==x0^0 && oldX1^post_7==x1^0 && oldX2^post_7==x2^0 && oldX3^post_7==x3^0 && 1<=oldX2^post_7 && 1<=oldX3^post_7 && x0^post_7==oldX0^post_7 && x1^post_7==oldX1^post_7 && x2^post_7==oldX2^post_7 && x3^post_7==oldX3^post_7 && oldX4^0==oldX4^post_7 && oldX5^0==oldX5^post_7 && oldX6^0==oldX6^post_7 && oldX7^0==oldX7^post_7 ], cost: 1 11: l5 -> l7 : oldX0^0'=oldX0^post_12, oldX1^0'=oldX1^post_12, oldX2^0'=oldX2^post_12, oldX3^0'=oldX3^post_12, oldX4^0'=oldX4^post_12, oldX5^0'=oldX5^post_12, oldX6^0'=oldX6^post_12, oldX7^0'=oldX7^post_12, x0^0'=x0^post_12, x1^0'=x1^post_12, x2^0'=x2^post_12, x3^0'=x3^post_12, [ oldX0^post_12==x0^0 && oldX1^post_12==x1^0 && oldX2^post_12==x2^0 && oldX3^post_12==x3^0 && oldX4^post_12==oldX4^post_12 && oldX5^post_12==oldX5^post_12 && oldX6^post_12==oldX6^post_12 && oldX7^post_12==oldX7^post_12 && x0^post_12==oldX4^post_12 && x1^post_12==oldX5^post_12 && x2^post_12==oldX6^post_12 && x3^post_12==oldX7^post_12 ], 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, oldX4^0'=oldX4^post_9, oldX5^0'=oldX5^post_9, oldX6^0'=oldX6^post_9, oldX7^0'=oldX7^post_9, x0^0'=x0^post_9, x1^0'=x1^post_9, x2^0'=x2^post_9, x3^0'=x3^post_9, [ oldX0^post_9==x0^0 && oldX1^post_9==x1^0 && oldX2^post_9==x2^0 && oldX3^post_9==x3^0 && 1<=oldX2^post_9 && x0^post_9==oldX0^post_9 && x1^post_9==oldX1^post_9 && x2^post_9==oldX2^post_9 && x3^post_9==oldX3^post_9 && oldX4^0==oldX4^post_9 && oldX5^0==oldX5^post_9 && oldX6^0==oldX6^post_9 && oldX7^0==oldX7^post_9 ], cost: 1 9: l6 -> l4 : oldX0^0'=oldX0^post_10, oldX1^0'=oldX1^post_10, oldX2^0'=oldX2^post_10, oldX3^0'=oldX3^post_10, oldX4^0'=oldX4^post_10, oldX5^0'=oldX5^post_10, oldX6^0'=oldX6^post_10, oldX7^0'=oldX7^post_10, x0^0'=x0^post_10, x1^0'=x1^post_10, x2^0'=x2^post_10, x3^0'=x3^post_10, [ oldX0^post_10==x0^0 && oldX1^post_10==x1^0 && oldX2^post_10==x2^0 && oldX3^post_10==x3^0 && 1+oldX2^post_10<=0 && x0^post_10==oldX0^post_10 && x1^post_10==oldX1^post_10 && x2^post_10==oldX2^post_10 && x3^post_10==oldX3^post_10 && oldX4^0==oldX4^post_10 && oldX5^0==oldX5^post_10 && oldX6^0==oldX6^post_10 && oldX7^0==oldX7^post_10 ], cost: 1 10: l6 -> l3 : oldX0^0'=oldX0^post_11, oldX1^0'=oldX1^post_11, oldX2^0'=oldX2^post_11, oldX3^0'=oldX3^post_11, oldX4^0'=oldX4^post_11, oldX5^0'=oldX5^post_11, oldX6^0'=oldX6^post_11, oldX7^0'=oldX7^post_11, x0^0'=x0^post_11, x1^0'=x1^post_11, x2^0'=x2^post_11, x3^0'=x3^post_11, [ oldX0^post_11==x0^0 && oldX1^post_11==x1^0 && oldX2^post_11==x2^0 && oldX3^post_11==x3^0 && oldX2^post_11<=0 && 0<=oldX2^post_11 && x0^post_11==oldX0^post_11 && x1^post_11==oldX1^post_11 && x2^post_11==oldX2^post_11 && x3^post_11==oldX3^post_11 && oldX4^0==oldX4^post_11 && oldX5^0==oldX5^post_11 && oldX6^0==oldX6^post_11 && oldX7^0==oldX7^post_11 ], cost: 1 14: l8 -> l1 : oldX0^0'=oldX0^post_15, oldX1^0'=oldX1^post_15, oldX2^0'=oldX2^post_15, oldX3^0'=oldX3^post_15, oldX4^0'=oldX4^post_15, oldX5^0'=oldX5^post_15, oldX6^0'=oldX6^post_15, oldX7^0'=oldX7^post_15, x0^0'=x0^post_15, x1^0'=x1^post_15, x2^0'=x2^post_15, x3^0'=x3^post_15, [ oldX0^post_15==x0^0 && oldX1^post_15==x1^0 && oldX2^post_15==x2^0 && oldX3^post_15==x3^0 && oldX4^post_15==oldX4^post_15 && oldX5^post_15==oldX5^post_15 && x0^post_15==oldX4^post_15 && x1^post_15==0 && x2^post_15==oldX4^post_15 && x3^post_15==oldX5^post_15 && oldX6^0==oldX6^post_15 && oldX7^0==oldX7^post_15 ], cost: 1 15: l9 -> l8 : oldX0^0'=oldX0^post_16, oldX1^0'=oldX1^post_16, oldX2^0'=oldX2^post_16, oldX3^0'=oldX3^post_16, oldX4^0'=oldX4^post_16, oldX5^0'=oldX5^post_16, oldX6^0'=oldX6^post_16, oldX7^0'=oldX7^post_16, x0^0'=x0^post_16, x1^0'=x1^post_16, x2^0'=x2^post_16, x3^0'=x3^post_16, [ oldX0^post_16==x0^0 && oldX1^post_16==x1^0 && oldX2^post_16==x2^0 && oldX3^post_16==x3^0 && oldX4^post_16==oldX4^post_16 && oldX5^post_16==oldX5^post_16 && oldX6^post_16==oldX6^post_16 && oldX7^post_16==oldX7^post_16 && x0^post_16==oldX4^post_16 && x1^post_16==oldX5^post_16 && x2^post_16==oldX6^post_16 && x3^post_16==oldX7^post_16 ], cost: 1 16: l9 -> l0 : oldX0^0'=oldX0^post_17, oldX1^0'=oldX1^post_17, oldX2^0'=oldX2^post_17, oldX3^0'=oldX3^post_17, oldX4^0'=oldX4^post_17, oldX5^0'=oldX5^post_17, oldX6^0'=oldX6^post_17, oldX7^0'=oldX7^post_17, x0^0'=x0^post_17, x1^0'=x1^post_17, x2^0'=x2^post_17, x3^0'=x3^post_17, [ oldX0^0==oldX0^post_17 && oldX1^0==oldX1^post_17 && oldX2^0==oldX2^post_17 && oldX3^0==oldX3^post_17 && oldX4^0==oldX4^post_17 && oldX5^0==oldX5^post_17 && oldX6^0==oldX6^post_17 && oldX7^0==oldX7^post_17 && x0^0==x0^post_17 && x1^0==x1^post_17 && x2^0==x2^post_17 && x3^0==x3^post_17 ], cost: 1 17: l9 -> l2 : oldX0^0'=oldX0^post_18, oldX1^0'=oldX1^post_18, oldX2^0'=oldX2^post_18, oldX3^0'=oldX3^post_18, oldX4^0'=oldX4^post_18, oldX5^0'=oldX5^post_18, oldX6^0'=oldX6^post_18, oldX7^0'=oldX7^post_18, x0^0'=x0^post_18, x1^0'=x1^post_18, x2^0'=x2^post_18, x3^0'=x3^post_18, [ oldX0^0==oldX0^post_18 && oldX1^0==oldX1^post_18 && oldX2^0==oldX2^post_18 && oldX3^0==oldX3^post_18 && oldX4^0==oldX4^post_18 && oldX5^0==oldX5^post_18 && oldX6^0==oldX6^post_18 && oldX7^0==oldX7^post_18 && x0^0==x0^post_18 && x1^0==x1^post_18 && x2^0==x2^post_18 && x3^0==x3^post_18 ], cost: 1 18: l9 -> l4 : oldX0^0'=oldX0^post_19, oldX1^0'=oldX1^post_19, oldX2^0'=oldX2^post_19, oldX3^0'=oldX3^post_19, oldX4^0'=oldX4^post_19, oldX5^0'=oldX5^post_19, oldX6^0'=oldX6^post_19, oldX7^0'=oldX7^post_19, x0^0'=x0^post_19, x1^0'=x1^post_19, x2^0'=x2^post_19, x3^0'=x3^post_19, [ oldX0^0==oldX0^post_19 && oldX1^0==oldX1^post_19 && oldX2^0==oldX2^post_19 && oldX3^0==oldX3^post_19 && oldX4^0==oldX4^post_19 && oldX5^0==oldX5^post_19 && oldX6^0==oldX6^post_19 && oldX7^0==oldX7^post_19 && x0^0==x0^post_19 && x1^0==x1^post_19 && x2^0==x2^post_19 && x3^0==x3^post_19 ], cost: 1 19: l9 -> l3 : oldX0^0'=oldX0^post_20, oldX1^0'=oldX1^post_20, oldX2^0'=oldX2^post_20, oldX3^0'=oldX3^post_20, oldX4^0'=oldX4^post_20, oldX5^0'=oldX5^post_20, oldX6^0'=oldX6^post_20, oldX7^0'=oldX7^post_20, x0^0'=x0^post_20, x1^0'=x1^post_20, x2^0'=x2^post_20, x3^0'=x3^post_20, [ oldX0^0==oldX0^post_20 && oldX1^0==oldX1^post_20 && oldX2^0==oldX2^post_20 && oldX3^0==oldX3^post_20 && oldX4^0==oldX4^post_20 && oldX5^0==oldX5^post_20 && oldX6^0==oldX6^post_20 && oldX7^0==oldX7^post_20 && x0^0==x0^post_20 && x1^0==x1^post_20 && x2^0==x2^post_20 && x3^0==x3^post_20 ], cost: 1 20: l9 -> l6 : oldX0^0'=oldX0^post_21, oldX1^0'=oldX1^post_21, oldX2^0'=oldX2^post_21, oldX3^0'=oldX3^post_21, oldX4^0'=oldX4^post_21, oldX5^0'=oldX5^post_21, oldX6^0'=oldX6^post_21, oldX7^0'=oldX7^post_21, x0^0'=x0^post_21, x1^0'=x1^post_21, x2^0'=x2^post_21, x3^0'=x3^post_21, [ oldX0^0==oldX0^post_21 && oldX1^0==oldX1^post_21 && oldX2^0==oldX2^post_21 && oldX3^0==oldX3^post_21 && oldX4^0==oldX4^post_21 && oldX5^0==oldX5^post_21 && oldX6^0==oldX6^post_21 && oldX7^0==oldX7^post_21 && x0^0==x0^post_21 && x1^0==x1^post_21 && x2^0==x2^post_21 && x3^0==x3^post_21 ], cost: 1 21: l9 -> l5 : oldX0^0'=oldX0^post_22, oldX1^0'=oldX1^post_22, oldX2^0'=oldX2^post_22, oldX3^0'=oldX3^post_22, oldX4^0'=oldX4^post_22, oldX5^0'=oldX5^post_22, oldX6^0'=oldX6^post_22, oldX7^0'=oldX7^post_22, x0^0'=x0^post_22, x1^0'=x1^post_22, x2^0'=x2^post_22, x3^0'=x3^post_22, [ oldX0^0==oldX0^post_22 && oldX1^0==oldX1^post_22 && oldX2^0==oldX2^post_22 && oldX3^0==oldX3^post_22 && oldX4^0==oldX4^post_22 && oldX5^0==oldX5^post_22 && oldX6^0==oldX6^post_22 && oldX7^0==oldX7^post_22 && x0^0==x0^post_22 && x1^0==x1^post_22 && x2^0==x2^post_22 && x3^0==x3^post_22 ], cost: 1 22: l9 -> l1 : oldX0^0'=oldX0^post_23, oldX1^0'=oldX1^post_23, oldX2^0'=oldX2^post_23, oldX3^0'=oldX3^post_23, oldX4^0'=oldX4^post_23, oldX5^0'=oldX5^post_23, oldX6^0'=oldX6^post_23, oldX7^0'=oldX7^post_23, x0^0'=x0^post_23, x1^0'=x1^post_23, x2^0'=x2^post_23, x3^0'=x3^post_23, [ oldX0^0==oldX0^post_23 && oldX1^0==oldX1^post_23 && oldX2^0==oldX2^post_23 && oldX3^0==oldX3^post_23 && oldX4^0==oldX4^post_23 && oldX5^0==oldX5^post_23 && oldX6^0==oldX6^post_23 && oldX7^0==oldX7^post_23 && x0^0==x0^post_23 && x1^0==x1^post_23 && x2^0==x2^post_23 && x3^0==x3^post_23 ], cost: 1 23: l9 -> l8 : oldX0^0'=oldX0^post_24, oldX1^0'=oldX1^post_24, oldX2^0'=oldX2^post_24, oldX3^0'=oldX3^post_24, oldX4^0'=oldX4^post_24, oldX5^0'=oldX5^post_24, oldX6^0'=oldX6^post_24, oldX7^0'=oldX7^post_24, x0^0'=x0^post_24, x1^0'=x1^post_24, x2^0'=x2^post_24, x3^0'=x3^post_24, [ oldX0^0==oldX0^post_24 && oldX1^0==oldX1^post_24 && oldX2^0==oldX2^post_24 && oldX3^0==oldX3^post_24 && oldX4^0==oldX4^post_24 && oldX5^0==oldX5^post_24 && oldX6^0==oldX6^post_24 && oldX7^0==oldX7^post_24 && x0^0==x0^post_24 && x1^0==x1^post_24 && x2^0==x2^post_24 && x3^0==x3^post_24 ], cost: 1 24: l9 -> l7 : oldX0^0'=oldX0^post_25, oldX1^0'=oldX1^post_25, oldX2^0'=oldX2^post_25, oldX3^0'=oldX3^post_25, oldX4^0'=oldX4^post_25, oldX5^0'=oldX5^post_25, oldX6^0'=oldX6^post_25, oldX7^0'=oldX7^post_25, x0^0'=x0^post_25, x1^0'=x1^post_25, x2^0'=x2^post_25, x3^0'=x3^post_25, [ oldX0^0==oldX0^post_25 && oldX1^0==oldX1^post_25 && oldX2^0==oldX2^post_25 && oldX3^0==oldX3^post_25 && oldX4^0==oldX4^post_25 && oldX5^0==oldX5^post_25 && oldX6^0==oldX6^post_25 && oldX7^0==oldX7^post_25 && x0^0==x0^post_25 && x1^0==x1^post_25 && x2^0==x2^post_25 && x3^0==x3^post_25 ], cost: 1 25: l10 -> l9 : oldX0^0'=oldX0^post_26, oldX1^0'=oldX1^post_26, oldX2^0'=oldX2^post_26, oldX3^0'=oldX3^post_26, oldX4^0'=oldX4^post_26, oldX5^0'=oldX5^post_26, oldX6^0'=oldX6^post_26, oldX7^0'=oldX7^post_26, x0^0'=x0^post_26, x1^0'=x1^post_26, x2^0'=x2^post_26, x3^0'=x3^post_26, [ oldX0^0==oldX0^post_26 && oldX1^0==oldX1^post_26 && oldX2^0==oldX2^post_26 && oldX3^0==oldX3^post_26 && oldX4^0==oldX4^post_26 && oldX5^0==oldX5^post_26 && oldX6^0==oldX6^post_26 && oldX7^0==oldX7^post_26 && x0^0==x0^post_26 && x1^0==x1^post_26 && x2^0==x2^post_26 && x3^0==x3^post_26 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 25: l10 -> l9 : oldX0^0'=oldX0^post_26, oldX1^0'=oldX1^post_26, oldX2^0'=oldX2^post_26, oldX3^0'=oldX3^post_26, oldX4^0'=oldX4^post_26, oldX5^0'=oldX5^post_26, oldX6^0'=oldX6^post_26, oldX7^0'=oldX7^post_26, x0^0'=x0^post_26, x1^0'=x1^post_26, x2^0'=x2^post_26, x3^0'=x3^post_26, [ oldX0^0==oldX0^post_26 && oldX1^0==oldX1^post_26 && oldX2^0==oldX2^post_26 && oldX3^0==oldX3^post_26 && oldX4^0==oldX4^post_26 && oldX5^0==oldX5^post_26 && oldX6^0==oldX6^post_26 && oldX7^0==oldX7^post_26 && x0^0==x0^post_26 && x1^0==x1^post_26 && x2^0==x2^post_26 && x3^0==x3^post_26 ], cost: 1 Removed unreachable and leaf rules: Start location: l10 0: l0 -> l1 : oldX0^0'=oldX0^post_1, oldX1^0'=oldX1^post_1, oldX2^0'=oldX2^post_1, oldX3^0'=oldX3^post_1, oldX4^0'=oldX4^post_1, oldX5^0'=oldX5^post_1, oldX6^0'=oldX6^post_1, oldX7^0'=oldX7^post_1, x0^0'=x0^post_1, x1^0'=x1^post_1, x2^0'=x2^post_1, x3^0'=x3^post_1, [ oldX0^post_1==x0^0 && oldX1^post_1==x1^0 && oldX2^post_1==x2^0 && oldX3^post_1==x3^0 && x0^post_1==oldX0^post_1 && x1^post_1==oldX1^post_1 && x2^post_1==-1+oldX2^post_1 && x3^post_1==-1+oldX3^post_1 && oldX4^0==oldX4^post_1 && oldX5^0==oldX5^post_1 && oldX6^0==oldX6^post_1 && oldX7^0==oldX7^post_1 ], cost: 1 12: l1 -> l6 : oldX0^0'=oldX0^post_13, oldX1^0'=oldX1^post_13, oldX2^0'=oldX2^post_13, oldX3^0'=oldX3^post_13, oldX4^0'=oldX4^post_13, oldX5^0'=oldX5^post_13, oldX6^0'=oldX6^post_13, oldX7^0'=oldX7^post_13, x0^0'=x0^post_13, x1^0'=x1^post_13, x2^0'=x2^post_13, x3^0'=x3^post_13, [ oldX0^post_13==x0^0 && oldX1^post_13==x1^0 && oldX2^post_13==x2^0 && oldX3^post_13==x3^0 && 1<=oldX0^post_13 && x0^post_13==oldX0^post_13 && x1^post_13==oldX1^post_13 && x2^post_13==oldX2^post_13 && x3^post_13==oldX3^post_13 && oldX4^0==oldX4^post_13 && oldX5^0==oldX5^post_13 && oldX6^0==oldX6^post_13 && oldX7^0==oldX7^post_13 ], cost: 1 1: l2 -> l0 : oldX0^0'=oldX0^post_2, oldX1^0'=oldX1^post_2, oldX2^0'=oldX2^post_2, oldX3^0'=oldX3^post_2, oldX4^0'=oldX4^post_2, oldX5^0'=oldX5^post_2, oldX6^0'=oldX6^post_2, oldX7^0'=oldX7^post_2, x0^0'=x0^post_2, x1^0'=x1^post_2, x2^0'=x2^post_2, x3^0'=x3^post_2, [ oldX0^post_2==x0^0 && oldX1^post_2==x1^0 && oldX2^post_2==x2^0 && oldX3^post_2==x3^0 && 1<=oldX2^post_2 && x0^post_2==oldX0^post_2 && x1^post_2==oldX1^post_2 && x2^post_2==oldX2^post_2 && x3^post_2==oldX3^post_2 && oldX4^0==oldX4^post_2 && oldX5^0==oldX5^post_2 && oldX6^0==oldX6^post_2 && oldX7^0==oldX7^post_2 ], cost: 1 2: l2 -> l0 : oldX0^0'=oldX0^post_3, oldX1^0'=oldX1^post_3, oldX2^0'=oldX2^post_3, oldX3^0'=oldX3^post_3, oldX4^0'=oldX4^post_3, oldX5^0'=oldX5^post_3, oldX6^0'=oldX6^post_3, oldX7^0'=oldX7^post_3, x0^0'=x0^post_3, x1^0'=x1^post_3, x2^0'=x2^post_3, x3^0'=x3^post_3, [ oldX0^post_3==x0^0 && oldX1^post_3==x1^0 && oldX2^post_3==x2^0 && oldX3^post_3==x3^0 && 1+oldX2^post_3<=0 && x0^post_3==oldX0^post_3 && x1^post_3==oldX1^post_3 && x2^post_3==oldX2^post_3 && x3^post_3==oldX3^post_3 && oldX4^0==oldX4^post_3 && oldX5^0==oldX5^post_3 && oldX6^0==oldX6^post_3 && oldX7^0==oldX7^post_3 ], cost: 1 3: l2 -> l3 : oldX0^0'=oldX0^post_4, oldX1^0'=oldX1^post_4, oldX2^0'=oldX2^post_4, oldX3^0'=oldX3^post_4, oldX4^0'=oldX4^post_4, oldX5^0'=oldX5^post_4, oldX6^0'=oldX6^post_4, oldX7^0'=oldX7^post_4, x0^0'=x0^post_4, x1^0'=x1^post_4, x2^0'=x2^post_4, x3^0'=x3^post_4, [ oldX0^post_4==x0^0 && oldX1^post_4==x1^0 && oldX2^post_4==x2^0 && oldX3^post_4==x3^0 && oldX2^post_4<=0 && 0<=oldX2^post_4 && x0^post_4==oldX0^post_4 && x1^post_4==oldX1^post_4 && x2^post_4==oldX2^post_4 && x3^post_4==oldX3^post_4 && oldX4^0==oldX4^post_4 && oldX5^0==oldX5^post_4 && oldX6^0==oldX6^post_4 && oldX7^0==oldX7^post_4 ], cost: 1 7: l3 -> l1 : oldX0^0'=oldX0^post_8, oldX1^0'=oldX1^post_8, oldX2^0'=oldX2^post_8, oldX3^0'=oldX3^post_8, oldX4^0'=oldX4^post_8, oldX5^0'=oldX5^post_8, oldX6^0'=oldX6^post_8, oldX7^0'=oldX7^post_8, x0^0'=x0^post_8, x1^0'=x1^post_8, x2^0'=x2^post_8, x3^0'=x3^post_8, [ oldX0^post_8==x0^0 && oldX1^post_8==x1^0 && oldX2^post_8==x2^0 && oldX3^post_8==x3^0 && x0^post_8==oldX0^post_8 && x1^post_8==1+oldX1^post_8 && x2^post_8==oldX0^post_8 && x3^post_8==oldX3^post_8 && oldX4^0==oldX4^post_8 && oldX5^0==oldX5^post_8 && oldX6^0==oldX6^post_8 && oldX7^0==oldX7^post_8 ], cost: 1 6: l4 -> l2 : oldX0^0'=oldX0^post_7, oldX1^0'=oldX1^post_7, oldX2^0'=oldX2^post_7, oldX3^0'=oldX3^post_7, oldX4^0'=oldX4^post_7, oldX5^0'=oldX5^post_7, oldX6^0'=oldX6^post_7, oldX7^0'=oldX7^post_7, x0^0'=x0^post_7, x1^0'=x1^post_7, x2^0'=x2^post_7, x3^0'=x3^post_7, [ oldX0^post_7==x0^0 && oldX1^post_7==x1^0 && oldX2^post_7==x2^0 && oldX3^post_7==x3^0 && 1<=oldX2^post_7 && 1<=oldX3^post_7 && x0^post_7==oldX0^post_7 && x1^post_7==oldX1^post_7 && x2^post_7==oldX2^post_7 && x3^post_7==oldX3^post_7 && oldX4^0==oldX4^post_7 && oldX5^0==oldX5^post_7 && oldX6^0==oldX6^post_7 && oldX7^0==oldX7^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, oldX4^0'=oldX4^post_9, oldX5^0'=oldX5^post_9, oldX6^0'=oldX6^post_9, oldX7^0'=oldX7^post_9, x0^0'=x0^post_9, x1^0'=x1^post_9, x2^0'=x2^post_9, x3^0'=x3^post_9, [ oldX0^post_9==x0^0 && oldX1^post_9==x1^0 && oldX2^post_9==x2^0 && oldX3^post_9==x3^0 && 1<=oldX2^post_9 && x0^post_9==oldX0^post_9 && x1^post_9==oldX1^post_9 && x2^post_9==oldX2^post_9 && x3^post_9==oldX3^post_9 && oldX4^0==oldX4^post_9 && oldX5^0==oldX5^post_9 && oldX6^0==oldX6^post_9 && oldX7^0==oldX7^post_9 ], cost: 1 9: l6 -> l4 : oldX0^0'=oldX0^post_10, oldX1^0'=oldX1^post_10, oldX2^0'=oldX2^post_10, oldX3^0'=oldX3^post_10, oldX4^0'=oldX4^post_10, oldX5^0'=oldX5^post_10, oldX6^0'=oldX6^post_10, oldX7^0'=oldX7^post_10, x0^0'=x0^post_10, x1^0'=x1^post_10, x2^0'=x2^post_10, x3^0'=x3^post_10, [ oldX0^post_10==x0^0 && oldX1^post_10==x1^0 && oldX2^post_10==x2^0 && oldX3^post_10==x3^0 && 1+oldX2^post_10<=0 && x0^post_10==oldX0^post_10 && x1^post_10==oldX1^post_10 && x2^post_10==oldX2^post_10 && x3^post_10==oldX3^post_10 && oldX4^0==oldX4^post_10 && oldX5^0==oldX5^post_10 && oldX6^0==oldX6^post_10 && oldX7^0==oldX7^post_10 ], cost: 1 10: l6 -> l3 : oldX0^0'=oldX0^post_11, oldX1^0'=oldX1^post_11, oldX2^0'=oldX2^post_11, oldX3^0'=oldX3^post_11, oldX4^0'=oldX4^post_11, oldX5^0'=oldX5^post_11, oldX6^0'=oldX6^post_11, oldX7^0'=oldX7^post_11, x0^0'=x0^post_11, x1^0'=x1^post_11, x2^0'=x2^post_11, x3^0'=x3^post_11, [ oldX0^post_11==x0^0 && oldX1^post_11==x1^0 && oldX2^post_11==x2^0 && oldX3^post_11==x3^0 && oldX2^post_11<=0 && 0<=oldX2^post_11 && x0^post_11==oldX0^post_11 && x1^post_11==oldX1^post_11 && x2^post_11==oldX2^post_11 && x3^post_11==oldX3^post_11 && oldX4^0==oldX4^post_11 && oldX5^0==oldX5^post_11 && oldX6^0==oldX6^post_11 && oldX7^0==oldX7^post_11 ], cost: 1 14: l8 -> l1 : oldX0^0'=oldX0^post_15, oldX1^0'=oldX1^post_15, oldX2^0'=oldX2^post_15, oldX3^0'=oldX3^post_15, oldX4^0'=oldX4^post_15, oldX5^0'=oldX5^post_15, oldX6^0'=oldX6^post_15, oldX7^0'=oldX7^post_15, x0^0'=x0^post_15, x1^0'=x1^post_15, x2^0'=x2^post_15, x3^0'=x3^post_15, [ oldX0^post_15==x0^0 && oldX1^post_15==x1^0 && oldX2^post_15==x2^0 && oldX3^post_15==x3^0 && oldX4^post_15==oldX4^post_15 && oldX5^post_15==oldX5^post_15 && x0^post_15==oldX4^post_15 && x1^post_15==0 && x2^post_15==oldX4^post_15 && x3^post_15==oldX5^post_15 && oldX6^0==oldX6^post_15 && oldX7^0==oldX7^post_15 ], cost: 1 15: l9 -> l8 : oldX0^0'=oldX0^post_16, oldX1^0'=oldX1^post_16, oldX2^0'=oldX2^post_16, oldX3^0'=oldX3^post_16, oldX4^0'=oldX4^post_16, oldX5^0'=oldX5^post_16, oldX6^0'=oldX6^post_16, oldX7^0'=oldX7^post_16, x0^0'=x0^post_16, x1^0'=x1^post_16, x2^0'=x2^post_16, x3^0'=x3^post_16, [ oldX0^post_16==x0^0 && oldX1^post_16==x1^0 && oldX2^post_16==x2^0 && oldX3^post_16==x3^0 && oldX4^post_16==oldX4^post_16 && oldX5^post_16==oldX5^post_16 && oldX6^post_16==oldX6^post_16 && oldX7^post_16==oldX7^post_16 && x0^post_16==oldX4^post_16 && x1^post_16==oldX5^post_16 && x2^post_16==oldX6^post_16 && x3^post_16==oldX7^post_16 ], cost: 1 16: l9 -> l0 : oldX0^0'=oldX0^post_17, oldX1^0'=oldX1^post_17, oldX2^0'=oldX2^post_17, oldX3^0'=oldX3^post_17, oldX4^0'=oldX4^post_17, oldX5^0'=oldX5^post_17, oldX6^0'=oldX6^post_17, oldX7^0'=oldX7^post_17, x0^0'=x0^post_17, x1^0'=x1^post_17, x2^0'=x2^post_17, x3^0'=x3^post_17, [ oldX0^0==oldX0^post_17 && oldX1^0==oldX1^post_17 && oldX2^0==oldX2^post_17 && oldX3^0==oldX3^post_17 && oldX4^0==oldX4^post_17 && oldX5^0==oldX5^post_17 && oldX6^0==oldX6^post_17 && oldX7^0==oldX7^post_17 && x0^0==x0^post_17 && x1^0==x1^post_17 && x2^0==x2^post_17 && x3^0==x3^post_17 ], cost: 1 17: l9 -> l2 : oldX0^0'=oldX0^post_18, oldX1^0'=oldX1^post_18, oldX2^0'=oldX2^post_18, oldX3^0'=oldX3^post_18, oldX4^0'=oldX4^post_18, oldX5^0'=oldX5^post_18, oldX6^0'=oldX6^post_18, oldX7^0'=oldX7^post_18, x0^0'=x0^post_18, x1^0'=x1^post_18, x2^0'=x2^post_18, x3^0'=x3^post_18, [ oldX0^0==oldX0^post_18 && oldX1^0==oldX1^post_18 && oldX2^0==oldX2^post_18 && oldX3^0==oldX3^post_18 && oldX4^0==oldX4^post_18 && oldX5^0==oldX5^post_18 && oldX6^0==oldX6^post_18 && oldX7^0==oldX7^post_18 && x0^0==x0^post_18 && x1^0==x1^post_18 && x2^0==x2^post_18 && x3^0==x3^post_18 ], cost: 1 18: l9 -> l4 : oldX0^0'=oldX0^post_19, oldX1^0'=oldX1^post_19, oldX2^0'=oldX2^post_19, oldX3^0'=oldX3^post_19, oldX4^0'=oldX4^post_19, oldX5^0'=oldX5^post_19, oldX6^0'=oldX6^post_19, oldX7^0'=oldX7^post_19, x0^0'=x0^post_19, x1^0'=x1^post_19, x2^0'=x2^post_19, x3^0'=x3^post_19, [ oldX0^0==oldX0^post_19 && oldX1^0==oldX1^post_19 && oldX2^0==oldX2^post_19 && oldX3^0==oldX3^post_19 && oldX4^0==oldX4^post_19 && oldX5^0==oldX5^post_19 && oldX6^0==oldX6^post_19 && oldX7^0==oldX7^post_19 && x0^0==x0^post_19 && x1^0==x1^post_19 && x2^0==x2^post_19 && x3^0==x3^post_19 ], cost: 1 19: l9 -> l3 : oldX0^0'=oldX0^post_20, oldX1^0'=oldX1^post_20, oldX2^0'=oldX2^post_20, oldX3^0'=oldX3^post_20, oldX4^0'=oldX4^post_20, oldX5^0'=oldX5^post_20, oldX6^0'=oldX6^post_20, oldX7^0'=oldX7^post_20, x0^0'=x0^post_20, x1^0'=x1^post_20, x2^0'=x2^post_20, x3^0'=x3^post_20, [ oldX0^0==oldX0^post_20 && oldX1^0==oldX1^post_20 && oldX2^0==oldX2^post_20 && oldX3^0==oldX3^post_20 && oldX4^0==oldX4^post_20 && oldX5^0==oldX5^post_20 && oldX6^0==oldX6^post_20 && oldX7^0==oldX7^post_20 && x0^0==x0^post_20 && x1^0==x1^post_20 && x2^0==x2^post_20 && x3^0==x3^post_20 ], cost: 1 20: l9 -> l6 : oldX0^0'=oldX0^post_21, oldX1^0'=oldX1^post_21, oldX2^0'=oldX2^post_21, oldX3^0'=oldX3^post_21, oldX4^0'=oldX4^post_21, oldX5^0'=oldX5^post_21, oldX6^0'=oldX6^post_21, oldX7^0'=oldX7^post_21, x0^0'=x0^post_21, x1^0'=x1^post_21, x2^0'=x2^post_21, x3^0'=x3^post_21, [ oldX0^0==oldX0^post_21 && oldX1^0==oldX1^post_21 && oldX2^0==oldX2^post_21 && oldX3^0==oldX3^post_21 && oldX4^0==oldX4^post_21 && oldX5^0==oldX5^post_21 && oldX6^0==oldX6^post_21 && oldX7^0==oldX7^post_21 && x0^0==x0^post_21 && x1^0==x1^post_21 && x2^0==x2^post_21 && x3^0==x3^post_21 ], cost: 1 22: l9 -> l1 : oldX0^0'=oldX0^post_23, oldX1^0'=oldX1^post_23, oldX2^0'=oldX2^post_23, oldX3^0'=oldX3^post_23, oldX4^0'=oldX4^post_23, oldX5^0'=oldX5^post_23, oldX6^0'=oldX6^post_23, oldX7^0'=oldX7^post_23, x0^0'=x0^post_23, x1^0'=x1^post_23, x2^0'=x2^post_23, x3^0'=x3^post_23, [ oldX0^0==oldX0^post_23 && oldX1^0==oldX1^post_23 && oldX2^0==oldX2^post_23 && oldX3^0==oldX3^post_23 && oldX4^0==oldX4^post_23 && oldX5^0==oldX5^post_23 && oldX6^0==oldX6^post_23 && oldX7^0==oldX7^post_23 && x0^0==x0^post_23 && x1^0==x1^post_23 && x2^0==x2^post_23 && x3^0==x3^post_23 ], cost: 1 23: l9 -> l8 : oldX0^0'=oldX0^post_24, oldX1^0'=oldX1^post_24, oldX2^0'=oldX2^post_24, oldX3^0'=oldX3^post_24, oldX4^0'=oldX4^post_24, oldX5^0'=oldX5^post_24, oldX6^0'=oldX6^post_24, oldX7^0'=oldX7^post_24, x0^0'=x0^post_24, x1^0'=x1^post_24, x2^0'=x2^post_24, x3^0'=x3^post_24, [ oldX0^0==oldX0^post_24 && oldX1^0==oldX1^post_24 && oldX2^0==oldX2^post_24 && oldX3^0==oldX3^post_24 && oldX4^0==oldX4^post_24 && oldX5^0==oldX5^post_24 && oldX6^0==oldX6^post_24 && oldX7^0==oldX7^post_24 && x0^0==x0^post_24 && x1^0==x1^post_24 && x2^0==x2^post_24 && x3^0==x3^post_24 ], cost: 1 25: l10 -> l9 : oldX0^0'=oldX0^post_26, oldX1^0'=oldX1^post_26, oldX2^0'=oldX2^post_26, oldX3^0'=oldX3^post_26, oldX4^0'=oldX4^post_26, oldX5^0'=oldX5^post_26, oldX6^0'=oldX6^post_26, oldX7^0'=oldX7^post_26, x0^0'=x0^post_26, x1^0'=x1^post_26, x2^0'=x2^post_26, x3^0'=x3^post_26, [ oldX0^0==oldX0^post_26 && oldX1^0==oldX1^post_26 && oldX2^0==oldX2^post_26 && oldX3^0==oldX3^post_26 && oldX4^0==oldX4^post_26 && oldX5^0==oldX5^post_26 && oldX6^0==oldX6^post_26 && oldX7^0==oldX7^post_26 && x0^0==x0^post_26 && x1^0==x1^post_26 && x2^0==x2^post_26 && x3^0==x3^post_26 ], cost: 1 Simplified all rules, resulting in: Start location: l10 0: l0 -> l1 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [], cost: 1 12: l1 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x0^0 ], cost: 1 1: l2 -> l0 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x2^0 ], cost: 1 2: l2 -> l0 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1+x2^0<=0 ], cost: 1 3: l2 -> l3 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ x2^0==0 ], cost: 1 7: l3 -> l1 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [], cost: 1 6: l4 -> l2 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x2^0 && 1<=x3^0 ], cost: 1 8: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x2^0 ], cost: 1 9: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1+x2^0<=0 ], cost: 1 10: l6 -> l3 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ x2^0==0 ], cost: 1 14: l8 -> l1 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [], cost: 1 15: l9 -> l8 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, oldX4^0'=oldX4^post_16, oldX5^0'=oldX5^post_16, oldX6^0'=oldX6^post_16, oldX7^0'=oldX7^post_16, x0^0'=oldX4^post_16, x1^0'=oldX5^post_16, x2^0'=oldX6^post_16, x3^0'=oldX7^post_16, [], cost: 1 16: l9 -> l0 : [], cost: 1 17: l9 -> l2 : [], cost: 1 18: l9 -> l4 : [], cost: 1 19: l9 -> l3 : [], cost: 1 20: l9 -> l6 : [], cost: 1 22: l9 -> l1 : [], cost: 1 23: l9 -> l8 : [], cost: 1 25: l10 -> l9 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on tree-shaped paths): Start location: l10 0: l0 -> l1 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [], cost: 1 12: l1 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x0^0 ], cost: 1 1: l2 -> l0 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x2^0 ], cost: 1 2: l2 -> l0 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1+x2^0<=0 ], cost: 1 3: l2 -> l3 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ x2^0==0 ], cost: 1 7: l3 -> l1 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [], cost: 1 6: l4 -> l2 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x2^0 && 1<=x3^0 ], cost: 1 8: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x2^0 ], cost: 1 9: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1+x2^0<=0 ], cost: 1 10: l6 -> l3 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ x2^0==0 ], cost: 1 14: l8 -> l1 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [], cost: 1 26: l10 -> l8 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, oldX4^0'=oldX4^post_16, oldX5^0'=oldX5^post_16, oldX6^0'=oldX6^post_16, oldX7^0'=oldX7^post_16, x0^0'=oldX4^post_16, x1^0'=oldX5^post_16, x2^0'=oldX6^post_16, x3^0'=oldX7^post_16, [], cost: 2 27: l10 -> l0 : [], cost: 2 28: l10 -> l2 : [], cost: 2 29: l10 -> l4 : [], cost: 2 30: l10 -> l3 : [], cost: 2 31: l10 -> l6 : [], cost: 2 32: l10 -> l1 : [], cost: 2 33: l10 -> l8 : [], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l10 0: l0 -> l1 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [], cost: 1 12: l1 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x0^0 ], cost: 1 1: l2 -> l0 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x2^0 ], cost: 1 2: l2 -> l0 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1+x2^0<=0 ], cost: 1 3: l2 -> l3 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ x2^0==0 ], cost: 1 7: l3 -> l1 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [], cost: 1 6: l4 -> l2 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x2^0 && 1<=x3^0 ], cost: 1 8: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x2^0 ], cost: 1 9: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1+x2^0<=0 ], cost: 1 10: l6 -> l3 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ x2^0==0 ], cost: 1 27: l10 -> l0 : [], cost: 2 28: l10 -> l2 : [], cost: 2 29: l10 -> l4 : [], cost: 2 30: l10 -> l3 : [], cost: 2 31: l10 -> l6 : [], cost: 2 32: l10 -> l1 : [], cost: 2 34: l10 -> l1 : oldX0^0'=oldX4^post_16, oldX1^0'=oldX5^post_16, oldX2^0'=oldX6^post_16, oldX3^0'=oldX7^post_16, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, oldX6^0'=oldX6^post_16, oldX7^0'=oldX7^post_16, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [], cost: 3 35: l10 -> l1 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [], cost: 3 Eliminated location l0 (as a last resort): Start location: l10 12: l1 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x0^0 ], cost: 1 3: l2 -> l3 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ x2^0==0 ], cost: 1 36: l2 -> l1 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x2^0 ], cost: 2 37: l2 -> l1 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1+x2^0<=0 ], cost: 2 7: l3 -> l1 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [], cost: 1 6: l4 -> l2 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x2^0 && 1<=x3^0 ], cost: 1 8: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x2^0 ], cost: 1 9: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1+x2^0<=0 ], cost: 1 10: l6 -> l3 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ x2^0==0 ], cost: 1 28: l10 -> l2 : [], cost: 2 29: l10 -> l4 : [], cost: 2 30: l10 -> l3 : [], cost: 2 31: l10 -> l6 : [], cost: 2 32: l10 -> l1 : [], cost: 2 34: l10 -> l1 : oldX0^0'=oldX4^post_16, oldX1^0'=oldX5^post_16, oldX2^0'=oldX6^post_16, oldX3^0'=oldX7^post_16, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, oldX6^0'=oldX6^post_16, oldX7^0'=oldX7^post_16, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [], cost: 3 35: l10 -> l1 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [], cost: 3 38: l10 -> l1 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [], cost: 3 Eliminated location l1 (as a last resort): Start location: l10 3: l2 -> l3 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ x2^0==0 ], cost: 1 43: l2 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x2^0 && 1<=x0^0 ], cost: 3 44: l2 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1+x2^0<=0 && 1<=x0^0 ], cost: 3 39: l3 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ 1<=x0^0 ], cost: 2 6: l4 -> l2 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x2^0 && 1<=x3^0 ], cost: 1 8: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x2^0 ], cost: 1 9: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1+x2^0<=0 ], cost: 1 10: l6 -> l3 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ x2^0==0 ], cost: 1 28: l10 -> l2 : [], cost: 2 29: l10 -> l4 : [], cost: 2 30: l10 -> l3 : [], cost: 2 31: l10 -> l6 : [], cost: 2 40: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x0^0 ], cost: 3 41: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=x2^post_15, oldX3^0'=oldX5^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, oldX6^0'=oldX6^post_16, oldX7^0'=oldX7^post_16, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [ 1<=x2^post_15 ], cost: 4 42: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=x2^post_15, oldX3^0'=oldX5^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [ 1<=x2^post_15 ], cost: 4 45: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x0^0 ], cost: 4 Eliminated location l2 (as a last resort): Start location: l10 39: l3 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ 1<=x0^0 ], cost: 2 46: l4 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x2^0 && 1<=x3^0 && 1<=x0^0 ], cost: 4 8: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x2^0 ], cost: 1 9: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1+x2^0<=0 ], cost: 1 10: l6 -> l3 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ x2^0==0 ], cost: 1 29: l10 -> l4 : [], cost: 2 30: l10 -> l3 : [], cost: 2 31: l10 -> l6 : [], cost: 2 40: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x0^0 ], cost: 3 41: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=x2^post_15, oldX3^0'=oldX5^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, oldX6^0'=oldX6^post_16, oldX7^0'=oldX7^post_16, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [ 1<=x2^post_15 ], cost: 4 42: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=x2^post_15, oldX3^0'=oldX5^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [ 1<=x2^post_15 ], cost: 4 45: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x0^0 ], cost: 4 47: l10 -> l3 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ x2^0==0 ], cost: 3 48: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x2^0 && 1<=x0^0 ], cost: 5 49: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1+x2^0<=0 && 1<=x0^0 ], cost: 5 Eliminated location l3 (as a last resort): Start location: l10 46: l4 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x2^0 && 1<=x3^0 && 1<=x0^0 ], cost: 4 8: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x2^0 ], cost: 1 9: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1+x2^0<=0 ], cost: 1 50: l6 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ x2^0==0 && 1<=x0^0 ], cost: 3 29: l10 -> l4 : [], cost: 2 31: l10 -> l6 : [], cost: 2 40: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x0^0 ], cost: 3 41: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=x2^post_15, oldX3^0'=oldX5^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, oldX6^0'=oldX6^post_16, oldX7^0'=oldX7^post_16, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [ 1<=x2^post_15 ], cost: 4 42: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=x2^post_15, oldX3^0'=oldX5^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [ 1<=x2^post_15 ], cost: 4 45: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x0^0 ], cost: 4 48: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x2^0 && 1<=x0^0 ], cost: 5 49: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1+x2^0<=0 && 1<=x0^0 ], cost: 5 51: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ 1<=x0^0 ], cost: 4 52: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ x2^0==0 && 1<=x0^0 ], cost: 5 Accelerating simple loops of location 6. Accelerating the following rules: 50: l6 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ x2^0==0 && 1<=x0^0 ], cost: 3 Accelerated rule 50 with NONTERM (after strengthening guard), yielding the new rule 53. Removing the simple loops:. Accelerated all simple loops using metering functions (where possible): Start location: l10 46: l4 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x2^0 && 1<=x3^0 && 1<=x0^0 ], cost: 4 8: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x2^0 ], cost: 1 9: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1+x2^0<=0 ], cost: 1 50: l6 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ x2^0==0 && 1<=x0^0 ], cost: 3 53: l6 -> [11] : [ x2^0==0 && 1<=x0^0 && x0^0==0 ], cost: NONTERM 29: l10 -> l4 : [], cost: 2 31: l10 -> l6 : [], cost: 2 40: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x0^0 ], cost: 3 41: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=x2^post_15, oldX3^0'=oldX5^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, oldX6^0'=oldX6^post_16, oldX7^0'=oldX7^post_16, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [ 1<=x2^post_15 ], cost: 4 42: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=x2^post_15, oldX3^0'=oldX5^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [ 1<=x2^post_15 ], cost: 4 45: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x0^0 ], cost: 4 48: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x2^0 && 1<=x0^0 ], cost: 5 49: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1+x2^0<=0 && 1<=x0^0 ], cost: 5 51: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ 1<=x0^0 ], cost: 4 52: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ x2^0==0 && 1<=x0^0 ], cost: 5 Chained accelerated rules (with incoming rules): Start location: l10 46: l4 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x2^0 && 1<=x3^0 && 1<=x0^0 ], cost: 4 57: l4 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=-1+x3^0, x1^0'=1+x1^0, x2^0'=x0^0, x3^0'=-1+x3^0, [ 1<=x3^0 && 1<=x0^0 && -1+x2^0==0 ], cost: 7 8: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x2^0 ], cost: 1 9: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1+x2^0<=0 ], cost: 1 29: l10 -> l4 : [], cost: 2 31: l10 -> l6 : [], cost: 2 40: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x0^0 ], cost: 3 41: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=x2^post_15, oldX3^0'=oldX5^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, oldX6^0'=oldX6^post_16, oldX7^0'=oldX7^post_16, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [ 1<=x2^post_15 ], cost: 4 42: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=x2^post_15, oldX3^0'=oldX5^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [ 1<=x2^post_15 ], cost: 4 45: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x0^0 ], cost: 4 48: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x2^0 && 1<=x0^0 ], cost: 5 49: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1+x2^0<=0 && 1<=x0^0 ], cost: 5 51: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ 1<=x0^0 ], cost: 4 52: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ x2^0==0 && 1<=x0^0 ], cost: 5 54: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ x2^0==0 && 1<=x0^0 ], cost: 5 55: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ 1<=x0^0 && x2^0==0 ], cost: 6 56: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=-1+x3^0, x1^0'=1+x1^0, x2^0'=x0^0, x3^0'=-1+x3^0, [ 1<=x0^0 && -1+x2^0==0 ], cost: 7 58: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=-1+x3^0, x1^0'=1+x1^0, x2^0'=x0^0, x3^0'=-1+x3^0, [ 1<=x0^0 && -1+x2^0==0 ], cost: 8 Removed unreachable locations (and leaf rules with constant cost): Start location: l10 46: l4 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x2^0 && 1<=x3^0 && 1<=x0^0 ], cost: 4 57: l4 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=-1+x3^0, x1^0'=1+x1^0, x2^0'=x0^0, x3^0'=-1+x3^0, [ 1<=x3^0 && 1<=x0^0 && -1+x2^0==0 ], cost: 7 8: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x2^0 ], cost: 1 9: l6 -> l4 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1+x2^0<=0 ], cost: 1 29: l10 -> l4 : [], cost: 2 31: l10 -> l6 : [], cost: 2 40: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x0^0 ], cost: 3 41: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=x2^post_15, oldX3^0'=oldX5^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, oldX6^0'=oldX6^post_16, oldX7^0'=oldX7^post_16, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [ 1<=x2^post_15 ], cost: 4 42: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=x2^post_15, oldX3^0'=oldX5^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [ 1<=x2^post_15 ], cost: 4 45: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x0^0 ], cost: 4 48: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x2^0 && 1<=x0^0 ], cost: 5 49: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1+x2^0<=0 && 1<=x0^0 ], cost: 5 51: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ 1<=x0^0 ], cost: 4 52: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ x2^0==0 && 1<=x0^0 ], cost: 5 54: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ x2^0==0 && 1<=x0^0 ], cost: 5 55: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ 1<=x0^0 && x2^0==0 ], cost: 6 56: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=-1+x3^0, x1^0'=1+x1^0, x2^0'=x0^0, x3^0'=-1+x3^0, [ 1<=x0^0 && -1+x2^0==0 ], cost: 7 58: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=-1+x3^0, x1^0'=1+x1^0, x2^0'=x0^0, x3^0'=-1+x3^0, [ 1<=x0^0 && -1+x2^0==0 ], cost: 8 Eliminated location l4 (as a last resort): Start location: l10 59: l6 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x2^0 && 1<=x3^0 && 1<=x0^0 ], cost: 5 60: l6 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=-1+x3^0, x1^0'=1+x1^0, x2^0'=x0^0, x3^0'=-1+x3^0, [ 1<=x3^0 && 1<=x0^0 && -1+x2^0==0 ], cost: 8 31: l10 -> l6 : [], cost: 2 40: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x0^0 ], cost: 3 41: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=x2^post_15, oldX3^0'=oldX5^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, oldX6^0'=oldX6^post_16, oldX7^0'=oldX7^post_16, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [ 1<=x2^post_15 ], cost: 4 42: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=x2^post_15, oldX3^0'=oldX5^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [ 1<=x2^post_15 ], cost: 4 45: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x0^0 ], cost: 4 48: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x2^0 && 1<=x0^0 ], cost: 5 49: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1+x2^0<=0 && 1<=x0^0 ], cost: 5 51: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ 1<=x0^0 ], cost: 4 52: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ x2^0==0 && 1<=x0^0 ], cost: 5 54: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ x2^0==0 && 1<=x0^0 ], cost: 5 55: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ 1<=x0^0 && x2^0==0 ], cost: 6 56: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=-1+x3^0, x1^0'=1+x1^0, x2^0'=x0^0, x3^0'=-1+x3^0, [ 1<=x0^0 && -1+x2^0==0 ], cost: 7 58: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=-1+x3^0, x1^0'=1+x1^0, x2^0'=x0^0, x3^0'=-1+x3^0, [ 1<=x0^0 && -1+x2^0==0 ], cost: 8 61: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x2^0 && 1<=x3^0 && 1<=x0^0 ], cost: 6 62: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=-1+x3^0, x1^0'=1+x1^0, x2^0'=x0^0, x3^0'=-1+x3^0, [ 1<=x3^0 && 1<=x0^0 && -1+x2^0==0 ], cost: 9 Applied pruning (of leafs and parallel rules): Start location: l10 59: l6 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x2^0 && 1<=x3^0 && 1<=x0^0 ], cost: 5 60: l6 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=-1+x3^0, x1^0'=1+x1^0, x2^0'=x0^0, x3^0'=-1+x3^0, [ 1<=x3^0 && 1<=x0^0 && -1+x2^0==0 ], cost: 8 31: l10 -> l6 : [], cost: 2 40: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x0^0 ], cost: 3 42: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=x2^post_15, oldX3^0'=oldX5^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [ 1<=x2^post_15 ], cost: 4 49: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1+x2^0<=0 && 1<=x0^0 ], cost: 5 51: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ 1<=x0^0 ], cost: 4 Accelerating simple loops of location 6. Accelerating the following rules: 59: l6 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1<=x2^0 && 1<=x3^0 && 1<=x0^0 ], cost: 5 60: l6 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=-1+x3^0, x1^0'=1+x1^0, x2^0'=x0^0, x3^0'=-1+x3^0, [ 1<=x3^0 && 1<=x0^0 && -1+x2^0==0 ], cost: 8 Accelerated rule 59 with metering function x3^0 (after adding x2^0>=x3^0), yielding the new rule 63. Accelerated rule 59 with metering function x2^0 (after adding x2^0<=x3^0), yielding the new rule 64. Accelerated rule 60 with metering function x3^0 (after strengthening guard), yielding the new rule 65. Nested simple loops 60 (outer loop) and 64 (inner loop) with metering function -1+x2^0, resulting in the new rules: 66. Removing the simple loops: 59 60. Accelerated all simple loops using metering functions (where possible): Start location: l10 63: l6 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0-x3^0, oldX3^0'=0, x2^0'=x2^0-x3^0, x3^0'=0, [ 1<=x2^0 && 1<=x3^0 && 1<=x0^0 && x2^0>=x3^0 ], cost: 5*x3^0 64: l6 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=0, oldX3^0'=-x2^0+x3^0, x2^0'=0, x3^0'=-x2^0+x3^0, [ 1<=x2^0 && 1<=x3^0 && 1<=x0^0 && x2^0<=x3^0 ], cost: 5*x2^0 65: l6 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0+x3^0, oldX2^0'=x0^0, oldX3^0'=0, x1^0'=x1^0+x3^0, x2^0'=x0^0, x3^0'=0, [ 1<=x3^0 && -1+x2^0==0 && -1+x0^0==0 ], cost: 8*x3^0 66: l6 -> l6 : oldX0^0'=x0^0, oldX1^0'=-1+x1^0+x2^0, oldX2^0'=0, oldX3^0'=1-x2^0+x3^0-(-1+x2^0)*x0^0, x1^0'=-1+x1^0+x2^0, x2^0'=0, x3^0'=1-x2^0+x3^0-(-1+x2^0)*x0^0, [ 1<=x0^0 && -1+x2^0==0 && 1<=-1+x3^0 && x0^0<=-1+x3^0 && -1+x2^0>=1 ], cost: -8+8*x2^0+5*(-1+x2^0)*x0^0 31: l10 -> l6 : [], cost: 2 40: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x0^0 ], cost: 3 42: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=x2^post_15, oldX3^0'=oldX5^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [ 1<=x2^post_15 ], cost: 4 49: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1+x2^0<=0 && 1<=x0^0 ], cost: 5 51: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ 1<=x0^0 ], cost: 4 Chained accelerated rules (with incoming rules): Start location: l10 31: l10 -> l6 : [], cost: 2 40: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0, oldX3^0'=x3^0, [ 1<=x0^0 ], cost: 3 42: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=x2^post_15, oldX3^0'=oldX5^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=x2^post_15, x3^0'=oldX5^post_15, [ 1<=x2^post_15 ], cost: 4 49: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=-1+x2^0, oldX3^0'=-1+x3^0, x2^0'=-1+x2^0, x3^0'=-1+x3^0, [ 1+x2^0<=0 && 1<=x0^0 ], cost: 5 51: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=x0^0, oldX3^0'=x3^0, x1^0'=1+x1^0, x2^0'=x0^0, [ 1<=x0^0 ], cost: 4 67: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0-x3^0, oldX3^0'=0, x2^0'=x2^0-x3^0, x3^0'=0, [ 1<=x2^0 && 1<=x3^0 && 1<=x0^0 && x2^0>=x3^0 ], cost: 2+5*x3^0 68: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0-x3^0, oldX3^0'=0, x2^0'=x2^0-x3^0, x3^0'=0, [ 1<=x0^0 && 1<=x2^0 && 1<=x3^0 && x2^0>=x3^0 ], cost: 3+5*x3^0 69: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=-oldX5^post_15+x2^post_15, oldX3^0'=0, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=-oldX5^post_15+x2^post_15, x3^0'=0, [ 1<=x2^post_15 && 1<=oldX5^post_15 && x2^post_15>=oldX5^post_15 ], cost: 4+5*oldX5^post_15 70: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=-x3^0+x0^0, oldX3^0'=0, x1^0'=1+x1^0, x2^0'=-x3^0+x0^0, x3^0'=0, [ 1<=x0^0 && 1<=x3^0 && x0^0>=x3^0 ], cost: 4+5*x3^0 71: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=0, oldX3^0'=-x2^0+x3^0, x2^0'=0, x3^0'=-x2^0+x3^0, [ 1<=x2^0 && 1<=x3^0 && 1<=x0^0 && x2^0<=x3^0 ], cost: 2+5*x2^0 72: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=0, oldX3^0'=-x2^0+x3^0, x2^0'=0, x3^0'=-x2^0+x3^0, [ 1<=x0^0 && 1<=x2^0 && 1<=x3^0 && x2^0<=x3^0 ], cost: 3+5*x2^0 73: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=0, oldX3^0'=oldX5^post_15-x2^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=0, x3^0'=oldX5^post_15-x2^post_15, [ 1<=x2^post_15 && 1<=oldX5^post_15 && x2^post_15<=oldX5^post_15 ], cost: 4+5*x2^post_15 74: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=0, oldX3^0'=x3^0-x0^0, x1^0'=1+x1^0, x2^0'=0, x3^0'=x3^0-x0^0, [ 1<=x0^0 && 1<=x3^0 && x0^0<=x3^0 ], cost: 4+5*x0^0 75: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0+x3^0, oldX2^0'=x0^0, oldX3^0'=0, x1^0'=x1^0+x3^0, x2^0'=x0^0, x3^0'=0, [ 1<=x3^0 && -1+x2^0==0 && -1+x0^0==0 ], cost: 2+8*x3^0 76: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0+x3^0, oldX2^0'=x0^0, oldX3^0'=0, x1^0'=x1^0+x3^0, x2^0'=x0^0, x3^0'=0, [ 1<=x3^0 && -1+x2^0==0 && -1+x0^0==0 ], cost: 3+8*x3^0 77: l10 -> l6 : oldX0^0'=1, oldX1^0'=oldX5^post_15, oldX2^0'=1, oldX3^0'=0, oldX4^0'=1, oldX5^0'=oldX5^post_15, x0^0'=1, x1^0'=oldX5^post_15, x2^0'=1, x3^0'=0, [ 1<=oldX5^post_15 ], cost: 4+8*oldX5^post_15 78: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0+x3^0, oldX2^0'=x0^0, oldX3^0'=0, x1^0'=1+x1^0+x3^0, x2^0'=x0^0, x3^0'=0, [ 1<=x3^0 && -1+x0^0==0 ], cost: 4+8*x3^0 Removed unreachable locations (and leaf rules with constant cost): Start location: l10 67: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0-x3^0, oldX3^0'=0, x2^0'=x2^0-x3^0, x3^0'=0, [ 1<=x2^0 && 1<=x3^0 && 1<=x0^0 && x2^0>=x3^0 ], cost: 2+5*x3^0 68: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0-x3^0, oldX3^0'=0, x2^0'=x2^0-x3^0, x3^0'=0, [ 1<=x0^0 && 1<=x2^0 && 1<=x3^0 && x2^0>=x3^0 ], cost: 3+5*x3^0 69: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=-oldX5^post_15+x2^post_15, oldX3^0'=0, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=-oldX5^post_15+x2^post_15, x3^0'=0, [ 1<=x2^post_15 && 1<=oldX5^post_15 && x2^post_15>=oldX5^post_15 ], cost: 4+5*oldX5^post_15 70: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=-x3^0+x0^0, oldX3^0'=0, x1^0'=1+x1^0, x2^0'=-x3^0+x0^0, x3^0'=0, [ 1<=x0^0 && 1<=x3^0 && x0^0>=x3^0 ], cost: 4+5*x3^0 71: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=0, oldX3^0'=-x2^0+x3^0, x2^0'=0, x3^0'=-x2^0+x3^0, [ 1<=x2^0 && 1<=x3^0 && 1<=x0^0 && x2^0<=x3^0 ], cost: 2+5*x2^0 72: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=0, oldX3^0'=-x2^0+x3^0, x2^0'=0, x3^0'=-x2^0+x3^0, [ 1<=x0^0 && 1<=x2^0 && 1<=x3^0 && x2^0<=x3^0 ], cost: 3+5*x2^0 73: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=0, oldX3^0'=oldX5^post_15-x2^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=0, x3^0'=oldX5^post_15-x2^post_15, [ 1<=x2^post_15 && 1<=oldX5^post_15 && x2^post_15<=oldX5^post_15 ], cost: 4+5*x2^post_15 74: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=0, oldX3^0'=x3^0-x0^0, x1^0'=1+x1^0, x2^0'=0, x3^0'=x3^0-x0^0, [ 1<=x0^0 && 1<=x3^0 && x0^0<=x3^0 ], cost: 4+5*x0^0 75: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0+x3^0, oldX2^0'=x0^0, oldX3^0'=0, x1^0'=x1^0+x3^0, x2^0'=x0^0, x3^0'=0, [ 1<=x3^0 && -1+x2^0==0 && -1+x0^0==0 ], cost: 2+8*x3^0 76: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0+x3^0, oldX2^0'=x0^0, oldX3^0'=0, x1^0'=x1^0+x3^0, x2^0'=x0^0, x3^0'=0, [ 1<=x3^0 && -1+x2^0==0 && -1+x0^0==0 ], cost: 3+8*x3^0 77: l10 -> l6 : oldX0^0'=1, oldX1^0'=oldX5^post_15, oldX2^0'=1, oldX3^0'=0, oldX4^0'=1, oldX5^0'=oldX5^post_15, x0^0'=1, x1^0'=oldX5^post_15, x2^0'=1, x3^0'=0, [ 1<=oldX5^post_15 ], cost: 4+8*oldX5^post_15 78: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0+x3^0, oldX2^0'=x0^0, oldX3^0'=0, x1^0'=1+x1^0+x3^0, x2^0'=x0^0, x3^0'=0, [ 1<=x3^0 && -1+x0^0==0 ], cost: 4+8*x3^0 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l10 67: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0-x3^0, oldX3^0'=0, x2^0'=x2^0-x3^0, x3^0'=0, [ 1<=x2^0 && 1<=x3^0 && 1<=x0^0 && x2^0>=x3^0 ], cost: 2+5*x3^0 68: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0-x3^0, oldX3^0'=0, x2^0'=x2^0-x3^0, x3^0'=0, [ 1<=x0^0 && 1<=x2^0 && 1<=x3^0 && x2^0>=x3^0 ], cost: 3+5*x3^0 69: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=-oldX5^post_15+x2^post_15, oldX3^0'=0, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=-oldX5^post_15+x2^post_15, x3^0'=0, [ 1<=x2^post_15 && 1<=oldX5^post_15 && x2^post_15>=oldX5^post_15 ], cost: 4+5*oldX5^post_15 70: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=-x3^0+x0^0, oldX3^0'=0, x1^0'=1+x1^0, x2^0'=-x3^0+x0^0, x3^0'=0, [ 1<=x0^0 && 1<=x3^0 && x0^0>=x3^0 ], cost: 4+5*x3^0 71: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=0, oldX3^0'=-x2^0+x3^0, x2^0'=0, x3^0'=-x2^0+x3^0, [ 1<=x2^0 && 1<=x3^0 && 1<=x0^0 && x2^0<=x3^0 ], cost: 2+5*x2^0 72: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=0, oldX3^0'=-x2^0+x3^0, x2^0'=0, x3^0'=-x2^0+x3^0, [ 1<=x0^0 && 1<=x2^0 && 1<=x3^0 && x2^0<=x3^0 ], cost: 3+5*x2^0 73: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=0, oldX3^0'=oldX5^post_15-x2^post_15, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=0, x3^0'=oldX5^post_15-x2^post_15, [ 1<=x2^post_15 && 1<=oldX5^post_15 && x2^post_15<=oldX5^post_15 ], cost: 4+5*x2^post_15 74: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0, oldX2^0'=0, oldX3^0'=x3^0-x0^0, x1^0'=1+x1^0, x2^0'=0, x3^0'=x3^0-x0^0, [ 1<=x0^0 && 1<=x3^0 && x0^0<=x3^0 ], cost: 4+5*x0^0 76: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0+x3^0, oldX2^0'=x0^0, oldX3^0'=0, x1^0'=x1^0+x3^0, x2^0'=x0^0, x3^0'=0, [ 1<=x3^0 && -1+x2^0==0 && -1+x0^0==0 ], cost: 3+8*x3^0 77: l10 -> l6 : oldX0^0'=1, oldX1^0'=oldX5^post_15, oldX2^0'=1, oldX3^0'=0, oldX4^0'=1, oldX5^0'=oldX5^post_15, x0^0'=1, x1^0'=oldX5^post_15, x2^0'=1, x3^0'=0, [ 1<=oldX5^post_15 ], cost: 4+8*oldX5^post_15 78: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=1+x1^0+x3^0, oldX2^0'=x0^0, oldX3^0'=0, x1^0'=1+x1^0+x3^0, x2^0'=x0^0, x3^0'=0, [ 1<=x3^0 && -1+x0^0==0 ], cost: 4+8*x3^0 Computing asymptotic complexity for rule 67 Simplified the guard: 67: l10 -> l6 : oldX0^0'=x0^0, oldX1^0'=x1^0, oldX2^0'=x2^0-x3^0, oldX3^0'=0, x2^0'=x2^0-x3^0, x3^0'=0, [ 1<=x3^0 && 1<=x0^0 && x2^0>=x3^0 ], cost: 2+5*x3^0 Solved the limit problem by the following transformations: Created initial limit problem: 2+5*x3^0 (+), 1+x2^0-x3^0 (+/+!), x3^0 (+/+!), x0^0 (+/+!) [not solved] removing all constraints (solved by SMT) resulting limit problem: [solved] applying transformation rule (C) using substitution {x2^0==n,x3^0==n,x0^0==n} resulting limit problem: [solved] Solution: x2^0 / n x3^0 / n x0^0 / n Resulting cost 2+5*n has complexity: Poly(n^1) Found new complexity Poly(n^1). Computing asymptotic complexity for rule 69 Simplified the guard: 69: l10 -> l6 : oldX0^0'=x2^post_15, oldX1^0'=0, oldX2^0'=-oldX5^post_15+x2^post_15, oldX3^0'=0, oldX4^0'=x2^post_15, oldX5^0'=oldX5^post_15, x0^0'=x2^post_15, x1^0'=0, x2^0'=-oldX5^post_15+x2^post_15, x3^0'=0, [ 1<=oldX5^post_15 && x2^post_15>=oldX5^post_15 ], cost: 4+5*oldX5^post_15 Solved the limit problem by the following transformations: Created initial limit problem: 1-oldX5^post_15+x2^post_15 (+/+!), oldX5^post_15 (+/+!), 4+5*oldX5^post_15 (+) [not solved] removing all constraints (solved by SMT) resulting limit problem: [solved] applying transformation rule (C) using substitution {oldX5^post_15==n,x2^post_15==n} resulting limit problem: [solved] Solution: oldX5^post_15 / n x2^post_15 / n Resulting cost 4+5*n has complexity: Unbounded Found new complexity Unbounded. Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Unbounded Cpx degree: Unbounded Solved cost: 4+5*n Rule cost: 4+5*oldX5^post_15 Rule guard: [ 1<=oldX5^post_15 && x2^post_15>=oldX5^post_15 ] WORST_CASE(INF,?)