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 && arg3+arg2==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 && 3*arg4+2*arg2>=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 && 3*arg4+4*arg5+2*arg2==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 && 100*arg4+1000*arg2>=0 && 100*arg4+10*arg5+1000*arg2>=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 && arg6+100*arg4+10*arg5+1000*arg2==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'=arg3+arg2, 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'=3*arg4+4*arg5+2*arg2, 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'=arg6+100*arg4+10*arg5+1000*arg2, 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 metering function 1+arg8, yielding the new rule 11. 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'=arg3+arg2, 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'=3*arg4+4*arg5+2*arg2, 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'=arg6+100*arg4+10*arg5+1000*arg2, 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 && arg8>-1 && arg1>0 && arg1P_10>0 ], 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'=arg3+arg2, 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'=3*arg4+4*arg5+2*arg2, 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'=arg6+100*arg4+10*arg5+1000*arg2, 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 && arg6+100*arg4+10*arg5+1000*arg2>-1 && arg1P_10>0 && arg1P_10<=arg1 ], cost: 2+arg6+100*arg4+10*arg5+1000*arg2 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'=arg3+arg2, 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'=3*arg4+4*arg5+2*arg2, 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'=arg6+100*arg4+10*arg5+1000*arg2, 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 && arg6+100*arg4+10*arg5+1000*arg2>-1 && arg1P_10>0 && arg1P_10<=arg1 ], cost: 2+arg6+100*arg4+10*arg5+1000*arg2 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'=arg3+arg2, 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'=3*arg4+4*arg5+2*arg2, 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 && arg6+100*arg4+10*arg5+1000*arg2>-1 && arg1P_10>0 && arg1P_10<=arg1 && arg1P_9<=arg1P_10 && arg1P_9>0 ], cost: 3+arg6+100*arg4+10*arg5+1000*arg2 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 && arg6+100*arg4+10*arg5+1000*arg2>-1 && arg1P_9>0 && arg1P_9<=arg1 ], cost: 3+arg6+100*arg4+10*arg5+1000*arg2 Accelerated rule 14 with metering function -arg6+arg7, yielding the new rule 15. 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'=arg3+arg2, 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'=3*arg4+4*arg5+2*arg2, 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 && arg7>arg6 && 1000*arg2>=0 && 10*arg5>=0 && arg6>-1 && arg1>0 && arg6+100*arg4+10*arg5+1000*arg2>-1 && arg1P_9>0 && arg1P_9<=arg1 ], cost: -5/2*arg6-arg6*(arg6-arg7)+1/2*(arg6-arg7)^2+5/2*arg7-1000*arg2*(arg6-arg7)-10*arg5*(arg6-arg7)-100*arg4*(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'=arg3+arg2, 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'=3*arg4+4*arg5+2*arg2, 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'=3*arg4+4*arg5+2*arg2, arg7'=3*arg4+4*arg5+2*arg2, arg8'=arg6, arg9'=arg9P_9, [ 3*arg4>=0 && arg5>-1 && 2*arg2>=0 && arg1>0 && 100*arg4>=0 && 3*arg4+4*arg5+2*arg2>0 && 1000*arg2>=0 && 10*arg5>=0 && 100*arg4+10*arg5+1000*arg2>-1 && arg1P_9>0 && arg1P_9<=arg1 ], cost: 1+1/2*(3*arg4+4*arg5+2*arg2)^2+15/2*arg4+1000*arg2*(3*arg4+4*arg5+2*arg2)+10*arg5+10*arg5*(3*arg4+4*arg5+2*arg2)+5*arg2+100*arg4*(3*arg4+4*arg5+2*arg2) 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'=arg3+arg2, 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 && 3*arg4+4*arg5+2*arg2<=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 && 3*arg4+4*arg5+2*arg2>0 && 1000*arg2>=0 && 10*arg5>=0 && 100*arg4+10*arg5+1000*arg2>-1 && arg1P_9>0 && arg1P_9<=arg1 && arg1P_7<=arg1P_9 && arg1P_7>0 ], cost: 2+1/2*(3*arg4+4*arg5+2*arg2)^2+15/2*arg4+1000*arg2*(3*arg4+4*arg5+2*arg2)+10*arg5+10*arg5*(3*arg4+4*arg5+2*arg2)+5*arg2+100*arg4*(3*arg4+4*arg5+2*arg2) 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 && 3*arg4+4*arg5+2*arg2<=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 && 3*arg4+4*arg5+2*arg2>0 && 1000*arg2>=0 && 10*arg5>=0 && 100*arg4+10*arg5+1000*arg2>-1 && arg1P_7>0 && arg1P_7<=arg1 ], cost: 2+1/2*(3*arg4+4*arg5+2*arg2)^2+15/2*arg4+1000*arg2*(3*arg4+4*arg5+2*arg2)+10*arg5+10*arg5*(3*arg4+4*arg5+2*arg2)+5*arg2+100*arg4*(3*arg4+4*arg5+2*arg2) Accelerated rule 17 with metering function 1+arg5, yielding the new rule 19. Accelerated rule 18 with metering function arg5, yielding the new rule 20. Nested simple loops 18 (outer loop) and 19 (inner loop) with metering function meter (where 2*meter==-arg4+arg5-arg2), resulting in the new rules: 21. Removing the simple loops: 17 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'=arg3+arg2, 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 19: f292_0_main_LT -> f292_0_main_LT : arg1'=arg1P_7, arg5'=-1, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ 3*arg4>=0 && arg5>-1 && 2*arg2>=0 && arg1>0 && 3*arg4+4*arg5+2*arg2<=0 && arg1P_7>0 && arg1P_7<=arg1 ], cost: 2+2*arg5 20: f292_0_main_LT -> f292_0_main_LT : arg1'=arg1P_7, arg5'=0, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ 3*arg4>=0 && 2*arg2>=0 && arg1>0 && 100*arg4>=0 && 3*arg4+4*arg5+2*arg2>0 && 1000*arg2>=0 && 10*arg5>=0 && 100*arg4+10*arg5+1000*arg2>-1 && arg1P_7>0 && arg1P_7<=arg1 && arg5>=1 ], cost: 221*arg4*arg5^2+3206*arg4*arg5*arg2+2014*arg5^2*arg2+457/2*arg4*arg5+16*arg5^3+2019*arg5*arg2+609/2*arg4^2*arg5+29*arg5^2+15*arg5+2002*arg5*arg2^2 21: f292_0_main_LT -> f292_0_main_LT : arg1'=arg1P_7, arg5'=-1, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ 3*arg4>=0 && 2*arg2>=0 && arg1>0 && 100*arg4>=0 && 3*arg4+4*arg5+2*arg2>0 && 1000*arg2>=0 && 10*arg5>=0 && 100*arg4+10*arg5+1000*arg2>-1 && arg1P_7>0 && arg1P_7<=arg1 && -1+arg5>-1 && -4+3*arg4+4*arg5+2*arg2<=0 && 2*meter==-arg4+arg5-arg2 && meter>=1 ], cost: -4023*meter*arg2-869/2*arg4*meter+2002*meter*arg2^2+38*meter+609/2*arg4^2*meter+3206*arg4*meter*arg2 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'=arg3+arg2, 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 22: f255_0_main_GE -> f292_0_main_LT : arg1'=arg1P_7, arg3'=arg4, arg4'=arg3, arg5'=-1, arg6'=arg5, arg7'=arg7P_7, arg8'=arg8P_7, arg9'=arg9P_7, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1>0 && 3*arg3>=0 && arg3+arg2>-1 && 2*arg2>=0 && 7*arg3+6*arg2<=0 && arg1P_7>0 && arg1P_7<=arg1 ], cost: 3+2*arg3+2*arg2 23: f255_0_main_GE -> f292_0_main_LT : arg1'=arg1P_7, arg3'=arg4, arg4'=arg3, arg5'=0, 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 && 7*arg3+6*arg2>0 && 1000*arg2>=0 && 10*arg3+10*arg2>=0 && 110*arg3+1010*arg2>-1 && arg1P_7>0 && arg3+arg2>=1 && arg1P_7<=arg1 ], cost: 1+221*arg3*(arg3+arg2)^2+2019*(arg3+arg2)*arg2+15*arg3+3206*arg3*(arg3+arg2)*arg2+457/2*arg3*(arg3+arg2)+2002*(arg3+arg2)*arg2^2+609/2*arg3^2*(arg3+arg2)+16*(arg3+arg2)^3+15*arg2+29*(arg3+arg2)^2+2014*(arg3+arg2)^2*arg2 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 24: 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 && arg3+arg2>-1 && 2*arg2>=0 && 7*arg3+6*arg2<=0 && arg1P_7>0 && arg1P_7<=arg1 && arg1P_5<=arg1P_7 && arg1P_5>0 ], cost: 4+2*arg3+2*arg2 25: f255_0_main_GE -> [10] : [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1>0 && 3*arg3>=0 && 2*arg2>=0 && 100*arg3>=0 && 7*arg3+6*arg2>0 && 1000*arg2>=0 && 10*arg3+10*arg2>=0 && 110*arg3+1010*arg2>-1 && arg1P_7>0 && arg3+arg2>=1 && arg1P_7<=arg1 ], cost: 1+221*arg3*(arg3+arg2)^2+2019*(arg3+arg2)*arg2+15*arg3+3206*arg3*(arg3+arg2)*arg2+457/2*arg3*(arg3+arg2)+2002*(arg3+arg2)*arg2^2+609/2*arg3^2*(arg3+arg2)+16*(arg3+arg2)^3+15*arg2+29*(arg3+arg2)^2+2014*(arg3+arg2)^2*arg2 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: 24: 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 && arg3+arg2>-1 && 2*arg2>=0 && 7*arg3+6*arg2<=0 && arg1P_5>0 && arg1P_5<=arg1 ], cost: 4+2*arg3+2*arg2 Accelerated rule 24 with metering function -arg3-arg2, yielding the new rule 26. Removing the simple loops: 24. 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 25: f255_0_main_GE -> [10] : [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1>0 && 3*arg3>=0 && 2*arg2>=0 && 100*arg3>=0 && 7*arg3+6*arg2>0 && 1000*arg2>=0 && 10*arg3+10*arg2>=0 && 110*arg3+1010*arg2>-1 && arg1P_7>0 && arg3+arg2>=1 && arg1P_7<=arg1 ], cost: 1+221*arg3*(arg3+arg2)^2+2019*(arg3+arg2)*arg2+15*arg3+3206*arg3*(arg3+arg2)*arg2+457/2*arg3*(arg3+arg2)+2002*(arg3+arg2)*arg2^2+609/2*arg3^2*(arg3+arg2)+16*(arg3+arg2)^3+15*arg2+29*(arg3+arg2)^2+2014*(arg3+arg2)^2*arg2 26: f255_0_main_GE -> f255_0_main_GE : arg1'=arg1P_5, arg3'=-arg2, arg6'=arg6P_5, arg7'=arg7P_5, arg8'=arg8P_5, arg9'=arg9P_5, [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1>0 && 3*arg3>=0 && arg3+arg2>-1 && 2*arg2>=0 && 7*arg3+6*arg2<=0 && arg1P_5>0 && arg1P_5<=arg1 && -arg3-arg2>=1 ], cost: -2*(arg3+arg2)*arg2-3*arg3-2*arg3*(arg3+arg2)-3*arg2+(arg3+arg2)^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 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 25: f255_0_main_GE -> [10] : [ arg4>arg3 && arg3>-1 && arg2>-1 && arg1>0 && 3*arg3>=0 && 2*arg2>=0 && 100*arg3>=0 && 7*arg3+6*arg2>0 && 1000*arg2>=0 && 10*arg3+10*arg2>=0 && 110*arg3+1010*arg2>-1 && arg1P_7>0 && arg3+arg2>=1 && arg1P_7<=arg1 ], cost: 1+221*arg3*(arg3+arg2)^2+2019*(arg3+arg2)*arg2+15*arg3+3206*arg3*(arg3+arg2)*arg2+457/2*arg3*(arg3+arg2)+2002*(arg3+arg2)*arg2^2+609/2*arg3^2*(arg3+arg2)+16*(arg3+arg2)^3+15*arg2+29*(arg3+arg2)^2+2014*(arg3+arg2)^2*arg2 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 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, [ arg1P_2<=arg1 && arg3>arg2 && arg1>0 && arg1P_2>0 && 0>=2*arg2 && arg3>-1 && arg1P_2>=arg1P_3 && arg1P_3>0 ], cost: 2 28: f101_0_main_GE -> [10] : 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 && 2*arg2>0 && 6*arg2>0 && 1000*arg2>=0 && 10*arg2>=0 && 1010*arg2>-1 && arg1P_7>0 && arg2>=1 && arg1P_7<=arg1P_2 ], cost: 2+4032*arg2^3+2048*arg2^2+15*arg2 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: 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 && 0>=2*arg2 && arg3>-1 && arg1P_3>0 && arg1P_3<=arg1 ], cost: 2 Accelerated rule 27 with metering function -arg2, yielding the new rule 29. Removing the simple loops: 27. Accelerated all simple loops using metering functions (where possible): Start location: __init 28: f101_0_main_GE -> [10] : 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 && 2*arg2>0 && 6*arg2>0 && 1000*arg2>=0 && 10*arg2>=0 && 1010*arg2>-1 && arg1P_7>0 && arg2>=1 && arg1P_7<=arg1P_2 ], cost: 2+4032*arg2^3+2048*arg2^2+15*arg2 29: f101_0_main_GE -> f101_0_main_GE : arg1'=arg1P_3, arg2'=0, 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 && -arg2>=1 ], cost: -2*arg2 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 28: f101_0_main_GE -> [10] : 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 && 2*arg2>0 && 6*arg2>0 && 1000*arg2>=0 && 10*arg2>=0 && 1010*arg2>-1 && arg1P_7>0 && arg2>=1 && arg1P_7<=arg1P_2 ], cost: 2+4032*arg2^3+2048*arg2^2+15*arg2 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 linear paths): Start location: __init Removed unreachable locations (and leaf rules with constant cost): Start location: __init ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: __init 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),?)