NO Initial ITS Start location: __init 0: f1_0_main_New -> f230_0_alternate_NONNULL : arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg3P0, (-3+arg1P0 > 0 /\ -3+arg4P0 > 0 /\ -3+arg2P0 > 0 /\ -3+arg3P0 > 0), cost: 1 2: f1_0_main_New -> f1096_0_append_NONNULL : arg2'=arg2P2, arg4'=arg4P2, arg1'=arg1P2, arg3'=arg3P2, (-3+arg1P2 > 0 /\ -4+arg2P2 > 0 /\ 1+arg3P2 > 0), cost: 1 4: f1_0_main_New -> f565_0_iter_NULL : arg2'=arg2P4, arg4'=arg4P4, arg1'=arg1P4, arg3'=arg3P4, (-3+arg1P4 > 0 /\ -1+arg2P4 > 0), cost: 1 6: f1_0_main_New -> f717_0_reverseAcc_NONNULL : arg2'=arg2P6, arg4'=arg4P6, arg1'=arg1P6, arg3'=arg3P6, (-1+arg2P6 > 0 /\ -3+arg1P6 > 0), cost: 1 8: f1_0_main_New -> f845_0_reverse_NONNULL : arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-3+arg1P8 > 0 /\ -1+arg2P8 > 0), cost: 1 1: f230_0_alternate_NONNULL -> f230_0_alternate_NONNULL : arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg3P1, (arg2 > 0 /\ -1+arg2-arg4P1 >= 0 /\ arg4 > 0 /\ 1+arg3P1 > 0 /\ arg2P1 > 0 /\ arg2P1-arg1 <= 0 /\ 1+arg1P1 > 0 /\ arg1 > 0 /\ -arg4+arg2P1 <= 0 /\ 1+arg4P1 > 0 /\ arg3 > 0 /\ 1-arg2+arg1P1 <= 0 /\ -1-arg3P1+arg2 >= 0 /\ arg2P1-arg3 <= 0), cost: 1 3: f1096_0_append_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg1 > 0 /\ arg2 > 0 /\ 1+arg3P3 > 0 /\ arg1P3 > 0 /\ arg3 > 0 /\ arg2P3 > 0 /\ -arg2+arg2P3 <= 0), cost: 1 5: f565_0_iter_NULL -> f565_0_iter_NULL : arg2'=arg2P5, arg4'=arg4P5, arg1'=arg1P5, arg3'=arg3P5, (-2+arg1 > 0 /\ arg2 > 0 /\ -arg2+arg1P5 <= 0 /\ 1+arg2P5 > 0 /\ arg1P5 > 0 /\ 2-arg1+arg1P5 <= 0 /\ 3+arg2P5-arg1 <= 0 /\ 1-arg2+arg2P5 <= 0), cost: 1 7: f717_0_reverseAcc_NONNULL -> f717_0_reverseAcc_NONNULL : arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (-2+arg1 > 0 /\ arg2 > 0 /\ arg1P7 > 0 /\ 3-arg1+arg2P7 <= 0 /\ 1-arg2+arg2P7 <= 0 /\ 2+arg1P7-arg1 <= 0 /\ -arg2+arg1P7 <= 0 /\ 1+arg2P7 > 0), cost: 1 9: f845_0_reverse_NONNULL -> f845_0_reverse_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (-arg2+arg1P9 <= 0 /\ -2+arg1 > 0 /\ arg2 > 0 /\ 1+arg2P9 > 0 /\ 3+arg2P9-arg1 <= 0 /\ arg1P9 > 0 /\ 1-arg2+arg2P9 <= 0 /\ 2-arg1+arg1P9 <= 0), cost: 1 10: f845_0_reverse_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, (-1+arg1P10 > 0 /\ -2+arg1 > 0 /\ 1-arg1+arg1P10 <= 0 /\ arg2 > 0 /\ -1-arg2+arg1P10 <= 0 /\ -1-arg2+arg2P10 <= 0 /\ 1+arg3P10 > 0 /\ 1-arg1+arg2P10 <= 0 /\ -1+arg2P10 > 0), cost: 1 11: f845_0_reverse_NONNULL -> f1225_0_reverse_InvokeMethod : arg2'=arg2P11, arg4'=arg4P11, arg1'=arg1P11, arg3'=arg3P11, (-2+arg1 > 0 /\ arg2 > 0 /\ -4+arg1P11 > 0), cost: 1 12: f845_0_reverse_NONNULL -> f1225_0_reverse_InvokeMethod : arg2'=arg2P12, arg4'=arg4P12, arg1'=arg1P12, arg3'=arg3P12, (-2+arg1 > 0 /\ arg2 > 0 /\ -2+arg1P12 > 0), cost: 1 14: f1225_0_reverse_InvokeMethod -> f1096_0_append_NONNULL : arg2'=arg2P14, arg4'=arg4P14, arg1'=arg1P14, arg3'=arg3P14, (1+arg3P14 > 0 /\ -2+arg1 > 0 /\ -1+arg2P14 > 0 /\ 1+arg2P14-arg1 <= 0 /\ -arg1+arg1P14 <= 0 /\ -2+arg1P14 > 0), cost: 1 13: f991_0_reverse_Return -> f1225_0_reverse_InvokeMethod : arg2'=arg2P13, arg4'=arg4P13, arg1'=arg1P13, arg3'=arg3P13, (-2+arg1 > 0 /\ -2+arg1P13 > 0 /\ 4+arg2-arg1 <= 0 /\ -arg1+arg1P13 <= 0), cost: 1 15: __init -> f1_0_main_New : arg2'=arg2P15, arg4'=arg4P15, arg1'=arg1P15, arg3'=arg3P15, TRUE, cost: 1 Removed unreachable rules and leafs Start location: __init 0: f1_0_main_New -> f230_0_alternate_NONNULL : arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg3P0, (-3+arg1P0 > 0 /\ -3+arg4P0 > 0 /\ -3+arg2P0 > 0 /\ -3+arg3P0 > 0), cost: 1 2: f1_0_main_New -> f1096_0_append_NONNULL : arg2'=arg2P2, arg4'=arg4P2, arg1'=arg1P2, arg3'=arg3P2, (-3+arg1P2 > 0 /\ -4+arg2P2 > 0 /\ 1+arg3P2 > 0), cost: 1 4: f1_0_main_New -> f565_0_iter_NULL : arg2'=arg2P4, arg4'=arg4P4, arg1'=arg1P4, arg3'=arg3P4, (-3+arg1P4 > 0 /\ -1+arg2P4 > 0), cost: 1 6: f1_0_main_New -> f717_0_reverseAcc_NONNULL : arg2'=arg2P6, arg4'=arg4P6, arg1'=arg1P6, arg3'=arg3P6, (-1+arg2P6 > 0 /\ -3+arg1P6 > 0), cost: 1 8: f1_0_main_New -> f845_0_reverse_NONNULL : arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-3+arg1P8 > 0 /\ -1+arg2P8 > 0), cost: 1 1: f230_0_alternate_NONNULL -> f230_0_alternate_NONNULL : arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg3P1, (arg2 > 0 /\ -1+arg2-arg4P1 >= 0 /\ arg4 > 0 /\ 1+arg3P1 > 0 /\ arg2P1 > 0 /\ arg2P1-arg1 <= 0 /\ 1+arg1P1 > 0 /\ arg1 > 0 /\ -arg4+arg2P1 <= 0 /\ 1+arg4P1 > 0 /\ arg3 > 0 /\ 1-arg2+arg1P1 <= 0 /\ -1-arg3P1+arg2 >= 0 /\ arg2P1-arg3 <= 0), cost: 1 3: f1096_0_append_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg1 > 0 /\ arg2 > 0 /\ 1+arg3P3 > 0 /\ arg1P3 > 0 /\ arg3 > 0 /\ arg2P3 > 0 /\ -arg2+arg2P3 <= 0), cost: 1 5: f565_0_iter_NULL -> f565_0_iter_NULL : arg2'=arg2P5, arg4'=arg4P5, arg1'=arg1P5, arg3'=arg3P5, (-2+arg1 > 0 /\ arg2 > 0 /\ -arg2+arg1P5 <= 0 /\ 1+arg2P5 > 0 /\ arg1P5 > 0 /\ 2-arg1+arg1P5 <= 0 /\ 3+arg2P5-arg1 <= 0 /\ 1-arg2+arg2P5 <= 0), cost: 1 7: f717_0_reverseAcc_NONNULL -> f717_0_reverseAcc_NONNULL : arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (-2+arg1 > 0 /\ arg2 > 0 /\ arg1P7 > 0 /\ 3-arg1+arg2P7 <= 0 /\ 1-arg2+arg2P7 <= 0 /\ 2+arg1P7-arg1 <= 0 /\ -arg2+arg1P7 <= 0 /\ 1+arg2P7 > 0), cost: 1 9: f845_0_reverse_NONNULL -> f845_0_reverse_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (-arg2+arg1P9 <= 0 /\ -2+arg1 > 0 /\ arg2 > 0 /\ 1+arg2P9 > 0 /\ 3+arg2P9-arg1 <= 0 /\ arg1P9 > 0 /\ 1-arg2+arg2P9 <= 0 /\ 2-arg1+arg1P9 <= 0), cost: 1 10: f845_0_reverse_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, (-1+arg1P10 > 0 /\ -2+arg1 > 0 /\ 1-arg1+arg1P10 <= 0 /\ arg2 > 0 /\ -1-arg2+arg1P10 <= 0 /\ -1-arg2+arg2P10 <= 0 /\ 1+arg3P10 > 0 /\ 1-arg1+arg2P10 <= 0 /\ -1+arg2P10 > 0), cost: 1 11: f845_0_reverse_NONNULL -> f1225_0_reverse_InvokeMethod : arg2'=arg2P11, arg4'=arg4P11, arg1'=arg1P11, arg3'=arg3P11, (-2+arg1 > 0 /\ arg2 > 0 /\ -4+arg1P11 > 0), cost: 1 12: f845_0_reverse_NONNULL -> f1225_0_reverse_InvokeMethod : arg2'=arg2P12, arg4'=arg4P12, arg1'=arg1P12, arg3'=arg3P12, (-2+arg1 > 0 /\ arg2 > 0 /\ -2+arg1P12 > 0), cost: 1 14: f1225_0_reverse_InvokeMethod -> f1096_0_append_NONNULL : arg2'=arg2P14, arg4'=arg4P14, arg1'=arg1P14, arg3'=arg3P14, (1+arg3P14 > 0 /\ -2+arg1 > 0 /\ -1+arg2P14 > 0 /\ 1+arg2P14-arg1 <= 0 /\ -arg1+arg1P14 <= 0 /\ -2+arg1P14 > 0), cost: 1 15: __init -> f1_0_main_New : arg2'=arg2P15, arg4'=arg4P15, arg1'=arg1P15, arg3'=arg3P15, TRUE, cost: 1 Applied preprocessing Original rule: f230_0_alternate_NONNULL -> f230_0_alternate_NONNULL : arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg3P1, (arg2 > 0 /\ -1+arg2-arg4P1 >= 0 /\ arg4 > 0 /\ 1+arg3P1 > 0 /\ arg2P1 > 0 /\ arg2P1-arg1 <= 0 /\ 1+arg1P1 > 0 /\ arg1 > 0 /\ -arg4+arg2P1 <= 0 /\ 1+arg4P1 > 0 /\ arg3 > 0 /\ 1-arg2+arg1P1 <= 0 /\ -1-arg3P1+arg2 >= 0 /\ arg2P1-arg3 <= 0), cost: 1 New rule: f230_0_alternate_NONNULL -> f230_0_alternate_NONNULL : arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg3P1, (-1+arg2-arg4P1 >= 0 /\ 1+arg3P1 > 0 /\ arg2P1 > 0 /\ arg2P1-arg1 <= 0 /\ 1+arg1P1 > 0 /\ -arg4+arg2P1 <= 0 /\ 1+arg4P1 > 0 /\ 1-arg2+arg1P1 <= 0 /\ -1-arg3P1+arg2 >= 0 /\ arg2P1-arg3 <= 0), cost: 1 Applied preprocessing Original rule: f1096_0_append_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg1 > 0 /\ arg2 > 0 /\ 1+arg3P3 > 0 /\ arg1P3 > 0 /\ arg3 > 0 /\ arg2P3 > 0 /\ -arg2+arg2P3 <= 0), cost: 1 New rule: f1096_0_append_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg1 > 0 /\ 1+arg3P3 > 0 /\ arg1P3 > 0 /\ arg3 > 0 /\ arg2P3 > 0 /\ -arg2+arg2P3 <= 0), cost: 1 Applied preprocessing Original rule: f565_0_iter_NULL -> f565_0_iter_NULL : arg2'=arg2P5, arg4'=arg4P5, arg1'=arg1P5, arg3'=arg3P5, (-2+arg1 > 0 /\ arg2 > 0 /\ -arg2+arg1P5 <= 0 /\ 1+arg2P5 > 0 /\ arg1P5 > 0 /\ 2-arg1+arg1P5 <= 0 /\ 3+arg2P5-arg1 <= 0 /\ 1-arg2+arg2P5 <= 0), cost: 1 New rule: f565_0_iter_NULL -> f565_0_iter_NULL : arg2'=arg2P5, arg4'=arg4P5, arg1'=arg1P5, arg3'=arg3P5, (-arg2+arg1P5 <= 0 /\ 1+arg2P5 > 0 /\ arg1P5 > 0 /\ 2-arg1+arg1P5 <= 0 /\ 3+arg2P5-arg1 <= 0 /\ 1-arg2+arg2P5 <= 0), cost: 1 Applied preprocessing Original rule: f717_0_reverseAcc_NONNULL -> f717_0_reverseAcc_NONNULL : arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (-2+arg1 > 0 /\ arg2 > 0 /\ arg1P7 > 0 /\ 3-arg1+arg2P7 <= 0 /\ 1-arg2+arg2P7 <= 0 /\ 2+arg1P7-arg1 <= 0 /\ -arg2+arg1P7 <= 0 /\ 1+arg2P7 > 0), cost: 1 New rule: f717_0_reverseAcc_NONNULL -> f717_0_reverseAcc_NONNULL : arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (arg1P7 > 0 /\ 3-arg1+arg2P7 <= 0 /\ 1-arg2+arg2P7 <= 0 /\ 2+arg1P7-arg1 <= 0 /\ -arg2+arg1P7 <= 0 /\ 1+arg2P7 > 0), cost: 1 Applied preprocessing Original rule: f845_0_reverse_NONNULL -> f845_0_reverse_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (-arg2+arg1P9 <= 0 /\ -2+arg1 > 0 /\ arg2 > 0 /\ 1+arg2P9 > 0 /\ 3+arg2P9-arg1 <= 0 /\ arg1P9 > 0 /\ 1-arg2+arg2P9 <= 0 /\ 2-arg1+arg1P9 <= 0), cost: 1 New rule: f845_0_reverse_NONNULL -> f845_0_reverse_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (-arg2+arg1P9 <= 0 /\ 1+arg2P9 > 0 /\ 3+arg2P9-arg1 <= 0 /\ arg1P9 > 0 /\ 1-arg2+arg2P9 <= 0 /\ 2-arg1+arg1P9 <= 0), cost: 1 Applied preprocessing Original rule: f845_0_reverse_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, (-1+arg1P10 > 0 /\ -2+arg1 > 0 /\ 1-arg1+arg1P10 <= 0 /\ arg2 > 0 /\ -1-arg2+arg1P10 <= 0 /\ -1-arg2+arg2P10 <= 0 /\ 1+arg3P10 > 0 /\ 1-arg1+arg2P10 <= 0 /\ -1+arg2P10 > 0), cost: 1 New rule: f845_0_reverse_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, (-1+arg1P10 > 0 /\ 1-arg1+arg1P10 <= 0 /\ -1-arg2+arg1P10 <= 0 /\ -1-arg2+arg2P10 <= 0 /\ 1+arg3P10 > 0 /\ 1-arg1+arg2P10 <= 0 /\ -1+arg2P10 > 0), cost: 1 Applied preprocessing Original rule: f1225_0_reverse_InvokeMethod -> f1096_0_append_NONNULL : arg2'=arg2P14, arg4'=arg4P14, arg1'=arg1P14, arg3'=arg3P14, (1+arg3P14 > 0 /\ -2+arg1 > 0 /\ -1+arg2P14 > 0 /\ 1+arg2P14-arg1 <= 0 /\ -arg1+arg1P14 <= 0 /\ -2+arg1P14 > 0), cost: 1 New rule: f1225_0_reverse_InvokeMethod -> f1096_0_append_NONNULL : arg2'=arg2P14, arg4'=arg4P14, arg1'=arg1P14, arg3'=arg3P14, (1+arg3P14 > 0 /\ -1+arg2P14 > 0 /\ 1+arg2P14-arg1 <= 0 /\ -arg1+arg1P14 <= 0 /\ -2+arg1P14 > 0), cost: 1 Simplified rules Start location: __init 0: f1_0_main_New -> f230_0_alternate_NONNULL : arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg3P0, (-3+arg1P0 > 0 /\ -3+arg4P0 > 0 /\ -3+arg2P0 > 0 /\ -3+arg3P0 > 0), cost: 1 2: f1_0_main_New -> f1096_0_append_NONNULL : arg2'=arg2P2, arg4'=arg4P2, arg1'=arg1P2, arg3'=arg3P2, (-3+arg1P2 > 0 /\ -4+arg2P2 > 0 /\ 1+arg3P2 > 0), cost: 1 4: f1_0_main_New -> f565_0_iter_NULL : arg2'=arg2P4, arg4'=arg4P4, arg1'=arg1P4, arg3'=arg3P4, (-3+arg1P4 > 0 /\ -1+arg2P4 > 0), cost: 1 6: f1_0_main_New -> f717_0_reverseAcc_NONNULL : arg2'=arg2P6, arg4'=arg4P6, arg1'=arg1P6, arg3'=arg3P6, (-1+arg2P6 > 0 /\ -3+arg1P6 > 0), cost: 1 8: f1_0_main_New -> f845_0_reverse_NONNULL : arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-3+arg1P8 > 0 /\ -1+arg2P8 > 0), cost: 1 16: f230_0_alternate_NONNULL -> f230_0_alternate_NONNULL : arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg3P1, (-1+arg2-arg4P1 >= 0 /\ 1+arg3P1 > 0 /\ arg2P1 > 0 /\ arg2P1-arg1 <= 0 /\ 1+arg1P1 > 0 /\ -arg4+arg2P1 <= 0 /\ 1+arg4P1 > 0 /\ 1-arg2+arg1P1 <= 0 /\ -1-arg3P1+arg2 >= 0 /\ arg2P1-arg3 <= 0), cost: 1 17: f1096_0_append_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg1 > 0 /\ 1+arg3P3 > 0 /\ arg1P3 > 0 /\ arg3 > 0 /\ arg2P3 > 0 /\ -arg2+arg2P3 <= 0), cost: 1 18: f565_0_iter_NULL -> f565_0_iter_NULL : arg2'=arg2P5, arg4'=arg4P5, arg1'=arg1P5, arg3'=arg3P5, (-arg2+arg1P5 <= 0 /\ 1+arg2P5 > 0 /\ arg1P5 > 0 /\ 2-arg1+arg1P5 <= 0 /\ 3+arg2P5-arg1 <= 0 /\ 1-arg2+arg2P5 <= 0), cost: 1 19: f717_0_reverseAcc_NONNULL -> f717_0_reverseAcc_NONNULL : arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (arg1P7 > 0 /\ 3-arg1+arg2P7 <= 0 /\ 1-arg2+arg2P7 <= 0 /\ 2+arg1P7-arg1 <= 0 /\ -arg2+arg1P7 <= 0 /\ 1+arg2P7 > 0), cost: 1 11: f845_0_reverse_NONNULL -> f1225_0_reverse_InvokeMethod : arg2'=arg2P11, arg4'=arg4P11, arg1'=arg1P11, arg3'=arg3P11, (-2+arg1 > 0 /\ arg2 > 0 /\ -4+arg1P11 > 0), cost: 1 12: f845_0_reverse_NONNULL -> f1225_0_reverse_InvokeMethod : arg2'=arg2P12, arg4'=arg4P12, arg1'=arg1P12, arg3'=arg3P12, (-2+arg1 > 0 /\ arg2 > 0 /\ -2+arg1P12 > 0), cost: 1 20: f845_0_reverse_NONNULL -> f845_0_reverse_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (-arg2+arg1P9 <= 0 /\ 1+arg2P9 > 0 /\ 3+arg2P9-arg1 <= 0 /\ arg1P9 > 0 /\ 1-arg2+arg2P9 <= 0 /\ 2-arg1+arg1P9 <= 0), cost: 1 21: f845_0_reverse_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, (-1+arg1P10 > 0 /\ 1-arg1+arg1P10 <= 0 /\ -1-arg2+arg1P10 <= 0 /\ -1-arg2+arg2P10 <= 0 /\ 1+arg3P10 > 0 /\ 1-arg1+arg2P10 <= 0 /\ -1+arg2P10 > 0), cost: 1 22: f1225_0_reverse_InvokeMethod -> f1096_0_append_NONNULL : arg2'=arg2P14, arg4'=arg4P14, arg1'=arg1P14, arg3'=arg3P14, (1+arg3P14 > 0 /\ -1+arg2P14 > 0 /\ 1+arg2P14-arg1 <= 0 /\ -arg1+arg1P14 <= 0 /\ -2+arg1P14 > 0), cost: 1 15: __init -> f1_0_main_New : arg2'=arg2P15, arg4'=arg4P15, arg1'=arg1P15, arg3'=arg3P15, TRUE, cost: 1 Applied acceleration Original rule: f1096_0_append_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg1 > 0 /\ 1+arg3P3 > 0 /\ arg1P3 > 0 /\ arg3 > 0 /\ arg2P3 > 0 /\ -arg2+arg2P3 <= 0), cost: 1 New rule: f1096_0_append_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg1 > 0 /\ 1+arg3P3 > 0 /\ arg1P3 > 0 /\ -2+arg1P3 > 0 /\ arg3P3 > 0 /\ arg2-arg2P3 >= 0 /\ -1+n0 >= 0 /\ arg3 > 0 /\ arg2P3 > 0), cost: n0 Sub-proof via acceration calculus written to file:///tmp/tmpnam_BJFCNa.txt Applied nonterm Original rule: f1096_0_append_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg1 > 0 /\ 1+arg3P3 > 0 /\ arg1P3 > 0 /\ arg3 > 0 /\ arg2P3 > 0 /\ -arg2+arg2P3 <= 0), cost: 1 New rule: f1096_0_append_NONNULL -> [10] : (-arg1P3+arg1 <= 0 /\ -2+arg1 > 0 /\ 1+arg3P3 > 0 /\ arg1P3 > 0 /\ -arg3P3+arg3 <= 0 /\ arg2-arg2P3 >= 0 /\ arg3 > 0 /\ arg2P3 > 0), cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_eMlDKm.txt Applied simplification Original rule: f1096_0_append_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg1 > 0 /\ 1+arg3P3 > 0 /\ arg1P3 > 0 /\ -2+arg1P3 > 0 /\ arg3P3 > 0 /\ arg2-arg2P3 >= 0 /\ -1+n0 >= 0 /\ arg3 > 0 /\ arg2P3 > 0), cost: n0 New rule: f1096_0_append_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg1 > 0 /\ -2+arg1P3 > 0 /\ arg3P3 > 0 /\ arg2-arg2P3 >= 0 /\ -1+n0 >= 0 /\ arg3 > 0 /\ arg2P3 > 0), cost: n0 Applied simplification Original rule: f1096_0_append_NONNULL -> [10] : (-arg1P3+arg1 <= 0 /\ -2+arg1 > 0 /\ 1+arg3P3 > 0 /\ arg1P3 > 0 /\ -arg3P3+arg3 <= 0 /\ arg2-arg2P3 >= 0 /\ arg3 > 0 /\ arg2P3 > 0), cost: NONTERM New rule: f1096_0_append_NONNULL -> [10] : (-arg1P3+arg1 <= 0 /\ -2+arg1 > 0 /\ -arg3P3+arg3 <= 0 /\ arg2-arg2P3 >= 0 /\ arg3 > 0 /\ arg2P3 > 0), cost: NONTERM Applied deletion Removed the following rules: 17 Accelerated simple loops Start location: __init 0: f1_0_main_New -> f230_0_alternate_NONNULL : arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg3P0, (-3+arg1P0 > 0 /\ -3+arg4P0 > 0 /\ -3+arg2P0 > 0 /\ -3+arg3P0 > 0), cost: 1 2: f1_0_main_New -> f1096_0_append_NONNULL : arg2'=arg2P2, arg4'=arg4P2, arg1'=arg1P2, arg3'=arg3P2, (-3+arg1P2 > 0 /\ -4+arg2P2 > 0 /\ 1+arg3P2 > 0), cost: 1 4: f1_0_main_New -> f565_0_iter_NULL : arg2'=arg2P4, arg4'=arg4P4, arg1'=arg1P4, arg3'=arg3P4, (-3+arg1P4 > 0 /\ -1+arg2P4 > 0), cost: 1 6: f1_0_main_New -> f717_0_reverseAcc_NONNULL : arg2'=arg2P6, arg4'=arg4P6, arg1'=arg1P6, arg3'=arg3P6, (-1+arg2P6 > 0 /\ -3+arg1P6 > 0), cost: 1 8: f1_0_main_New -> f845_0_reverse_NONNULL : arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-3+arg1P8 > 0 /\ -1+arg2P8 > 0), cost: 1 16: f230_0_alternate_NONNULL -> f230_0_alternate_NONNULL : arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg3P1, (-1+arg2-arg4P1 >= 0 /\ 1+arg3P1 > 0 /\ arg2P1 > 0 /\ arg2P1-arg1 <= 0 /\ 1+arg1P1 > 0 /\ -arg4+arg2P1 <= 0 /\ 1+arg4P1 > 0 /\ 1-arg2+arg1P1 <= 0 /\ -1-arg3P1+arg2 >= 0 /\ arg2P1-arg3 <= 0), cost: 1 25: f1096_0_append_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg1 > 0 /\ -2+arg1P3 > 0 /\ arg3P3 > 0 /\ arg2-arg2P3 >= 0 /\ -1+n0 >= 0 /\ arg3 > 0 /\ arg2P3 > 0), cost: n0 26: f1096_0_append_NONNULL -> [10] : (-arg1P3+arg1 <= 0 /\ -2+arg1 > 0 /\ -arg3P3+arg3 <= 0 /\ arg2-arg2P3 >= 0 /\ arg3 > 0 /\ arg2P3 > 0), cost: NONTERM 18: f565_0_iter_NULL -> f565_0_iter_NULL : arg2'=arg2P5, arg4'=arg4P5, arg1'=arg1P5, arg3'=arg3P5, (-arg2+arg1P5 <= 0 /\ 1+arg2P5 > 0 /\ arg1P5 > 0 /\ 2-arg1+arg1P5 <= 0 /\ 3+arg2P5-arg1 <= 0 /\ 1-arg2+arg2P5 <= 0), cost: 1 19: f717_0_reverseAcc_NONNULL -> f717_0_reverseAcc_NONNULL : arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (arg1P7 > 0 /\ 3-arg1+arg2P7 <= 0 /\ 1-arg2+arg2P7 <= 0 /\ 2+arg1P7-arg1 <= 0 /\ -arg2+arg1P7 <= 0 /\ 1+arg2P7 > 0), cost: 1 11: f845_0_reverse_NONNULL -> f1225_0_reverse_InvokeMethod : arg2'=arg2P11, arg4'=arg4P11, arg1'=arg1P11, arg3'=arg3P11, (-2+arg1 > 0 /\ arg2 > 0 /\ -4+arg1P11 > 0), cost: 1 12: f845_0_reverse_NONNULL -> f1225_0_reverse_InvokeMethod : arg2'=arg2P12, arg4'=arg4P12, arg1'=arg1P12, arg3'=arg3P12, (-2+arg1 > 0 /\ arg2 > 0 /\ -2+arg1P12 > 0), cost: 1 20: f845_0_reverse_NONNULL -> f845_0_reverse_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (-arg2+arg1P9 <= 0 /\ 1+arg2P9 > 0 /\ 3+arg2P9-arg1 <= 0 /\ arg1P9 > 0 /\ 1-arg2+arg2P9 <= 0 /\ 2-arg1+arg1P9 <= 0), cost: 1 21: f845_0_reverse_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, (-1+arg1P10 > 0 /\ 1-arg1+arg1P10 <= 0 /\ -1-arg2+arg1P10 <= 0 /\ -1-arg2+arg2P10 <= 0 /\ 1+arg3P10 > 0 /\ 1-arg1+arg2P10 <= 0 /\ -1+arg2P10 > 0), cost: 1 22: f1225_0_reverse_InvokeMethod -> f1096_0_append_NONNULL : arg2'=arg2P14, arg4'=arg4P14, arg1'=arg1P14, arg3'=arg3P14, (1+arg3P14 > 0 /\ -1+arg2P14 > 0 /\ 1+arg2P14-arg1 <= 0 /\ -arg1+arg1P14 <= 0 /\ -2+arg1P14 > 0), cost: 1 15: __init -> f1_0_main_New : arg2'=arg2P15, arg4'=arg4P15, arg1'=arg1P15, arg3'=arg3P15, TRUE, cost: 1 Applied chaining First rule: f1_0_main_New -> f230_0_alternate_NONNULL : arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg3P0, (-3+arg1P0 > 0 /\ -3+arg4P0 > 0 /\ -3+arg2P0 > 0 /\ -3+arg3P0 > 0), cost: 1 Second rule: f230_0_alternate_NONNULL -> f230_0_alternate_NONNULL : arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg3P1, (-1+arg2-arg4P1 >= 0 /\ 1+arg3P1 > 0 /\ arg2P1 > 0 /\ arg2P1-arg1 <= 0 /\ 1+arg1P1 > 0 /\ -arg4+arg2P1 <= 0 /\ 1+arg4P1 > 0 /\ 1-arg2+arg1P1 <= 0 /\ -1-arg3P1+arg2 >= 0 /\ arg2P1-arg3 <= 0), cost: 1 New rule: f1_0_main_New -> f230_0_alternate_NONNULL : arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg3P1, (1+arg3P1 > 0 /\ arg2P1 > 0 /\ 1+arg1P1 > 0 /\ 1+arg4P1 > 0), cost: 2 Applied deletion Removed the following rules: 16 Applied chaining First rule: f1_0_main_New -> f1096_0_append_NONNULL : arg2'=arg2P2, arg4'=arg4P2, arg1'=arg1P2, arg3'=arg3P2, (-3+arg1P2 > 0 /\ -4+arg2P2 > 0 /\ 1+arg3P2 > 0), cost: 1 Second rule: f1096_0_append_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg1 > 0 /\ -2+arg1P3 > 0 /\ arg3P3 > 0 /\ arg2-arg2P3 >= 0 /\ -1+n0 >= 0 /\ arg3 > 0 /\ arg2P3 > 0), cost: n0 New rule: f1_0_main_New -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg1P3 > 0 /\ arg3P3 > 0 /\ -1+n0 >= 0 /\ arg2P3 > 0), cost: 1+n0 Applied chaining First rule: f845_0_reverse_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, (-1+arg1P10 > 0 /\ 1-arg1+arg1P10 <= 0 /\ -1-arg2+arg1P10 <= 0 /\ -1-arg2+arg2P10 <= 0 /\ 1+arg3P10 > 0 /\ 1-arg1+arg2P10 <= 0 /\ -1+arg2P10 > 0), cost: 1 Second rule: f1096_0_append_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg1 > 0 /\ -2+arg1P3 > 0 /\ arg3P3 > 0 /\ arg2-arg2P3 >= 0 /\ -1+n0 >= 0 /\ arg3 > 0 /\ arg2P3 > 0), cost: n0 New rule: f845_0_reverse_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (-1-arg2+arg2P3 <= 0 /\ -4+arg1 >= 0 /\ 1-arg1+arg2P3 <= 0 /\ -2+arg1P3 > 0 /\ arg3P3 > 0 /\ -1+n0 >= 0 /\ arg2P3 > 0 /\ 2-arg2 <= 0), cost: 1+n0 Applied chaining First rule: f1225_0_reverse_InvokeMethod -> f1096_0_append_NONNULL : arg2'=arg2P14, arg4'=arg4P14, arg1'=arg1P14, arg3'=arg3P14, (1+arg3P14 > 0 /\ -1+arg2P14 > 0 /\ 1+arg2P14-arg1 <= 0 /\ -arg1+arg1P14 <= 0 /\ -2+arg1P14 > 0), cost: 1 Second rule: f1096_0_append_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg1 > 0 /\ -2+arg1P3 > 0 /\ arg3P3 > 0 /\ arg2-arg2P3 >= 0 /\ -1+n0 >= 0 /\ arg3 > 0 /\ arg2P3 > 0), cost: n0 New rule: f1225_0_reverse_InvokeMethod -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (1-arg1+arg2P3 <= 0 /\ -2+arg1P3 > 0 /\ arg3P3 > 0 /\ -1+n0 >= 0 /\ 3-arg1 <= 0 /\ arg2P3 > 0), cost: 1+n0 Applied chaining First rule: f1_0_main_New -> f1096_0_append_NONNULL : arg2'=arg2P2, arg4'=arg4P2, arg1'=arg1P2, arg3'=arg3P2, (-3+arg1P2 > 0 /\ -4+arg2P2 > 0 /\ 1+arg3P2 > 0), cost: 1 Second rule: f1096_0_append_NONNULL -> [10] : (-arg1P3+arg1 <= 0 /\ -2+arg1 > 0 /\ -arg3P3+arg3 <= 0 /\ arg2-arg2P3 >= 0 /\ arg3 > 0 /\ arg2P3 > 0), cost: NONTERM New rule: f1_0_main_New -> [10] : TRUE, cost: NONTERM Applied chaining First rule: f845_0_reverse_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, (-1+arg1P10 > 0 /\ 1-arg1+arg1P10 <= 0 /\ -1-arg2+arg1P10 <= 0 /\ -1-arg2+arg2P10 <= 0 /\ 1+arg3P10 > 0 /\ 1-arg1+arg2P10 <= 0 /\ -1+arg2P10 > 0), cost: 1 Second rule: f1096_0_append_NONNULL -> [10] : (-arg1P3+arg1 <= 0 /\ -2+arg1 > 0 /\ -arg3P3+arg3 <= 0 /\ arg2-arg2P3 >= 0 /\ arg3 > 0 /\ arg2P3 > 0), cost: NONTERM New rule: f845_0_reverse_NONNULL -> [10] : (-4+arg1 >= 0 /\ -2+arg2 >= 0), cost: NONTERM Applied chaining First rule: f1225_0_reverse_InvokeMethod -> f1096_0_append_NONNULL : arg2'=arg2P14, arg4'=arg4P14, arg1'=arg1P14, arg3'=arg3P14, (1+arg3P14 > 0 /\ -1+arg2P14 > 0 /\ 1+arg2P14-arg1 <= 0 /\ -arg1+arg1P14 <= 0 /\ -2+arg1P14 > 0), cost: 1 Second rule: f1096_0_append_NONNULL -> [10] : (-arg1P3+arg1 <= 0 /\ -2+arg1 > 0 /\ -arg3P3+arg3 <= 0 /\ arg2-arg2P3 >= 0 /\ arg3 > 0 /\ arg2P3 > 0), cost: NONTERM New rule: f1225_0_reverse_InvokeMethod -> [10] : -3+arg1 >= 0, cost: NONTERM Applied deletion Removed the following rules: 25 26 Applied chaining First rule: f1_0_main_New -> f565_0_iter_NULL : arg2'=arg2P4, arg4'=arg4P4, arg1'=arg1P4, arg3'=arg3P4, (-3+arg1P4 > 0 /\ -1+arg2P4 > 0), cost: 1 Second rule: f565_0_iter_NULL -> f565_0_iter_NULL : arg2'=arg2P5, arg4'=arg4P5, arg1'=arg1P5, arg3'=arg3P5, (-arg2+arg1P5 <= 0 /\ 1+arg2P5 > 0 /\ arg1P5 > 0 /\ 2-arg1+arg1P5 <= 0 /\ 3+arg2P5-arg1 <= 0 /\ 1-arg2+arg2P5 <= 0), cost: 1 New rule: f1_0_main_New -> f565_0_iter_NULL : arg2'=arg2P5, arg4'=arg4P5, arg1'=arg1P5, arg3'=arg3P5, (1+arg2P5 > 0 /\ arg1P5 > 0), cost: 2 Applied deletion Removed the following rules: 18 Applied chaining First rule: f1_0_main_New -> f717_0_reverseAcc_NONNULL : arg2'=arg2P6, arg4'=arg4P6, arg1'=arg1P6, arg3'=arg3P6, (-1+arg2P6 > 0 /\ -3+arg1P6 > 0), cost: 1 Second rule: f717_0_reverseAcc_NONNULL -> f717_0_reverseAcc_NONNULL : arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (arg1P7 > 0 /\ 3-arg1+arg2P7 <= 0 /\ 1-arg2+arg2P7 <= 0 /\ 2+arg1P7-arg1 <= 0 /\ -arg2+arg1P7 <= 0 /\ 1+arg2P7 > 0), cost: 1 New rule: f1_0_main_New -> f717_0_reverseAcc_NONNULL : arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (arg1P7 > 0 /\ 1+arg2P7 > 0), cost: 2 Applied deletion Removed the following rules: 19 Applied chaining First rule: f1_0_main_New -> f845_0_reverse_NONNULL : arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-3+arg1P8 > 0 /\ -1+arg2P8 > 0), cost: 1 Second rule: f845_0_reverse_NONNULL -> f845_0_reverse_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (-arg2+arg1P9 <= 0 /\ 1+arg2P9 > 0 /\ 3+arg2P9-arg1 <= 0 /\ arg1P9 > 0 /\ 1-arg2+arg2P9 <= 0 /\ 2-arg1+arg1P9 <= 0), cost: 1 New rule: f1_0_main_New -> f845_0_reverse_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (1+arg2P9 > 0 /\ arg1P9 > 0), cost: 2 Applied deletion Removed the following rules: 20 Chained accelerated rules with incoming rules Start location: __init 0: f1_0_main_New -> f230_0_alternate_NONNULL : arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg3P0, (-3+arg1P0 > 0 /\ -3+arg4P0 > 0 /\ -3+arg2P0 > 0 /\ -3+arg3P0 > 0), cost: 1 2: f1_0_main_New -> f1096_0_append_NONNULL : arg2'=arg2P2, arg4'=arg4P2, arg1'=arg1P2, arg3'=arg3P2, (-3+arg1P2 > 0 /\ -4+arg2P2 > 0 /\ 1+arg3P2 > 0), cost: 1 4: f1_0_main_New -> f565_0_iter_NULL : arg2'=arg2P4, arg4'=arg4P4, arg1'=arg1P4, arg3'=arg3P4, (-3+arg1P4 > 0 /\ -1+arg2P4 > 0), cost: 1 6: f1_0_main_New -> f717_0_reverseAcc_NONNULL : arg2'=arg2P6, arg4'=arg4P6, arg1'=arg1P6, arg3'=arg3P6, (-1+arg2P6 > 0 /\ -3+arg1P6 > 0), cost: 1 8: f1_0_main_New -> f845_0_reverse_NONNULL : arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-3+arg1P8 > 0 /\ -1+arg2P8 > 0), cost: 1 27: f1_0_main_New -> f230_0_alternate_NONNULL : arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg3P1, (1+arg3P1 > 0 /\ arg2P1 > 0 /\ 1+arg1P1 > 0 /\ 1+arg4P1 > 0), cost: 2 28: f1_0_main_New -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg1P3 > 0 /\ arg3P3 > 0 /\ -1+n0 >= 0 /\ arg2P3 > 0), cost: 1+n0 31: f1_0_main_New -> [10] : TRUE, cost: NONTERM 34: f1_0_main_New -> f565_0_iter_NULL : arg2'=arg2P5, arg4'=arg4P5, arg1'=arg1P5, arg3'=arg3P5, (1+arg2P5 > 0 /\ arg1P5 > 0), cost: 2 35: f1_0_main_New -> f717_0_reverseAcc_NONNULL : arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (arg1P7 > 0 /\ 1+arg2P7 > 0), cost: 2 36: f1_0_main_New -> f845_0_reverse_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (1+arg2P9 > 0 /\ arg1P9 > 0), cost: 2 11: f845_0_reverse_NONNULL -> f1225_0_reverse_InvokeMethod : arg2'=arg2P11, arg4'=arg4P11, arg1'=arg1P11, arg3'=arg3P11, (-2+arg1 > 0 /\ arg2 > 0 /\ -4+arg1P11 > 0), cost: 1 12: f845_0_reverse_NONNULL -> f1225_0_reverse_InvokeMethod : arg2'=arg2P12, arg4'=arg4P12, arg1'=arg1P12, arg3'=arg3P12, (-2+arg1 > 0 /\ arg2 > 0 /\ -2+arg1P12 > 0), cost: 1 21: f845_0_reverse_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, (-1+arg1P10 > 0 /\ 1-arg1+arg1P10 <= 0 /\ -1-arg2+arg1P10 <= 0 /\ -1-arg2+arg2P10 <= 0 /\ 1+arg3P10 > 0 /\ 1-arg1+arg2P10 <= 0 /\ -1+arg2P10 > 0), cost: 1 29: f845_0_reverse_NONNULL -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (-1-arg2+arg2P3 <= 0 /\ -4+arg1 >= 0 /\ 1-arg1+arg2P3 <= 0 /\ -2+arg1P3 > 0 /\ arg3P3 > 0 /\ -1+n0 >= 0 /\ arg2P3 > 0 /\ 2-arg2 <= 0), cost: 1+n0 32: f845_0_reverse_NONNULL -> [10] : (-4+arg1 >= 0 /\ -2+arg2 >= 0), cost: NONTERM 22: f1225_0_reverse_InvokeMethod -> f1096_0_append_NONNULL : arg2'=arg2P14, arg4'=arg4P14, arg1'=arg1P14, arg3'=arg3P14, (1+arg3P14 > 0 /\ -1+arg2P14 > 0 /\ 1+arg2P14-arg1 <= 0 /\ -arg1+arg1P14 <= 0 /\ -2+arg1P14 > 0), cost: 1 30: f1225_0_reverse_InvokeMethod -> f1096_0_append_NONNULL : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (1-arg1+arg2P3 <= 0 /\ -2+arg1P3 > 0 /\ arg3P3 > 0 /\ -1+n0 >= 0 /\ 3-arg1 <= 0 /\ arg2P3 > 0), cost: 1+n0 33: f1225_0_reverse_InvokeMethod -> [10] : -3+arg1 >= 0, cost: NONTERM 15: __init -> f1_0_main_New : arg2'=arg2P15, arg4'=arg4P15, arg1'=arg1P15, arg3'=arg3P15, TRUE, cost: 1 Removed unreachable locations and irrelevant leafs Start location: __init 8: f1_0_main_New -> f845_0_reverse_NONNULL : arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-3+arg1P8 > 0 /\ -1+arg2P8 > 0), cost: 1 31: f1_0_main_New -> [10] : TRUE, cost: NONTERM 36: f1_0_main_New -> f845_0_reverse_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (1+arg2P9 > 0 /\ arg1P9 > 0), cost: 2 11: f845_0_reverse_NONNULL -> f1225_0_reverse_InvokeMethod : arg2'=arg2P11, arg4'=arg4P11, arg1'=arg1P11, arg3'=arg3P11, (-2+arg1 > 0 /\ arg2 > 0 /\ -4+arg1P11 > 0), cost: 1 12: f845_0_reverse_NONNULL -> f1225_0_reverse_InvokeMethod : arg2'=arg2P12, arg4'=arg4P12, arg1'=arg1P12, arg3'=arg3P12, (-2+arg1 > 0 /\ arg2 > 0 /\ -2+arg1P12 > 0), cost: 1 32: f845_0_reverse_NONNULL -> [10] : (-4+arg1 >= 0 /\ -2+arg2 >= 0), cost: NONTERM 33: f1225_0_reverse_InvokeMethod -> [10] : -3+arg1 >= 0, cost: NONTERM 15: __init -> f1_0_main_New : arg2'=arg2P15, arg4'=arg4P15, arg1'=arg1P15, arg3'=arg3P15, TRUE, cost: 1 Eliminating location f1_0_main_New by chaining: Applied chaining First rule: __init -> f1_0_main_New : arg2'=arg2P15, arg4'=arg4P15, arg1'=arg1P15, arg3'=arg3P15, TRUE, cost: 1 Second rule: f1_0_main_New -> f845_0_reverse_NONNULL : arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-3+arg1P8 > 0 /\ -1+arg2P8 > 0), cost: 1 New rule: __init -> f845_0_reverse_NONNULL : arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-3+arg1P8 > 0 /\ -1+arg2P8 > 0), cost: 2 Applied chaining First rule: __init -> f1_0_main_New : arg2'=arg2P15, arg4'=arg4P15, arg1'=arg1P15, arg3'=arg3P15, TRUE, cost: 1 Second rule: f1_0_main_New -> [10] : TRUE, cost: NONTERM New rule: __init -> [10] : TRUE, cost: NONTERM Applied chaining First rule: __init -> f1_0_main_New : arg2'=arg2P15, arg4'=arg4P15, arg1'=arg1P15, arg3'=arg3P15, TRUE, cost: 1 Second rule: f1_0_main_New -> f845_0_reverse_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (1+arg2P9 > 0 /\ arg1P9 > 0), cost: 2 New rule: __init -> f845_0_reverse_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (1+arg2P9 > 0 /\ arg1P9 > 0), cost: 3 Applied deletion Removed the following rules: 8 15 31 36 Eliminating location f1225_0_reverse_InvokeMethod by chaining: Applied chaining First rule: f845_0_reverse_NONNULL -> f1225_0_reverse_InvokeMethod : arg2'=arg2P11, arg4'=arg4P11, arg1'=arg1P11, arg3'=arg3P11, (-2+arg1 > 0 /\ arg2 > 0 /\ -4+arg1P11 > 0), cost: 1 Second rule: f1225_0_reverse_InvokeMethod -> [10] : -3+arg1 >= 0, cost: NONTERM New rule: f845_0_reverse_NONNULL -> [10] : (-2+arg1 > 0 /\ -3+arg1P11 >= 0 /\ arg2 > 0 /\ -4+arg1P11 > 0), cost: NONTERM Applied simplification Original rule: f845_0_reverse_NONNULL -> [10] : (-2+arg1 > 0 /\ -3+arg1P11 >= 0 /\ arg2 > 0 /\ -4+arg1P11 > 0), cost: NONTERM New rule: f845_0_reverse_NONNULL -> [10] : (-2+arg1 > 0 /\ arg2 > 0 /\ -4+arg1P11 > 0), cost: NONTERM Applied chaining First rule: f845_0_reverse_NONNULL -> f1225_0_reverse_InvokeMethod : arg2'=arg2P12, arg4'=arg4P12, arg1'=arg1P12, arg3'=arg3P12, (-2+arg1 > 0 /\ arg2 > 0 /\ -2+arg1P12 > 0), cost: 1 Second rule: f1225_0_reverse_InvokeMethod -> [10] : -3+arg1 >= 0, cost: NONTERM New rule: f845_0_reverse_NONNULL -> [10] : (-2+arg1 > 0 /\ arg2 > 0 /\ -3+arg1P12 >= 0 /\ -2+arg1P12 > 0), cost: NONTERM Applied simplification Original rule: f845_0_reverse_NONNULL -> [10] : (-2+arg1 > 0 /\ arg2 > 0 /\ -3+arg1P12 >= 0 /\ -2+arg1P12 > 0), cost: NONTERM New rule: f845_0_reverse_NONNULL -> [10] : (-2+arg1 > 0 /\ arg2 > 0 /\ -2+arg1P12 > 0), cost: NONTERM Applied deletion Removed the following rules: 11 12 33 Eliminated locations on tree-shaped paths Start location: __init 32: f845_0_reverse_NONNULL -> [10] : (-4+arg1 >= 0 /\ -2+arg2 >= 0), cost: NONTERM 40: f845_0_reverse_NONNULL -> [10] : (-2+arg1 > 0 /\ arg2 > 0 /\ -4+arg1P11 > 0), cost: NONTERM 41: f845_0_reverse_NONNULL -> [10] : (-2+arg1 > 0 /\ arg2 > 0 /\ -2+arg1P12 > 0), cost: NONTERM 37: __init -> f845_0_reverse_NONNULL : arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-3+arg1P8 > 0 /\ -1+arg2P8 > 0), cost: 2 38: __init -> [10] : TRUE, cost: NONTERM 39: __init -> f845_0_reverse_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (1+arg2P9 > 0 /\ arg1P9 > 0), cost: 3 Eliminating location f845_0_reverse_NONNULL by chaining: Applied chaining First rule: __init -> f845_0_reverse_NONNULL : arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-3+arg1P8 > 0 /\ -1+arg2P8 > 0), cost: 2 Second rule: f845_0_reverse_NONNULL -> [10] : (-4+arg1 >= 0 /\ -2+arg2 >= 0), cost: NONTERM New rule: __init -> [10] : (-3+arg1P8 > 0 /\ -2+arg2P8 >= 0 /\ -4+arg1P8 >= 0 /\ -1+arg2P8 > 0), cost: NONTERM Applied simplification Original rule: __init -> [10] : (-3+arg1P8 > 0 /\ -2+arg2P8 >= 0 /\ -4+arg1P8 >= 0 /\ -1+arg2P8 > 0), cost: NONTERM New rule: __init -> [10] : (-4+arg1P8 >= 0 /\ -1+arg2P8 > 0), cost: NONTERM Applied chaining First rule: __init -> f845_0_reverse_NONNULL : arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-3+arg1P8 > 0 /\ -1+arg2P8 > 0), cost: 2 Second rule: f845_0_reverse_NONNULL -> [10] : (-2+arg1 > 0 /\ arg2 > 0 /\ -4+arg1P11 > 0), cost: NONTERM New rule: __init -> [10] : (-2+arg1P8 > 0 /\ arg2P8 > 0 /\ -3+arg1P8 > 0 /\ -4+arg1P11 > 0 /\ -1+arg2P8 > 0), cost: NONTERM Applied simplification Original rule: __init -> [10] : (-2+arg1P8 > 0 /\ arg2P8 > 0 /\ -3+arg1P8 > 0 /\ -4+arg1P11 > 0 /\ -1+arg2P8 > 0), cost: NONTERM New rule: __init -> [10] : (-3+arg1P8 > 0 /\ -4+arg1P11 > 0 /\ -1+arg2P8 > 0), cost: NONTERM Applied chaining First rule: __init -> f845_0_reverse_NONNULL : arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-3+arg1P8 > 0 /\ -1+arg2P8 > 0), cost: 2 Second rule: f845_0_reverse_NONNULL -> [10] : (-2+arg1 > 0 /\ arg2 > 0 /\ -2+arg1P12 > 0), cost: NONTERM New rule: __init -> [10] : (-2+arg1P8 > 0 /\ arg2P8 > 0 /\ -3+arg1P8 > 0 /\ -2+arg1P12 > 0 /\ -1+arg2P8 > 0), cost: NONTERM Applied simplification Original rule: __init -> [10] : (-2+arg1P8 > 0 /\ arg2P8 > 0 /\ -3+arg1P8 > 0 /\ -2+arg1P12 > 0 /\ -1+arg2P8 > 0), cost: NONTERM New rule: __init -> [10] : (-3+arg1P8 > 0 /\ -2+arg1P12 > 0 /\ -1+arg2P8 > 0), cost: NONTERM Applied chaining First rule: __init -> f845_0_reverse_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (1+arg2P9 > 0 /\ arg1P9 > 0), cost: 3 Second rule: f845_0_reverse_NONNULL -> [10] : (-4+arg1 >= 0 /\ -2+arg2 >= 0), cost: NONTERM New rule: __init -> [10] : (-4+arg1P9 >= 0 /\ 1+arg2P9 > 0 /\ -2+arg2P9 >= 0 /\ arg1P9 > 0), cost: NONTERM Applied simplification Original rule: __init -> [10] : (-4+arg1P9 >= 0 /\ 1+arg2P9 > 0 /\ -2+arg2P9 >= 0 /\ arg1P9 > 0), cost: NONTERM New rule: __init -> [10] : (-4+arg1P9 >= 0 /\ -2+arg2P9 >= 0), cost: NONTERM Applied chaining First rule: __init -> f845_0_reverse_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (1+arg2P9 > 0 /\ arg1P9 > 0), cost: 3 Second rule: f845_0_reverse_NONNULL -> [10] : (-2+arg1 > 0 /\ arg2 > 0 /\ -4+arg1P11 > 0), cost: NONTERM New rule: __init -> [10] : (arg2P9 > 0 /\ -4+arg1P11 > 0 /\ -2+arg1P9 > 0 /\ 1+arg2P9 > 0 /\ arg1P9 > 0), cost: NONTERM Applied simplification Original rule: __init -> [10] : (arg2P9 > 0 /\ -4+arg1P11 > 0 /\ -2+arg1P9 > 0 /\ 1+arg2P9 > 0 /\ arg1P9 > 0), cost: NONTERM New rule: __init -> [10] : (arg2P9 > 0 /\ -4+arg1P11 > 0 /\ -2+arg1P9 > 0), cost: NONTERM Applied chaining First rule: __init -> f845_0_reverse_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (1+arg2P9 > 0 /\ arg1P9 > 0), cost: 3 Second rule: f845_0_reverse_NONNULL -> [10] : (-2+arg1 > 0 /\ arg2 > 0 /\ -2+arg1P12 > 0), cost: NONTERM New rule: __init -> [10] : (arg2P9 > 0 /\ -2+arg1P9 > 0 /\ 1+arg2P9 > 0 /\ -2+arg1P12 > 0 /\ arg1P9 > 0), cost: NONTERM Applied simplification Original rule: __init -> [10] : (arg2P9 > 0 /\ -2+arg1P9 > 0 /\ 1+arg2P9 > 0 /\ -2+arg1P12 > 0 /\ arg1P9 > 0), cost: NONTERM New rule: __init -> [10] : (arg2P9 > 0 /\ -2+arg1P9 > 0 /\ -2+arg1P12 > 0), cost: NONTERM Applied deletion Removed the following rules: 32 37 39 40 41 Eliminated locations on tree-shaped paths Start location: __init 38: __init -> [10] : TRUE, cost: NONTERM 42: __init -> [10] : (-4+arg1P8 >= 0 /\ -1+arg2P8 > 0), cost: NONTERM 43: __init -> [10] : (-3+arg1P8 > 0 /\ -4+arg1P11 > 0 /\ -1+arg2P8 > 0), cost: NONTERM 44: __init -> [10] : (-3+arg1P8 > 0 /\ -2+arg1P12 > 0 /\ -1+arg2P8 > 0), cost: NONTERM 45: __init -> [10] : (-4+arg1P9 >= 0 /\ -2+arg2P9 >= 0), cost: NONTERM 46: __init -> [10] : (arg2P9 > 0 /\ -4+arg1P11 > 0 /\ -2+arg1P9 > 0), cost: NONTERM 47: __init -> [10] : (arg2P9 > 0 /\ -2+arg1P9 > 0 /\ -2+arg1P12 > 0), cost: NONTERM Computing asymptotic complexity Proved nontermination of rule 38 via SMT. Proved the following lower bound Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: TRUE