WORST_CASE(Omega(1),?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: __init 0: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, [ arg1P_1<=arg1 && arg1>0 && arg1P_1>0 && 0==arg2 && 0==arg2P_1 && 0==arg3P_1 && 0==arg4P_1 && 0==arg5P_1 && 0==arg6P_1 ], cost: 1 1: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, arg5'=arg5P_2, arg6'=arg6P_2, [ arg1P_2<=arg1 && arg2P_2>-1 && arg1>0 && arg1P_2>0 && 1==arg2 && 0==arg3P_2 && 1==arg4P_2 && 1==arg5P_2 && 1==arg6P_2 ], cost: 1 2: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, [ arg3P_3>-1 && arg2>1 && arg2P_3>-1 && arg1P_3<=arg1 && arg1>0 && arg1P_3>0 && arg2==arg4P_3 && 2==arg5P_3 && arg2==arg6P_3 ], cost: 1 3: f593_0_main_LE -> f593_0_main_LE : arg1'=arg1P_4, arg2'=arg2P_4, arg3'=arg3P_4, arg4'=arg4P_4, arg5'=arg5P_4, arg6'=arg6P_4, [ arg5>=arg4 && arg4>-1 && arg3>0 && arg1P_4<=arg1 && arg1>0 && arg1P_4>0 && arg4==arg6 && -1+arg2==arg2P_4 && -1+arg2==arg3P_4 && arg4==arg4P_4 && arg5==arg5P_4 && arg4==arg6P_4 ], cost: 1 4: f593_0_main_LE -> f593_0_main_LE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=arg4P_5, arg5'=arg5P_5, arg6'=arg6P_5, [ arg3>0 && arg4>-1 && arg5>-1 && arg5-1 && arg1P_5<=arg1 && arg1>0 && arg1P_5>0 && arg4==arg6 && -1+arg2-x22_1==arg2P_5 && -1+arg2-x22_1==arg3P_5 && arg4==arg4P_5 && 1+arg5==arg5P_5 && arg4==arg6P_5 ], cost: 1 5: __init -> f1_0_main_Load : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, arg6'=arg6P_6, [], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 5: __init -> f1_0_main_Load : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, arg6'=arg6P_6, [], cost: 1 Simplified all rules, resulting in: Start location: __init 0: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_1, arg2'=0, arg3'=0, arg4'=0, arg5'=0, arg6'=0, [ arg1P_1<=arg1 && arg1>0 && arg1P_1>0 && 0==arg2 ], cost: 1 1: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=0, arg4'=1, arg5'=1, arg6'=1, [ arg1P_2<=arg1 && arg2P_2>-1 && arg1>0 && arg1P_2>0 && 1==arg2 ], cost: 1 2: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg2, arg5'=2, arg6'=arg2, [ arg3P_3>-1 && arg2>1 && arg2P_3>-1 && arg1P_3<=arg1 && arg1>0 && arg1P_3>0 ], cost: 1 3: f593_0_main_LE -> f593_0_main_LE : arg1'=arg1P_4, arg2'=-1+arg2, arg3'=-1+arg2, arg6'=arg4, [ arg5>=arg4 && arg4>-1 && arg3>0 && arg1P_4<=arg1 && arg1>0 && arg1P_4>0 && arg4==arg6 ], cost: 1 4: f593_0_main_LE -> f593_0_main_LE : arg1'=arg1P_5, arg2'=-1+arg2-x22_1, arg3'=-1+arg2-x22_1, arg5'=1+arg5, arg6'=arg4, [ arg3>0 && arg5>-1 && arg5-1 && arg1P_5<=arg1 && arg1>0 && arg1P_5>0 && arg4==arg6 ], cost: 1 5: __init -> f1_0_main_Load : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, arg6'=arg6P_6, [], cost: 1 ### Simplification by acceleration and chaining ### Accelerating simple loops of location 1. Accelerating the following rules: 3: f593_0_main_LE -> f593_0_main_LE : arg1'=arg1P_4, arg2'=-1+arg2, arg3'=-1+arg2, arg6'=arg4, [ arg5>=arg4 && arg4>-1 && arg3>0 && arg1P_4<=arg1 && arg1>0 && arg1P_4>0 && arg4==arg6 ], cost: 1 4: f593_0_main_LE -> f593_0_main_LE : arg1'=arg1P_5, arg2'=-1+arg2-x22_1, arg3'=-1+arg2-x22_1, arg5'=1+arg5, arg6'=arg4, [ arg3>0 && arg5>-1 && arg5-1 && arg1P_5<=arg1 && arg1>0 && arg1P_5>0 && arg4==arg6 ], cost: 1 [test] deduced pseudo-invariant -1+arg2-arg3<=0, also trying 1-arg2+arg3<=-1 Accelerated rule 3 with backward acceleration, yielding the new rule 6. [test] deduced pseudo-invariant -1+arg2-arg3<=0, also trying 1-arg2+arg3<=-1 Accelerated rule 4 with backward acceleration, yielding the new rule 7. [accelerate] Nesting with 2 inner and 2 outer candidates Accelerated all simple loops using metering functions (where possible): Start location: __init 0: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_1, arg2'=0, arg3'=0, arg4'=0, arg5'=0, arg6'=0, [ arg1P_1<=arg1 && arg1>0 && arg1P_1>0 && 0==arg2 ], cost: 1 1: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=0, arg4'=1, arg5'=1, arg6'=1, [ arg1P_2<=arg1 && arg2P_2>-1 && arg1>0 && arg1P_2>0 && 1==arg2 ], cost: 1 2: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg2, arg5'=2, arg6'=arg2, [ arg3P_3>-1 && arg2>1 && arg2P_3>-1 && arg1P_3<=arg1 && arg1>0 && arg1P_3>0 ], cost: 1 3: f593_0_main_LE -> f593_0_main_LE : arg1'=arg1P_4, arg2'=-1+arg2, arg3'=-1+arg2, arg6'=arg4, [ arg5>=arg4 && arg4>-1 && arg3>0 && arg1P_4<=arg1 && arg1>0 && arg1P_4>0 && arg4==arg6 ], cost: 1 4: f593_0_main_LE -> f593_0_main_LE : arg1'=arg1P_5, arg2'=-1+arg2-x22_1, arg3'=-1+arg2-x22_1, arg5'=1+arg5, arg6'=arg4, [ arg3>0 && arg5>-1 && arg5-1 && arg1P_5<=arg1 && arg1>0 && arg1P_5>0 && arg4==arg6 ], cost: 1 6: f593_0_main_LE -> f593_0_main_LE : arg1'=arg1P_4, arg2'=0, arg3'=0, arg6'=arg4, [ arg5>=arg4 && arg4>-1 && arg1P_4<=arg1 && arg1>0 && arg1P_4>0 && arg4==arg6 && -1+arg2-arg3<=0 && arg2>=1 ], cost: arg2 7: f593_0_main_LE -> f593_0_main_LE : arg1'=arg1P_5, arg2'=arg2-k_3*x22_1-k_3, arg3'=arg2-k_3-(-1+k_3)*x22_1-x22_1, arg5'=arg5+k_3, arg6'=arg4, [ arg5>-1 && x22_1>-1 && arg1P_5<=arg1 && arg1>0 && arg1P_5>0 && arg4==arg6 && -1+arg2-arg3<=0 && k_3>=1 && 1+arg2-(-2+k_3)*x22_1-k_3-x22_1>0 && -1+arg5+k_3 f1_0_main_Load : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, arg6'=arg6P_6, [], cost: 1 Chained accelerated rules (with incoming rules): Start location: __init 0: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_1, arg2'=0, arg3'=0, arg4'=0, arg5'=0, arg6'=0, [ arg1P_1<=arg1 && arg1>0 && arg1P_1>0 && 0==arg2 ], cost: 1 1: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=0, arg4'=1, arg5'=1, arg6'=1, [ arg1P_2<=arg1 && arg2P_2>-1 && arg1>0 && arg1P_2>0 && 1==arg2 ], cost: 1 2: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg2, arg5'=2, arg6'=arg2, [ arg3P_3>-1 && arg2>1 && arg2P_3>-1 && arg1P_3<=arg1 && arg1>0 && arg1P_3>0 ], cost: 1 8: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_4, arg2'=-1+arg2P_3, arg3'=-1+arg2P_3, arg4'=arg2, arg5'=2, arg6'=arg2, [ 2-arg2==0 && arg2P_3>-1 && arg1>0 && arg1P_4>0 && arg1P_4<=arg1 ], cost: 2 9: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_5, arg2'=-1+arg2P_3-x22_1, arg3'=-1+arg2P_3-x22_1, arg4'=arg2, arg5'=3, arg6'=arg2, [ arg2P_3>-1 && arg1>0 && 2-1 && arg1P_5>0 && arg1P_5<=arg1 ], cost: 2 10: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_4, arg2'=0, arg3'=0, arg4'=1, arg5'=1, arg6'=1, [ arg1>0 && 1==arg2 && arg1P_4>0 && arg1P_4<=arg1 ], cost: 2 11: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_4, arg2'=0, arg3'=0, arg4'=arg2, arg5'=2, arg6'=arg2, [ 2-arg2==0 && arg1>0 && arg1P_4>0 && arg2P_3>=1 && arg1P_4<=arg1 ], cost: 1+arg2P_3 12: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_5, arg2'=arg2P_3-k_3*x22_1-k_3, arg3'=arg2P_3-k_3-(-1+k_3)*x22_1-x22_1, arg4'=arg2, arg5'=2+k_3, arg6'=arg2, [ arg2>1 && arg2P_3>-1 && arg1>0 && x22_1>-1 && arg1P_5>0 && k_3>=1 && 1+arg2P_3-(-2+k_3)*x22_1-k_3-x22_1>0 && 1+k_3 f1_0_main_Load : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, arg6'=arg6P_6, [], cost: 1 Removed unreachable locations (and leaf rules with constant cost): Start location: __init 11: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_4, arg2'=0, arg3'=0, arg4'=arg2, arg5'=2, arg6'=arg2, [ 2-arg2==0 && arg1>0 && arg1P_4>0 && arg2P_3>=1 && arg1P_4<=arg1 ], cost: 1+arg2P_3 12: f1_0_main_Load -> f593_0_main_LE : arg1'=arg1P_5, arg2'=arg2P_3-k_3*x22_1-k_3, arg3'=arg2P_3-k_3-(-1+k_3)*x22_1-x22_1, arg4'=arg2, arg5'=2+k_3, arg6'=arg2, [ arg2>1 && arg2P_3>-1 && arg1>0 && x22_1>-1 && arg1P_5>0 && k_3>=1 && 1+arg2P_3-(-2+k_3)*x22_1-k_3-x22_1>0 && 1+k_3 f1_0_main_Load : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, arg6'=arg6P_6, [], cost: 1 Eliminated locations (on tree-shaped paths): Start location: __init 13: __init -> f593_0_main_LE : arg1'=arg1P_4, arg2'=0, arg3'=0, arg4'=arg2P_6, arg5'=2, arg6'=arg2P_6, [ 2-arg2P_6==0 && arg1P_6>0 && arg1P_4>0 && arg2P_3>=1 && arg1P_4<=arg1P_6 ], cost: 2+arg2P_3 14: __init -> f593_0_main_LE : arg1'=arg1P_5, arg2'=arg2P_3-k_3*x22_1-k_3, arg3'=arg2P_3-k_3-(-1+k_3)*x22_1-x22_1, arg4'=arg2P_6, arg5'=2+k_3, arg6'=arg2P_6, [ arg2P_6>1 && arg2P_3>-1 && arg1P_6>0 && x22_1>-1 && arg1P_5>0 && k_3>=1 && 1+arg2P_3-(-2+k_3)*x22_1-k_3-x22_1>0 && 1+k_3 f593_0_main_LE : arg1'=arg1P_4, arg2'=0, arg3'=0, arg4'=arg2P_6, arg5'=2, arg6'=arg2P_6, [ 2-arg2P_6==0 && arg1P_6>0 && arg1P_4>0 && arg2P_3>=1 && arg1P_4<=arg1P_6 ], cost: 2+arg2P_3 14: __init -> f593_0_main_LE : arg1'=arg1P_5, arg2'=arg2P_3-k_3*x22_1-k_3, arg3'=arg2P_3-k_3-(-1+k_3)*x22_1-x22_1, arg4'=arg2P_6, arg5'=2+k_3, arg6'=arg2P_6, [ arg2P_6>1 && arg2P_3>-1 && arg1P_6>0 && x22_1>-1 && arg1P_5>0 && k_3>=1 && 1+arg2P_3-(-2+k_3)*x22_1-k_3-x22_1>0 && 1+k_3 f593_0_main_LE : arg1'=arg1P_4, arg2'=0, arg3'=0, arg4'=arg2P_6, arg5'=2, arg6'=arg2P_6, [ 2-arg2P_6==0 && arg1P_4>0 && arg2P_3>=1 && arg1P_4<=arg1P_6 ], cost: 2+arg2P_3 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 14 Simplified the guard: 14: __init -> f593_0_main_LE : arg1'=arg1P_5, arg2'=arg2P_3-k_3*x22_1-k_3, arg3'=arg2P_3-k_3-(-1+k_3)*x22_1-x22_1, arg4'=arg2P_6, arg5'=2+k_3, arg6'=arg2P_6, [ x22_1>-1 && arg1P_5>0 && k_3>=1 && 1+arg2P_3-(-2+k_3)*x22_1-k_3-x22_1>0 && 1+k_3