WORST_CASE(INF,?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: __init 0: f1_0_main_Load -> f165_0_appendNewList_LE : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, arg5'=arg5P_1, [ arg2>0 && arg4P_1>-1 && arg1P_1<=arg1 && -5+arg2P_1<=arg1 && -3+arg3P_1<=arg1 && arg1>0 && arg1P_1>0 && arg2P_1>5 && arg3P_1>3 && 0==arg5P_1 ], cost: 1 1: f165_0_appendNewList_LE -> f200_0_random_ArrayAccess : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, arg5'=arg5P_2, [ arg4<2 && arg5>0 && x13_1>arg5 && x14_1>arg5 && arg1>0 && arg2>4 && arg3>2 && arg1P_2>4 ], cost: 1 2: f165_0_appendNewList_LE -> f200_0_random_ArrayAccess : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, arg5'=arg5P_3, [ -6+arg1P_3<=arg1 && arg4<2 && -1+arg1P_3<=arg2 && -3+arg1P_3<=arg3 && arg1>0 && arg2>5 && arg3>3 && arg1P_3>6 ], cost: 1 3: f165_0_appendNewList_LE -> f165_0_appendNewList_LE : arg1'=arg1P_4, arg2'=arg2P_4, arg3'=arg3P_4, arg4'=arg4P_4, arg5'=arg5P_4, [ arg5P_4>arg5 && arg5>0 && arg4>1 && arg1P_4<=arg1 && 4+arg1P_4<=arg2 && 2+arg1P_4<=arg3 && arg1>0 && arg2>4 && arg3>2 && arg1P_4>0 && arg2P_4>4 && arg3P_4>2 && -1+arg4==arg4P_4 ], cost: 1 4: f165_0_appendNewList_LE -> f165_0_appendNewList_LE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=arg4P_5, arg5'=arg5P_5, [ arg1P_5<=arg1 && arg4>1 && 5+arg1P_5<=arg2 && 3+arg1P_5<=arg3 && -7+arg2P_5<=arg1 && -2+arg2P_5<=arg2 && -4+arg2P_5<=arg3 && -5+arg3P_5<=arg1 && arg3P_5<=arg2 && -2+arg3P_5<=arg3 && arg1>0 && arg2>5 && arg3>3 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 && -1+arg4==arg4P_5 && 1==arg5P_5 ], cost: 1 5: f200_0_random_ArrayAccess -> f314_0_appendNewList_LE : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, [ arg2>1 && arg2P_6>-1 && 1+arg1P_6<=arg1 && arg1>4 && arg1P_6>3 && 0==arg3P_6 ], cost: 1 6: f314_0_appendNewList_LE -> f314_0_appendNewList_LE : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, arg5'=arg5P_7, [ arg3P_7>arg3 && arg3>0 && arg2>1 && arg1>2 && arg1P_7>2 && -1+arg2==arg2P_7 ], cost: 1 7: f314_0_appendNewList_LE -> f314_0_appendNewList_LE : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, arg5'=arg5P_8, [ -2+arg1P_8<=arg1 && arg2>1 && arg1>3 && arg1P_8>5 && -1+arg2==arg2P_8 && 1==arg3P_8 ], cost: 1 8: f314_0_appendNewList_LE -> f387_0_length_NULL : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, arg5'=arg5P_9, [ 2+arg1P_9<=arg1 && arg2<2 && arg1>2 && arg1P_9>0 ], cost: 1 9: f387_0_length_NULL -> f387_0_length_NULL : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ 1+arg1P_10<=arg1 && arg1>0 && arg1P_10>-1 ], cost: 1 10: __init -> f1_0_main_Load : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 10: __init -> f1_0_main_Load : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [], cost: 1 Simplified all rules, resulting in: Start location: __init 0: f1_0_main_Load -> f165_0_appendNewList_LE : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, arg5'=0, [ arg2>0 && arg4P_1>-1 && arg1P_1<=arg1 && -5+arg2P_1<=arg1 && -3+arg3P_1<=arg1 && arg1>0 && arg1P_1>0 && arg2P_1>5 && arg3P_1>3 ], cost: 1 1: f165_0_appendNewList_LE -> f200_0_random_ArrayAccess : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, arg5'=arg5P_2, [ arg4<2 && arg5>0 && arg1>0 && arg2>4 && arg3>2 && arg1P_2>4 ], cost: 1 2: f165_0_appendNewList_LE -> f200_0_random_ArrayAccess : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, arg5'=arg5P_3, [ -6+arg1P_3<=arg1 && arg4<2 && -1+arg1P_3<=arg2 && -3+arg1P_3<=arg3 && arg1>0 && arg2>5 && arg3>3 && arg1P_3>6 ], cost: 1 3: f165_0_appendNewList_LE -> f165_0_appendNewList_LE : arg1'=arg1P_4, arg2'=arg2P_4, arg3'=arg3P_4, arg4'=-1+arg4, arg5'=arg5P_4, [ arg5P_4>arg5 && arg5>0 && arg4>1 && arg1P_4<=arg1 && 4+arg1P_4<=arg2 && 2+arg1P_4<=arg3 && arg1>0 && arg2>4 && arg3>2 && arg1P_4>0 && arg2P_4>4 && arg3P_4>2 ], cost: 1 4: f165_0_appendNewList_LE -> f165_0_appendNewList_LE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=-1+arg4, arg5'=1, [ arg1P_5<=arg1 && arg4>1 && 5+arg1P_5<=arg2 && 3+arg1P_5<=arg3 && -7+arg2P_5<=arg1 && -2+arg2P_5<=arg2 && -4+arg2P_5<=arg3 && -5+arg3P_5<=arg1 && arg3P_5<=arg2 && -2+arg3P_5<=arg3 && arg1>0 && arg2>5 && arg3>3 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 ], cost: 1 5: f200_0_random_ArrayAccess -> f314_0_appendNewList_LE : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=0, arg4'=arg4P_6, arg5'=arg5P_6, [ arg2>1 && arg2P_6>-1 && 1+arg1P_6<=arg1 && arg1>4 && arg1P_6>3 ], cost: 1 6: f314_0_appendNewList_LE -> f314_0_appendNewList_LE : arg1'=arg1P_7, arg2'=-1+arg2, arg3'=arg3P_7, arg4'=arg4P_7, arg5'=arg5P_7, [ arg3P_7>arg3 && arg3>0 && arg2>1 && arg1>2 && arg1P_7>2 ], cost: 1 7: f314_0_appendNewList_LE -> f314_0_appendNewList_LE : arg1'=arg1P_8, arg2'=-1+arg2, arg3'=1, arg4'=arg4P_8, arg5'=arg5P_8, [ -2+arg1P_8<=arg1 && arg2>1 && arg1>3 && arg1P_8>5 ], cost: 1 8: f314_0_appendNewList_LE -> f387_0_length_NULL : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, arg5'=arg5P_9, [ 2+arg1P_9<=arg1 && arg2<2 && arg1>2 && arg1P_9>0 ], cost: 1 9: f387_0_length_NULL -> f387_0_length_NULL : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ 1+arg1P_10<=arg1 && arg1>0 && arg1P_10>-1 ], cost: 1 10: __init -> f1_0_main_Load : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [], cost: 1 ### Simplification by acceleration and chaining ### Accelerating simple loops of location 1. Accelerating the following rules: 3: f165_0_appendNewList_LE -> f165_0_appendNewList_LE : arg1'=arg1P_4, arg2'=arg2P_4, arg3'=arg3P_4, arg4'=-1+arg4, arg5'=arg5P_4, [ arg5P_4>arg5 && arg5>0 && arg4>1 && arg1P_4<=arg1 && 4+arg1P_4<=arg2 && 2+arg1P_4<=arg3 && arg1>0 && arg2>4 && arg3>2 && arg1P_4>0 && arg2P_4>4 && arg3P_4>2 ], cost: 1 4: f165_0_appendNewList_LE -> f165_0_appendNewList_LE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=-1+arg4, arg5'=1, [ arg1P_5<=arg1 && arg4>1 && 5+arg1P_5<=arg2 && 3+arg1P_5<=arg3 && -7+arg2P_5<=arg1 && -2+arg2P_5<=arg2 && -4+arg2P_5<=arg3 && -5+arg3P_5<=arg1 && arg3P_5<=arg2 && -2+arg3P_5<=arg3 && arg1>0 && arg2>5 && arg3>3 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 ], cost: 1 During metering: Instantiating temporary variables by {arg2P_4==5,arg3P_4==3,arg1P_4==-4+arg2,arg5P_4==1+arg5} Accelerated rule 3 with metering function -1+arg4, yielding the new rule 11. During metering: Instantiating temporary variables by {arg1P_5==-5+arg2,arg2P_5==4+arg3,arg3P_5==5+arg1} Found no metering function for rule 4 (rule is too complicated). Removing the simple loops: 3. Accelerating simple loops of location 3. Accelerating the following rules: 6: f314_0_appendNewList_LE -> f314_0_appendNewList_LE : arg1'=arg1P_7, arg2'=-1+arg2, arg3'=arg3P_7, arg4'=arg4P_7, arg5'=arg5P_7, [ arg3P_7>arg3 && arg3>0 && arg2>1 && arg1>2 && arg1P_7>2 ], cost: 1 7: f314_0_appendNewList_LE -> f314_0_appendNewList_LE : arg1'=arg1P_8, arg2'=-1+arg2, arg3'=1, arg4'=arg4P_8, arg5'=arg5P_8, [ -2+arg1P_8<=arg1 && arg2>1 && arg1>3 && arg1P_8>5 ], cost: 1 During metering: Instantiating temporary variables by {arg3P_7==1+arg3} Accelerated rule 6 with metering function -1+arg2, yielding the new rule 12. Accelerated rule 7 with metering function -1+arg2, yielding the new rule 13. Removing the simple loops: 6 7. Accelerating simple loops of location 4. Accelerating the following rules: 9: f387_0_length_NULL -> f387_0_length_NULL : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ 1+arg1P_10<=arg1 && arg1>0 && arg1P_10>-1 ], cost: 1 During metering: Instantiating temporary variables by {arg1P_10==-1+arg1} Accelerated rule 9 with metering function arg1, yielding the new rule 14. Removing the simple loops: 9. Accelerated all simple loops using metering functions (where possible): Start location: __init 0: f1_0_main_Load -> f165_0_appendNewList_LE : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, arg5'=0, [ arg2>0 && arg4P_1>-1 && arg1P_1<=arg1 && -5+arg2P_1<=arg1 && -3+arg3P_1<=arg1 && arg1>0 && arg1P_1>0 && arg2P_1>5 && arg3P_1>3 ], cost: 1 1: f165_0_appendNewList_LE -> f200_0_random_ArrayAccess : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, arg5'=arg5P_2, [ arg4<2 && arg5>0 && arg1>0 && arg2>4 && arg3>2 && arg1P_2>4 ], cost: 1 2: f165_0_appendNewList_LE -> f200_0_random_ArrayAccess : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, arg5'=arg5P_3, [ -6+arg1P_3<=arg1 && arg4<2 && -1+arg1P_3<=arg2 && -3+arg1P_3<=arg3 && arg1>0 && arg2>5 && arg3>3 && arg1P_3>6 ], cost: 1 4: f165_0_appendNewList_LE -> f165_0_appendNewList_LE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=-1+arg4, arg5'=1, [ arg1P_5<=arg1 && arg4>1 && 5+arg1P_5<=arg2 && 3+arg1P_5<=arg3 && -7+arg2P_5<=arg1 && -2+arg2P_5<=arg2 && -4+arg2P_5<=arg3 && -5+arg3P_5<=arg1 && arg3P_5<=arg2 && -2+arg3P_5<=arg3 && arg1>0 && arg2>5 && arg3>3 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 ], cost: 1 11: f165_0_appendNewList_LE -> f165_0_appendNewList_LE : arg1'=1, arg2'=5, arg3'=3, arg4'=1, arg5'=-1+arg4+arg5, [ arg5>0 && arg4>1 && -4+arg2<=arg1 && -2+arg2<=arg3 && arg1>0 && arg2>4 && arg3>2 ], cost: -1+arg4 5: f200_0_random_ArrayAccess -> f314_0_appendNewList_LE : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=0, arg4'=arg4P_6, arg5'=arg5P_6, [ arg2>1 && arg2P_6>-1 && 1+arg1P_6<=arg1 && arg1>4 && arg1P_6>3 ], cost: 1 8: f314_0_appendNewList_LE -> f387_0_length_NULL : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, arg5'=arg5P_9, [ 2+arg1P_9<=arg1 && arg2<2 && arg1>2 && arg1P_9>0 ], cost: 1 12: f314_0_appendNewList_LE -> f314_0_appendNewList_LE : arg1'=arg1P_7, arg2'=1, arg3'=-1+arg3+arg2, arg4'=arg4P_7, arg5'=arg5P_7, [ arg3>0 && arg2>1 && arg1>2 && arg1P_7>2 ], cost: -1+arg2 13: f314_0_appendNewList_LE -> f314_0_appendNewList_LE : arg1'=arg1P_8, arg2'=1, arg3'=1, arg4'=arg4P_8, arg5'=arg5P_8, [ -2+arg1P_8<=arg1 && arg2>1 && arg1>3 && arg1P_8>5 ], cost: -1+arg2 14: f387_0_length_NULL -> f387_0_length_NULL : arg1'=0, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg1>0 ], cost: arg1 10: __init -> f1_0_main_Load : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [], cost: 1 Chained accelerated rules (with incoming rules): Start location: __init 0: f1_0_main_Load -> f165_0_appendNewList_LE : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, arg5'=0, [ arg2>0 && arg4P_1>-1 && arg1P_1<=arg1 && -5+arg2P_1<=arg1 && -3+arg3P_1<=arg1 && arg1>0 && arg1P_1>0 && arg2P_1>5 && arg3P_1>3 ], cost: 1 15: f1_0_main_Load -> f165_0_appendNewList_LE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=-1+arg4P_1, arg5'=1, [ arg2>0 && arg1>0 && arg4P_1>1 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 && 5+arg1P_5<=5+arg1 && -2+arg2P_5<=5+arg1 && arg3P_5<=5+arg1 ], cost: 2 1: f165_0_appendNewList_LE -> f200_0_random_ArrayAccess : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, arg5'=arg5P_2, [ arg4<2 && arg5>0 && arg1>0 && arg2>4 && arg3>2 && arg1P_2>4 ], cost: 1 2: f165_0_appendNewList_LE -> f200_0_random_ArrayAccess : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, arg5'=arg5P_3, [ -6+arg1P_3<=arg1 && arg4<2 && -1+arg1P_3<=arg2 && -3+arg1P_3<=arg3 && arg1>0 && arg2>5 && arg3>3 && arg1P_3>6 ], cost: 1 5: f200_0_random_ArrayAccess -> f314_0_appendNewList_LE : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=0, arg4'=arg4P_6, arg5'=arg5P_6, [ arg2>1 && arg2P_6>-1 && 1+arg1P_6<=arg1 && arg1>4 && arg1P_6>3 ], cost: 1 16: f200_0_random_ArrayAccess -> f314_0_appendNewList_LE : arg1'=arg1P_8, arg2'=1, arg3'=1, arg4'=arg4P_8, arg5'=arg5P_8, [ arg2>1 && arg1>4 && arg2P_6>1 && arg1P_8>5 && -2+arg1P_8<=-1+arg1 ], cost: arg2P_6 8: f314_0_appendNewList_LE -> f387_0_length_NULL : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, arg5'=arg5P_9, [ 2+arg1P_9<=arg1 && arg2<2 && arg1>2 && arg1P_9>0 ], cost: 1 17: f314_0_appendNewList_LE -> f387_0_length_NULL : arg1'=0, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ 2+arg1P_9<=arg1 && arg2<2 && arg1>2 && arg1P_9>0 ], cost: 1+arg1P_9 10: __init -> f1_0_main_Load : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [], cost: 1 Removed unreachable locations (and leaf rules with constant cost): Start location: __init 0: f1_0_main_Load -> f165_0_appendNewList_LE : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, arg5'=0, [ arg2>0 && arg4P_1>-1 && arg1P_1<=arg1 && -5+arg2P_1<=arg1 && -3+arg3P_1<=arg1 && arg1>0 && arg1P_1>0 && arg2P_1>5 && arg3P_1>3 ], cost: 1 15: f1_0_main_Load -> f165_0_appendNewList_LE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=-1+arg4P_1, arg5'=1, [ arg2>0 && arg1>0 && arg4P_1>1 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 && 5+arg1P_5<=5+arg1 && -2+arg2P_5<=5+arg1 && arg3P_5<=5+arg1 ], cost: 2 1: f165_0_appendNewList_LE -> f200_0_random_ArrayAccess : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, arg5'=arg5P_2, [ arg4<2 && arg5>0 && arg1>0 && arg2>4 && arg3>2 && arg1P_2>4 ], cost: 1 2: f165_0_appendNewList_LE -> f200_0_random_ArrayAccess : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, arg5'=arg5P_3, [ -6+arg1P_3<=arg1 && arg4<2 && -1+arg1P_3<=arg2 && -3+arg1P_3<=arg3 && arg1>0 && arg2>5 && arg3>3 && arg1P_3>6 ], cost: 1 5: f200_0_random_ArrayAccess -> f314_0_appendNewList_LE : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=0, arg4'=arg4P_6, arg5'=arg5P_6, [ arg2>1 && arg2P_6>-1 && 1+arg1P_6<=arg1 && arg1>4 && arg1P_6>3 ], cost: 1 16: f200_0_random_ArrayAccess -> f314_0_appendNewList_LE : arg1'=arg1P_8, arg2'=1, arg3'=1, arg4'=arg4P_8, arg5'=arg5P_8, [ arg2>1 && arg1>4 && arg2P_6>1 && arg1P_8>5 && -2+arg1P_8<=-1+arg1 ], cost: arg2P_6 17: f314_0_appendNewList_LE -> f387_0_length_NULL : arg1'=0, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ 2+arg1P_9<=arg1 && arg2<2 && arg1>2 && arg1P_9>0 ], cost: 1+arg1P_9 10: __init -> f1_0_main_Load : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [], cost: 1 Eliminated locations (on tree-shaped paths): Start location: __init 20: f165_0_appendNewList_LE -> f314_0_appendNewList_LE : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=0, arg4'=arg4P_6, arg5'=arg5P_6, [ arg4<2 && arg5>0 && arg1>0 && arg2>4 && arg3>2 && arg1P_2>4 && arg2P_2>1 && arg2P_6>-1 && 1+arg1P_6<=arg1P_2 && arg1P_6>3 ], cost: 2 21: f165_0_appendNewList_LE -> f314_0_appendNewList_LE : arg1'=arg1P_8, arg2'=1, arg3'=1, arg4'=arg4P_8, arg5'=arg5P_8, [ arg4<2 && arg5>0 && arg1>0 && arg2>4 && arg3>2 && arg1P_2>4 && arg2P_2>1 && arg2P_6>1 && arg1P_8>5 && -2+arg1P_8<=-1+arg1P_2 ], cost: 1+arg2P_6 22: f165_0_appendNewList_LE -> f314_0_appendNewList_LE : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=0, arg4'=arg4P_6, arg5'=arg5P_6, [ -6+arg1P_3<=arg1 && arg4<2 && -1+arg1P_3<=arg2 && -3+arg1P_3<=arg3 && arg1>0 && arg2>5 && arg3>3 && arg1P_3>6 && arg2P_3>1 && arg2P_6>-1 && 1+arg1P_6<=arg1P_3 && arg1P_6>3 ], cost: 2 23: f165_0_appendNewList_LE -> f314_0_appendNewList_LE : arg1'=arg1P_8, arg2'=1, arg3'=1, arg4'=arg4P_8, arg5'=arg5P_8, [ -6+arg1P_3<=arg1 && arg4<2 && -1+arg1P_3<=arg2 && -3+arg1P_3<=arg3 && arg1>0 && arg2>5 && arg3>3 && arg1P_3>6 && arg2P_3>1 && arg2P_6>1 && arg1P_8>5 && -2+arg1P_8<=-1+arg1P_3 ], cost: 1+arg2P_6 17: f314_0_appendNewList_LE -> f387_0_length_NULL : arg1'=0, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ 2+arg1P_9<=arg1 && arg2<2 && arg1>2 && arg1P_9>0 ], cost: 1+arg1P_9 18: __init -> f165_0_appendNewList_LE : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, arg5'=0, [ arg2P_11>0 && arg4P_1>-1 && arg1P_1<=arg1P_11 && -5+arg2P_1<=arg1P_11 && -3+arg3P_1<=arg1P_11 && arg1P_11>0 && arg1P_1>0 && arg2P_1>5 && arg3P_1>3 ], cost: 2 19: __init -> f165_0_appendNewList_LE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=-1+arg4P_1, arg5'=1, [ arg2P_11>0 && arg1P_11>0 && arg4P_1>1 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 && 5+arg1P_5<=5+arg1P_11 && -2+arg2P_5<=5+arg1P_11 && arg3P_5<=5+arg1P_11 ], cost: 3 Eliminated locations (on tree-shaped paths): Start location: __init 17: f314_0_appendNewList_LE -> f387_0_length_NULL : arg1'=0, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ 2+arg1P_9<=arg1 && arg2<2 && arg1>2 && arg1P_9>0 ], cost: 1+arg1P_9 24: __init -> f314_0_appendNewList_LE : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=0, arg4'=arg4P_6, arg5'=arg5P_6, [ arg2P_11>0 && arg4P_1>-1 && arg1P_1<=arg1P_11 && -5+arg2P_1<=arg1P_11 && -3+arg3P_1<=arg1P_11 && arg1P_11>0 && arg1P_1>0 && arg2P_1>5 && arg3P_1>3 && -6+arg1P_3<=arg1P_1 && arg4P_1<2 && -1+arg1P_3<=arg2P_1 && -3+arg1P_3<=arg3P_1 && arg1P_3>6 && arg2P_3>1 && arg2P_6>-1 && 1+arg1P_6<=arg1P_3 && arg1P_6>3 ], cost: 4 25: __init -> f314_0_appendNewList_LE : arg1'=arg1P_8, arg2'=1, arg3'=1, arg4'=arg4P_8, arg5'=arg5P_8, [ arg2P_11>0 && arg4P_1>-1 && arg1P_1<=arg1P_11 && -5+arg2P_1<=arg1P_11 && -3+arg3P_1<=arg1P_11 && arg1P_11>0 && arg1P_1>0 && arg2P_1>5 && arg3P_1>3 && -6+arg1P_3<=arg1P_1 && arg4P_1<2 && -1+arg1P_3<=arg2P_1 && -3+arg1P_3<=arg3P_1 && arg1P_3>6 && arg2P_3>1 && arg2P_6>1 && arg1P_8>5 && -2+arg1P_8<=-1+arg1P_3 ], cost: 3+arg2P_6 26: __init -> f314_0_appendNewList_LE : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=0, arg4'=arg4P_6, arg5'=arg5P_6, [ arg2P_11>0 && arg1P_11>0 && arg4P_1>1 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 && 5+arg1P_5<=5+arg1P_11 && -2+arg2P_5<=5+arg1P_11 && arg3P_5<=5+arg1P_11 && -1+arg4P_1<2 && arg1P_2>4 && arg2P_2>1 && arg2P_6>-1 && 1+arg1P_6<=arg1P_2 && arg1P_6>3 ], cost: 5 27: __init -> f314_0_appendNewList_LE : arg1'=arg1P_8, arg2'=1, arg3'=1, arg4'=arg4P_8, arg5'=arg5P_8, [ arg2P_11>0 && arg1P_11>0 && arg4P_1>1 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 && 5+arg1P_5<=5+arg1P_11 && -2+arg2P_5<=5+arg1P_11 && arg3P_5<=5+arg1P_11 && -1+arg4P_1<2 && arg1P_2>4 && arg2P_2>1 && arg2P_6>1 && arg1P_8>5 && -2+arg1P_8<=-1+arg1P_2 ], cost: 4+arg2P_6 28: __init -> f314_0_appendNewList_LE : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=0, arg4'=arg4P_6, arg5'=arg5P_6, [ arg2P_11>0 && arg1P_11>0 && arg4P_1>1 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 && 5+arg1P_5<=5+arg1P_11 && -2+arg2P_5<=5+arg1P_11 && arg3P_5<=5+arg1P_11 && -6+arg1P_3<=arg1P_5 && -1+arg4P_1<2 && -1+arg1P_3<=arg2P_5 && -3+arg1P_3<=arg3P_5 && arg1P_3>6 && arg2P_3>1 && arg2P_6>-1 && 1+arg1P_6<=arg1P_3 && arg1P_6>3 ], cost: 5 29: __init -> f314_0_appendNewList_LE : arg1'=arg1P_8, arg2'=1, arg3'=1, arg4'=arg4P_8, arg5'=arg5P_8, [ arg2P_11>0 && arg1P_11>0 && arg4P_1>1 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 && 5+arg1P_5<=5+arg1P_11 && -2+arg2P_5<=5+arg1P_11 && arg3P_5<=5+arg1P_11 && -6+arg1P_3<=arg1P_5 && -1+arg4P_1<2 && -1+arg1P_3<=arg2P_5 && -3+arg1P_3<=arg3P_5 && arg1P_3>6 && arg2P_3>1 && arg2P_6>1 && arg1P_8>5 && -2+arg1P_8<=-1+arg1P_3 ], cost: 4+arg2P_6 Applied pruning (of leafs and parallel rules): Start location: __init 17: f314_0_appendNewList_LE -> f387_0_length_NULL : arg1'=0, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ 2+arg1P_9<=arg1 && arg2<2 && arg1>2 && arg1P_9>0 ], cost: 1+arg1P_9 24: __init -> f314_0_appendNewList_LE : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=0, arg4'=arg4P_6, arg5'=arg5P_6, [ arg2P_11>0 && arg4P_1>-1 && arg1P_1<=arg1P_11 && -5+arg2P_1<=arg1P_11 && -3+arg3P_1<=arg1P_11 && arg1P_11>0 && arg1P_1>0 && arg2P_1>5 && arg3P_1>3 && -6+arg1P_3<=arg1P_1 && arg4P_1<2 && -1+arg1P_3<=arg2P_1 && -3+arg1P_3<=arg3P_1 && arg1P_3>6 && arg2P_3>1 && arg2P_6>-1 && 1+arg1P_6<=arg1P_3 && arg1P_6>3 ], cost: 4 25: __init -> f314_0_appendNewList_LE : arg1'=arg1P_8, arg2'=1, arg3'=1, arg4'=arg4P_8, arg5'=arg5P_8, [ arg2P_11>0 && arg4P_1>-1 && arg1P_1<=arg1P_11 && -5+arg2P_1<=arg1P_11 && -3+arg3P_1<=arg1P_11 && arg1P_11>0 && arg1P_1>0 && arg2P_1>5 && arg3P_1>3 && -6+arg1P_3<=arg1P_1 && arg4P_1<2 && -1+arg1P_3<=arg2P_1 && -3+arg1P_3<=arg3P_1 && arg1P_3>6 && arg2P_3>1 && arg2P_6>1 && arg1P_8>5 && -2+arg1P_8<=-1+arg1P_3 ], cost: 3+arg2P_6 26: __init -> f314_0_appendNewList_LE : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=0, arg4'=arg4P_6, arg5'=arg5P_6, [ arg2P_11>0 && arg1P_11>0 && arg4P_1>1 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 && 5+arg1P_5<=5+arg1P_11 && -2+arg2P_5<=5+arg1P_11 && arg3P_5<=5+arg1P_11 && -1+arg4P_1<2 && arg1P_2>4 && arg2P_2>1 && arg2P_6>-1 && 1+arg1P_6<=arg1P_2 && arg1P_6>3 ], cost: 5 27: __init -> f314_0_appendNewList_LE : arg1'=arg1P_8, arg2'=1, arg3'=1, arg4'=arg4P_8, arg5'=arg5P_8, [ arg2P_11>0 && arg1P_11>0 && arg4P_1>1 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 && 5+arg1P_5<=5+arg1P_11 && -2+arg2P_5<=5+arg1P_11 && arg3P_5<=5+arg1P_11 && -1+arg4P_1<2 && arg1P_2>4 && arg2P_2>1 && arg2P_6>1 && arg1P_8>5 && -2+arg1P_8<=-1+arg1P_2 ], cost: 4+arg2P_6 29: __init -> f314_0_appendNewList_LE : arg1'=arg1P_8, arg2'=1, arg3'=1, arg4'=arg4P_8, arg5'=arg5P_8, [ arg2P_11>0 && arg1P_11>0 && arg4P_1>1 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 && 5+arg1P_5<=5+arg1P_11 && -2+arg2P_5<=5+arg1P_11 && arg3P_5<=5+arg1P_11 && -6+arg1P_3<=arg1P_5 && -1+arg4P_1<2 && -1+arg1P_3<=arg2P_5 && -3+arg1P_3<=arg3P_5 && arg1P_3>6 && arg2P_3>1 && arg2P_6>1 && arg1P_8>5 && -2+arg1P_8<=-1+arg1P_3 ], cost: 4+arg2P_6 Eliminated locations (on tree-shaped paths): Start location: __init 30: __init -> f387_0_length_NULL : arg1'=0, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg2P_11>0 && arg4P_1>-1 && arg1P_1<=arg1P_11 && -5+arg2P_1<=arg1P_11 && -3+arg3P_1<=arg1P_11 && arg1P_11>0 && arg1P_1>0 && arg2P_1>5 && arg3P_1>3 && -6+arg1P_3<=arg1P_1 && arg4P_1<2 && -1+arg1P_3<=arg2P_1 && -3+arg1P_3<=arg3P_1 && arg1P_3>6 && arg2P_3>1 && arg2P_6>-1 && 1+arg1P_6<=arg1P_3 && arg1P_6>3 && 2+arg1P_9<=arg1P_6 && arg2P_6<2 && arg1P_9>0 ], cost: 5+arg1P_9 31: __init -> f387_0_length_NULL : arg1'=0, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg2P_11>0 && arg4P_1>-1 && arg1P_1<=arg1P_11 && -5+arg2P_1<=arg1P_11 && -3+arg3P_1<=arg1P_11 && arg1P_11>0 && arg1P_1>0 && arg2P_1>5 && arg3P_1>3 && -6+arg1P_3<=arg1P_1 && arg4P_1<2 && -1+arg1P_3<=arg2P_1 && -3+arg1P_3<=arg3P_1 && arg1P_3>6 && arg2P_3>1 && arg2P_6>1 && arg1P_8>5 && -2+arg1P_8<=-1+arg1P_3 && 2+arg1P_9<=arg1P_8 && arg1P_9>0 ], cost: 4+arg2P_6+arg1P_9 32: __init -> f387_0_length_NULL : arg1'=0, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg2P_11>0 && arg1P_11>0 && arg4P_1>1 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 && 5+arg1P_5<=5+arg1P_11 && -2+arg2P_5<=5+arg1P_11 && arg3P_5<=5+arg1P_11 && -1+arg4P_1<2 && arg1P_2>4 && arg2P_2>1 && arg2P_6>-1 && 1+arg1P_6<=arg1P_2 && arg1P_6>3 && 2+arg1P_9<=arg1P_6 && arg2P_6<2 && arg1P_9>0 ], cost: 6+arg1P_9 33: __init -> f387_0_length_NULL : arg1'=0, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg2P_11>0 && arg1P_11>0 && arg4P_1>1 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 && 5+arg1P_5<=5+arg1P_11 && -2+arg2P_5<=5+arg1P_11 && arg3P_5<=5+arg1P_11 && -1+arg4P_1<2 && arg1P_2>4 && arg2P_2>1 && arg2P_6>1 && arg1P_8>5 && -2+arg1P_8<=-1+arg1P_2 && 2+arg1P_9<=arg1P_8 && arg1P_9>0 ], cost: 5+arg2P_6+arg1P_9 34: __init -> f387_0_length_NULL : arg1'=0, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg2P_11>0 && arg1P_11>0 && arg4P_1>1 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 && 5+arg1P_5<=5+arg1P_11 && -2+arg2P_5<=5+arg1P_11 && arg3P_5<=5+arg1P_11 && -6+arg1P_3<=arg1P_5 && -1+arg4P_1<2 && -1+arg1P_3<=arg2P_5 && -3+arg1P_3<=arg3P_5 && arg1P_3>6 && arg2P_3>1 && arg2P_6>1 && arg1P_8>5 && -2+arg1P_8<=-1+arg1P_3 && 2+arg1P_9<=arg1P_8 && arg1P_9>0 ], cost: 5+arg2P_6+arg1P_9 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: __init 30: __init -> f387_0_length_NULL : arg1'=0, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg2P_11>0 && arg4P_1>-1 && arg1P_1<=arg1P_11 && -5+arg2P_1<=arg1P_11 && -3+arg3P_1<=arg1P_11 && arg1P_11>0 && arg1P_1>0 && arg2P_1>5 && arg3P_1>3 && -6+arg1P_3<=arg1P_1 && arg4P_1<2 && -1+arg1P_3<=arg2P_1 && -3+arg1P_3<=arg3P_1 && arg1P_3>6 && arg2P_3>1 && arg2P_6>-1 && 1+arg1P_6<=arg1P_3 && arg1P_6>3 && 2+arg1P_9<=arg1P_6 && arg2P_6<2 && arg1P_9>0 ], cost: 5+arg1P_9 31: __init -> f387_0_length_NULL : arg1'=0, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg2P_11>0 && arg4P_1>-1 && arg1P_1<=arg1P_11 && -5+arg2P_1<=arg1P_11 && -3+arg3P_1<=arg1P_11 && arg1P_11>0 && arg1P_1>0 && arg2P_1>5 && arg3P_1>3 && -6+arg1P_3<=arg1P_1 && arg4P_1<2 && -1+arg1P_3<=arg2P_1 && -3+arg1P_3<=arg3P_1 && arg1P_3>6 && arg2P_3>1 && arg2P_6>1 && arg1P_8>5 && -2+arg1P_8<=-1+arg1P_3 && 2+arg1P_9<=arg1P_8 && arg1P_9>0 ], cost: 4+arg2P_6+arg1P_9 32: __init -> f387_0_length_NULL : arg1'=0, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg2P_11>0 && arg1P_11>0 && arg4P_1>1 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 && 5+arg1P_5<=5+arg1P_11 && -2+arg2P_5<=5+arg1P_11 && arg3P_5<=5+arg1P_11 && -1+arg4P_1<2 && arg1P_2>4 && arg2P_2>1 && arg2P_6>-1 && 1+arg1P_6<=arg1P_2 && arg1P_6>3 && 2+arg1P_9<=arg1P_6 && arg2P_6<2 && arg1P_9>0 ], cost: 6+arg1P_9 33: __init -> f387_0_length_NULL : arg1'=0, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg2P_11>0 && arg1P_11>0 && arg4P_1>1 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 && 5+arg1P_5<=5+arg1P_11 && -2+arg2P_5<=5+arg1P_11 && arg3P_5<=5+arg1P_11 && -1+arg4P_1<2 && arg1P_2>4 && arg2P_2>1 && arg2P_6>1 && arg1P_8>5 && -2+arg1P_8<=-1+arg1P_2 && 2+arg1P_9<=arg1P_8 && arg1P_9>0 ], cost: 5+arg2P_6+arg1P_9 34: __init -> f387_0_length_NULL : arg1'=0, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg2P_11>0 && arg1P_11>0 && arg4P_1>1 && arg1P_5>0 && arg2P_5>7 && arg3P_5>5 && 5+arg1P_5<=5+arg1P_11 && -2+arg2P_5<=5+arg1P_11 && arg3P_5<=5+arg1P_11 && -6+arg1P_3<=arg1P_5 && -1+arg4P_1<2 && -1+arg1P_3<=arg2P_5 && -3+arg1P_3<=arg3P_5 && arg1P_3>6 && arg2P_3>1 && arg2P_6>1 && arg1P_8>5 && -2+arg1P_8<=-1+arg1P_3 && 2+arg1P_9<=arg1P_8 && arg1P_9>0 ], cost: 5+arg2P_6+arg1P_9 Computing asymptotic complexity for rule 30 Simplified the guard: 30: __init -> f387_0_length_NULL : arg1'=0, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg2P_11>0 && arg4P_1>-1 && arg1P_1<=arg1P_11 && -5+arg2P_1<=arg1P_11 && -3+arg3P_1<=arg1P_11 && arg1P_11>0 && -6+arg1P_3<=arg1P_1 && arg4P_1<2 && -1+arg1P_3<=arg2P_1 && -3+arg1P_3<=arg3P_1 && arg1P_3>6 && arg2P_3>1 && arg2P_6>-1 && 1+arg1P_6<=arg1P_3 && arg1P_6>3 && 2+arg1P_9<=arg1P_6 && arg2P_6<2 && arg1P_9>0 ], cost: 5+arg1P_9 Solved the limit problem by the following transformations: Created initial limit problem: -1-arg1P_9+arg1P_6 (+/+!), 4+arg3P_1-arg1P_3 (+/+!), 1+arg2P_6 (+/+!), 2+arg2P_1-arg1P_3 (+/+!), arg1P_9 (+/+!), 7+arg1P_1-arg1P_3 (+/+!), arg1P_11 (+/+!), 2-arg4P_1 (+/+!), 1+arg1P_11-arg1P_1 (+/+!), -3+arg1P_6 (+/+!), 5+arg1P_9 (+), -1+arg2P_3 (+/+!), -arg1P_6+arg1P_3 (+/+!), 2-arg2P_6 (+/+!), -6+arg1P_3 (+/+!), 6-arg2P_1+arg1P_11 (+/+!), arg2P_11 (+/+!), 4+arg1P_11-arg3P_1 (+/+!), 1+arg4P_1 (+/+!) [not solved] removing all constraints (solved by SMT) resulting limit problem: [solved] applying transformation rule (C) using substitution {arg2P_6==0,arg1P_9==n,arg2P_1==2*n,arg1P_11==2*n,arg3P_1==2*n,arg2P_3==n,arg1P_6==4+n,arg1P_1==1+n,arg4P_1==0,arg2P_11==1,arg1P_3==7+n} resulting limit problem: [solved] Solution: arg2P_6 / 0 arg1P_9 / n arg2P_1 / 2*n arg1P_11 / 2*n arg3P_1 / 2*n arg2P_3 / n arg1P_6 / 4+n arg1P_1 / 1+n arg4P_1 / 0 arg2P_11 / 1 arg1P_3 / 7+n Resulting cost 5+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: 5+n Rule cost: 5+arg1P_9 Rule guard: [ arg2P_11>0 && arg4P_1>-1 && arg1P_1<=arg1P_11 && -5+arg2P_1<=arg1P_11 && -3+arg3P_1<=arg1P_11 && arg1P_11>0 && -6+arg1P_3<=arg1P_1 && arg4P_1<2 && -1+arg1P_3<=arg2P_1 && -3+arg1P_3<=arg3P_1 && arg1P_3>6 && arg2P_3>1 && arg2P_6>-1 && 1+arg1P_6<=arg1P_3 && arg1P_6>3 && 2+arg1P_9<=arg1P_6 && arg2P_6<2 && arg1P_9>0 ] WORST_CASE(INF,?)