WORST_CASE(INF,?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: __init 0: f1_0_main_Load -> f795_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, [ arg1P_1<=arg1 && arg2P_1<=arg1 && arg1>0 && arg1P_1>0 && arg2P_1>0 && 0==arg2 && 0==arg3P_1 && 0==arg4P_1 && 0==arg5P_1 && 0==arg6P_1 && 0==arg7P_1 && 0==arg8P_1 ], cost: 1 1: f1_0_main_Load -> f795_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, [ arg1P_2<=arg1 && x6_1>-1 && arg2P_2<=arg1 && arg1>0 && arg1P_2>0 && arg2P_2>0 && 1==arg2 && 0==arg3P_2 && 0==arg4P_2 && 1==arg5P_2 && 1==arg6P_2 && 1==arg7P_2 && 0==arg8P_2 ], cost: 1 2: f1_0_main_Load -> f795_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, [ x11_1>-1 && arg2>1 && x12_1*x11_1>=0 && x12_1>-1 && arg1P_3<=arg1 && arg1>=arg2P_3 && arg1>0 && arg1P_3>0 && arg2P_3>0 && 0==arg3P_3 && x12_1*x11_1==arg4P_3 && arg2==arg5P_3 && 2==arg6P_3 && arg2==arg7P_3 && x12_1*x11_1==arg8P_3 ], cost: 1 3: f795_0_main_GE -> f795_0_main_GE : arg1'=arg1P_4, arg2'=arg2P_4, arg3'=arg3P_4, arg4'=arg4P_4, arg5'=arg5P_4, arg6'=arg6P_4, arg7'=arg7P_4, arg8'=arg8P_4, [ arg4>arg3 && arg5>-1 && arg6>=arg5 && arg4>-1 && arg1P_4<=arg1 && arg1P_4<=arg2 && arg2P_4<=arg1 && arg2P_4<=arg2 && arg1>0 && arg2>0 && arg1P_4>0 && arg2P_4>0 && arg5==arg7 && arg4==arg8 && 1+arg3==arg3P_4 && arg4==arg4P_4 && arg5==arg5P_4 && arg6==arg6P_4 && arg5==arg7P_4 && arg4==arg8P_4 ], cost: 1 4: f795_0_main_GE -> f795_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, [ arg4>arg3 && arg5>-1 && arg6>-1 && arg6-1 && arg1P_5<=arg1 && arg1P_5<=arg2 && arg2P_5<=arg1 && arg2P_5<=arg2 && arg1>0 && arg2>0 && arg1P_5>0 && arg2P_5>0 && arg5==arg7 && arg4==arg8 && 1+arg3==arg3P_5 && arg4==arg4P_5 && arg5==arg5P_5 && 1+arg6==arg6P_5 && arg5==arg7P_5 && arg4==arg8P_5 ], cost: 1 5: f795_0_main_GE -> f1421_0_sort_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, [ arg4>-1 && arg4<=arg3 && arg1P_6<=arg1 && arg1P_6<=arg2 && arg2P_6<=arg1 && arg2P_6<=arg2 && arg1>0 && arg2>0 && arg1P_6>0 && arg2P_6>0 && arg5==arg7 && arg4==arg8 && 1==arg3P_6 && arg4==arg4P_6 && arg4==arg5P_6 ], cost: 1 6: f1421_0_sort_GE -> f1421_0_sort_GE : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, arg5'=arg5P_7, arg6'=arg6P_7, arg7'=arg7P_7, arg8'=arg8P_7, [ -arg3+arg4>=1 && arg4>1 && arg3>0 && arg4>arg3 && arg1P_7<=arg1 && arg1P_7<=arg2 && arg2P_7<=arg1 && arg2P_7<=arg2 && arg1>0 && arg2>0 && arg1P_7>0 && arg2P_7>0 && 1+arg3==arg3P_7 && arg4==arg4P_7 && arg5==arg5P_7 ], cost: 1 7: f1421_0_sort_GE -> f1421_0_sort_GE : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, arg5'=arg5P_8, arg6'=arg6P_8, arg7'=arg7P_8, arg8'=arg8P_8, [ -arg3+arg4>=1 && arg4>1 && arg3>0 && arg4>arg3 && arg1P_8<=arg1 && arg1P_8<=arg2 && arg2P_8<=arg1 && arg2P_8<=arg2 && arg1>0 && arg2>0 && arg1P_8>0 && arg2P_8>0 && 1+arg3==arg3P_8 && arg4==arg4P_8 ], cost: 1 8: f1421_0_sort_GE -> f1445_0_aux_LT : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, arg5'=arg5P_9, arg6'=arg6P_9, arg7'=arg7P_9, arg8'=arg8P_9, [ -arg3+arg4>=1 && arg4>1 && arg3>0 && arg4>arg3 && arg3P_9<=arg1 && arg3P_9<=arg2 && arg1>0 && arg2>0 && arg3P_9>0 && 0==arg1P_9 && 0==arg2P_9 && 0==arg4P_9 && -arg3+arg4==arg5P_9 && arg5==arg6P_9 ], cost: 1 9: f1445_0_aux_LT -> f1611_0_aux_InvokeMethod : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, arg6'=arg6P_10, arg7'=arg7P_10, arg8'=arg8P_10, [ arg2>-1 && arg6>1+arg2 && arg5>arg2 && x69_1<=x68_1 && arg4P_10<=arg3 && arg3>0 && arg4P_10>0 && arg2==arg4 && arg1==arg1P_10 && 1+arg2==arg2P_10 && arg5==arg3P_10 && arg6==arg6P_10 ], cost: 1 10: f1445_0_aux_LT -> f1611_0_aux_InvokeMethod : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, arg6'=arg6P_11, arg7'=arg7P_11, arg8'=arg8P_11, [ arg2>-1 && arg6>1+arg2 && arg5>arg2 && x78_1>x77_1 && arg4P_11<=arg3 && arg3>0 && arg4P_11>0 && arg2==arg4 && arg1==arg1P_11 && 1+arg2==arg2P_11 && arg5==arg3P_11 && arg6==arg6P_11 ], cost: 1 11: f1611_0_aux_InvokeMethod -> f1445_0_aux_LT : arg1'=arg1P_12, arg2'=arg2P_12, arg3'=arg3P_12, arg4'=arg4P_12, arg5'=arg5P_12, arg6'=arg6P_12, arg7'=arg7P_12, arg8'=arg8P_12, [ arg3>0 && arg2>0 && arg3>=arg2 && arg3>=arg1 && arg3P_12<=arg4 && arg4>0 && arg3P_12>0 && arg2==arg1P_12 && arg2==arg2P_12 && arg2==arg4P_12 && arg3==arg5P_12 && arg6==arg6P_12 ], cost: 1 12: __init -> f1_0_main_Load : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, arg6'=arg6P_13, arg7'=arg7P_13, arg8'=arg8P_13, [], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 12: __init -> f1_0_main_Load : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, arg6'=arg6P_13, arg7'=arg7P_13, arg8'=arg8P_13, [], cost: 1 Simplified all rules, resulting in: Start location: __init 0: f1_0_main_Load -> f795_0_main_GE : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=0, arg4'=0, arg5'=0, arg6'=0, arg7'=0, arg8'=0, [ arg1P_1<=arg1 && arg2P_1<=arg1 && arg1>0 && arg1P_1>0 && arg2P_1>0 && 0==arg2 ], cost: 1 1: f1_0_main_Load -> f795_0_main_GE : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=0, arg4'=0, arg5'=1, arg6'=1, arg7'=1, arg8'=0, [ arg1P_2<=arg1 && arg2P_2<=arg1 && arg1>0 && arg1P_2>0 && arg2P_2>0 && 1==arg2 ], cost: 1 2: f1_0_main_Load -> f795_0_main_GE : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=0, arg4'=x12_1*x11_1, arg5'=arg2, arg6'=2, arg7'=arg2, arg8'=x12_1*x11_1, [ x11_1>-1 && arg2>1 && x12_1*x11_1>=0 && x12_1>-1 && arg1P_3<=arg1 && arg1>=arg2P_3 && arg1>0 && arg1P_3>0 && arg2P_3>0 ], cost: 1 3: f795_0_main_GE -> f795_0_main_GE : arg1'=arg1P_4, arg2'=arg2P_4, arg3'=1+arg3, arg7'=arg5, arg8'=arg4, [ arg4>arg3 && arg5>-1 && arg6>=arg5 && arg4>-1 && arg1P_4<=arg1 && arg1P_4<=arg2 && arg2P_4<=arg1 && arg2P_4<=arg2 && arg1>0 && arg2>0 && arg1P_4>0 && arg2P_4>0 && arg5==arg7 && arg4==arg8 ], cost: 1 4: f795_0_main_GE -> f795_0_main_GE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=1+arg3, arg6'=1+arg6, arg7'=arg5, arg8'=arg4, [ arg4>arg3 && arg6>-1 && arg6-1 && arg1P_5<=arg1 && arg1P_5<=arg2 && arg2P_5<=arg1 && arg2P_5<=arg2 && arg1>0 && arg2>0 && arg1P_5>0 && arg2P_5>0 && arg5==arg7 && arg4==arg8 ], cost: 1 5: f795_0_main_GE -> f1421_0_sort_GE : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=1, arg5'=arg4, arg6'=arg6P_6, arg7'=arg7P_6, arg8'=arg8P_6, [ arg4>-1 && arg4<=arg3 && arg1P_6<=arg1 && arg1P_6<=arg2 && arg2P_6<=arg1 && arg2P_6<=arg2 && arg1>0 && arg2>0 && arg1P_6>0 && arg2P_6>0 && arg5==arg7 && arg4==arg8 ], cost: 1 6: f1421_0_sort_GE -> f1421_0_sort_GE : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=1+arg3, arg6'=arg6P_7, arg7'=arg7P_7, arg8'=arg8P_7, [ -arg3+arg4>=1 && arg4>1 && arg3>0 && arg1P_7<=arg1 && arg1P_7<=arg2 && arg2P_7<=arg1 && arg2P_7<=arg2 && arg1>0 && arg2>0 && arg1P_7>0 && arg2P_7>0 ], cost: 1 7: f1421_0_sort_GE -> f1421_0_sort_GE : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=1+arg3, arg5'=arg5P_8, arg6'=arg6P_8, arg7'=arg7P_8, arg8'=arg8P_8, [ -arg3+arg4>=1 && arg4>1 && arg3>0 && arg1P_8<=arg1 && arg1P_8<=arg2 && arg2P_8<=arg1 && arg2P_8<=arg2 && arg1>0 && arg2>0 && arg1P_8>0 && arg2P_8>0 ], cost: 1 8: f1421_0_sort_GE -> f1445_0_aux_LT : arg1'=0, arg2'=0, arg3'=arg3P_9, arg4'=0, arg5'=-arg3+arg4, arg6'=arg5, arg7'=arg7P_9, arg8'=arg8P_9, [ -arg3+arg4>=1 && arg4>1 && arg3>0 && arg3P_9<=arg1 && arg3P_9<=arg2 && arg1>0 && arg2>0 && arg3P_9>0 ], cost: 1 9: f1445_0_aux_LT -> f1611_0_aux_InvokeMethod : arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_10, arg5'=arg5P_10, arg7'=arg7P_10, arg8'=arg8P_10, [ arg2>-1 && arg6>1+arg2 && arg5>arg2 && arg4P_10<=arg3 && arg3>0 && arg4P_10>0 && arg2==arg4 ], cost: 1 10: f1445_0_aux_LT -> f1611_0_aux_InvokeMethod : arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_11, arg5'=arg5P_11, arg7'=arg7P_11, arg8'=arg8P_11, [ arg2>-1 && arg6>1+arg2 && arg5>arg2 && arg4P_11<=arg3 && arg3>0 && arg4P_11>0 && arg2==arg4 ], cost: 1 11: f1611_0_aux_InvokeMethod -> f1445_0_aux_LT : arg1'=arg2, arg3'=arg3P_12, arg4'=arg2, arg5'=arg3, arg7'=arg7P_12, arg8'=arg8P_12, [ arg2>0 && arg3>=arg2 && arg3>=arg1 && arg3P_12<=arg4 && arg4>0 && arg3P_12>0 ], cost: 1 12: __init -> f1_0_main_Load : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, arg6'=arg6P_13, arg7'=arg7P_13, arg8'=arg8P_13, [], cost: 1 ### Simplification by acceleration and chaining ### Accelerating simple loops of location 1. Accelerating the following rules: 3: f795_0_main_GE -> f795_0_main_GE : arg1'=arg1P_4, arg2'=arg2P_4, arg3'=1+arg3, arg7'=arg5, arg8'=arg4, [ arg4>arg3 && arg5>-1 && arg6>=arg5 && arg4>-1 && arg1P_4<=arg1 && arg1P_4<=arg2 && arg2P_4<=arg1 && arg2P_4<=arg2 && arg1>0 && arg2>0 && arg1P_4>0 && arg2P_4>0 && arg5==arg7 && arg4==arg8 ], cost: 1 4: f795_0_main_GE -> f795_0_main_GE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=1+arg3, arg6'=1+arg6, arg7'=arg5, arg8'=arg4, [ arg4>arg3 && arg6>-1 && arg6-1 && arg1P_5<=arg1 && arg1P_5<=arg2 && arg2P_5<=arg1 && arg2P_5<=arg2 && arg1>0 && arg2>0 && arg1P_5>0 && arg2P_5>0 && arg5==arg7 && arg4==arg8 ], cost: 1 During metering: Instantiating temporary variables by {arg2P_4==arg1,arg1P_4==arg2} Accelerated rule 3 with metering function -arg3+arg4, yielding the new rule 13. Found no metering function for rule 4. Removing the simple loops: 3. Accelerating simple loops of location 2. Accelerating the following rules: 6: f1421_0_sort_GE -> f1421_0_sort_GE : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=1+arg3, arg6'=arg6P_7, arg7'=arg7P_7, arg8'=arg8P_7, [ -arg3+arg4>=1 && arg4>1 && arg3>0 && arg1P_7<=arg1 && arg1P_7<=arg2 && arg2P_7<=arg1 && arg2P_7<=arg2 && arg1>0 && arg2>0 && arg1P_7>0 && arg2P_7>0 ], cost: 1 7: f1421_0_sort_GE -> f1421_0_sort_GE : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=1+arg3, arg5'=arg5P_8, arg6'=arg6P_8, arg7'=arg7P_8, arg8'=arg8P_8, [ -arg3+arg4>=1 && arg4>1 && arg3>0 && arg1P_8<=arg1 && arg1P_8<=arg2 && arg2P_8<=arg1 && arg2P_8<=arg2 && arg1>0 && arg2>0 && arg1P_8>0 && arg2P_8>0 ], cost: 1 During metering: Instantiating temporary variables by {arg1P_7==arg2,arg2P_7==arg1} Accelerated rule 6 with metering function -arg3+arg4, yielding the new rule 14. During metering: Instantiating temporary variables by {arg2P_8==arg1,arg1P_8==arg2} Accelerated rule 7 with metering function -arg3+arg4, yielding the new rule 15. Removing the simple loops: 6 7. Accelerated all simple loops using metering functions (where possible): Start location: __init 0: f1_0_main_Load -> f795_0_main_GE : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=0, arg4'=0, arg5'=0, arg6'=0, arg7'=0, arg8'=0, [ arg1P_1<=arg1 && arg2P_1<=arg1 && arg1>0 && arg1P_1>0 && arg2P_1>0 && 0==arg2 ], cost: 1 1: f1_0_main_Load -> f795_0_main_GE : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=0, arg4'=0, arg5'=1, arg6'=1, arg7'=1, arg8'=0, [ arg1P_2<=arg1 && arg2P_2<=arg1 && arg1>0 && arg1P_2>0 && arg2P_2>0 && 1==arg2 ], cost: 1 2: f1_0_main_Load -> f795_0_main_GE : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=0, arg4'=x12_1*x11_1, arg5'=arg2, arg6'=2, arg7'=arg2, arg8'=x12_1*x11_1, [ x11_1>-1 && arg2>1 && x12_1*x11_1>=0 && x12_1>-1 && arg1P_3<=arg1 && arg1>=arg2P_3 && arg1>0 && arg1P_3>0 && arg2P_3>0 ], cost: 1 4: f795_0_main_GE -> f795_0_main_GE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=1+arg3, arg6'=1+arg6, arg7'=arg5, arg8'=arg4, [ arg4>arg3 && arg6>-1 && arg6-1 && arg1P_5<=arg1 && arg1P_5<=arg2 && arg2P_5<=arg1 && arg2P_5<=arg2 && arg1>0 && arg2>0 && arg1P_5>0 && arg2P_5>0 && arg5==arg7 && arg4==arg8 ], cost: 1 5: f795_0_main_GE -> f1421_0_sort_GE : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=1, arg5'=arg4, arg6'=arg6P_6, arg7'=arg7P_6, arg8'=arg8P_6, [ arg4>-1 && arg4<=arg3 && arg1P_6<=arg1 && arg1P_6<=arg2 && arg2P_6<=arg1 && arg2P_6<=arg2 && arg1>0 && arg2>0 && arg1P_6>0 && arg2P_6>0 && arg5==arg7 && arg4==arg8 ], cost: 1 13: f795_0_main_GE -> f795_0_main_GE : arg1'=arg1, arg2'=arg1, arg3'=arg4, arg7'=arg5, arg8'=arg4, [ arg4>arg3 && arg5>-1 && arg6>=arg5 && arg4>-1 && arg1>0 && arg2>0 && arg5==arg7 && arg4==arg8 && arg2==arg1 ], cost: -arg3+arg4 8: f1421_0_sort_GE -> f1445_0_aux_LT : arg1'=0, arg2'=0, arg3'=arg3P_9, arg4'=0, arg5'=-arg3+arg4, arg6'=arg5, arg7'=arg7P_9, arg8'=arg8P_9, [ -arg3+arg4>=1 && arg4>1 && arg3>0 && arg3P_9<=arg1 && arg3P_9<=arg2 && arg1>0 && arg2>0 && arg3P_9>0 ], cost: 1 14: f1421_0_sort_GE -> f1421_0_sort_GE : arg1'=arg1, arg2'=arg1, arg3'=arg4, arg6'=arg6P_7, arg7'=arg7P_7, arg8'=arg8P_7, [ -arg3+arg4>=1 && arg4>1 && arg3>0 && arg1>0 && arg2>0 && arg2==arg1 ], cost: -arg3+arg4 15: f1421_0_sort_GE -> f1421_0_sort_GE : arg1'=arg1, arg2'=arg1, arg3'=arg4, arg5'=arg5P_8, arg6'=arg6P_8, arg7'=arg7P_8, arg8'=arg8P_8, [ -arg3+arg4>=1 && arg4>1 && arg3>0 && arg1>0 && arg2>0 && arg2==arg1 ], cost: -arg3+arg4 9: f1445_0_aux_LT -> f1611_0_aux_InvokeMethod : arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_10, arg5'=arg5P_10, arg7'=arg7P_10, arg8'=arg8P_10, [ arg2>-1 && arg6>1+arg2 && arg5>arg2 && arg4P_10<=arg3 && arg3>0 && arg4P_10>0 && arg2==arg4 ], cost: 1 10: f1445_0_aux_LT -> f1611_0_aux_InvokeMethod : arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_11, arg5'=arg5P_11, arg7'=arg7P_11, arg8'=arg8P_11, [ arg2>-1 && arg6>1+arg2 && arg5>arg2 && arg4P_11<=arg3 && arg3>0 && arg4P_11>0 && arg2==arg4 ], cost: 1 11: f1611_0_aux_InvokeMethod -> f1445_0_aux_LT : arg1'=arg2, arg3'=arg3P_12, arg4'=arg2, arg5'=arg3, arg7'=arg7P_12, arg8'=arg8P_12, [ arg2>0 && arg3>=arg2 && arg3>=arg1 && arg3P_12<=arg4 && arg4>0 && arg3P_12>0 ], cost: 1 12: __init -> f1_0_main_Load : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, arg6'=arg6P_13, arg7'=arg7P_13, arg8'=arg8P_13, [], cost: 1 Chained accelerated rules (with incoming rules): Start location: __init 0: f1_0_main_Load -> f795_0_main_GE : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=0, arg4'=0, arg5'=0, arg6'=0, arg7'=0, arg8'=0, [ arg1P_1<=arg1 && arg2P_1<=arg1 && arg1>0 && arg1P_1>0 && arg2P_1>0 && 0==arg2 ], cost: 1 1: f1_0_main_Load -> f795_0_main_GE : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=0, arg4'=0, arg5'=1, arg6'=1, arg7'=1, arg8'=0, [ arg1P_2<=arg1 && arg2P_2<=arg1 && arg1>0 && arg1P_2>0 && arg2P_2>0 && 1==arg2 ], cost: 1 2: f1_0_main_Load -> f795_0_main_GE : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=0, arg4'=x12_1*x11_1, arg5'=arg2, arg6'=2, arg7'=arg2, arg8'=x12_1*x11_1, [ x11_1>-1 && arg2>1 && x12_1*x11_1>=0 && x12_1>-1 && arg1P_3<=arg1 && arg1>=arg2P_3 && arg1>0 && arg1P_3>0 && arg2P_3>0 ], cost: 1 16: f1_0_main_Load -> f795_0_main_GE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=1, arg4'=x12_1*x11_1, arg5'=arg2, arg6'=3, arg7'=arg2, arg8'=x12_1*x11_1, [ x11_1>-1 && x12_1>-1 && arg1>0 && x12_1*x11_1>0 && 20 && arg2P_5>0 && arg1P_5<=arg1 && arg2P_5<=arg1 ], cost: 2 17: f1_0_main_Load -> f795_0_main_GE : arg1'=arg2P_3, arg2'=arg2P_3, arg3'=x12_1*x11_1, arg4'=x12_1*x11_1, arg5'=arg2, arg6'=2, arg7'=arg2, arg8'=x12_1*x11_1, [ x11_1>-1 && 2-arg2==0 && x12_1>-1 && arg2P_3<=arg1 && arg1>0 && arg2P_3>0 && x12_1*x11_1>0 ], cost: 1+x12_1*x11_1 5: f795_0_main_GE -> f1421_0_sort_GE : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=1, arg5'=arg4, arg6'=arg6P_6, arg7'=arg7P_6, arg8'=arg8P_6, [ arg4>-1 && arg4<=arg3 && arg1P_6<=arg1 && arg1P_6<=arg2 && arg2P_6<=arg1 && arg2P_6<=arg2 && arg1>0 && arg2>0 && arg1P_6>0 && arg2P_6>0 && arg5==arg7 && arg4==arg8 ], cost: 1 18: f795_0_main_GE -> f1421_0_sort_GE : arg1'=arg2P_6, arg2'=arg2P_6, arg3'=arg4, arg5'=arg4, arg6'=arg6P_7, arg7'=arg7P_7, arg8'=arg8P_7, [ arg4<=arg3 && arg2P_6<=arg1 && arg2P_6<=arg2 && arg1>0 && arg2>0 && arg2P_6>0 && arg5==arg7 && arg4==arg8 && -1+arg4>=1 ], cost: arg4 19: f795_0_main_GE -> f1421_0_sort_GE : arg1'=arg2P_6, arg2'=arg2P_6, arg3'=arg4, arg5'=arg5P_8, arg6'=arg6P_8, arg7'=arg7P_8, arg8'=arg8P_8, [ arg4<=arg3 && arg2P_6<=arg1 && arg2P_6<=arg2 && arg1>0 && arg2>0 && arg2P_6>0 && arg5==arg7 && arg4==arg8 && -1+arg4>=1 ], cost: arg4 8: f1421_0_sort_GE -> f1445_0_aux_LT : arg1'=0, arg2'=0, arg3'=arg3P_9, arg4'=0, arg5'=-arg3+arg4, arg6'=arg5, arg7'=arg7P_9, arg8'=arg8P_9, [ -arg3+arg4>=1 && arg4>1 && arg3>0 && arg3P_9<=arg1 && arg3P_9<=arg2 && arg1>0 && arg2>0 && arg3P_9>0 ], cost: 1 9: f1445_0_aux_LT -> f1611_0_aux_InvokeMethod : arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_10, arg5'=arg5P_10, arg7'=arg7P_10, arg8'=arg8P_10, [ arg2>-1 && arg6>1+arg2 && arg5>arg2 && arg4P_10<=arg3 && arg3>0 && arg4P_10>0 && arg2==arg4 ], cost: 1 10: f1445_0_aux_LT -> f1611_0_aux_InvokeMethod : arg2'=1+arg2, arg3'=arg5, arg4'=arg4P_11, arg5'=arg5P_11, arg7'=arg7P_11, arg8'=arg8P_11, [ arg2>-1 && arg6>1+arg2 && arg5>arg2 && arg4P_11<=arg3 && arg3>0 && arg4P_11>0 && arg2==arg4 ], cost: 1 11: f1611_0_aux_InvokeMethod -> f1445_0_aux_LT : arg1'=arg2, arg3'=arg3P_12, arg4'=arg2, arg5'=arg3, arg7'=arg7P_12, arg8'=arg8P_12, [ arg2>0 && arg3>=arg2 && arg3>=arg1 && arg3P_12<=arg4 && arg4>0 && arg3P_12>0 ], cost: 1 12: __init -> f1_0_main_Load : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, arg6'=arg6P_13, arg7'=arg7P_13, arg8'=arg8P_13, [], cost: 1 Eliminated locations (on tree-shaped paths): Start location: __init 25: f795_0_main_GE -> f1445_0_aux_LT : arg1'=0, arg2'=0, arg3'=arg3P_9, arg4'=0, arg5'=-1+arg4, arg6'=arg4, arg7'=arg7P_9, arg8'=arg8P_9, [ arg4<=arg3 && arg1P_6<=arg1 && arg1P_6<=arg2 && arg2P_6<=arg1 && arg2P_6<=arg2 && arg1>0 && arg2>0 && arg1P_6>0 && arg2P_6>0 && arg5==arg7 && arg4==arg8 && -1+arg4>=1 && arg3P_9<=arg1P_6 && arg3P_9<=arg2P_6 && arg3P_9>0 ], cost: 2 26: f795_0_main_GE -> [8] : [ arg4<=arg3 && arg2P_6<=arg1 && arg2P_6<=arg2 && arg1>0 && arg2>0 && arg2P_6>0 && arg5==arg7 && arg4==arg8 && -1+arg4>=1 ], cost: arg4 27: f795_0_main_GE -> [8] : [ arg4<=arg3 && arg2P_6<=arg1 && arg2P_6<=arg2 && arg1>0 && arg2>0 && arg2P_6>0 && arg5==arg7 && arg4==arg8 && -1+arg4>=1 ], cost: arg4 28: f1445_0_aux_LT -> f1445_0_aux_LT : arg1'=1+arg2, arg2'=1+arg2, arg3'=arg3P_12, arg4'=1+arg2, arg5'=arg5, arg7'=arg7P_12, arg8'=arg8P_12, [ arg2>-1 && arg6>1+arg2 && arg5>arg2 && arg4P_10<=arg3 && arg3>0 && arg4P_10>0 && arg2==arg4 && arg5>=arg1 && arg3P_12<=arg4P_10 && arg3P_12>0 ], cost: 2 29: f1445_0_aux_LT -> f1445_0_aux_LT : arg1'=1+arg2, arg2'=1+arg2, arg3'=arg3P_12, arg4'=1+arg2, arg5'=arg5, arg7'=arg7P_12, arg8'=arg8P_12, [ arg2>-1 && arg6>1+arg2 && arg5>arg2 && arg4P_11<=arg3 && arg3>0 && arg4P_11>0 && arg2==arg4 && arg5>=arg1 && arg3P_12<=arg4P_11 && arg3P_12>0 ], cost: 2 20: __init -> f795_0_main_GE : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=0, arg4'=0, arg5'=0, arg6'=0, arg7'=0, arg8'=0, [ arg1P_1<=arg1P_13 && arg2P_1<=arg1P_13 && arg1P_13>0 && arg1P_1>0 && arg2P_1>0 && 0==arg2P_13 ], cost: 2 21: __init -> f795_0_main_GE : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=0, arg4'=0, arg5'=1, arg6'=1, arg7'=1, arg8'=0, [ arg1P_2<=arg1P_13 && arg2P_2<=arg1P_13 && arg1P_13>0 && arg1P_2>0 && arg2P_2>0 && 1==arg2P_13 ], cost: 2 22: __init -> f795_0_main_GE : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=0, arg4'=x12_1*x11_1, arg5'=arg2P_13, arg6'=2, arg7'=arg2P_13, arg8'=x12_1*x11_1, [ x11_1>-1 && arg2P_13>1 && x12_1*x11_1>=0 && x12_1>-1 && arg1P_3<=arg1P_13 && arg1P_13>=arg2P_3 && arg1P_13>0 && arg1P_3>0 && arg2P_3>0 ], cost: 2 23: __init -> f795_0_main_GE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=1, arg4'=x12_1*x11_1, arg5'=arg2P_13, arg6'=3, arg7'=arg2P_13, arg8'=x12_1*x11_1, [ x11_1>-1 && x12_1>-1 && arg1P_13>0 && x12_1*x11_1>0 && 20 && arg2P_5>0 && arg1P_5<=arg1P_13 && arg2P_5<=arg1P_13 ], cost: 3 24: __init -> f795_0_main_GE : arg1'=arg2P_3, arg2'=arg2P_3, arg3'=x12_1*x11_1, arg4'=x12_1*x11_1, arg5'=arg2P_13, arg6'=2, arg7'=arg2P_13, arg8'=x12_1*x11_1, [ x11_1>-1 && 2-arg2P_13==0 && x12_1>-1 && arg2P_3<=arg1P_13 && arg1P_13>0 && arg2P_3>0 && x12_1*x11_1>0 ], cost: 2+x12_1*x11_1 Accelerating simple loops of location 3. Simplified some of the simple loops (and removed duplicate rules). Accelerating the following rules: 29: f1445_0_aux_LT -> f1445_0_aux_LT : arg1'=1+arg2, arg2'=1+arg2, arg3'=arg3P_12, arg4'=1+arg2, arg7'=arg7P_12, arg8'=arg8P_12, [ arg2>-1 && arg6>1+arg2 && arg5>arg2 && arg3>0 && arg2==arg4 && arg5>=arg1 && arg3P_12>0 && arg3P_12<=arg3 ], cost: 2 Found no metering function for rule 29. Removing the simple loops:. Accelerated all simple loops using metering functions (where possible): Start location: __init 25: f795_0_main_GE -> f1445_0_aux_LT : arg1'=0, arg2'=0, arg3'=arg3P_9, arg4'=0, arg5'=-1+arg4, arg6'=arg4, arg7'=arg7P_9, arg8'=arg8P_9, [ arg4<=arg3 && arg1P_6<=arg1 && arg1P_6<=arg2 && arg2P_6<=arg1 && arg2P_6<=arg2 && arg1>0 && arg2>0 && arg1P_6>0 && arg2P_6>0 && arg5==arg7 && arg4==arg8 && -1+arg4>=1 && arg3P_9<=arg1P_6 && arg3P_9<=arg2P_6 && arg3P_9>0 ], cost: 2 27: f795_0_main_GE -> [8] : [ arg4<=arg3 && arg2P_6<=arg1 && arg2P_6<=arg2 && arg1>0 && arg2>0 && arg2P_6>0 && arg5==arg7 && arg4==arg8 && -1+arg4>=1 ], cost: arg4 29: f1445_0_aux_LT -> f1445_0_aux_LT : arg1'=1+arg2, arg2'=1+arg2, arg3'=arg3P_12, arg4'=1+arg2, arg7'=arg7P_12, arg8'=arg8P_12, [ arg2>-1 && arg6>1+arg2 && arg5>arg2 && arg3>0 && arg2==arg4 && arg5>=arg1 && arg3P_12>0 && arg3P_12<=arg3 ], cost: 2 20: __init -> f795_0_main_GE : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=0, arg4'=0, arg5'=0, arg6'=0, arg7'=0, arg8'=0, [ arg1P_1<=arg1P_13 && arg2P_1<=arg1P_13 && arg1P_13>0 && arg1P_1>0 && arg2P_1>0 && 0==arg2P_13 ], cost: 2 21: __init -> f795_0_main_GE : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=0, arg4'=0, arg5'=1, arg6'=1, arg7'=1, arg8'=0, [ arg1P_2<=arg1P_13 && arg2P_2<=arg1P_13 && arg1P_13>0 && arg1P_2>0 && arg2P_2>0 && 1==arg2P_13 ], cost: 2 22: __init -> f795_0_main_GE : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=0, arg4'=x12_1*x11_1, arg5'=arg2P_13, arg6'=2, arg7'=arg2P_13, arg8'=x12_1*x11_1, [ x11_1>-1 && arg2P_13>1 && x12_1*x11_1>=0 && x12_1>-1 && arg1P_3<=arg1P_13 && arg1P_13>=arg2P_3 && arg1P_13>0 && arg1P_3>0 && arg2P_3>0 ], cost: 2 23: __init -> f795_0_main_GE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=1, arg4'=x12_1*x11_1, arg5'=arg2P_13, arg6'=3, arg7'=arg2P_13, arg8'=x12_1*x11_1, [ x11_1>-1 && x12_1>-1 && arg1P_13>0 && x12_1*x11_1>0 && 20 && arg2P_5>0 && arg1P_5<=arg1P_13 && arg2P_5<=arg1P_13 ], cost: 3 24: __init -> f795_0_main_GE : arg1'=arg2P_3, arg2'=arg2P_3, arg3'=x12_1*x11_1, arg4'=x12_1*x11_1, arg5'=arg2P_13, arg6'=2, arg7'=arg2P_13, arg8'=x12_1*x11_1, [ x11_1>-1 && 2-arg2P_13==0 && x12_1>-1 && arg2P_3<=arg1P_13 && arg1P_13>0 && arg2P_3>0 && x12_1*x11_1>0 ], cost: 2+x12_1*x11_1 Chained accelerated rules (with incoming rules): Start location: __init 25: f795_0_main_GE -> f1445_0_aux_LT : arg1'=0, arg2'=0, arg3'=arg3P_9, arg4'=0, arg5'=-1+arg4, arg6'=arg4, arg7'=arg7P_9, arg8'=arg8P_9, [ arg4<=arg3 && arg1P_6<=arg1 && arg1P_6<=arg2 && arg2P_6<=arg1 && arg2P_6<=arg2 && arg1>0 && arg2>0 && arg1P_6>0 && arg2P_6>0 && arg5==arg7 && arg4==arg8 && -1+arg4>=1 && arg3P_9<=arg1P_6 && arg3P_9<=arg2P_6 && arg3P_9>0 ], cost: 2 27: f795_0_main_GE -> [8] : [ arg4<=arg3 && arg2P_6<=arg1 && arg2P_6<=arg2 && arg1>0 && arg2>0 && arg2P_6>0 && arg5==arg7 && arg4==arg8 && -1+arg4>=1 ], cost: arg4 30: f795_0_main_GE -> f1445_0_aux_LT : arg1'=1, arg2'=1, arg3'=arg3P_12, arg4'=1, arg5'=-1+arg4, arg6'=arg4, arg7'=arg7P_12, arg8'=arg8P_12, [ arg4<=arg3 && arg1>0 && arg2>0 && arg5==arg7 && arg4==arg8 && -1+arg4>=1 && arg3P_12>0 && arg3P_12<=arg1 && arg3P_12<=arg2 ], cost: 4 20: __init -> f795_0_main_GE : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=0, arg4'=0, arg5'=0, arg6'=0, arg7'=0, arg8'=0, [ arg1P_1<=arg1P_13 && arg2P_1<=arg1P_13 && arg1P_13>0 && arg1P_1>0 && arg2P_1>0 && 0==arg2P_13 ], cost: 2 21: __init -> f795_0_main_GE : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=0, arg4'=0, arg5'=1, arg6'=1, arg7'=1, arg8'=0, [ arg1P_2<=arg1P_13 && arg2P_2<=arg1P_13 && arg1P_13>0 && arg1P_2>0 && arg2P_2>0 && 1==arg2P_13 ], cost: 2 22: __init -> f795_0_main_GE : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=0, arg4'=x12_1*x11_1, arg5'=arg2P_13, arg6'=2, arg7'=arg2P_13, arg8'=x12_1*x11_1, [ x11_1>-1 && arg2P_13>1 && x12_1*x11_1>=0 && x12_1>-1 && arg1P_3<=arg1P_13 && arg1P_13>=arg2P_3 && arg1P_13>0 && arg1P_3>0 && arg2P_3>0 ], cost: 2 23: __init -> f795_0_main_GE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=1, arg4'=x12_1*x11_1, arg5'=arg2P_13, arg6'=3, arg7'=arg2P_13, arg8'=x12_1*x11_1, [ x11_1>-1 && x12_1>-1 && arg1P_13>0 && x12_1*x11_1>0 && 20 && arg2P_5>0 && arg1P_5<=arg1P_13 && arg2P_5<=arg1P_13 ], cost: 3 24: __init -> f795_0_main_GE : arg1'=arg2P_3, arg2'=arg2P_3, arg3'=x12_1*x11_1, arg4'=x12_1*x11_1, arg5'=arg2P_13, arg6'=2, arg7'=arg2P_13, arg8'=x12_1*x11_1, [ x11_1>-1 && 2-arg2P_13==0 && x12_1>-1 && arg2P_3<=arg1P_13 && arg1P_13>0 && arg2P_3>0 && x12_1*x11_1>0 ], cost: 2+x12_1*x11_1 Removed unreachable locations (and leaf rules with constant cost): Start location: __init 27: f795_0_main_GE -> [8] : [ arg4<=arg3 && arg2P_6<=arg1 && arg2P_6<=arg2 && arg1>0 && arg2>0 && arg2P_6>0 && arg5==arg7 && arg4==arg8 && -1+arg4>=1 ], cost: arg4 20: __init -> f795_0_main_GE : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=0, arg4'=0, arg5'=0, arg6'=0, arg7'=0, arg8'=0, [ arg1P_1<=arg1P_13 && arg2P_1<=arg1P_13 && arg1P_13>0 && arg1P_1>0 && arg2P_1>0 && 0==arg2P_13 ], cost: 2 21: __init -> f795_0_main_GE : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=0, arg4'=0, arg5'=1, arg6'=1, arg7'=1, arg8'=0, [ arg1P_2<=arg1P_13 && arg2P_2<=arg1P_13 && arg1P_13>0 && arg1P_2>0 && arg2P_2>0 && 1==arg2P_13 ], cost: 2 22: __init -> f795_0_main_GE : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=0, arg4'=x12_1*x11_1, arg5'=arg2P_13, arg6'=2, arg7'=arg2P_13, arg8'=x12_1*x11_1, [ x11_1>-1 && arg2P_13>1 && x12_1*x11_1>=0 && x12_1>-1 && arg1P_3<=arg1P_13 && arg1P_13>=arg2P_3 && arg1P_13>0 && arg1P_3>0 && arg2P_3>0 ], cost: 2 23: __init -> f795_0_main_GE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=1, arg4'=x12_1*x11_1, arg5'=arg2P_13, arg6'=3, arg7'=arg2P_13, arg8'=x12_1*x11_1, [ x11_1>-1 && x12_1>-1 && arg1P_13>0 && x12_1*x11_1>0 && 20 && arg2P_5>0 && arg1P_5<=arg1P_13 && arg2P_5<=arg1P_13 ], cost: 3 24: __init -> f795_0_main_GE : arg1'=arg2P_3, arg2'=arg2P_3, arg3'=x12_1*x11_1, arg4'=x12_1*x11_1, arg5'=arg2P_13, arg6'=2, arg7'=arg2P_13, arg8'=x12_1*x11_1, [ x11_1>-1 && 2-arg2P_13==0 && x12_1>-1 && arg2P_3<=arg1P_13 && arg1P_13>0 && arg2P_3>0 && x12_1*x11_1>0 ], cost: 2+x12_1*x11_1 Eliminated locations (on tree-shaped paths): Start location: __init 31: __init -> [8] : arg1'=arg2P_3, arg2'=arg2P_3, arg3'=x12_1*x11_1, arg4'=x12_1*x11_1, arg5'=arg2P_13, arg6'=2, arg7'=arg2P_13, arg8'=x12_1*x11_1, [ x11_1>-1 && 2-arg2P_13==0 && x12_1>-1 && arg2P_3<=arg1P_13 && arg1P_13>0 && arg2P_3>0 && arg2P_6<=arg2P_3 && arg2P_6>0 && -1+x12_1*x11_1>=1 ], cost: 2+2*x12_1*x11_1 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: __init 31: __init -> [8] : arg1'=arg2P_3, arg2'=arg2P_3, arg3'=x12_1*x11_1, arg4'=x12_1*x11_1, arg5'=arg2P_13, arg6'=2, arg7'=arg2P_13, arg8'=x12_1*x11_1, [ x11_1>-1 && 2-arg2P_13==0 && x12_1>-1 && arg2P_3<=arg1P_13 && arg1P_13>0 && arg2P_3>0 && arg2P_6<=arg2P_3 && arg2P_6>0 && -1+x12_1*x11_1>=1 ], cost: 2+2*x12_1*x11_1 Computing asymptotic complexity for rule 31 Simplified the guard: 31: __init -> [8] : arg1'=arg2P_3, arg2'=arg2P_3, arg3'=x12_1*x11_1, arg4'=x12_1*x11_1, arg5'=arg2P_13, arg6'=2, arg7'=arg2P_13, arg8'=x12_1*x11_1, [ 2-arg2P_13==0 && x12_1>-1 && arg2P_3<=arg1P_13 && arg1P_13>0 && arg2P_6<=arg2P_3 && arg2P_6>0 && -1+x12_1*x11_1>=1 ], cost: 2+2*x12_1*x11_1 Solved the limit problem by the following transformations: Created initial limit problem: 1+x12_1 (+/+!), 1-arg2P_6+arg2P_3 (+/+!), 3-arg2P_13 (+/+!), arg2P_6 (+/+!), -1+x12_1*x11_1 (+/+!), 1+arg1P_13-arg2P_3 (+/+!), -1+arg2P_13 (+/+!), arg1P_13 (+/+!), 2+2*x12_1*x11_1 (+) [not solved] removing all constraints (solved by SMT) resulting limit problem: [solved] applying transformation rule (C) using substitution {arg2P_6==1,arg1P_13==1,arg2P_3==1,x12_1==1,x11_1==n,arg2P_13==2} resulting limit problem: [solved] Solution: arg2P_6 / 1 arg1P_13 / 1 arg2P_3 / 1 x12_1 / 1 x11_1 / n arg2P_13 / 2 Resulting cost 2+2*n has complexity: Unbounded Found new complexity Unbounded. Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Unbounded Cpx degree: Unbounded Solved cost: 2+2*n Rule cost: 2+2*x12_1*x11_1 Rule guard: [ 2-arg2P_13==0 && x12_1>-1 && arg2P_3<=arg1P_13 && arg1P_13>0 && arg2P_6<=arg2P_3 && arg2P_6>0 && -1+x12_1*x11_1>=1 ] WORST_CASE(INF,?)