WORST_CASE(Omega(0),?) Initial ITS Start location: __init 0: f1_0_main_ConstantStackPush -> f162_0_mk_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=arg2P0, arg4'=arg4P0, (arg1 > 0 /\ arg2-arg3P0 == 0 /\ -arg1+arg1P0 <= 0 /\ arg1P0 > 0 /\ -arg4P0+arg2 == 0 /\ -1+arg2-arg2P0 == 0 /\ 1+arg2 > 0), cost: 1 1: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1P1, arg3'=arg3P1, arg2'=arg2P1, arg4'=arg4P1, (arg1 > 0 /\ -arg1+arg1P1 <= 0 /\ arg3 > 0 /\ arg1P1 > 0 /\ -arg4P1+arg4 == 0 /\ -arg3P1+arg2 == 0 /\ -1-arg2P1+arg2 == 0), cost: 1 2: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P2, arg3'=arg3P2, arg2'=arg2P2, arg4'=arg4P2, (arg1 > 0 /\ arg1P2 > 0 /\ -1+arg3 < 0 /\ 1+arg4 > 0 /\ -1-arg2P2+arg4 == 0 /\ -arg3P2+arg4 == 0 /\ -arg4P2+arg4 == 0 /\ arg1-arg1P2 >= 0), cost: 1 3: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P3, arg3'=arg3P3, arg2'=arg2P3, arg4'=arg4P3, (arg1 > 0 /\ arg2-arg3P3 == 0 /\ -1+arg2-arg2P3 == 0 /\ arg3 > 0 /\ -arg1+arg1P3 <= 0 /\ arg1P3 > 0 /\ -arg4P3+arg4 == 0), cost: 1 4: f276_0_mk_LE -> f401_0_mk_LE : arg1'=arg1P4, arg3'=arg3P4, arg2'=arg2P4, arg4'=arg4P4, (arg1 > 0 /\ -1-arg1P4+arg4 == 0 /\ -1+arg3 < 0 /\ 1+arg4 > 0 /\ -arg2P4+arg4 == 0), cost: 1 5: f401_0_mk_LE -> f576_0_test_LT : arg1'=arg1P5, arg3'=arg3P5, arg2'=arg2P5, arg4'=arg4P5, (-1+arg2 < 0 /\ 2-arg1P5 == 0), cost: 1 6: f401_0_mk_LE -> f401_0_mk_LE : arg1'=arg1P6, arg3'=arg3P6, arg2'=arg2P6, arg4'=arg4P6, (-1+arg1-arg1P6 == 0 /\ arg2 > 0 /\ arg1-arg2P6 == 0), cost: 1 7: f576_0_test_LT -> f470_0_length_NONNULL : arg1'=arg1P7, arg3'=arg3P7, arg2'=arg2P7, arg4'=arg4P7, (1+arg1P7 > 0 /\ 1+arg1 > 0 /\ -3+arg1 < 0), cost: 1 8: f576_0_test_LT -> f576_0_test_LT : arg1'=arg1P8, arg3'=arg3P8, arg2'=arg2P8, arg4'=arg4P8, (-1+arg1-arg1P8 == 0 /\ 1+arg1 > 0 /\ -3+arg1 < 0), cost: 1 9: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg1'=arg1P9, arg3'=arg3P9, arg2'=arg2P9, arg4'=arg4P9, (arg1 > 0 /\ 1+arg1P9 > 0 /\ 1-arg1+arg1P9 <= 0), cost: 1 10: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P10, arg3'=arg3P10, arg2'=arg2P10, arg4'=arg4P10, TRUE, cost: 1 Applied preprocessing Original rule: f1_0_main_ConstantStackPush -> f162_0_mk_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=arg2P0, arg4'=arg4P0, (arg1 > 0 /\ arg2-arg3P0 == 0 /\ -arg1+arg1P0 <= 0 /\ arg1P0 > 0 /\ -arg4P0+arg2 == 0 /\ -1+arg2-arg2P0 == 0 /\ 1+arg2 > 0), cost: 1 New rule: f1_0_main_ConstantStackPush -> f162_0_mk_LE : arg1'=arg1P0, arg3'=arg2, arg2'=-1+arg2, arg4'=arg2, (-arg1+arg1P0 <= 0 /\ arg1P0 > 0 /\ 1+arg2 > 0), cost: 1 Applied preprocessing Original rule: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1P1, arg3'=arg3P1, arg2'=arg2P1, arg4'=arg4P1, (arg1 > 0 /\ -arg1+arg1P1 <= 0 /\ arg3 > 0 /\ arg1P1 > 0 /\ -arg4P1+arg4 == 0 /\ -arg3P1+arg2 == 0 /\ -1-arg2P1+arg2 == 0), cost: 1 New rule: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1P1, arg3'=arg2, arg2'=-1+arg2, (-arg1+arg1P1 <= 0 /\ arg3 > 0 /\ arg1P1 > 0), cost: 1 Applied preprocessing Original rule: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P2, arg3'=arg3P2, arg2'=arg2P2, arg4'=arg4P2, (arg1 > 0 /\ arg1P2 > 0 /\ -1+arg3 < 0 /\ 1+arg4 > 0 /\ -1-arg2P2+arg4 == 0 /\ -arg3P2+arg4 == 0 /\ -arg4P2+arg4 == 0 /\ arg1-arg1P2 >= 0), cost: 1 New rule: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P2, arg3'=arg4, arg2'=-1+arg4, (arg1P2 > 0 /\ 1-arg3 > 0 /\ 1+arg4 > 0 /\ arg1-arg1P2 >= 0), cost: 1 Applied preprocessing Original rule: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P3, arg3'=arg3P3, arg2'=arg2P3, arg4'=arg4P3, (arg1 > 0 /\ arg2-arg3P3 == 0 /\ -1+arg2-arg2P3 == 0 /\ arg3 > 0 /\ -arg1+arg1P3 <= 0 /\ arg1P3 > 0 /\ -arg4P3+arg4 == 0), cost: 1 New rule: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P3, arg3'=arg2, arg2'=-1+arg2, (arg3 > 0 /\ -arg1+arg1P3 <= 0 /\ arg1P3 > 0), cost: 1 Applied preprocessing Original rule: f276_0_mk_LE -> f401_0_mk_LE : arg1'=arg1P4, arg3'=arg3P4, arg2'=arg2P4, arg4'=arg4P4, (arg1 > 0 /\ -1-arg1P4+arg4 == 0 /\ -1+arg3 < 0 /\ 1+arg4 > 0 /\ -arg2P4+arg4 == 0), cost: 1 New rule: f276_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg4, arg3'=arg3P4, arg2'=arg4, arg4'=arg4P4, (arg1 > 0 /\ 1-arg3 > 0 /\ 1+arg4 > 0), cost: 1 Applied preprocessing Original rule: f401_0_mk_LE -> f576_0_test_LT : arg1'=arg1P5, arg3'=arg3P5, arg2'=arg2P5, arg4'=arg4P5, (-1+arg2 < 0 /\ 2-arg1P5 == 0), cost: 1 New rule: f401_0_mk_LE -> f576_0_test_LT : arg1'=2, arg3'=arg3P5, arg2'=arg2P5, arg4'=arg4P5, 1-arg2 > 0, cost: 1 Applied preprocessing Original rule: f401_0_mk_LE -> f401_0_mk_LE : arg1'=arg1P6, arg3'=arg3P6, arg2'=arg2P6, arg4'=arg4P6, (-1+arg1-arg1P6 == 0 /\ arg2 > 0 /\ arg1-arg2P6 == 0), cost: 1 New rule: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg1, arg3'=arg3P6, arg2'=arg1, arg4'=arg4P6, arg2 > 0, cost: 1 Applied preprocessing Original rule: f576_0_test_LT -> f470_0_length_NONNULL : arg1'=arg1P7, arg3'=arg3P7, arg2'=arg2P7, arg4'=arg4P7, (1+arg1P7 > 0 /\ 1+arg1 > 0 /\ -3+arg1 < 0), cost: 1 New rule: f576_0_test_LT -> f470_0_length_NONNULL : arg1'=arg1P7, arg3'=arg3P7, arg2'=arg2P7, arg4'=arg4P7, (3-arg1 > 0 /\ 1+arg1P7 > 0 /\ 1+arg1 > 0), cost: 1 Applied preprocessing Original rule: f576_0_test_LT -> f576_0_test_LT : arg1'=arg1P8, arg3'=arg3P8, arg2'=arg2P8, arg4'=arg4P8, (-1+arg1-arg1P8 == 0 /\ 1+arg1 > 0 /\ -3+arg1 < 0), cost: 1 New rule: f576_0_test_LT -> f576_0_test_LT : arg1'=-1+arg1, arg3'=arg3P8, arg2'=arg2P8, arg4'=arg4P8, (3-arg1 > 0 /\ 1+arg1 > 0), cost: 1 Applied preprocessing Original rule: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg1'=arg1P9, arg3'=arg3P9, arg2'=arg2P9, arg4'=arg4P9, (arg1 > 0 /\ 1+arg1P9 > 0 /\ 1-arg1+arg1P9 <= 0), cost: 1 New rule: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg1'=arg1P9, arg3'=arg3P9, arg2'=arg2P9, arg4'=arg4P9, (1+arg1P9 > 0 /\ 1-arg1+arg1P9 <= 0), cost: 1 Simplified rules Start location: __init 11: f1_0_main_ConstantStackPush -> f162_0_mk_LE : arg1'=arg1P0, arg3'=arg2, arg2'=-1+arg2, arg4'=arg2, (-arg1+arg1P0 <= 0 /\ arg1P0 > 0 /\ 1+arg2 > 0), cost: 1 12: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1P1, arg3'=arg2, arg2'=-1+arg2, (-arg1+arg1P1 <= 0 /\ arg3 > 0 /\ arg1P1 > 0), cost: 1 13: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P2, arg3'=arg4, arg2'=-1+arg4, (arg1P2 > 0 /\ 1-arg3 > 0 /\ 1+arg4 > 0 /\ arg1-arg1P2 >= 0), cost: 1 14: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P3, arg3'=arg2, arg2'=-1+arg2, (arg3 > 0 /\ -arg1+arg1P3 <= 0 /\ arg1P3 > 0), cost: 1 15: f276_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg4, arg3'=arg3P4, arg2'=arg4, arg4'=arg4P4, (arg1 > 0 /\ 1-arg3 > 0 /\ 1+arg4 > 0), cost: 1 16: f401_0_mk_LE -> f576_0_test_LT : arg1'=2, arg3'=arg3P5, arg2'=arg2P5, arg4'=arg4P5, 1-arg2 > 0, cost: 1 17: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg1, arg3'=arg3P6, arg2'=arg1, arg4'=arg4P6, arg2 > 0, cost: 1 18: f576_0_test_LT -> f470_0_length_NONNULL : arg1'=arg1P7, arg3'=arg3P7, arg2'=arg2P7, arg4'=arg4P7, (3-arg1 > 0 /\ 1+arg1P7 > 0 /\ 1+arg1 > 0), cost: 1 19: f576_0_test_LT -> f576_0_test_LT : arg1'=-1+arg1, arg3'=arg3P8, arg2'=arg2P8, arg4'=arg4P8, (3-arg1 > 0 /\ 1+arg1 > 0), cost: 1 20: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg1'=arg1P9, arg3'=arg3P9, arg2'=arg2P9, arg4'=arg4P9, (1+arg1P9 > 0 /\ 1-arg1+arg1P9 <= 0), cost: 1 10: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P10, arg3'=arg3P10, arg2'=arg2P10, arg4'=arg4P10, TRUE, cost: 1 Applied acceleration Original rule: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1P1, arg3'=arg2, arg2'=-1+arg2, (-arg1+arg1P1 <= 0 /\ arg3 > 0 /\ arg1P1 > 0), cost: 1 New rule: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1P1, arg3'=1+arg2-n0, arg2'=arg2-n0, (-1+n0 >= 0 /\ arg3 > 0 /\ arg1-arg1P1 >= 0 /\ 2+arg2-n0 > 0 /\ arg1P1 > 0), cost: n0 Applied instantiation Original rule: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1P1, arg3'=1+arg2-n0, arg2'=arg2-n0, (-1+n0 >= 0 /\ arg3 > 0 /\ arg1-arg1P1 >= 0 /\ 2+arg2-n0 > 0 /\ arg1P1 > 0), cost: n0 New rule: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1P1, arg3'=0, arg2'=-1, (1 > 0 /\ arg3 > 0 /\ arg1-arg1P1 >= 0 /\ arg2 >= 0 /\ arg1P1 > 0), cost: 1+arg2 Applied simplification Original rule: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1P1, arg3'=0, arg2'=-1, (1 > 0 /\ arg3 > 0 /\ arg1-arg1P1 >= 0 /\ arg2 >= 0 /\ arg1P1 > 0), cost: 1+arg2 New rule: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1P1, arg3'=0, arg2'=-1, (arg3 > 0 /\ arg1-arg1P1 >= 0 /\ arg2 >= 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 : arg1'=arg1P3, arg3'=arg2, arg2'=-1+arg2, (arg3 > 0 /\ -arg1+arg1P3 <= 0 /\ arg1P3 > 0), cost: 1 New rule: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P3, arg3'=1-n3+arg2, arg2'=-n3+arg2, (-1+n3 >= 0 /\ arg1-arg1P3 >= 0 /\ arg3 > 0 /\ 2-n3+arg2 > 0 /\ arg1P3 > 0), cost: n3 Applied instantiation Original rule: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P3, arg3'=1-n3+arg2, arg2'=-n3+arg2, (-1+n3 >= 0 /\ arg1-arg1P3 >= 0 /\ arg3 > 0 /\ 2-n3+arg2 > 0 /\ arg1P3 > 0), cost: n3 New rule: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P3, arg3'=0, arg2'=-1, (arg1-arg1P3 >= 0 /\ 1 > 0 /\ arg3 > 0 /\ arg1P3 > 0 /\ arg2 >= 0), cost: 1+arg2 Applied simplification Original rule: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P3, arg3'=0, arg2'=-1, (arg1-arg1P3 >= 0 /\ 1 > 0 /\ arg3 > 0 /\ arg1P3 > 0 /\ arg2 >= 0), cost: 1+arg2 New rule: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P3, arg3'=0, arg2'=-1, (arg1-arg1P3 >= 0 /\ arg3 > 0 /\ arg1P3 > 0 /\ arg2 >= 0), cost: 1+arg2 Applied deletion Removed the following rules: 14 Applied acceleration Original rule: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg1, arg3'=arg3P6, arg2'=arg1, arg4'=arg4P6, arg2 > 0, cost: 1 New rule: f401_0_mk_LE -> f401_0_mk_LE : arg1'=arg1-n6, arg3'=arg3P6, arg2'=1+arg1-n6, arg4'=arg4P6, (2+arg1-n6 > 0 /\ -1+n6 >= 0 /\ arg2 > 0), cost: n6 Applied instantiation Original rule: f401_0_mk_LE -> f401_0_mk_LE : arg1'=arg1-n6, arg3'=arg3P6, arg2'=1+arg1-n6, arg4'=arg4P6, (2+arg1-n6 > 0 /\ -1+n6 >= 0 /\ arg2 > 0), cost: n6 New rule: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-1, arg3'=arg3P6, arg2'=0, arg4'=arg4P6, (arg1 >= 0 /\ 1 > 0 /\ arg2 > 0), cost: 1+arg1 Applied simplification Original rule: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-1, arg3'=arg3P6, arg2'=0, arg4'=arg4P6, (arg1 >= 0 /\ 1 > 0 /\ arg2 > 0), cost: 1+arg1 New rule: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-1, arg3'=arg3P6, arg2'=0, arg4'=arg4P6, (arg1 >= 0 /\ arg2 > 0), cost: 1+arg1 Applied deletion Removed the following rules: 17 Applied acceleration Original rule: f576_0_test_LT -> f576_0_test_LT : arg1'=-1+arg1, arg3'=arg3P8, arg2'=arg2P8, arg4'=arg4P8, (3-arg1 > 0 /\ 1+arg1 > 0), cost: 1 New rule: f576_0_test_LT -> f576_0_test_LT : arg1'=arg1-n9, arg3'=arg3P8, arg2'=arg2P8, arg4'=arg4P8, (3-arg1 > 0 /\ 2+arg1-n9 > 0 /\ -1+n9 >= 0), cost: n9 Applied instantiation Original rule: f576_0_test_LT -> f576_0_test_LT : arg1'=arg1-n9, arg3'=arg3P8, arg2'=arg2P8, arg4'=arg4P8, (3-arg1 > 0 /\ 2+arg1-n9 > 0 /\ -1+n9 >= 0), cost: n9 New rule: f576_0_test_LT -> f576_0_test_LT : arg1'=-1, arg3'=arg3P8, arg2'=arg2P8, arg4'=arg4P8, (arg1 >= 0 /\ 1 > 0 /\ 3-arg1 > 0), cost: 1+arg1 Applied simplification Original rule: f576_0_test_LT -> f576_0_test_LT : arg1'=-1, arg3'=arg3P8, arg2'=arg2P8, arg4'=arg4P8, (arg1 >= 0 /\ 1 > 0 /\ 3-arg1 > 0), cost: 1+arg1 New rule: f576_0_test_LT -> f576_0_test_LT : arg1'=-1, arg3'=arg3P8, arg2'=arg2P8, arg4'=arg4P8, (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 : arg1'=arg1P0, arg3'=arg2, arg2'=-1+arg2, arg4'=arg2, (-arg1+arg1P0 <= 0 /\ arg1P0 > 0 /\ 1+arg2 > 0), cost: 1 13: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P2, arg3'=arg4, arg2'=-1+arg4, (arg1P2 > 0 /\ 1-arg3 > 0 /\ 1+arg4 > 0 /\ arg1-arg1P2 >= 0), cost: 1 22: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1P1, arg3'=0, arg2'=-1, (arg3 > 0 /\ arg1-arg1P1 >= 0 /\ arg2 >= 0 /\ arg1P1 > 0), cost: 1+arg2 15: f276_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg4, arg3'=arg3P4, arg2'=arg4, arg4'=arg4P4, (arg1 > 0 /\ 1-arg3 > 0 /\ 1+arg4 > 0), cost: 1 24: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P3, arg3'=0, arg2'=-1, (arg1-arg1P3 >= 0 /\ arg3 > 0 /\ arg1P3 > 0 /\ arg2 >= 0), cost: 1+arg2 16: f401_0_mk_LE -> f576_0_test_LT : arg1'=2, arg3'=arg3P5, arg2'=arg2P5, arg4'=arg4P5, 1-arg2 > 0, cost: 1 26: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-1, arg3'=arg3P6, arg2'=0, arg4'=arg4P6, (arg1 >= 0 /\ arg2 > 0), cost: 1+arg1 18: f576_0_test_LT -> f470_0_length_NONNULL : arg1'=arg1P7, arg3'=arg3P7, arg2'=arg2P7, arg4'=arg4P7, (3-arg1 > 0 /\ 1+arg1P7 > 0 /\ 1+arg1 > 0), cost: 1 28: f576_0_test_LT -> f576_0_test_LT : arg1'=-1, arg3'=arg3P8, arg2'=arg2P8, arg4'=arg4P8, (arg1 >= 0 /\ 3-arg1 > 0), cost: 1+arg1 20: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg1'=arg1P9, arg3'=arg3P9, arg2'=arg2P9, arg4'=arg4P9, (1+arg1P9 > 0 /\ 1-arg1+arg1P9 <= 0), cost: 1 10: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P10, arg3'=arg3P10, arg2'=arg2P10, arg4'=arg4P10, TRUE, cost: 1 Applied chaining First rule: f1_0_main_ConstantStackPush -> f162_0_mk_LE : arg1'=arg1P0, arg3'=arg2, arg2'=-1+arg2, arg4'=arg2, (-arg1+arg1P0 <= 0 /\ arg1P0 > 0 /\ 1+arg2 > 0), cost: 1 Second rule: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1P1, arg3'=0, arg2'=-1, (arg3 > 0 /\ arg1-arg1P1 >= 0 /\ arg2 >= 0 /\ arg1P1 > 0), cost: 1+arg2 New rule: f1_0_main_ConstantStackPush -> f162_0_mk_LE : arg1'=arg1P1, arg3'=0, arg2'=-1, arg4'=arg2, (-arg1+arg1P1 <= 0 /\ 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 : arg1'=arg1P2, arg3'=arg4, arg2'=-1+arg4, (arg1P2 > 0 /\ 1-arg3 > 0 /\ 1+arg4 > 0 /\ arg1-arg1P2 >= 0), cost: 1 Second rule: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P3, arg3'=0, arg2'=-1, (arg1-arg1P3 >= 0 /\ arg3 > 0 /\ arg1P3 > 0 /\ arg2 >= 0), cost: 1+arg2 New rule: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P3, arg3'=0, arg2'=-1, (1-arg3 > 0 /\ -arg1+arg1P3 <= 0 /\ arg1P3 > 0 /\ -1+arg4 >= 0), cost: 1+arg4 Applied deletion Removed the following rules: 24 Applied chaining First rule: f276_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg4, arg3'=arg3P4, arg2'=arg4, arg4'=arg4P4, (arg1 > 0 /\ 1-arg3 > 0 /\ 1+arg4 > 0), cost: 1 Second rule: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-1, arg3'=arg3P6, arg2'=0, arg4'=arg4P6, (arg1 >= 0 /\ arg2 > 0), cost: 1+arg1 New rule: f276_0_mk_LE -> f401_0_mk_LE : arg1'=-1, arg3'=arg3P6, arg2'=0, arg4'=arg4P6, (arg1 > 0 /\ 1-arg3 > 0 /\ -1+arg4 >= 0), cost: 1+arg4 Applied deletion Removed the following rules: 26 Applied chaining First rule: f401_0_mk_LE -> f576_0_test_LT : arg1'=2, arg3'=arg3P5, arg2'=arg2P5, arg4'=arg4P5, 1-arg2 > 0, cost: 1 Second rule: f576_0_test_LT -> f576_0_test_LT : arg1'=-1, arg3'=arg3P8, arg2'=arg2P8, arg4'=arg4P8, (arg1 >= 0 /\ 3-arg1 > 0), cost: 1+arg1 New rule: f401_0_mk_LE -> f576_0_test_LT : arg1'=-1, arg3'=arg3P8, arg2'=arg2P8, arg4'=arg4P8, 1-arg2 > 0, cost: 4 Applied deletion Removed the following rules: 28 Applied chaining First rule: f576_0_test_LT -> f470_0_length_NONNULL : arg1'=arg1P7, arg3'=arg3P7, arg2'=arg2P7, arg4'=arg4P7, (3-arg1 > 0 /\ 1+arg1P7 > 0 /\ 1+arg1 > 0), cost: 1 Second rule: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg1'=arg1P9, arg3'=arg3P9, arg2'=arg2P9, arg4'=arg4P9, (1+arg1P9 > 0 /\ 1-arg1+arg1P9 <= 0), cost: 1 New rule: f576_0_test_LT -> f470_0_length_NONNULL : arg1'=arg1P9, arg3'=arg3P9, arg2'=arg2P9, arg4'=arg4P9, (3-arg1 > 0 /\ 1+arg1P9 > 0 /\ 1+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 : arg1'=arg1P0, arg3'=arg2, arg2'=-1+arg2, arg4'=arg2, (-arg1+arg1P0 <= 0 /\ arg1P0 > 0 /\ 1+arg2 > 0), cost: 1 29: f1_0_main_ConstantStackPush -> f162_0_mk_LE : arg1'=arg1P1, arg3'=0, arg2'=-1, arg4'=arg2, (-arg1+arg1P1 <= 0 /\ arg2 > 0 /\ arg1P1 > 0), cost: 1+arg2 13: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P2, arg3'=arg4, arg2'=-1+arg4, (arg1P2 > 0 /\ 1-arg3 > 0 /\ 1+arg4 > 0 /\ arg1-arg1P2 >= 0), cost: 1 30: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1P3, arg3'=0, arg2'=-1, (1-arg3 > 0 /\ -arg1+arg1P3 <= 0 /\ arg1P3 > 0 /\ -1+arg4 >= 0), cost: 1+arg4 15: f276_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg4, arg3'=arg3P4, arg2'=arg4, arg4'=arg4P4, (arg1 > 0 /\ 1-arg3 > 0 /\ 1+arg4 > 0), cost: 1 31: f276_0_mk_LE -> f401_0_mk_LE : arg1'=-1, arg3'=arg3P6, arg2'=0, arg4'=arg4P6, (arg1 > 0 /\ 1-arg3 > 0 /\ -1+arg4 >= 0), cost: 1+arg4 16: f401_0_mk_LE -> f576_0_test_LT : arg1'=2, arg3'=arg3P5, arg2'=arg2P5, arg4'=arg4P5, 1-arg2 > 0, cost: 1 32: f401_0_mk_LE -> f576_0_test_LT : arg1'=-1, arg3'=arg3P8, arg2'=arg2P8, arg4'=arg4P8, 1-arg2 > 0, cost: 4 18: f576_0_test_LT -> f470_0_length_NONNULL : arg1'=arg1P7, arg3'=arg3P7, arg2'=arg2P7, arg4'=arg4P7, (3-arg1 > 0 /\ 1+arg1P7 > 0 /\ 1+arg1 > 0), cost: 1 33: f576_0_test_LT -> f470_0_length_NONNULL : arg1'=arg1P9, arg3'=arg3P9, arg2'=arg2P9, arg4'=arg4P9, (3-arg1 > 0 /\ 1+arg1P9 > 0 /\ 1+arg1 > 0), cost: 2 10: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P10, arg3'=arg3P10, arg2'=arg2P10, arg4'=arg4P10, 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