WORST_CASE(INF,?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: __init 0: f1_0_main_Load -> f908_0_main_InvokeMethod : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, [ x7_1>-1 && arg2>0 && arg1P_1<=arg1 && arg1>0 && arg1P_1>0 && arg2P_1>0 && arg3P_1>-1 ], cost: 1 2: f1_0_main_Load -> f880_0_createTree_GE : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, [ arg6P_3>-1 && arg2>1 && arg3P_3>-1 && arg1>0 && arg1P_3>1 && 0==arg2P_3 && arg2==arg4P_3 && 2==arg5P_3 ], cost: 1 7: f908_0_main_InvokeMethod -> f940_0_gopher_NONNULL : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, arg5'=arg5P_8, arg6'=arg6P_8, [ arg1P_8<=arg2 && x58_1>1 && 1+arg2P_8<=arg2 && arg2P_8<=arg3 && arg1>0 && arg2>0 && arg3>-1 && arg1P_8>0 && arg2P_8>-1 && 2+arg4<=arg2 && 2+arg5<=arg2 && arg5==arg3P_8 ], cost: 1 1: f358_0_createTree_Return -> f908_0_main_InvokeMethod : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, arg5'=arg5P_2, arg6'=arg6P_2, [ arg1>=arg1P_2 && arg1P_2<=arg2 && -1+arg1P_2<=arg3 && arg2P_2<=arg2 && 1+arg3P_2<=arg2 && arg3P_2<=arg3 && arg1>0 && arg2>0 && arg3>-1 && arg1P_2>0 && arg2P_2>0 && arg3P_2>-1 && 2+arg4<=arg2 && 2+arg5<=arg2 && arg4==arg4P_2 && arg5==arg5P_2 ], cost: 1 3: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_4, arg2'=arg2P_4, arg3'=arg3P_4, arg4'=arg4P_4, arg5'=arg5P_4, arg6'=arg6P_4, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && x30_1>-1 && arg50 && arg1P_4>3 && 2+arg6<=arg1 && 1+arg2==arg2P_4 && arg3==arg3P_4 && arg4==arg4P_4 && 1+arg5==arg5P_4 ], cost: 1 4: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=arg4P_5, arg5'=arg5P_5, arg6'=arg6P_5, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && x39_1>-1 && arg50 && arg1P_5>3 && 2+arg6<=arg1 && 1+arg2==arg2P_5 && arg3==arg3P_5 && arg4==arg4P_5 && 1+arg5==arg5P_5 ], cost: 1 5: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, arg6'=arg6P_6, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && x48_1>-1 && arg50 && arg1P_6>2 && 2+arg6<=arg1 && 1+arg2==arg2P_6 && arg3==arg3P_6 && arg4==arg4P_6 && 1+arg5==arg5P_6 ], cost: 1 6: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, arg5'=arg5P_7, arg6'=arg6P_7, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && x57_1>-1 && arg50 && arg1P_7>2 && 2+arg6<=arg1 && 1+arg2==arg2P_7 && arg3==arg3P_7 && arg4==arg4P_7 && 1+arg5==arg5P_7 ], cost: 1 9: f880_0_createTree_GE -> f1019_0_insert_GT : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, arg6'=arg6P_10, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg2P_10>-1 && arg50 && arg1P_10>0 && 2+arg6<=arg1 && arg4==arg3P_10 && arg6==arg4P_10 ], cost: 1 8: f940_0_gopher_NONNULL -> f940_0_gopher_NONNULL : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, arg5'=arg5P_9, arg6'=arg6P_9, [ -2+arg1P_9<=arg1 && 3+arg2P_9<=arg1 && 1+arg2P_9<=arg2 && arg1>2 && arg2>0 && arg1P_9>3 && arg2P_9>-1 && 2+arg3<=arg1 && 0==arg3P_9 ], cost: 1 10: f1019_0_insert_GT -> f1019_0_insert_GT : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, arg6'=arg6P_11, [ arg3>1 && arg42 && arg1P_11>0 && 2+arg4<=arg1 && 4+arg4P_11<=arg1 && arg2==arg2P_11 && arg3==arg3P_11 ], cost: 1 11: f1019_0_insert_GT -> f1019_0_insert_GT : arg1'=arg1P_12, arg2'=arg2P_12, arg3'=arg3P_12, arg4'=arg4P_12, arg5'=arg5P_12, arg6'=arg6P_12, [ arg3>1 && arg4>=arg2 && 2+arg1P_12<=arg1 && arg1>2 && arg1P_12>0 && 2+arg4<=arg1 && 4+arg4P_12<=arg1 && arg2==arg2P_12 && arg3==arg3P_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, [], 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, [], cost: 1 Removed unreachable and leaf rules: Start location: __init 0: f1_0_main_Load -> f908_0_main_InvokeMethod : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, [ x7_1>-1 && arg2>0 && arg1P_1<=arg1 && arg1>0 && arg1P_1>0 && arg2P_1>0 && arg3P_1>-1 ], cost: 1 2: f1_0_main_Load -> f880_0_createTree_GE : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, arg5'=arg5P_3, arg6'=arg6P_3, [ arg6P_3>-1 && arg2>1 && arg3P_3>-1 && arg1>0 && arg1P_3>1 && 0==arg2P_3 && arg2==arg4P_3 && 2==arg5P_3 ], cost: 1 7: f908_0_main_InvokeMethod -> f940_0_gopher_NONNULL : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, arg5'=arg5P_8, arg6'=arg6P_8, [ arg1P_8<=arg2 && x58_1>1 && 1+arg2P_8<=arg2 && arg2P_8<=arg3 && arg1>0 && arg2>0 && arg3>-1 && arg1P_8>0 && arg2P_8>-1 && 2+arg4<=arg2 && 2+arg5<=arg2 && arg5==arg3P_8 ], cost: 1 3: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_4, arg2'=arg2P_4, arg3'=arg3P_4, arg4'=arg4P_4, arg5'=arg5P_4, arg6'=arg6P_4, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && x30_1>-1 && arg50 && arg1P_4>3 && 2+arg6<=arg1 && 1+arg2==arg2P_4 && arg3==arg3P_4 && arg4==arg4P_4 && 1+arg5==arg5P_4 ], cost: 1 4: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=arg4P_5, arg5'=arg5P_5, arg6'=arg6P_5, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && x39_1>-1 && arg50 && arg1P_5>3 && 2+arg6<=arg1 && 1+arg2==arg2P_5 && arg3==arg3P_5 && arg4==arg4P_5 && 1+arg5==arg5P_5 ], cost: 1 5: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, arg6'=arg6P_6, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && x48_1>-1 && arg50 && arg1P_6>2 && 2+arg6<=arg1 && 1+arg2==arg2P_6 && arg3==arg3P_6 && arg4==arg4P_6 && 1+arg5==arg5P_6 ], cost: 1 6: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, arg5'=arg5P_7, arg6'=arg6P_7, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && x57_1>-1 && arg50 && arg1P_7>2 && 2+arg6<=arg1 && 1+arg2==arg2P_7 && arg3==arg3P_7 && arg4==arg4P_7 && 1+arg5==arg5P_7 ], cost: 1 9: f880_0_createTree_GE -> f1019_0_insert_GT : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, arg6'=arg6P_10, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg2P_10>-1 && arg50 && arg1P_10>0 && 2+arg6<=arg1 && arg4==arg3P_10 && arg6==arg4P_10 ], cost: 1 8: f940_0_gopher_NONNULL -> f940_0_gopher_NONNULL : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, arg5'=arg5P_9, arg6'=arg6P_9, [ -2+arg1P_9<=arg1 && 3+arg2P_9<=arg1 && 1+arg2P_9<=arg2 && arg1>2 && arg2>0 && arg1P_9>3 && arg2P_9>-1 && 2+arg3<=arg1 && 0==arg3P_9 ], cost: 1 10: f1019_0_insert_GT -> f1019_0_insert_GT : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, arg6'=arg6P_11, [ arg3>1 && arg42 && arg1P_11>0 && 2+arg4<=arg1 && 4+arg4P_11<=arg1 && arg2==arg2P_11 && arg3==arg3P_11 ], cost: 1 11: f1019_0_insert_GT -> f1019_0_insert_GT : arg1'=arg1P_12, arg2'=arg2P_12, arg3'=arg3P_12, arg4'=arg4P_12, arg5'=arg5P_12, arg6'=arg6P_12, [ arg3>1 && arg4>=arg2 && 2+arg1P_12<=arg1 && arg1>2 && arg1P_12>0 && 2+arg4<=arg1 && 4+arg4P_12<=arg1 && arg2==arg2P_12 && arg3==arg3P_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, [], cost: 1 Simplified all rules, resulting in: Start location: __init 0: f1_0_main_Load -> f908_0_main_InvokeMethod : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, [ arg2>0 && arg1P_1<=arg1 && arg1>0 && arg1P_1>0 && arg2P_1>0 && arg3P_1>-1 ], cost: 1 2: f1_0_main_Load -> f880_0_createTree_GE : arg1'=arg1P_3, arg2'=0, arg3'=arg3P_3, arg4'=arg2, arg5'=2, arg6'=arg6P_3, [ arg6P_3>-1 && arg2>1 && arg3P_3>-1 && arg1>0 && arg1P_3>1 ], cost: 1 7: f908_0_main_InvokeMethod -> f940_0_gopher_NONNULL : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg5, arg4'=arg4P_8, arg5'=arg5P_8, arg6'=arg6P_8, [ arg1P_8<=arg2 && 1+arg2P_8<=arg2 && arg2P_8<=arg3 && arg1>0 && arg2>0 && arg3>-1 && arg1P_8>0 && arg2P_8>-1 && 2+arg4<=arg2 && 2+arg5<=arg2 ], cost: 1 3: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_4, arg2'=1+arg2, arg5'=1+arg5, arg6'=arg6P_4, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg50 && arg1P_4>3 && 2+arg6<=arg1 ], cost: 1 4: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_5, arg2'=1+arg2, arg5'=1+arg5, arg6'=arg6P_5, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg50 && arg1P_5>3 && 2+arg6<=arg1 ], cost: 1 5: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_6, arg2'=1+arg2, arg5'=1+arg5, arg6'=arg6P_6, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg50 && arg1P_6>2 && 2+arg6<=arg1 ], cost: 1 6: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_7, arg2'=1+arg2, arg5'=1+arg5, arg6'=arg6P_7, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg50 && arg1P_7>2 && 2+arg6<=arg1 ], cost: 1 9: f880_0_createTree_GE -> f1019_0_insert_GT : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg4, arg4'=arg6, arg5'=arg5P_10, arg6'=arg6P_10, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg2P_10>-1 && arg50 && arg1P_10>0 && 2+arg6<=arg1 ], cost: 1 8: f940_0_gopher_NONNULL -> f940_0_gopher_NONNULL : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=0, arg4'=arg4P_9, arg5'=arg5P_9, arg6'=arg6P_9, [ -2+arg1P_9<=arg1 && 3+arg2P_9<=arg1 && 1+arg2P_9<=arg2 && arg1>2 && arg2>0 && arg1P_9>3 && arg2P_9>-1 && 2+arg3<=arg1 ], cost: 1 10: f1019_0_insert_GT -> f1019_0_insert_GT : arg1'=arg1P_11, arg4'=arg4P_11, arg5'=arg5P_11, arg6'=arg6P_11, [ arg3>1 && arg42 && arg1P_11>0 && 2+arg4<=arg1 && 4+arg4P_11<=arg1 ], cost: 1 11: f1019_0_insert_GT -> f1019_0_insert_GT : arg1'=arg1P_12, arg4'=arg4P_12, arg5'=arg5P_12, arg6'=arg6P_12, [ arg3>1 && arg4>=arg2 && 2+arg1P_12<=arg1 && arg1>2 && arg1P_12>0 && 2+arg4<=arg1 && 4+arg4P_12<=arg1 ], 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, [], cost: 1 ### Simplification by acceleration and chaining ### Accelerating simple loops of location 3. Accelerating the following rules: 3: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_4, arg2'=1+arg2, arg5'=1+arg5, arg6'=arg6P_4, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg50 && arg1P_4>3 && 2+arg6<=arg1 ], cost: 1 4: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_5, arg2'=1+arg2, arg5'=1+arg5, arg6'=arg6P_5, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg50 && arg1P_5>3 && 2+arg6<=arg1 ], cost: 1 5: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_6, arg2'=1+arg2, arg5'=1+arg5, arg6'=arg6P_6, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg50 && arg1P_6>2 && 2+arg6<=arg1 ], cost: 1 6: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_7, arg2'=1+arg2, arg5'=1+arg5, arg6'=arg6P_7, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg50 && arg1P_7>2 && 2+arg6<=arg1 ], cost: 1 Found no metering function for rule 3. Found no metering function for rule 4. Found no metering function for rule 5. Found no metering function for rule 6. Removing the simple loops:. Accelerating simple loops of location 4. Accelerating the following rules: 8: f940_0_gopher_NONNULL -> f940_0_gopher_NONNULL : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=0, arg4'=arg4P_9, arg5'=arg5P_9, arg6'=arg6P_9, [ -2+arg1P_9<=arg1 && 3+arg2P_9<=arg1 && 1+arg2P_9<=arg2 && arg1>2 && arg2>0 && arg1P_9>3 && arg2P_9>-1 && 2+arg3<=arg1 ], cost: 1 During metering: Instantiating temporary variables by {arg1P_9==2+arg1,arg2P_9==-1+arg2} Accelerated rule 8 with metering function arg2, yielding the new rule 13. Removing the simple loops: 8. Accelerating simple loops of location 5. Accelerating the following rules: 10: f1019_0_insert_GT -> f1019_0_insert_GT : arg1'=arg1P_11, arg4'=arg4P_11, arg5'=arg5P_11, arg6'=arg6P_11, [ arg3>1 && arg42 && arg1P_11>0 && 2+arg4<=arg1 && 4+arg4P_11<=arg1 ], cost: 1 11: f1019_0_insert_GT -> f1019_0_insert_GT : arg1'=arg1P_12, arg4'=arg4P_12, arg5'=arg5P_12, arg6'=arg6P_12, [ arg3>1 && arg4>=arg2 && 2+arg1P_12<=arg1 && arg1>2 && arg1P_12>0 && 2+arg4<=arg1 && 4+arg4P_12<=arg1 ], cost: 1 Found no metering function for rule 10. Found no metering function for rule 11. Removing the simple loops:. Accelerated all simple loops using metering functions (where possible): Start location: __init 0: f1_0_main_Load -> f908_0_main_InvokeMethod : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, [ arg2>0 && arg1P_1<=arg1 && arg1>0 && arg1P_1>0 && arg2P_1>0 && arg3P_1>-1 ], cost: 1 2: f1_0_main_Load -> f880_0_createTree_GE : arg1'=arg1P_3, arg2'=0, arg3'=arg3P_3, arg4'=arg2, arg5'=2, arg6'=arg6P_3, [ arg6P_3>-1 && arg2>1 && arg3P_3>-1 && arg1>0 && arg1P_3>1 ], cost: 1 7: f908_0_main_InvokeMethod -> f940_0_gopher_NONNULL : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg5, arg4'=arg4P_8, arg5'=arg5P_8, arg6'=arg6P_8, [ arg1P_8<=arg2 && 1+arg2P_8<=arg2 && arg2P_8<=arg3 && arg1>0 && arg2>0 && arg3>-1 && arg1P_8>0 && arg2P_8>-1 && 2+arg4<=arg2 && 2+arg5<=arg2 ], cost: 1 3: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_4, arg2'=1+arg2, arg5'=1+arg5, arg6'=arg6P_4, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg50 && arg1P_4>3 && 2+arg6<=arg1 ], cost: 1 4: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_5, arg2'=1+arg2, arg5'=1+arg5, arg6'=arg6P_5, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg50 && arg1P_5>3 && 2+arg6<=arg1 ], cost: 1 5: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_6, arg2'=1+arg2, arg5'=1+arg5, arg6'=arg6P_6, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg50 && arg1P_6>2 && 2+arg6<=arg1 ], cost: 1 6: f880_0_createTree_GE -> f880_0_createTree_GE : arg1'=arg1P_7, arg2'=1+arg2, arg5'=1+arg5, arg6'=arg6P_7, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg50 && arg1P_7>2 && 2+arg6<=arg1 ], cost: 1 9: f880_0_createTree_GE -> f1019_0_insert_GT : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg4, arg4'=arg6, arg5'=arg5P_10, arg6'=arg6P_10, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg2P_10>-1 && arg50 && arg1P_10>0 && 2+arg6<=arg1 ], cost: 1 13: f940_0_gopher_NONNULL -> f940_0_gopher_NONNULL : arg1'=arg1+2*arg2, arg2'=0, arg3'=0, arg4'=arg4P_9, arg5'=arg5P_9, arg6'=arg6P_9, [ 2+arg2<=arg1 && arg1>2 && arg2>0 && 2+arg3<=arg1 ], cost: arg2 10: f1019_0_insert_GT -> f1019_0_insert_GT : arg1'=arg1P_11, arg4'=arg4P_11, arg5'=arg5P_11, arg6'=arg6P_11, [ arg3>1 && arg42 && arg1P_11>0 && 2+arg4<=arg1 && 4+arg4P_11<=arg1 ], cost: 1 11: f1019_0_insert_GT -> f1019_0_insert_GT : arg1'=arg1P_12, arg4'=arg4P_12, arg5'=arg5P_12, arg6'=arg6P_12, [ arg3>1 && arg4>=arg2 && 2+arg1P_12<=arg1 && arg1>2 && arg1P_12>0 && 2+arg4<=arg1 && 4+arg4P_12<=arg1 ], 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, [], cost: 1 Chained accelerated rules (with incoming rules): Start location: __init 0: f1_0_main_Load -> f908_0_main_InvokeMethod : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, [ arg2>0 && arg1P_1<=arg1 && arg1>0 && arg1P_1>0 && arg2P_1>0 && arg3P_1>-1 ], cost: 1 2: f1_0_main_Load -> f880_0_createTree_GE : arg1'=arg1P_3, arg2'=0, arg3'=arg3P_3, arg4'=arg2, arg5'=2, arg6'=arg6P_3, [ arg6P_3>-1 && arg2>1 && arg3P_3>-1 && arg1>0 && arg1P_3>1 ], cost: 1 14: f1_0_main_Load -> f880_0_createTree_GE : arg1'=arg1P_4, arg2'=1, arg3'=arg3P_3, arg4'=arg2, arg5'=3, arg6'=arg6P_4, [ arg1>0 && arg3P_3>0 && 23 ], cost: 2 15: f1_0_main_Load -> f880_0_createTree_GE : arg1'=arg1P_5, arg2'=1, arg3'=arg3P_3, arg4'=arg2, arg5'=3, arg6'=arg6P_5, [ arg1>0 && arg3P_3>0 && 23 ], cost: 2 16: f1_0_main_Load -> f880_0_createTree_GE : arg1'=arg1P_6, arg2'=1, arg3'=arg3P_3, arg4'=arg2, arg5'=3, arg6'=arg6P_6, [ arg1>0 && arg3P_3>0 && 22 ], cost: 2 17: f1_0_main_Load -> f880_0_createTree_GE : arg1'=arg1P_7, arg2'=1, arg3'=arg3P_3, arg4'=arg2, arg5'=3, arg6'=arg6P_7, [ arg1>0 && arg3P_3>0 && 22 ], cost: 2 7: f908_0_main_InvokeMethod -> f940_0_gopher_NONNULL : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg5, arg4'=arg4P_8, arg5'=arg5P_8, arg6'=arg6P_8, [ arg1P_8<=arg2 && 1+arg2P_8<=arg2 && arg2P_8<=arg3 && arg1>0 && arg2>0 && arg3>-1 && arg1P_8>0 && arg2P_8>-1 && 2+arg4<=arg2 && 2+arg5<=arg2 ], cost: 1 18: f908_0_main_InvokeMethod -> f940_0_gopher_NONNULL : arg1'=arg1P_8+2*arg2P_8, arg2'=0, arg3'=0, arg4'=arg4P_9, arg5'=arg5P_9, arg6'=arg6P_9, [ arg1P_8<=arg2 && 1+arg2P_8<=arg2 && arg2P_8<=arg3 && arg1>0 && arg2>0 && arg3>-1 && 2+arg4<=arg2 && 2+arg5<=arg2 && 2+arg2P_8<=arg1P_8 && arg1P_8>2 && arg2P_8>0 && 2+arg5<=arg1P_8 ], cost: 1+arg2P_8 9: f880_0_createTree_GE -> f1019_0_insert_GT : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg4, arg4'=arg6, arg5'=arg5P_10, arg6'=arg6P_10, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg2P_10>-1 && arg50 && arg1P_10>0 && 2+arg6<=arg1 ], cost: 1 19: f880_0_createTree_GE -> f1019_0_insert_GT : arg1'=arg1P_11, arg2'=arg2P_10, arg3'=arg4, arg4'=arg4P_11, arg5'=arg5P_11, arg6'=arg6P_11, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg2P_10>-1 && arg50 && 2+arg1P_11<=arg1 && 3<=arg1 && 4+arg4P_11<=arg1 ], cost: 2 20: f880_0_createTree_GE -> f1019_0_insert_GT : arg1'=arg1P_12, arg2'=arg2P_10, arg3'=arg4, arg4'=arg4P_12, arg5'=arg5P_12, arg6'=arg6P_12, [ arg5>-1 && arg3>arg2 && arg3>0 && arg4>1 && arg2P_10>-1 && arg5=arg2P_10 && arg1P_12>0 && 2+arg1P_12<=arg1 && 3<=arg1 && 4+arg4P_12<=arg1 ], cost: 2 12: __init -> f1_0_main_Load : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, arg6'=arg6P_13, [], cost: 1 Removed unreachable locations (and leaf rules with constant cost): Start location: __init 0: f1_0_main_Load -> f908_0_main_InvokeMethod : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, arg5'=arg5P_1, arg6'=arg6P_1, [ arg2>0 && arg1P_1<=arg1 && arg1>0 && arg1P_1>0 && arg2P_1>0 && arg3P_1>-1 ], cost: 1 18: f908_0_main_InvokeMethod -> f940_0_gopher_NONNULL : arg1'=arg1P_8+2*arg2P_8, arg2'=0, arg3'=0, arg4'=arg4P_9, arg5'=arg5P_9, arg6'=arg6P_9, [ arg1P_8<=arg2 && 1+arg2P_8<=arg2 && arg2P_8<=arg3 && arg1>0 && arg2>0 && arg3>-1 && 2+arg4<=arg2 && 2+arg5<=arg2 && 2+arg2P_8<=arg1P_8 && arg1P_8>2 && arg2P_8>0 && 2+arg5<=arg1P_8 ], cost: 1+arg2P_8 12: __init -> f1_0_main_Load : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, arg6'=arg6P_13, [], cost: 1 Eliminated locations (on linear paths): Start location: __init 22: __init -> f940_0_gopher_NONNULL : arg1'=arg1P_8+2*arg2P_8, arg2'=0, arg3'=0, arg4'=arg4P_9, arg5'=arg5P_9, arg6'=arg6P_9, [ arg2P_13>0 && arg1P_1<=arg1P_13 && arg1P_13>0 && arg1P_1>0 && arg2P_1>0 && arg3P_1>-1 && arg1P_8<=arg2P_1 && 1+arg2P_8<=arg2P_1 && arg2P_8<=arg3P_1 && 2+arg4P_1<=arg2P_1 && 2+arg5P_1<=arg2P_1 && 2+arg2P_8<=arg1P_8 && arg1P_8>2 && arg2P_8>0 && 2+arg5P_1<=arg1P_8 ], cost: 3+arg2P_8 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: __init 22: __init -> f940_0_gopher_NONNULL : arg1'=arg1P_8+2*arg2P_8, arg2'=0, arg3'=0, arg4'=arg4P_9, arg5'=arg5P_9, arg6'=arg6P_9, [ arg2P_13>0 && arg1P_1<=arg1P_13 && arg1P_13>0 && arg1P_1>0 && arg2P_1>0 && arg3P_1>-1 && arg1P_8<=arg2P_1 && 1+arg2P_8<=arg2P_1 && arg2P_8<=arg3P_1 && 2+arg4P_1<=arg2P_1 && 2+arg5P_1<=arg2P_1 && 2+arg2P_8<=arg1P_8 && arg1P_8>2 && arg2P_8>0 && 2+arg5P_1<=arg1P_8 ], cost: 3+arg2P_8 Computing asymptotic complexity for rule 22 Simplified the guard: 22: __init -> f940_0_gopher_NONNULL : arg1'=arg1P_8+2*arg2P_8, arg2'=0, arg3'=0, arg4'=arg4P_9, arg5'=arg5P_9, arg6'=arg6P_9, [ arg2P_13>0 && arg1P_1<=arg1P_13 && arg1P_13>0 && arg1P_1>0 && arg1P_8<=arg2P_1 && 1+arg2P_8<=arg2P_1 && arg2P_8<=arg3P_1 && 2+arg4P_1<=arg2P_1 && 2+arg5P_1<=arg2P_1 && 2+arg2P_8<=arg1P_8 && arg1P_8>2 && arg2P_8>0 && 2+arg5P_1<=arg1P_8 ], cost: 3+arg2P_8 Solved the limit problem by the following transformations: Created initial limit problem: -1+arg2P_1-arg4P_1 (+/+!), arg2P_13 (+/+!), -2+arg1P_8 (+/+!), arg1P_1 (+/+!), 1-arg1P_1+arg1P_13 (+/+!), 1+arg3P_1-arg2P_8 (+/+!), 1-arg1P_8+arg2P_1 (+/+!), arg1P_13 (+/+!), -1+arg1P_8-arg5P_1 (+/+!), 3+arg2P_8 (+), -1-arg5P_1+arg2P_1 (+/+!), arg2P_1-arg2P_8 (+/+!), arg2P_8 (+/+!), -1+arg1P_8-arg2P_8 (+/+!) [not solved] removing all constraints (solved by SMT) resulting limit problem: [solved] applying transformation rule (C) using substitution {arg2P_13==n,arg1P_1==1,arg1P_8==n,arg3P_1==n,arg5P_1==-2+n,arg1P_13==1,arg2P_1==n,arg2P_8==-2+n,arg4P_1==-2+n} resulting limit problem: [solved] Solution: arg2P_13 / n arg1P_1 / 1 arg1P_8 / n arg3P_1 / n arg5P_1 / -2+n arg1P_13 / 1 arg2P_1 / n arg2P_8 / -2+n arg4P_1 / -2+n Resulting cost 1+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: 1+n Rule cost: 3+arg2P_8 Rule guard: [ arg2P_13>0 && arg1P_1<=arg1P_13 && arg1P_13>0 && arg1P_1>0 && arg1P_8<=arg2P_1 && 1+arg2P_8<=arg2P_1 && arg2P_8<=arg3P_1 && 2+arg4P_1<=arg2P_1 && 2+arg5P_1<=arg2P_1 && 2+arg2P_8<=arg1P_8 && arg1P_8>2 && arg2P_8>0 && 2+arg5P_1<=arg1P_8 ] WORST_CASE(INF,?)