WORST_CASE(Omega(1),?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: __init 0: f1_0_main_ConstantStackPush -> f101_0_main_GE : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, arg7'=arg7P_1, arg8'=arg8P_1, arg9'=arg9P_1, [ arg1P_1<=arg1 && arg2>-1 && arg1>0 && arg1P_1>0 && 0==arg2P_1 && arg2==arg3P_1 ], cost: 1 1: f101_0_main_GE -> f255_0_main_GE : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, arg5'=arg5P_2, arg6'=arg6P_2, arg7'=arg7P_2, arg8'=arg8P_2, arg9'=arg9P_2, [ arg1P_2<=arg1 && arg3>arg2 && arg1>0 && arg1P_2>0 && arg2==arg2P_2 && 0==arg3P_2 && 2*arg2==arg4P_2 && arg3==arg5P_2 ], cost: 1 2: f255_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg3>=arg4 && arg5>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 && 1+arg2==arg2P_3 && arg5==arg3P_3 ], cost: 1 3: f255_0_main_GE -> f292_0_main_LT : arg1'=arg1P_4, arg2'=arg2P_4, arg3'=arg3P_4, arg4'=arg4P_4, arg5'=arg5P_4, arg6'=arg6P_4, arg7'=arg7P_4, arg8'=arg8P_4, arg9'=arg9P_4, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1P_4<=arg1 && arg1>0 && arg1P_4>0 && arg2==arg2P_4 && arg4==arg3P_4 && arg3==arg4P_4 && arg2+arg3==arg5P_4 && arg5==arg6P_4 ], cost: 1 4: f292_0_main_LT -> f255_0_main_GE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=arg4P_5, arg5'=arg5P_5, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg1P_5<=arg1 && arg5<0 && arg1>0 && arg1P_5>0 && arg2==arg2P_5 && 1+arg4==arg3P_5 && arg3==arg4P_5 && arg6==arg5P_5 ], cost: 1 5: f292_0_main_LT -> f422_0_main_GE : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, arg6'=arg6P_6, arg7'=arg7P_6, arg8'=arg8P_6, arg9'=arg9P_6, [ 3*arg4>=0 && arg5>-1 && 2*arg2>=0 && 2*arg2+3*arg4>=0 && 4*arg5>=0 && arg1P_6<=arg1 && arg1>0 && arg1P_6>0 && arg2==arg2P_6 && arg3==arg3P_6 && arg4==arg4P_6 && arg5==arg5P_6 && 0==arg6P_6 && 4*arg5+2*arg2+3*arg4==arg7P_6 && arg6==arg8P_6 ], cost: 1 6: f422_0_main_GE -> f292_0_main_LT : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, arg5'=arg5P_7, arg6'=arg6P_7, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ arg1P_7<=arg1 && arg7<=arg6 && arg1>0 && arg1P_7>0 && arg2==arg2P_7 && arg3==arg3P_7 && arg4==arg4P_7 && -1+arg5==arg5P_7 && arg8==arg6P_7 ], cost: 1 7: f422_0_main_GE -> f448_0_main_LT : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, arg5'=arg5P_8, arg6'=arg6P_8, arg7'=arg7P_8, arg8'=arg8P_8, arg9'=arg9P_8, [ 100*arg4>=0 && arg7>arg6 && 1000*arg2>=0 && 10*arg5>=0 && 1000*arg2+100*arg4>=0 && 10*arg5+1000*arg2+100*arg4>=0 && arg6>-1 && arg1P_8<=arg1 && arg1>0 && arg1P_8>0 && arg2==arg2P_8 && arg3==arg3P_8 && arg4==arg4P_8 && arg5==arg5P_8 && arg7==arg6P_8 && arg6==arg7P_8 && 10*arg5+1000*arg2+arg6+100*arg4==arg8P_8 && arg8==arg9P_8 ], cost: 1 8: f448_0_main_LT -> f422_0_main_GE : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, arg5'=arg5P_9, arg6'=arg6P_9, arg7'=arg7P_9, arg8'=arg8P_9, arg9'=arg9P_9, [ arg1P_9<=arg1 && arg8<0 && arg1>0 && arg1P_9>0 && arg2==arg2P_9 && arg3==arg3P_9 && arg4==arg4P_9 && arg5==arg5P_9 && 1+arg7==arg6P_9 && arg6==arg7P_9 && arg9==arg8P_9 ], cost: 1 9: f448_0_main_LT -> f448_0_main_LT : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, arg6'=arg6P_10, arg7'=arg7P_10, arg8'=arg8P_10, arg9'=arg9P_10, [ arg1P_10<=arg1 && arg8>-1 && arg1>0 && arg1P_10>0 && arg2==arg2P_10 && arg3==arg3P_10 && arg4==arg4P_10 && arg5==arg5P_10 && arg6==arg6P_10 && arg7==arg7P_10 && -1+arg8==arg8P_10 && arg9==arg9P_10 ], cost: 1 10: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, arg6'=arg6P_11, arg7'=arg7P_11, arg8'=arg8P_11, arg9'=arg9P_11, [], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 10: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, arg6'=arg6P_11, arg7'=arg7P_11, arg8'=arg8P_11, arg9'=arg9P_11, [], cost: 1 Simplified all rules, resulting in: Start location: __init 0: f1_0_main_ConstantStackPush -> f101_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=arg2, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, arg7'=arg7P_1, arg8'=arg8P_1, arg9'=arg9P_1, [ arg1P_1<=arg1 && arg2>-1 && arg1>0 && arg1P_1>0 ], cost: 1 1: f101_0_main_GE -> f255_0_main_GE : arg1'=arg1P_2, arg3'=0, arg4'=2*arg2, arg5'=arg3, arg6'=arg6P_2, arg7'=arg7P_2, arg8'=arg8P_2, arg9'=arg9P_2, [ arg1P_2<=arg1 && arg3>arg2 && arg1>0 && arg1P_2>0 ], cost: 1 2: f255_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg3>=arg4 && arg5>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 ], cost: 1 3: f255_0_main_GE -> f292_0_main_LT : arg1'=arg1P_4, arg3'=arg4, arg4'=arg3, arg5'=arg2+arg3, arg6'=arg5, arg7'=arg7P_4, arg8'=arg8P_4, arg9'=arg9P_4, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1P_4<=arg1 && arg1>0 && arg1P_4>0 ], cost: 1 4: f292_0_main_LT -> f255_0_main_GE : arg1'=arg1P_5, arg3'=1+arg4, arg4'=arg3, arg5'=arg6, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg1P_5<=arg1 && arg5<0 && arg1>0 && arg1P_5>0 ], cost: 1 5: f292_0_main_LT -> f422_0_main_GE : arg1'=arg1P_6, arg6'=0, arg7'=4*arg5+2*arg2+3*arg4, arg8'=arg6, arg9'=arg9P_6, [ 3*arg4>=0 && arg5>-1 && 2*arg2>=0 && arg1P_6<=arg1 && arg1>0 && arg1P_6>0 ], cost: 1 6: f422_0_main_GE -> f292_0_main_LT : arg1'=arg1P_7, arg5'=-1+arg5, arg6'=arg8, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ arg1P_7<=arg1 && arg7<=arg6 && arg1>0 && arg1P_7>0 ], cost: 1 7: f422_0_main_GE -> f448_0_main_LT : arg1'=arg1P_8, arg6'=arg7, arg7'=arg6, arg8'=10*arg5+1000*arg2+arg6+100*arg4, arg9'=arg8, [ 100*arg4>=0 && arg7>arg6 && 1000*arg2>=0 && 10*arg5>=0 && arg6>-1 && arg1P_8<=arg1 && arg1>0 && arg1P_8>0 ], cost: 1 8: f448_0_main_LT -> f422_0_main_GE : arg1'=arg1P_9, arg6'=1+arg7, arg7'=arg6, arg8'=arg9, arg9'=arg9P_9, [ arg1P_9<=arg1 && arg8<0 && arg1>0 && arg1P_9>0 ], cost: 1 9: f448_0_main_LT -> f448_0_main_LT : arg1'=arg1P_10, arg8'=-1+arg8, [ arg1P_10<=arg1 && arg8>-1 && arg1>0 && arg1P_10>0 ], cost: 1 10: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, arg6'=arg6P_11, arg7'=arg7P_11, arg8'=arg8P_11, arg9'=arg9P_11, [], cost: 1 ### Simplification by acceleration and chaining ### Accelerating simple loops of location 5. Accelerating the following rules: 9: f448_0_main_LT -> f448_0_main_LT : arg1'=arg1P_10, arg8'=-1+arg8, [ arg1P_10<=arg1 && arg8>-1 && arg1>0 && arg1P_10>0 ], cost: 1 Accelerated rule 9 with backward acceleration, yielding the new rule 11. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 9. Accelerated all simple loops using metering functions (where possible): Start location: __init 0: f1_0_main_ConstantStackPush -> f101_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=arg2, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, arg7'=arg7P_1, arg8'=arg8P_1, arg9'=arg9P_1, [ arg1P_1<=arg1 && arg2>-1 && arg1>0 && arg1P_1>0 ], cost: 1 1: f101_0_main_GE -> f255_0_main_GE : arg1'=arg1P_2, arg3'=0, arg4'=2*arg2, arg5'=arg3, arg6'=arg6P_2, arg7'=arg7P_2, arg8'=arg8P_2, arg9'=arg9P_2, [ arg1P_2<=arg1 && arg3>arg2 && arg1>0 && arg1P_2>0 ], cost: 1 2: f255_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg3>=arg4 && arg5>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 ], cost: 1 3: f255_0_main_GE -> f292_0_main_LT : arg1'=arg1P_4, arg3'=arg4, arg4'=arg3, arg5'=arg2+arg3, arg6'=arg5, arg7'=arg7P_4, arg8'=arg8P_4, arg9'=arg9P_4, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1P_4<=arg1 && arg1>0 && arg1P_4>0 ], cost: 1 4: f292_0_main_LT -> f255_0_main_GE : arg1'=arg1P_5, arg3'=1+arg4, arg4'=arg3, arg5'=arg6, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg1P_5<=arg1 && arg5<0 && arg1>0 && arg1P_5>0 ], cost: 1 5: f292_0_main_LT -> f422_0_main_GE : arg1'=arg1P_6, arg6'=0, arg7'=4*arg5+2*arg2+3*arg4, arg8'=arg6, arg9'=arg9P_6, [ 3*arg4>=0 && arg5>-1 && 2*arg2>=0 && arg1P_6<=arg1 && arg1>0 && arg1P_6>0 ], cost: 1 6: f422_0_main_GE -> f292_0_main_LT : arg1'=arg1P_7, arg5'=-1+arg5, arg6'=arg8, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ arg1P_7<=arg1 && arg7<=arg6 && arg1>0 && arg1P_7>0 ], cost: 1 7: f422_0_main_GE -> f448_0_main_LT : arg1'=arg1P_8, arg6'=arg7, arg7'=arg6, arg8'=10*arg5+1000*arg2+arg6+100*arg4, arg9'=arg8, [ 100*arg4>=0 && arg7>arg6 && 1000*arg2>=0 && 10*arg5>=0 && arg6>-1 && arg1P_8<=arg1 && arg1>0 && arg1P_8>0 ], cost: 1 8: f448_0_main_LT -> f422_0_main_GE : arg1'=arg1P_9, arg6'=1+arg7, arg7'=arg6, arg8'=arg9, arg9'=arg9P_9, [ arg1P_9<=arg1 && arg8<0 && arg1>0 && arg1P_9>0 ], cost: 1 11: f448_0_main_LT -> f448_0_main_LT : arg1'=arg1P_10, arg8'=-1, [ arg1P_10<=arg1 && arg1>0 && arg1P_10>0 && 1+arg8>=1 ], cost: 1+arg8 10: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, arg6'=arg6P_11, arg7'=arg7P_11, arg8'=arg8P_11, arg9'=arg9P_11, [], cost: 1 Chained accelerated rules (with incoming rules): Start location: __init 0: f1_0_main_ConstantStackPush -> f101_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=arg2, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, arg7'=arg7P_1, arg8'=arg8P_1, arg9'=arg9P_1, [ arg1P_1<=arg1 && arg2>-1 && arg1>0 && arg1P_1>0 ], cost: 1 1: f101_0_main_GE -> f255_0_main_GE : arg1'=arg1P_2, arg3'=0, arg4'=2*arg2, arg5'=arg3, arg6'=arg6P_2, arg7'=arg7P_2, arg8'=arg8P_2, arg9'=arg9P_2, [ arg1P_2<=arg1 && arg3>arg2 && arg1>0 && arg1P_2>0 ], cost: 1 2: f255_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg3>=arg4 && arg5>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 ], cost: 1 3: f255_0_main_GE -> f292_0_main_LT : arg1'=arg1P_4, arg3'=arg4, arg4'=arg3, arg5'=arg2+arg3, arg6'=arg5, arg7'=arg7P_4, arg8'=arg8P_4, arg9'=arg9P_4, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1P_4<=arg1 && arg1>0 && arg1P_4>0 ], cost: 1 4: f292_0_main_LT -> f255_0_main_GE : arg1'=arg1P_5, arg3'=1+arg4, arg4'=arg3, arg5'=arg6, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg1P_5<=arg1 && arg5<0 && arg1>0 && arg1P_5>0 ], cost: 1 5: f292_0_main_LT -> f422_0_main_GE : arg1'=arg1P_6, arg6'=0, arg7'=4*arg5+2*arg2+3*arg4, arg8'=arg6, arg9'=arg9P_6, [ 3*arg4>=0 && arg5>-1 && 2*arg2>=0 && arg1P_6<=arg1 && arg1>0 && arg1P_6>0 ], cost: 1 6: f422_0_main_GE -> f292_0_main_LT : arg1'=arg1P_7, arg5'=-1+arg5, arg6'=arg8, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ arg1P_7<=arg1 && arg7<=arg6 && arg1>0 && arg1P_7>0 ], cost: 1 7: f422_0_main_GE -> f448_0_main_LT : arg1'=arg1P_8, arg6'=arg7, arg7'=arg6, arg8'=10*arg5+1000*arg2+arg6+100*arg4, arg9'=arg8, [ 100*arg4>=0 && arg7>arg6 && 1000*arg2>=0 && 10*arg5>=0 && arg6>-1 && arg1P_8<=arg1 && arg1>0 && arg1P_8>0 ], cost: 1 12: f422_0_main_GE -> f448_0_main_LT : arg1'=arg1P_10, arg6'=arg7, arg7'=arg6, arg8'=-1, arg9'=arg8, [ 100*arg4>=0 && arg7>arg6 && 1000*arg2>=0 && 10*arg5>=0 && arg6>-1 && arg1>0 && arg1P_10>0 && 1+10*arg5+1000*arg2+arg6+100*arg4>=1 && arg1P_10<=arg1 ], cost: 2+10*arg5+1000*arg2+arg6+100*arg4 8: f448_0_main_LT -> f422_0_main_GE : arg1'=arg1P_9, arg6'=1+arg7, arg7'=arg6, arg8'=arg9, arg9'=arg9P_9, [ arg1P_9<=arg1 && arg8<0 && arg1>0 && arg1P_9>0 ], cost: 1 10: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, arg6'=arg6P_11, arg7'=arg7P_11, arg8'=arg8P_11, arg9'=arg9P_11, [], cost: 1 Eliminated locations (on linear paths): Start location: __init 1: f101_0_main_GE -> f255_0_main_GE : arg1'=arg1P_2, arg3'=0, arg4'=2*arg2, arg5'=arg3, arg6'=arg6P_2, arg7'=arg7P_2, arg8'=arg8P_2, arg9'=arg9P_2, [ arg1P_2<=arg1 && arg3>arg2 && arg1>0 && arg1P_2>0 ], cost: 1 2: f255_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg3>=arg4 && arg5>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 ], cost: 1 3: f255_0_main_GE -> f292_0_main_LT : arg1'=arg1P_4, arg3'=arg4, arg4'=arg3, arg5'=arg2+arg3, arg6'=arg5, arg7'=arg7P_4, arg8'=arg8P_4, arg9'=arg9P_4, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1P_4<=arg1 && arg1>0 && arg1P_4>0 ], cost: 1 4: f292_0_main_LT -> f255_0_main_GE : arg1'=arg1P_5, arg3'=1+arg4, arg4'=arg3, arg5'=arg6, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg1P_5<=arg1 && arg5<0 && arg1>0 && arg1P_5>0 ], cost: 1 5: f292_0_main_LT -> f422_0_main_GE : arg1'=arg1P_6, arg6'=0, arg7'=4*arg5+2*arg2+3*arg4, arg8'=arg6, arg9'=arg9P_6, [ 3*arg4>=0 && arg5>-1 && 2*arg2>=0 && arg1P_6<=arg1 && arg1>0 && arg1P_6>0 ], cost: 1 6: f422_0_main_GE -> f292_0_main_LT : arg1'=arg1P_7, arg5'=-1+arg5, arg6'=arg8, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ arg1P_7<=arg1 && arg7<=arg6 && arg1>0 && arg1P_7>0 ], cost: 1 7: f422_0_main_GE -> f448_0_main_LT : arg1'=arg1P_8, arg6'=arg7, arg7'=arg6, arg8'=10*arg5+1000*arg2+arg6+100*arg4, arg9'=arg8, [ 100*arg4>=0 && arg7>arg6 && 1000*arg2>=0 && 10*arg5>=0 && arg6>-1 && arg1P_8<=arg1 && arg1>0 && arg1P_8>0 ], cost: 1 12: f422_0_main_GE -> f448_0_main_LT : arg1'=arg1P_10, arg6'=arg7, arg7'=arg6, arg8'=-1, arg9'=arg8, [ 100*arg4>=0 && arg7>arg6 && 1000*arg2>=0 && 10*arg5>=0 && arg6>-1 && arg1>0 && arg1P_10>0 && 1+10*arg5+1000*arg2+arg6+100*arg4>=1 && arg1P_10<=arg1 ], cost: 2+10*arg5+1000*arg2+arg6+100*arg4 8: f448_0_main_LT -> f422_0_main_GE : arg1'=arg1P_9, arg6'=1+arg7, arg7'=arg6, arg8'=arg9, arg9'=arg9P_9, [ arg1P_9<=arg1 && arg8<0 && arg1>0 && arg1P_9>0 ], cost: 1 13: __init -> f101_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_11, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, arg7'=arg7P_1, arg8'=arg8P_1, arg9'=arg9P_1, [ arg1P_1<=arg1P_11 && arg2P_11>-1 && arg1P_11>0 && arg1P_1>0 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: __init 1: f101_0_main_GE -> f255_0_main_GE : arg1'=arg1P_2, arg3'=0, arg4'=2*arg2, arg5'=arg3, arg6'=arg6P_2, arg7'=arg7P_2, arg8'=arg8P_2, arg9'=arg9P_2, [ arg1P_2<=arg1 && arg3>arg2 && arg1>0 && arg1P_2>0 ], cost: 1 2: f255_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg3>=arg4 && arg5>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 ], cost: 1 3: f255_0_main_GE -> f292_0_main_LT : arg1'=arg1P_4, arg3'=arg4, arg4'=arg3, arg5'=arg2+arg3, arg6'=arg5, arg7'=arg7P_4, arg8'=arg8P_4, arg9'=arg9P_4, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1P_4<=arg1 && arg1>0 && arg1P_4>0 ], cost: 1 4: f292_0_main_LT -> f255_0_main_GE : arg1'=arg1P_5, arg3'=1+arg4, arg4'=arg3, arg5'=arg6, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg1P_5<=arg1 && arg5<0 && arg1>0 && arg1P_5>0 ], cost: 1 5: f292_0_main_LT -> f422_0_main_GE : arg1'=arg1P_6, arg6'=0, arg7'=4*arg5+2*arg2+3*arg4, arg8'=arg6, arg9'=arg9P_6, [ 3*arg4>=0 && arg5>-1 && 2*arg2>=0 && arg1P_6<=arg1 && arg1>0 && arg1P_6>0 ], cost: 1 6: f422_0_main_GE -> f292_0_main_LT : arg1'=arg1P_7, arg5'=-1+arg5, arg6'=arg8, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ arg1P_7<=arg1 && arg7<=arg6 && arg1>0 && arg1P_7>0 ], cost: 1 14: f422_0_main_GE -> f422_0_main_GE : arg1'=arg1P_9, arg6'=1+arg6, arg7'=arg7, arg8'=arg8, arg9'=arg9P_9, [ 100*arg4>=0 && arg7>arg6 && 1000*arg2>=0 && 10*arg5>=0 && arg6>-1 && arg1>0 && arg1P_10>0 && 1+10*arg5+1000*arg2+arg6+100*arg4>=1 && arg1P_10<=arg1 && arg1P_9<=arg1P_10 && arg1P_9>0 ], cost: 3+10*arg5+1000*arg2+arg6+100*arg4 13: __init -> f101_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_11, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, arg7'=arg7P_1, arg8'=arg8P_1, arg9'=arg9P_1, [ arg1P_1<=arg1P_11 && arg2P_11>-1 && arg1P_11>0 && arg1P_1>0 ], cost: 2 Accelerating simple loops of location 4. Simplified some of the simple loops (and removed duplicate rules). Accelerating the following rules: 14: f422_0_main_GE -> f422_0_main_GE : arg1'=arg1P_9, arg6'=1+arg6, arg9'=arg9P_9, [ 100*arg4>=0 && arg7>arg6 && 1000*arg2>=0 && 10*arg5>=0 && arg6>-1 && arg1>0 && 1+10*arg5+1000*arg2+arg6+100*arg4>=1 && arg1P_9>0 && arg1P_9<=arg1 ], cost: 3+10*arg5+1000*arg2+arg6+100*arg4 Accelerated rule 14 with backward acceleration, yielding the new rule 15. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 14. Accelerated all simple loops using metering functions (where possible): Start location: __init 1: f101_0_main_GE -> f255_0_main_GE : arg1'=arg1P_2, arg3'=0, arg4'=2*arg2, arg5'=arg3, arg6'=arg6P_2, arg7'=arg7P_2, arg8'=arg8P_2, arg9'=arg9P_2, [ arg1P_2<=arg1 && arg3>arg2 && arg1>0 && arg1P_2>0 ], cost: 1 2: f255_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg3>=arg4 && arg5>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 ], cost: 1 3: f255_0_main_GE -> f292_0_main_LT : arg1'=arg1P_4, arg3'=arg4, arg4'=arg3, arg5'=arg2+arg3, arg6'=arg5, arg7'=arg7P_4, arg8'=arg8P_4, arg9'=arg9P_4, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1P_4<=arg1 && arg1>0 && arg1P_4>0 ], cost: 1 4: f292_0_main_LT -> f255_0_main_GE : arg1'=arg1P_5, arg3'=1+arg4, arg4'=arg3, arg5'=arg6, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg1P_5<=arg1 && arg5<0 && arg1>0 && arg1P_5>0 ], cost: 1 5: f292_0_main_LT -> f422_0_main_GE : arg1'=arg1P_6, arg6'=0, arg7'=4*arg5+2*arg2+3*arg4, arg8'=arg6, arg9'=arg9P_6, [ 3*arg4>=0 && arg5>-1 && 2*arg2>=0 && arg1P_6<=arg1 && arg1>0 && arg1P_6>0 ], cost: 1 6: f422_0_main_GE -> f292_0_main_LT : arg1'=arg1P_7, arg5'=-1+arg5, arg6'=arg8, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ arg1P_7<=arg1 && arg7<=arg6 && arg1>0 && arg1P_7>0 ], cost: 1 15: f422_0_main_GE -> f422_0_main_GE : arg1'=arg1P_9, arg6'=arg7, arg9'=arg9P_9, [ 100*arg4>=0 && 1000*arg2>=0 && 10*arg5>=0 && arg6>-1 && arg1>0 && 1+10*arg5+1000*arg2+arg6+100*arg4>=1 && arg1P_9>0 && arg1P_9<=arg1 && -arg6+arg7>=1 ], cost: -100*(arg6-arg7)*arg4-5/2*arg6+1/2*(arg6-arg7)^2-arg6*(arg6-arg7)-1000*arg2*(arg6-arg7)+5/2*arg7-10*arg5*(arg6-arg7) 13: __init -> f101_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_11, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, arg7'=arg7P_1, arg8'=arg8P_1, arg9'=arg9P_1, [ arg1P_1<=arg1P_11 && arg2P_11>-1 && arg1P_11>0 && arg1P_1>0 ], cost: 2 Chained accelerated rules (with incoming rules): Start location: __init 1: f101_0_main_GE -> f255_0_main_GE : arg1'=arg1P_2, arg3'=0, arg4'=2*arg2, arg5'=arg3, arg6'=arg6P_2, arg7'=arg7P_2, arg8'=arg8P_2, arg9'=arg9P_2, [ arg1P_2<=arg1 && arg3>arg2 && arg1>0 && arg1P_2>0 ], cost: 1 2: f255_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg3>=arg4 && arg5>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 ], cost: 1 3: f255_0_main_GE -> f292_0_main_LT : arg1'=arg1P_4, arg3'=arg4, arg4'=arg3, arg5'=arg2+arg3, arg6'=arg5, arg7'=arg7P_4, arg8'=arg8P_4, arg9'=arg9P_4, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1P_4<=arg1 && arg1>0 && arg1P_4>0 ], cost: 1 4: f292_0_main_LT -> f255_0_main_GE : arg1'=arg1P_5, arg3'=1+arg4, arg4'=arg3, arg5'=arg6, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg1P_5<=arg1 && arg5<0 && arg1>0 && arg1P_5>0 ], cost: 1 5: f292_0_main_LT -> f422_0_main_GE : arg1'=arg1P_6, arg6'=0, arg7'=4*arg5+2*arg2+3*arg4, arg8'=arg6, arg9'=arg9P_6, [ 3*arg4>=0 && arg5>-1 && 2*arg2>=0 && arg1P_6<=arg1 && arg1>0 && arg1P_6>0 ], cost: 1 16: f292_0_main_LT -> f422_0_main_GE : arg1'=arg1P_9, arg6'=4*arg5+2*arg2+3*arg4, arg7'=4*arg5+2*arg2+3*arg4, arg8'=arg6, arg9'=arg9P_9, [ 3*arg4>=0 && arg5>-1 && 2*arg2>=0 && arg1>0 && 100*arg4>=0 && 1000*arg2>=0 && 10*arg5>=0 && 1+10*arg5+1000*arg2+100*arg4>=1 && arg1P_9>0 && 4*arg5+2*arg2+3*arg4>=1 && arg1P_9<=arg1 ], cost: 1+10*arg5+5*arg2+100*arg4*(4*arg5+2*arg2+3*arg4)+10*arg5*(4*arg5+2*arg2+3*arg4)+1/2*(4*arg5+2*arg2+3*arg4)^2+15/2*arg4+1000*arg2*(4*arg5+2*arg2+3*arg4) 6: f422_0_main_GE -> f292_0_main_LT : arg1'=arg1P_7, arg5'=-1+arg5, arg6'=arg8, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ arg1P_7<=arg1 && arg7<=arg6 && arg1>0 && arg1P_7>0 ], cost: 1 13: __init -> f101_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_11, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, arg7'=arg7P_1, arg8'=arg8P_1, arg9'=arg9P_1, [ arg1P_1<=arg1P_11 && arg2P_11>-1 && arg1P_11>0 && arg1P_1>0 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: __init 1: f101_0_main_GE -> f255_0_main_GE : arg1'=arg1P_2, arg3'=0, arg4'=2*arg2, arg5'=arg3, arg6'=arg6P_2, arg7'=arg7P_2, arg8'=arg8P_2, arg9'=arg9P_2, [ arg1P_2<=arg1 && arg3>arg2 && arg1>0 && arg1P_2>0 ], cost: 1 2: f255_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg3>=arg4 && arg5>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 ], cost: 1 3: f255_0_main_GE -> f292_0_main_LT : arg1'=arg1P_4, arg3'=arg4, arg4'=arg3, arg5'=arg2+arg3, arg6'=arg5, arg7'=arg7P_4, arg8'=arg8P_4, arg9'=arg9P_4, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1P_4<=arg1 && arg1>0 && arg1P_4>0 ], cost: 1 4: f292_0_main_LT -> f255_0_main_GE : arg1'=arg1P_5, arg3'=1+arg4, arg4'=arg3, arg5'=arg6, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg1P_5<=arg1 && arg5<0 && arg1>0 && arg1P_5>0 ], cost: 1 17: f292_0_main_LT -> f292_0_main_LT : arg1'=arg1P_7, arg5'=-1+arg5, arg6'=arg6, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ 3*arg4>=0 && arg5>-1 && 2*arg2>=0 && arg1P_6<=arg1 && arg1>0 && arg1P_6>0 && arg1P_7<=arg1P_6 && 4*arg5+2*arg2+3*arg4<=0 && arg1P_7>0 ], cost: 2 18: f292_0_main_LT -> f292_0_main_LT : arg1'=arg1P_7, arg5'=-1+arg5, arg6'=arg6, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ 3*arg4>=0 && arg5>-1 && 2*arg2>=0 && arg1>0 && 100*arg4>=0 && 1000*arg2>=0 && 10*arg5>=0 && 1+10*arg5+1000*arg2+100*arg4>=1 && arg1P_9>0 && 4*arg5+2*arg2+3*arg4>=1 && arg1P_9<=arg1 && arg1P_7<=arg1P_9 && arg1P_7>0 ], cost: 2+10*arg5+5*arg2+100*arg4*(4*arg5+2*arg2+3*arg4)+10*arg5*(4*arg5+2*arg2+3*arg4)+1/2*(4*arg5+2*arg2+3*arg4)^2+15/2*arg4+1000*arg2*(4*arg5+2*arg2+3*arg4) 13: __init -> f101_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_11, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, arg7'=arg7P_1, arg8'=arg8P_1, arg9'=arg9P_1, [ arg1P_1<=arg1P_11 && arg2P_11>-1 && arg1P_11>0 && arg1P_1>0 ], cost: 2 Accelerating simple loops of location 3. Simplified some of the simple loops (and removed duplicate rules). Accelerating the following rules: 17: f292_0_main_LT -> f292_0_main_LT : arg1'=arg1P_7, arg5'=-1+arg5, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ 3*arg4>=0 && arg5>-1 && 2*arg2>=0 && arg1>0 && 4*arg5+2*arg2+3*arg4<=0 && arg1P_7>0 && arg1P_7<=arg1 ], cost: 2 18: f292_0_main_LT -> f292_0_main_LT : arg1'=arg1P_7, arg5'=-1+arg5, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ 3*arg4>=0 && arg5>-1 && 2*arg2>=0 && arg1>0 && 100*arg4>=0 && 1000*arg2>=0 && 10*arg5>=0 && 1+10*arg5+1000*arg2+100*arg4>=1 && 4*arg5+2*arg2+3*arg4>=1 && arg1P_7>0 && arg1P_7<=arg1 ], cost: 2+10*arg5+5*arg2+100*arg4*(4*arg5+2*arg2+3*arg4)+10*arg5*(4*arg5+2*arg2+3*arg4)+1/2*(4*arg5+2*arg2+3*arg4)^2+15/2*arg4+1000*arg2*(4*arg5+2*arg2+3*arg4) Failed to prove monotonicity of the guard of rule 17. Accelerated rule 18 with backward acceleration, yielding the new rule 19. [accelerate] Nesting with 2 inner and 2 outer candidates Removing the simple loops: 18. Accelerated all simple loops using metering functions (where possible): Start location: __init 1: f101_0_main_GE -> f255_0_main_GE : arg1'=arg1P_2, arg3'=0, arg4'=2*arg2, arg5'=arg3, arg6'=arg6P_2, arg7'=arg7P_2, arg8'=arg8P_2, arg9'=arg9P_2, [ arg1P_2<=arg1 && arg3>arg2 && arg1>0 && arg1P_2>0 ], cost: 1 2: f255_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg3>=arg4 && arg5>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 ], cost: 1 3: f255_0_main_GE -> f292_0_main_LT : arg1'=arg1P_4, arg3'=arg4, arg4'=arg3, arg5'=arg2+arg3, arg6'=arg5, arg7'=arg7P_4, arg8'=arg8P_4, arg9'=arg9P_4, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1P_4<=arg1 && arg1>0 && arg1P_4>0 ], cost: 1 4: f292_0_main_LT -> f255_0_main_GE : arg1'=arg1P_5, arg3'=1+arg4, arg4'=arg3, arg5'=arg6, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg1P_5<=arg1 && arg5<0 && arg1>0 && arg1P_5>0 ], cost: 1 17: f292_0_main_LT -> f292_0_main_LT : arg1'=arg1P_7, arg5'=-1+arg5, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ 3*arg4>=0 && arg5>-1 && 2*arg2>=0 && arg1>0 && 4*arg5+2*arg2+3*arg4<=0 && arg1P_7>0 && arg1P_7<=arg1 ], cost: 2 19: f292_0_main_LT -> f292_0_main_LT : arg1'=arg1P_7, arg5'=arg5-k_3, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ 3*arg4>=0 && 2*arg2>=0 && arg1>0 && 100*arg4>=0 && 1000*arg2>=0 && 1+10*arg5+1000*arg2+100*arg4>=1 && arg1P_7>0 && arg1P_7<=arg1 && k_3>=1 && 1+arg5-k_3>-1 && 10+10*arg5-10*k_3>=0 && 4+4*arg5+2*arg2-4*k_3+3*arg4>=1 ], cost: 2002*arg2^2*k_3-221*k_3^2*arg4+48*arg5^2*k_3+15*k_3+3206*arg2*k_3*arg4-2014*arg2*k_3^2+58*arg5*k_3+609/2*k_3*arg4^2-48*arg5*k_3^2+457/2*k_3*arg4+4028*arg5*arg2*k_3-29*k_3^2+442*arg5*k_3*arg4+2019*arg2*k_3+16*k_3^3 13: __init -> f101_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_11, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, arg7'=arg7P_1, arg8'=arg8P_1, arg9'=arg9P_1, [ arg1P_1<=arg1P_11 && arg2P_11>-1 && arg1P_11>0 && arg1P_1>0 ], cost: 2 Chained accelerated rules (with incoming rules): Start location: __init 1: f101_0_main_GE -> f255_0_main_GE : arg1'=arg1P_2, arg3'=0, arg4'=2*arg2, arg5'=arg3, arg6'=arg6P_2, arg7'=arg7P_2, arg8'=arg8P_2, arg9'=arg9P_2, [ arg1P_2<=arg1 && arg3>arg2 && arg1>0 && arg1P_2>0 ], cost: 1 2: f255_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg3>=arg4 && arg5>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 ], cost: 1 3: f255_0_main_GE -> f292_0_main_LT : arg1'=arg1P_4, arg3'=arg4, arg4'=arg3, arg5'=arg2+arg3, arg6'=arg5, arg7'=arg7P_4, arg8'=arg8P_4, arg9'=arg9P_4, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1P_4<=arg1 && arg1>0 && arg1P_4>0 ], cost: 1 20: f255_0_main_GE -> f292_0_main_LT : arg1'=arg1P_7, arg3'=arg4, arg4'=arg3, arg5'=-1+arg2+arg3, arg6'=arg5, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1>0 && 3*arg3>=0 && arg2+arg3>-1 && 2*arg2>=0 && 6*arg2+7*arg3<=0 && arg1P_7>0 && arg1P_7<=arg1 ], cost: 3 21: f255_0_main_GE -> f292_0_main_LT : arg1'=arg1P_7, arg3'=arg4, arg4'=arg3, arg5'=arg2-k_3+arg3, arg6'=arg5, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1>0 && 3*arg3>=0 && 2*arg2>=0 && 100*arg3>=0 && 1000*arg2>=0 && 1+1010*arg2+110*arg3>=1 && arg1P_7>0 && k_3>=1 && 1+arg2-k_3+arg3>-1 && 10+10*arg2-10*k_3+10*arg3>=0 && 4+6*arg2-4*k_3+7*arg3>=1 && arg1P_7<=arg1 ], cost: 1+609/2*k_3*arg3^2+2002*arg2^2*k_3+48*k_3*(arg2+arg3)^2+58*k_3*(arg2+arg3)+15*k_3+457/2*k_3*arg3-2014*arg2*k_3^2-221*k_3^2*arg3-48*k_3^2*(arg2+arg3)+442*k_3*arg3*(arg2+arg3)-29*k_3^2+3206*arg2*k_3*arg3+4028*arg2*k_3*(arg2+arg3)+2019*arg2*k_3+16*k_3^3 4: f292_0_main_LT -> f255_0_main_GE : arg1'=arg1P_5, arg3'=1+arg4, arg4'=arg3, arg5'=arg6, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg1P_5<=arg1 && arg5<0 && arg1>0 && arg1P_5>0 ], cost: 1 13: __init -> f101_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_11, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, arg7'=arg7P_1, arg8'=arg8P_1, arg9'=arg9P_1, [ arg1P_1<=arg1P_11 && arg2P_11>-1 && arg1P_11>0 && arg1P_1>0 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: __init 1: f101_0_main_GE -> f255_0_main_GE : arg1'=arg1P_2, arg3'=0, arg4'=2*arg2, arg5'=arg3, arg6'=arg6P_2, arg7'=arg7P_2, arg8'=arg8P_2, arg9'=arg9P_2, [ arg1P_2<=arg1 && arg3>arg2 && arg1>0 && arg1P_2>0 ], cost: 1 2: f255_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg3>=arg4 && arg5>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 ], cost: 1 22: f255_0_main_GE -> f255_0_main_GE : arg1'=arg1P_5, arg3'=1+arg3, arg4'=arg4, arg5'=arg5, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1>0 && 3*arg3>=0 && arg2+arg3>-1 && 2*arg2>=0 && 6*arg2+7*arg3<=0 && arg1P_7>0 && arg1P_7<=arg1 && arg1P_5<=arg1P_7 && -1+arg2+arg3<0 && arg1P_5>0 ], cost: 4 23: f255_0_main_GE -> f255_0_main_GE : arg1'=arg1P_5, arg3'=1+arg3, arg4'=arg4, arg5'=arg5, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1>0 && 3*arg3>=0 && 2*arg2>=0 && 100*arg3>=0 && 1000*arg2>=0 && 1+1010*arg2+110*arg3>=1 && arg1P_7>0 && k_3>=1 && 1+arg2-k_3+arg3>-1 && 10+10*arg2-10*k_3+10*arg3>=0 && 4+6*arg2-4*k_3+7*arg3>=1 && arg1P_7<=arg1 && arg1P_5<=arg1P_7 && arg2-k_3+arg3<0 && arg1P_5>0 ], cost: 2+609/2*k_3*arg3^2+2002*arg2^2*k_3+48*k_3*(arg2+arg3)^2+58*k_3*(arg2+arg3)+15*k_3+457/2*k_3*arg3-2014*arg2*k_3^2-221*k_3^2*arg3-48*k_3^2*(arg2+arg3)+442*k_3*arg3*(arg2+arg3)-29*k_3^2+3206*arg2*k_3*arg3+4028*arg2*k_3*(arg2+arg3)+2019*arg2*k_3+16*k_3^3 13: __init -> f101_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_11, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, arg7'=arg7P_1, arg8'=arg8P_1, arg9'=arg9P_1, [ arg1P_1<=arg1P_11 && arg2P_11>-1 && arg1P_11>0 && arg1P_1>0 ], cost: 2 Accelerating simple loops of location 2. Simplified some of the simple loops (and removed duplicate rules). Accelerating the following rules: 22: f255_0_main_GE -> f255_0_main_GE : arg1'=arg1P_5, arg3'=1+arg3, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1>0 && 3*arg3>=0 && -arg2-arg3==0 && 2*arg2>=0 && 6*arg2+7*arg3<=0 && arg1P_5>0 && arg1P_5<=arg1 ], cost: 4 23: f255_0_main_GE -> f255_0_main_GE : arg1'=arg1P_5, arg3'=1+arg3, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1>0 && 3*arg3>=0 && 2*arg2>=0 && 100*arg3>=0 && 1000*arg2>=0 && 1+1010*arg2+110*arg3>=1 && 1+arg2+arg3>=1 && 2*arg2+3*arg3>=1 && arg1P_5>0 && arg1P_5<=arg1 ], cost: 17-48*(1+arg2+arg3)^2*(arg2+arg3)+609/2*arg3^2*(1+arg2+arg3)-29*(1+arg2+arg3)^2+2019*arg2*(1+arg2+arg3)+16*(1+arg2+arg3)^3+15*arg2-2014*arg2*(1+arg2+arg3)^2+3206*arg2*arg3*(1+arg2+arg3)+4028*arg2*(1+arg2+arg3)*(arg2+arg3)+15*arg3+48*(1+arg2+arg3)*(arg2+arg3)^2-221*arg3*(1+arg2+arg3)^2+2002*arg2^2*(1+arg2+arg3)+442*arg3*(1+arg2+arg3)*(arg2+arg3)+58*(1+arg2+arg3)*(arg2+arg3)+457/2*arg3*(1+arg2+arg3) Failed to prove monotonicity of the guard of rule 22. Accelerated rule 23 with backward acceleration, yielding the new rule 24. [accelerate] Nesting with 2 inner and 2 outer candidates Removing the simple loops: 23. Accelerated all simple loops using metering functions (where possible): Start location: __init 1: f101_0_main_GE -> f255_0_main_GE : arg1'=arg1P_2, arg3'=0, arg4'=2*arg2, arg5'=arg3, arg6'=arg6P_2, arg7'=arg7P_2, arg8'=arg8P_2, arg9'=arg9P_2, [ arg1P_2<=arg1 && arg3>arg2 && arg1>0 && arg1P_2>0 ], cost: 1 2: f255_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg3>=arg4 && arg5>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 ], cost: 1 22: f255_0_main_GE -> f255_0_main_GE : arg1'=arg1P_5, arg3'=1+arg3, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1>0 && 3*arg3>=0 && -arg2-arg3==0 && 2*arg2>=0 && 6*arg2+7*arg3<=0 && arg1P_5>0 && arg1P_5<=arg1 ], cost: 4 24: f255_0_main_GE -> f255_0_main_GE : arg1'=arg1P_5, arg3'=arg4, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg3>-1 && arg2>-1 && arg1>0 && 3*arg3>=0 && 2*arg2>=0 && 100*arg3>=0 && 1000*arg2>=0 && 1+1010*arg2+110*arg3>=1 && 1+arg2+arg3>=1 && 2*arg2+3*arg3>=1 && arg1P_5>0 && arg1P_5<=arg1 && -arg3+arg4>=1 ], cost: -4032*(arg3-arg4)*arg2^3+1405/2*(arg3-arg4)*arg2^2+1075/4*(arg3-arg4)*arg3+1001/4*(arg3-arg4)*arg3^2+12029/2*(arg3-arg4)^2*arg2*arg3+1001/12*(arg3-arg4)^3+5200/3*(arg3-arg4)*arg2-1083/2*(arg3-arg4)*arg3^3-9505*(arg3-arg4)*arg2^2*arg3-1075/8*(arg3-arg4)^2-1037/12*arg3-1083/2*(arg3-arg4)^3*arg3+503*(arg3-arg4)*arg2*arg3+1083/8*(arg3-arg4)^4+3249/4*(arg3-arg4)^2*arg3^2-503/2*(arg3-arg4)^2*arg2+9505/2*(arg3-arg4)^2*arg2^2+1037/12*arg4-1001/4*(arg3-arg4)^2*arg3-12029/6*(arg3-arg4)^3*arg2-12029/2*(arg3-arg4)*arg2*arg3^2 13: __init -> f101_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_11, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, arg7'=arg7P_1, arg8'=arg8P_1, arg9'=arg9P_1, [ arg1P_1<=arg1P_11 && arg2P_11>-1 && arg1P_11>0 && arg1P_1>0 ], cost: 2 Chained accelerated rules (with incoming rules): Start location: __init 1: f101_0_main_GE -> f255_0_main_GE : arg1'=arg1P_2, arg3'=0, arg4'=2*arg2, arg5'=arg3, arg6'=arg6P_2, arg7'=arg7P_2, arg8'=arg8P_2, arg9'=arg9P_2, [ arg1P_2<=arg1 && arg3>arg2 && arg1>0 && arg1P_2>0 ], cost: 1 25: f101_0_main_GE -> f255_0_main_GE : arg1'=arg1P_5, arg3'=2*arg2, arg4'=2*arg2, arg5'=arg3, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg3>arg2 && arg1>0 && arg2>-1 && 1000*arg2>=0 && 1+1010*arg2>=1 && 2*arg2>=1 && arg1P_5>0 && arg1P_5<=arg1 ], cost: 1+1037/6*arg2-9235/3*arg2^3-24025/6*arg2^2+135836/3*arg2^4 2: f255_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg3>=arg4 && arg5>-1 && arg1>=arg1P_3 && arg1>0 && arg1P_3>0 ], cost: 1 13: __init -> f101_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_11, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, arg7'=arg7P_1, arg8'=arg8P_1, arg9'=arg9P_1, [ arg1P_1<=arg1P_11 && arg2P_11>-1 && arg1P_11>0 && arg1P_1>0 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: __init 26: f101_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg3, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg1P_2<=arg1 && arg3>arg2 && arg1>0 && arg1P_2>0 && 0>=2*arg2 && arg3>-1 && arg1P_2>=arg1P_3 && arg1P_3>0 ], cost: 2 27: f101_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1+arg2, arg3'=arg3, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg3>arg2 && arg1>0 && arg2>-1 && 1000*arg2>=0 && 1+1010*arg2>=1 && 2*arg2>=1 && arg1P_5>0 && arg1P_5<=arg1 && arg3>-1 && arg1P_5>=arg1P_3 && arg1P_3>0 ], cost: 2+1037/6*arg2-9235/3*arg2^3-24025/6*arg2^2+135836/3*arg2^4 13: __init -> f101_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_11, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, arg7'=arg7P_1, arg8'=arg8P_1, arg9'=arg9P_1, [ arg1P_1<=arg1P_11 && arg2P_11>-1 && arg1P_11>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: 26: f101_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1+arg2, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg3>arg2 && arg1>0 && 0>=2*arg2 && arg3>-1 && arg1P_3>0 && arg1P_3<=arg1 ], cost: 2 27: f101_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1+arg2, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg3>arg2 && arg1>0 && arg2>-1 && 1000*arg2>=0 && 1+1010*arg2>=1 && 2*arg2>=1 && arg3>-1 && arg1P_3>0 && arg1P_3<=arg1 ], cost: 2+1037/6*arg2-9235/3*arg2^3-24025/6*arg2^2+135836/3*arg2^4 Accelerated rule 26 with backward acceleration, yielding the new rule 28. Accelerated rule 26 with backward acceleration, yielding the new rule 29. Accelerated rule 27 with backward acceleration, yielding the new rule 30. [accelerate] Nesting with 3 inner and 2 outer candidates Removing the simple loops: 26 27. Accelerated all simple loops using metering functions (where possible): Start location: __init 28: f101_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=arg3, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg1>0 && arg3>-1 && arg1P_3>0 && arg1P_3<=arg1 && -arg2+arg3>=1 && 0>=-2+2*arg3 ], cost: -2*arg2+2*arg3 29: f101_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg1>0 && arg1P_3>0 && arg1P_3<=arg1 && 1-arg2>=1 && arg3>0 ], cost: 2-2*arg2 30: f101_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=arg3, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg1>0 && arg2>-1 && 1000*arg2>=0 && 1+1010*arg2>=1 && 2*arg2>=1 && arg3>-1 && arg1P_3>0 && arg1P_3<=arg1 && -arg2+arg3>=1 ], cost: -280907/2*arg2^2*(arg2-arg3)^2+135836/3*arg2*(arg2-arg3)^4+280907/3*arg2^3*(arg2-arg3)+33916/15*arg2-271672/3*arg2^2*(arg2-arg3)^3+271672/3*arg2^3*(arg2-arg3)^2-135836/15*(arg2-arg3)^5-45892*arg2^2*(arg2-arg3)-280907/12*(arg2-arg3)^4-33916/15*arg3-45892/3*(arg2-arg3)^3-15827/6*arg2*(arg2-arg3)+15827/12*(arg2-arg3)^2-135836/3*arg2^4*(arg2-arg3)+280907/3*arg2*(arg2-arg3)^3+45892*arg2*(arg2-arg3)^2 13: __init -> f101_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_11, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, arg7'=arg7P_1, arg8'=arg8P_1, arg9'=arg9P_1, [ arg1P_1<=arg1P_11 && arg2P_11>-1 && arg1P_11>0 && arg1P_1>0 ], cost: 2 Chained accelerated rules (with incoming rules): Start location: __init 13: __init -> f101_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=arg2P_11, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, arg7'=arg7P_1, arg8'=arg8P_1, arg9'=arg9P_1, [ arg1P_1<=arg1P_11 && arg2P_11>-1 && arg1P_11>0 && arg1P_1>0 ], cost: 2 31: __init -> f101_0_main_GE : arg1'=arg1P_3, arg2'=arg2P_11, arg3'=arg2P_11, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg1P_3>0 && arg2P_11>=1 && 0>=-2+2*arg2P_11 ], cost: 2+2*arg2P_11 32: __init -> f101_0_main_GE : arg1'=arg1P_3, arg2'=1, arg3'=arg2P_11, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg1P_3>0 && arg2P_11>0 ], cost: 4 Removed unreachable locations (and leaf rules with constant cost): Start location: __init 31: __init -> f101_0_main_GE : arg1'=arg1P_3, arg2'=arg2P_11, arg3'=arg2P_11, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg1P_3>0 && arg2P_11>=1 && 0>=-2+2*arg2P_11 ], cost: 2+2*arg2P_11 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: __init 31: __init -> f101_0_main_GE : arg1'=arg1P_3, arg2'=arg2P_11, arg3'=arg2P_11, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, arg7'=arg7P_3, arg8'=arg8P_3, arg9'=arg9P_3, [ arg1P_3>0 && arg2P_11>=1 && 0>=-2+2*arg2P_11 ], cost: 2+2*arg2P_11 Computing asymptotic complexity for rule 31 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),?)