WORST_CASE(Omega(1),?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: __init 0: f1 -> f2 : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, [ arg2==arg2P_1 && arg3==arg3P_1 && arg4==arg4P_1 ], cost: 1 1: f2 -> f3 : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, [ arg1==arg1P_2 && arg3==arg3P_2 && arg4==arg4P_2 ], cost: 1 2: f3 -> f4 : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, [ arg1==arg1P_3 && arg2==arg2P_3 && arg4==arg4P_3 ], cost: 1 3: f4 -> f5 : arg1'=arg1P_4, arg2'=arg2P_4, arg3'=arg3P_4, arg4'=arg4P_4, [ arg1==arg1P_4 && arg2==arg2P_4 && arg3==arg3P_4 ], cost: 1 28: f5 -> f6 : arg1'=arg1P_29, arg2'=arg2P_29, arg3'=arg3P_29, arg4'=arg4P_29, [ arg3<=arg1 && arg4>=arg2 && arg1==arg1P_29 && arg2==arg2P_29 && arg3==arg3P_29 && arg4==arg4P_29 ], cost: 1 29: f5 -> f6 : arg1'=arg1P_30, arg2'=arg2P_30, arg3'=arg3P_30, arg4'=arg4P_30, [ arg3>=arg1 && arg4>=arg2 && arg1==arg1P_30 && arg2==arg2P_30 && arg3==arg3P_30 && arg4==arg4P_30 ], cost: 1 30: f5 -> f6 : arg1'=arg1P_31, arg2'=arg2P_31, arg3'=arg3P_31, arg4'=arg4P_31, [ arg3>=arg1 && arg4<=arg2 && arg1==arg1P_31 && arg2==arg2P_31 && arg3==arg3P_31 && arg4==arg4P_31 ], cost: 1 32: f5 -> f23 : arg1'=arg1P_33, arg2'=arg2P_33, arg3'=arg3P_33, arg4'=arg4P_33, [ arg3arg1 && arg1==arg1P_33 && arg2==arg2P_33 && arg3==arg3P_33 && arg4==arg4P_33 ], cost: 1 33: f5 -> f23 : arg1'=arg1P_34, arg2'=arg2P_34, arg3'=arg3P_34, arg4'=arg4P_34, [ arg3 f23 : arg1'=arg1P_35, arg2'=arg2P_35, arg3'=arg3P_35, arg4'=arg4P_35, [ arg3arg2 && arg3>arg1 && arg1==arg1P_35 && arg2==arg2P_35 && arg3==arg3P_35 && arg4==arg4P_35 ], cost: 1 35: f5 -> f23 : arg1'=arg1P_36, arg2'=arg2P_36, arg3'=arg3P_36, arg4'=arg4P_36, [ arg3arg2 && arg4 f23 : arg1'=arg1P_37, arg2'=arg2P_37, arg3'=arg3P_37, arg4'=arg4P_37, [ arg4arg1 && arg1==arg1P_37 && arg2==arg2P_37 && arg3==arg3P_37 && arg4==arg4P_37 ], cost: 1 37: f5 -> f23 : arg1'=arg1P_38, arg2'=arg2P_38, arg3'=arg3P_38, arg4'=arg4P_38, [ arg4 f23 : arg1'=arg1P_39, arg2'=arg2P_39, arg3'=arg3P_39, arg4'=arg4P_39, [ arg4arg2 && arg3>arg1 && arg1==arg1P_39 && arg2==arg2P_39 && arg3==arg3P_39 && arg4==arg4P_39 ], cost: 1 39: f5 -> f23 : arg1'=arg1P_40, arg2'=arg2P_40, arg3'=arg3P_40, arg4'=arg4P_40, [ arg4arg2 && arg4 f13 : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=arg4P_5, [ arg2P_5==1+arg2 && arg1==arg1P_5 && arg3==arg3P_5 && arg4==arg4P_5 ], cost: 1 9: f13 -> f12 : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, [ arg1==arg1P_10 && arg2==arg2P_10 && arg3==arg3P_10 && arg4==arg4P_10 ], cost: 1 5: f11 -> f14 : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=arg3P_6, arg4'=arg4P_6, [ arg1P_6==1+arg1 && arg2==arg2P_6 && arg3==arg3P_6 && arg4==arg4P_6 ], cost: 1 10: f14 -> f12 : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, [ arg1==arg1P_11 && arg2==arg2P_11 && arg3==arg3P_11 && arg4==arg4P_11 ], cost: 1 6: f7 -> f10 : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, [ x27_1<0 && arg1==arg1P_7 && arg2==arg2P_7 && arg3==arg3P_7 && arg4==arg4P_7 ], cost: 1 7: f7 -> f10 : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, [ x118_1>0 && arg1==arg1P_8 && arg2==arg2P_8 && arg3==arg3P_8 && arg4==arg4P_8 ], cost: 1 8: f7 -> f11 : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, [ x32_1==0 && arg1==arg1P_9 && arg2==arg2P_9 && arg3==arg3P_9 && arg4==arg4P_9 ], cost: 1 26: f12 -> f9 : arg1'=arg1P_27, arg2'=arg2P_27, arg3'=arg3P_27, arg4'=arg4P_27, [ arg1==arg1P_27 && arg2==arg2P_27 && arg3==arg3P_27 && arg4==arg4P_27 ], cost: 1 11: f15 -> f18 : arg1'=arg1P_12, arg2'=arg2P_12, arg3'=arg3P_12, arg4'=arg4P_12, [ arg1P_12==1+arg1 && arg2==arg2P_12 && arg3==arg3P_12 && arg4==arg4P_12 ], cost: 1 21: f18 -> f17 : arg1'=arg1P_22, arg2'=arg2P_22, arg3'=arg3P_22, arg4'=arg4P_22, [ arg1==arg1P_22 && arg2==arg2P_22 && arg3==arg3P_22 && arg4==arg4P_22 ], cost: 1 12: f19 -> f22 : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, [ arg2P_13==1+arg2 && arg1==arg1P_13 && arg3==arg3P_13 && arg4==arg4P_13 ], cost: 1 16: f22 -> f21 : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg1==arg1P_17 && arg2==arg2P_17 && arg3==arg3P_17 && arg4==arg4P_17 ], cost: 1 13: f16 -> f19 : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=arg3P_14, arg4'=arg4P_14, [ arg3<=arg1 && arg4>=arg2 && arg1==arg1P_14 && arg2==arg2P_14 && arg3==arg3P_14 && arg4==arg4P_14 ], cost: 1 14: f16 -> f20 : arg1'=arg1P_15, arg2'=arg2P_15, arg3'=arg3P_15, arg4'=arg4P_15, [ arg3>arg1 && arg1==arg1P_15 && arg2==arg2P_15 && arg3==arg3P_15 && arg4==arg4P_15 ], cost: 1 15: f16 -> f20 : arg1'=arg1P_16, arg2'=arg2P_16, arg3'=arg3P_16, arg4'=arg4P_16, [ arg4 f21 : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ arg1==arg1P_18 && arg2==arg2P_18 && arg3==arg3P_18 && arg4==arg4P_18 ], cost: 1 22: f21 -> f17 : arg1'=arg1P_23, arg2'=arg2P_23, arg3'=arg3P_23, arg4'=arg4P_23, [ arg1==arg1P_23 && arg2==arg2P_23 && arg3==arg3P_23 && arg4==arg4P_23 ], cost: 1 18: f8 -> f15 : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg3>=arg1 && arg4<=arg2 && arg1==arg1P_19 && arg2==arg2P_19 && arg3==arg3P_19 && arg4==arg4P_19 ], cost: 1 19: f8 -> f16 : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg3 f16 : arg1'=arg1P_21, arg2'=arg2P_21, arg3'=arg3P_21, arg4'=arg4P_21, [ arg4>arg2 && arg1==arg1P_21 && arg2==arg2P_21 && arg3==arg3P_21 && arg4==arg4P_21 ], cost: 1 27: f17 -> f9 : arg1'=arg1P_28, arg2'=arg2P_28, arg3'=arg3P_28, arg4'=arg4P_28, [ arg1==arg1P_28 && arg2==arg2P_28 && arg3==arg3P_28 && arg4==arg4P_28 ], cost: 1 23: f6 -> f7 : arg1'=arg1P_24, arg2'=arg2P_24, arg3'=arg3P_24, arg4'=arg4P_24, [ arg3>=arg1 && arg4>=arg2 && arg1==arg1P_24 && arg2==arg2P_24 && arg3==arg3P_24 && arg4==arg4P_24 ], cost: 1 24: f6 -> f8 : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, [ arg3 f8 : arg1'=arg1P_26, arg2'=arg2P_26, arg3'=arg3P_26, arg4'=arg4P_26, [ arg4 f5 : arg1'=arg1P_32, arg2'=arg2P_32, arg3'=arg3P_32, arg4'=arg4P_32, [ arg1==arg1P_32 && arg2==arg2P_32 && arg3==arg3P_32 && arg4==arg4P_32 ], cost: 1 40: __init -> f1 : arg1'=arg1P_41, arg2'=arg2P_41, arg3'=arg3P_41, arg4'=arg4P_41, [], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 40: __init -> f1 : arg1'=arg1P_41, arg2'=arg2P_41, arg3'=arg3P_41, arg4'=arg4P_41, [], cost: 1 Removed unreachable and leaf rules: Start location: __init 0: f1 -> f2 : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, [ arg2==arg2P_1 && arg3==arg3P_1 && arg4==arg4P_1 ], cost: 1 1: f2 -> f3 : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, [ arg1==arg1P_2 && arg3==arg3P_2 && arg4==arg4P_2 ], cost: 1 2: f3 -> f4 : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, [ arg1==arg1P_3 && arg2==arg2P_3 && arg4==arg4P_3 ], cost: 1 3: f4 -> f5 : arg1'=arg1P_4, arg2'=arg2P_4, arg3'=arg3P_4, arg4'=arg4P_4, [ arg1==arg1P_4 && arg2==arg2P_4 && arg3==arg3P_4 ], cost: 1 28: f5 -> f6 : arg1'=arg1P_29, arg2'=arg2P_29, arg3'=arg3P_29, arg4'=arg4P_29, [ arg3<=arg1 && arg4>=arg2 && arg1==arg1P_29 && arg2==arg2P_29 && arg3==arg3P_29 && arg4==arg4P_29 ], cost: 1 29: f5 -> f6 : arg1'=arg1P_30, arg2'=arg2P_30, arg3'=arg3P_30, arg4'=arg4P_30, [ arg3>=arg1 && arg4>=arg2 && arg1==arg1P_30 && arg2==arg2P_30 && arg3==arg3P_30 && arg4==arg4P_30 ], cost: 1 30: f5 -> f6 : arg1'=arg1P_31, arg2'=arg2P_31, arg3'=arg3P_31, arg4'=arg4P_31, [ arg3>=arg1 && arg4<=arg2 && arg1==arg1P_31 && arg2==arg2P_31 && arg3==arg3P_31 && arg4==arg4P_31 ], cost: 1 4: f10 -> f13 : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=arg4P_5, [ arg2P_5==1+arg2 && arg1==arg1P_5 && arg3==arg3P_5 && arg4==arg4P_5 ], cost: 1 9: f13 -> f12 : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, [ arg1==arg1P_10 && arg2==arg2P_10 && arg3==arg3P_10 && arg4==arg4P_10 ], cost: 1 5: f11 -> f14 : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=arg3P_6, arg4'=arg4P_6, [ arg1P_6==1+arg1 && arg2==arg2P_6 && arg3==arg3P_6 && arg4==arg4P_6 ], cost: 1 10: f14 -> f12 : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, [ arg1==arg1P_11 && arg2==arg2P_11 && arg3==arg3P_11 && arg4==arg4P_11 ], cost: 1 6: f7 -> f10 : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, [ x27_1<0 && arg1==arg1P_7 && arg2==arg2P_7 && arg3==arg3P_7 && arg4==arg4P_7 ], cost: 1 7: f7 -> f10 : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, [ x118_1>0 && arg1==arg1P_8 && arg2==arg2P_8 && arg3==arg3P_8 && arg4==arg4P_8 ], cost: 1 8: f7 -> f11 : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, [ x32_1==0 && arg1==arg1P_9 && arg2==arg2P_9 && arg3==arg3P_9 && arg4==arg4P_9 ], cost: 1 26: f12 -> f9 : arg1'=arg1P_27, arg2'=arg2P_27, arg3'=arg3P_27, arg4'=arg4P_27, [ arg1==arg1P_27 && arg2==arg2P_27 && arg3==arg3P_27 && arg4==arg4P_27 ], cost: 1 11: f15 -> f18 : arg1'=arg1P_12, arg2'=arg2P_12, arg3'=arg3P_12, arg4'=arg4P_12, [ arg1P_12==1+arg1 && arg2==arg2P_12 && arg3==arg3P_12 && arg4==arg4P_12 ], cost: 1 21: f18 -> f17 : arg1'=arg1P_22, arg2'=arg2P_22, arg3'=arg3P_22, arg4'=arg4P_22, [ arg1==arg1P_22 && arg2==arg2P_22 && arg3==arg3P_22 && arg4==arg4P_22 ], cost: 1 12: f19 -> f22 : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, [ arg2P_13==1+arg2 && arg1==arg1P_13 && arg3==arg3P_13 && arg4==arg4P_13 ], cost: 1 16: f22 -> f21 : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg1==arg1P_17 && arg2==arg2P_17 && arg3==arg3P_17 && arg4==arg4P_17 ], cost: 1 13: f16 -> f19 : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=arg3P_14, arg4'=arg4P_14, [ arg3<=arg1 && arg4>=arg2 && arg1==arg1P_14 && arg2==arg2P_14 && arg3==arg3P_14 && arg4==arg4P_14 ], cost: 1 14: f16 -> f20 : arg1'=arg1P_15, arg2'=arg2P_15, arg3'=arg3P_15, arg4'=arg4P_15, [ arg3>arg1 && arg1==arg1P_15 && arg2==arg2P_15 && arg3==arg3P_15 && arg4==arg4P_15 ], cost: 1 15: f16 -> f20 : arg1'=arg1P_16, arg2'=arg2P_16, arg3'=arg3P_16, arg4'=arg4P_16, [ arg4 f21 : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ arg1==arg1P_18 && arg2==arg2P_18 && arg3==arg3P_18 && arg4==arg4P_18 ], cost: 1 22: f21 -> f17 : arg1'=arg1P_23, arg2'=arg2P_23, arg3'=arg3P_23, arg4'=arg4P_23, [ arg1==arg1P_23 && arg2==arg2P_23 && arg3==arg3P_23 && arg4==arg4P_23 ], cost: 1 18: f8 -> f15 : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg3>=arg1 && arg4<=arg2 && arg1==arg1P_19 && arg2==arg2P_19 && arg3==arg3P_19 && arg4==arg4P_19 ], cost: 1 19: f8 -> f16 : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg3 f16 : arg1'=arg1P_21, arg2'=arg2P_21, arg3'=arg3P_21, arg4'=arg4P_21, [ arg4>arg2 && arg1==arg1P_21 && arg2==arg2P_21 && arg3==arg3P_21 && arg4==arg4P_21 ], cost: 1 27: f17 -> f9 : arg1'=arg1P_28, arg2'=arg2P_28, arg3'=arg3P_28, arg4'=arg4P_28, [ arg1==arg1P_28 && arg2==arg2P_28 && arg3==arg3P_28 && arg4==arg4P_28 ], cost: 1 23: f6 -> f7 : arg1'=arg1P_24, arg2'=arg2P_24, arg3'=arg3P_24, arg4'=arg4P_24, [ arg3>=arg1 && arg4>=arg2 && arg1==arg1P_24 && arg2==arg2P_24 && arg3==arg3P_24 && arg4==arg4P_24 ], cost: 1 24: f6 -> f8 : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, [ arg3 f8 : arg1'=arg1P_26, arg2'=arg2P_26, arg3'=arg3P_26, arg4'=arg4P_26, [ arg4 f5 : arg1'=arg1P_32, arg2'=arg2P_32, arg3'=arg3P_32, arg4'=arg4P_32, [ arg1==arg1P_32 && arg2==arg2P_32 && arg3==arg3P_32 && arg4==arg4P_32 ], cost: 1 40: __init -> f1 : arg1'=arg1P_41, arg2'=arg2P_41, arg3'=arg3P_41, arg4'=arg4P_41, [], cost: 1 Simplified all rules, resulting in: Start location: __init 0: f1 -> f2 : arg1'=arg1P_1, [], cost: 1 1: f2 -> f3 : arg2'=arg2P_2, [], cost: 1 2: f3 -> f4 : arg3'=arg3P_3, [], cost: 1 3: f4 -> f5 : arg4'=arg4P_4, [], cost: 1 28: f5 -> f6 : [ arg3<=arg1 && arg4>=arg2 ], cost: 1 29: f5 -> f6 : [ arg3>=arg1 && arg4>=arg2 ], cost: 1 30: f5 -> f6 : [ arg3>=arg1 && arg4<=arg2 ], cost: 1 4: f10 -> f13 : arg2'=1+arg2, [], cost: 1 9: f13 -> f12 : [], cost: 1 5: f11 -> f14 : arg1'=1+arg1, [], cost: 1 10: f14 -> f12 : [], cost: 1 7: f7 -> f10 : [], cost: 1 8: f7 -> f11 : [], cost: 1 26: f12 -> f9 : [], cost: 1 11: f15 -> f18 : arg1'=1+arg1, [], cost: 1 21: f18 -> f17 : [], cost: 1 12: f19 -> f22 : arg2'=1+arg2, [], cost: 1 16: f22 -> f21 : [], cost: 1 13: f16 -> f19 : [ arg3<=arg1 && arg4>=arg2 ], cost: 1 14: f16 -> f20 : [ arg3>arg1 ], cost: 1 15: f16 -> f20 : [ arg4 f21 : [], cost: 1 22: f21 -> f17 : [], cost: 1 18: f8 -> f15 : [ arg3>=arg1 && arg4<=arg2 ], cost: 1 19: f8 -> f16 : [ arg3 f16 : [ arg4>arg2 ], cost: 1 27: f17 -> f9 : [], cost: 1 23: f6 -> f7 : [ arg3>=arg1 && arg4>=arg2 ], cost: 1 24: f6 -> f8 : [ arg3 f8 : [ arg4 f5 : [], cost: 1 40: __init -> f1 : arg1'=arg1P_41, arg2'=arg2P_41, arg3'=arg3P_41, arg4'=arg4P_41, [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: __init 28: f5 -> f6 : [ arg3<=arg1 && arg4>=arg2 ], cost: 1 29: f5 -> f6 : [ arg3>=arg1 && arg4>=arg2 ], cost: 1 30: f5 -> f6 : [ arg3>=arg1 && arg4<=arg2 ], cost: 1 47: f7 -> f12 : arg2'=1+arg2, [], cost: 3 48: f7 -> f12 : arg1'=1+arg1, [], cost: 3 26: f12 -> f9 : [], cost: 1 14: f16 -> f20 : [ arg3>arg1 ], cost: 1 15: f16 -> f20 : [ arg4 f21 : arg2'=1+arg2, [ arg3<=arg1 && arg4>=arg2 ], cost: 3 17: f20 -> f21 : [], cost: 1 22: f21 -> f17 : [], cost: 1 19: f8 -> f16 : [ arg3 f16 : [ arg4>arg2 ], cost: 1 50: f8 -> f17 : arg1'=1+arg1, [ arg3>=arg1 && arg4<=arg2 ], cost: 3 27: f17 -> f9 : [], cost: 1 23: f6 -> f7 : [ arg3>=arg1 && arg4>=arg2 ], cost: 1 24: f6 -> f8 : [ arg3 f8 : [ arg4 f5 : [], cost: 1 44: __init -> f5 : arg1'=arg1P_1, arg2'=arg2P_2, arg3'=arg3P_3, arg4'=arg4P_4, [], cost: 5 Eliminated locations (on tree-shaped paths): Start location: __init 53: f5 -> f7 : [ arg3<=arg1 && arg4>=arg2 && arg3>=arg1 ], cost: 2 54: f5 -> f8 : [ arg4>=arg2 && arg3 f7 : [ arg3>=arg1 && arg4>=arg2 ], cost: 2 56: f5 -> f7 : [ arg3>=arg1 && arg4<=arg2 && arg4>=arg2 ], cost: 2 57: f5 -> f8 : [ arg3>=arg1 && arg4 f9 : arg2'=1+arg2, [], cost: 4 59: f7 -> f9 : arg1'=1+arg1, [], cost: 4 17: f20 -> f21 : [], cost: 1 22: f21 -> f17 : [], cost: 1 50: f8 -> f17 : arg1'=1+arg1, [ arg3>=arg1 && arg4<=arg2 ], cost: 3 60: f8 -> f20 : [ arg3 f21 : arg2'=1+arg2, [ arg3=arg2 ], cost: 4 62: f8 -> f20 : [ arg4>arg2 && arg3>arg1 ], cost: 2 63: f8 -> f21 : arg2'=1+arg2, [ arg4>arg2 && arg3<=arg1 ], cost: 4 27: f17 -> f9 : [], cost: 1 31: f9 -> f5 : [], cost: 1 44: __init -> f5 : arg1'=arg1P_1, arg2'=arg2P_2, arg3'=arg3P_3, arg4'=arg4P_4, [], cost: 5 Eliminated locations (on tree-shaped paths): Start location: __init 64: f5 -> f9 : arg2'=1+arg2, [ arg3<=arg1 && arg4>=arg2 && arg3>=arg1 ], cost: 6 65: f5 -> f9 : arg1'=1+arg1, [ arg3<=arg1 && arg4>=arg2 && arg3>=arg1 ], cost: 6 66: f5 -> f9 : arg2'=1+arg2, [ arg3>=arg1 && arg4>=arg2 ], cost: 6 67: f5 -> f9 : arg1'=1+arg1, [ arg3>=arg1 && arg4>=arg2 ], cost: 6 68: f5 -> f9 : arg2'=1+arg2, [ arg3>=arg1 && arg4<=arg2 && arg4>=arg2 ], cost: 6 69: f5 -> f9 : arg1'=1+arg1, [ arg3>=arg1 && arg4<=arg2 && arg4>=arg2 ], cost: 6 70: f5 -> f21 : arg2'=1+arg2, [ arg4>=arg2 && arg3 f21 : arg2'=1+arg2, [ arg3arg2 ], cost: 6 72: f5 -> f17 : arg1'=1+arg1, [ arg3>=arg1 && arg4 f21 : [], cost: 1 22: f21 -> f17 : [], cost: 1 27: f17 -> f9 : [], cost: 1 31: f9 -> f5 : [], cost: 1 44: __init -> f5 : arg1'=arg1P_1, arg2'=arg2P_2, arg3'=arg3P_3, arg4'=arg4P_4, [], cost: 5 Removed unreachable locations (and leaf rules with constant cost): Start location: __init 64: f5 -> f9 : arg2'=1+arg2, [ arg3<=arg1 && arg4>=arg2 && arg3>=arg1 ], cost: 6 65: f5 -> f9 : arg1'=1+arg1, [ arg3<=arg1 && arg4>=arg2 && arg3>=arg1 ], cost: 6 66: f5 -> f9 : arg2'=1+arg2, [ arg3>=arg1 && arg4>=arg2 ], cost: 6 67: f5 -> f9 : arg1'=1+arg1, [ arg3>=arg1 && arg4>=arg2 ], cost: 6 68: f5 -> f9 : arg2'=1+arg2, [ arg3>=arg1 && arg4<=arg2 && arg4>=arg2 ], cost: 6 69: f5 -> f9 : arg1'=1+arg1, [ arg3>=arg1 && arg4<=arg2 && arg4>=arg2 ], cost: 6 70: f5 -> f21 : arg2'=1+arg2, [ arg4>=arg2 && arg3 f21 : arg2'=1+arg2, [ arg3arg2 ], cost: 6 72: f5 -> f17 : arg1'=1+arg1, [ arg3>=arg1 && arg4 f17 : [], cost: 1 27: f17 -> f9 : [], cost: 1 31: f9 -> f5 : [], cost: 1 44: __init -> f5 : arg1'=arg1P_1, arg2'=arg2P_2, arg3'=arg3P_3, arg4'=arg4P_4, [], cost: 5 Eliminated locations (on tree-shaped paths): Start location: __init 78: f5 -> f5 : arg2'=1+arg2, [ arg3<=arg1 && arg4>=arg2 && arg3>=arg1 ], cost: 7 79: f5 -> f5 : arg1'=1+arg1, [ arg3<=arg1 && arg4>=arg2 && arg3>=arg1 ], cost: 7 80: f5 -> f5 : arg2'=1+arg2, [ arg3>=arg1 && arg4>=arg2 ], cost: 7 81: f5 -> f5 : arg1'=1+arg1, [ arg3>=arg1 && arg4>=arg2 ], cost: 7 82: f5 -> f5 : arg2'=1+arg2, [ arg3>=arg1 && arg4<=arg2 && arg4>=arg2 ], cost: 7 83: f5 -> f5 : arg1'=1+arg1, [ arg3>=arg1 && arg4<=arg2 && arg4>=arg2 ], cost: 7 84: f5 -> f5 : arg1'=1+arg1, [ arg3>=arg1 && arg4 f5 : arg2'=1+arg2, [ arg4>=arg2 && arg3 f5 : arg2'=1+arg2, [ arg3arg2 ], cost: 9 44: __init -> f5 : arg1'=arg1P_1, arg2'=arg2P_2, arg3'=arg3P_3, arg4'=arg4P_4, [], cost: 5 Accelerating simple loops of location 4. Simplified some of the simple loops (and removed duplicate rules). Accelerating the following rules: 78: f5 -> f5 : arg2'=1+arg2, [ arg3-arg1==0 && arg4>=arg2 ], cost: 7 79: f5 -> f5 : arg1'=1+arg1, [ arg3-arg1==0 && arg4>=arg2 ], cost: 7 80: f5 -> f5 : arg2'=1+arg2, [ arg3>=arg1 && arg4>=arg2 ], cost: 7 81: f5 -> f5 : arg1'=1+arg1, [ arg3>=arg1 && arg4>=arg2 ], cost: 7 82: f5 -> f5 : arg2'=1+arg2, [ arg3>=arg1 && -arg2+arg4==0 ], cost: 7 83: f5 -> f5 : arg1'=1+arg1, [ arg3>=arg1 && -arg2+arg4==0 ], cost: 7 84: f5 -> f5 : arg1'=1+arg1, [ arg3>=arg1 && arg4 f5 : arg2'=1+arg2, [ arg4>=arg2 && arg3 f5 : arg2'=1+arg2, [ arg3arg2 ], cost: 9 Accelerated rule 78 with backward acceleration, yielding the new rule 87. Failed to prove monotonicity of the guard of rule 79. Accelerated rule 80 with backward acceleration, yielding the new rule 88. Accelerated rule 81 with backward acceleration, yielding the new rule 89. Failed to prove monotonicity of the guard of rule 82. Accelerated rule 83 with backward acceleration, yielding the new rule 90. Accelerated rule 84 with backward acceleration, yielding the new rule 91. Accelerated rule 85 with backward acceleration, yielding the new rule 92. Accelerated rule 86 with backward acceleration, yielding the new rule 93. [accelerate] Nesting with 9 inner and 9 outer candidates Removing the simple loops: 78 80 81 83 84 85 86. Accelerated all simple loops using metering functions (where possible): Start location: __init 79: f5 -> f5 : arg1'=1+arg1, [ arg3-arg1==0 && arg4>=arg2 ], cost: 7 82: f5 -> f5 : arg2'=1+arg2, [ arg3>=arg1 && -arg2+arg4==0 ], cost: 7 87: f5 -> f5 : arg2'=1+arg4, [ arg3-arg1==0 && 1-arg2+arg4>=0 ], cost: 7-7*arg2+7*arg4 88: f5 -> f5 : arg2'=1+arg4, [ arg3>=arg1 && 1-arg2+arg4>=0 ], cost: 7-7*arg2+7*arg4 89: f5 -> f5 : arg1'=1+arg3, [ arg4>=arg2 && 1+arg3-arg1>=0 ], cost: 7+7*arg3-7*arg1 90: f5 -> f5 : arg1'=1+arg3, [ -arg2+arg4==0 && 1+arg3-arg1>=0 ], cost: 7+7*arg3-7*arg1 91: f5 -> f5 : arg1'=1+arg3, [ arg4=0 ], cost: 7+7*arg3-7*arg1 92: f5 -> f5 : arg2'=1+arg4, [ arg3=0 ], cost: 9-9*arg2+9*arg4 93: f5 -> f5 : arg2'=arg4, [ arg3=0 ], cost: -9*arg2+9*arg4 44: __init -> f5 : arg1'=arg1P_1, arg2'=arg2P_2, arg3'=arg3P_3, arg4'=arg4P_4, [], cost: 5 Chained accelerated rules (with incoming rules): Start location: __init 44: __init -> f5 : arg1'=arg1P_1, arg2'=arg2P_2, arg3'=arg3P_3, arg4'=arg4P_4, [], cost: 5 94: __init -> f5 : arg1'=1+arg3P_3, arg2'=arg2P_2, arg3'=arg3P_3, arg4'=arg4P_4, [ arg4P_4>=arg2P_2 ], cost: 12 95: __init -> f5 : arg1'=arg1P_1, arg2'=1+arg2P_2, arg3'=arg3P_3, arg4'=arg2P_2, [ arg3P_3>=arg1P_1 ], cost: 12 96: __init -> f5 : arg1'=arg3P_3, arg2'=1+arg4P_4, arg3'=arg3P_3, arg4'=arg4P_4, [ 1+arg4P_4-arg2P_2>=0 ], cost: 12+7*arg4P_4-7*arg2P_2 97: __init -> f5 : arg1'=arg1P_1, arg2'=1+arg4P_4, arg3'=arg3P_3, arg4'=arg4P_4, [ arg3P_3>=arg1P_1 && 1+arg4P_4-arg2P_2>=0 ], cost: 12+7*arg4P_4-7*arg2P_2 98: __init -> f5 : arg1'=1+arg3P_3, arg2'=arg2P_2, arg3'=arg3P_3, arg4'=arg4P_4, [ arg4P_4>=arg2P_2 && 1-arg1P_1+arg3P_3>=0 ], cost: 12-7*arg1P_1+7*arg3P_3 99: __init -> f5 : arg1'=1+arg3P_3, arg2'=arg2P_2, arg3'=arg3P_3, arg4'=arg2P_2, [ 1-arg1P_1+arg3P_3>=0 ], cost: 12-7*arg1P_1+7*arg3P_3 100: __init -> f5 : arg1'=1+arg3P_3, arg2'=arg2P_2, arg3'=arg3P_3, arg4'=arg4P_4, [ arg4P_4=0 ], cost: 12-7*arg1P_1+7*arg3P_3 101: __init -> f5 : arg1'=arg1P_1, arg2'=1+arg4P_4, arg3'=arg3P_3, arg4'=arg4P_4, [ arg3P_3=0 ], cost: 14+9*arg4P_4-9*arg2P_2 102: __init -> f5 : arg1'=arg1P_1, arg2'=arg4P_4, arg3'=arg3P_3, arg4'=arg4P_4, [ arg3P_3=0 ], cost: 5+9*arg4P_4-9*arg2P_2 Removed unreachable locations (and leaf rules with constant cost): Start location: __init 96: __init -> f5 : arg1'=arg3P_3, arg2'=1+arg4P_4, arg3'=arg3P_3, arg4'=arg4P_4, [ 1+arg4P_4-arg2P_2>=0 ], cost: 12+7*arg4P_4-7*arg2P_2 97: __init -> f5 : arg1'=arg1P_1, arg2'=1+arg4P_4, arg3'=arg3P_3, arg4'=arg4P_4, [ arg3P_3>=arg1P_1 && 1+arg4P_4-arg2P_2>=0 ], cost: 12+7*arg4P_4-7*arg2P_2 98: __init -> f5 : arg1'=1+arg3P_3, arg2'=arg2P_2, arg3'=arg3P_3, arg4'=arg4P_4, [ arg4P_4>=arg2P_2 && 1-arg1P_1+arg3P_3>=0 ], cost: 12-7*arg1P_1+7*arg3P_3 99: __init -> f5 : arg1'=1+arg3P_3, arg2'=arg2P_2, arg3'=arg3P_3, arg4'=arg2P_2, [ 1-arg1P_1+arg3P_3>=0 ], cost: 12-7*arg1P_1+7*arg3P_3 100: __init -> f5 : arg1'=1+arg3P_3, arg2'=arg2P_2, arg3'=arg3P_3, arg4'=arg4P_4, [ arg4P_4=0 ], cost: 12-7*arg1P_1+7*arg3P_3 101: __init -> f5 : arg1'=arg1P_1, arg2'=1+arg4P_4, arg3'=arg3P_3, arg4'=arg4P_4, [ arg3P_3=0 ], cost: 14+9*arg4P_4-9*arg2P_2 102: __init -> f5 : arg1'=arg1P_1, arg2'=arg4P_4, arg3'=arg3P_3, arg4'=arg4P_4, [ arg3P_3=0 ], cost: 5+9*arg4P_4-9*arg2P_2 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: __init 96: __init -> f5 : arg1'=arg3P_3, arg2'=1+arg4P_4, arg3'=arg3P_3, arg4'=arg4P_4, [ 1+arg4P_4-arg2P_2>=0 ], cost: 12+7*arg4P_4-7*arg2P_2 97: __init -> f5 : arg1'=arg1P_1, arg2'=1+arg4P_4, arg3'=arg3P_3, arg4'=arg4P_4, [ arg3P_3>=arg1P_1 && 1+arg4P_4-arg2P_2>=0 ], cost: 12+7*arg4P_4-7*arg2P_2 98: __init -> f5 : arg1'=1+arg3P_3, arg2'=arg2P_2, arg3'=arg3P_3, arg4'=arg4P_4, [ arg4P_4>=arg2P_2 && 1-arg1P_1+arg3P_3>=0 ], cost: 12-7*arg1P_1+7*arg3P_3 99: __init -> f5 : arg1'=1+arg3P_3, arg2'=arg2P_2, arg3'=arg3P_3, arg4'=arg2P_2, [ 1-arg1P_1+arg3P_3>=0 ], cost: 12-7*arg1P_1+7*arg3P_3 100: __init -> f5 : arg1'=1+arg3P_3, arg2'=arg2P_2, arg3'=arg3P_3, arg4'=arg4P_4, [ arg4P_4=0 ], cost: 12-7*arg1P_1+7*arg3P_3 101: __init -> f5 : arg1'=arg1P_1, arg2'=1+arg4P_4, arg3'=arg3P_3, arg4'=arg4P_4, [ arg3P_3=0 ], cost: 14+9*arg4P_4-9*arg2P_2 102: __init -> f5 : arg1'=arg1P_1, arg2'=arg4P_4, arg3'=arg3P_3, arg4'=arg4P_4, [ arg3P_3=0 ], cost: 5+9*arg4P_4-9*arg2P_2 Computing asymptotic complexity for rule 96 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 99 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 97 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 98 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 100 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 101 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 102 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: [] WORST_CASE(Omega(1),?)