WORST_CASE(Omega(1),?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: __init 0: f1_0_main_ConstantStackPush -> f117_0_main_GT : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, [ arg1P_1<=arg1 && arg2>-1 && arg1>0 && arg1P_1>0 && 0==arg2P_1 && arg2==arg3P_1 ], cost: 1 1: f117_0_main_GT -> f197_0_main_GT : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, [ arg3>=arg2 && arg3>-1 && arg1P_2<=arg1 && arg1>0 && arg1P_2>0 && arg2==arg2P_2 && 0==arg3P_2 && arg3==arg4P_2 ], cost: 1 2: f197_0_main_GT -> f117_0_main_GT : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, [ arg3>arg4 && arg4>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 && 1+arg2==arg2P_3 && arg4==arg3P_3 ], cost: 1 3: f197_0_main_GT -> f216_0_parts_GT : arg1'=arg1P_4, arg2'=arg2P_4, arg3'=arg3P_4, arg4'=arg4P_4, [ arg4>=arg2 && arg4>=arg3 && arg1>0 && arg3==arg1P_4 && arg2==arg2P_4 ], cost: 1 4: f197_0_main_GT -> f197_0_main_GT : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=arg4P_5, [ arg4>-1 && arg4>=arg3 && arg1P_5<=arg1 && arg1>0 && arg1P_5>0 && 0==arg2 && 0==arg2P_5 && 1+arg3==arg3P_5 && arg4==arg4P_5 ], cost: 1 5: f197_0_main_GT -> f197_0_main_GT : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=arg3P_6, arg4'=arg4P_6, [ arg4>=arg2 && arg4>-1 && arg1P_6<=arg1 && arg1>0 && arg1P_6>0 && 0==arg3 && arg2==arg2P_6 && 1==arg3P_6 && arg4==arg4P_6 ], cost: 1 7: f197_0_main_GT -> f197_0_main_GT : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, [ arg4>=arg2 && arg4>=arg3 && arg4>-1 && arg1P_8<=arg1 && arg1>0 && arg1P_8>0 && arg2==arg2P_8 && 1+arg3==arg3P_8 && arg4==arg4P_8 ], cost: 1 8: f216_0_parts_GT -> f216_0_parts_GT : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, [ arg2>0 && arg21 && arg2==arg1P_9 && arg2==arg2P_9 ], cost: 1 9: f216_0_parts_GT -> f216_0_parts_GT : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, [ arg2>0 && arg2>=arg1 && arg1>0 && arg1==arg1P_10 && arg2-arg1==arg2P_10 ], cost: 1 10: f216_0_parts_GT -> f409_0_parts_InvokeMethod : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, [ arg2>0 && arg1>0 && arg2-arg1==0 && arg2>=arg1 && arg1==arg1P_11 && arg2==arg2P_11 && -1+arg1==arg3P_11 ], cost: 1 12: f216_0_parts_GT -> f409_0_parts_InvokeMethod : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, [ arg2>0 && arg2>=arg1 && arg1>0 && arg1==arg1P_13 && arg2==arg2P_13 && -1+arg1==arg3P_13 ], cost: 1 14: f216_0_parts_GT -> f216_0_parts_GT : arg1'=arg1P_15, arg2'=arg2P_15, arg3'=arg3P_15, arg4'=arg4P_15, [ arg2>0 && arg1>1 && arg2>=arg1 && -1+arg10 && -1+arg1==arg1P_15 && arg2==arg2P_15 ], cost: 1 6: f310_0_parts_Return -> f197_0_main_GT : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, [ arg1P_7<=arg1 && arg4>-1 && arg1>0 && arg1P_7>0 && arg2==arg2P_7 && 1+arg3==arg3P_7 && arg4==arg4P_7 ], cost: 1 13: f409_0_parts_InvokeMethod -> f216_0_parts_GT : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=arg3P_14, arg4'=arg4P_14, [ arg2>0 && arg1>0 && x47_1>0 && arg3 f409_0_parts_InvokeMethod : arg1'=arg1P_12, arg2'=arg2P_12, arg3'=arg3P_12, arg4'=arg4P_12, [ arg2>0 && arg2==arg1P_12 && arg1==arg2P_12 && -1+arg2==arg3P_12 ], cost: 1 15: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P_16, arg2'=arg2P_16, arg3'=arg3P_16, arg4'=arg4P_16, [], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 15: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P_16, arg2'=arg2P_16, arg3'=arg3P_16, arg4'=arg4P_16, [], cost: 1 Removed unreachable and leaf rules: Start location: __init 0: f1_0_main_ConstantStackPush -> f117_0_main_GT : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, [ arg1P_1<=arg1 && arg2>-1 && arg1>0 && arg1P_1>0 && 0==arg2P_1 && arg2==arg3P_1 ], cost: 1 1: f117_0_main_GT -> f197_0_main_GT : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, [ arg3>=arg2 && arg3>-1 && arg1P_2<=arg1 && arg1>0 && arg1P_2>0 && arg2==arg2P_2 && 0==arg3P_2 && arg3==arg4P_2 ], cost: 1 2: f197_0_main_GT -> f117_0_main_GT : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, [ arg3>arg4 && arg4>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 && 1+arg2==arg2P_3 && arg4==arg3P_3 ], cost: 1 3: f197_0_main_GT -> f216_0_parts_GT : arg1'=arg1P_4, arg2'=arg2P_4, arg3'=arg3P_4, arg4'=arg4P_4, [ arg4>=arg2 && arg4>=arg3 && arg1>0 && arg3==arg1P_4 && arg2==arg2P_4 ], cost: 1 4: f197_0_main_GT -> f197_0_main_GT : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=arg4P_5, [ arg4>-1 && arg4>=arg3 && arg1P_5<=arg1 && arg1>0 && arg1P_5>0 && 0==arg2 && 0==arg2P_5 && 1+arg3==arg3P_5 && arg4==arg4P_5 ], cost: 1 5: f197_0_main_GT -> f197_0_main_GT : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=arg3P_6, arg4'=arg4P_6, [ arg4>=arg2 && arg4>-1 && arg1P_6<=arg1 && arg1>0 && arg1P_6>0 && 0==arg3 && arg2==arg2P_6 && 1==arg3P_6 && arg4==arg4P_6 ], cost: 1 7: f197_0_main_GT -> f197_0_main_GT : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, [ arg4>=arg2 && arg4>=arg3 && arg4>-1 && arg1P_8<=arg1 && arg1>0 && arg1P_8>0 && arg2==arg2P_8 && 1+arg3==arg3P_8 && arg4==arg4P_8 ], cost: 1 8: f216_0_parts_GT -> f216_0_parts_GT : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, [ arg2>0 && arg21 && arg2==arg1P_9 && arg2==arg2P_9 ], cost: 1 9: f216_0_parts_GT -> f216_0_parts_GT : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, [ arg2>0 && arg2>=arg1 && arg1>0 && arg1==arg1P_10 && arg2-arg1==arg2P_10 ], cost: 1 10: f216_0_parts_GT -> f409_0_parts_InvokeMethod : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, [ arg2>0 && arg1>0 && arg2-arg1==0 && arg2>=arg1 && arg1==arg1P_11 && arg2==arg2P_11 && -1+arg1==arg3P_11 ], cost: 1 12: f216_0_parts_GT -> f409_0_parts_InvokeMethod : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, [ arg2>0 && arg2>=arg1 && arg1>0 && arg1==arg1P_13 && arg2==arg2P_13 && -1+arg1==arg3P_13 ], cost: 1 14: f216_0_parts_GT -> f216_0_parts_GT : arg1'=arg1P_15, arg2'=arg2P_15, arg3'=arg3P_15, arg4'=arg4P_15, [ arg2>0 && arg1>1 && arg2>=arg1 && -1+arg10 && -1+arg1==arg1P_15 && arg2==arg2P_15 ], cost: 1 13: f409_0_parts_InvokeMethod -> f216_0_parts_GT : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=arg3P_14, arg4'=arg4P_14, [ arg2>0 && arg1>0 && x47_1>0 && arg3 f1_0_main_ConstantStackPush : arg1'=arg1P_16, arg2'=arg2P_16, arg3'=arg3P_16, arg4'=arg4P_16, [], cost: 1 Simplified all rules, resulting in: Start location: __init 0: f1_0_main_ConstantStackPush -> f117_0_main_GT : arg1'=arg1P_1, arg2'=0, arg3'=arg2, arg4'=arg4P_1, [ arg1P_1<=arg1 && arg2>-1 && arg1>0 && arg1P_1>0 ], cost: 1 1: f117_0_main_GT -> f197_0_main_GT : arg1'=arg1P_2, arg3'=0, arg4'=arg3, [ arg3>=arg2 && arg3>-1 && arg1P_2<=arg1 && arg1>0 && arg1P_2>0 ], cost: 1 2: f197_0_main_GT -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg4, arg4'=arg4P_3, [ arg3>arg4 && arg4>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 ], cost: 1 3: f197_0_main_GT -> f216_0_parts_GT : arg1'=arg3, arg3'=arg3P_4, arg4'=arg4P_4, [ arg4>=arg2 && arg4>=arg3 && arg1>0 ], cost: 1 4: f197_0_main_GT -> f197_0_main_GT : arg1'=arg1P_5, arg2'=0, arg3'=1+arg3, [ arg4>-1 && arg4>=arg3 && arg1P_5<=arg1 && arg1>0 && arg1P_5>0 && 0==arg2 ], cost: 1 5: f197_0_main_GT -> f197_0_main_GT : arg1'=arg1P_6, arg3'=1, [ arg4>=arg2 && arg4>-1 && arg1P_6<=arg1 && arg1>0 && arg1P_6>0 && 0==arg3 ], cost: 1 7: f197_0_main_GT -> f197_0_main_GT : arg1'=arg1P_8, arg3'=1+arg3, [ arg4>=arg2 && arg4>=arg3 && arg4>-1 && arg1P_8<=arg1 && arg1>0 && arg1P_8>0 ], cost: 1 8: f216_0_parts_GT -> f216_0_parts_GT : arg1'=arg2, arg3'=arg3P_9, arg4'=arg4P_9, [ arg2>0 && arg2 f216_0_parts_GT : arg2'=arg2-arg1, arg3'=arg3P_10, arg4'=arg4P_10, [ arg2>=arg1 && arg1>0 ], cost: 1 10: f216_0_parts_GT -> f409_0_parts_InvokeMethod : arg3'=-1+arg1, arg4'=arg4P_11, [ arg1>0 && arg2-arg1==0 ], cost: 1 12: f216_0_parts_GT -> f409_0_parts_InvokeMethod : arg3'=-1+arg1, arg4'=arg4P_13, [ arg2>=arg1 && arg1>0 ], cost: 1 14: f216_0_parts_GT -> f216_0_parts_GT : arg1'=-1+arg1, arg3'=arg3P_15, arg4'=arg4P_15, [ arg1>1 && arg2>=arg1 ], cost: 1 13: f409_0_parts_InvokeMethod -> f216_0_parts_GT : arg1'=arg3, arg3'=arg3P_14, arg4'=arg4P_14, [ arg2>0 && arg1>0 && arg3 f1_0_main_ConstantStackPush : arg1'=arg1P_16, arg2'=arg2P_16, arg3'=arg3P_16, arg4'=arg4P_16, [], cost: 1 ### Simplification by acceleration and chaining ### Accelerating simple loops of location 2. Accelerating the following rules: 4: f197_0_main_GT -> f197_0_main_GT : arg1'=arg1P_5, arg2'=0, arg3'=1+arg3, [ arg4>-1 && arg4>=arg3 && arg1P_5<=arg1 && arg1>0 && arg1P_5>0 && 0==arg2 ], cost: 1 5: f197_0_main_GT -> f197_0_main_GT : arg1'=arg1P_6, arg3'=1, [ arg4>=arg2 && arg4>-1 && arg1P_6<=arg1 && arg1>0 && arg1P_6>0 && 0==arg3 ], cost: 1 7: f197_0_main_GT -> f197_0_main_GT : arg1'=arg1P_8, arg3'=1+arg3, [ arg4>=arg2 && arg4>=arg3 && arg4>-1 && arg1P_8<=arg1 && arg1>0 && arg1P_8>0 ], cost: 1 Accelerated rule 4 with backward acceleration, yielding the new rule 16. Failed to prove monotonicity of the guard of rule 5. Accelerated rule 7 with backward acceleration, yielding the new rule 17. [accelerate] Nesting with 3 inner and 3 outer candidates Removing the simple loops: 4 7. Accelerating simple loops of location 3. Accelerating the following rules: 8: f216_0_parts_GT -> f216_0_parts_GT : arg1'=arg2, arg3'=arg3P_9, arg4'=arg4P_9, [ arg2>0 && arg2 f216_0_parts_GT : arg2'=arg2-arg1, arg3'=arg3P_10, arg4'=arg4P_10, [ arg2>=arg1 && arg1>0 ], cost: 1 14: f216_0_parts_GT -> f216_0_parts_GT : arg1'=-1+arg1, arg3'=arg3P_15, arg4'=arg4P_15, [ arg1>1 && arg2>=arg1 ], cost: 1 Failed to prove monotonicity of the guard of rule 8. Accelerated rule 9 with backward acceleration, yielding the new rule 18. Accelerated rule 14 with backward acceleration, yielding the new rule 19. [accelerate] Nesting with 3 inner and 3 outer candidates Removing the simple loops: 9 14. Accelerated all simple loops using metering functions (where possible): Start location: __init 0: f1_0_main_ConstantStackPush -> f117_0_main_GT : arg1'=arg1P_1, arg2'=0, arg3'=arg2, arg4'=arg4P_1, [ arg1P_1<=arg1 && arg2>-1 && arg1>0 && arg1P_1>0 ], cost: 1 1: f117_0_main_GT -> f197_0_main_GT : arg1'=arg1P_2, arg3'=0, arg4'=arg3, [ arg3>=arg2 && arg3>-1 && arg1P_2<=arg1 && arg1>0 && arg1P_2>0 ], cost: 1 2: f197_0_main_GT -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg4, arg4'=arg4P_3, [ arg3>arg4 && arg4>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 ], cost: 1 3: f197_0_main_GT -> f216_0_parts_GT : arg1'=arg3, arg3'=arg3P_4, arg4'=arg4P_4, [ arg4>=arg2 && arg4>=arg3 && arg1>0 ], cost: 1 5: f197_0_main_GT -> f197_0_main_GT : arg1'=arg1P_6, arg3'=1, [ arg4>=arg2 && arg4>-1 && arg1P_6<=arg1 && arg1>0 && arg1P_6>0 && 0==arg3 ], cost: 1 16: f197_0_main_GT -> f197_0_main_GT : arg1'=arg1P_5, arg2'=0, arg3'=1+arg4, [ arg4>-1 && arg1P_5<=arg1 && arg1>0 && arg1P_5>0 && 0==arg2 && 1-arg3+arg4>=1 ], cost: 1-arg3+arg4 17: f197_0_main_GT -> f197_0_main_GT : arg1'=arg1P_8, arg3'=1+arg4, [ arg4>=arg2 && arg4>-1 && arg1P_8<=arg1 && arg1>0 && arg1P_8>0 && 1-arg3+arg4>=1 ], cost: 1-arg3+arg4 8: f216_0_parts_GT -> f216_0_parts_GT : arg1'=arg2, arg3'=arg3P_9, arg4'=arg4P_9, [ arg2>0 && arg2 f409_0_parts_InvokeMethod : arg3'=-1+arg1, arg4'=arg4P_11, [ arg1>0 && arg2-arg1==0 ], cost: 1 12: f216_0_parts_GT -> f409_0_parts_InvokeMethod : arg3'=-1+arg1, arg4'=arg4P_13, [ arg2>=arg1 && arg1>0 ], cost: 1 18: f216_0_parts_GT -> f216_0_parts_GT : arg2'=-k_4*arg1+arg2, arg3'=arg3P_10, arg4'=arg4P_10, [ arg1>0 && k_4>=1 && arg2-(-1+k_4)*arg1>=arg1 ], cost: k_4 19: f216_0_parts_GT -> f216_0_parts_GT : arg1'=1, arg3'=arg3P_15, arg4'=arg4P_15, [ arg2>=arg1 && -1+arg1>=1 ], cost: -1+arg1 13: f409_0_parts_InvokeMethod -> f216_0_parts_GT : arg1'=arg3, arg3'=arg3P_14, arg4'=arg4P_14, [ arg2>0 && arg1>0 && arg3 f1_0_main_ConstantStackPush : arg1'=arg1P_16, arg2'=arg2P_16, arg3'=arg3P_16, arg4'=arg4P_16, [], cost: 1 Chained accelerated rules (with incoming rules): Start location: __init 0: f1_0_main_ConstantStackPush -> f117_0_main_GT : arg1'=arg1P_1, arg2'=0, arg3'=arg2, arg4'=arg4P_1, [ arg1P_1<=arg1 && arg2>-1 && arg1>0 && arg1P_1>0 ], cost: 1 1: f117_0_main_GT -> f197_0_main_GT : arg1'=arg1P_2, arg3'=0, arg4'=arg3, [ arg3>=arg2 && arg3>-1 && arg1P_2<=arg1 && arg1>0 && arg1P_2>0 ], cost: 1 20: f117_0_main_GT -> f197_0_main_GT : arg1'=arg1P_6, arg3'=1, arg4'=arg3, [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_6>0 && arg1P_6<=arg1 ], cost: 2 21: f117_0_main_GT -> f197_0_main_GT : arg1'=arg1P_5, arg2'=0, arg3'=1+arg3, arg4'=arg3, [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_5>0 && 0==arg2 && arg1P_5<=arg1 ], cost: 2+arg3 22: f117_0_main_GT -> f197_0_main_GT : arg1'=arg1P_8, arg3'=1+arg3, arg4'=arg3, [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_8>0 && arg1P_8<=arg1 ], cost: 2+arg3 2: f197_0_main_GT -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg4, arg4'=arg4P_3, [ arg3>arg4 && arg4>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 ], cost: 1 3: f197_0_main_GT -> f216_0_parts_GT : arg1'=arg3, arg3'=arg3P_4, arg4'=arg4P_4, [ arg4>=arg2 && arg4>=arg3 && arg1>0 ], cost: 1 23: f197_0_main_GT -> f216_0_parts_GT : arg1'=arg2, arg3'=arg3P_9, arg4'=arg4P_9, [ arg4>=arg2 && arg4>=arg3 && arg1>0 && arg2>0 && arg2 f216_0_parts_GT : arg1'=arg3, arg2'=arg2-k_4*arg3, arg3'=arg3P_10, arg4'=arg4P_10, [ arg4>=arg2 && arg4>=arg3 && arg1>0 && arg3>0 && k_4>=1 && arg2-(-1+k_4)*arg3>=arg3 ], cost: 1+k_4 27: f197_0_main_GT -> f216_0_parts_GT : arg1'=1, arg3'=arg3P_15, arg4'=arg4P_15, [ arg4>=arg2 && arg4>=arg3 && arg1>0 && arg2>=arg3 && -1+arg3>=1 ], cost: arg3 10: f216_0_parts_GT -> f409_0_parts_InvokeMethod : arg3'=-1+arg1, arg4'=arg4P_11, [ arg1>0 && arg2-arg1==0 ], cost: 1 12: f216_0_parts_GT -> f409_0_parts_InvokeMethod : arg3'=-1+arg1, arg4'=arg4P_13, [ arg2>=arg1 && arg1>0 ], cost: 1 13: f409_0_parts_InvokeMethod -> f216_0_parts_GT : arg1'=arg3, arg3'=arg3P_14, arg4'=arg4P_14, [ arg2>0 && arg1>0 && arg3 f216_0_parts_GT : arg1'=arg2, arg3'=arg3P_9, arg4'=arg4P_9, [ arg2>0 && arg1>0 && arg3 f216_0_parts_GT : arg1'=arg3, arg2'=arg2-k_4*arg3, arg3'=arg3P_10, arg4'=arg4P_10, [ arg2>0 && arg1>0 && arg30 && k_4>=1 && arg2-(-1+k_4)*arg3>=arg3 ], cost: 1+k_4 28: f409_0_parts_InvokeMethod -> f216_0_parts_GT : arg1'=1, arg3'=arg3P_15, arg4'=arg4P_15, [ arg2>0 && arg1>0 && arg3=arg3 && -1+arg3>=1 ], cost: arg3 15: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P_16, arg2'=arg2P_16, arg3'=arg3P_16, arg4'=arg4P_16, [], cost: 1 Eliminated locations (on linear paths): Start location: __init 1: f117_0_main_GT -> f197_0_main_GT : arg1'=arg1P_2, arg3'=0, arg4'=arg3, [ arg3>=arg2 && arg3>-1 && arg1P_2<=arg1 && arg1>0 && arg1P_2>0 ], cost: 1 20: f117_0_main_GT -> f197_0_main_GT : arg1'=arg1P_6, arg3'=1, arg4'=arg3, [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_6>0 && arg1P_6<=arg1 ], cost: 2 21: f117_0_main_GT -> f197_0_main_GT : arg1'=arg1P_5, arg2'=0, arg3'=1+arg3, arg4'=arg3, [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_5>0 && 0==arg2 && arg1P_5<=arg1 ], cost: 2+arg3 22: f117_0_main_GT -> f197_0_main_GT : arg1'=arg1P_8, arg3'=1+arg3, arg4'=arg3, [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_8>0 && arg1P_8<=arg1 ], cost: 2+arg3 2: f197_0_main_GT -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg4, arg4'=arg4P_3, [ arg3>arg4 && arg4>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 ], cost: 1 3: f197_0_main_GT -> f216_0_parts_GT : arg1'=arg3, arg3'=arg3P_4, arg4'=arg4P_4, [ arg4>=arg2 && arg4>=arg3 && arg1>0 ], cost: 1 23: f197_0_main_GT -> f216_0_parts_GT : arg1'=arg2, arg3'=arg3P_9, arg4'=arg4P_9, [ arg4>=arg2 && arg4>=arg3 && arg1>0 && arg2>0 && arg2 f216_0_parts_GT : arg1'=arg3, arg2'=arg2-k_4*arg3, arg3'=arg3P_10, arg4'=arg4P_10, [ arg4>=arg2 && arg4>=arg3 && arg1>0 && arg3>0 && k_4>=1 && arg2-(-1+k_4)*arg3>=arg3 ], cost: 1+k_4 27: f197_0_main_GT -> f216_0_parts_GT : arg1'=1, arg3'=arg3P_15, arg4'=arg4P_15, [ arg4>=arg2 && arg4>=arg3 && arg1>0 && arg2>=arg3 && -1+arg3>=1 ], cost: arg3 10: f216_0_parts_GT -> f409_0_parts_InvokeMethod : arg3'=-1+arg1, arg4'=arg4P_11, [ arg1>0 && arg2-arg1==0 ], cost: 1 12: f216_0_parts_GT -> f409_0_parts_InvokeMethod : arg3'=-1+arg1, arg4'=arg4P_13, [ arg2>=arg1 && arg1>0 ], cost: 1 13: f409_0_parts_InvokeMethod -> f216_0_parts_GT : arg1'=arg3, arg3'=arg3P_14, arg4'=arg4P_14, [ arg2>0 && arg1>0 && arg3 f216_0_parts_GT : arg1'=arg2, arg3'=arg3P_9, arg4'=arg4P_9, [ arg2>0 && arg1>0 && arg3 f216_0_parts_GT : arg1'=arg3, arg2'=arg2-k_4*arg3, arg3'=arg3P_10, arg4'=arg4P_10, [ arg2>0 && arg1>0 && arg30 && k_4>=1 && arg2-(-1+k_4)*arg3>=arg3 ], cost: 1+k_4 28: f409_0_parts_InvokeMethod -> f216_0_parts_GT : arg1'=1, arg3'=arg3P_15, arg4'=arg4P_15, [ arg2>0 && arg1>0 && arg3=arg3 && -1+arg3>=1 ], cost: arg3 29: __init -> f117_0_main_GT : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_16, arg4'=arg4P_1, [ arg1P_1<=arg1P_16 && arg2P_16>-1 && arg1P_16>0 && arg1P_1>0 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: __init 30: f117_0_main_GT -> f216_0_parts_GT : arg1'=0, arg3'=arg3P_4, arg4'=arg4P_4, [ arg3>=arg2 && arg3>-1 && arg1P_2<=arg1 && arg1>0 && arg1P_2>0 ], cost: 2 31: f117_0_main_GT -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg3, arg4'=arg4P_3, [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_6>0 && arg1P_6<=arg1 && 1>arg3 && arg1P_6>=arg1P_3 && arg1P_3>0 ], cost: 3 32: f117_0_main_GT -> f216_0_parts_GT : arg1'=1, arg3'=arg3P_4, arg4'=arg4P_4, [ arg3>=arg2 && arg1>0 && arg1P_6>0 && arg1P_6<=arg1 && arg3>=1 ], cost: 3 33: f117_0_main_GT -> f216_0_parts_GT : arg1'=1, arg2'=-k_4+arg2, arg3'=arg3P_10, arg4'=arg4P_10, [ arg3>=arg2 && arg1>0 && arg1P_6>0 && arg1P_6<=arg1 && arg3>=1 && k_4>=1 && 1-k_4+arg2>=1 ], cost: 3+k_4 34: f117_0_main_GT -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1, arg3'=arg3, arg4'=arg4P_3, [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_5>0 && 0==arg2 && arg1P_5<=arg1 && arg1P_5>=arg1P_3 && arg1P_3>0 ], cost: 3+arg3 35: f117_0_main_GT -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg3, arg4'=arg4P_3, [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_8>0 && arg1P_8<=arg1 && arg1P_8>=arg1P_3 && arg1P_3>0 ], cost: 3+arg3 36: f117_0_main_GT -> [10] : [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_5>0 && 0==arg2 && arg1P_5<=arg1 ], cost: 2+arg3 37: f117_0_main_GT -> [10] : [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_8>0 && arg1P_8<=arg1 ], cost: 2+arg3 38: f216_0_parts_GT -> f216_0_parts_GT : arg1'=-1+arg1, arg3'=arg3P_14, arg4'=arg4P_14, [ arg1>0 && arg2-arg1==0 && arg2>0 ], cost: 2 39: f216_0_parts_GT -> f216_0_parts_GT : arg1'=-1+arg1, arg2'=arg2-k_4*(-1+arg1), arg3'=arg3P_10, arg4'=arg4P_10, [ arg2-arg1==0 && arg2>0 && -1+arg1>0 && k_4>=1 && -(-1+k_4)*(-1+arg1)+arg2>=-1+arg1 ], cost: 2+k_4 40: f216_0_parts_GT -> f216_0_parts_GT : arg1'=1, arg3'=arg3P_15, arg4'=arg4P_15, [ arg2-arg1==0 && arg2>0 && -2+arg1>=1 ], cost: arg1 41: f216_0_parts_GT -> f216_0_parts_GT : arg1'=-1+arg1, arg3'=arg3P_14, arg4'=arg4P_14, [ arg2>=arg1 && arg1>0 && arg2>0 ], cost: 2 42: f216_0_parts_GT -> f216_0_parts_GT : arg1'=-1+arg1, arg2'=arg2-k_4*(-1+arg1), arg3'=arg3P_10, arg4'=arg4P_10, [ arg2>=arg1 && arg2>0 && -1+arg1>0 && k_4>=1 && -(-1+k_4)*(-1+arg1)+arg2>=-1+arg1 ], cost: 2+k_4 43: f216_0_parts_GT -> f216_0_parts_GT : arg1'=1, arg3'=arg3P_15, arg4'=arg4P_15, [ arg2>=arg1 && arg2>0 && -2+arg1>=1 ], cost: arg1 29: __init -> f117_0_main_GT : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_16, arg4'=arg4P_1, [ arg1P_1<=arg1P_16 && arg2P_16>-1 && arg1P_16>0 && arg1P_1>0 ], cost: 2 Applied pruning (of leafs and parallel rules): Start location: __init 30: f117_0_main_GT -> f216_0_parts_GT : arg1'=0, arg3'=arg3P_4, arg4'=arg4P_4, [ arg3>=arg2 && arg3>-1 && arg1P_2<=arg1 && arg1>0 && arg1P_2>0 ], cost: 2 31: f117_0_main_GT -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg3, arg4'=arg4P_3, [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_6>0 && arg1P_6<=arg1 && 1>arg3 && arg1P_6>=arg1P_3 && arg1P_3>0 ], cost: 3 32: f117_0_main_GT -> f216_0_parts_GT : arg1'=1, arg3'=arg3P_4, arg4'=arg4P_4, [ arg3>=arg2 && arg1>0 && arg1P_6>0 && arg1P_6<=arg1 && arg3>=1 ], cost: 3 33: f117_0_main_GT -> f216_0_parts_GT : arg1'=1, arg2'=-k_4+arg2, arg3'=arg3P_10, arg4'=arg4P_10, [ arg3>=arg2 && arg1>0 && arg1P_6>0 && arg1P_6<=arg1 && arg3>=1 && k_4>=1 && 1-k_4+arg2>=1 ], cost: 3+k_4 34: f117_0_main_GT -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1, arg3'=arg3, arg4'=arg4P_3, [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_5>0 && 0==arg2 && arg1P_5<=arg1 && arg1P_5>=arg1P_3 && arg1P_3>0 ], cost: 3+arg3 35: f117_0_main_GT -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg3, arg4'=arg4P_3, [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_8>0 && arg1P_8<=arg1 && arg1P_8>=arg1P_3 && arg1P_3>0 ], cost: 3+arg3 36: f117_0_main_GT -> [10] : [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_5>0 && 0==arg2 && arg1P_5<=arg1 ], cost: 2+arg3 37: f117_0_main_GT -> [10] : [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_8>0 && arg1P_8<=arg1 ], cost: 2+arg3 38: f216_0_parts_GT -> f216_0_parts_GT : arg1'=-1+arg1, arg3'=arg3P_14, arg4'=arg4P_14, [ arg1>0 && arg2-arg1==0 && arg2>0 ], cost: 2 39: f216_0_parts_GT -> f216_0_parts_GT : arg1'=-1+arg1, arg2'=arg2-k_4*(-1+arg1), arg3'=arg3P_10, arg4'=arg4P_10, [ arg2-arg1==0 && arg2>0 && -1+arg1>0 && k_4>=1 && -(-1+k_4)*(-1+arg1)+arg2>=-1+arg1 ], cost: 2+k_4 40: f216_0_parts_GT -> f216_0_parts_GT : arg1'=1, arg3'=arg3P_15, arg4'=arg4P_15, [ arg2-arg1==0 && arg2>0 && -2+arg1>=1 ], cost: arg1 42: f216_0_parts_GT -> f216_0_parts_GT : arg1'=-1+arg1, arg2'=arg2-k_4*(-1+arg1), arg3'=arg3P_10, arg4'=arg4P_10, [ arg2>=arg1 && arg2>0 && -1+arg1>0 && k_4>=1 && -(-1+k_4)*(-1+arg1)+arg2>=-1+arg1 ], cost: 2+k_4 43: f216_0_parts_GT -> f216_0_parts_GT : arg1'=1, arg3'=arg3P_15, arg4'=arg4P_15, [ arg2>=arg1 && arg2>0 && -2+arg1>=1 ], cost: arg1 29: __init -> f117_0_main_GT : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_16, arg4'=arg4P_1, [ arg1P_1<=arg1P_16 && arg2P_16>-1 && arg1P_16>0 && arg1P_1>0 ], cost: 2 Accelerating simple loops of location 1. Simplified some of the simple loops (and removed duplicate rules). Accelerating the following rules: 31: f117_0_main_GT -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1+arg2, arg4'=arg4P_3, [ arg3>=arg2 && -arg3==0 && arg1>0 && arg1P_3>0 && arg1P_3<=arg1 ], cost: 3 34: f117_0_main_GT -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1, arg4'=arg4P_3, [ arg3>=arg2 && arg3>-1 && arg1>0 && 0==arg2 && arg1P_3>0 && arg1P_3<=arg1 ], cost: 3+arg3 35: f117_0_main_GT -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1+arg2, arg4'=arg4P_3, [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_3>0 && arg1P_3<=arg1 ], cost: 3+arg3 Accelerated rule 31 with backward acceleration, yielding the new rule 44. Failed to prove monotonicity of the guard of rule 34. Accelerated rule 35 with backward acceleration, yielding the new rule 45. [accelerate] Nesting with 3 inner and 3 outer candidates Removing the simple loops: 31 35. Accelerating simple loops of location 3. Accelerating the following rules: 38: f216_0_parts_GT -> f216_0_parts_GT : arg1'=-1+arg1, arg3'=arg3P_14, arg4'=arg4P_14, [ arg1>0 && arg2-arg1==0 && arg2>0 ], cost: 2 39: f216_0_parts_GT -> f216_0_parts_GT : arg1'=-1+arg1, arg2'=arg2-k_4*(-1+arg1), arg3'=arg3P_10, arg4'=arg4P_10, [ arg2-arg1==0 && arg2>0 && -1+arg1>0 && k_4>=1 && -(-1+k_4)*(-1+arg1)+arg2>=-1+arg1 ], cost: 2+k_4 40: f216_0_parts_GT -> f216_0_parts_GT : arg1'=1, arg3'=arg3P_15, arg4'=arg4P_15, [ arg2-arg1==0 && arg2>0 && -2+arg1>=1 ], cost: arg1 42: f216_0_parts_GT -> f216_0_parts_GT : arg1'=-1+arg1, arg2'=arg2-k_4*(-1+arg1), arg3'=arg3P_10, arg4'=arg4P_10, [ arg2>=arg1 && arg2>0 && -1+arg1>0 && k_4>=1 && -(-1+k_4)*(-1+arg1)+arg2>=-1+arg1 ], cost: 2+k_4 43: f216_0_parts_GT -> f216_0_parts_GT : arg1'=1, arg3'=arg3P_15, arg4'=arg4P_15, [ arg2>=arg1 && arg2>0 && -2+arg1>=1 ], cost: arg1 Failed to prove monotonicity of the guard of rule 38. Failed to prove monotonicity of the guard of rule 39. Failed to prove monotonicity of the guard of rule 40. Accelerated rule 42 with backward acceleration, yielding the new rule 46. Failed to prove monotonicity of the guard of rule 43. [accelerate] Nesting with 5 inner and 5 outer candidates Removing the simple loops: 42. Accelerated all simple loops using metering functions (where possible): Start location: __init 30: f117_0_main_GT -> f216_0_parts_GT : arg1'=0, arg3'=arg3P_4, arg4'=arg4P_4, [ arg3>=arg2 && arg3>-1 && arg1P_2<=arg1 && arg1>0 && arg1P_2>0 ], cost: 2 32: f117_0_main_GT -> f216_0_parts_GT : arg1'=1, arg3'=arg3P_4, arg4'=arg4P_4, [ arg3>=arg2 && arg1>0 && arg1P_6>0 && arg1P_6<=arg1 && arg3>=1 ], cost: 3 33: f117_0_main_GT -> f216_0_parts_GT : arg1'=1, arg2'=-k_4+arg2, arg3'=arg3P_10, arg4'=arg4P_10, [ arg3>=arg2 && arg1>0 && arg1P_6>0 && arg1P_6<=arg1 && arg3>=1 && k_4>=1 && 1-k_4+arg2>=1 ], cost: 3+k_4 34: f117_0_main_GT -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1, arg4'=arg4P_3, [ arg3>=arg2 && arg3>-1 && arg1>0 && 0==arg2 && arg1P_3>0 && arg1P_3<=arg1 ], cost: 3+arg3 36: f117_0_main_GT -> [10] : [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_5>0 && 0==arg2 && arg1P_5<=arg1 ], cost: 2+arg3 37: f117_0_main_GT -> [10] : [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_8>0 && arg1P_8<=arg1 ], cost: 2+arg3 44: f117_0_main_GT -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1+arg3, arg4'=arg4P_3, [ -arg3==0 && arg1>0 && arg1P_3>0 && arg1P_3<=arg1 && 1-arg2+arg3>=1 ], cost: 3-3*arg2+3*arg3 45: f117_0_main_GT -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1+arg3, arg4'=arg4P_3, [ arg3>-1 && arg1>0 && arg1P_3>0 && arg1P_3<=arg1 && 1-arg2+arg3>=1 ], cost: 3-3*arg2+3*arg3-arg3*(-1+arg2-arg3) 38: f216_0_parts_GT -> f216_0_parts_GT : arg1'=-1+arg1, arg3'=arg3P_14, arg4'=arg4P_14, [ arg1>0 && arg2-arg1==0 && arg2>0 ], cost: 2 39: f216_0_parts_GT -> f216_0_parts_GT : arg1'=-1+arg1, arg2'=arg2-k_4*(-1+arg1), arg3'=arg3P_10, arg4'=arg4P_10, [ arg2-arg1==0 && arg2>0 && -1+arg1>0 && k_4>=1 && -(-1+k_4)*(-1+arg1)+arg2>=-1+arg1 ], cost: 2+k_4 40: f216_0_parts_GT -> f216_0_parts_GT : arg1'=1, arg3'=arg3P_15, arg4'=arg4P_15, [ arg2-arg1==0 && arg2>0 && -2+arg1>=1 ], cost: arg1 43: f216_0_parts_GT -> f216_0_parts_GT : arg1'=1, arg3'=arg3P_15, arg4'=arg4P_15, [ arg2>=arg1 && arg2>0 && -2+arg1>=1 ], cost: arg1 46: f216_0_parts_GT -> f216_0_parts_GT : arg1'=1, arg2'=arg2-k_4*(-1+arg1)*arg1+1/2*k_4*(-1+arg1)+1/2*k_4*(-1+arg1)^2, arg3'=arg3P_10, arg4'=arg4P_10, [ k_4>=1 && -1+arg1>=1 && 1/2*k_4*(-2+arg1)^2+arg2-k_4*(-2+arg1)*arg1+1/2*k_4*(-2+arg1)>=2 && 1-k_4+1/2*k_4*(-2+arg1)^2+arg2-k_4*(-2+arg1)*arg1+1/2*k_4*(-2+arg1)>=1 ], cost: -2+k_4*(-1+arg1)+2*arg1 29: __init -> f117_0_main_GT : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_16, arg4'=arg4P_1, [ arg1P_1<=arg1P_16 && arg2P_16>-1 && arg1P_16>0 && arg1P_1>0 ], cost: 2 Chained accelerated rules (with incoming rules): Start location: __init 30: f117_0_main_GT -> f216_0_parts_GT : arg1'=0, arg3'=arg3P_4, arg4'=arg4P_4, [ arg3>=arg2 && arg3>-1 && arg1P_2<=arg1 && arg1>0 && arg1P_2>0 ], cost: 2 32: f117_0_main_GT -> f216_0_parts_GT : arg1'=1, arg3'=arg3P_4, arg4'=arg4P_4, [ arg3>=arg2 && arg1>0 && arg1P_6>0 && arg1P_6<=arg1 && arg3>=1 ], cost: 3 33: f117_0_main_GT -> f216_0_parts_GT : arg1'=1, arg2'=-k_4+arg2, arg3'=arg3P_10, arg4'=arg4P_10, [ arg3>=arg2 && arg1>0 && arg1P_6>0 && arg1P_6<=arg1 && arg3>=1 && k_4>=1 && 1-k_4+arg2>=1 ], cost: 3+k_4 36: f117_0_main_GT -> [10] : [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_5>0 && 0==arg2 && arg1P_5<=arg1 ], cost: 2+arg3 37: f117_0_main_GT -> [10] : [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_8>0 && arg1P_8<=arg1 ], cost: 2+arg3 50: f117_0_main_GT -> f216_0_parts_GT : arg1'=0, arg3'=arg3P_14, arg4'=arg4P_14, [ arg3>=arg2 && arg1>0 && arg3>=1 && -1+arg2==0 ], cost: 5 51: f117_0_main_GT -> f216_0_parts_GT : arg1'=0, arg2'=1, arg3'=arg3P_14, arg4'=arg4P_14, [ arg3>=arg2 && arg1>0 && arg3>=1 && -1+arg2>=1 ], cost: 4+arg2 29: __init -> f117_0_main_GT : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_16, arg4'=arg4P_1, [ arg1P_1<=arg1P_16 && arg2P_16>-1 && arg1P_16>0 && arg1P_1>0 ], cost: 2 47: __init -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1, arg3'=arg2P_16, arg4'=arg4P_3, [ arg2P_16>-1 && arg1P_3>0 ], cost: 5+arg2P_16 48: __init -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1, arg3'=0, arg4'=arg4P_3, [ arg1P_3>0 ], cost: 5 49: __init -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1+arg2P_16, arg3'=arg2P_16, arg4'=arg4P_3, [ arg2P_16>-1 && arg1P_3>0 ], cost: 5+3*arg2P_16+arg2P_16*(1+arg2P_16) Removed unreachable locations (and leaf rules with constant cost): Start location: __init 33: f117_0_main_GT -> f216_0_parts_GT : arg1'=1, arg2'=-k_4+arg2, arg3'=arg3P_10, arg4'=arg4P_10, [ arg3>=arg2 && arg1>0 && arg1P_6>0 && arg1P_6<=arg1 && arg3>=1 && k_4>=1 && 1-k_4+arg2>=1 ], cost: 3+k_4 36: f117_0_main_GT -> [10] : [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_5>0 && 0==arg2 && arg1P_5<=arg1 ], cost: 2+arg3 37: f117_0_main_GT -> [10] : [ arg3>=arg2 && arg3>-1 && arg1>0 && arg1P_8>0 && arg1P_8<=arg1 ], cost: 2+arg3 51: f117_0_main_GT -> f216_0_parts_GT : arg1'=0, arg2'=1, arg3'=arg3P_14, arg4'=arg4P_14, [ arg3>=arg2 && arg1>0 && arg3>=1 && -1+arg2>=1 ], cost: 4+arg2 29: __init -> f117_0_main_GT : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_16, arg4'=arg4P_1, [ arg1P_1<=arg1P_16 && arg2P_16>-1 && arg1P_16>0 && arg1P_1>0 ], cost: 2 47: __init -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1, arg3'=arg2P_16, arg4'=arg4P_3, [ arg2P_16>-1 && arg1P_3>0 ], cost: 5+arg2P_16 48: __init -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1, arg3'=0, arg4'=arg4P_3, [ arg1P_3>0 ], cost: 5 49: __init -> f117_0_main_GT : arg1'=arg1P_3, arg2'=1+arg2P_16, arg3'=arg2P_16, arg4'=arg4P_3, [ arg2P_16>-1 && arg1P_3>0 ], cost: 5+3*arg2P_16+arg2P_16*(1+arg2P_16) Eliminated locations (on tree-shaped paths): Start location: __init 52: __init -> [10] : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_16, arg4'=arg4P_1, [ arg1P_1<=arg1P_16 && arg2P_16>-1 && arg1P_16>0 && arg1P_1>0 && arg1P_5>0 && arg1P_5<=arg1P_1 ], cost: 4+arg2P_16 53: __init -> [10] : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_16, arg4'=arg4P_1, [ arg1P_1<=arg1P_16 && arg2P_16>-1 && arg1P_16>0 && arg1P_1>0 && arg1P_8>0 && arg1P_8<=arg1P_1 ], cost: 4+arg2P_16 54: __init -> f216_0_parts_GT : arg1'=1, arg2'=1-k_4, arg3'=arg3P_10, arg4'=arg4P_10, [ arg1P_3>0 && arg2P_16>=1 && arg1P_6>0 && arg1P_6<=arg1P_3 && k_4>=1 && 2-k_4>=1 ], cost: 8+k_4+arg2P_16 55: __init -> [10] : arg1'=arg1P_3, arg2'=1, arg3'=arg2P_16, arg4'=arg4P_3, [ arg1P_3>0 && arg2P_16>=1 && arg1P_8>0 && arg1P_8<=arg1P_3 ], cost: 7+2*arg2P_16 56: __init -> [13] : [ arg2P_16>-1 && arg1P_3>0 ], cost: 5+arg2P_16 57: __init -> [13] : [ arg2P_16>-1 && arg1P_3>0 ], cost: 5+3*arg2P_16+arg2P_16*(1+arg2P_16) ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: __init 52: __init -> [10] : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_16, arg4'=arg4P_1, [ arg1P_1<=arg1P_16 && arg2P_16>-1 && arg1P_16>0 && arg1P_1>0 && arg1P_5>0 && arg1P_5<=arg1P_1 ], cost: 4+arg2P_16 53: __init -> [10] : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_16, arg4'=arg4P_1, [ arg1P_1<=arg1P_16 && arg2P_16>-1 && arg1P_16>0 && arg1P_1>0 && arg1P_8>0 && arg1P_8<=arg1P_1 ], cost: 4+arg2P_16 54: __init -> f216_0_parts_GT : arg1'=1, arg2'=1-k_4, arg3'=arg3P_10, arg4'=arg4P_10, [ arg1P_3>0 && arg2P_16>=1 && arg1P_6>0 && arg1P_6<=arg1P_3 && k_4>=1 && 2-k_4>=1 ], cost: 8+k_4+arg2P_16 55: __init -> [10] : arg1'=arg1P_3, arg2'=1, arg3'=arg2P_16, arg4'=arg4P_3, [ arg1P_3>0 && arg2P_16>=1 && arg1P_8>0 && arg1P_8<=arg1P_3 ], cost: 7+2*arg2P_16 56: __init -> [13] : [ arg2P_16>-1 && arg1P_3>0 ], cost: 5+arg2P_16 57: __init -> [13] : [ arg2P_16>-1 && arg1P_3>0 ], cost: 5+3*arg2P_16+arg2P_16*(1+arg2P_16) Computing asymptotic complexity for rule 57 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 56 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 55 Simplified the guard: 55: __init -> [10] : arg1'=arg1P_3, arg2'=1, arg3'=arg2P_16, arg4'=arg4P_3, [ arg2P_16>=1 && arg1P_8>0 && arg1P_8<=arg1P_3 ], cost: 7+2*arg2P_16 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 52 Simplified the guard: 52: __init -> [10] : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_16, arg4'=arg4P_1, [ arg1P_1<=arg1P_16 && arg2P_16>-1 && arg1P_16>0 && arg1P_5>0 && arg1P_5<=arg1P_1 ], cost: 4+arg2P_16 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 53 Simplified the guard: 53: __init -> [10] : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_16, arg4'=arg4P_1, [ arg1P_1<=arg1P_16 && arg2P_16>-1 && arg1P_16>0 && arg1P_8>0 && arg1P_8<=arg1P_1 ], cost: 4+arg2P_16 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 54 Simplified the guard: 54: __init -> f216_0_parts_GT : arg1'=1, arg2'=1-k_4, arg3'=arg3P_10, arg4'=arg4P_10, [ arg2P_16>=1 && arg1P_6>0 && arg1P_6<=arg1P_3 && k_4>=1 && 2-k_4>=1 ], cost: 8+k_4+arg2P_16 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),?)