NO Initial ITS Start location: __init 0: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=arg1P0, arg2'=arg2P0, (-arg1P0 == 0 /\ -arg2P0 == 0), cost: 1 1: f124_0_main_GT -> f124_0_main_GT : arg1'=arg1P1, arg2'=arg2P1, (-arg2P1+arg2 == 0 /\ -1-arg1+arg2 >= 0 /\ 1+arg1 > 0 /\ -arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ 1+arg1-arg1P1 == 0), cost: 1 2: f124_0_main_GT -> f124_0_main_GT : arg1'=arg1P2, arg2'=arg2P2, (1+arg1 > 0 /\ 1+arg1-arg1P2 == 0 /\ -arg1+arg2 >= 0 /\ -arg1+arg2 == 0 /\ 1+arg2 > 0 /\ 2-arg2P2+arg2 == 0), cost: 1 3: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P3, arg2'=arg2P3, TRUE, cost: 1 Applied preprocessing Original rule: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=arg1P0, arg2'=arg2P0, (-arg1P0 == 0 /\ -arg2P0 == 0), cost: 1 New rule: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=0, arg2'=0, TRUE, cost: 1 Applied preprocessing Original rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg1P1, arg2'=arg2P1, (-arg2P1+arg2 == 0 /\ -1-arg1+arg2 >= 0 /\ 1+arg1 > 0 /\ -arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ 1+arg1-arg1P1 == 0), cost: 1 New rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg1, (-1-arg1+arg2 >= 0 /\ 1+arg1 > 0), cost: 1 Applied preprocessing Original rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg1P2, arg2'=arg2P2, (1+arg1 > 0 /\ 1+arg1-arg1P2 == 0 /\ -arg1+arg2 >= 0 /\ -arg1+arg2 == 0 /\ 1+arg2 > 0 /\ 2-arg2P2+arg2 == 0), cost: 1 New rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg1, arg2'=2+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 1 Simplified rules Start location: __init 4: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=0, arg2'=0, TRUE, cost: 1 5: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg1, (-1-arg1+arg2 >= 0 /\ 1+arg1 > 0), cost: 1 6: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg1, arg2'=2+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 1 3: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P3, arg2'=arg2P3, TRUE, cost: 1 Applied acceleration Original rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg1, (-1-arg1+arg2 >= 0 /\ 1+arg1 > 0), cost: 1 New rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg1+n1, (n1 >= 0 /\ 1+arg1 > 0 /\ -arg1-n1+arg2 >= 0), cost: n1 Applied instantiation Original rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg1+n1, (n1 >= 0 /\ 1+arg1 > 0 /\ -arg1-n1+arg2 >= 0), cost: n1 New rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg2, (0 >= 0 /\ 1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: -arg1+arg2 Applied acceleration Original rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg1, arg2'=2+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 1 New rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg1+n3, arg2'=2*n3+arg2, (n3 >= 0 /\ -arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ 1+arg1-n3-arg2 >= 0 /\ arg1-arg2 >= 0), cost: n3 Applied instantiation Original rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg1+n3, arg2'=2*n3+arg2, (n3 >= 0 /\ -arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ 1+arg1-n3-arg2 >= 0 /\ arg1-arg2 >= 0), cost: n3 New rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+2*arg1-arg2, arg2'=2+2*arg1-arg2, (0 >= 0 /\ -arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ 1+arg1-arg2 >= 0 /\ arg1-arg2 >= 0), cost: 1+arg1-arg2 Applied chaining First rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg1, (-1-arg1+arg2 >= 0 /\ 1+arg1 > 0), cost: 1 Second rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg1, arg2'=2+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 1 New rule: f124_0_main_GT -> f124_0_main_GT : arg1'=2+arg1, arg2'=2+arg2, (-1-arg1+arg2 == 0 /\ 1+arg1 > 0), cost: 2 Applied nonterm Original rule: f124_0_main_GT -> f124_0_main_GT : arg1'=2+arg1, arg2'=2+arg2, (-1-arg1+arg2 == 0 /\ 1+arg1 > 0), cost: 2 New rule: f124_0_main_GT -> [3] : (-1-arg1+arg2 >= 0 /\ 1+arg1 > 0 /\ 1+arg1-arg2 >= 0), cost: NONTERM Applied acceleration Original rule: f124_0_main_GT -> f124_0_main_GT : arg1'=2+arg1, arg2'=2+arg2, (-1-arg1+arg2 == 0 /\ 1+arg1 > 0), cost: 2 New rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg1+2*n5, arg2'=2*n5+arg2, (-1-arg1+arg2 >= 0 /\ 1+arg1 > 0 /\ 1+arg1-arg2 >= 0), cost: 2*n5 Applied chaining First rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg1, arg2'=2+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 1 Second rule: f124_0_main_GT -> [3] : (-1-arg1+arg2 >= 0 /\ 1+arg1 > 0 /\ 1+arg1-arg2 >= 0), cost: NONTERM New rule: f124_0_main_GT -> [3] : (-arg1+arg2 >= 0 /\ -arg1+arg2 == 0 /\ 1+arg2 > 0 /\ arg1-arg2 >= 0 /\ 2+arg1 > 0), cost: NONTERM Heuristically decided not to add the following rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg1+2*n5, arg2'=2*n5+arg2, (-1-arg1+arg2 >= 0 /\ 1+arg1 > 0 /\ 1+arg1-arg2 >= 0), cost: 2*n5 Applied chaining First rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg1, arg2'=2+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 1 Second rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg1, (-1-arg1+arg2 >= 0 /\ 1+arg1 > 0), cost: 1 New rule: f124_0_main_GT -> f124_0_main_GT : arg1'=2+arg1, arg2'=2+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 2 Applied nonterm Original rule: f124_0_main_GT -> f124_0_main_GT : arg1'=2+arg1, arg2'=2+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 2 New rule: f124_0_main_GT -> [3] : (-arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ arg1-arg2 >= 0), cost: NONTERM Applied acceleration Original rule: f124_0_main_GT -> f124_0_main_GT : arg1'=2+arg1, arg2'=2+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 2 New rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg1+2*n7, arg2'=arg2+2*n7, (-arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ arg1-arg2 >= 0), cost: 2*n7 Applied chaining First rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg1, (-1-arg1+arg2 >= 0 /\ 1+arg1 > 0), cost: 1 Second rule: f124_0_main_GT -> [3] : (-arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ arg1-arg2 >= 0), cost: NONTERM New rule: f124_0_main_GT -> [3] : (-1-arg1+arg2 >= 0 /\ 1+arg1 > 0 /\ 1+arg2 > 0 /\ 1+arg1-arg2 >= 0), cost: NONTERM Heuristically decided not to add the following rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg1+2*n7, arg2'=arg2+2*n7, (-arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ arg1-arg2 >= 0), cost: 2*n7 Applied chaining First rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg1, arg2'=2+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 1 Second rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg2, (0 >= 0 /\ 1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: -arg1+arg2 New rule: f124_0_main_GT -> f124_0_main_GT : arg1'=2+arg2, arg2'=2+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 2-arg1+arg2 Applied nonterm Original rule: f124_0_main_GT -> f124_0_main_GT : arg1'=2+arg2, arg2'=2+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 2-arg1+arg2 New rule: f124_0_main_GT -> [3] : (-arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ arg1-arg2 >= 0), cost: NONTERM Applied acceleration Original rule: f124_0_main_GT -> f124_0_main_GT : arg1'=2+arg2, arg2'=2+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 2-arg1+arg2 New rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg2+2*n11, arg2'=arg2+2*n11, (-arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ arg1-arg2 >= 0), cost: 2*n11 Applied chaining First rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg2, (0 >= 0 /\ 1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: -arg1+arg2 Second rule: f124_0_main_GT -> [3] : (-arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ arg1-arg2 >= 0), cost: NONTERM New rule: f124_0_main_GT -> [3] : (0 >= 0 /\ 1+arg1 > 0 /\ -arg1+arg2 >= 0 /\ 1+arg2 > 0), cost: NONTERM Heuristically decided not to add the following rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg2+2*n11, arg2'=arg2+2*n11, (-arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ arg1-arg2 >= 0), cost: 2*n11 Applied chaining First rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg2, (0 >= 0 /\ 1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: -arg1+arg2 Second rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg1, arg2'=2+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 1 New rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg2, arg2'=2+arg2, (1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: 1-arg1+arg2 Applied nonterm Original rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg2, arg2'=2+arg2, (1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: 1-arg1+arg2 New rule: f124_0_main_GT -> [3] : (1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: NONTERM Applied acceleration Original rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg2, arg2'=2+arg2, (1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: 1-arg1+arg2 New rule: f124_0_main_GT -> f124_0_main_GT : arg1'=-1+2*n13+arg2, arg2'=2*n13+arg2, (1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: 2*n13 Applied chaining First rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg1, arg2'=2+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 1 Second rule: f124_0_main_GT -> [3] : (1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: NONTERM New rule: f124_0_main_GT -> [3] : (1-arg1+arg2 >= 0 /\ -arg1+arg2 == 0 /\ 1+arg2 > 0 /\ 2+arg1 > 0), cost: NONTERM Applied chaining First rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+arg1, arg2'=2+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 1 Second rule: f124_0_main_GT -> f124_0_main_GT : arg1'=-1+2*n13+arg2, arg2'=2*n13+arg2, (1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: 2*n13 New rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+2*n13+arg2, arg2'=2+2*n13+arg2, (1-arg1+arg2 >= 0 /\ -arg1+arg2 == 0 /\ 1+arg2 > 0 /\ 2+arg1 > 0), cost: 1+2*n13 Applied simplification Original rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg2, (0 >= 0 /\ 1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: -arg1+arg2 New rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg2, (1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: -arg1+arg2 Applied simplification Original rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+2*arg1-arg2, arg2'=2+2*arg1-arg2, (0 >= 0 /\ -arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ 1+arg1-arg2 >= 0 /\ arg1-arg2 >= 0), cost: 1+arg1-arg2 New rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+2*arg1-arg2, arg2'=2+2*arg1-arg2, (-arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ arg1-arg2 >= 0), cost: 1+arg1-arg2 Applied simplification Original rule: f124_0_main_GT -> [3] : (-arg1+arg2 >= 0 /\ -arg1+arg2 == 0 /\ 1+arg2 > 0 /\ arg1-arg2 >= 0 /\ 2+arg1 > 0), cost: NONTERM New rule: f124_0_main_GT -> [3] : (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: NONTERM Applied simplification Original rule: f124_0_main_GT -> [3] : (-1-arg1+arg2 >= 0 /\ 1+arg1 > 0 /\ 1+arg2 > 0 /\ 1+arg1-arg2 >= 0), cost: NONTERM New rule: f124_0_main_GT -> [3] : (-1-arg1+arg2 >= 0 /\ 1+arg1 > 0 /\ 1+arg1-arg2 >= 0), cost: NONTERM Applied simplification Original rule: f124_0_main_GT -> [3] : (0 >= 0 /\ 1+arg1 > 0 /\ -arg1+arg2 >= 0 /\ 1+arg2 > 0), cost: NONTERM New rule: f124_0_main_GT -> [3] : (1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: NONTERM Applied simplification Original rule: f124_0_main_GT -> [3] : (1-arg1+arg2 >= 0 /\ -arg1+arg2 == 0 /\ 1+arg2 > 0 /\ 2+arg1 > 0), cost: NONTERM New rule: f124_0_main_GT -> [3] : (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: NONTERM Applied simplification Original rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+2*n13+arg2, arg2'=2+2*n13+arg2, (1-arg1+arg2 >= 0 /\ -arg1+arg2 == 0 /\ 1+arg2 > 0 /\ 2+arg1 > 0), cost: 1+2*n13 New rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+2*n13+arg2, arg2'=2+2*n13+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 1+2*n13 Applied deletion Removed the following rules: 5 6 Applied deletion Removed the following rules: 9 11 15 21 Accelerated simple loops Start location: __init 4: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=0, arg2'=0, TRUE, cost: 1 13: f124_0_main_GT -> [3] : (-arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ arg1-arg2 >= 0), cost: NONTERM 17: f124_0_main_GT -> f124_0_main_GT : arg1'=-1+2*n13+arg2, arg2'=2*n13+arg2, (1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: 2*n13 19: f124_0_main_GT -> f124_0_main_GT : arg1'=arg2, (1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: -arg1+arg2 20: f124_0_main_GT -> f124_0_main_GT : arg1'=1+2*arg1-arg2, arg2'=2+2*arg1-arg2, (-arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ arg1-arg2 >= 0), cost: 1+arg1-arg2 22: f124_0_main_GT -> [3] : (-1-arg1+arg2 >= 0 /\ 1+arg1 > 0 /\ 1+arg1-arg2 >= 0), cost: NONTERM 23: f124_0_main_GT -> [3] : (1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: NONTERM 24: f124_0_main_GT -> [3] : (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: NONTERM 25: f124_0_main_GT -> f124_0_main_GT : arg1'=1+2*n13+arg2, arg2'=2+2*n13+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 1+2*n13 3: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P3, arg2'=arg2P3, TRUE, cost: 1 Applied chaining First rule: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=0, arg2'=0, TRUE, cost: 1 Second rule: f124_0_main_GT -> [3] : (-arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ arg1-arg2 >= 0), cost: NONTERM New rule: f1_0_main_ConstantStackPush -> [3] : 0 == 0, cost: NONTERM Applied chaining First rule: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=0, arg2'=0, TRUE, cost: 1 Second rule: f124_0_main_GT -> f124_0_main_GT : arg1'=-1+2*n13+arg2, arg2'=2*n13+arg2, (1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: 2*n13 New rule: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=-1+2*n13, arg2'=2*n13, 0 == 0, cost: 1+2*n13 Applied chaining First rule: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=0, arg2'=0, TRUE, cost: 1 Second rule: f124_0_main_GT -> f124_0_main_GT : arg1'=arg2, (1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: -arg1+arg2 New rule: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=0, arg2'=0, 0 == 0, cost: 1 Applied chaining First rule: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=0, arg2'=0, TRUE, cost: 1 Second rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+2*arg1-arg2, arg2'=2+2*arg1-arg2, (-arg1+arg2 >= 0 /\ 1+arg2 > 0 /\ arg1-arg2 >= 0), cost: 1+arg1-arg2 New rule: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=1, arg2'=2, 0 == 0, cost: 2 Applied chaining First rule: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=0, arg2'=0, TRUE, cost: 1 Second rule: f124_0_main_GT -> [3] : (1+arg1 > 0 /\ -arg1+arg2 >= 0), cost: NONTERM New rule: f1_0_main_ConstantStackPush -> [3] : 0 == 0, cost: NONTERM Applied chaining First rule: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=0, arg2'=0, TRUE, cost: 1 Second rule: f124_0_main_GT -> [3] : (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: NONTERM New rule: f1_0_main_ConstantStackPush -> [3] : (0 == 0 /\ 1 > 0), cost: NONTERM Applied chaining First rule: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=0, arg2'=0, TRUE, cost: 1 Second rule: f124_0_main_GT -> f124_0_main_GT : arg1'=1+2*n13+arg2, arg2'=2+2*n13+arg2, (-arg1+arg2 == 0 /\ 1+arg2 > 0), cost: 1+2*n13 New rule: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=1+2*n13, arg2'=2+2*n13, (0 == 0 /\ 1 > 0), cost: 2+2*n13 Applied deletion Removed the following rules: 13 17 19 20 22 23 24 25 Chained accelerated rules with incoming rules Start location: __init 4: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=0, arg2'=0, TRUE, cost: 1 26: f1_0_main_ConstantStackPush -> [3] : 0 == 0, cost: NONTERM 27: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=-1+2*n13, arg2'=2*n13, 0 == 0, cost: 1+2*n13 28: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=0, arg2'=0, 0 == 0, cost: 1 29: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=1, arg2'=2, 0 == 0, cost: 2 30: f1_0_main_ConstantStackPush -> [3] : 0 == 0, cost: NONTERM 31: f1_0_main_ConstantStackPush -> [3] : (0 == 0 /\ 1 > 0), cost: NONTERM 32: f1_0_main_ConstantStackPush -> f124_0_main_GT : arg1'=1+2*n13, arg2'=2+2*n13, (0 == 0 /\ 1 > 0), cost: 2+2*n13 3: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P3, arg2'=arg2P3, TRUE, cost: 1 Removed unreachable locations and irrelevant leafs Start location: __init 26: f1_0_main_ConstantStackPush -> [3] : 0 == 0, cost: NONTERM 30: f1_0_main_ConstantStackPush -> [3] : 0 == 0, cost: NONTERM 31: f1_0_main_ConstantStackPush -> [3] : (0 == 0 /\ 1 > 0), cost: NONTERM 3: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P3, arg2'=arg2P3, TRUE, cost: 1 Eliminating location f1_0_main_ConstantStackPush by chaining: Applied chaining First rule: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P3, arg2'=arg2P3, TRUE, cost: 1 Second rule: f1_0_main_ConstantStackPush -> [3] : 0 == 0, cost: NONTERM New rule: __init -> [3] : 0 == 0, cost: NONTERM Applied chaining First rule: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P3, arg2'=arg2P3, TRUE, cost: 1 Second rule: f1_0_main_ConstantStackPush -> [3] : 0 == 0, cost: NONTERM New rule: __init -> [3] : 0 == 0, cost: NONTERM Applied chaining First rule: __init -> f1_0_main_ConstantStackPush : arg1'=arg1P3, arg2'=arg2P3, TRUE, cost: 1 Second rule: f1_0_main_ConstantStackPush -> [3] : (0 == 0 /\ 1 > 0), cost: NONTERM New rule: __init -> [3] : (0 == 0 /\ 1 > 0), cost: NONTERM Applied deletion Removed the following rules: 3 26 30 31 Eliminated locations on tree-shaped paths Start location: __init 33: __init -> [3] : 0 == 0, cost: NONTERM 34: __init -> [3] : 0 == 0, cost: NONTERM 35: __init -> [3] : (0 == 0 /\ 1 > 0), cost: NONTERM Removed duplicate rules (ignoring updates) Start location: __init 34: __init -> [3] : 0 == 0, cost: NONTERM 35: __init -> [3] : (0 == 0 /\ 1 > 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: 0 == 0