unknown Initial ITS Start location: __init Program variables: arg1 arg2 arg3 arg4 0: f1_0_main_ConstantStackPush -> f162_0_mk_LE : arg1'=arg1p1, arg2'=arg2p1, arg3'=arg3p1, arg4'=arg4p1, (-1+arg2-arg2p1 == 0 /\ 1+arg2 > 0 /\ arg1p1-arg1 <= 0 /\ arg1p1 > 0 /\ arg2-arg4p1 == 0 /\ -arg3p1+arg2 == 0 /\ arg1 > 0), cost: 1 1: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1p2, arg2'=arg2p2, arg3'=arg3p2, arg4'=arg4p2, (-1-arg2p2+arg2 == 0 /\ -arg4p2+arg4 == 0 /\ arg3 > 0 /\ arg2-arg3p2 == 0 /\ arg1p2-arg1 <= 0 /\ arg1p2 > 0 /\ arg1 > 0), cost: 1 2: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p3, arg2'=arg2p3, arg3'=arg3p3, arg4'=arg4p3, (-1+arg3 < 0 /\ arg1p3 > 0 /\ -arg3p3+arg4 == 0 /\ -1-arg2p3+arg4 == 0 /\ 1+arg4 > 0 /\ arg4-arg4p3 == 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0), cost: 1 3: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p4, arg2'=arg2p4, arg3'=arg3p4, arg4'=arg4p4, (-arg4p4+arg4 == 0 /\ arg1p4 > 0 /\ arg3 > 0 /\ arg1p4-arg1 <= 0 /\ arg2-arg3p4 == 0 /\ -1+arg2-arg2p4 == 0 /\ arg1 > 0), cost: 1 4: f276_0_mk_LE -> f401_0_mk_LE : arg1'=arg1p5, arg2'=arg2p5, arg3'=arg3p5, arg4'=arg4p5, (-1+arg3 < 0 /\ -1-arg1p5+arg4 == 0 /\ 1+arg4 > 0 /\ -arg2p5+arg4 == 0 /\ arg1 > 0), cost: 1 5: f401_0_mk_LE -> f576_0_test_LT : arg1'=arg1p6, arg2'=arg2p6, arg3'=arg3p6, arg4'=arg4p6, (2-arg1p6 == 0 /\ -1+arg2 < 0), cost: 1 6: f401_0_mk_LE -> f401_0_mk_LE : arg1'=arg1p7, arg2'=arg2p7, arg3'=arg3p7, arg4'=arg4p7, (arg2 > 0 /\ -arg2p7+arg1 == 0 /\ -1-arg1p7+arg1 == 0), cost: 1 7: f576_0_test_LT -> f470_0_length_NONNULL : arg1'=arg1p8, arg2'=arg2p8, arg3'=arg3p8, arg4'=arg4p8, (-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0), cost: 1 8: f576_0_test_LT -> f576_0_test_LT : arg1'=arg1p9, arg2'=arg2p9, arg3'=arg3p9, arg4'=arg4p9, (-3+arg1 < 0 /\ 1+arg1 > 0 /\ -1-arg1p9+arg1 == 0), cost: 1 9: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg1'=arg1p10, arg2'=arg2p10, arg3'=arg3p10, arg4'=arg4p10, (1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0), cost: 1 10: __init -> f1_0_main_ConstantStackPush : arg1'=arg1p11, arg2'=arg2p11, arg3'=arg3p11, arg4'=arg4p11, T, cost: 1 Chained Linear Paths Start location: __init Program variables: arg1 arg2 arg3 arg4 1: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1p2, arg2'=arg2p2, arg3'=arg3p2, arg4'=arg4p2, (-1-arg2p2+arg2 == 0 /\ -arg4p2+arg4 == 0 /\ arg3 > 0 /\ arg2-arg3p2 == 0 /\ arg1p2-arg1 <= 0 /\ arg1p2 > 0 /\ arg1 > 0), cost: 1 2: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p3, arg2'=arg2p3, arg3'=arg3p3, arg4'=arg4p3, (-1+arg3 < 0 /\ arg1p3 > 0 /\ -arg3p3+arg4 == 0 /\ -1-arg2p3+arg4 == 0 /\ 1+arg4 > 0 /\ arg4-arg4p3 == 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0), cost: 1 3: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p4, arg2'=arg2p4, arg3'=arg3p4, arg4'=arg4p4, (-arg4p4+arg4 == 0 /\ arg1p4 > 0 /\ arg3 > 0 /\ arg1p4-arg1 <= 0 /\ arg2-arg3p4 == 0 /\ -1+arg2-arg2p4 == 0 /\ arg1 > 0), cost: 1 4: f276_0_mk_LE -> f401_0_mk_LE : arg1'=arg1p5, arg2'=arg2p5, arg3'=arg3p5, arg4'=arg4p5, (-1+arg3 < 0 /\ -1-arg1p5+arg4 == 0 /\ 1+arg4 > 0 /\ -arg2p5+arg4 == 0 /\ arg1 > 0), cost: 1 5: f401_0_mk_LE -> f576_0_test_LT : arg1'=arg1p6, arg2'=arg2p6, arg3'=arg3p6, arg4'=arg4p6, (2-arg1p6 == 0 /\ -1+arg2 < 0), cost: 1 6: f401_0_mk_LE -> f401_0_mk_LE : arg1'=arg1p7, arg2'=arg2p7, arg3'=arg3p7, arg4'=arg4p7, (arg2 > 0 /\ -arg2p7+arg1 == 0 /\ -1-arg1p7+arg1 == 0), cost: 1 7: f576_0_test_LT -> f470_0_length_NONNULL : arg1'=arg1p8, arg2'=arg2p8, arg3'=arg3p8, arg4'=arg4p8, (-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0), cost: 1 8: f576_0_test_LT -> f576_0_test_LT : arg1'=arg1p9, arg2'=arg2p9, arg3'=arg3p9, arg4'=arg4p9, (-3+arg1 < 0 /\ 1+arg1 > 0 /\ -1-arg1p9+arg1 == 0), cost: 1 9: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg1'=arg1p10, arg2'=arg2p10, arg3'=arg3p10, arg4'=arg4p10, (1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0), cost: 1 11: __init -> f162_0_mk_LE : arg1'=arg1p1, arg2'=arg2p1, arg3'=arg3p1, arg4'=arg4p1, (-arg3p1+arg2p11 == 0 /\ arg2p11-arg4p1 == 0 /\ arg1p1-arg1p11 <= 0 /\ arg1p1 > 0 /\ 1+arg2p11 > 0 /\ -1+arg2p11-arg2p1 == 0 /\ arg1p11 > 0), cost: 1 Eliminating location f1_0_main_ConstantStackPush by chaining: Applied chaining First rule: __init -> f1_0_main_ConstantStackPush : arg1'=arg1p11, arg2'=arg2p11, arg3'=arg3p11, arg4'=arg4p11, T, cost: 1 Second rule: f1_0_main_ConstantStackPush -> f162_0_mk_LE : arg1'=arg1p1, arg2'=arg2p1, arg3'=arg3p1, arg4'=arg4p1, (-1+arg2-arg2p1 == 0 /\ 1+arg2 > 0 /\ arg1p1-arg1 <= 0 /\ arg1p1 > 0 /\ arg2-arg4p1 == 0 /\ -arg3p1+arg2 == 0 /\ arg1 > 0), cost: 1 New rule: __init -> f162_0_mk_LE : arg1'=arg1p1, arg2'=arg2p1, arg3'=arg3p1, arg4'=arg4p1, (-arg3p1+arg2p11 == 0 /\ arg2p11-arg4p1 == 0 /\ arg1p1-arg1p11 <= 0 /\ arg1p1 > 0 /\ 1+arg2p11 > 0 /\ -1+arg2p11-arg2p1 == 0 /\ arg1p11 > 0), cost: 1 Applied deletion Removed the following rules: 0 10 Simplified Transitions Start location: __init Program variables: arg1 arg2 arg3 arg4 12: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1p2, arg2'=-1+arg2, arg3'=arg2, (arg3 > 0 /\ arg1p2-arg1 <= 0 /\ arg1p2 > 0 /\ arg1 > 0), cost: 1 13: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p3, arg2'=-1+arg4, arg3'=arg4, (-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0), cost: 1 14: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p4, arg2'=-1+arg2, arg3'=arg2, (arg1p4 > 0 /\ arg3 > 0 /\ arg1p4-arg1 <= 0 /\ arg1 > 0), cost: 1 15: f276_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg4, arg2'=arg4, arg3'=arg3p5, arg4'=arg4p5, (-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0), cost: 1 16: f401_0_mk_LE -> f576_0_test_LT : arg1'=2, arg2'=arg2p6, arg3'=arg3p6, arg4'=arg4p6, -1+arg2 < 0, cost: 1 17: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg1, arg2'=arg1, arg3'=arg3p7, arg4'=arg4p7, arg2 > 0, cost: 1 7: f576_0_test_LT -> f470_0_length_NONNULL : arg1'=arg1p8, arg2'=arg2p8, arg3'=arg3p8, arg4'=arg4p8, (-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0), cost: 1 18: f576_0_test_LT -> f576_0_test_LT : arg1'=-1+arg1, arg2'=arg2p9, arg3'=arg3p9, arg4'=arg4p9, (-3+arg1 < 0 /\ 1+arg1 > 0), cost: 1 9: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg1'=arg1p10, arg2'=arg2p10, arg3'=arg3p10, arg4'=arg4p10, (1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0), cost: 1 19: __init -> f162_0_mk_LE : arg1'=arg1p1, arg2'=-1+arg2p11, arg3'=arg2p11, arg4'=arg2p11, (arg1p1 > 0 /\ 1+arg2p11 > 0), cost: 1 Propagated Equalities Original rule: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1p2, arg2'=arg2p2, arg3'=arg3p2, arg4'=arg4p2, (-1-arg2p2+arg2 == 0 /\ -arg4p2+arg4 == 0 /\ arg3 > 0 /\ arg2-arg3p2 == 0 /\ arg1p2-arg1 <= 0 /\ arg1p2 > 0 /\ arg1 > 0), cost: 1 New rule: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1p2, arg2'=-1+arg2, arg3'=arg2, arg4'=arg4, (0 == 0 /\ arg3 > 0 /\ arg1p2-arg1 <= 0 /\ arg1p2 > 0 /\ arg1 > 0), cost: 1 propagated equality arg2p2 = -1+arg2 propagated equality arg4p2 = arg4 propagated equality arg3p2 = arg2 Simplified Guard Original rule: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1p2, arg2'=-1+arg2, arg3'=arg2, arg4'=arg4, (0 == 0 /\ arg3 > 0 /\ arg1p2-arg1 <= 0 /\ arg1p2 > 0 /\ arg1 > 0), cost: 1 New rule: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1p2, arg2'=-1+arg2, arg3'=arg2, arg4'=arg4, (arg3 > 0 /\ arg1p2-arg1 <= 0 /\ arg1p2 > 0 /\ arg1 > 0), cost: 1 Removed Trivial Updates Original rule: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1p2, arg2'=-1+arg2, arg3'=arg2, arg4'=arg4, (arg3 > 0 /\ arg1p2-arg1 <= 0 /\ arg1p2 > 0 /\ arg1 > 0), cost: 1 New rule: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1p2, arg2'=-1+arg2, arg3'=arg2, (arg3 > 0 /\ arg1p2-arg1 <= 0 /\ arg1p2 > 0 /\ arg1 > 0), cost: 1 Propagated Equalities Original rule: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p3, arg2'=arg2p3, arg3'=arg3p3, arg4'=arg4p3, (-1+arg3 < 0 /\ arg1p3 > 0 /\ -arg3p3+arg4 == 0 /\ -1-arg2p3+arg4 == 0 /\ 1+arg4 > 0 /\ arg4-arg4p3 == 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0), cost: 1 New rule: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p3, arg2'=-1+arg4, arg3'=arg4, arg4'=arg4, (0 == 0 /\ -1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0), cost: 1 propagated equality arg3p3 = arg4 propagated equality arg2p3 = -1+arg4 propagated equality arg4p3 = arg4 Simplified Guard Original rule: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p3, arg2'=-1+arg4, arg3'=arg4, arg4'=arg4, (0 == 0 /\ -1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0), cost: 1 New rule: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p3, arg2'=-1+arg4, arg3'=arg4, arg4'=arg4, (-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0), cost: 1 Removed Trivial Updates Original rule: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p3, arg2'=-1+arg4, arg3'=arg4, arg4'=arg4, (-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0), cost: 1 New rule: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p3, arg2'=-1+arg4, arg3'=arg4, (-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0), cost: 1 Propagated Equalities Original rule: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p4, arg2'=arg2p4, arg3'=arg3p4, arg4'=arg4p4, (-arg4p4+arg4 == 0 /\ arg1p4 > 0 /\ arg3 > 0 /\ arg1p4-arg1 <= 0 /\ arg2-arg3p4 == 0 /\ -1+arg2-arg2p4 == 0 /\ arg1 > 0), cost: 1 New rule: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p4, arg2'=-1+arg2, arg3'=arg2, arg4'=arg4, (0 == 0 /\ arg1p4 > 0 /\ arg3 > 0 /\ arg1p4-arg1 <= 0 /\ arg1 > 0), cost: 1 propagated equality arg4p4 = arg4 propagated equality arg3p4 = arg2 propagated equality arg2p4 = -1+arg2 Simplified Guard Original rule: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p4, arg2'=-1+arg2, arg3'=arg2, arg4'=arg4, (0 == 0 /\ arg1p4 > 0 /\ arg3 > 0 /\ arg1p4-arg1 <= 0 /\ arg1 > 0), cost: 1 New rule: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p4, arg2'=-1+arg2, arg3'=arg2, arg4'=arg4, (arg1p4 > 0 /\ arg3 > 0 /\ arg1p4-arg1 <= 0 /\ arg1 > 0), cost: 1 Removed Trivial Updates Original rule: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p4, arg2'=-1+arg2, arg3'=arg2, arg4'=arg4, (arg1p4 > 0 /\ arg3 > 0 /\ arg1p4-arg1 <= 0 /\ arg1 > 0), cost: 1 New rule: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p4, arg2'=-1+arg2, arg3'=arg2, (arg1p4 > 0 /\ arg3 > 0 /\ arg1p4-arg1 <= 0 /\ arg1 > 0), cost: 1 Propagated Equalities Original rule: f276_0_mk_LE -> f401_0_mk_LE : arg1'=arg1p5, arg2'=arg2p5, arg3'=arg3p5, arg4'=arg4p5, (-1+arg3 < 0 /\ -1-arg1p5+arg4 == 0 /\ 1+arg4 > 0 /\ -arg2p5+arg4 == 0 /\ arg1 > 0), cost: 1 New rule: f276_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg4, arg2'=arg4, arg3'=arg3p5, arg4'=arg4p5, (0 == 0 /\ -1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0), cost: 1 propagated equality arg1p5 = -1+arg4 propagated equality arg2p5 = arg4 Simplified Guard Original rule: f276_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg4, arg2'=arg4, arg3'=arg3p5, arg4'=arg4p5, (0 == 0 /\ -1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0), cost: 1 New rule: f276_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg4, arg2'=arg4, arg3'=arg3p5, arg4'=arg4p5, (-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0), cost: 1 Propagated Equalities Original rule: f401_0_mk_LE -> f576_0_test_LT : arg1'=arg1p6, arg2'=arg2p6, arg3'=arg3p6, arg4'=arg4p6, (2-arg1p6 == 0 /\ -1+arg2 < 0), cost: 1 New rule: f401_0_mk_LE -> f576_0_test_LT : arg1'=2, arg2'=arg2p6, arg3'=arg3p6, arg4'=arg4p6, (0 == 0 /\ -1+arg2 < 0), cost: 1 propagated equality arg1p6 = 2 Simplified Guard Original rule: f401_0_mk_LE -> f576_0_test_LT : arg1'=2, arg2'=arg2p6, arg3'=arg3p6, arg4'=arg4p6, (0 == 0 /\ -1+arg2 < 0), cost: 1 New rule: f401_0_mk_LE -> f576_0_test_LT : arg1'=2, arg2'=arg2p6, arg3'=arg3p6, arg4'=arg4p6, -1+arg2 < 0, cost: 1 Propagated Equalities Original rule: f401_0_mk_LE -> f401_0_mk_LE : arg1'=arg1p7, arg2'=arg2p7, arg3'=arg3p7, arg4'=arg4p7, (arg2 > 0 /\ -arg2p7+arg1 == 0 /\ -1-arg1p7+arg1 == 0), cost: 1 New rule: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg1, arg2'=arg1, arg3'=arg3p7, arg4'=arg4p7, (0 == 0 /\ arg2 > 0), cost: 1 propagated equality arg2p7 = arg1 propagated equality arg1p7 = -1+arg1 Simplified Guard Original rule: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg1, arg2'=arg1, arg3'=arg3p7, arg4'=arg4p7, (0 == 0 /\ arg2 > 0), cost: 1 New rule: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg1, arg2'=arg1, arg3'=arg3p7, arg4'=arg4p7, arg2 > 0, cost: 1 Propagated Equalities Original rule: f576_0_test_LT -> f576_0_test_LT : arg1'=arg1p9, arg2'=arg2p9, arg3'=arg3p9, arg4'=arg4p9, (-3+arg1 < 0 /\ 1+arg1 > 0 /\ -1-arg1p9+arg1 == 0), cost: 1 New rule: f576_0_test_LT -> f576_0_test_LT : arg1'=-1+arg1, arg2'=arg2p9, arg3'=arg3p9, arg4'=arg4p9, (0 == 0 /\ -3+arg1 < 0 /\ 1+arg1 > 0), cost: 1 propagated equality arg1p9 = -1+arg1 Simplified Guard Original rule: f576_0_test_LT -> f576_0_test_LT : arg1'=-1+arg1, arg2'=arg2p9, arg3'=arg3p9, arg4'=arg4p9, (0 == 0 /\ -3+arg1 < 0 /\ 1+arg1 > 0), cost: 1 New rule: f576_0_test_LT -> f576_0_test_LT : arg1'=-1+arg1, arg2'=arg2p9, arg3'=arg3p9, arg4'=arg4p9, (-3+arg1 < 0 /\ 1+arg1 > 0), cost: 1 Propagated Equalities Original rule: __init -> f162_0_mk_LE : arg1'=arg1p1, arg2'=arg2p1, arg3'=arg3p1, arg4'=arg4p1, (-arg3p1+arg2p11 == 0 /\ arg2p11-arg4p1 == 0 /\ arg1p1-arg1p11 <= 0 /\ arg1p1 > 0 /\ 1+arg2p11 > 0 /\ -1+arg2p11-arg2p1 == 0 /\ arg1p11 > 0), cost: 1 New rule: __init -> f162_0_mk_LE : arg1'=arg1p1, arg2'=-1+arg2p11, arg3'=arg2p11, arg4'=arg2p11, (0 == 0 /\ arg1p1-arg1p11 <= 0 /\ arg1p1 > 0 /\ 1+arg2p11 > 0 /\ arg1p11 > 0), cost: 1 propagated equality arg3p1 = arg2p11 propagated equality arg4p1 = arg2p11 propagated equality arg2p1 = -1+arg2p11 Simplified Guard Original rule: __init -> f162_0_mk_LE : arg1'=arg1p1, arg2'=-1+arg2p11, arg3'=arg2p11, arg4'=arg2p11, (0 == 0 /\ arg1p1-arg1p11 <= 0 /\ arg1p1 > 0 /\ 1+arg2p11 > 0 /\ arg1p11 > 0), cost: 1 New rule: __init -> f162_0_mk_LE : arg1'=arg1p1, arg2'=-1+arg2p11, arg3'=arg2p11, arg4'=arg2p11, (arg1p1-arg1p11 <= 0 /\ arg1p1 > 0 /\ 1+arg2p11 > 0 /\ arg1p11 > 0), cost: 1 Eliminated Temporary Variables via Transitive Closure Original rule: __init -> f162_0_mk_LE : arg1'=arg1p1, arg2'=-1+arg2p11, arg3'=arg2p11, arg4'=arg2p11, (arg1p1-arg1p11 <= 0 /\ arg1p1 > 0 /\ 1+arg2p11 > 0 /\ arg1p11 > 0), cost: 1 New rule: __init -> f162_0_mk_LE : arg1'=arg1p1, arg2'=-1+arg2p11, arg3'=arg2p11, arg4'=arg2p11, (arg1p1 > 0 /\ 1+arg2p11 > 0), cost: 1 Step with 19 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)] Blocked [{}, {}] Step with 13 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)] Blocked [{}, {}, {}] Step with 15 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)] Blocked [{}, {}, {}, {}] Step with 16 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 16[(-1+arg2 < 0)] Blocked [{}, {}, {}, {}, {}] Step with 7 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 16[(-1+arg2 < 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)] Blocked [{}, {}, {}, {}, {}, {}] Step with 9 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 16[(-1+arg2 < 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)], 9[(1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0)] Blocked [{}, {}, {}, {}, {}, {}, {}] Acceleration Failed marked recursive suffix as redundant Step with 9 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 16[(-1+arg2 < 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)], 9[(1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0)], 9[(1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0)] Blocked [{}, {}, {}, {}, {}, {}, {}, {}] Covered Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 16[(-1+arg2 < 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)], 9[(1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0)] Blocked [{}, {}, {}, {}, {}, {}, {9[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 16[(-1+arg2 < 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)] Blocked [{}, {}, {}, {}, {}, {9[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 16[(-1+arg2 < 0)] Blocked [{}, {}, {}, {}, {7[T]}] Step with 18 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 16[(-1+arg2 < 0)], 18[(-3+arg1 < 0 /\ 1+arg1 > 0)] Blocked [{}, {}, {}, {}, {7[T]}, {}] Accelerate Start location: __init Program variables: arg1 arg2 arg3 arg4 12: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1p2, arg2'=-1+arg2, arg3'=arg2, (arg3 > 0 /\ arg1p2-arg1 <= 0 /\ arg1p2 > 0 /\ arg1 > 0), cost: 1 13: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p3, arg2'=-1+arg4, arg3'=arg4, (-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0), cost: 1 14: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p4, arg2'=-1+arg2, arg3'=arg2, (arg1p4 > 0 /\ arg3 > 0 /\ arg1p4-arg1 <= 0 /\ arg1 > 0), cost: 1 15: f276_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg4, arg2'=arg4, arg3'=arg3p5, arg4'=arg4p5, (-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0), cost: 1 16: f401_0_mk_LE -> f576_0_test_LT : arg1'=2, arg2'=arg2p6, arg3'=arg3p6, arg4'=arg4p6, -1+arg2 < 0, cost: 1 17: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg1, arg2'=arg1, arg3'=arg3p7, arg4'=arg4p7, arg2 > 0, cost: 1 7: f576_0_test_LT -> f470_0_length_NONNULL : arg1'=arg1p8, arg2'=arg2p8, arg3'=arg3p8, arg4'=arg4p8, (-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0), cost: 1 18: f576_0_test_LT -> f576_0_test_LT : arg1'=-1+arg1, arg2'=arg2p9, arg3'=arg3p9, arg4'=arg4p9, (-3+arg1 < 0 /\ 1+arg1 > 0), cost: 1 20: f576_0_test_LT -> f576_0_test_LT : arg1'=-n+arg1, arg2'=arg2p9, arg3'=arg3p9, arg4'=arg4p9, (-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0), cost: 1 9: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg1'=arg1p10, arg2'=arg2p10, arg3'=arg3p10, arg4'=arg4p10, (1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0), cost: 1 19: __init -> f162_0_mk_LE : arg1'=arg1p1, arg2'=-1+arg2p11, arg3'=arg2p11, arg4'=arg2p11, (arg1p1 > 0 /\ 1+arg2p11 > 0), cost: 1 Loop Acceleration Original rule: f576_0_test_LT -> f576_0_test_LT : arg1'=-1+arg1, arg2'=arg2p9, arg3'=arg3p9, arg4'=arg4p9, (-3+arg1 < 0 /\ 1+arg1 > 0), cost: 1 New rule: f576_0_test_LT -> f576_0_test_LT : arg1'=-n+arg1, arg2'=arg2p9, arg3'=arg3p9, arg4'=arg4p9, (-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0), cost: 1 1+arg1 > 0 [0]: montonic decrease yields 2-n+arg1 > 0 1+arg1 > 0 [1]: eventual increase yields (1 <= 0 /\ 1+arg1 > 0) 3-arg1 > 0 [0]: monotonic increase yields 3-arg1 > 0 Replacement map: {1+arg1 > 0 -> 2-n+arg1 > 0, 3-arg1 > 0 -> 3-arg1 > 0} Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 16[(-1+arg2 < 0)], 20[(-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0)] Blocked [{}, {}, {}, {}, {7[T]}, {18[T], 20[T]}] Step with 7 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 16[(-1+arg2 < 0)], 20[(-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)] Blocked [{}, {}, {}, {}, {7[T]}, {18[T], 20[T]}, {}] Step with 9 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 16[(-1+arg2 < 0)], 20[(-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)], 9[(1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0)] Blocked [{}, {}, {}, {}, {7[T]}, {18[T], 20[T]}, {}, {}] Step with 9 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 16[(-1+arg2 < 0)], 20[(-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)], 9[(1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0)], 9[(1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0)] Blocked [{}, {}, {}, {}, {7[T]}, {18[T], 20[T]}, {}, {}, {}] Covered Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 16[(-1+arg2 < 0)], 20[(-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)], 9[(1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0)] Blocked [{}, {}, {}, {}, {7[T]}, {18[T], 20[T]}, {}, {9[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 16[(-1+arg2 < 0)], 20[(-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)] Blocked [{}, {}, {}, {}, {7[T]}, {18[T], 20[T]}, {9[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 16[(-1+arg2 < 0)], 20[(-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0)] Blocked [{}, {}, {}, {}, {7[T]}, {7[T], 18[T], 20[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 16[(-1+arg2 < 0)] Blocked [{}, {}, {}, {}, {7[T], 20[T]}] Step with 18 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 16[(-1+arg2 < 0)], 18[(-3+arg1 < 0 /\ 1+arg1 > 0)] Blocked [{}, {}, {}, {}, {7[T], 20[T]}, {}] Covered Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 16[(-1+arg2 < 0)] Blocked [{}, {}, {}, {}, {7[T], 18[T], 20[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)] Blocked [{}, {}, {}, {16[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)] Blocked [{}, {}, {15[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)] Blocked [{}, {13[T]}] Step with 12 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 12[(arg3 > 0 /\ arg1p2-arg1 <= 0 /\ arg1p2 > 0 /\ arg1 > 0)] Blocked [{}, {13[T]}, {}] Accelerate Start location: __init Program variables: arg1 arg2 arg3 arg4 12: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1p2, arg2'=-1+arg2, arg3'=arg2, (arg3 > 0 /\ arg1p2-arg1 <= 0 /\ arg1p2 > 0 /\ arg1 > 0), cost: 1 13: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p3, arg2'=-1+arg4, arg3'=arg4, (-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0), cost: 1 21: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1p2, arg2'=-n2+arg2, arg3'=1-n2+arg2, (-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0), cost: 1 14: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p4, arg2'=-1+arg2, arg3'=arg2, (arg1p4 > 0 /\ arg3 > 0 /\ arg1p4-arg1 <= 0 /\ arg1 > 0), cost: 1 15: f276_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg4, arg2'=arg4, arg3'=arg3p5, arg4'=arg4p5, (-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0), cost: 1 16: f401_0_mk_LE -> f576_0_test_LT : arg1'=2, arg2'=arg2p6, arg3'=arg3p6, arg4'=arg4p6, -1+arg2 < 0, cost: 1 17: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg1, arg2'=arg1, arg3'=arg3p7, arg4'=arg4p7, arg2 > 0, cost: 1 7: f576_0_test_LT -> f470_0_length_NONNULL : arg1'=arg1p8, arg2'=arg2p8, arg3'=arg3p8, arg4'=arg4p8, (-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0), cost: 1 18: f576_0_test_LT -> f576_0_test_LT : arg1'=-1+arg1, arg2'=arg2p9, arg3'=arg3p9, arg4'=arg4p9, (-3+arg1 < 0 /\ 1+arg1 > 0), cost: 1 20: f576_0_test_LT -> f576_0_test_LT : arg1'=-n+arg1, arg2'=arg2p9, arg3'=arg3p9, arg4'=arg4p9, (-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0), cost: 1 9: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg1'=arg1p10, arg2'=arg2p10, arg3'=arg3p10, arg4'=arg4p10, (1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0), cost: 1 19: __init -> f162_0_mk_LE : arg1'=arg1p1, arg2'=-1+arg2p11, arg3'=arg2p11, arg4'=arg2p11, (arg1p1 > 0 /\ 1+arg2p11 > 0), cost: 1 Loop Acceleration Original rule: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1p2, arg2'=-1+arg2, arg3'=arg2, (arg3 > 0 /\ arg1p2-arg1 <= 0 /\ arg1p2 > 0 /\ arg1 > 0), cost: 1 New rule: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1p2, arg2'=-n2+arg2, arg3'=1-n2+arg2, (-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0), cost: 1 arg3 > 0 [0]: eventual decrease yields (2-n2+arg2 > 0 /\ arg3 > 0) arg1p2 > 0 [0]: monotonic increase yields arg1p2 > 0 -arg1p2+arg1 >= 0 [0]: monotonic increase yields -arg1p2+arg1 >= 0 arg1 > 0 [0]: montonic decrease yields arg1p2 > 0, dependencies: -arg1p2+arg1 >= 0 arg1 > 0 [1]: eventual increase yields (-arg1p2+arg1 <= 0 /\ arg1 > 0) Replacement map: {arg3 > 0 -> (2-n2+arg2 > 0 /\ arg3 > 0), arg1p2 > 0 -> arg1p2 > 0, -arg1p2+arg1 >= 0 -> -arg1p2+arg1 >= 0, arg1 > 0 -> arg1p2 > 0} Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}] Step with 13 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {}] Step with 14 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 14[(arg1p4 > 0 /\ arg3 > 0 /\ arg1p4-arg1 <= 0 /\ arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {}] Accelerate Start location: __init Program variables: arg1 arg2 arg3 arg4 12: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1p2, arg2'=-1+arg2, arg3'=arg2, (arg3 > 0 /\ arg1p2-arg1 <= 0 /\ arg1p2 > 0 /\ arg1 > 0), cost: 1 13: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p3, arg2'=-1+arg4, arg3'=arg4, (-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0), cost: 1 21: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1p2, arg2'=-n2+arg2, arg3'=1-n2+arg2, (-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0), cost: 1 14: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p4, arg2'=-1+arg2, arg3'=arg2, (arg1p4 > 0 /\ arg3 > 0 /\ arg1p4-arg1 <= 0 /\ arg1 > 0), cost: 1 15: f276_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg4, arg2'=arg4, arg3'=arg3p5, arg4'=arg4p5, (-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0), cost: 1 22: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p4, arg2'=arg2-n3, arg3'=1+arg2-n3, (arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0), cost: 1 16: f401_0_mk_LE -> f576_0_test_LT : arg1'=2, arg2'=arg2p6, arg3'=arg3p6, arg4'=arg4p6, -1+arg2 < 0, cost: 1 17: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg1, arg2'=arg1, arg3'=arg3p7, arg4'=arg4p7, arg2 > 0, cost: 1 7: f576_0_test_LT -> f470_0_length_NONNULL : arg1'=arg1p8, arg2'=arg2p8, arg3'=arg3p8, arg4'=arg4p8, (-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0), cost: 1 18: f576_0_test_LT -> f576_0_test_LT : arg1'=-1+arg1, arg2'=arg2p9, arg3'=arg3p9, arg4'=arg4p9, (-3+arg1 < 0 /\ 1+arg1 > 0), cost: 1 20: f576_0_test_LT -> f576_0_test_LT : arg1'=-n+arg1, arg2'=arg2p9, arg3'=arg3p9, arg4'=arg4p9, (-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0), cost: 1 9: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg1'=arg1p10, arg2'=arg2p10, arg3'=arg3p10, arg4'=arg4p10, (1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0), cost: 1 19: __init -> f162_0_mk_LE : arg1'=arg1p1, arg2'=-1+arg2p11, arg3'=arg2p11, arg4'=arg2p11, (arg1p1 > 0 /\ 1+arg2p11 > 0), cost: 1 Loop Acceleration Original rule: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p4, arg2'=-1+arg2, arg3'=arg2, (arg1p4 > 0 /\ arg3 > 0 /\ arg1p4-arg1 <= 0 /\ arg1 > 0), cost: 1 New rule: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p4, arg2'=arg2-n3, arg3'=1+arg2-n3, (arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0), cost: 1 arg1p4 > 0 [0]: monotonic increase yields arg1p4 > 0 arg3 > 0 [0]: eventual decrease yields (arg3 > 0 /\ 2+arg2-n3 > 0) -arg1p4+arg1 >= 0 [0]: monotonic increase yields -arg1p4+arg1 >= 0 arg1 > 0 [0]: montonic decrease yields arg1p4 > 0, dependencies: -arg1p4+arg1 >= 0 arg1 > 0 [1]: eventual increase yields (-arg1p4+arg1 <= 0 /\ arg1 > 0) Replacement map: {arg1p4 > 0 -> arg1p4 > 0, arg3 > 0 -> (arg3 > 0 /\ 2+arg2-n3 > 0), -arg1p4+arg1 >= 0 -> -arg1p4+arg1 >= 0, arg1 > 0 -> arg1p4 > 0} Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}] Step with 15 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {}] Step with 17 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 17[(arg2 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {}] Accelerate Start location: __init Program variables: arg1 arg2 arg3 arg4 12: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1p2, arg2'=-1+arg2, arg3'=arg2, (arg3 > 0 /\ arg1p2-arg1 <= 0 /\ arg1p2 > 0 /\ arg1 > 0), cost: 1 13: f162_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p3, arg2'=-1+arg4, arg3'=arg4, (-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0), cost: 1 21: f162_0_mk_LE -> f162_0_mk_LE : arg1'=arg1p2, arg2'=-n2+arg2, arg3'=1-n2+arg2, (-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0), cost: 1 14: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p4, arg2'=-1+arg2, arg3'=arg2, (arg1p4 > 0 /\ arg3 > 0 /\ arg1p4-arg1 <= 0 /\ arg1 > 0), cost: 1 15: f276_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg4, arg2'=arg4, arg3'=arg3p5, arg4'=arg4p5, (-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0), cost: 1 22: f276_0_mk_LE -> f276_0_mk_LE : arg1'=arg1p4, arg2'=arg2-n3, arg3'=1+arg2-n3, (arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0), cost: 1 16: f401_0_mk_LE -> f576_0_test_LT : arg1'=2, arg2'=arg2p6, arg3'=arg3p6, arg4'=arg4p6, -1+arg2 < 0, cost: 1 17: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg1, arg2'=arg1, arg3'=arg3p7, arg4'=arg4p7, arg2 > 0, cost: 1 23: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-n4+arg1, arg2'=1-n4+arg1, arg3'=arg3p7, arg4'=arg4p7, (arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0), cost: 1 7: f576_0_test_LT -> f470_0_length_NONNULL : arg1'=arg1p8, arg2'=arg2p8, arg3'=arg3p8, arg4'=arg4p8, (-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0), cost: 1 18: f576_0_test_LT -> f576_0_test_LT : arg1'=-1+arg1, arg2'=arg2p9, arg3'=arg3p9, arg4'=arg4p9, (-3+arg1 < 0 /\ 1+arg1 > 0), cost: 1 20: f576_0_test_LT -> f576_0_test_LT : arg1'=-n+arg1, arg2'=arg2p9, arg3'=arg3p9, arg4'=arg4p9, (-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0), cost: 1 9: f470_0_length_NONNULL -> f470_0_length_NONNULL : arg1'=arg1p10, arg2'=arg2p10, arg3'=arg3p10, arg4'=arg4p10, (1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0), cost: 1 19: __init -> f162_0_mk_LE : arg1'=arg1p1, arg2'=-1+arg2p11, arg3'=arg2p11, arg4'=arg2p11, (arg1p1 > 0 /\ 1+arg2p11 > 0), cost: 1 Loop Acceleration Original rule: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-1+arg1, arg2'=arg1, arg3'=arg3p7, arg4'=arg4p7, (arg2 > 0), cost: 1 New rule: f401_0_mk_LE -> f401_0_mk_LE : arg1'=-n4+arg1, arg2'=1-n4+arg1, arg3'=arg3p7, arg4'=arg4p7, (arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0), cost: 1 arg2 > 0 [0]: eventual decrease yields (arg2 > 0 /\ 2-n4+arg1 > 0) Replacement map: {arg2 > 0 -> (arg2 > 0 /\ 2-n4+arg1 > 0)} Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}] Step with 16 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {}] Step with 18 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)], 18[(-3+arg1 < 0 /\ 1+arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {}, {}] Covered Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {18[T]}] Step with 20 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)], 20[(-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {18[T]}, {20[T]}] Step with 7 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)], 20[(-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {18[T]}, {20[T]}, {}] Step with 9 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)], 20[(-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)], 9[(1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {18[T]}, {20[T]}, {}, {}] Step with 9 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)], 20[(-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)], 9[(1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0)], 9[(1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {18[T]}, {20[T]}, {}, {}, {}] Covered Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)], 20[(-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)], 9[(1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {18[T]}, {20[T]}, {}, {9[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)], 20[(-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {18[T]}, {20[T]}, {9[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)], 20[(-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {18[T]}, {7[T], 20[T]}] Step with 18 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)], 20[(-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0)], 18[(-3+arg1 < 0 /\ 1+arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {18[T]}, {7[T], 20[T]}, {}] Covered Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)], 20[(-1+n >= 0 /\ 2-n+arg1 > 0 /\ 3-arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {18[T]}, {7[T], 18[T], 20[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {18[T], 20[T]}] Step with 7 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {18[T], 20[T]}, {}] Step with 9 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)], 9[(1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {18[T], 20[T]}, {}, {}] Step with 9 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)], 9[(1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0)], 9[(1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {18[T], 20[T]}, {}, {}, {}] Covered Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)], 9[(1+arg1p10-arg1 <= 0 /\ 1+arg1p10 > 0 /\ arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {18[T], 20[T]}, {}, {9[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)], 7[(-3+arg1 < 0 /\ 1+arg1 > 0 /\ 1+arg1p8 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {18[T], 20[T]}, {9[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)], 16[(-1+arg2 < 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {17[T], 23[T]}, {7[T], 18[T], 20[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 23[(arg2 > 0 /\ -1+n4 >= 0 /\ 2-n4+arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T]}, {16[T], 17[T], 23[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T], 23[T]}] Step with 17 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)], 17[(arg2 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T], 23[T]}, {}] Covered Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)], 15[(-1+arg3 < 0 /\ 1+arg4 > 0 /\ arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 22[T]}, {16[T], 17[T], 23[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 22[(arg1p4 > 0 /\ arg3 > 0 /\ -1+n3 >= 0 /\ 2+arg2-n3 > 0 /\ -arg1p4+arg1 >= 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T]}, {14[T], 15[T], 22[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T], 22[T]}] Step with 14 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)], 14[(arg1p4 > 0 /\ arg3 > 0 /\ arg1p4-arg1 <= 0 /\ arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {15[T], 22[T]}, {}] Covered Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)], 13[(-1+arg3 < 0 /\ arg1p3 > 0 /\ 1+arg4 > 0 /\ -arg1p3+arg1 >= 0 /\ arg1 > 0)] Blocked [{}, {13[T]}, {12[T], 21[T]}, {14[T], 15[T], 22[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 21[(-1+n2 >= 0 /\ 2-n2+arg2 > 0 /\ arg3 > 0 /\ arg1p2 > 0 /\ -arg1p2+arg1 >= 0)] Blocked [{}, {13[T]}, {12[T], 13[T], 21[T]}] Backtrack Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)] Blocked [{}, {13[T], 21[T]}] Step with 12 Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)], 12[(arg3 > 0 /\ arg1p2-arg1 <= 0 /\ arg1p2 > 0 /\ arg1 > 0)] Blocked [{}, {13[T], 21[T]}, {}] Covered Trace 19[(arg1p1 > 0 /\ 1+arg2p11 > 0)] Blocked [{}, {12[T], 13[T], 21[T]}] Backtrack Trace Blocked [{19[T]}] Accept unknown Build SHA: a05f16bf13df659c382799650051f91bf6828c7b