NO ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: __init 0: f193_0_createTree_Return -> f295_0_main_InvokeMethod : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, [ arg1P_1<=arg1 && arg1>0 && arg1P_1>0 && arg2==arg2P_1 ], cost: 1 4: f295_0_main_InvokeMethod -> f2302_0_main_InvokeMethod : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=arg4P_5, [ arg1P_5<=arg1 && arg2>0 && arg1>0 && arg1P_5>0 && arg2P_5>0 ], cost: 1 7: f295_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, [ x35_1>-1 && arg2>0 && arg1>0 ], cost: 1 16: f295_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ x92_1>0 && arg2>0 && 1+arg1P_17<=arg1 && 1+arg2P_17<=arg1 && 1+arg3P_17<=arg1 && arg1>0 && arg1P_17>-1 && arg2P_17>-1 && arg3P_17>-1 ], cost: 1 1: f1_0_main_Load -> f295_0_main_InvokeMethod : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, [ arg1P_2<=arg1 && arg1>0 && arg1P_2>0 ], cost: 1 2: f1_0_main_Load -> f2292_0_main_InvokeMethod : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, [ arg1>=arg1P_3 && arg1>0 && arg1P_3>0 && arg2P_3>0 ], cost: 1 6: f1_0_main_Load -> f548_0_random_ArrayAccess : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, [ arg1>0 && arg2>-1 ], cost: 1 8: f2292_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, [ arg1>0 && x38_1>-1 && arg2>0 && 2+arg4<=arg2 ], cost: 1 18: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg1P_19<=arg2 && x108_1>0 && 1+arg2P_19<=arg1 && 1+arg2P_19<=arg2 && arg3P_19<=arg2 && arg1>0 && arg2>0 && arg1P_19>0 && arg2P_19>-1 && arg3P_19>0 && 2+arg4<=arg2 ], cost: 1 19: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg1P_20<=arg2 && arg3P_20<=arg2 && arg1>0 && arg2>0 && arg1P_20>0 && arg2P_20>0 && arg3P_20>0 && 2+arg4<=arg2 ], cost: 1 3: f508_0_createTree_Return -> f2292_0_main_InvokeMethod : arg1'=arg1P_4, arg2'=arg2P_4, arg3'=arg3P_4, arg4'=arg4P_4, [ arg1P_4<=arg1 && 1+arg1P_4<=arg2 && arg2P_4<=arg2 && arg1>0 && arg2>1 && arg1P_4>0 && arg2P_4>1 && 2+arg4<=arg2 && arg3==arg3P_4 && arg4==arg4P_4 ], cost: 1 17: f2302_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ 1+arg1P_18<=arg1 && 1+arg1P_18<=arg2 && arg2P_18<=arg2 && 1+arg3P_18<=arg1 && 1+arg3P_18<=arg2 && arg1>0 && arg2>0 && arg1P_18>-1 && arg2P_18>0 && arg3P_18>-1 && 2+arg3<=arg2 ], cost: 1 5: f509_0_createTree_Return -> f2302_0_main_InvokeMethod : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=arg3P_6, arg4'=arg4P_6, [ arg1P_6<=arg1 && 1+arg1P_6<=arg2 && arg2P_6<=arg2 && arg1>0 && arg2>1 && arg1P_6>0 && arg2P_6>1 && 2+arg3<=arg2 && arg3==arg3P_6 ], cost: 1 9: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, [ arg3P_10>0 && x43_1>-1 && arg2P_10>1 && arg1P_10>1 && 1+x43_1==arg4P_10 ], cost: 1 10: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, [ arg4>-1 && arg3>0 && arg1P_11<=arg1 && 2+arg2P_11<=arg2 && arg1>0 && arg2>2 && arg1P_11>0 && arg2P_11>0 && -1+arg3==arg3P_11 && 1+arg4==arg4P_11 ], cost: 1 11: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_12, arg2'=arg2P_12, arg3'=arg3P_12, arg4'=arg4P_12, [ arg3>0 && x59_1>0 && arg4>-1 && arg1P_12<=arg1 && 2+arg2P_12<=arg2 && arg1>0 && arg2>2 && arg1P_12>0 && arg2P_12>0 && -1+arg3==arg3P_12 && 1+arg4==arg4P_12 ], cost: 1 12: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, [ arg3>0 && x66_1>0 && arg4>-1 && arg1>0 && arg2>1 && arg1P_13>0 && arg2P_13>0 && -1+arg3==arg3P_13 && 1+arg4==arg4P_13 ], cost: 1 13: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=arg3P_14, arg4'=arg4P_14, [ arg4>-1 && arg3>0 && arg1>0 && arg2>1 && arg1P_14>0 && arg2P_14>0 && -1+arg3==arg3P_14 && 1+arg4==arg4P_14 ], cost: 1 14: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_15, arg2'=arg2P_15, arg3'=arg3P_15, arg4'=arg4P_15, [ arg4>-1 && arg3>0 && -2+arg1P_15<=arg1 && -2+arg1P_15<=arg2 && -2+arg2P_15<=arg1 && -2+arg2P_15<=arg2 && arg1>1 && arg2>1 && arg1P_15>3 && arg2P_15>3 && -1+arg3==arg3P_15 && 1+arg4==arg4P_15 ], cost: 1 15: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_16, arg2'=arg2P_16, arg3'=arg3P_16, arg4'=arg4P_16, [ arg3>0 && x85_1>0 && arg4>-1 && -2+arg1P_16<=arg1 && -2+arg1P_16<=arg2 && -2+arg2P_16<=arg1 && -2+arg2P_16<=arg2 && arg1>1 && arg2>1 && arg1P_16>3 && arg2P_16>3 && -1+arg3==arg3P_16 && 1+arg4==arg4P_16 ], cost: 1 20: f1394_0_less_leaves_NULL -> f1268_0_append_NONNULL : arg1'=arg1P_21, arg2'=arg2P_21, arg3'=arg3P_21, arg4'=arg4P_21, [ 1+arg1P_21<=arg1 && 1+arg1P_21<=arg3 && arg1>0 && arg2>0 && arg3>0 && arg1P_21>-1 ], cost: 1 21: f1394_0_less_leaves_NULL -> f1554_0_less_leaves_InvokeMethod : arg1'=arg1P_22, arg2'=arg2P_22, arg3'=arg3P_22, arg4'=arg4P_22, [ 1+arg2P_22<=arg2 && arg1>0 && arg2>0 && arg3>0 && arg1P_22>-1 && arg2P_22>-1 ], cost: 1 22: f1394_0_less_leaves_NULL -> f1554_0_less_leaves_InvokeMethod : arg1'=arg1P_23, arg2'=arg2P_23, arg3'=arg3P_23, arg4'=arg4P_23, [ 1+arg2P_23<=arg2 && arg1>0 && arg2>0 && arg3>0 && arg1P_23>0 && arg2P_23>-1 ], cost: 1 26: f1268_0_append_NONNULL -> f1410_0_append_NULL : arg1'=arg1P_27, arg2'=arg2P_27, arg3'=arg3P_27, arg4'=arg4P_27, [ arg1P_27<=arg1 && 1+arg2P_27<=arg1 && arg1>0 && arg1P_27>0 && arg2P_27>-1 && 2+arg3P_27<=arg1 ], cost: 1 23: f1554_0_less_leaves_InvokeMethod -> f1268_0_append_NONNULL : arg1'=arg1P_24, arg2'=arg2P_24, arg3'=arg3P_24, arg4'=arg4P_24, [ arg1P_24<=arg2 && arg1>-1 && arg2>-1 && arg1P_24>-1 ], cost: 1 24: f1554_0_less_leaves_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, [ arg1P_25<=arg1 && arg3P_25<=arg1 && arg1>-1 && arg2>-1 && arg1P_25>-1 && arg2P_25>-1 && arg3P_25>-1 ], cost: 1 25: f1554_0_less_leaves_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_26, arg2'=arg2P_26, arg3'=arg3P_26, arg4'=arg4P_26, [ arg1P_26<=arg1 && arg3P_26<=arg1 && arg1>-1 && arg2>-1 && arg1P_26>-1 && arg2P_26>0 && arg3P_26>-1 ], cost: 1 27: f1410_0_append_NULL -> f1410_0_append_NULL : arg1'=arg1P_28, arg2'=arg2P_28, arg3'=arg3P_28, arg4'=arg4P_28, [ 2+arg1P_28<=arg1 && arg1P_28<=arg2 && 3+arg2P_28<=arg1 && 1+arg2P_28<=arg2 && arg1>2 && arg2>0 && arg1P_28>0 && arg2P_28>-1 && 4+arg3P_28<=arg1 && 2+arg3<=arg1 && 2+arg3P_28<=arg2 ], cost: 1 28: __init -> f1_0_main_Load : arg1'=arg1P_29, arg2'=arg2P_29, arg3'=arg3P_29, arg4'=arg4P_29, [], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 28: __init -> f1_0_main_Load : arg1'=arg1P_29, arg2'=arg2P_29, arg3'=arg3P_29, arg4'=arg4P_29, [], cost: 1 Removed unreachable and leaf rules: Start location: __init 4: f295_0_main_InvokeMethod -> f2302_0_main_InvokeMethod : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=arg4P_5, [ arg1P_5<=arg1 && arg2>0 && arg1>0 && arg1P_5>0 && arg2P_5>0 ], cost: 1 7: f295_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, [ x35_1>-1 && arg2>0 && arg1>0 ], cost: 1 16: f295_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ x92_1>0 && arg2>0 && 1+arg1P_17<=arg1 && 1+arg2P_17<=arg1 && 1+arg3P_17<=arg1 && arg1>0 && arg1P_17>-1 && arg2P_17>-1 && arg3P_17>-1 ], cost: 1 1: f1_0_main_Load -> f295_0_main_InvokeMethod : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, [ arg1P_2<=arg1 && arg1>0 && arg1P_2>0 ], cost: 1 2: f1_0_main_Load -> f2292_0_main_InvokeMethod : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, [ arg1>=arg1P_3 && arg1>0 && arg1P_3>0 && arg2P_3>0 ], cost: 1 6: f1_0_main_Load -> f548_0_random_ArrayAccess : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, [ arg1>0 && arg2>-1 ], cost: 1 8: f2292_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, [ arg1>0 && x38_1>-1 && arg2>0 && 2+arg4<=arg2 ], cost: 1 18: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg1P_19<=arg2 && x108_1>0 && 1+arg2P_19<=arg1 && 1+arg2P_19<=arg2 && arg3P_19<=arg2 && arg1>0 && arg2>0 && arg1P_19>0 && arg2P_19>-1 && arg3P_19>0 && 2+arg4<=arg2 ], cost: 1 19: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg1P_20<=arg2 && arg3P_20<=arg2 && arg1>0 && arg2>0 && arg1P_20>0 && arg2P_20>0 && arg3P_20>0 && 2+arg4<=arg2 ], cost: 1 17: f2302_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ 1+arg1P_18<=arg1 && 1+arg1P_18<=arg2 && arg2P_18<=arg2 && 1+arg3P_18<=arg1 && 1+arg3P_18<=arg2 && arg1>0 && arg2>0 && arg1P_18>-1 && arg2P_18>0 && arg3P_18>-1 && 2+arg3<=arg2 ], cost: 1 9: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, [ arg3P_10>0 && x43_1>-1 && arg2P_10>1 && arg1P_10>1 && 1+x43_1==arg4P_10 ], cost: 1 10: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, [ arg4>-1 && arg3>0 && arg1P_11<=arg1 && 2+arg2P_11<=arg2 && arg1>0 && arg2>2 && arg1P_11>0 && arg2P_11>0 && -1+arg3==arg3P_11 && 1+arg4==arg4P_11 ], cost: 1 11: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_12, arg2'=arg2P_12, arg3'=arg3P_12, arg4'=arg4P_12, [ arg3>0 && x59_1>0 && arg4>-1 && arg1P_12<=arg1 && 2+arg2P_12<=arg2 && arg1>0 && arg2>2 && arg1P_12>0 && arg2P_12>0 && -1+arg3==arg3P_12 && 1+arg4==arg4P_12 ], cost: 1 12: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, [ arg3>0 && x66_1>0 && arg4>-1 && arg1>0 && arg2>1 && arg1P_13>0 && arg2P_13>0 && -1+arg3==arg3P_13 && 1+arg4==arg4P_13 ], cost: 1 13: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=arg3P_14, arg4'=arg4P_14, [ arg4>-1 && arg3>0 && arg1>0 && arg2>1 && arg1P_14>0 && arg2P_14>0 && -1+arg3==arg3P_14 && 1+arg4==arg4P_14 ], cost: 1 14: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_15, arg2'=arg2P_15, arg3'=arg3P_15, arg4'=arg4P_15, [ arg4>-1 && arg3>0 && -2+arg1P_15<=arg1 && -2+arg1P_15<=arg2 && -2+arg2P_15<=arg1 && -2+arg2P_15<=arg2 && arg1>1 && arg2>1 && arg1P_15>3 && arg2P_15>3 && -1+arg3==arg3P_15 && 1+arg4==arg4P_15 ], cost: 1 15: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_16, arg2'=arg2P_16, arg3'=arg3P_16, arg4'=arg4P_16, [ arg3>0 && x85_1>0 && arg4>-1 && -2+arg1P_16<=arg1 && -2+arg1P_16<=arg2 && -2+arg2P_16<=arg1 && -2+arg2P_16<=arg2 && arg1>1 && arg2>1 && arg1P_16>3 && arg2P_16>3 && -1+arg3==arg3P_16 && 1+arg4==arg4P_16 ], cost: 1 20: f1394_0_less_leaves_NULL -> f1268_0_append_NONNULL : arg1'=arg1P_21, arg2'=arg2P_21, arg3'=arg3P_21, arg4'=arg4P_21, [ 1+arg1P_21<=arg1 && 1+arg1P_21<=arg3 && arg1>0 && arg2>0 && arg3>0 && arg1P_21>-1 ], cost: 1 21: f1394_0_less_leaves_NULL -> f1554_0_less_leaves_InvokeMethod : arg1'=arg1P_22, arg2'=arg2P_22, arg3'=arg3P_22, arg4'=arg4P_22, [ 1+arg2P_22<=arg2 && arg1>0 && arg2>0 && arg3>0 && arg1P_22>-1 && arg2P_22>-1 ], cost: 1 22: f1394_0_less_leaves_NULL -> f1554_0_less_leaves_InvokeMethod : arg1'=arg1P_23, arg2'=arg2P_23, arg3'=arg3P_23, arg4'=arg4P_23, [ 1+arg2P_23<=arg2 && arg1>0 && arg2>0 && arg3>0 && arg1P_23>0 && arg2P_23>-1 ], cost: 1 26: f1268_0_append_NONNULL -> f1410_0_append_NULL : arg1'=arg1P_27, arg2'=arg2P_27, arg3'=arg3P_27, arg4'=arg4P_27, [ arg1P_27<=arg1 && 1+arg2P_27<=arg1 && arg1>0 && arg1P_27>0 && arg2P_27>-1 && 2+arg3P_27<=arg1 ], cost: 1 23: f1554_0_less_leaves_InvokeMethod -> f1268_0_append_NONNULL : arg1'=arg1P_24, arg2'=arg2P_24, arg3'=arg3P_24, arg4'=arg4P_24, [ arg1P_24<=arg2 && arg1>-1 && arg2>-1 && arg1P_24>-1 ], cost: 1 24: f1554_0_less_leaves_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, [ arg1P_25<=arg1 && arg3P_25<=arg1 && arg1>-1 && arg2>-1 && arg1P_25>-1 && arg2P_25>-1 && arg3P_25>-1 ], cost: 1 25: f1554_0_less_leaves_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_26, arg2'=arg2P_26, arg3'=arg3P_26, arg4'=arg4P_26, [ arg1P_26<=arg1 && arg3P_26<=arg1 && arg1>-1 && arg2>-1 && arg1P_26>-1 && arg2P_26>0 && arg3P_26>-1 ], cost: 1 27: f1410_0_append_NULL -> f1410_0_append_NULL : arg1'=arg1P_28, arg2'=arg2P_28, arg3'=arg3P_28, arg4'=arg4P_28, [ 2+arg1P_28<=arg1 && arg1P_28<=arg2 && 3+arg2P_28<=arg1 && 1+arg2P_28<=arg2 && arg1>2 && arg2>0 && arg1P_28>0 && arg2P_28>-1 && 4+arg3P_28<=arg1 && 2+arg3<=arg1 && 2+arg3P_28<=arg2 ], cost: 1 28: __init -> f1_0_main_Load : arg1'=arg1P_29, arg2'=arg2P_29, arg3'=arg3P_29, arg4'=arg4P_29, [], cost: 1 Simplified all rules, resulting in: Start location: __init 4: f295_0_main_InvokeMethod -> f2302_0_main_InvokeMethod : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=arg4P_5, [ arg1P_5<=arg1 && arg2>0 && arg1>0 && arg1P_5>0 && arg2P_5>0 ], cost: 1 7: f295_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, [ arg2>0 && arg1>0 ], cost: 1 16: f295_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg2>0 && 1+arg1P_17<=arg1 && 1+arg2P_17<=arg1 && 1+arg3P_17<=arg1 && arg1>0 && arg1P_17>-1 && arg2P_17>-1 && arg3P_17>-1 ], cost: 1 1: f1_0_main_Load -> f295_0_main_InvokeMethod : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, [ arg1P_2<=arg1 && arg1>0 && arg1P_2>0 ], cost: 1 2: f1_0_main_Load -> f2292_0_main_InvokeMethod : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, [ arg1>=arg1P_3 && arg1>0 && arg1P_3>0 && arg2P_3>0 ], cost: 1 6: f1_0_main_Load -> f548_0_random_ArrayAccess : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, [ arg1>0 && arg2>-1 ], cost: 1 8: f2292_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, [ arg1>0 && arg2>0 && 2+arg4<=arg2 ], cost: 1 18: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg1P_19<=arg2 && 1+arg2P_19<=arg1 && 1+arg2P_19<=arg2 && arg3P_19<=arg2 && arg1>0 && arg2>0 && arg1P_19>0 && arg2P_19>-1 && arg3P_19>0 && 2+arg4<=arg2 ], cost: 1 19: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg1P_20<=arg2 && arg3P_20<=arg2 && arg1>0 && arg2>0 && arg1P_20>0 && arg2P_20>0 && arg3P_20>0 && 2+arg4<=arg2 ], cost: 1 17: f2302_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ 1+arg1P_18<=arg1 && 1+arg1P_18<=arg2 && arg2P_18<=arg2 && 1+arg3P_18<=arg1 && 1+arg3P_18<=arg2 && arg1>0 && arg2>0 && arg1P_18>-1 && arg2P_18>0 && arg3P_18>-1 && 2+arg3<=arg2 ], cost: 1 9: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=1+x43_1, [ arg3P_10>0 && x43_1>-1 && arg2P_10>1 && arg1P_10>1 ], cost: 1 10: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=-1+arg3, arg4'=1+arg4, [ arg4>-1 && arg3>0 && arg1P_11<=arg1 && 2+arg2P_11<=arg2 && arg1>0 && arg2>2 && arg1P_11>0 && arg2P_11>0 ], cost: 1 11: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_12, arg2'=arg2P_12, arg3'=-1+arg3, arg4'=1+arg4, [ arg3>0 && arg4>-1 && arg1P_12<=arg1 && 2+arg2P_12<=arg2 && arg1>0 && arg2>2 && arg1P_12>0 && arg2P_12>0 ], cost: 1 12: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=-1+arg3, arg4'=1+arg4, [ arg3>0 && arg4>-1 && arg1>0 && arg2>1 && arg1P_13>0 && arg2P_13>0 ], cost: 1 13: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=-1+arg3, arg4'=1+arg4, [ arg4>-1 && arg3>0 && arg1>0 && arg2>1 && arg1P_14>0 && arg2P_14>0 ], cost: 1 14: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_15, arg2'=arg2P_15, arg3'=-1+arg3, arg4'=1+arg4, [ arg4>-1 && arg3>0 && -2+arg1P_15<=arg1 && -2+arg1P_15<=arg2 && -2+arg2P_15<=arg1 && -2+arg2P_15<=arg2 && arg1>1 && arg2>1 && arg1P_15>3 && arg2P_15>3 ], cost: 1 15: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_16, arg2'=arg2P_16, arg3'=-1+arg3, arg4'=1+arg4, [ arg3>0 && arg4>-1 && -2+arg1P_16<=arg1 && -2+arg1P_16<=arg2 && -2+arg2P_16<=arg1 && -2+arg2P_16<=arg2 && arg1>1 && arg2>1 && arg1P_16>3 && arg2P_16>3 ], cost: 1 20: f1394_0_less_leaves_NULL -> f1268_0_append_NONNULL : arg1'=arg1P_21, arg2'=arg2P_21, arg3'=arg3P_21, arg4'=arg4P_21, [ 1+arg1P_21<=arg1 && 1+arg1P_21<=arg3 && arg1>0 && arg2>0 && arg3>0 && arg1P_21>-1 ], cost: 1 21: f1394_0_less_leaves_NULL -> f1554_0_less_leaves_InvokeMethod : arg1'=arg1P_22, arg2'=arg2P_22, arg3'=arg3P_22, arg4'=arg4P_22, [ 1+arg2P_22<=arg2 && arg1>0 && arg2>0 && arg3>0 && arg1P_22>-1 && arg2P_22>-1 ], cost: 1 22: f1394_0_less_leaves_NULL -> f1554_0_less_leaves_InvokeMethod : arg1'=arg1P_23, arg2'=arg2P_23, arg3'=arg3P_23, arg4'=arg4P_23, [ 1+arg2P_23<=arg2 && arg1>0 && arg2>0 && arg3>0 && arg1P_23>0 && arg2P_23>-1 ], cost: 1 26: f1268_0_append_NONNULL -> f1410_0_append_NULL : arg1'=arg1P_27, arg2'=arg2P_27, arg3'=arg3P_27, arg4'=arg4P_27, [ arg1P_27<=arg1 && 1+arg2P_27<=arg1 && arg1>0 && arg1P_27>0 && arg2P_27>-1 && 2+arg3P_27<=arg1 ], cost: 1 23: f1554_0_less_leaves_InvokeMethod -> f1268_0_append_NONNULL : arg1'=arg1P_24, arg2'=arg2P_24, arg3'=arg3P_24, arg4'=arg4P_24, [ arg1P_24<=arg2 && arg1>-1 && arg2>-1 && arg1P_24>-1 ], cost: 1 24: f1554_0_less_leaves_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, [ arg1P_25<=arg1 && arg3P_25<=arg1 && arg1>-1 && arg2>-1 && arg1P_25>-1 && arg2P_25>-1 && arg3P_25>-1 ], cost: 1 25: f1554_0_less_leaves_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_26, arg2'=arg2P_26, arg3'=arg3P_26, arg4'=arg4P_26, [ arg1P_26<=arg1 && arg3P_26<=arg1 && arg1>-1 && arg2>-1 && arg1P_26>-1 && arg2P_26>0 && arg3P_26>-1 ], cost: 1 27: f1410_0_append_NULL -> f1410_0_append_NULL : arg1'=arg1P_28, arg2'=arg2P_28, arg3'=arg3P_28, arg4'=arg4P_28, [ 2+arg1P_28<=arg1 && arg1P_28<=arg2 && 3+arg2P_28<=arg1 && 1+arg2P_28<=arg2 && arg1>2 && arg2>0 && arg1P_28>0 && arg2P_28>-1 && 4+arg3P_28<=arg1 && 2+arg3<=arg1 && 2+arg3P_28<=arg2 ], cost: 1 28: __init -> f1_0_main_Load : arg1'=arg1P_29, arg2'=arg2P_29, arg3'=arg3P_29, arg4'=arg4P_29, [], cost: 1 ### Simplification by acceleration and chaining ### Accelerating simple loops of location 8. Accelerating the following rules: 10: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=-1+arg3, arg4'=1+arg4, [ arg4>-1 && arg3>0 && arg1P_11<=arg1 && 2+arg2P_11<=arg2 && arg1>0 && arg2>2 && arg1P_11>0 && arg2P_11>0 ], cost: 1 11: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_12, arg2'=arg2P_12, arg3'=-1+arg3, arg4'=1+arg4, [ arg3>0 && arg4>-1 && arg1P_12<=arg1 && 2+arg2P_12<=arg2 && arg1>0 && arg2>2 && arg1P_12>0 && arg2P_12>0 ], cost: 1 12: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=-1+arg3, arg4'=1+arg4, [ arg3>0 && arg4>-1 && arg1>0 && arg2>1 && arg1P_13>0 && arg2P_13>0 ], cost: 1 13: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=-1+arg3, arg4'=1+arg4, [ arg4>-1 && arg3>0 && arg1>0 && arg2>1 && arg1P_14>0 && arg2P_14>0 ], cost: 1 14: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_15, arg2'=arg2P_15, arg3'=-1+arg3, arg4'=1+arg4, [ arg4>-1 && arg3>0 && -2+arg1P_15<=arg1 && -2+arg1P_15<=arg2 && -2+arg2P_15<=arg1 && -2+arg2P_15<=arg2 && arg1>1 && arg2>1 && arg1P_15>3 && arg2P_15>3 ], cost: 1 15: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_16, arg2'=arg2P_16, arg3'=-1+arg3, arg4'=1+arg4, [ arg3>0 && arg4>-1 && -2+arg1P_16<=arg1 && -2+arg1P_16<=arg2 && -2+arg2P_16<=arg1 && -2+arg2P_16<=arg2 && arg1>1 && arg2>1 && arg1P_16>3 && arg2P_16>3 ], cost: 1 Found no metering function for rule 10. Found no metering function for rule 11. Accelerated rule 12 with metering function arg3 (after strengthening guard), yielding the new rule 29. Accelerated rule 13 with metering function arg3 (after strengthening guard), yielding the new rule 30. During metering: Instantiating temporary variables by {arg1P_15==2+arg1,arg2P_15==2+arg2} Accelerated rule 14 with metering function arg3, yielding the new rule 31. During metering: Instantiating temporary variables by {arg1P_16==2+arg1,arg2P_16==2+arg2} Accelerated rule 15 with metering function arg3, yielding the new rule 32. Removing the simple loops: 14 15. Accelerating simple loops of location 12. Accelerating the following rules: 27: f1410_0_append_NULL -> f1410_0_append_NULL : arg1'=arg1P_28, arg2'=arg2P_28, arg3'=arg3P_28, arg4'=arg4P_28, [ 2+arg1P_28<=arg1 && arg1P_28<=arg2 && 3+arg2P_28<=arg1 && 1+arg2P_28<=arg2 && arg1>2 && arg2>0 && arg1P_28>0 && arg2P_28>-1 && 4+arg3P_28<=arg1 && 2+arg3<=arg1 && 2+arg3P_28<=arg2 ], cost: 1 During metering: Instantiating temporary variables by {arg1P_28==arg2,arg2P_28==-1+arg2,arg3P_28==-4+arg1} Accelerated rule 27 with metering function -2+arg1-arg2, yielding the new rule 33. Removing the simple loops: 27. Accelerated all simple loops using metering functions (where possible): Start location: __init 4: f295_0_main_InvokeMethod -> f2302_0_main_InvokeMethod : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=arg4P_5, [ arg1P_5<=arg1 && arg2>0 && arg1>0 && arg1P_5>0 && arg2P_5>0 ], cost: 1 7: f295_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, [ arg2>0 && arg1>0 ], cost: 1 16: f295_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg2>0 && 1+arg1P_17<=arg1 && 1+arg2P_17<=arg1 && 1+arg3P_17<=arg1 && arg1>0 && arg1P_17>-1 && arg2P_17>-1 && arg3P_17>-1 ], cost: 1 1: f1_0_main_Load -> f295_0_main_InvokeMethod : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, [ arg1P_2<=arg1 && arg1>0 && arg1P_2>0 ], cost: 1 2: f1_0_main_Load -> f2292_0_main_InvokeMethod : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, [ arg1>=arg1P_3 && arg1>0 && arg1P_3>0 && arg2P_3>0 ], cost: 1 6: f1_0_main_Load -> f548_0_random_ArrayAccess : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, [ arg1>0 && arg2>-1 ], cost: 1 8: f2292_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, [ arg1>0 && arg2>0 && 2+arg4<=arg2 ], cost: 1 18: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg1P_19<=arg2 && 1+arg2P_19<=arg1 && 1+arg2P_19<=arg2 && arg3P_19<=arg2 && arg1>0 && arg2>0 && arg1P_19>0 && arg2P_19>-1 && arg3P_19>0 && 2+arg4<=arg2 ], cost: 1 19: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg1P_20<=arg2 && arg3P_20<=arg2 && arg1>0 && arg2>0 && arg1P_20>0 && arg2P_20>0 && arg3P_20>0 && 2+arg4<=arg2 ], cost: 1 17: f2302_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ 1+arg1P_18<=arg1 && 1+arg1P_18<=arg2 && arg2P_18<=arg2 && 1+arg3P_18<=arg1 && 1+arg3P_18<=arg2 && arg1>0 && arg2>0 && arg1P_18>-1 && arg2P_18>0 && arg3P_18>-1 && 2+arg3<=arg2 ], cost: 1 9: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=1+x43_1, [ arg3P_10>0 && x43_1>-1 && arg2P_10>1 && arg1P_10>1 ], cost: 1 10: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=-1+arg3, arg4'=1+arg4, [ arg4>-1 && arg3>0 && arg1P_11<=arg1 && 2+arg2P_11<=arg2 && arg1>0 && arg2>2 && arg1P_11>0 && arg2P_11>0 ], cost: 1 11: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_12, arg2'=arg2P_12, arg3'=-1+arg3, arg4'=1+arg4, [ arg3>0 && arg4>-1 && arg1P_12<=arg1 && 2+arg2P_12<=arg2 && arg1>0 && arg2>2 && arg1P_12>0 && arg2P_12>0 ], cost: 1 12: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=-1+arg3, arg4'=1+arg4, [ arg3>0 && arg4>-1 && arg1>0 && arg2>1 && arg1P_13>0 && arg2P_13>0 ], cost: 1 13: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=-1+arg3, arg4'=1+arg4, [ arg4>-1 && arg3>0 && arg1>0 && arg2>1 && arg1P_14>0 && arg2P_14>0 ], cost: 1 29: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=0, arg4'=arg3+arg4, [ arg3>0 && arg4>-1 && arg1>0 && arg2>1 && arg1P_13>0 && arg2P_13>1 ], cost: arg3 30: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=0, arg4'=arg3+arg4, [ arg4>-1 && arg3>0 && arg1>0 && arg2>1 && arg1P_14>0 && arg2P_14>1 ], cost: arg3 31: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=2*arg3+arg1, arg2'=2*arg3+arg2, arg3'=0, arg4'=arg3+arg4, [ arg4>-1 && arg3>0 && arg1<=arg2 && arg2<=arg1 && arg1>1 && arg2>1 ], cost: arg3 32: f2274_0_createTree_LE -> f2274_0_createTree_LE : arg1'=2*arg3+arg1, arg2'=2*arg3+arg2, arg3'=0, arg4'=arg3+arg4, [ arg3>0 && arg4>-1 && arg1<=arg2 && arg2<=arg1 && arg1>1 && arg2>1 ], cost: arg3 20: f1394_0_less_leaves_NULL -> f1268_0_append_NONNULL : arg1'=arg1P_21, arg2'=arg2P_21, arg3'=arg3P_21, arg4'=arg4P_21, [ 1+arg1P_21<=arg1 && 1+arg1P_21<=arg3 && arg1>0 && arg2>0 && arg3>0 && arg1P_21>-1 ], cost: 1 21: f1394_0_less_leaves_NULL -> f1554_0_less_leaves_InvokeMethod : arg1'=arg1P_22, arg2'=arg2P_22, arg3'=arg3P_22, arg4'=arg4P_22, [ 1+arg2P_22<=arg2 && arg1>0 && arg2>0 && arg3>0 && arg1P_22>-1 && arg2P_22>-1 ], cost: 1 22: f1394_0_less_leaves_NULL -> f1554_0_less_leaves_InvokeMethod : arg1'=arg1P_23, arg2'=arg2P_23, arg3'=arg3P_23, arg4'=arg4P_23, [ 1+arg2P_23<=arg2 && arg1>0 && arg2>0 && arg3>0 && arg1P_23>0 && arg2P_23>-1 ], cost: 1 26: f1268_0_append_NONNULL -> f1410_0_append_NULL : arg1'=arg1P_27, arg2'=arg2P_27, arg3'=arg3P_27, arg4'=arg4P_27, [ arg1P_27<=arg1 && 1+arg2P_27<=arg1 && arg1>0 && arg1P_27>0 && arg2P_27>-1 && 2+arg3P_27<=arg1 ], cost: 1 23: f1554_0_less_leaves_InvokeMethod -> f1268_0_append_NONNULL : arg1'=arg1P_24, arg2'=arg2P_24, arg3'=arg3P_24, arg4'=arg4P_24, [ arg1P_24<=arg2 && arg1>-1 && arg2>-1 && arg1P_24>-1 ], cost: 1 24: f1554_0_less_leaves_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, [ arg1P_25<=arg1 && arg3P_25<=arg1 && arg1>-1 && arg2>-1 && arg1P_25>-1 && arg2P_25>-1 && arg3P_25>-1 ], cost: 1 25: f1554_0_less_leaves_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_26, arg2'=arg2P_26, arg3'=arg3P_26, arg4'=arg4P_26, [ arg1P_26<=arg1 && arg3P_26<=arg1 && arg1>-1 && arg2>-1 && arg1P_26>-1 && arg2P_26>0 && arg3P_26>-1 ], cost: 1 33: f1410_0_append_NULL -> f1410_0_append_NULL : arg1'=3-arg1+2*arg2, arg2'=2-arg1+2*arg2, arg3'=-arg1+2*arg2, arg4'=arg4P_28, [ arg1>2 && arg2>0 && 2+arg3<=arg1 && -2+arg1<=arg2 && -2+arg1-arg2>=1 ], cost: -2+arg1-arg2 28: __init -> f1_0_main_Load : arg1'=arg1P_29, arg2'=arg2P_29, arg3'=arg3P_29, arg4'=arg4P_29, [], cost: 1 Chained accelerated rules (with incoming rules): Start location: __init 4: f295_0_main_InvokeMethod -> f2302_0_main_InvokeMethod : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=arg4P_5, [ arg1P_5<=arg1 && arg2>0 && arg1>0 && arg1P_5>0 && arg2P_5>0 ], cost: 1 7: f295_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, [ arg2>0 && arg1>0 ], cost: 1 16: f295_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg2>0 && 1+arg1P_17<=arg1 && 1+arg2P_17<=arg1 && 1+arg3P_17<=arg1 && arg1>0 && arg1P_17>-1 && arg2P_17>-1 && arg3P_17>-1 ], cost: 1 1: f1_0_main_Load -> f295_0_main_InvokeMethod : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, [ arg1P_2<=arg1 && arg1>0 && arg1P_2>0 ], cost: 1 2: f1_0_main_Load -> f2292_0_main_InvokeMethod : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, [ arg1>=arg1P_3 && arg1>0 && arg1P_3>0 && arg2P_3>0 ], cost: 1 6: f1_0_main_Load -> f548_0_random_ArrayAccess : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, [ arg1>0 && arg2>-1 ], cost: 1 8: f2292_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, [ arg1>0 && arg2>0 && 2+arg4<=arg2 ], cost: 1 18: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg1P_19<=arg2 && 1+arg2P_19<=arg1 && 1+arg2P_19<=arg2 && arg3P_19<=arg2 && arg1>0 && arg2>0 && arg1P_19>0 && arg2P_19>-1 && arg3P_19>0 && 2+arg4<=arg2 ], cost: 1 19: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg1P_20<=arg2 && arg3P_20<=arg2 && arg1>0 && arg2>0 && arg1P_20>0 && arg2P_20>0 && arg3P_20>0 && 2+arg4<=arg2 ], cost: 1 17: f2302_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ 1+arg1P_18<=arg1 && 1+arg1P_18<=arg2 && arg2P_18<=arg2 && 1+arg3P_18<=arg1 && 1+arg3P_18<=arg2 && arg1>0 && arg2>0 && arg1P_18>-1 && arg2P_18>0 && arg3P_18>-1 && 2+arg3<=arg2 ], cost: 1 9: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=1+x43_1, [ arg3P_10>0 && x43_1>-1 && arg2P_10>1 && arg1P_10>1 ], cost: 1 34: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=-1+arg3P_10, arg4'=2+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_11>0 && arg2P_11>0 ], cost: 2 35: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_12, arg2'=arg2P_12, arg3'=-1+arg3P_10, arg4'=2+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_12>0 && arg2P_12>0 ], cost: 2 36: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=-1+arg3P_10, arg4'=2+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_13>0 && arg2P_13>0 ], cost: 2 37: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=-1+arg3P_10, arg4'=2+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_14>0 && arg2P_14>0 ], cost: 2 38: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_13>0 && arg2P_13>1 ], cost: 1+arg3P_10 39: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_14>0 && arg2P_14>1 ], cost: 1+arg3P_10 40: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=2*arg3P_10+arg1P_10, arg2'=2*arg3P_10+arg1P_10, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_10>1 ], cost: 1+arg3P_10 41: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=2*arg3P_10+arg1P_10, arg2'=2*arg3P_10+arg1P_10, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_10>1 ], cost: 1+arg3P_10 20: f1394_0_less_leaves_NULL -> f1268_0_append_NONNULL : arg1'=arg1P_21, arg2'=arg2P_21, arg3'=arg3P_21, arg4'=arg4P_21, [ 1+arg1P_21<=arg1 && 1+arg1P_21<=arg3 && arg1>0 && arg2>0 && arg3>0 && arg1P_21>-1 ], cost: 1 21: f1394_0_less_leaves_NULL -> f1554_0_less_leaves_InvokeMethod : arg1'=arg1P_22, arg2'=arg2P_22, arg3'=arg3P_22, arg4'=arg4P_22, [ 1+arg2P_22<=arg2 && arg1>0 && arg2>0 && arg3>0 && arg1P_22>-1 && arg2P_22>-1 ], cost: 1 22: f1394_0_less_leaves_NULL -> f1554_0_less_leaves_InvokeMethod : arg1'=arg1P_23, arg2'=arg2P_23, arg3'=arg3P_23, arg4'=arg4P_23, [ 1+arg2P_23<=arg2 && arg1>0 && arg2>0 && arg3>0 && arg1P_23>0 && arg2P_23>-1 ], cost: 1 26: f1268_0_append_NONNULL -> f1410_0_append_NULL : arg1'=arg1P_27, arg2'=arg2P_27, arg3'=arg3P_27, arg4'=arg4P_27, [ arg1P_27<=arg1 && 1+arg2P_27<=arg1 && arg1>0 && arg1P_27>0 && arg2P_27>-1 && 2+arg3P_27<=arg1 ], cost: 1 23: f1554_0_less_leaves_InvokeMethod -> f1268_0_append_NONNULL : arg1'=arg1P_24, arg2'=arg2P_24, arg3'=arg3P_24, arg4'=arg4P_24, [ arg1P_24<=arg2 && arg1>-1 && arg2>-1 && arg1P_24>-1 ], cost: 1 24: f1554_0_less_leaves_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, [ arg1P_25<=arg1 && arg3P_25<=arg1 && arg1>-1 && arg2>-1 && arg1P_25>-1 && arg2P_25>-1 && arg3P_25>-1 ], cost: 1 25: f1554_0_less_leaves_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_26, arg2'=arg2P_26, arg3'=arg3P_26, arg4'=arg4P_26, [ arg1P_26<=arg1 && arg3P_26<=arg1 && arg1>-1 && arg2>-1 && arg1P_26>-1 && arg2P_26>0 && arg3P_26>-1 ], cost: 1 28: __init -> f1_0_main_Load : arg1'=arg1P_29, arg2'=arg2P_29, arg3'=arg3P_29, arg4'=arg4P_29, [], cost: 1 Removed unreachable locations (and leaf rules with constant cost): Start location: __init 4: f295_0_main_InvokeMethod -> f2302_0_main_InvokeMethod : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=arg4P_5, [ arg1P_5<=arg1 && arg2>0 && arg1>0 && arg1P_5>0 && arg2P_5>0 ], cost: 1 7: f295_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, [ arg2>0 && arg1>0 ], cost: 1 16: f295_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg2>0 && 1+arg1P_17<=arg1 && 1+arg2P_17<=arg1 && 1+arg3P_17<=arg1 && arg1>0 && arg1P_17>-1 && arg2P_17>-1 && arg3P_17>-1 ], cost: 1 1: f1_0_main_Load -> f295_0_main_InvokeMethod : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, [ arg1P_2<=arg1 && arg1>0 && arg1P_2>0 ], cost: 1 2: f1_0_main_Load -> f2292_0_main_InvokeMethod : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, [ arg1>=arg1P_3 && arg1>0 && arg1P_3>0 && arg2P_3>0 ], cost: 1 6: f1_0_main_Load -> f548_0_random_ArrayAccess : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, [ arg1>0 && arg2>-1 ], cost: 1 8: f2292_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, [ arg1>0 && arg2>0 && 2+arg4<=arg2 ], cost: 1 18: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg1P_19<=arg2 && 1+arg2P_19<=arg1 && 1+arg2P_19<=arg2 && arg3P_19<=arg2 && arg1>0 && arg2>0 && arg1P_19>0 && arg2P_19>-1 && arg3P_19>0 && 2+arg4<=arg2 ], cost: 1 19: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg1P_20<=arg2 && arg3P_20<=arg2 && arg1>0 && arg2>0 && arg1P_20>0 && arg2P_20>0 && arg3P_20>0 && 2+arg4<=arg2 ], cost: 1 17: f2302_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ 1+arg1P_18<=arg1 && 1+arg1P_18<=arg2 && arg2P_18<=arg2 && 1+arg3P_18<=arg1 && 1+arg3P_18<=arg2 && arg1>0 && arg2>0 && arg1P_18>-1 && arg2P_18>0 && arg3P_18>-1 && 2+arg3<=arg2 ], cost: 1 38: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_13>0 && arg2P_13>1 ], cost: 1+arg3P_10 39: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_14>0 && arg2P_14>1 ], cost: 1+arg3P_10 40: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=2*arg3P_10+arg1P_10, arg2'=2*arg3P_10+arg1P_10, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_10>1 ], cost: 1+arg3P_10 41: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=2*arg3P_10+arg1P_10, arg2'=2*arg3P_10+arg1P_10, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_10>1 ], cost: 1+arg3P_10 21: f1394_0_less_leaves_NULL -> f1554_0_less_leaves_InvokeMethod : arg1'=arg1P_22, arg2'=arg2P_22, arg3'=arg3P_22, arg4'=arg4P_22, [ 1+arg2P_22<=arg2 && arg1>0 && arg2>0 && arg3>0 && arg1P_22>-1 && arg2P_22>-1 ], cost: 1 22: f1394_0_less_leaves_NULL -> f1554_0_less_leaves_InvokeMethod : arg1'=arg1P_23, arg2'=arg2P_23, arg3'=arg3P_23, arg4'=arg4P_23, [ 1+arg2P_23<=arg2 && arg1>0 && arg2>0 && arg3>0 && arg1P_23>0 && arg2P_23>-1 ], cost: 1 24: f1554_0_less_leaves_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, [ arg1P_25<=arg1 && arg3P_25<=arg1 && arg1>-1 && arg2>-1 && arg1P_25>-1 && arg2P_25>-1 && arg3P_25>-1 ], cost: 1 25: f1554_0_less_leaves_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_26, arg2'=arg2P_26, arg3'=arg3P_26, arg4'=arg4P_26, [ arg1P_26<=arg1 && arg3P_26<=arg1 && arg1>-1 && arg2>-1 && arg1P_26>-1 && arg2P_26>0 && arg3P_26>-1 ], cost: 1 28: __init -> f1_0_main_Load : arg1'=arg1P_29, arg2'=arg2P_29, arg3'=arg3P_29, arg4'=arg4P_29, [], cost: 1 Eliminated locations (on linear paths): Start location: __init 7: f295_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, [ arg2>0 && arg1>0 ], cost: 1 16: f295_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg2>0 && 1+arg1P_17<=arg1 && 1+arg2P_17<=arg1 && 1+arg3P_17<=arg1 && arg1>0 && arg1P_17>-1 && arg2P_17>-1 && arg3P_17>-1 ], cost: 1 42: f295_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ arg1P_5<=arg1 && arg2>0 && arg1>0 && arg1P_5>0 && arg2P_5>0 && 1+arg1P_18<=arg1P_5 && 1+arg1P_18<=arg2P_5 && arg2P_18<=arg2P_5 && 1+arg3P_18<=arg1P_5 && 1+arg3P_18<=arg2P_5 && arg1P_18>-1 && arg2P_18>0 && arg3P_18>-1 && 2+arg3P_5<=arg2P_5 ], cost: 2 1: f1_0_main_Load -> f295_0_main_InvokeMethod : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, [ arg1P_2<=arg1 && arg1>0 && arg1P_2>0 ], cost: 1 2: f1_0_main_Load -> f2292_0_main_InvokeMethod : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, [ arg1>=arg1P_3 && arg1>0 && arg1P_3>0 && arg2P_3>0 ], cost: 1 6: f1_0_main_Load -> f548_0_random_ArrayAccess : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, [ arg1>0 && arg2>-1 ], cost: 1 8: f2292_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, [ arg1>0 && arg2>0 && 2+arg4<=arg2 ], cost: 1 18: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg1P_19<=arg2 && 1+arg2P_19<=arg1 && 1+arg2P_19<=arg2 && arg3P_19<=arg2 && arg1>0 && arg2>0 && arg1P_19>0 && arg2P_19>-1 && arg3P_19>0 && 2+arg4<=arg2 ], cost: 1 19: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg1P_20<=arg2 && arg3P_20<=arg2 && arg1>0 && arg2>0 && arg1P_20>0 && arg2P_20>0 && arg3P_20>0 && 2+arg4<=arg2 ], cost: 1 38: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_13>0 && arg2P_13>1 ], cost: 1+arg3P_10 39: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_14>0 && arg2P_14>1 ], cost: 1+arg3P_10 40: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=2*arg3P_10+arg1P_10, arg2'=2*arg3P_10+arg1P_10, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_10>1 ], cost: 1+arg3P_10 41: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=2*arg3P_10+arg1P_10, arg2'=2*arg3P_10+arg1P_10, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_10>1 ], cost: 1+arg3P_10 21: f1394_0_less_leaves_NULL -> f1554_0_less_leaves_InvokeMethod : arg1'=arg1P_22, arg2'=arg2P_22, arg3'=arg3P_22, arg4'=arg4P_22, [ 1+arg2P_22<=arg2 && arg1>0 && arg2>0 && arg3>0 && arg1P_22>-1 && arg2P_22>-1 ], cost: 1 22: f1394_0_less_leaves_NULL -> f1554_0_less_leaves_InvokeMethod : arg1'=arg1P_23, arg2'=arg2P_23, arg3'=arg3P_23, arg4'=arg4P_23, [ 1+arg2P_23<=arg2 && arg1>0 && arg2>0 && arg3>0 && arg1P_23>0 && arg2P_23>-1 ], cost: 1 24: f1554_0_less_leaves_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, [ arg1P_25<=arg1 && arg3P_25<=arg1 && arg1>-1 && arg2>-1 && arg1P_25>-1 && arg2P_25>-1 && arg3P_25>-1 ], cost: 1 25: f1554_0_less_leaves_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_26, arg2'=arg2P_26, arg3'=arg3P_26, arg4'=arg4P_26, [ arg1P_26<=arg1 && arg3P_26<=arg1 && arg1>-1 && arg2>-1 && arg1P_26>-1 && arg2P_26>0 && arg3P_26>-1 ], cost: 1 28: __init -> f1_0_main_Load : arg1'=arg1P_29, arg2'=arg2P_29, arg3'=arg3P_29, arg4'=arg4P_29, [], cost: 1 Eliminated locations (on tree-shaped paths): Start location: __init 7: f295_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, [ arg2>0 && arg1>0 ], cost: 1 16: f295_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg2>0 && 1+arg1P_17<=arg1 && 1+arg2P_17<=arg1 && 1+arg3P_17<=arg1 && arg1>0 && arg1P_17>-1 && arg2P_17>-1 && arg3P_17>-1 ], cost: 1 42: f295_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ arg1P_5<=arg1 && arg2>0 && arg1>0 && arg1P_5>0 && arg2P_5>0 && 1+arg1P_18<=arg1P_5 && 1+arg1P_18<=arg2P_5 && arg2P_18<=arg2P_5 && 1+arg3P_18<=arg1P_5 && 1+arg3P_18<=arg2P_5 && arg1P_18>-1 && arg2P_18>0 && arg3P_18>-1 && 2+arg3P_5<=arg2P_5 ], cost: 2 8: f2292_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, [ arg1>0 && arg2>0 && 2+arg4<=arg2 ], cost: 1 18: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg1P_19<=arg2 && 1+arg2P_19<=arg1 && 1+arg2P_19<=arg2 && arg3P_19<=arg2 && arg1>0 && arg2>0 && arg1P_19>0 && arg2P_19>-1 && arg3P_19>0 && 2+arg4<=arg2 ], cost: 1 19: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg1P_20<=arg2 && arg3P_20<=arg2 && arg1>0 && arg2>0 && arg1P_20>0 && arg2P_20>0 && arg3P_20>0 && 2+arg4<=arg2 ], cost: 1 38: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_13>0 && arg2P_13>1 ], cost: 1+arg3P_10 39: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_14>0 && arg2P_14>1 ], cost: 1+arg3P_10 40: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=2*arg3P_10+arg1P_10, arg2'=2*arg3P_10+arg1P_10, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_10>1 ], cost: 1+arg3P_10 41: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=2*arg3P_10+arg1P_10, arg2'=2*arg3P_10+arg1P_10, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_10>1 ], cost: 1+arg3P_10 46: f1394_0_less_leaves_NULL -> f1394_0_less_leaves_NULL : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, [ 1+arg2P_22<=arg2 && arg1>0 && arg2>0 && arg3>0 && arg1P_22>-1 && arg2P_22>-1 && arg1P_25<=arg1P_22 && arg3P_25<=arg1P_22 && arg1P_25>-1 && arg2P_25>-1 && arg3P_25>-1 ], cost: 2 47: f1394_0_less_leaves_NULL -> f1394_0_less_leaves_NULL : arg1'=arg1P_26, arg2'=arg2P_26, arg3'=arg3P_26, arg4'=arg4P_26, [ 1+arg2P_22<=arg2 && arg1>0 && arg2>0 && arg3>0 && arg1P_22>-1 && arg2P_22>-1 && arg1P_26<=arg1P_22 && arg3P_26<=arg1P_22 && arg1P_26>-1 && arg2P_26>0 && arg3P_26>-1 ], cost: 2 48: f1394_0_less_leaves_NULL -> f1394_0_less_leaves_NULL : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, [ 1+arg2P_23<=arg2 && arg1>0 && arg2>0 && arg3>0 && arg1P_23>0 && arg2P_23>-1 && arg1P_25<=arg1P_23 && arg3P_25<=arg1P_23 && arg1P_25>-1 && arg2P_25>-1 && arg3P_25>-1 ], cost: 2 49: f1394_0_less_leaves_NULL -> f1394_0_less_leaves_NULL : arg1'=arg1P_26, arg2'=arg2P_26, arg3'=arg3P_26, arg4'=arg4P_26, [ 1+arg2P_23<=arg2 && arg1>0 && arg2>0 && arg3>0 && arg1P_23>0 && arg2P_23>-1 && arg1P_26<=arg1P_23 && arg3P_26<=arg1P_23 && arg1P_26>-1 && arg2P_26>0 && arg3P_26>-1 ], cost: 2 43: __init -> f295_0_main_InvokeMethod : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg1P_2>0 ], cost: 2 44: __init -> f2292_0_main_InvokeMethod : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 ], cost: 2 45: __init -> f548_0_random_ArrayAccess : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, [ arg1P_29>0 && arg2P_29>-1 ], cost: 2 Accelerating simple loops of location 9. Simplified some of the simple loops (and removed duplicate rules). Accelerating the following rules: 48: f1394_0_less_leaves_NULL -> f1394_0_less_leaves_NULL : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, [ arg1>0 && arg2>0 && arg3>0 && arg1P_25>-1 && arg2P_25>-1 && arg3P_25>-1 ], cost: 2 49: f1394_0_less_leaves_NULL -> f1394_0_less_leaves_NULL : arg1'=arg1P_26, arg2'=arg2P_26, arg3'=arg3P_26, arg4'=arg4P_26, [ arg1>0 && arg2>0 && arg3>0 && arg1P_26>-1 && arg2P_26>0 && arg3P_26>-1 ], cost: 2 Accelerated rule 48 with NONTERM (after strengthening guard), yielding the new rule 50. Accelerated rule 49 with NONTERM (after strengthening guard), yielding the new rule 51. Removing the simple loops:. Accelerated all simple loops using metering functions (where possible): Start location: __init 7: f295_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, [ arg2>0 && arg1>0 ], cost: 1 16: f295_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg2>0 && 1+arg1P_17<=arg1 && 1+arg2P_17<=arg1 && 1+arg3P_17<=arg1 && arg1>0 && arg1P_17>-1 && arg2P_17>-1 && arg3P_17>-1 ], cost: 1 42: f295_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ arg1P_5<=arg1 && arg2>0 && arg1>0 && arg1P_5>0 && arg2P_5>0 && 1+arg1P_18<=arg1P_5 && 1+arg1P_18<=arg2P_5 && arg2P_18<=arg2P_5 && 1+arg3P_18<=arg1P_5 && 1+arg3P_18<=arg2P_5 && arg1P_18>-1 && arg2P_18>0 && arg3P_18>-1 && 2+arg3P_5<=arg2P_5 ], cost: 2 8: f2292_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, [ arg1>0 && arg2>0 && 2+arg4<=arg2 ], cost: 1 18: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg1P_19<=arg2 && 1+arg2P_19<=arg1 && 1+arg2P_19<=arg2 && arg3P_19<=arg2 && arg1>0 && arg2>0 && arg1P_19>0 && arg2P_19>-1 && arg3P_19>0 && 2+arg4<=arg2 ], cost: 1 19: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg1P_20<=arg2 && arg3P_20<=arg2 && arg1>0 && arg2>0 && arg1P_20>0 && arg2P_20>0 && arg3P_20>0 && 2+arg4<=arg2 ], cost: 1 38: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_13>0 && arg2P_13>1 ], cost: 1+arg3P_10 39: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_14>0 && arg2P_14>1 ], cost: 1+arg3P_10 41: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=2*arg3P_10+arg1P_10, arg2'=2*arg3P_10+arg1P_10, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_10>1 ], cost: 1+arg3P_10 48: f1394_0_less_leaves_NULL -> f1394_0_less_leaves_NULL : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, [ arg1>0 && arg2>0 && arg3>0 && arg1P_25>-1 && arg2P_25>-1 && arg3P_25>-1 ], cost: 2 49: f1394_0_less_leaves_NULL -> f1394_0_less_leaves_NULL : arg1'=arg1P_26, arg2'=arg2P_26, arg3'=arg3P_26, arg4'=arg4P_26, [ arg1>0 && arg2>0 && arg3>0 && arg1P_26>-1 && arg2P_26>0 && arg3P_26>-1 ], cost: 2 50: f1394_0_less_leaves_NULL -> [16] : [ arg1>0 && arg2>0 && arg3>0 && arg1P_25>0 && arg2P_25>0 && arg3P_25>0 ], cost: NONTERM 51: f1394_0_less_leaves_NULL -> [16] : [ arg1>0 && arg2>0 && arg3>0 && arg2P_26>0 && arg1P_26>0 && arg3P_26>0 ], cost: NONTERM 43: __init -> f295_0_main_InvokeMethod : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg1P_2>0 ], cost: 2 44: __init -> f2292_0_main_InvokeMethod : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 ], cost: 2 45: __init -> f548_0_random_ArrayAccess : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, [ arg1P_29>0 && arg2P_29>-1 ], cost: 2 Chained accelerated rules (with incoming rules): Start location: __init 7: f295_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, [ arg2>0 && arg1>0 ], cost: 1 16: f295_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg2>0 && 1+arg1P_17<=arg1 && 1+arg2P_17<=arg1 && 1+arg3P_17<=arg1 && arg1>0 && arg1P_17>-1 && arg2P_17>-1 && arg3P_17>-1 ], cost: 1 42: f295_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ arg1P_5<=arg1 && arg2>0 && arg1>0 && arg1P_5>0 && arg2P_5>0 && 1+arg1P_18<=arg1P_5 && 1+arg1P_18<=arg2P_5 && arg2P_18<=arg2P_5 && 1+arg3P_18<=arg1P_5 && 1+arg3P_18<=arg2P_5 && arg1P_18>-1 && arg2P_18>0 && arg3P_18>-1 && 2+arg3P_5<=arg2P_5 ], cost: 2 52: f295_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, [ arg2>0 && arg1P_25>-1 && arg2P_25>-1 && arg3P_25>-1 && 1<=-1+arg1 ], cost: 3 55: f295_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, [ arg2>0 && arg1P_25>-1 && arg2P_25>-1 && arg3P_25>-1 && 2<=arg1 ], cost: 4 56: f295_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_26, arg2'=arg2P_26, arg3'=arg3P_26, arg4'=arg4P_26, [ arg2>0 && arg1P_26>-1 && arg2P_26>0 && arg3P_26>-1 && 1<=-1+arg1 ], cost: 3 59: f295_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_26, arg2'=arg2P_26, arg3'=arg3P_26, arg4'=arg4P_26, [ arg2>0 && arg1P_26>-1 && arg2P_26>0 && arg3P_26>-1 && 2<=arg1 ], cost: 4 60: f295_0_main_InvokeMethod -> [16] : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg2>0 && 1+arg1P_17<=arg1 && 1+arg2P_17<=arg1 && 1+arg3P_17<=arg1 && arg1>0 && arg1P_17>0 && arg2P_17>0 && arg3P_17>0 ], cost: NONTERM 63: f295_0_main_InvokeMethod -> [16] : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ arg2>0 && arg1>0 && arg2P_18>0 && arg1P_18>0 && arg3P_18>0 && 1+arg1P_18<=arg1 && 1+arg3P_18<=arg1 ], cost: NONTERM 64: f295_0_main_InvokeMethod -> [16] : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg2>0 && 1+arg1P_17<=arg1 && 1+arg2P_17<=arg1 && 1+arg3P_17<=arg1 && arg1>0 && arg1P_17>0 && arg2P_17>0 && arg3P_17>0 ], cost: NONTERM 67: f295_0_main_InvokeMethod -> [16] : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ arg2>0 && arg1>0 && arg2P_18>0 && arg1P_18>0 && arg3P_18>0 && 1+arg1P_18<=arg1 && 1+arg3P_18<=arg1 ], cost: NONTERM 8: f2292_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, [ arg1>0 && arg2>0 && 2+arg4<=arg2 ], cost: 1 18: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg1P_19<=arg2 && 1+arg2P_19<=arg1 && 1+arg2P_19<=arg2 && arg3P_19<=arg2 && arg1>0 && arg2>0 && arg1P_19>0 && arg2P_19>-1 && arg3P_19>0 && 2+arg4<=arg2 ], cost: 1 19: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg1P_20<=arg2 && arg3P_20<=arg2 && arg1>0 && arg2>0 && arg1P_20>0 && arg2P_20>0 && arg3P_20>0 && 2+arg4<=arg2 ], cost: 1 53: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, [ 2+arg4<=arg2 && arg1P_25>-1 && arg2P_25>-1 && arg3P_25>-1 && 1<=-1+arg1 && 1<=-1+arg2 ], cost: 3 54: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, [ arg1>0 && arg2>0 && 2+arg4<=arg2 && arg1P_25>-1 && arg2P_25>-1 && arg3P_25>-1 ], cost: 3 57: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_26, arg2'=arg2P_26, arg3'=arg3P_26, arg4'=arg4P_26, [ 2+arg4<=arg2 && arg1P_26>-1 && arg2P_26>0 && arg3P_26>-1 && 1<=-1+arg1 && 1<=-1+arg2 ], cost: 3 58: f2292_0_main_InvokeMethod -> f1394_0_less_leaves_NULL : arg1'=arg1P_26, arg2'=arg2P_26, arg3'=arg3P_26, arg4'=arg4P_26, [ arg1>0 && arg2>0 && 2+arg4<=arg2 && arg1P_26>-1 && arg2P_26>0 && arg3P_26>-1 ], cost: 3 61: f2292_0_main_InvokeMethod -> [16] : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg1P_19<=arg2 && 1+arg2P_19<=arg1 && 1+arg2P_19<=arg2 && arg3P_19<=arg2 && arg1>0 && arg2>0 && arg1P_19>0 && arg3P_19>0 && 2+arg4<=arg2 && arg2P_19>0 ], cost: NONTERM 62: f2292_0_main_InvokeMethod -> [16] : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg1P_20<=arg2 && arg3P_20<=arg2 && arg1>0 && arg2>0 && arg1P_20>0 && arg2P_20>0 && arg3P_20>0 && 2+arg4<=arg2 ], cost: NONTERM 65: f2292_0_main_InvokeMethod -> [16] : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg1P_19<=arg2 && 1+arg2P_19<=arg1 && 1+arg2P_19<=arg2 && arg3P_19<=arg2 && arg1>0 && arg2>0 && arg1P_19>0 && arg3P_19>0 && 2+arg4<=arg2 && arg2P_19>0 ], cost: NONTERM 66: f2292_0_main_InvokeMethod -> [16] : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg1P_20<=arg2 && arg3P_20<=arg2 && arg1>0 && arg2>0 && arg1P_20>0 && arg2P_20>0 && arg3P_20>0 && 2+arg4<=arg2 ], cost: NONTERM 38: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_13>0 && arg2P_13>1 ], cost: 1+arg3P_10 39: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_14>0 && arg2P_14>1 ], cost: 1+arg3P_10 41: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=2*arg3P_10+arg1P_10, arg2'=2*arg3P_10+arg1P_10, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_10>1 ], cost: 1+arg3P_10 43: __init -> f295_0_main_InvokeMethod : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg1P_2>0 ], cost: 2 44: __init -> f2292_0_main_InvokeMethod : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 ], cost: 2 45: __init -> f548_0_random_ArrayAccess : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, [ arg1P_29>0 && arg2P_29>-1 ], cost: 2 Removed unreachable locations (and leaf rules with constant cost): Start location: __init 7: f295_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, [ arg2>0 && arg1>0 ], cost: 1 60: f295_0_main_InvokeMethod -> [16] : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg2>0 && 1+arg1P_17<=arg1 && 1+arg2P_17<=arg1 && 1+arg3P_17<=arg1 && arg1>0 && arg1P_17>0 && arg2P_17>0 && arg3P_17>0 ], cost: NONTERM 63: f295_0_main_InvokeMethod -> [16] : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ arg2>0 && arg1>0 && arg2P_18>0 && arg1P_18>0 && arg3P_18>0 && 1+arg1P_18<=arg1 && 1+arg3P_18<=arg1 ], cost: NONTERM 64: f295_0_main_InvokeMethod -> [16] : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg2>0 && 1+arg1P_17<=arg1 && 1+arg2P_17<=arg1 && 1+arg3P_17<=arg1 && arg1>0 && arg1P_17>0 && arg2P_17>0 && arg3P_17>0 ], cost: NONTERM 67: f295_0_main_InvokeMethod -> [16] : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ arg2>0 && arg1>0 && arg2P_18>0 && arg1P_18>0 && arg3P_18>0 && 1+arg1P_18<=arg1 && 1+arg3P_18<=arg1 ], cost: NONTERM 8: f2292_0_main_InvokeMethod -> f548_0_random_ArrayAccess : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, [ arg1>0 && arg2>0 && 2+arg4<=arg2 ], cost: 1 61: f2292_0_main_InvokeMethod -> [16] : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg1P_19<=arg2 && 1+arg2P_19<=arg1 && 1+arg2P_19<=arg2 && arg3P_19<=arg2 && arg1>0 && arg2>0 && arg1P_19>0 && arg3P_19>0 && 2+arg4<=arg2 && arg2P_19>0 ], cost: NONTERM 62: f2292_0_main_InvokeMethod -> [16] : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg1P_20<=arg2 && arg3P_20<=arg2 && arg1>0 && arg2>0 && arg1P_20>0 && arg2P_20>0 && arg3P_20>0 && 2+arg4<=arg2 ], cost: NONTERM 65: f2292_0_main_InvokeMethod -> [16] : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg1P_19<=arg2 && 1+arg2P_19<=arg1 && 1+arg2P_19<=arg2 && arg3P_19<=arg2 && arg1>0 && arg2>0 && arg1P_19>0 && arg3P_19>0 && 2+arg4<=arg2 && arg2P_19>0 ], cost: NONTERM 66: f2292_0_main_InvokeMethod -> [16] : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg1P_20<=arg2 && arg3P_20<=arg2 && arg1>0 && arg2>0 && arg1P_20>0 && arg2P_20>0 && arg3P_20>0 && 2+arg4<=arg2 ], cost: NONTERM 38: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_13>0 && arg2P_13>1 ], cost: 1+arg3P_10 39: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_14>0 && arg2P_14>1 ], cost: 1+arg3P_10 41: f548_0_random_ArrayAccess -> f2274_0_createTree_LE : arg1'=2*arg3P_10+arg1P_10, arg2'=2*arg3P_10+arg1P_10, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg3P_10>0 && x43_1>-1 && arg1P_10>1 ], cost: 1+arg3P_10 43: __init -> f295_0_main_InvokeMethod : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg1P_2>0 ], cost: 2 44: __init -> f2292_0_main_InvokeMethod : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 ], cost: 2 45: __init -> f548_0_random_ArrayAccess : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, [ arg1P_29>0 && arg2P_29>-1 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: __init 69: __init -> [16] : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg1P_2>0 && arg2P_2>0 && 1+arg1P_17<=arg1P_2 && 1+arg2P_17<=arg1P_2 && 1+arg3P_17<=arg1P_2 && arg1P_17>0 && arg2P_17>0 && arg3P_17>0 ], cost: NONTERM 70: __init -> [16] : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg1P_2>0 && arg2P_2>0 && arg2P_18>0 && arg1P_18>0 && arg3P_18>0 && 1+arg1P_18<=arg1P_2 && 1+arg3P_18<=arg1P_2 ], cost: NONTERM 71: __init -> [16] : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg1P_2>0 && arg2P_2>0 && 1+arg1P_17<=arg1P_2 && 1+arg2P_17<=arg1P_2 && 1+arg3P_17<=arg1P_2 && arg1P_17>0 && arg2P_17>0 && arg3P_17>0 ], cost: NONTERM 72: __init -> [16] : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg1P_2>0 && arg2P_2>0 && arg2P_18>0 && arg1P_18>0 && arg3P_18>0 && 1+arg1P_18<=arg1P_2 && 1+arg3P_18<=arg1P_2 ], cost: NONTERM 74: __init -> [16] : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 && arg1P_19<=arg2P_3 && 1+arg2P_19<=arg1P_3 && 1+arg2P_19<=arg2P_3 && arg3P_19<=arg2P_3 && arg1P_19>0 && arg3P_19>0 && 2+arg4P_3<=arg2P_3 && arg2P_19>0 ], cost: NONTERM 75: __init -> [16] : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 && arg1P_20<=arg2P_3 && arg3P_20<=arg2P_3 && arg1P_20>0 && arg2P_20>0 && arg3P_20>0 && 2+arg4P_3<=arg2P_3 ], cost: NONTERM 76: __init -> [16] : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 && arg1P_19<=arg2P_3 && 1+arg2P_19<=arg1P_3 && 1+arg2P_19<=arg2P_3 && arg3P_19<=arg2P_3 && arg1P_19>0 && arg3P_19>0 && 2+arg4P_3<=arg2P_3 && arg2P_19>0 ], cost: NONTERM 77: __init -> [16] : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 && arg1P_20<=arg2P_3 && arg3P_20<=arg2P_3 && arg1P_20>0 && arg2P_20>0 && arg3P_20>0 && 2+arg4P_3<=arg2P_3 ], cost: NONTERM 78: __init -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_29>0 && arg2P_29>-1 && arg3P_10>0 && x43_1>-1 && arg1P_13>0 && arg2P_13>1 ], cost: 3+arg3P_10 79: __init -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_29>0 && arg2P_29>-1 && arg3P_10>0 && x43_1>-1 && arg1P_14>0 && arg2P_14>1 ], cost: 3+arg3P_10 80: __init -> f2274_0_createTree_LE : arg1'=2*arg3P_10+arg1P_10, arg2'=2*arg3P_10+arg1P_10, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_29>0 && arg2P_29>-1 && arg3P_10>0 && x43_1>-1 && arg1P_10>1 ], cost: 3+arg3P_10 81: __init -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg1P_2>0 && arg2P_2>0 && arg3P_10>0 && x43_1>-1 && arg1P_13>0 && arg2P_13>1 ], cost: 4+arg3P_10 82: __init -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg1P_2>0 && arg2P_2>0 && arg3P_10>0 && x43_1>-1 && arg1P_14>0 && arg2P_14>1 ], cost: 4+arg3P_10 83: __init -> f2274_0_createTree_LE : arg1'=2*arg3P_10+arg1P_10, arg2'=2*arg3P_10+arg1P_10, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg1P_2>0 && arg2P_2>0 && arg3P_10>0 && x43_1>-1 && arg1P_10>1 ], cost: 4+arg3P_10 84: __init -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 && 2+arg4P_3<=arg2P_3 && arg3P_10>0 && x43_1>-1 && arg1P_13>0 && arg2P_13>1 ], cost: 4+arg3P_10 85: __init -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 && 2+arg4P_3<=arg2P_3 && arg3P_10>0 && x43_1>-1 && arg1P_14>0 && arg2P_14>1 ], cost: 4+arg3P_10 86: __init -> f2274_0_createTree_LE : arg1'=2*arg3P_10+arg1P_10, arg2'=2*arg3P_10+arg1P_10, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 && 2+arg4P_3<=arg2P_3 && arg3P_10>0 && x43_1>-1 && arg1P_10>1 ], cost: 4+arg3P_10 Applied pruning (of leafs and parallel rules): Start location: __init 71: __init -> [16] : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg1P_2>0 && arg2P_2>0 && 1+arg1P_17<=arg1P_2 && 1+arg2P_17<=arg1P_2 && 1+arg3P_17<=arg1P_2 && arg1P_17>0 && arg2P_17>0 && arg3P_17>0 ], cost: NONTERM 72: __init -> [16] : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg1P_2>0 && arg2P_2>0 && arg2P_18>0 && arg1P_18>0 && arg3P_18>0 && 1+arg1P_18<=arg1P_2 && 1+arg3P_18<=arg1P_2 ], cost: NONTERM 76: __init -> [16] : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 && arg1P_19<=arg2P_3 && 1+arg2P_19<=arg1P_3 && 1+arg2P_19<=arg2P_3 && arg3P_19<=arg2P_3 && arg1P_19>0 && arg3P_19>0 && 2+arg4P_3<=arg2P_3 && arg2P_19>0 ], cost: NONTERM 77: __init -> [16] : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 && arg1P_20<=arg2P_3 && arg3P_20<=arg2P_3 && arg1P_20>0 && arg2P_20>0 && arg3P_20>0 && 2+arg4P_3<=arg2P_3 ], cost: NONTERM 78: __init -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_29>0 && arg2P_29>-1 && arg3P_10>0 && x43_1>-1 && arg1P_13>0 && arg2P_13>1 ], cost: 3+arg3P_10 79: __init -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_29>0 && arg2P_29>-1 && arg3P_10>0 && x43_1>-1 && arg1P_14>0 && arg2P_14>1 ], cost: 3+arg3P_10 81: __init -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg1P_2>0 && arg2P_2>0 && arg3P_10>0 && x43_1>-1 && arg1P_13>0 && arg2P_13>1 ], cost: 4+arg3P_10 84: __init -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 && 2+arg4P_3<=arg2P_3 && arg3P_10>0 && x43_1>-1 && arg1P_13>0 && arg2P_13>1 ], cost: 4+arg3P_10 85: __init -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 && 2+arg4P_3<=arg2P_3 && arg3P_10>0 && x43_1>-1 && arg1P_14>0 && arg2P_14>1 ], cost: 4+arg3P_10 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: __init 71: __init -> [16] : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg1P_2>0 && arg2P_2>0 && 1+arg1P_17<=arg1P_2 && 1+arg2P_17<=arg1P_2 && 1+arg3P_17<=arg1P_2 && arg1P_17>0 && arg2P_17>0 && arg3P_17>0 ], cost: NONTERM 72: __init -> [16] : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg1P_2>0 && arg2P_2>0 && arg2P_18>0 && arg1P_18>0 && arg3P_18>0 && 1+arg1P_18<=arg1P_2 && 1+arg3P_18<=arg1P_2 ], cost: NONTERM 76: __init -> [16] : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 && arg1P_19<=arg2P_3 && 1+arg2P_19<=arg1P_3 && 1+arg2P_19<=arg2P_3 && arg3P_19<=arg2P_3 && arg1P_19>0 && arg3P_19>0 && 2+arg4P_3<=arg2P_3 && arg2P_19>0 ], cost: NONTERM 77: __init -> [16] : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 && arg1P_20<=arg2P_3 && arg3P_20<=arg2P_3 && arg1P_20>0 && arg2P_20>0 && arg3P_20>0 && 2+arg4P_3<=arg2P_3 ], cost: NONTERM 78: __init -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_29>0 && arg2P_29>-1 && arg3P_10>0 && x43_1>-1 && arg1P_13>0 && arg2P_13>1 ], cost: 3+arg3P_10 79: __init -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_29>0 && arg2P_29>-1 && arg3P_10>0 && x43_1>-1 && arg1P_14>0 && arg2P_14>1 ], cost: 3+arg3P_10 81: __init -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg1P_2>0 && arg2P_2>0 && arg3P_10>0 && x43_1>-1 && arg1P_13>0 && arg2P_13>1 ], cost: 4+arg3P_10 84: __init -> f2274_0_createTree_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 && 2+arg4P_3<=arg2P_3 && arg3P_10>0 && x43_1>-1 && arg1P_13>0 && arg2P_13>1 ], cost: 4+arg3P_10 85: __init -> f2274_0_createTree_LE : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=0, arg4'=1+arg3P_10+x43_1, [ arg1P_29>=arg1P_3 && arg1P_29>0 && arg1P_3>0 && arg2P_3>0 && 2+arg4P_3<=arg2P_3 && arg3P_10>0 && x43_1>-1 && arg1P_14>0 && arg2P_14>1 ], cost: 4+arg3P_10 Computing asymptotic complexity for rule 71 Simplified the guard: 71: __init -> [16] : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg2P_2>0 && 1+arg1P_17<=arg1P_2 && 1+arg2P_17<=arg1P_2 && 1+arg3P_17<=arg1P_2 && arg1P_17>0 && arg2P_17>0 && arg3P_17>0 ], cost: NONTERM Guard is satisfiable, yielding nontermination Resulting cost NONTERM has complexity: Nonterm Found new complexity Nonterm. Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: [ arg1P_2<=arg1P_29 && arg1P_29>0 && arg2P_2>0 && 1+arg1P_17<=arg1P_2 && 1+arg2P_17<=arg1P_2 && 1+arg3P_17<=arg1P_2 && arg1P_17>0 && arg2P_17>0 && arg3P_17>0 ] NO