NO Initial ITS Start location: __init 0: f1_0_main_Load -> f89_0_loop_LE : arg1'=arg1P0, arg2'=arg2P0, (arg1 > 0 /\ -arg1P0+arg2 == 0 /\ 1+arg2 > 0), cost: 1 1: f89_0_loop_LE -> f131_0_loop_LE : arg1'=arg1P1, arg2'=arg2P1, (-50+arg1 < 0 /\ -19+arg1 > 0 /\ arg1-arg1P1 == 0), cost: 1 2: f89_0_loop_LE -> f131_0_loop_LE : arg1'=arg1P2, arg2'=arg2P2, (arg1 > 0 /\ -50+arg1 < 0 /\ -1+arg1-arg1P2 == 0 /\ -20+arg1 < 0), cost: 1 3: f131_0_loop_LE -> f89_0_loop_LE : arg1'=arg1P3, arg2'=arg2P3, (arg1-arg1P3 == 0 /\ -11+arg1 < 0 /\ -30+arg1 < 0), cost: 1 4: f131_0_loop_LE -> f89_0_loop_LE : arg1'=arg1P4, arg2'=arg2P4, (1+arg1-arg1P4 == 0 /\ -10+arg1 > 0 /\ -29+arg1 < 0), cost: 1 5: f131_0_loop_LE -> f89_0_loop_LE : arg1'=arg1P5, arg2'=arg2P5, (-39+arg1 > 0 /\ 1+arg1-arg1P5 == 0), cost: 1 6: f131_0_loop_LE -> f89_0_loop_LE : arg1'=arg1P6, arg2'=arg2P6, (-28+arg1 > 0 /\ arg1-arg1P6 == 0 /\ -40+arg1 < 0), cost: 1 7: __init -> f1_0_main_Load : arg1'=arg1P7, arg2'=arg2P7, TRUE, cost: 1 Applied preprocessing Original rule: f1_0_main_Load -> f89_0_loop_LE : arg1'=arg1P0, arg2'=arg2P0, (arg1 > 0 /\ -arg1P0+arg2 == 0 /\ 1+arg2 > 0), cost: 1 New rule: f1_0_main_Load -> f89_0_loop_LE : arg1'=arg2, arg2'=arg2P0, (arg1 > 0 /\ 1+arg2 > 0), cost: 1 Applied preprocessing Original rule: f89_0_loop_LE -> f131_0_loop_LE : arg1'=arg1P1, arg2'=arg2P1, (-50+arg1 < 0 /\ -19+arg1 > 0 /\ arg1-arg1P1 == 0), cost: 1 New rule: f89_0_loop_LE -> f131_0_loop_LE : arg2'=arg2P1, (-19+arg1 > 0 /\ 50-arg1 > 0), cost: 1 Applied preprocessing Original rule: f89_0_loop_LE -> f131_0_loop_LE : arg1'=arg1P2, arg2'=arg2P2, (arg1 > 0 /\ -50+arg1 < 0 /\ -1+arg1-arg1P2 == 0 /\ -20+arg1 < 0), cost: 1 New rule: f89_0_loop_LE -> f131_0_loop_LE : arg1'=-1+arg1, arg2'=arg2P2, (arg1 > 0 /\ 20-arg1 > 0), cost: 1 Applied preprocessing Original rule: f131_0_loop_LE -> f89_0_loop_LE : arg1'=arg1P3, arg2'=arg2P3, (arg1-arg1P3 == 0 /\ -11+arg1 < 0 /\ -30+arg1 < 0), cost: 1 New rule: f131_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P3, 11-arg1 > 0, cost: 1 Applied preprocessing Original rule: f131_0_loop_LE -> f89_0_loop_LE : arg1'=arg1P4, arg2'=arg2P4, (1+arg1-arg1P4 == 0 /\ -10+arg1 > 0 /\ -29+arg1 < 0), cost: 1 New rule: f131_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P4, (-10+arg1 > 0 /\ 29-arg1 > 0), cost: 1 Applied preprocessing Original rule: f131_0_loop_LE -> f89_0_loop_LE : arg1'=arg1P5, arg2'=arg2P5, (-39+arg1 > 0 /\ 1+arg1-arg1P5 == 0), cost: 1 New rule: f131_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P5, -39+arg1 > 0, cost: 1 Applied preprocessing Original rule: f131_0_loop_LE -> f89_0_loop_LE : arg1'=arg1P6, arg2'=arg2P6, (-28+arg1 > 0 /\ arg1-arg1P6 == 0 /\ -40+arg1 < 0), cost: 1 New rule: f131_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P6, (-28+arg1 > 0 /\ 40-arg1 > 0), cost: 1 Simplified rules Start location: __init 8: f1_0_main_Load -> f89_0_loop_LE : arg1'=arg2, arg2'=arg2P0, (arg1 > 0 /\ 1+arg2 > 0), cost: 1 9: f89_0_loop_LE -> f131_0_loop_LE : arg2'=arg2P1, (-19+arg1 > 0 /\ 50-arg1 > 0), cost: 1 10: f89_0_loop_LE -> f131_0_loop_LE : arg1'=-1+arg1, arg2'=arg2P2, (arg1 > 0 /\ 20-arg1 > 0), cost: 1 11: f131_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P3, 11-arg1 > 0, cost: 1 12: f131_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P4, (-10+arg1 > 0 /\ 29-arg1 > 0), cost: 1 13: f131_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P5, -39+arg1 > 0, cost: 1 14: f131_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P6, (-28+arg1 > 0 /\ 40-arg1 > 0), cost: 1 7: __init -> f1_0_main_Load : arg1'=arg1P7, arg2'=arg2P7, TRUE, cost: 1 Eliminating location f1_0_main_Load by chaining: Applied chaining First rule: __init -> f1_0_main_Load : arg1'=arg1P7, arg2'=arg2P7, TRUE, cost: 1 Second rule: f1_0_main_Load -> f89_0_loop_LE : arg1'=arg2, arg2'=arg2P0, (arg1 > 0 /\ 1+arg2 > 0), cost: 1 New rule: __init -> f89_0_loop_LE : arg1'=arg2P7, arg2'=arg2P0, (1+arg2P7 > 0 /\ arg1P7 > 0), cost: 2 Applied deletion Removed the following rules: 7 8 Eliminated locations on linear paths Start location: __init 9: f89_0_loop_LE -> f131_0_loop_LE : arg2'=arg2P1, (-19+arg1 > 0 /\ 50-arg1 > 0), cost: 1 10: f89_0_loop_LE -> f131_0_loop_LE : arg1'=-1+arg1, arg2'=arg2P2, (arg1 > 0 /\ 20-arg1 > 0), cost: 1 11: f131_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P3, 11-arg1 > 0, cost: 1 12: f131_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P4, (-10+arg1 > 0 /\ 29-arg1 > 0), cost: 1 13: f131_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P5, -39+arg1 > 0, cost: 1 14: f131_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P6, (-28+arg1 > 0 /\ 40-arg1 > 0), cost: 1 15: __init -> f89_0_loop_LE : arg1'=arg2P7, arg2'=arg2P0, (1+arg2P7 > 0 /\ arg1P7 > 0), cost: 2 Eliminating location f131_0_loop_LE by chaining: Applied chaining First rule: f89_0_loop_LE -> f131_0_loop_LE : arg2'=arg2P1, (-19+arg1 > 0 /\ 50-arg1 > 0), cost: 1 Second rule: f131_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P4, (-10+arg1 > 0 /\ 29-arg1 > 0), cost: 1 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P4, (-10+arg1 > 0 /\ 29-arg1 > 0 /\ -19+arg1 > 0 /\ 50-arg1 > 0), cost: 2 Applied simplification Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P4, (-10+arg1 > 0 /\ 29-arg1 > 0 /\ -19+arg1 > 0 /\ 50-arg1 > 0), cost: 2 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P4, (29-arg1 > 0 /\ -19+arg1 > 0), cost: 2 Applied chaining First rule: f89_0_loop_LE -> f131_0_loop_LE : arg2'=arg2P1, (-19+arg1 > 0 /\ 50-arg1 > 0), cost: 1 Second rule: f131_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P5, -39+arg1 > 0, cost: 1 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P5, (-39+arg1 > 0 /\ -19+arg1 > 0 /\ 50-arg1 > 0), cost: 2 Applied simplification Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P5, (-39+arg1 > 0 /\ -19+arg1 > 0 /\ 50-arg1 > 0), cost: 2 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P5, (-39+arg1 > 0 /\ 50-arg1 > 0), cost: 2 Applied chaining First rule: f89_0_loop_LE -> f131_0_loop_LE : arg2'=arg2P1, (-19+arg1 > 0 /\ 50-arg1 > 0), cost: 1 Second rule: f131_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P6, (-28+arg1 > 0 /\ 40-arg1 > 0), cost: 1 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P6, (-19+arg1 > 0 /\ -28+arg1 > 0 /\ 50-arg1 > 0 /\ 40-arg1 > 0), cost: 2 Applied simplification Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P6, (-19+arg1 > 0 /\ -28+arg1 > 0 /\ 50-arg1 > 0 /\ 40-arg1 > 0), cost: 2 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P6, (-28+arg1 > 0 /\ 40-arg1 > 0), cost: 2 Applied chaining First rule: f89_0_loop_LE -> f131_0_loop_LE : arg1'=-1+arg1, arg2'=arg2P2, (arg1 > 0 /\ 20-arg1 > 0), cost: 1 Second rule: f131_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P3, 11-arg1 > 0, cost: 1 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=-1+arg1, arg2'=arg2P3, (arg1 > 0 /\ 20-arg1 > 0 /\ 12-arg1 > 0), cost: 2 Applied simplification Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=-1+arg1, arg2'=arg2P3, (arg1 > 0 /\ 20-arg1 > 0 /\ 12-arg1 > 0), cost: 2 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=-1+arg1, arg2'=arg2P3, (arg1 > 0 /\ 12-arg1 > 0), cost: 2 Applied chaining First rule: f89_0_loop_LE -> f131_0_loop_LE : arg1'=-1+arg1, arg2'=arg2P2, (arg1 > 0 /\ 20-arg1 > 0), cost: 1 Second rule: f131_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P4, (-10+arg1 > 0 /\ 29-arg1 > 0), cost: 1 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=arg1, arg2'=arg2P4, (arg1 > 0 /\ 20-arg1 > 0 /\ -11+arg1 > 0 /\ 30-arg1 > 0), cost: 2 Applied simplification Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=arg1, arg2'=arg2P4, (arg1 > 0 /\ 20-arg1 > 0 /\ -11+arg1 > 0 /\ 30-arg1 > 0), cost: 2 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=arg1, arg2'=arg2P4, (20-arg1 > 0 /\ -11+arg1 > 0), cost: 2 Applied deletion Removed the following rules: 9 10 11 12 13 14 Eliminated locations on tree-shaped paths Start location: __init 16: f89_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P4, (29-arg1 > 0 /\ -19+arg1 > 0), cost: 2 17: f89_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P5, (-39+arg1 > 0 /\ 50-arg1 > 0), cost: 2 18: f89_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P6, (-28+arg1 > 0 /\ 40-arg1 > 0), cost: 2 19: f89_0_loop_LE -> f89_0_loop_LE : arg1'=-1+arg1, arg2'=arg2P3, (arg1 > 0 /\ 12-arg1 > 0), cost: 2 20: f89_0_loop_LE -> f89_0_loop_LE : arg1'=arg1, arg2'=arg2P4, (20-arg1 > 0 /\ -11+arg1 > 0), cost: 2 15: __init -> f89_0_loop_LE : arg1'=arg2P7, arg2'=arg2P0, (1+arg2P7 > 0 /\ arg1P7 > 0), cost: 2 Applied simplification Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=arg1, arg2'=arg2P4, (20-arg1 > 0 /\ -11+arg1 > 0), cost: 2 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P4, (20-arg1 > 0 /\ -11+arg1 > 0), cost: 2 Simplified simple loops Start location: __init 16: f89_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P4, (29-arg1 > 0 /\ -19+arg1 > 0), cost: 2 17: f89_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P5, (-39+arg1 > 0 /\ 50-arg1 > 0), cost: 2 18: f89_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P6, (-28+arg1 > 0 /\ 40-arg1 > 0), cost: 2 19: f89_0_loop_LE -> f89_0_loop_LE : arg1'=-1+arg1, arg2'=arg2P3, (arg1 > 0 /\ 12-arg1 > 0), cost: 2 21: f89_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P4, (20-arg1 > 0 /\ -11+arg1 > 0), cost: 2 15: __init -> f89_0_loop_LE : arg1'=arg2P7, arg2'=arg2P0, (1+arg2P7 > 0 /\ arg1P7 > 0), cost: 2 Applied acceleration Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P4, (29-arg1 > 0 /\ -19+arg1 > 0), cost: 2 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=arg1+n4, arg2'=arg2P4, (30-arg1-n4 > 0 /\ -19+arg1 > 0 /\ -1+n4 >= 0), cost: 2*n4 Applied instantiation Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=arg1+n4, arg2'=arg2P4, (30-arg1-n4 > 0 /\ -19+arg1 > 0 /\ -1+n4 >= 0), cost: 2*n4 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=29, arg2'=arg2P4, (1 > 0 /\ -19+arg1 > 0 /\ 28-arg1 >= 0), cost: 58-2*arg1 Applied acceleration Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=1+arg1, arg2'=arg2P5, (-39+arg1 > 0 /\ 50-arg1 > 0), cost: 2 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=arg1+n6, arg2'=arg2P5, (-1+n6 >= 0 /\ -39+arg1 > 0 /\ 51-arg1-n6 > 0), cost: 2*n6 Applied instantiation Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=arg1+n6, arg2'=arg2P5, (-1+n6 >= 0 /\ -39+arg1 > 0 /\ 51-arg1-n6 > 0), cost: 2*n6 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=50, arg2'=arg2P5, (1 > 0 /\ -39+arg1 > 0 /\ 49-arg1 >= 0), cost: 100-2*arg1 Applied nonterm Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P6, (-28+arg1 > 0 /\ 40-arg1 > 0), cost: 2 New rule: f89_0_loop_LE -> [4] : (-28+arg1 > 0 /\ 40-arg1 > 0), cost: NONTERM Applied acceleration Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P6, (-28+arg1 > 0 /\ 40-arg1 > 0), cost: 2 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P6, (-28+arg1 > 0 /\ 40-arg1 > 0), cost: 2*n8 Applied acceleration Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=-1+arg1, arg2'=arg2P3, (arg1 > 0 /\ 12-arg1 > 0), cost: 2 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=arg1-n10, arg2'=arg2P3, (1+arg1-n10 > 0 /\ 12-arg1 > 0 /\ -1+n10 >= 0), cost: 2*n10 Applied instantiation Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=arg1-n10, arg2'=arg2P3, (1+arg1-n10 > 0 /\ 12-arg1 > 0 /\ -1+n10 >= 0), cost: 2*n10 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=0, arg2'=arg2P3, (1 > 0 /\ -1+arg1 >= 0 /\ 12-arg1 > 0), cost: 2*arg1 Applied nonterm Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P4, (20-arg1 > 0 /\ -11+arg1 > 0), cost: 2 New rule: f89_0_loop_LE -> [4] : (20-arg1 > 0 /\ -11+arg1 > 0), cost: NONTERM Applied acceleration Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P4, (20-arg1 > 0 /\ -11+arg1 > 0), cost: 2 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P4, (20-arg1 > 0 /\ -11+arg1 > 0), cost: 2*n12 Applied simplification Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=29, arg2'=arg2P4, (1 > 0 /\ -19+arg1 > 0 /\ 28-arg1 >= 0), cost: 58-2*arg1 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=29, arg2'=arg2P4, (-19+arg1 > 0 /\ -28+arg1 <= 0), cost: 58-2*arg1 Applied simplification Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=50, arg2'=arg2P5, (1 > 0 /\ -39+arg1 > 0 /\ 49-arg1 >= 0), cost: 100-2*arg1 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=50, arg2'=arg2P5, (-39+arg1 > 0 /\ -49+arg1 <= 0), cost: 100-2*arg1 Applied simplification Original rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=0, arg2'=arg2P3, (1 > 0 /\ -1+arg1 >= 0 /\ 12-arg1 > 0), cost: 2*arg1 New rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=0, arg2'=arg2P3, (-1+arg1 >= 0 /\ 12-arg1 > 0), cost: 2*arg1 Applied deletion Removed the following rules: 16 17 18 19 21 Accelerated simple loops Start location: __init 24: f89_0_loop_LE -> [4] : (-28+arg1 > 0 /\ 40-arg1 > 0), cost: NONTERM 25: f89_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P6, (-28+arg1 > 0 /\ 40-arg1 > 0), cost: 2*n8 27: f89_0_loop_LE -> [4] : (20-arg1 > 0 /\ -11+arg1 > 0), cost: NONTERM 28: f89_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P4, (20-arg1 > 0 /\ -11+arg1 > 0), cost: 2*n12 29: f89_0_loop_LE -> f89_0_loop_LE : arg1'=29, arg2'=arg2P4, (-19+arg1 > 0 /\ -28+arg1 <= 0), cost: 58-2*arg1 30: f89_0_loop_LE -> f89_0_loop_LE : arg1'=50, arg2'=arg2P5, (-39+arg1 > 0 /\ -49+arg1 <= 0), cost: 100-2*arg1 31: f89_0_loop_LE -> f89_0_loop_LE : arg1'=0, arg2'=arg2P3, (-1+arg1 >= 0 /\ 12-arg1 > 0), cost: 2*arg1 15: __init -> f89_0_loop_LE : arg1'=arg2P7, arg2'=arg2P0, (1+arg2P7 > 0 /\ arg1P7 > 0), cost: 2 Applied chaining First rule: __init -> f89_0_loop_LE : arg1'=arg2P7, arg2'=arg2P0, (1+arg2P7 > 0 /\ arg1P7 > 0), cost: 2 Second rule: f89_0_loop_LE -> [4] : (-28+arg1 > 0 /\ 40-arg1 > 0), cost: NONTERM New rule: __init -> [4] : (-39 <= 0 /\ -10 <= 0), cost: NONTERM Applied chaining First rule: __init -> f89_0_loop_LE : arg1'=arg2P7, arg2'=arg2P0, (1+arg2P7 > 0 /\ arg1P7 > 0), cost: 2 Second rule: f89_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P6, (-28+arg1 > 0 /\ 40-arg1 > 0), cost: 2*n8 New rule: __init -> f89_0_loop_LE : arg1'=arg2P7, arg2'=arg2P6, (-28+arg2P7 > 0 /\ 40-arg2P7 > 0), cost: 2+2*n8 Applied chaining First rule: __init -> f89_0_loop_LE : arg1'=arg2P7, arg2'=arg2P0, (1+arg2P7 > 0 /\ arg1P7 > 0), cost: 2 Second rule: f89_0_loop_LE -> [4] : (20-arg1 > 0 /\ -11+arg1 > 0), cost: NONTERM New rule: __init -> [4] : (-7 <= 0 /\ -19 <= 0), cost: NONTERM Applied chaining First rule: __init -> f89_0_loop_LE : arg1'=arg2P7, arg2'=arg2P0, (1+arg2P7 > 0 /\ arg1P7 > 0), cost: 2 Second rule: f89_0_loop_LE -> f89_0_loop_LE : arg2'=arg2P4, (20-arg1 > 0 /\ -11+arg1 > 0), cost: 2*n12 New rule: __init -> f89_0_loop_LE : arg1'=arg2P7, arg2'=arg2P4, (20-arg2P7 > 0 /\ -11+arg2P7 > 0), cost: 2+2*n12 Applied chaining First rule: __init -> f89_0_loop_LE : arg1'=arg2P7, arg2'=arg2P0, (1+arg2P7 > 0 /\ arg1P7 > 0), cost: 2 Second rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=29, arg2'=arg2P4, (-19+arg1 > 0 /\ -28+arg1 <= 0), cost: 58-2*arg1 New rule: __init -> f89_0_loop_LE : arg1'=29, arg2'=arg2P4, (-28+arg2P7 <= 0 /\ -19+arg2P7 > 0), cost: 60-2*arg2P7 Applied chaining First rule: __init -> f89_0_loop_LE : arg1'=arg2P7, arg2'=arg2P0, (1+arg2P7 > 0 /\ arg1P7 > 0), cost: 2 Second rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=50, arg2'=arg2P5, (-39+arg1 > 0 /\ -49+arg1 <= 0), cost: 100-2*arg1 New rule: __init -> f89_0_loop_LE : arg1'=50, arg2'=arg2P5, (-39+arg2P7 > 0 /\ -49+arg2P7 <= 0), cost: 102-2*arg2P7 Applied chaining First rule: __init -> f89_0_loop_LE : arg1'=arg2P7, arg2'=arg2P0, (1+arg2P7 > 0 /\ arg1P7 > 0), cost: 2 Second rule: f89_0_loop_LE -> f89_0_loop_LE : arg1'=0, arg2'=arg2P3, (-1+arg1 >= 0 /\ 12-arg1 > 0), cost: 2*arg1 New rule: __init -> f89_0_loop_LE : arg1'=0, arg2'=arg2P3, (-1+arg2P7 >= 0 /\ 12-arg2P7 > 0), cost: 2+2*arg2P7 Applied deletion Removed the following rules: 24 25 27 28 29 30 31 Chained accelerated rules with incoming rules Start location: __init 15: __init -> f89_0_loop_LE : arg1'=arg2P7, arg2'=arg2P0, (1+arg2P7 > 0 /\ arg1P7 > 0), cost: 2 32: __init -> [4] : (-39 <= 0 /\ -10 <= 0), cost: NONTERM 33: __init -> f89_0_loop_LE : arg1'=arg2P7, arg2'=arg2P6, (-28+arg2P7 > 0 /\ 40-arg2P7 > 0), cost: 2+2*n8 34: __init -> [4] : (-7 <= 0 /\ -19 <= 0), cost: NONTERM 35: __init -> f89_0_loop_LE : arg1'=arg2P7, arg2'=arg2P4, (20-arg2P7 > 0 /\ -11+arg2P7 > 0), cost: 2+2*n12 36: __init -> f89_0_loop_LE : arg1'=29, arg2'=arg2P4, (-28+arg2P7 <= 0 /\ -19+arg2P7 > 0), cost: 60-2*arg2P7 37: __init -> f89_0_loop_LE : arg1'=50, arg2'=arg2P5, (-39+arg2P7 > 0 /\ -49+arg2P7 <= 0), cost: 102-2*arg2P7 38: __init -> f89_0_loop_LE : arg1'=0, arg2'=arg2P3, (-1+arg2P7 >= 0 /\ 12-arg2P7 > 0), cost: 2+2*arg2P7 Removed unreachable locations and irrelevant leafs Start location: __init 32: __init -> [4] : (-39 <= 0 /\ -10 <= 0), cost: NONTERM 34: __init -> [4] : (-7 <= 0 /\ -19 <= 0), cost: NONTERM Computing asymptotic complexity Proved nontermination of rule 32 via SMT. Proved the following lower bound Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: (-39 <= 0 /\ -10 <= 0)