NO Initial ITS Start location: __init 0: f1_0_main_New -> f155_0_main_ArrayAccess : arg5'=arg5P0, arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg3P0, (arg2 > 0 /\ 1+x40 > 0 /\ -arg1+arg2P0 <= 0 /\ arg1 > 0 /\ -arg3P0+arg2 == 0 /\ -2+arg1P0 > 0 /\ arg2P0 > 0), cost: 1 1: f1_0_main_New -> f155_0_main_ArrayAccess : arg5'=arg5P1, arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg3P1, (arg2 > 0 /\ arg2P1 > 0 /\ arg1 > 0 /\ arg2P1-arg1 <= 0 /\ -1+arg1P1 > 0 /\ -1+arg1P1-arg1 <= 0 /\ arg2-arg3P1 == 0), cost: 1 4: f1_0_main_New -> f69_0__init__GT : arg5'=arg5P4, arg2'=arg2P4, arg4'=arg4P4, arg1'=arg1P4, arg3'=arg3P4, (arg2 > 0 /\ arg1 > 0 /\ 1+arg1P4 > 0), cost: 1 2: f155_0_main_ArrayAccess -> f204_0_main_InvokeMethod : arg5'=arg5P2, arg2'=arg2P2, arg4'=arg4P2, arg1'=arg1P2, arg3'=arg3P2, (-1+arg3P2 > 0 /\ arg2P2 > 0 /\ -2+arg1-arg5P2 >= 0 /\ -arg4P2+arg3 == 0 /\ arg2 > 0 /\ -arg2+arg1P2 <= 0 /\ 1+arg1-arg3P2 >= 0 /\ -1-arg2+arg3P2 <= 0 /\ -1+arg3 > 0 /\ arg1 > 0 /\ -arg2P2+arg1 >= 0 /\ arg1P2 > 0 /\ arg1-arg1P2 >= 0), cost: 1 3: f155_0_main_ArrayAccess -> f204_0_main_InvokeMethod : arg5'=arg5P3, arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (arg3-arg4P3 == 0 /\ -2+arg3P3 > 0 /\ arg2 > 0 /\ arg1P3 > 0 /\ 1+x230 > 0 /\ 2-arg1+arg5P3 <= 0 /\ -1+arg3 > 0 /\ arg2P3 > 0 /\ arg1P3-arg1 <= 0 /\ arg1 > 0 /\ arg2P3-arg1 <= 0 /\ -arg2+arg1P3 <= 0), cost: 1 5: f155_0_main_ArrayAccess -> f69_0__init__GT : arg5'=arg5P5, arg2'=arg2P5, arg4'=arg4P5, arg1'=arg1P5, arg3'=arg3P5, (arg2 > 0 /\ -1+arg3 > 0 /\ 1+arg1P5 > 0 /\ arg1 > 0), cost: 1 7: f204_0_main_InvokeMethod -> f292_0_isZero_NONNULL : arg5'=arg5P7, arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (1+arg4P7-arg3 <= 0 /\ -1+arg4 > 0 /\ arg2 > 0 /\ 1+arg4P7 > 0 /\ arg1P7 > 0 /\ arg3P7-arg3 <= 0 /\ arg1 > 0 /\ 2+arg5-arg2 <= 0 /\ arg3P7 > 0 /\ arg2P7 > 0 /\ arg3 > 0 /\ arg2P7-arg3 <= 0 /\ -arg2+arg1P7 <= 0), cost: 1 6: f69_0__init__GT -> f69_0__init__GT : arg5'=arg5P6, arg2'=arg2P6, arg4'=arg4P6, arg1'=arg1P6, arg3'=arg3P6, (arg1 > 0 /\ -1+arg1-arg1P6 == 0 /\ -1 < 0), cost: 1 8: f292_0_isZero_NONNULL -> f292_0_isZero_NONNULL : arg5'=arg5P8, arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (arg2P8-arg3 <= 0 /\ -arg1+arg1P8 <= 0 /\ 2+arg4P8-arg3 <= 0 /\ -arg4+arg4P8 <= 0 /\ arg4 > 0 /\ -2+arg3P8 > 0 /\ -2+arg2P8-arg4 <= 0 /\ -2+arg2P8 > 0 /\ arg1 > 0 /\ arg4P8 > 0 /\ -2+arg3 > 0 /\ -1+arg2 > 0 /\ -2+arg3P8-arg4 <= 0 /\ arg3P8-arg3 <= 0 /\ arg1P8 > 0), cost: 1 9: f292_0_isZero_NONNULL -> f292_0_isZero_NONNULL : arg5'=arg5P9, arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (2+arg4P9-arg3 <= 0 /\ -2+arg1 > 0 /\ arg4P9 > 0 /\ arg4P9-arg4 <= 0 /\ -2-arg4+arg3P9 <= 0 /\ 2+arg1P9-arg1 <= 0 /\ -2+arg2 > 0 /\ arg4 > 0 /\ arg1P9 > 0 /\ -2+arg3P9 > 0 /\ 2-arg2+arg2P9 <= 0 /\ -2+arg3 > 0 /\ arg2P9 > 0 /\ arg3P9-arg3 <= 0), cost: 1 10: __init -> f1_0_main_New : arg5'=arg5P10, arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, TRUE, cost: 1 Applied preprocessing Original rule: f1_0_main_New -> f155_0_main_ArrayAccess : arg5'=arg5P0, arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg3P0, (arg2 > 0 /\ 1+x40 > 0 /\ -arg1+arg2P0 <= 0 /\ arg1 > 0 /\ -arg3P0+arg2 == 0 /\ -2+arg1P0 > 0 /\ arg2P0 > 0), cost: 1 New rule: f1_0_main_New -> f155_0_main_ArrayAccess : arg5'=arg5P0, arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg2, (arg2 > 0 /\ -arg1+arg2P0 <= 0 /\ -2+arg1P0 > 0 /\ arg2P0 > 0), cost: 1 Applied preprocessing Original rule: f1_0_main_New -> f155_0_main_ArrayAccess : arg5'=arg5P1, arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg3P1, (arg2 > 0 /\ arg2P1 > 0 /\ arg1 > 0 /\ arg2P1-arg1 <= 0 /\ -1+arg1P1 > 0 /\ -1+arg1P1-arg1 <= 0 /\ arg2-arg3P1 == 0), cost: 1 New rule: f1_0_main_New -> f155_0_main_ArrayAccess : arg5'=arg5P1, arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg2, (arg2 > 0 /\ arg2P1 > 0 /\ arg2P1-arg1 <= 0 /\ -1+arg1P1 > 0 /\ -1+arg1P1-arg1 <= 0), cost: 1 Applied preprocessing Original rule: f155_0_main_ArrayAccess -> f204_0_main_InvokeMethod : arg5'=arg5P2, arg2'=arg2P2, arg4'=arg4P2, arg1'=arg1P2, arg3'=arg3P2, (-1+arg3P2 > 0 /\ arg2P2 > 0 /\ -2+arg1-arg5P2 >= 0 /\ -arg4P2+arg3 == 0 /\ arg2 > 0 /\ -arg2+arg1P2 <= 0 /\ 1+arg1-arg3P2 >= 0 /\ -1-arg2+arg3P2 <= 0 /\ -1+arg3 > 0 /\ arg1 > 0 /\ -arg2P2+arg1 >= 0 /\ arg1P2 > 0 /\ arg1-arg1P2 >= 0), cost: 1 New rule: f155_0_main_ArrayAccess -> f204_0_main_InvokeMethod : arg5'=arg5P2, arg2'=arg2P2, arg4'=arg3, arg1'=arg1P2, arg3'=arg3P2, (-1+arg3P2 > 0 /\ arg2P2 > 0 /\ -2+arg1-arg5P2 >= 0 /\ -arg2+arg1P2 <= 0 /\ 1+arg1-arg3P2 >= 0 /\ -1-arg2+arg3P2 <= 0 /\ -1+arg3 > 0 /\ -arg2P2+arg1 >= 0 /\ arg1P2 > 0 /\ arg1-arg1P2 >= 0), cost: 1 Applied preprocessing Original rule: f155_0_main_ArrayAccess -> f204_0_main_InvokeMethod : arg5'=arg5P3, arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (arg3-arg4P3 == 0 /\ -2+arg3P3 > 0 /\ arg2 > 0 /\ arg1P3 > 0 /\ 1+x230 > 0 /\ 2-arg1+arg5P3 <= 0 /\ -1+arg3 > 0 /\ arg2P3 > 0 /\ arg1P3-arg1 <= 0 /\ arg1 > 0 /\ arg2P3-arg1 <= 0 /\ -arg2+arg1P3 <= 0), cost: 1 New rule: f155_0_main_ArrayAccess -> f204_0_main_InvokeMethod : arg5'=arg5P3, arg2'=arg2P3, arg4'=arg3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg3P3 > 0 /\ arg1P3 > 0 /\ 2-arg1+arg5P3 <= 0 /\ -1+arg3 > 0 /\ arg2P3 > 0 /\ arg1P3-arg1 <= 0 /\ arg2P3-arg1 <= 0 /\ -arg2+arg1P3 <= 0), cost: 1 Applied preprocessing Original rule: f69_0__init__GT -> f69_0__init__GT : arg5'=arg5P6, arg2'=arg2P6, arg4'=arg4P6, arg1'=arg1P6, arg3'=arg3P6, (arg1 > 0 /\ -1+arg1-arg1P6 == 0 /\ -1 < 0), cost: 1 New rule: f69_0__init__GT -> f69_0__init__GT : arg5'=arg5P6, arg2'=arg2P6, arg4'=arg4P6, arg1'=-1+arg1, arg3'=arg3P6, arg1 > 0, cost: 1 Applied preprocessing Original rule: f204_0_main_InvokeMethod -> f292_0_isZero_NONNULL : arg5'=arg5P7, arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (1+arg4P7-arg3 <= 0 /\ -1+arg4 > 0 /\ arg2 > 0 /\ 1+arg4P7 > 0 /\ arg1P7 > 0 /\ arg3P7-arg3 <= 0 /\ arg1 > 0 /\ 2+arg5-arg2 <= 0 /\ arg3P7 > 0 /\ arg2P7 > 0 /\ arg3 > 0 /\ arg2P7-arg3 <= 0 /\ -arg2+arg1P7 <= 0), cost: 1 New rule: f204_0_main_InvokeMethod -> f292_0_isZero_NONNULL : arg5'=arg5P7, arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (1+arg4P7-arg3 <= 0 /\ -1+arg4 > 0 /\ 1+arg4P7 > 0 /\ arg1P7 > 0 /\ arg3P7-arg3 <= 0 /\ arg1 > 0 /\ 2+arg5-arg2 <= 0 /\ arg3P7 > 0 /\ arg2P7 > 0 /\ arg2P7-arg3 <= 0 /\ -arg2+arg1P7 <= 0), cost: 1 Applied preprocessing Original rule: f292_0_isZero_NONNULL -> f292_0_isZero_NONNULL : arg5'=arg5P8, arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (arg2P8-arg3 <= 0 /\ -arg1+arg1P8 <= 0 /\ 2+arg4P8-arg3 <= 0 /\ -arg4+arg4P8 <= 0 /\ arg4 > 0 /\ -2+arg3P8 > 0 /\ -2+arg2P8-arg4 <= 0 /\ -2+arg2P8 > 0 /\ arg1 > 0 /\ arg4P8 > 0 /\ -2+arg3 > 0 /\ -1+arg2 > 0 /\ -2+arg3P8-arg4 <= 0 /\ arg3P8-arg3 <= 0 /\ arg1P8 > 0), cost: 1 New rule: f292_0_isZero_NONNULL -> f292_0_isZero_NONNULL : arg5'=arg5P8, arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (arg2P8-arg3 <= 0 /\ -arg1+arg1P8 <= 0 /\ 2+arg4P8-arg3 <= 0 /\ -arg4+arg4P8 <= 0 /\ -2+arg3P8 > 0 /\ -2+arg2P8-arg4 <= 0 /\ -2+arg2P8 > 0 /\ arg4P8 > 0 /\ -1+arg2 > 0 /\ -2+arg3P8-arg4 <= 0 /\ arg3P8-arg3 <= 0 /\ arg1P8 > 0), cost: 1 Applied preprocessing Original rule: f292_0_isZero_NONNULL -> f292_0_isZero_NONNULL : arg5'=arg5P9, arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (2+arg4P9-arg3 <= 0 /\ -2+arg1 > 0 /\ arg4P9 > 0 /\ arg4P9-arg4 <= 0 /\ -2-arg4+arg3P9 <= 0 /\ 2+arg1P9-arg1 <= 0 /\ -2+arg2 > 0 /\ arg4 > 0 /\ arg1P9 > 0 /\ -2+arg3P9 > 0 /\ 2-arg2+arg2P9 <= 0 /\ -2+arg3 > 0 /\ arg2P9 > 0 /\ arg3P9-arg3 <= 0), cost: 1 New rule: f292_0_isZero_NONNULL -> f292_0_isZero_NONNULL : arg5'=arg5P9, arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (2+arg4P9-arg3 <= 0 /\ arg4P9 > 0 /\ arg4P9-arg4 <= 0 /\ -2-arg4+arg3P9 <= 0 /\ 2+arg1P9-arg1 <= 0 /\ arg1P9 > 0 /\ -2+arg3P9 > 0 /\ 2-arg2+arg2P9 <= 0 /\ arg2P9 > 0 /\ arg3P9-arg3 <= 0), cost: 1 Simplified rules Start location: __init 4: f1_0_main_New -> f69_0__init__GT : arg5'=arg5P4, arg2'=arg2P4, arg4'=arg4P4, arg1'=arg1P4, arg3'=arg3P4, (arg2 > 0 /\ arg1 > 0 /\ 1+arg1P4 > 0), cost: 1 11: f1_0_main_New -> f155_0_main_ArrayAccess : arg5'=arg5P0, arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg2, (arg2 > 0 /\ -arg1+arg2P0 <= 0 /\ -2+arg1P0 > 0 /\ arg2P0 > 0), cost: 1 12: f1_0_main_New -> f155_0_main_ArrayAccess : arg5'=arg5P1, arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg2, (arg2 > 0 /\ arg2P1 > 0 /\ arg2P1-arg1 <= 0 /\ -1+arg1P1 > 0 /\ -1+arg1P1-arg1 <= 0), cost: 1 5: f155_0_main_ArrayAccess -> f69_0__init__GT : arg5'=arg5P5, arg2'=arg2P5, arg4'=arg4P5, arg1'=arg1P5, arg3'=arg3P5, (arg2 > 0 /\ -1+arg3 > 0 /\ 1+arg1P5 > 0 /\ arg1 > 0), cost: 1 13: f155_0_main_ArrayAccess -> f204_0_main_InvokeMethod : arg5'=arg5P2, arg2'=arg2P2, arg4'=arg3, arg1'=arg1P2, arg3'=arg3P2, (-1+arg3P2 > 0 /\ arg2P2 > 0 /\ -2+arg1-arg5P2 >= 0 /\ -arg2+arg1P2 <= 0 /\ 1+arg1-arg3P2 >= 0 /\ -1-arg2+arg3P2 <= 0 /\ -1+arg3 > 0 /\ -arg2P2+arg1 >= 0 /\ arg1P2 > 0 /\ arg1-arg1P2 >= 0), cost: 1 14: f155_0_main_ArrayAccess -> f204_0_main_InvokeMethod : arg5'=arg5P3, arg2'=arg2P3, arg4'=arg3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg3P3 > 0 /\ arg1P3 > 0 /\ 2-arg1+arg5P3 <= 0 /\ -1+arg3 > 0 /\ arg2P3 > 0 /\ arg1P3-arg1 <= 0 /\ arg2P3-arg1 <= 0 /\ -arg2+arg1P3 <= 0), cost: 1 16: f204_0_main_InvokeMethod -> f292_0_isZero_NONNULL : arg5'=arg5P7, arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (1+arg4P7-arg3 <= 0 /\ -1+arg4 > 0 /\ 1+arg4P7 > 0 /\ arg1P7 > 0 /\ arg3P7-arg3 <= 0 /\ arg1 > 0 /\ 2+arg5-arg2 <= 0 /\ arg3P7 > 0 /\ arg2P7 > 0 /\ arg2P7-arg3 <= 0 /\ -arg2+arg1P7 <= 0), cost: 1 15: f69_0__init__GT -> f69_0__init__GT : arg5'=arg5P6, arg2'=arg2P6, arg4'=arg4P6, arg1'=-1+arg1, arg3'=arg3P6, arg1 > 0, cost: 1 17: f292_0_isZero_NONNULL -> f292_0_isZero_NONNULL : arg5'=arg5P8, arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (arg2P8-arg3 <= 0 /\ -arg1+arg1P8 <= 0 /\ 2+arg4P8-arg3 <= 0 /\ -arg4+arg4P8 <= 0 /\ -2+arg3P8 > 0 /\ -2+arg2P8-arg4 <= 0 /\ -2+arg2P8 > 0 /\ arg4P8 > 0 /\ -1+arg2 > 0 /\ -2+arg3P8-arg4 <= 0 /\ arg3P8-arg3 <= 0 /\ arg1P8 > 0), cost: 1 18: f292_0_isZero_NONNULL -> f292_0_isZero_NONNULL : arg5'=arg5P9, arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (2+arg4P9-arg3 <= 0 /\ arg4P9 > 0 /\ arg4P9-arg4 <= 0 /\ -2-arg4+arg3P9 <= 0 /\ 2+arg1P9-arg1 <= 0 /\ arg1P9 > 0 /\ -2+arg3P9 > 0 /\ 2-arg2+arg2P9 <= 0 /\ arg2P9 > 0 /\ arg3P9-arg3 <= 0), cost: 1 10: __init -> f1_0_main_New : arg5'=arg5P10, arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, TRUE, cost: 1 Applied acceleration Original rule: f69_0__init__GT -> f69_0__init__GT : arg5'=arg5P6, arg2'=arg2P6, arg4'=arg4P6, arg1'=-1+arg1, arg3'=arg3P6, arg1 > 0, cost: 1 New rule: f69_0__init__GT -> f69_0__init__GT : arg5'=arg5P6, arg2'=arg2P6, arg4'=arg4P6, arg1'=arg1-n, arg3'=arg3P6, (-1+n >= 0 /\ 1+arg1-n > 0), cost: n Sub-proof via acceration calculus written to file:///tmp/tmpnam_DggKGk.txt Applied instantiation Original rule: f69_0__init__GT -> f69_0__init__GT : arg5'=arg5P6, arg2'=arg2P6, arg4'=arg4P6, arg1'=arg1-n, arg3'=arg3P6, (-1+n >= 0 /\ 1+arg1-n > 0), cost: n New rule: f69_0__init__GT -> f69_0__init__GT : arg5'=arg5P6, arg2'=arg2P6, arg4'=arg4P6, arg1'=0, arg3'=arg3P6, (1 > 0 /\ -1+arg1 >= 0), cost: arg1 Applied simplification Original rule: f69_0__init__GT -> f69_0__init__GT : arg5'=arg5P6, arg2'=arg2P6, arg4'=arg4P6, arg1'=0, arg3'=arg3P6, (1 > 0 /\ -1+arg1 >= 0), cost: arg1 New rule: f69_0__init__GT -> f69_0__init__GT : arg5'=arg5P6, arg2'=arg2P6, arg4'=arg4P6, arg1'=0, arg3'=arg3P6, -1+arg1 >= 0, cost: arg1 Applied deletion Removed the following rules: 15 Applied acceleration Original rule: f292_0_isZero_NONNULL -> f292_0_isZero_NONNULL : arg5'=arg5P8, arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (arg2P8-arg3 <= 0 /\ -arg1+arg1P8 <= 0 /\ 2+arg4P8-arg3 <= 0 /\ -arg4+arg4P8 <= 0 /\ -2+arg3P8 > 0 /\ -2+arg2P8-arg4 <= 0 /\ -2+arg2P8 > 0 /\ arg4P8 > 0 /\ -1+arg2 > 0 /\ -2+arg3P8-arg4 <= 0 /\ arg3P8-arg3 <= 0 /\ arg1P8 > 0), cost: 1 New rule: f292_0_isZero_NONNULL -> f292_0_isZero_NONNULL : arg5'=arg5P8, arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-1+n0 >= 0 /\ arg4-arg4P8 >= 0 /\ -2+arg3P8-arg4P8 >= 0 /\ 2-arg3P8+arg4P8 >= 0 /\ -2+arg3P8 > 0 /\ arg1-arg1P8 >= 0 /\ 2-arg2P8+arg4P8 >= 0 /\ -2+arg2P8 > 0 /\ -arg3P8+arg3 >= 0 /\ arg4P8 > 0 /\ -1+arg2 > 0 /\ arg3P8-arg2P8 >= 0 /\ arg1P8 > 0), cost: n0 Sub-proof via acceration calculus written to file:///tmp/tmpnam_jIBHBC.txt Applied nonterm Original rule: f292_0_isZero_NONNULL -> f292_0_isZero_NONNULL : arg5'=arg5P8, arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (arg2P8-arg3 <= 0 /\ -arg1+arg1P8 <= 0 /\ 2+arg4P8-arg3 <= 0 /\ -arg4+arg4P8 <= 0 /\ -2+arg3P8 > 0 /\ -2+arg2P8-arg4 <= 0 /\ -2+arg2P8 > 0 /\ arg4P8 > 0 /\ -1+arg2 > 0 /\ -2+arg3P8-arg4 <= 0 /\ arg3P8-arg3 <= 0 /\ arg1P8 > 0), cost: 1 New rule: f292_0_isZero_NONNULL -> [7] : (arg4-arg4P8 <= 0 /\ arg4-arg4P8 >= 0 /\ -2-arg4P8+arg3 >= 0 /\ -arg2P8+arg3 >= 0 /\ -2+arg3P8 > 0 /\ arg1-arg1P8 >= 0 /\ 2-arg2P8+arg4 >= 0 /\ -2+arg2P8 > 0 /\ -arg3P8+arg3 <= 0 /\ -arg3P8+arg3 >= 0 /\ arg4P8 > 0 /\ -1+arg2 > 0 /\ 2-arg3P8+arg4 >= 0 /\ arg1P8 > 0), cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_ibGDdk.txt Applied simplification Original rule: f292_0_isZero_NONNULL -> f292_0_isZero_NONNULL : arg5'=arg5P8, arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-1+n0 >= 0 /\ arg4-arg4P8 >= 0 /\ -2+arg3P8-arg4P8 >= 0 /\ 2-arg3P8+arg4P8 >= 0 /\ -2+arg3P8 > 0 /\ arg1-arg1P8 >= 0 /\ 2-arg2P8+arg4P8 >= 0 /\ -2+arg2P8 > 0 /\ -arg3P8+arg3 >= 0 /\ arg4P8 > 0 /\ -1+arg2 > 0 /\ arg3P8-arg2P8 >= 0 /\ arg1P8 > 0), cost: n0 New rule: f292_0_isZero_NONNULL -> f292_0_isZero_NONNULL : arg5'=arg5P8, arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-1+n0 >= 0 /\ arg4-arg4P8 >= 0 /\ -2+arg3P8-arg4P8 >= 0 /\ 2-arg3P8+arg4P8 >= 0 /\ arg1-arg1P8 >= 0 /\ -2+arg2P8 > 0 /\ -arg3P8+arg3 >= 0 /\ -1+arg2 > 0 /\ arg3P8-arg2P8 >= 0 /\ arg1P8 > 0), cost: n0 Applied simplification Original rule: f292_0_isZero_NONNULL -> [7] : (arg4-arg4P8 <= 0 /\ arg4-arg4P8 >= 0 /\ -2-arg4P8+arg3 >= 0 /\ -arg2P8+arg3 >= 0 /\ -2+arg3P8 > 0 /\ arg1-arg1P8 >= 0 /\ 2-arg2P8+arg4 >= 0 /\ -2+arg2P8 > 0 /\ -arg3P8+arg3 <= 0 /\ -arg3P8+arg3 >= 0 /\ arg4P8 > 0 /\ -1+arg2 > 0 /\ 2-arg3P8+arg4 >= 0 /\ arg1P8 > 0), cost: NONTERM New rule: f292_0_isZero_NONNULL -> [7] : (arg4-arg4P8 <= 0 /\ -2-arg4P8+arg3 >= 0 /\ arg1-arg1P8 >= 0 /\ 2-arg2P8+arg4 >= 0 /\ -2+arg2P8 > 0 /\ -arg3P8+arg3 <= 0 /\ -1+arg2 > 0 /\ 2-arg3P8+arg4 >= 0 /\ arg1P8 > 0), cost: NONTERM Applied deletion Removed the following rules: 17 Accelerated simple loops Start location: __init 4: f1_0_main_New -> f69_0__init__GT : arg5'=arg5P4, arg2'=arg2P4, arg4'=arg4P4, arg1'=arg1P4, arg3'=arg3P4, (arg2 > 0 /\ arg1 > 0 /\ 1+arg1P4 > 0), cost: 1 11: f1_0_main_New -> f155_0_main_ArrayAccess : arg5'=arg5P0, arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg2, (arg2 > 0 /\ -arg1+arg2P0 <= 0 /\ -2+arg1P0 > 0 /\ arg2P0 > 0), cost: 1 12: f1_0_main_New -> f155_0_main_ArrayAccess : arg5'=arg5P1, arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg2, (arg2 > 0 /\ arg2P1 > 0 /\ arg2P1-arg1 <= 0 /\ -1+arg1P1 > 0 /\ -1+arg1P1-arg1 <= 0), cost: 1 5: f155_0_main_ArrayAccess -> f69_0__init__GT : arg5'=arg5P5, arg2'=arg2P5, arg4'=arg4P5, arg1'=arg1P5, arg3'=arg3P5, (arg2 > 0 /\ -1+arg3 > 0 /\ 1+arg1P5 > 0 /\ arg1 > 0), cost: 1 13: f155_0_main_ArrayAccess -> f204_0_main_InvokeMethod : arg5'=arg5P2, arg2'=arg2P2, arg4'=arg3, arg1'=arg1P2, arg3'=arg3P2, (-1+arg3P2 > 0 /\ arg2P2 > 0 /\ -2+arg1-arg5P2 >= 0 /\ -arg2+arg1P2 <= 0 /\ 1+arg1-arg3P2 >= 0 /\ -1-arg2+arg3P2 <= 0 /\ -1+arg3 > 0 /\ -arg2P2+arg1 >= 0 /\ arg1P2 > 0 /\ arg1-arg1P2 >= 0), cost: 1 14: f155_0_main_ArrayAccess -> f204_0_main_InvokeMethod : arg5'=arg5P3, arg2'=arg2P3, arg4'=arg3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg3P3 > 0 /\ arg1P3 > 0 /\ 2-arg1+arg5P3 <= 0 /\ -1+arg3 > 0 /\ arg2P3 > 0 /\ arg1P3-arg1 <= 0 /\ arg2P3-arg1 <= 0 /\ -arg2+arg1P3 <= 0), cost: 1 16: f204_0_main_InvokeMethod -> f292_0_isZero_NONNULL : arg5'=arg5P7, arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (1+arg4P7-arg3 <= 0 /\ -1+arg4 > 0 /\ 1+arg4P7 > 0 /\ arg1P7 > 0 /\ arg3P7-arg3 <= 0 /\ arg1 > 0 /\ 2+arg5-arg2 <= 0 /\ arg3P7 > 0 /\ arg2P7 > 0 /\ arg2P7-arg3 <= 0 /\ -arg2+arg1P7 <= 0), cost: 1 20: f69_0__init__GT -> f69_0__init__GT : arg5'=arg5P6, arg2'=arg2P6, arg4'=arg4P6, arg1'=0, arg3'=arg3P6, -1+arg1 >= 0, cost: arg1 18: f292_0_isZero_NONNULL -> f292_0_isZero_NONNULL : arg5'=arg5P9, arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (2+arg4P9-arg3 <= 0 /\ arg4P9 > 0 /\ arg4P9-arg4 <= 0 /\ -2-arg4+arg3P9 <= 0 /\ 2+arg1P9-arg1 <= 0 /\ arg1P9 > 0 /\ -2+arg3P9 > 0 /\ 2-arg2+arg2P9 <= 0 /\ arg2P9 > 0 /\ arg3P9-arg3 <= 0), cost: 1 23: f292_0_isZero_NONNULL -> f292_0_isZero_NONNULL : arg5'=arg5P8, arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-1+n0 >= 0 /\ arg4-arg4P8 >= 0 /\ -2+arg3P8-arg4P8 >= 0 /\ 2-arg3P8+arg4P8 >= 0 /\ arg1-arg1P8 >= 0 /\ -2+arg2P8 > 0 /\ -arg3P8+arg3 >= 0 /\ -1+arg2 > 0 /\ arg3P8-arg2P8 >= 0 /\ arg1P8 > 0), cost: n0 24: f292_0_isZero_NONNULL -> [7] : (arg4-arg4P8 <= 0 /\ -2-arg4P8+arg3 >= 0 /\ arg1-arg1P8 >= 0 /\ 2-arg2P8+arg4 >= 0 /\ -2+arg2P8 > 0 /\ -arg3P8+arg3 <= 0 /\ -1+arg2 > 0 /\ 2-arg3P8+arg4 >= 0 /\ arg1P8 > 0), cost: NONTERM 10: __init -> f1_0_main_New : arg5'=arg5P10, arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, TRUE, cost: 1 Applied chaining First rule: f1_0_main_New -> f69_0__init__GT : arg5'=arg5P4, arg2'=arg2P4, arg4'=arg4P4, arg1'=arg1P4, arg3'=arg3P4, (arg2 > 0 /\ arg1 > 0 /\ 1+arg1P4 > 0), cost: 1 Second rule: f69_0__init__GT -> f69_0__init__GT : arg5'=arg5P6, arg2'=arg2P6, arg4'=arg4P6, arg1'=0, arg3'=arg3P6, -1+arg1 >= 0, cost: arg1 New rule: f1_0_main_New -> f69_0__init__GT : arg5'=arg5P6, arg2'=arg2P6, arg4'=arg4P6, arg1'=0, arg3'=arg3P6, (arg2 > 0 /\ -1+arg1P4 >= 0 /\ arg1 > 0), cost: 1+arg1P4 Applied chaining First rule: f155_0_main_ArrayAccess -> f69_0__init__GT : arg5'=arg5P5, arg2'=arg2P5, arg4'=arg4P5, arg1'=arg1P5, arg3'=arg3P5, (arg2 > 0 /\ -1+arg3 > 0 /\ 1+arg1P5 > 0 /\ arg1 > 0), cost: 1 Second rule: f69_0__init__GT -> f69_0__init__GT : arg5'=arg5P6, arg2'=arg2P6, arg4'=arg4P6, arg1'=0, arg3'=arg3P6, -1+arg1 >= 0, cost: arg1 New rule: f155_0_main_ArrayAccess -> f69_0__init__GT : arg5'=arg5P6, arg2'=arg2P6, arg4'=arg4P6, arg1'=0, arg3'=arg3P6, (arg2 > 0 /\ -1+arg1P5 >= 0 /\ -1+arg3 > 0 /\ arg1 > 0), cost: 1+arg1P5 Applied deletion Removed the following rules: 20 Applied chaining First rule: f204_0_main_InvokeMethod -> f292_0_isZero_NONNULL : arg5'=arg5P7, arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (1+arg4P7-arg3 <= 0 /\ -1+arg4 > 0 /\ 1+arg4P7 > 0 /\ arg1P7 > 0 /\ arg3P7-arg3 <= 0 /\ arg1 > 0 /\ 2+arg5-arg2 <= 0 /\ arg3P7 > 0 /\ arg2P7 > 0 /\ arg2P7-arg3 <= 0 /\ -arg2+arg1P7 <= 0), cost: 1 Second rule: f292_0_isZero_NONNULL -> f292_0_isZero_NONNULL : arg5'=arg5P9, arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (2+arg4P9-arg3 <= 0 /\ arg4P9 > 0 /\ arg4P9-arg4 <= 0 /\ -2-arg4+arg3P9 <= 0 /\ 2+arg1P9-arg1 <= 0 /\ arg1P9 > 0 /\ -2+arg3P9 > 0 /\ 2-arg2+arg2P9 <= 0 /\ arg2P9 > 0 /\ arg3P9-arg3 <= 0), cost: 1 New rule: f204_0_main_InvokeMethod -> f292_0_isZero_NONNULL : arg5'=arg5P9, arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (2+arg4P9-arg3 <= 0 /\ 2-arg3+arg2P9 <= 0 /\ arg4P9 > 0 /\ -1+arg4 > 0 /\ arg1P9 > 0 /\ -2+arg3P9 > 0 /\ arg1 > 0 /\ 2+arg5-arg2 <= 0 /\ 2-arg2+arg1P9 <= 0 /\ arg2P9 > 0 /\ arg3P9-arg3 <= 0), cost: 2 Applied chaining First rule: f204_0_main_InvokeMethod -> f292_0_isZero_NONNULL : arg5'=arg5P7, arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (1+arg4P7-arg3 <= 0 /\ -1+arg4 > 0 /\ 1+arg4P7 > 0 /\ arg1P7 > 0 /\ arg3P7-arg3 <= 0 /\ arg1 > 0 /\ 2+arg5-arg2 <= 0 /\ arg3P7 > 0 /\ arg2P7 > 0 /\ arg2P7-arg3 <= 0 /\ -arg2+arg1P7 <= 0), cost: 1 Second rule: f292_0_isZero_NONNULL -> f292_0_isZero_NONNULL : arg5'=arg5P8, arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-1+n0 >= 0 /\ arg4-arg4P8 >= 0 /\ -2+arg3P8-arg4P8 >= 0 /\ 2-arg3P8+arg4P8 >= 0 /\ arg1-arg1P8 >= 0 /\ -2+arg2P8 > 0 /\ -arg3P8+arg3 >= 0 /\ -1+arg2 > 0 /\ arg3P8-arg2P8 >= 0 /\ arg1P8 > 0), cost: n0 New rule: f204_0_main_InvokeMethod -> f292_0_isZero_NONNULL : arg5'=arg5P8, arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=2+arg4P8, (-1+n0 >= 0 /\ -1+arg4 > 0 /\ 2+arg4P8-arg3 <= 0 /\ 2-arg2P8+arg4P8 >= 0 /\ -2+arg2P8 > 0 /\ arg1 > 0 /\ 2+arg5-arg2 <= 0 /\ -arg2+arg1P8 <= 0 /\ arg1P8 > 0), cost: 1+n0 Applied chaining First rule: f204_0_main_InvokeMethod -> f292_0_isZero_NONNULL : arg5'=arg5P7, arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (1+arg4P7-arg3 <= 0 /\ -1+arg4 > 0 /\ 1+arg4P7 > 0 /\ arg1P7 > 0 /\ arg3P7-arg3 <= 0 /\ arg1 > 0 /\ 2+arg5-arg2 <= 0 /\ arg3P7 > 0 /\ arg2P7 > 0 /\ arg2P7-arg3 <= 0 /\ -arg2+arg1P7 <= 0), cost: 1 Second rule: f292_0_isZero_NONNULL -> [7] : (arg4-arg4P8 <= 0 /\ -2-arg4P8+arg3 >= 0 /\ arg1-arg1P8 >= 0 /\ 2-arg2P8+arg4 >= 0 /\ -2+arg2P8 > 0 /\ -arg3P8+arg3 <= 0 /\ -1+arg2 > 0 /\ 2-arg3P8+arg4 >= 0 /\ arg1P8 > 0), cost: NONTERM New rule: f204_0_main_InvokeMethod -> [7] : (-1+arg4 > 0 /\ arg1 > 0 /\ 2+arg5-arg2 <= 0 /\ 1-arg2 <= 0 /\ -3+arg3 >= 0), cost: NONTERM Applied deletion Removed the following rules: 18 23 24 Chained accelerated rules with incoming rules Start location: __init 4: f1_0_main_New -> f69_0__init__GT : arg5'=arg5P4, arg2'=arg2P4, arg4'=arg4P4, arg1'=arg1P4, arg3'=arg3P4, (arg2 > 0 /\ arg1 > 0 /\ 1+arg1P4 > 0), cost: 1 11: f1_0_main_New -> f155_0_main_ArrayAccess : arg5'=arg5P0, arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg2, (arg2 > 0 /\ -arg1+arg2P0 <= 0 /\ -2+arg1P0 > 0 /\ arg2P0 > 0), cost: 1 12: f1_0_main_New -> f155_0_main_ArrayAccess : arg5'=arg5P1, arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg2, (arg2 > 0 /\ arg2P1 > 0 /\ arg2P1-arg1 <= 0 /\ -1+arg1P1 > 0 /\ -1+arg1P1-arg1 <= 0), cost: 1 25: f1_0_main_New -> f69_0__init__GT : arg5'=arg5P6, arg2'=arg2P6, arg4'=arg4P6, arg1'=0, arg3'=arg3P6, (arg2 > 0 /\ -1+arg1P4 >= 0 /\ arg1 > 0), cost: 1+arg1P4 5: f155_0_main_ArrayAccess -> f69_0__init__GT : arg5'=arg5P5, arg2'=arg2P5, arg4'=arg4P5, arg1'=arg1P5, arg3'=arg3P5, (arg2 > 0 /\ -1+arg3 > 0 /\ 1+arg1P5 > 0 /\ arg1 > 0), cost: 1 13: f155_0_main_ArrayAccess -> f204_0_main_InvokeMethod : arg5'=arg5P2, arg2'=arg2P2, arg4'=arg3, arg1'=arg1P2, arg3'=arg3P2, (-1+arg3P2 > 0 /\ arg2P2 > 0 /\ -2+arg1-arg5P2 >= 0 /\ -arg2+arg1P2 <= 0 /\ 1+arg1-arg3P2 >= 0 /\ -1-arg2+arg3P2 <= 0 /\ -1+arg3 > 0 /\ -arg2P2+arg1 >= 0 /\ arg1P2 > 0 /\ arg1-arg1P2 >= 0), cost: 1 14: f155_0_main_ArrayAccess -> f204_0_main_InvokeMethod : arg5'=arg5P3, arg2'=arg2P3, arg4'=arg3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg3P3 > 0 /\ arg1P3 > 0 /\ 2-arg1+arg5P3 <= 0 /\ -1+arg3 > 0 /\ arg2P3 > 0 /\ arg1P3-arg1 <= 0 /\ arg2P3-arg1 <= 0 /\ -arg2+arg1P3 <= 0), cost: 1 26: f155_0_main_ArrayAccess -> f69_0__init__GT : arg5'=arg5P6, arg2'=arg2P6, arg4'=arg4P6, arg1'=0, arg3'=arg3P6, (arg2 > 0 /\ -1+arg1P5 >= 0 /\ -1+arg3 > 0 /\ arg1 > 0), cost: 1+arg1P5 16: f204_0_main_InvokeMethod -> f292_0_isZero_NONNULL : arg5'=arg5P7, arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (1+arg4P7-arg3 <= 0 /\ -1+arg4 > 0 /\ 1+arg4P7 > 0 /\ arg1P7 > 0 /\ arg3P7-arg3 <= 0 /\ arg1 > 0 /\ 2+arg5-arg2 <= 0 /\ arg3P7 > 0 /\ arg2P7 > 0 /\ arg2P7-arg3 <= 0 /\ -arg2+arg1P7 <= 0), cost: 1 27: f204_0_main_InvokeMethod -> f292_0_isZero_NONNULL : arg5'=arg5P9, arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (2+arg4P9-arg3 <= 0 /\ 2-arg3+arg2P9 <= 0 /\ arg4P9 > 0 /\ -1+arg4 > 0 /\ arg1P9 > 0 /\ -2+arg3P9 > 0 /\ arg1 > 0 /\ 2+arg5-arg2 <= 0 /\ 2-arg2+arg1P9 <= 0 /\ arg2P9 > 0 /\ arg3P9-arg3 <= 0), cost: 2 28: f204_0_main_InvokeMethod -> f292_0_isZero_NONNULL : arg5'=arg5P8, arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=2+arg4P8, (-1+n0 >= 0 /\ -1+arg4 > 0 /\ 2+arg4P8-arg3 <= 0 /\ 2-arg2P8+arg4P8 >= 0 /\ -2+arg2P8 > 0 /\ arg1 > 0 /\ 2+arg5-arg2 <= 0 /\ -arg2+arg1P8 <= 0 /\ arg1P8 > 0), cost: 1+n0 29: f204_0_main_InvokeMethod -> [7] : (-1+arg4 > 0 /\ arg1 > 0 /\ 2+arg5-arg2 <= 0 /\ 1-arg2 <= 0 /\ -3+arg3 >= 0), cost: NONTERM 10: __init -> f1_0_main_New : arg5'=arg5P10, arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, TRUE, cost: 1 Removed unreachable locations and irrelevant leafs Start location: __init 11: f1_0_main_New -> f155_0_main_ArrayAccess : arg5'=arg5P0, arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg2, (arg2 > 0 /\ -arg1+arg2P0 <= 0 /\ -2+arg1P0 > 0 /\ arg2P0 > 0), cost: 1 12: f1_0_main_New -> f155_0_main_ArrayAccess : arg5'=arg5P1, arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg2, (arg2 > 0 /\ arg2P1 > 0 /\ arg2P1-arg1 <= 0 /\ -1+arg1P1 > 0 /\ -1+arg1P1-arg1 <= 0), cost: 1 13: f155_0_main_ArrayAccess -> f204_0_main_InvokeMethod : arg5'=arg5P2, arg2'=arg2P2, arg4'=arg3, arg1'=arg1P2, arg3'=arg3P2, (-1+arg3P2 > 0 /\ arg2P2 > 0 /\ -2+arg1-arg5P2 >= 0 /\ -arg2+arg1P2 <= 0 /\ 1+arg1-arg3P2 >= 0 /\ -1-arg2+arg3P2 <= 0 /\ -1+arg3 > 0 /\ -arg2P2+arg1 >= 0 /\ arg1P2 > 0 /\ arg1-arg1P2 >= 0), cost: 1 14: f155_0_main_ArrayAccess -> f204_0_main_InvokeMethod : arg5'=arg5P3, arg2'=arg2P3, arg4'=arg3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg3P3 > 0 /\ arg1P3 > 0 /\ 2-arg1+arg5P3 <= 0 /\ -1+arg3 > 0 /\ arg2P3 > 0 /\ arg1P3-arg1 <= 0 /\ arg2P3-arg1 <= 0 /\ -arg2+arg1P3 <= 0), cost: 1 29: f204_0_main_InvokeMethod -> [7] : (-1+arg4 > 0 /\ arg1 > 0 /\ 2+arg5-arg2 <= 0 /\ 1-arg2 <= 0 /\ -3+arg3 >= 0), cost: NONTERM 10: __init -> f1_0_main_New : arg5'=arg5P10, arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, TRUE, cost: 1 Eliminating location f1_0_main_New by chaining: Applied chaining First rule: __init -> f1_0_main_New : arg5'=arg5P10, arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, TRUE, cost: 1 Second rule: f1_0_main_New -> f155_0_main_ArrayAccess : arg5'=arg5P0, arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg2, (arg2 > 0 /\ -arg1+arg2P0 <= 0 /\ -2+arg1P0 > 0 /\ arg2P0 > 0), cost: 1 New rule: __init -> f155_0_main_ArrayAccess : arg5'=arg5P0, arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg2P10, (-arg1P10+arg2P0 <= 0 /\ arg2P10 > 0 /\ -2+arg1P0 > 0 /\ arg2P0 > 0), cost: 2 Applied chaining First rule: __init -> f1_0_main_New : arg5'=arg5P10, arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, TRUE, cost: 1 Second rule: f1_0_main_New -> f155_0_main_ArrayAccess : arg5'=arg5P1, arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg2, (arg2 > 0 /\ arg2P1 > 0 /\ arg2P1-arg1 <= 0 /\ -1+arg1P1 > 0 /\ -1+arg1P1-arg1 <= 0), cost: 1 New rule: __init -> f155_0_main_ArrayAccess : arg5'=arg5P1, arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg2P10, (-1-arg1P10+arg1P1 <= 0 /\ arg2P10 > 0 /\ arg2P1 > 0 /\ -arg1P10+arg2P1 <= 0 /\ -1+arg1P1 > 0), cost: 2 Applied deletion Removed the following rules: 10 11 12 Eliminating location f204_0_main_InvokeMethod by chaining: Applied chaining First rule: f155_0_main_ArrayAccess -> f204_0_main_InvokeMethod : arg5'=arg5P2, arg2'=arg2P2, arg4'=arg3, arg1'=arg1P2, arg3'=arg3P2, (-1+arg3P2 > 0 /\ arg2P2 > 0 /\ -2+arg1-arg5P2 >= 0 /\ -arg2+arg1P2 <= 0 /\ 1+arg1-arg3P2 >= 0 /\ -1-arg2+arg3P2 <= 0 /\ -1+arg3 > 0 /\ -arg2P2+arg1 >= 0 /\ arg1P2 > 0 /\ arg1-arg1P2 >= 0), cost: 1 Second rule: f204_0_main_InvokeMethod -> [7] : (-1+arg4 > 0 /\ arg1 > 0 /\ 2+arg5-arg2 <= 0 /\ 1-arg2 <= 0 /\ -3+arg3 >= 0), cost: NONTERM New rule: f155_0_main_ArrayAccess -> [7] : (-1+arg3P2 > 0 /\ arg2P2 > 0 /\ -2+arg1-arg5P2 >= 0 /\ -arg2+arg1P2 <= 0 /\ 1+arg1-arg3P2 >= 0 /\ -1-arg2+arg3P2 <= 0 /\ 2-arg2P2+arg5P2 <= 0 /\ -1+arg3 > 0 /\ -arg2P2+arg1 >= 0 /\ arg1P2 > 0 /\ -3+arg3P2 >= 0 /\ 1-arg2P2 <= 0 /\ arg1-arg1P2 >= 0), cost: NONTERM Applied simplification Original rule: f155_0_main_ArrayAccess -> [7] : (-1+arg3P2 > 0 /\ arg2P2 > 0 /\ -2+arg1-arg5P2 >= 0 /\ -arg2+arg1P2 <= 0 /\ 1+arg1-arg3P2 >= 0 /\ -1-arg2+arg3P2 <= 0 /\ 2-arg2P2+arg5P2 <= 0 /\ -1+arg3 > 0 /\ -arg2P2+arg1 >= 0 /\ arg1P2 > 0 /\ -3+arg3P2 >= 0 /\ 1-arg2P2 <= 0 /\ arg1-arg1P2 >= 0), cost: NONTERM New rule: f155_0_main_ArrayAccess -> [7] : (-arg2+arg1P2 <= 0 /\ 1+arg1-arg3P2 >= 0 /\ -1-arg2+arg3P2 <= 0 /\ 2-arg2P2+arg5P2 <= 0 /\ -1+arg3 > 0 /\ -arg2P2+arg1 >= 0 /\ arg1P2 > 0 /\ -3+arg3P2 >= 0 /\ 1-arg2P2 <= 0 /\ arg1-arg1P2 >= 0), cost: NONTERM Applied chaining First rule: f155_0_main_ArrayAccess -> f204_0_main_InvokeMethod : arg5'=arg5P3, arg2'=arg2P3, arg4'=arg3, arg1'=arg1P3, arg3'=arg3P3, (-2+arg3P3 > 0 /\ arg1P3 > 0 /\ 2-arg1+arg5P3 <= 0 /\ -1+arg3 > 0 /\ arg2P3 > 0 /\ arg1P3-arg1 <= 0 /\ arg2P3-arg1 <= 0 /\ -arg2+arg1P3 <= 0), cost: 1 Second rule: f204_0_main_InvokeMethod -> [7] : (-1+arg4 > 0 /\ arg1 > 0 /\ 2+arg5-arg2 <= 0 /\ 1-arg2 <= 0 /\ -3+arg3 >= 0), cost: NONTERM New rule: f155_0_main_ArrayAccess -> [7] : (-3+arg3P3 >= 0 /\ -2+arg3P3 > 0 /\ arg1P3 > 0 /\ 2-arg1+arg5P3 <= 0 /\ 2-arg2P3+arg5P3 <= 0 /\ -1+arg3 > 0 /\ arg2P3 > 0 /\ arg1P3-arg1 <= 0 /\ arg2P3-arg1 <= 0 /\ 1-arg2P3 <= 0 /\ -arg2+arg1P3 <= 0), cost: NONTERM Applied simplification Original rule: f155_0_main_ArrayAccess -> [7] : (-3+arg3P3 >= 0 /\ -2+arg3P3 > 0 /\ arg1P3 > 0 /\ 2-arg1+arg5P3 <= 0 /\ 2-arg2P3+arg5P3 <= 0 /\ -1+arg3 > 0 /\ arg2P3 > 0 /\ arg1P3-arg1 <= 0 /\ arg2P3-arg1 <= 0 /\ 1-arg2P3 <= 0 /\ -arg2+arg1P3 <= 0), cost: NONTERM New rule: f155_0_main_ArrayAccess -> [7] : (-2+arg3P3 > 0 /\ arg1P3 > 0 /\ 2-arg2P3+arg5P3 <= 0 /\ -1+arg3 > 0 /\ arg1P3-arg1 <= 0 /\ arg2P3-arg1 <= 0 /\ 1-arg2P3 <= 0 /\ -arg2+arg1P3 <= 0), cost: NONTERM Applied deletion Removed the following rules: 13 14 29 Eliminated locations on tree-shaped paths Start location: __init 32: f155_0_main_ArrayAccess -> [7] : (-arg2+arg1P2 <= 0 /\ 1+arg1-arg3P2 >= 0 /\ -1-arg2+arg3P2 <= 0 /\ 2-arg2P2+arg5P2 <= 0 /\ -1+arg3 > 0 /\ -arg2P2+arg1 >= 0 /\ arg1P2 > 0 /\ -3+arg3P2 >= 0 /\ 1-arg2P2 <= 0 /\ arg1-arg1P2 >= 0), cost: NONTERM 33: f155_0_main_ArrayAccess -> [7] : (-2+arg3P3 > 0 /\ arg1P3 > 0 /\ 2-arg2P3+arg5P3 <= 0 /\ -1+arg3 > 0 /\ arg1P3-arg1 <= 0 /\ arg2P3-arg1 <= 0 /\ 1-arg2P3 <= 0 /\ -arg2+arg1P3 <= 0), cost: NONTERM 30: __init -> f155_0_main_ArrayAccess : arg5'=arg5P0, arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg2P10, (-arg1P10+arg2P0 <= 0 /\ arg2P10 > 0 /\ -2+arg1P0 > 0 /\ arg2P0 > 0), cost: 2 31: __init -> f155_0_main_ArrayAccess : arg5'=arg5P1, arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg2P10, (-1-arg1P10+arg1P1 <= 0 /\ arg2P10 > 0 /\ arg2P1 > 0 /\ -arg1P10+arg2P1 <= 0 /\ -1+arg1P1 > 0), cost: 2 Eliminating location f155_0_main_ArrayAccess by chaining: Applied chaining First rule: __init -> f155_0_main_ArrayAccess : arg5'=arg5P0, arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg2P10, (-arg1P10+arg2P0 <= 0 /\ arg2P10 > 0 /\ -2+arg1P0 > 0 /\ arg2P0 > 0), cost: 2 Second rule: f155_0_main_ArrayAccess -> [7] : (-arg2+arg1P2 <= 0 /\ 1+arg1-arg3P2 >= 0 /\ -1-arg2+arg3P2 <= 0 /\ 2-arg2P2+arg5P2 <= 0 /\ -1+arg3 > 0 /\ -arg2P2+arg1 >= 0 /\ arg1P2 > 0 /\ -3+arg3P2 >= 0 /\ 1-arg2P2 <= 0 /\ arg1-arg1P2 >= 0), cost: NONTERM New rule: __init -> [7] : (-1+arg2P10 > 0 /\ -arg1P10+arg2P0 <= 0 /\ -arg2P2+arg1P0 >= 0 /\ arg1P0-arg1P2 >= 0 /\ 2-arg2P2+arg5P2 <= 0 /\ arg2P10 > 0 /\ arg1P2 > 0 /\ arg1P2-arg2P0 <= 0 /\ -2+arg1P0 > 0 /\ arg2P0 > 0 /\ -3+arg3P2 >= 0 /\ 1-arg2P2 <= 0 /\ -1-arg2P0+arg3P2 <= 0 /\ 1+arg1P0-arg3P2 >= 0), cost: NONTERM Applied simplification Original rule: __init -> [7] : (-1+arg2P10 > 0 /\ -arg1P10+arg2P0 <= 0 /\ -arg2P2+arg1P0 >= 0 /\ arg1P0-arg1P2 >= 0 /\ 2-arg2P2+arg5P2 <= 0 /\ arg2P10 > 0 /\ arg1P2 > 0 /\ arg1P2-arg2P0 <= 0 /\ -2+arg1P0 > 0 /\ arg2P0 > 0 /\ -3+arg3P2 >= 0 /\ 1-arg2P2 <= 0 /\ -1-arg2P0+arg3P2 <= 0 /\ 1+arg1P0-arg3P2 >= 0), cost: NONTERM New rule: __init -> [7] : (-1+arg2P10 > 0 /\ -arg1P10+arg2P0 <= 0 /\ -arg2P2+arg1P0 >= 0 /\ arg1P0-arg1P2 >= 0 /\ 2-arg2P2+arg5P2 <= 0 /\ arg1P2 > 0 /\ arg1P2-arg2P0 <= 0 /\ -2+arg1P0 > 0 /\ -3+arg3P2 >= 0 /\ 1-arg2P2 <= 0 /\ -1-arg2P0+arg3P2 <= 0 /\ 1+arg1P0-arg3P2 >= 0), cost: NONTERM Applied chaining First rule: __init -> f155_0_main_ArrayAccess : arg5'=arg5P0, arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg2P10, (-arg1P10+arg2P0 <= 0 /\ arg2P10 > 0 /\ -2+arg1P0 > 0 /\ arg2P0 > 0), cost: 2 Second rule: f155_0_main_ArrayAccess -> [7] : (-2+arg3P3 > 0 /\ arg1P3 > 0 /\ 2-arg2P3+arg5P3 <= 0 /\ -1+arg3 > 0 /\ arg1P3-arg1 <= 0 /\ arg2P3-arg1 <= 0 /\ 1-arg2P3 <= 0 /\ -arg2+arg1P3 <= 0), cost: NONTERM New rule: __init -> [7] : (-1+arg2P10 > 0 /\ arg1P3-arg2P0 <= 0 /\ -arg1P10+arg2P0 <= 0 /\ -2+arg3P3 > 0 /\ -arg1P0+arg2P3 <= 0 /\ arg1P3 > 0 /\ 2-arg2P3+arg5P3 <= 0 /\ arg1P3-arg1P0 <= 0 /\ arg2P10 > 0 /\ -2+arg1P0 > 0 /\ arg2P0 > 0 /\ 1-arg2P3 <= 0), cost: NONTERM Applied simplification Original rule: __init -> [7] : (-1+arg2P10 > 0 /\ arg1P3-arg2P0 <= 0 /\ -arg1P10+arg2P0 <= 0 /\ -2+arg3P3 > 0 /\ -arg1P0+arg2P3 <= 0 /\ arg1P3 > 0 /\ 2-arg2P3+arg5P3 <= 0 /\ arg1P3-arg1P0 <= 0 /\ arg2P10 > 0 /\ -2+arg1P0 > 0 /\ arg2P0 > 0 /\ 1-arg2P3 <= 0), cost: NONTERM New rule: __init -> [7] : (-1+arg2P10 > 0 /\ arg1P3-arg2P0 <= 0 /\ -arg1P10+arg2P0 <= 0 /\ -2+arg3P3 > 0 /\ -arg1P0+arg2P3 <= 0 /\ arg1P3 > 0 /\ 2-arg2P3+arg5P3 <= 0 /\ arg1P3-arg1P0 <= 0 /\ -2+arg1P0 > 0 /\ 1-arg2P3 <= 0), cost: NONTERM Applied chaining First rule: __init -> f155_0_main_ArrayAccess : arg5'=arg5P1, arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg2P10, (-1-arg1P10+arg1P1 <= 0 /\ arg2P10 > 0 /\ arg2P1 > 0 /\ -arg1P10+arg2P1 <= 0 /\ -1+arg1P1 > 0), cost: 2 Second rule: f155_0_main_ArrayAccess -> [7] : (-arg2+arg1P2 <= 0 /\ 1+arg1-arg3P2 >= 0 /\ -1-arg2+arg3P2 <= 0 /\ 2-arg2P2+arg5P2 <= 0 /\ -1+arg3 > 0 /\ -arg2P2+arg1 >= 0 /\ arg1P2 > 0 /\ -3+arg3P2 >= 0 /\ 1-arg2P2 <= 0 /\ arg1-arg1P2 >= 0), cost: NONTERM New rule: __init -> [7] : (-1-arg1P10+arg1P1 <= 0 /\ -1+arg2P10 > 0 /\ arg1P1-arg1P2 >= 0 /\ 2-arg2P2+arg5P2 <= 0 /\ arg2P10 > 0 /\ arg2P1 > 0 /\ -arg2P1+arg1P2 <= 0 /\ -arg1P10+arg2P1 <= 0 /\ arg1P2 > 0 /\ -1+arg1P1 > 0 /\ -arg2P2+arg1P1 >= 0 /\ -3+arg3P2 >= 0 /\ 1-arg2P2 <= 0 /\ 1+arg1P1-arg3P2 >= 0 /\ -1-arg2P1+arg3P2 <= 0), cost: NONTERM Applied simplification Original rule: __init -> [7] : (-1-arg1P10+arg1P1 <= 0 /\ -1+arg2P10 > 0 /\ arg1P1-arg1P2 >= 0 /\ 2-arg2P2+arg5P2 <= 0 /\ arg2P10 > 0 /\ arg2P1 > 0 /\ -arg2P1+arg1P2 <= 0 /\ -arg1P10+arg2P1 <= 0 /\ arg1P2 > 0 /\ -1+arg1P1 > 0 /\ -arg2P2+arg1P1 >= 0 /\ -3+arg3P2 >= 0 /\ 1-arg2P2 <= 0 /\ 1+arg1P1-arg3P2 >= 0 /\ -1-arg2P1+arg3P2 <= 0), cost: NONTERM New rule: __init -> [7] : (-1-arg1P10+arg1P1 <= 0 /\ -1+arg2P10 > 0 /\ arg1P1-arg1P2 >= 0 /\ 2-arg2P2+arg5P2 <= 0 /\ -arg2P1+arg1P2 <= 0 /\ -arg1P10+arg2P1 <= 0 /\ arg1P2 > 0 /\ -arg2P2+arg1P1 >= 0 /\ -3+arg3P2 >= 0 /\ 1-arg2P2 <= 0 /\ 1+arg1P1-arg3P2 >= 0 /\ -1-arg2P1+arg3P2 <= 0), cost: NONTERM Applied chaining First rule: __init -> f155_0_main_ArrayAccess : arg5'=arg5P1, arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg2P10, (-1-arg1P10+arg1P1 <= 0 /\ arg2P10 > 0 /\ arg2P1 > 0 /\ -arg1P10+arg2P1 <= 0 /\ -1+arg1P1 > 0), cost: 2 Second rule: f155_0_main_ArrayAccess -> [7] : (-2+arg3P3 > 0 /\ arg1P3 > 0 /\ 2-arg2P3+arg5P3 <= 0 /\ -1+arg3 > 0 /\ arg1P3-arg1 <= 0 /\ arg2P3-arg1 <= 0 /\ 1-arg2P3 <= 0 /\ -arg2+arg1P3 <= 0), cost: NONTERM New rule: __init -> [7] : (-1-arg1P10+arg1P1 <= 0 /\ -1+arg2P10 > 0 /\ -2+arg3P3 > 0 /\ arg1P3 > 0 /\ 2-arg2P3+arg5P3 <= 0 /\ -arg1P1+arg2P3 <= 0 /\ arg2P10 > 0 /\ arg2P1 > 0 /\ -arg1P10+arg2P1 <= 0 /\ arg1P3-arg2P1 <= 0 /\ -1+arg1P1 > 0 /\ -arg1P1+arg1P3 <= 0 /\ 1-arg2P3 <= 0), cost: NONTERM Applied simplification Original rule: __init -> [7] : (-1-arg1P10+arg1P1 <= 0 /\ -1+arg2P10 > 0 /\ -2+arg3P3 > 0 /\ arg1P3 > 0 /\ 2-arg2P3+arg5P3 <= 0 /\ -arg1P1+arg2P3 <= 0 /\ arg2P10 > 0 /\ arg2P1 > 0 /\ -arg1P10+arg2P1 <= 0 /\ arg1P3-arg2P1 <= 0 /\ -1+arg1P1 > 0 /\ -arg1P1+arg1P3 <= 0 /\ 1-arg2P3 <= 0), cost: NONTERM New rule: __init -> [7] : (-1-arg1P10+arg1P1 <= 0 /\ -1+arg2P10 > 0 /\ -2+arg3P3 > 0 /\ arg1P3 > 0 /\ 2-arg2P3+arg5P3 <= 0 /\ -arg1P1+arg2P3 <= 0 /\ -arg1P10+arg2P1 <= 0 /\ arg1P3-arg2P1 <= 0 /\ -1+arg1P1 > 0 /\ -arg1P1+arg1P3 <= 0 /\ 1-arg2P3 <= 0), cost: NONTERM Applied deletion Removed the following rules: 30 31 32 33 Eliminated locations on tree-shaped paths Start location: __init 34: __init -> [7] : (-1+arg2P10 > 0 /\ -arg1P10+arg2P0 <= 0 /\ -arg2P2+arg1P0 >= 0 /\ arg1P0-arg1P2 >= 0 /\ 2-arg2P2+arg5P2 <= 0 /\ arg1P2 > 0 /\ arg1P2-arg2P0 <= 0 /\ -2+arg1P0 > 0 /\ -3+arg3P2 >= 0 /\ 1-arg2P2 <= 0 /\ -1-arg2P0+arg3P2 <= 0 /\ 1+arg1P0-arg3P2 >= 0), cost: NONTERM 35: __init -> [7] : (-1+arg2P10 > 0 /\ arg1P3-arg2P0 <= 0 /\ -arg1P10+arg2P0 <= 0 /\ -2+arg3P3 > 0 /\ -arg1P0+arg2P3 <= 0 /\ arg1P3 > 0 /\ 2-arg2P3+arg5P3 <= 0 /\ arg1P3-arg1P0 <= 0 /\ -2+arg1P0 > 0 /\ 1-arg2P3 <= 0), cost: NONTERM 36: __init -> [7] : (-1-arg1P10+arg1P1 <= 0 /\ -1+arg2P10 > 0 /\ arg1P1-arg1P2 >= 0 /\ 2-arg2P2+arg5P2 <= 0 /\ -arg2P1+arg1P2 <= 0 /\ -arg1P10+arg2P1 <= 0 /\ arg1P2 > 0 /\ -arg2P2+arg1P1 >= 0 /\ -3+arg3P2 >= 0 /\ 1-arg2P2 <= 0 /\ 1+arg1P1-arg3P2 >= 0 /\ -1-arg2P1+arg3P2 <= 0), cost: NONTERM 37: __init -> [7] : (-1-arg1P10+arg1P1 <= 0 /\ -1+arg2P10 > 0 /\ -2+arg3P3 > 0 /\ arg1P3 > 0 /\ 2-arg2P3+arg5P3 <= 0 /\ -arg1P1+arg2P3 <= 0 /\ -arg1P10+arg2P1 <= 0 /\ arg1P3-arg2P1 <= 0 /\ -1+arg1P1 > 0 /\ -arg1P1+arg1P3 <= 0 /\ 1-arg2P3 <= 0), cost: NONTERM Computing asymptotic complexity Proved nontermination of rule 34 via SMT. Proved the following lower bound Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: (-1+arg2P10 > 0 /\ -arg1P10+arg2P0 <= 0 /\ -arg2P2+arg1P0 >= 0 /\ arg1P0-arg1P2 >= 0 /\ 2-arg2P2+arg5P2 <= 0 /\ arg1P2 > 0 /\ arg1P2-arg2P0 <= 0 /\ -2+arg1P0 > 0 /\ -3+arg3P2 >= 0 /\ 1-arg2P2 <= 0 /\ -1-arg2P0+arg3P2 <= 0 /\ 1+arg1P0-arg3P2 >= 0)