WORST_CASE(Omega(0),?) Initial ITS Start location: __init 0: f1_0_main_ConstantStackPush -> f162_0_mk_LE : arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg3P0, (arg2-arg4P0 == 0 /\ 1+arg2 > 0 /\ arg1 > 0 /\ -1+arg2-arg2P0 == 0 /\ arg1P0 > 0 /\ -arg1+arg1P0 <= 0 /\ arg2-arg3P0 == 0), cost: 1 1: f162_0_mk_LE -> f162_0_mk_LE : arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg3P1, (-1+arg2-arg2P1 == 0 /\ -arg3P1+arg2 == 0 /\ -arg1+arg1P1 <= 0 /\ arg1 > 0 /\ arg4-arg4P1 == 0 /\ arg3 > 0 /\ arg1P1 > 0), cost: 1 2: f162_0_mk_LE -> f276_0_mk_LE : arg2'=arg2P2, arg4'=arg4P2, arg1'=arg1P2, arg3'=arg3P2, (arg1P2 > 0 /\ -arg4P2+arg4 == 0 /\ -1+arg3 < 0 /\ -arg3P2+arg4 == 0 /\ -arg1P2+arg1 >= 0 /\ arg1 > 0 /\ -1+arg4-arg2P2 == 0 /\ 1+arg4 > 0), cost: 1 3: f276_0_mk_LE -> f276_0_mk_LE : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (arg1P3 > 0 /\ arg2-arg3P3 == 0 /\ arg1P3-arg1 <= 0 /\ -1+arg2-arg2P3 == 0 /\ arg1 > 0 /\ -arg4P3+arg4 == 0 /\ arg3 > 0), cost: 1 4: f276_0_mk_LE -> f401_0_mk_LE : arg2'=arg2P4, arg4'=arg4P4, arg1'=arg1P4, arg3'=arg3P4, (-1+arg4-arg1P4 == 0 /\ -arg2P4+arg4 == 0 /\ -1+arg3 < 0 /\ arg1 > 0 /\ 1+arg4 > 0), cost: 1 5: f401_0_mk_LE -> f576_0_test_LT : arg2'=arg2P5, arg4'=arg4P5, arg1'=arg1P5, arg3'=arg3P5, (-1+arg2 < 0 /\ 2-arg1P5 == 0), cost: 1 6: f401_0_mk_LE -> f401_0_mk_LE : arg2'=arg2P6, arg4'=arg4P6, arg1'=arg1P6, arg3'=arg3P6, (arg2 > 0 /\ -1+arg1-arg1P6 == 0 /\ -arg2P6+arg1 == 0), cost: 1 7: f576_0_test_LT -> f470_0_length_NONNULL : arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (1+arg1 > 0 /\ -3+arg1 < 0 /\ 1+arg1P7 > 0), cost: 1 8: f576_0_test_LT -> f576_0_test_LT : arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-1-arg1P8+arg1 == 0 /\ 1+arg1 > 0 /\ -3+arg1 < 0), cost: 1 9: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (1+arg1P9 > 0 /\ arg1 > 0 /\ 1-arg1+arg1P9 <= 0), cost: 1 10: __init -> f1_0_main_ConstantStackPush : arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, TRUE, cost: 1 Applied preprocessing Original rule: f1_0_main_ConstantStackPush -> f162_0_mk_LE : arg2'=arg2P0, arg4'=arg4P0, arg1'=arg1P0, arg3'=arg3P0, (arg2-arg4P0 == 0 /\ 1+arg2 > 0 /\ arg1 > 0 /\ -1+arg2-arg2P0 == 0 /\ arg1P0 > 0 /\ -arg1+arg1P0 <= 0 /\ arg2-arg3P0 == 0), cost: 1 New rule: f1_0_main_ConstantStackPush -> f162_0_mk_LE : arg2'=-1+arg2, arg4'=arg2, arg1'=arg1P0, arg3'=arg2, (1+arg2 > 0 /\ arg1P0 > 0 /\ -arg1+arg1P0 <= 0), cost: 1 Applied preprocessing Original rule: f162_0_mk_LE -> f162_0_mk_LE : arg2'=arg2P1, arg4'=arg4P1, arg1'=arg1P1, arg3'=arg3P1, (-1+arg2-arg2P1 == 0 /\ -arg3P1+arg2 == 0 /\ -arg1+arg1P1 <= 0 /\ arg1 > 0 /\ arg4-arg4P1 == 0 /\ arg3 > 0 /\ arg1P1 > 0), cost: 1 New rule: f162_0_mk_LE -> f162_0_mk_LE : arg2'=-1+arg2, arg1'=arg1P1, arg3'=arg2, (-arg1+arg1P1 <= 0 /\ arg3 > 0 /\ arg1P1 > 0), cost: 1 Applied preprocessing Original rule: f162_0_mk_LE -> f276_0_mk_LE : arg2'=arg2P2, arg4'=arg4P2, arg1'=arg1P2, arg3'=arg3P2, (arg1P2 > 0 /\ -arg4P2+arg4 == 0 /\ -1+arg3 < 0 /\ -arg3P2+arg4 == 0 /\ -arg1P2+arg1 >= 0 /\ arg1 > 0 /\ -1+arg4-arg2P2 == 0 /\ 1+arg4 > 0), cost: 1 New rule: f162_0_mk_LE -> f276_0_mk_LE : arg2'=-1+arg4, arg1'=arg1P2, arg3'=arg4, (arg1P2 > 0 /\ 1-arg3 > 0 /\ -arg1P2+arg1 >= 0 /\ 1+arg4 > 0), cost: 1 Applied preprocessing Original rule: f276_0_mk_LE -> f276_0_mk_LE : arg2'=arg2P3, arg4'=arg4P3, arg1'=arg1P3, arg3'=arg3P3, (arg1P3 > 0 /\ arg2-arg3P3 == 0 /\ arg1P3-arg1 <= 0 /\ -1+arg2-arg2P3 == 0 /\ arg1 > 0 /\ -arg4P3+arg4 == 0 /\ arg3 > 0), cost: 1 New rule: f276_0_mk_LE -> f276_0_mk_LE : arg2'=-1+arg2, arg1'=arg1P3, arg3'=arg2, (arg1P3 > 0 /\ arg1P3-arg1 <= 0 /\ arg3 > 0), cost: 1 Applied preprocessing Original rule: f276_0_mk_LE -> f401_0_mk_LE : arg2'=arg2P4, arg4'=arg4P4, arg1'=arg1P4, arg3'=arg3P4, (-1+arg4-arg1P4 == 0 /\ -arg2P4+arg4 == 0 /\ -1+arg3 < 0 /\ arg1 > 0 /\ 1+arg4 > 0), cost: 1 New rule: f276_0_mk_LE -> f401_0_mk_LE : arg2'=arg4, arg4'=arg4P4, arg1'=-1+arg4, arg3'=arg3P4, (1-arg3 > 0 /\ arg1 > 0 /\ 1+arg4 > 0), cost: 1 Applied preprocessing Original rule: f401_0_mk_LE -> f576_0_test_LT : arg2'=arg2P5, arg4'=arg4P5, arg1'=arg1P5, arg3'=arg3P5, (-1+arg2 < 0 /\ 2-arg1P5 == 0), cost: 1 New rule: f401_0_mk_LE -> f576_0_test_LT : arg2'=arg2P5, arg4'=arg4P5, arg1'=2, arg3'=arg3P5, 1-arg2 > 0, cost: 1 Applied preprocessing Original rule: f401_0_mk_LE -> f401_0_mk_LE : arg2'=arg2P6, arg4'=arg4P6, arg1'=arg1P6, arg3'=arg3P6, (arg2 > 0 /\ -1+arg1-arg1P6 == 0 /\ -arg2P6+arg1 == 0), cost: 1 New rule: f401_0_mk_LE -> f401_0_mk_LE : arg2'=arg1, arg4'=arg4P6, arg1'=-1+arg1, arg3'=arg3P6, arg2 > 0, cost: 1 Applied preprocessing Original rule: f576_0_test_LT -> f470_0_length_NONNULL : arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (1+arg1 > 0 /\ -3+arg1 < 0 /\ 1+arg1P7 > 0), cost: 1 New rule: f576_0_test_LT -> f470_0_length_NONNULL : arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (1+arg1 > 0 /\ 1+arg1P7 > 0 /\ 3-arg1 > 0), cost: 1 Applied preprocessing Original rule: f576_0_test_LT -> f576_0_test_LT : arg2'=arg2P8, arg4'=arg4P8, arg1'=arg1P8, arg3'=arg3P8, (-1-arg1P8+arg1 == 0 /\ 1+arg1 > 0 /\ -3+arg1 < 0), cost: 1 New rule: f576_0_test_LT -> f576_0_test_LT : arg2'=arg2P8, arg4'=arg4P8, arg1'=-1+arg1, arg3'=arg3P8, (1+arg1 > 0 /\ 3-arg1 > 0), cost: 1 Applied preprocessing Original rule: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (1+arg1P9 > 0 /\ arg1 > 0 /\ 1-arg1+arg1P9 <= 0), cost: 1 New rule: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (1+arg1P9 > 0 /\ 1-arg1+arg1P9 <= 0), cost: 1 Simplified rules Start location: __init 11: f1_0_main_ConstantStackPush -> f162_0_mk_LE : arg2'=-1+arg2, arg4'=arg2, arg1'=arg1P0, arg3'=arg2, (1+arg2 > 0 /\ arg1P0 > 0 /\ -arg1+arg1P0 <= 0), cost: 1 12: f162_0_mk_LE -> f162_0_mk_LE : arg2'=-1+arg2, arg1'=arg1P1, arg3'=arg2, (-arg1+arg1P1 <= 0 /\ arg3 > 0 /\ arg1P1 > 0), cost: 1 13: f162_0_mk_LE -> f276_0_mk_LE : arg2'=-1+arg4, arg1'=arg1P2, arg3'=arg4, (arg1P2 > 0 /\ 1-arg3 > 0 /\ -arg1P2+arg1 >= 0 /\ 1+arg4 > 0), cost: 1 14: f276_0_mk_LE -> f276_0_mk_LE : arg2'=-1+arg2, arg1'=arg1P3, arg3'=arg2, (arg1P3 > 0 /\ arg1P3-arg1 <= 0 /\ arg3 > 0), cost: 1 15: f276_0_mk_LE -> f401_0_mk_LE : arg2'=arg4, arg4'=arg4P4, arg1'=-1+arg4, arg3'=arg3P4, (1-arg3 > 0 /\ arg1 > 0 /\ 1+arg4 > 0), cost: 1 16: f401_0_mk_LE -> f576_0_test_LT : arg2'=arg2P5, arg4'=arg4P5, arg1'=2, arg3'=arg3P5, 1-arg2 > 0, cost: 1 17: f401_0_mk_LE -> f401_0_mk_LE : arg2'=arg1, arg4'=arg4P6, arg1'=-1+arg1, arg3'=arg3P6, arg2 > 0, cost: 1 18: f576_0_test_LT -> f470_0_length_NONNULL : arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (1+arg1 > 0 /\ 1+arg1P7 > 0 /\ 3-arg1 > 0), cost: 1 19: f576_0_test_LT -> f576_0_test_LT : arg2'=arg2P8, arg4'=arg4P8, arg1'=-1+arg1, arg3'=arg3P8, (1+arg1 > 0 /\ 3-arg1 > 0), cost: 1 20: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (1+arg1P9 > 0 /\ 1-arg1+arg1P9 <= 0), cost: 1 10: __init -> f1_0_main_ConstantStackPush : arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, TRUE, cost: 1 Applied acceleration Original rule: f162_0_mk_LE -> f162_0_mk_LE : arg2'=-1+arg2, arg1'=arg1P1, arg3'=arg2, (-arg1+arg1P1 <= 0 /\ arg3 > 0 /\ arg1P1 > 0), cost: 1 New rule: f162_0_mk_LE -> f162_0_mk_LE : arg2'=-n+arg2, arg1'=arg1P1, arg3'=1-n+arg2, (arg1-arg1P1 >= 0 /\ 2-n+arg2 > 0 /\ arg3 > 0 /\ -1+n >= 0 /\ arg1P1 > 0), cost: n Sub-proof via acceration calculus written to file:///tmp/tmpnam_fmmanG.txt Applied instantiation Original rule: f162_0_mk_LE -> f162_0_mk_LE : arg2'=-n+arg2, arg1'=arg1P1, arg3'=1-n+arg2, (arg1-arg1P1 >= 0 /\ 2-n+arg2 > 0 /\ arg3 > 0 /\ -1+n >= 0 /\ arg1P1 > 0), cost: n New rule: f162_0_mk_LE -> f162_0_mk_LE : arg2'=-1, arg1'=arg1P1, arg3'=0, (arg1-arg1P1 >= 0 /\ 1 > 0 /\ arg2 >= 0 /\ arg3 > 0 /\ arg1P1 > 0), cost: 1+arg2 Applied simplification Original rule: f162_0_mk_LE -> f162_0_mk_LE : arg2'=-1, arg1'=arg1P1, arg3'=0, (arg1-arg1P1 >= 0 /\ 1 > 0 /\ arg2 >= 0 /\ arg3 > 0 /\ arg1P1 > 0), cost: 1+arg2 New rule: f162_0_mk_LE -> f162_0_mk_LE : arg2'=-1, arg1'=arg1P1, arg3'=0, (arg1-arg1P1 >= 0 /\ arg2 >= 0 /\ arg3 > 0 /\ arg1P1 > 0), cost: 1+arg2 Applied deletion Removed the following rules: 12 Applied acceleration Original rule: f276_0_mk_LE -> f276_0_mk_LE : arg2'=-1+arg2, arg1'=arg1P3, arg3'=arg2, (arg1P3 > 0 /\ arg1P3-arg1 <= 0 /\ arg3 > 0), cost: 1 New rule: f276_0_mk_LE -> f276_0_mk_LE : arg2'=arg2-n0, arg1'=arg1P3, arg3'=1+arg2-n0, (-1+n0 >= 0 /\ -arg1P3+arg1 >= 0 /\ arg1P3 > 0 /\ 2+arg2-n0 > 0 /\ arg3 > 0), cost: n0 Sub-proof via acceration calculus written to file:///tmp/tmpnam_fLdHMN.txt Applied instantiation Original rule: f276_0_mk_LE -> f276_0_mk_LE : arg2'=arg2-n0, arg1'=arg1P3, arg3'=1+arg2-n0, (-1+n0 >= 0 /\ -arg1P3+arg1 >= 0 /\ arg1P3 > 0 /\ 2+arg2-n0 > 0 /\ arg3 > 0), cost: n0 New rule: f276_0_mk_LE -> f276_0_mk_LE : arg2'=-1, arg1'=arg1P3, arg3'=0, (-arg1P3+arg1 >= 0 /\ 1 > 0 /\ arg2 >= 0 /\ arg1P3 > 0 /\ arg3 > 0), cost: 1+arg2 Applied simplification Original rule: f276_0_mk_LE -> f276_0_mk_LE : arg2'=-1, arg1'=arg1P3, arg3'=0, (-arg1P3+arg1 >= 0 /\ 1 > 0 /\ arg2 >= 0 /\ arg1P3 > 0 /\ arg3 > 0), cost: 1+arg2 New rule: f276_0_mk_LE -> f276_0_mk_LE : arg2'=-1, arg1'=arg1P3, arg3'=0, (-arg1P3+arg1 >= 0 /\ arg2 >= 0 /\ arg1P3 > 0 /\ arg3 > 0), cost: 1+arg2 Applied deletion Removed the following rules: 14 Applied acceleration Original rule: f401_0_mk_LE -> f401_0_mk_LE : arg2'=arg1, arg4'=arg4P6, arg1'=-1+arg1, arg3'=arg3P6, arg2 > 0, cost: 1 New rule: f401_0_mk_LE -> f401_0_mk_LE : arg2'=1-n1+arg1, arg4'=arg4P6, arg1'=-n1+arg1, arg3'=arg3P6, (arg2 > 0 /\ 2-n1+arg1 > 0 /\ -1+n1 >= 0), cost: n1 Sub-proof via acceration calculus written to file:///tmp/tmpnam_CHpGpF.txt Applied instantiation Original rule: f401_0_mk_LE -> f401_0_mk_LE : arg2'=1-n1+arg1, arg4'=arg4P6, arg1'=-n1+arg1, arg3'=arg3P6, (arg2 > 0 /\ 2-n1+arg1 > 0 /\ -1+n1 >= 0), cost: n1 New rule: f401_0_mk_LE -> f401_0_mk_LE : arg2'=0, arg4'=arg4P6, arg1'=-1, arg3'=arg3P6, (1 > 0 /\ arg2 > 0 /\ arg1 >= 0), cost: 1+arg1 Applied simplification Original rule: f401_0_mk_LE -> f401_0_mk_LE : arg2'=0, arg4'=arg4P6, arg1'=-1, arg3'=arg3P6, (1 > 0 /\ arg2 > 0 /\ arg1 >= 0), cost: 1+arg1 New rule: f401_0_mk_LE -> f401_0_mk_LE : arg2'=0, arg4'=arg4P6, arg1'=-1, arg3'=arg3P6, (arg2 > 0 /\ arg1 >= 0), cost: 1+arg1 Applied deletion Removed the following rules: 17 Applied acceleration Original rule: f576_0_test_LT -> f576_0_test_LT : arg2'=arg2P8, arg4'=arg4P8, arg1'=-1+arg1, arg3'=arg3P8, (1+arg1 > 0 /\ 3-arg1 > 0), cost: 1 New rule: f576_0_test_LT -> f576_0_test_LT : arg2'=arg2P8, arg4'=arg4P8, arg1'=-n2+arg1, arg3'=arg3P8, (-1+n2 >= 0 /\ 2-n2+arg1 > 0 /\ 3-arg1 > 0), cost: n2 Sub-proof via acceration calculus written to file:///tmp/tmpnam_jJloko.txt Applied instantiation Original rule: f576_0_test_LT -> f576_0_test_LT : arg2'=arg2P8, arg4'=arg4P8, arg1'=-n2+arg1, arg3'=arg3P8, (-1+n2 >= 0 /\ 2-n2+arg1 > 0 /\ 3-arg1 > 0), cost: n2 New rule: f576_0_test_LT -> f576_0_test_LT : arg2'=arg2P8, arg4'=arg4P8, arg1'=-1, arg3'=arg3P8, (1 > 0 /\ arg1 >= 0 /\ 3-arg1 > 0), cost: 1+arg1 Applied simplification Original rule: f576_0_test_LT -> f576_0_test_LT : arg2'=arg2P8, arg4'=arg4P8, arg1'=-1, arg3'=arg3P8, (1 > 0 /\ arg1 >= 0 /\ 3-arg1 > 0), cost: 1+arg1 New rule: f576_0_test_LT -> f576_0_test_LT : arg2'=arg2P8, arg4'=arg4P8, arg1'=-1, arg3'=arg3P8, (arg1 >= 0 /\ 3-arg1 > 0), cost: 1+arg1 Applied deletion Removed the following rules: 19 Accelerated simple loops Start location: __init 11: f1_0_main_ConstantStackPush -> f162_0_mk_LE : arg2'=-1+arg2, arg4'=arg2, arg1'=arg1P0, arg3'=arg2, (1+arg2 > 0 /\ arg1P0 > 0 /\ -arg1+arg1P0 <= 0), cost: 1 13: f162_0_mk_LE -> f276_0_mk_LE : arg2'=-1+arg4, arg1'=arg1P2, arg3'=arg4, (arg1P2 > 0 /\ 1-arg3 > 0 /\ -arg1P2+arg1 >= 0 /\ 1+arg4 > 0), cost: 1 22: f162_0_mk_LE -> f162_0_mk_LE : arg2'=-1, arg1'=arg1P1, arg3'=0, (arg1-arg1P1 >= 0 /\ arg2 >= 0 /\ arg3 > 0 /\ arg1P1 > 0), cost: 1+arg2 15: f276_0_mk_LE -> f401_0_mk_LE : arg2'=arg4, arg4'=arg4P4, arg1'=-1+arg4, arg3'=arg3P4, (1-arg3 > 0 /\ arg1 > 0 /\ 1+arg4 > 0), cost: 1 24: f276_0_mk_LE -> f276_0_mk_LE : arg2'=-1, arg1'=arg1P3, arg3'=0, (-arg1P3+arg1 >= 0 /\ arg2 >= 0 /\ arg1P3 > 0 /\ arg3 > 0), cost: 1+arg2 16: f401_0_mk_LE -> f576_0_test_LT : arg2'=arg2P5, arg4'=arg4P5, arg1'=2, arg3'=arg3P5, 1-arg2 > 0, cost: 1 26: f401_0_mk_LE -> f401_0_mk_LE : arg2'=0, arg4'=arg4P6, arg1'=-1, arg3'=arg3P6, (arg2 > 0 /\ arg1 >= 0), cost: 1+arg1 18: f576_0_test_LT -> f470_0_length_NONNULL : arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (1+arg1 > 0 /\ 1+arg1P7 > 0 /\ 3-arg1 > 0), cost: 1 28: f576_0_test_LT -> f576_0_test_LT : arg2'=arg2P8, arg4'=arg4P8, arg1'=-1, arg3'=arg3P8, (arg1 >= 0 /\ 3-arg1 > 0), cost: 1+arg1 20: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (1+arg1P9 > 0 /\ 1-arg1+arg1P9 <= 0), cost: 1 10: __init -> f1_0_main_ConstantStackPush : arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, TRUE, cost: 1 Applied chaining First rule: f1_0_main_ConstantStackPush -> f162_0_mk_LE : arg2'=-1+arg2, arg4'=arg2, arg1'=arg1P0, arg3'=arg2, (1+arg2 > 0 /\ arg1P0 > 0 /\ -arg1+arg1P0 <= 0), cost: 1 Second rule: f162_0_mk_LE -> f162_0_mk_LE : arg2'=-1, arg1'=arg1P1, arg3'=0, (arg1-arg1P1 >= 0 /\ arg2 >= 0 /\ arg3 > 0 /\ arg1P1 > 0), cost: 1+arg2 New rule: f1_0_main_ConstantStackPush -> f162_0_mk_LE : arg2'=-1, arg4'=arg2, arg1'=arg1P1, arg3'=0, (-arg1+arg1P1 <= 0 /\ -1+arg2 >= 0 /\ arg1P1 > 0), cost: 1+arg2 Applied deletion Removed the following rules: 22 Applied chaining First rule: f162_0_mk_LE -> f276_0_mk_LE : arg2'=-1+arg4, arg1'=arg1P2, arg3'=arg4, (arg1P2 > 0 /\ 1-arg3 > 0 /\ -arg1P2+arg1 >= 0 /\ 1+arg4 > 0), cost: 1 Second rule: f276_0_mk_LE -> f276_0_mk_LE : arg2'=-1, arg1'=arg1P3, arg3'=0, (-arg1P3+arg1 >= 0 /\ arg2 >= 0 /\ arg1P3 > 0 /\ arg3 > 0), cost: 1+arg2 New rule: f162_0_mk_LE -> f276_0_mk_LE : arg2'=-1, arg1'=arg1P3, arg3'=0, (arg1P3 > 0 /\ arg1P3-arg1 <= 0 /\ 1-arg3 > 0 /\ arg4 > 0), cost: 1+arg4 Applied deletion Removed the following rules: 24 Applied chaining First rule: f276_0_mk_LE -> f401_0_mk_LE : arg2'=arg4, arg4'=arg4P4, arg1'=-1+arg4, arg3'=arg3P4, (1-arg3 > 0 /\ arg1 > 0 /\ 1+arg4 > 0), cost: 1 Second rule: f401_0_mk_LE -> f401_0_mk_LE : arg2'=0, arg4'=arg4P6, arg1'=-1, arg3'=arg3P6, (arg2 > 0 /\ arg1 >= 0), cost: 1+arg1 New rule: f276_0_mk_LE -> f401_0_mk_LE : arg2'=0, arg4'=arg4P6, arg1'=-1, arg3'=arg3P6, (1-arg3 > 0 /\ arg4 > 0 /\ arg1 > 0), cost: 1+arg4 Applied deletion Removed the following rules: 26 Applied chaining First rule: f401_0_mk_LE -> f576_0_test_LT : arg2'=arg2P5, arg4'=arg4P5, arg1'=2, arg3'=arg3P5, 1-arg2 > 0, cost: 1 Second rule: f576_0_test_LT -> f576_0_test_LT : arg2'=arg2P8, arg4'=arg4P8, arg1'=-1, arg3'=arg3P8, (arg1 >= 0 /\ 3-arg1 > 0), cost: 1+arg1 New rule: f401_0_mk_LE -> f576_0_test_LT : arg2'=arg2P8, arg4'=arg4P8, arg1'=-1, arg3'=arg3P8, 1-arg2 > 0, cost: 4 Applied deletion Removed the following rules: 28 Applied chaining First rule: f576_0_test_LT -> f470_0_length_NONNULL : arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (1+arg1 > 0 /\ 1+arg1P7 > 0 /\ 3-arg1 > 0), cost: 1 Second rule: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (1+arg1P9 > 0 /\ 1-arg1+arg1P9 <= 0), cost: 1 New rule: f576_0_test_LT -> f470_0_length_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (1+arg1 > 0 /\ 1+arg1P9 > 0 /\ 3-arg1 > 0), cost: 2 Applied deletion Removed the following rules: 20 Chained accelerated rules with incoming rules Start location: __init 11: f1_0_main_ConstantStackPush -> f162_0_mk_LE : arg2'=-1+arg2, arg4'=arg2, arg1'=arg1P0, arg3'=arg2, (1+arg2 > 0 /\ arg1P0 > 0 /\ -arg1+arg1P0 <= 0), cost: 1 29: f1_0_main_ConstantStackPush -> f162_0_mk_LE : arg2'=-1, arg4'=arg2, arg1'=arg1P1, arg3'=0, (-arg1+arg1P1 <= 0 /\ -1+arg2 >= 0 /\ arg1P1 > 0), cost: 1+arg2 13: f162_0_mk_LE -> f276_0_mk_LE : arg2'=-1+arg4, arg1'=arg1P2, arg3'=arg4, (arg1P2 > 0 /\ 1-arg3 > 0 /\ -arg1P2+arg1 >= 0 /\ 1+arg4 > 0), cost: 1 30: f162_0_mk_LE -> f276_0_mk_LE : arg2'=-1, arg1'=arg1P3, arg3'=0, (arg1P3 > 0 /\ arg1P3-arg1 <= 0 /\ 1-arg3 > 0 /\ arg4 > 0), cost: 1+arg4 15: f276_0_mk_LE -> f401_0_mk_LE : arg2'=arg4, arg4'=arg4P4, arg1'=-1+arg4, arg3'=arg3P4, (1-arg3 > 0 /\ arg1 > 0 /\ 1+arg4 > 0), cost: 1 31: f276_0_mk_LE -> f401_0_mk_LE : arg2'=0, arg4'=arg4P6, arg1'=-1, arg3'=arg3P6, (1-arg3 > 0 /\ arg4 > 0 /\ arg1 > 0), cost: 1+arg4 16: f401_0_mk_LE -> f576_0_test_LT : arg2'=arg2P5, arg4'=arg4P5, arg1'=2, arg3'=arg3P5, 1-arg2 > 0, cost: 1 32: f401_0_mk_LE -> f576_0_test_LT : arg2'=arg2P8, arg4'=arg4P8, arg1'=-1, arg3'=arg3P8, 1-arg2 > 0, cost: 4 18: f576_0_test_LT -> f470_0_length_NONNULL : arg2'=arg2P7, arg4'=arg4P7, arg1'=arg1P7, arg3'=arg3P7, (1+arg1 > 0 /\ 1+arg1P7 > 0 /\ 3-arg1 > 0), cost: 1 33: f576_0_test_LT -> f470_0_length_NONNULL : arg2'=arg2P9, arg4'=arg4P9, arg1'=arg1P9, arg3'=arg3P9, (1+arg1 > 0 /\ 1+arg1P9 > 0 /\ 3-arg1 > 0), cost: 2 10: __init -> f1_0_main_ConstantStackPush : arg2'=arg2P10, arg4'=arg4P10, arg1'=arg1P10, arg3'=arg3P10, TRUE, cost: 1 Removed unreachable locations and irrelevant leafs Start location: __init Computing asymptotic complexity Proved the following lower bound Complexity: Unknown Cpx degree: ? Solved cost: 0 Rule cost: 0