NO Initial ITS Start location: __init 0: f1_0_main_Load -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=arg2P0, (arg1 > 0 /\ 1+arg1P0 > 0 /\ -1+arg2 > 0 /\ 1+arg2P0 > 0 /\ arg2P0+arg1P0-arg3P0 == 0), cost: 1 1: f213_0_increase_LE -> f213_0_increase_LE\' : arg1'=arg1P1, arg3'=arg3P1, arg2'=arg2P1, (arg3 > 0 /\ arg3-arg3P1 == 0 /\ arg2-2*x130 < 0 /\ arg1-arg1P1 == 0 /\ -arg2P1+arg2 == 0 /\ 2+arg1 > 0), cost: 1 2: f213_0_increase_LE -> f213_0_increase_LE\' : arg1'=arg1P2, arg3'=arg3P2, arg2'=arg2P2, (arg2-2*x170 > 0 /\ arg3 > 0 /\ -arg2P2+arg2 == 0 /\ -arg3P2+arg3 == 0 /\ arg1-arg1P2 == 0 /\ 2+arg1 > 0), cost: 1 4: f213_0_increase_LE -> f213_0_increase_LE\' : arg1'=arg1P4, arg3'=arg3P4, arg2'=arg2P4, (arg1-arg1P4 == 0 /\ -2*x250+arg2 == 0 /\ arg3 > 0 /\ arg2-arg2P4 == 0 /\ 2+arg1 > 0 /\ -arg3P4+arg3 == 0), cost: 1 3: f213_0_increase_LE\' -> f213_0_increase_LE : arg1'=arg1P3, arg3'=arg3P3, arg2'=arg2P3, (arg2-arg2P3 == 0 /\ 1+arg1-arg3P3+arg2 == 0 /\ arg3 > 0 /\ -2*x210+arg2 > 0 /\ -2-2*x210+arg2 < 0 /\ 1+arg1-arg1P3 == 0 /\ 2+arg1 > 0), cost: 1 5: f213_0_increase_LE\' -> f213_0_increase_LE : arg1'=arg1P5, arg3'=arg3P5, arg2'=arg2P5, (arg3 > 0 /\ 1+arg1-arg1P5 == 0 /\ -2-2*x290+arg2 < 0 /\ -2*x290+arg2 >= 0 /\ -2*x290+arg2 == 0 /\ -2-arg2P5+arg2 == 0 /\ -1+arg1+arg2-arg3P5 == 0 /\ 2+arg1 > 0), cost: 1 6: __init -> f1_0_main_Load : arg1'=arg1P6, arg3'=arg3P6, arg2'=arg2P6, TRUE, cost: 1 Applied preprocessing Original rule: f1_0_main_Load -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=arg2P0, (arg1 > 0 /\ 1+arg1P0 > 0 /\ -1+arg2 > 0 /\ 1+arg2P0 > 0 /\ arg2P0+arg1P0-arg3P0 == 0), cost: 1 New rule: f1_0_main_Load -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=-arg1P0+arg3P0, (arg1 > 0 /\ 1+arg1P0 > 0 /\ -1+arg2 > 0 /\ 1-arg1P0+arg3P0 > 0), cost: 1 Applied preprocessing Original rule: f213_0_increase_LE -> f213_0_increase_LE\' : arg1'=arg1P1, arg3'=arg3P1, arg2'=arg2P1, (arg3 > 0 /\ arg3-arg3P1 == 0 /\ arg2-2*x130 < 0 /\ arg1-arg1P1 == 0 /\ -arg2P1+arg2 == 0 /\ 2+arg1 > 0), cost: 1 New rule: f213_0_increase_LE -> f213_0_increase_LE\' : (arg3 > 0 /\ -arg2+2*x130 > 0 /\ 2+arg1 > 0), cost: 1 Applied preprocessing Original rule: f213_0_increase_LE -> f213_0_increase_LE\' : arg1'=arg1P2, arg3'=arg3P2, arg2'=arg2P2, (arg2-2*x170 > 0 /\ arg3 > 0 /\ -arg2P2+arg2 == 0 /\ -arg3P2+arg3 == 0 /\ arg1-arg1P2 == 0 /\ 2+arg1 > 0), cost: 1 New rule: f213_0_increase_LE -> f213_0_increase_LE\' : (arg2-2*x170 > 0 /\ arg3 > 0 /\ 2+arg1 > 0), cost: 1 Applied preprocessing Original rule: f213_0_increase_LE\' -> f213_0_increase_LE : arg1'=arg1P3, arg3'=arg3P3, arg2'=arg2P3, (arg2-arg2P3 == 0 /\ 1+arg1-arg3P3+arg2 == 0 /\ arg3 > 0 /\ -2*x210+arg2 > 0 /\ -2-2*x210+arg2 < 0 /\ 1+arg1-arg1P3 == 0 /\ 2+arg1 > 0), cost: 1 New rule: f213_0_increase_LE\' -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg3 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 1 Applied preprocessing Original rule: f213_0_increase_LE -> f213_0_increase_LE\' : arg1'=arg1P4, arg3'=arg3P4, arg2'=arg2P4, (arg1-arg1P4 == 0 /\ -2*x250+arg2 == 0 /\ arg3 > 0 /\ arg2-arg2P4 == 0 /\ 2+arg1 > 0 /\ -arg3P4+arg3 == 0), cost: 1 New rule: f213_0_increase_LE -> f213_0_increase_LE\' : (-2*x250+arg2 == 0 /\ arg3 > 0 /\ 2+arg1 > 0), cost: 1 Applied preprocessing Original rule: f213_0_increase_LE\' -> f213_0_increase_LE : arg1'=arg1P5, arg3'=arg3P5, arg2'=arg2P5, (arg3 > 0 /\ 1+arg1-arg1P5 == 0 /\ -2-2*x290+arg2 < 0 /\ -2*x290+arg2 >= 0 /\ -2*x290+arg2 == 0 /\ -2-arg2P5+arg2 == 0 /\ -1+arg1+arg2-arg3P5 == 0 /\ 2+arg1 > 0), cost: 1 New rule: f213_0_increase_LE\' -> f213_0_increase_LE : arg1'=1+arg1, arg3'=-1+arg1+arg2, arg2'=-2+arg2, (arg3 > 0 /\ -2*x290+arg2 == 0 /\ 2+arg1 > 0), cost: 1 Simplified rules Start location: __init 7: f1_0_main_Load -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=-arg1P0+arg3P0, (arg1 > 0 /\ 1+arg1P0 > 0 /\ -1+arg2 > 0 /\ 1-arg1P0+arg3P0 > 0), cost: 1 8: f213_0_increase_LE -> f213_0_increase_LE\' : (arg3 > 0 /\ -arg2+2*x130 > 0 /\ 2+arg1 > 0), cost: 1 9: f213_0_increase_LE -> f213_0_increase_LE\' : (arg2-2*x170 > 0 /\ arg3 > 0 /\ 2+arg1 > 0), cost: 1 11: f213_0_increase_LE -> f213_0_increase_LE\' : (-2*x250+arg2 == 0 /\ arg3 > 0 /\ 2+arg1 > 0), cost: 1 10: f213_0_increase_LE\' -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg3 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 1 12: f213_0_increase_LE\' -> f213_0_increase_LE : arg1'=1+arg1, arg3'=-1+arg1+arg2, arg2'=-2+arg2, (arg3 > 0 /\ -2*x290+arg2 == 0 /\ 2+arg1 > 0), cost: 1 6: __init -> f1_0_main_Load : arg1'=arg1P6, arg3'=arg3P6, arg2'=arg2P6, TRUE, cost: 1 Eliminating location f1_0_main_Load by chaining: Applied chaining First rule: __init -> f1_0_main_Load : arg1'=arg1P6, arg3'=arg3P6, arg2'=arg2P6, TRUE, cost: 1 Second rule: f1_0_main_Load -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=-arg1P0+arg3P0, (arg1 > 0 /\ 1+arg1P0 > 0 /\ -1+arg2 > 0 /\ 1-arg1P0+arg3P0 > 0), cost: 1 New rule: __init -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=-arg1P0+arg3P0, (1+arg1P0 > 0 /\ 1-arg1P0+arg3P0 > 0 /\ -1+arg2P6 > 0 /\ arg1P6 > 0), cost: 2 Applied deletion Removed the following rules: 6 7 Eliminated locations on linear paths Start location: __init 8: f213_0_increase_LE -> f213_0_increase_LE\' : (arg3 > 0 /\ -arg2+2*x130 > 0 /\ 2+arg1 > 0), cost: 1 9: f213_0_increase_LE -> f213_0_increase_LE\' : (arg2-2*x170 > 0 /\ arg3 > 0 /\ 2+arg1 > 0), cost: 1 11: f213_0_increase_LE -> f213_0_increase_LE\' : (-2*x250+arg2 == 0 /\ arg3 > 0 /\ 2+arg1 > 0), cost: 1 10: f213_0_increase_LE\' -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg3 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 1 12: f213_0_increase_LE\' -> f213_0_increase_LE : arg1'=1+arg1, arg3'=-1+arg1+arg2, arg2'=-2+arg2, (arg3 > 0 /\ -2*x290+arg2 == 0 /\ 2+arg1 > 0), cost: 1 13: __init -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=-arg1P0+arg3P0, (1+arg1P0 > 0 /\ 1-arg1P0+arg3P0 > 0 /\ -1+arg2P6 > 0 /\ arg1P6 > 0), cost: 2 Eliminating location f213_0_increase_LE\' by chaining: Applied chaining First rule: f213_0_increase_LE -> f213_0_increase_LE\' : (arg3 > 0 /\ -arg2+2*x130 > 0 /\ 2+arg1 > 0), cost: 1 Second rule: f213_0_increase_LE\' -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg3 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 1 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 2 Applied chaining First rule: f213_0_increase_LE -> f213_0_increase_LE\' : (arg3 > 0 /\ -arg2+2*x130 > 0 /\ 2+arg1 > 0), cost: 1 Second rule: f213_0_increase_LE\' -> f213_0_increase_LE : arg1'=1+arg1, arg3'=-1+arg1+arg2, arg2'=-2+arg2, (arg3 > 0 /\ -2*x290+arg2 == 0 /\ 2+arg1 > 0), cost: 1 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=-1+arg1+arg2, arg2'=-2+arg2, (arg3 > 0 /\ -arg2+2*x130 > 0 /\ -2*x290+arg2 == 0 /\ 2+arg1 > 0), cost: 2 Applied chaining First rule: f213_0_increase_LE -> f213_0_increase_LE\' : (arg2-2*x170 > 0 /\ arg3 > 0 /\ 2+arg1 > 0), cost: 1 Second rule: f213_0_increase_LE\' -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg3 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 1 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg2-2*x170 > 0 /\ arg3 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 2 Applied chaining First rule: f213_0_increase_LE -> f213_0_increase_LE\' : (arg2-2*x170 > 0 /\ arg3 > 0 /\ 2+arg1 > 0), cost: 1 Second rule: f213_0_increase_LE\' -> f213_0_increase_LE : arg1'=1+arg1, arg3'=-1+arg1+arg2, arg2'=-2+arg2, (arg3 > 0 /\ -2*x290+arg2 == 0 /\ 2+arg1 > 0), cost: 1 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=-1+arg1+arg2, arg2'=-2+arg2, (arg2-2*x170 > 0 /\ arg3 > 0 /\ -2*x290+arg2 == 0 /\ 2+arg1 > 0), cost: 2 Applied chaining First rule: f213_0_increase_LE -> f213_0_increase_LE\' : (-2*x250+arg2 == 0 /\ arg3 > 0 /\ 2+arg1 > 0), cost: 1 Second rule: f213_0_increase_LE\' -> f213_0_increase_LE : arg1'=1+arg1, arg3'=-1+arg1+arg2, arg2'=-2+arg2, (arg3 > 0 /\ -2*x290+arg2 == 0 /\ 2+arg1 > 0), cost: 1 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=-1+arg1+arg2, arg2'=-2+arg2, (-2*x250+arg2 == 0 /\ arg3 > 0 /\ -2*x290+arg2 == 0 /\ 2+arg1 > 0), cost: 2 Applied deletion Removed the following rules: 8 9 10 11 12 Eliminated locations on tree-shaped paths Start location: __init 14: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 2 15: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=-1+arg1+arg2, arg2'=-2+arg2, (arg3 > 0 /\ -arg2+2*x130 > 0 /\ -2*x290+arg2 == 0 /\ 2+arg1 > 0), cost: 2 16: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg2-2*x170 > 0 /\ arg3 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 2 17: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=-1+arg1+arg2, arg2'=-2+arg2, (arg2-2*x170 > 0 /\ arg3 > 0 /\ -2*x290+arg2 == 0 /\ 2+arg1 > 0), cost: 2 18: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=-1+arg1+arg2, arg2'=-2+arg2, (-2*x250+arg2 == 0 /\ arg3 > 0 /\ -2*x290+arg2 == 0 /\ 2+arg1 > 0), cost: 2 13: __init -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=-arg1P0+arg3P0, (1+arg1P0 > 0 /\ 1-arg1P0+arg3P0 > 0 /\ -1+arg2P6 > 0 /\ arg1P6 > 0), cost: 2 Applied unrolling Original rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 2 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2+arg1, arg3'=2+arg1+arg2, (1+arg1+arg2 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 3+arg1 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 4 Applied non-termination processor Original rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2+arg1, arg3'=2+arg1+arg2, (1+arg1+arg2 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 3+arg1 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 4 New rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 3+arg1 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: NONTERM Applied acceleration Original rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=-1+arg1+arg2, arg2'=-2+arg2, (arg3 > 0 /\ -arg2+2*x130 > 0 /\ -2*x290+arg2 == 0 /\ 2+arg1 > 0), cost: 2 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=arg1+n5, arg3'=arg1-n5+arg2, arg2'=-2*n5+arg2, (1+arg1-n5+arg2 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ -1+n5 >= 0 /\ -2*x290+arg2 >= 0 /\ 2-2*x290-2*n5+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*n5 Applied instantiation Original rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=arg1+n5, arg3'=arg1-n5+arg2, arg2'=-2*n5+arg2, (1+arg1-n5+arg2 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ -1+n5 >= 0 /\ -2*x290+arg2 >= 0 /\ 2-2*x290-2*n5+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*n5 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2*arg1+arg2, arg3'=0, arg2'=-2*arg1-arg2, (1 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 2-2*arg1-2*x290-arg2 >= 0 /\ -2*x290+arg2 >= 0 /\ -1+arg1+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*arg1+2*arg2 Applied unrolling Original rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg2-2*x170 > 0 /\ arg3 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 2 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2+arg1, arg3'=2+arg1+arg2, (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ 3+arg1 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 4 Applied non-termination processor Original rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2+arg1, arg3'=2+arg1+arg2, (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ 3+arg1 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 4 New rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ 3+arg1 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: NONTERM Applied acceleration Original rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=-1+arg1+arg2, arg2'=-2+arg2, (arg2-2*x170 > 0 /\ arg3 > 0 /\ -2*x290+arg2 == 0 /\ 2+arg1 > 0), cost: 2 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=arg1+n8, arg3'=arg1+arg2-n8, arg2'=arg2-2*n8, (1+arg1+arg2-n8 > 0 /\ arg3 > 0 /\ 2+arg2-2*x170-2*n8 > 0 /\ -2*x290+arg2 >= 0 /\ -1+n8 >= 0 /\ 2*x290-arg2 >= 0 /\ 2-2*x290+arg2-2*n8 >= 0 /\ 2+arg1 > 0), cost: 2*n8 Applied instantiation Original rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=arg1+n8, arg3'=arg1+arg2-n8, arg2'=arg2-2*n8, (1+arg1+arg2-n8 > 0 /\ arg3 > 0 /\ 2+arg2-2*x170-2*n8 > 0 /\ -2*x290+arg2 >= 0 /\ -1+n8 >= 0 /\ 2*x290-arg2 >= 0 /\ 2-2*x290+arg2-2*n8 >= 0 /\ 2+arg1 > 0), cost: 2*n8 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2*arg1+arg2, arg3'=0, arg2'=-2*arg1-arg2, (1 > 0 /\ arg3 > 0 /\ 2-2*arg1-arg2-2*x170 > 0 /\ 2-2*arg1-2*x290-arg2 >= 0 /\ -2*x290+arg2 >= 0 /\ -1+arg1+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*arg1+2*arg2 Applied acceleration Original rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=-1+arg1+arg2, arg2'=-2+arg2, (-2*x250+arg2 == 0 /\ arg3 > 0 /\ -2*x290+arg2 == 0 /\ 2+arg1 > 0), cost: 2 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=arg1+n10, arg3'=arg1-n10+arg2, arg2'=-2*n10+arg2, (-1+n10 >= 0 /\ -2*x250+arg2 >= 0 /\ 2-2*n10-2*x290+arg2 >= 0 /\ arg3 > 0 /\ 1+arg1-n10+arg2 > 0 /\ 2*x250-arg2 >= 0 /\ 2-2*n10-2*x250+arg2 >= 0 /\ -2*x290+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*n10 Applied instantiation Original rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=arg1+n10, arg3'=arg1-n10+arg2, arg2'=-2*n10+arg2, (-1+n10 >= 0 /\ -2*x250+arg2 >= 0 /\ 2-2*n10-2*x290+arg2 >= 0 /\ arg3 > 0 /\ 1+arg1-n10+arg2 > 0 /\ 2*x250-arg2 >= 0 /\ 2-2*n10-2*x250+arg2 >= 0 /\ -2*x290+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*n10 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2*arg1+arg2, arg3'=0, arg2'=-2*arg1-arg2, (1 > 0 /\ 2-2*arg1-2*x250-arg2 >= 0 /\ -2*x250+arg2 >= 0 /\ arg3 > 0 /\ 2*x250-arg2 >= 0 /\ 2-2*arg1-2*x290-arg2 >= 0 /\ -2*x290+arg2 >= 0 /\ -1+arg1+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*arg1+2*arg2 Applied chaining First rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 2 Second rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg2-2*x170 > 0 /\ arg3 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 2 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2+arg1, arg3'=2+arg1+arg2, (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 4 Applied nonterm Original rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2+arg1, arg3'=2+arg1+arg2, (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 4 New rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -1-2*x210+arg2 >= 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 >= 0 /\ 2+arg1 > 0), cost: NONTERM Applied acceleration Original rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2+arg1, arg3'=2+arg1+arg2, (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 4 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=arg1+2*n12, arg3'=arg1+2*n12+arg2, (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -1-2*x210+arg2 >= 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 >= 0 /\ 2+arg1 > 0), cost: 4*n12 Applied chaining First rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg2-2*x170 > 0 /\ arg3 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 2 Second rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -1-2*x210+arg2 >= 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 >= 0 /\ 2+arg1 > 0), cost: NONTERM New rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -1-2*x210+arg2 >= 0 /\ -arg2+2*x130 > 0 /\ 2+arg1+arg2 > 0 /\ 3+arg1 > 0 /\ 1+2*x210-arg2 >= 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: NONTERM Heuristically decided not to add the following rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=arg1+2*n12, arg3'=arg1+2*n12+arg2, (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -1-2*x210+arg2 >= 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 >= 0 /\ 2+arg1 > 0), cost: 4*n12 Applied chaining First rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg2-2*x170 > 0 /\ arg3 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 2 Second rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 2 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2+arg1, arg3'=2+arg1+arg2, (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 4 Applied nonterm Original rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2+arg1, arg3'=2+arg1+arg2, (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 4 New rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -1-2*x210+arg2 >= 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 >= 0 /\ 2+arg1 > 0), cost: NONTERM Applied acceleration Original rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2+arg1, arg3'=2+arg1+arg2, (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 4 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=arg1+2*n14, arg3'=arg1+2*n14+arg2, (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -1-2*x210+arg2 >= 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 >= 0 /\ 2+arg1 > 0), cost: 4*n14 Applied chaining First rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 2 Second rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -1-2*x210+arg2 >= 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 >= 0 /\ 2+arg1 > 0), cost: NONTERM New rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -1-2*x210+arg2 >= 0 /\ -arg2+2*x130 > 0 /\ 2+arg1+arg2 > 0 /\ 3+arg1 > 0 /\ 1+2*x210-arg2 >= 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: NONTERM Heuristically decided not to add the following rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=arg1+2*n14, arg3'=arg1+2*n14+arg2, (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -1-2*x210+arg2 >= 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 >= 0 /\ 2+arg1 > 0), cost: 4*n14 Applied simplification Original rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 3+arg1 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: NONTERM New rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: NONTERM Applied simplification Original rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2*arg1+arg2, arg3'=0, arg2'=-2*arg1-arg2, (1 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 2-2*arg1-2*x290-arg2 >= 0 /\ -2*x290+arg2 >= 0 /\ -1+arg1+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*arg1+2*arg2 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2*arg1+arg2, arg3'=0, arg2'=-2*arg1-arg2, (arg3 > 0 /\ -arg2+2*x130 > 0 /\ 2-2*arg1-2*x290-arg2 >= 0 /\ -1+arg1+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*arg1+2*arg2 Applied simplification Original rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ 3+arg1 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: NONTERM New rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: NONTERM Applied simplification Original rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2*arg1+arg2, arg3'=0, arg2'=-2*arg1-arg2, (1 > 0 /\ arg3 > 0 /\ 2-2*arg1-arg2-2*x170 > 0 /\ 2-2*arg1-2*x290-arg2 >= 0 /\ -2*x290+arg2 >= 0 /\ -1+arg1+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*arg1+2*arg2 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2*arg1+arg2, arg3'=0, arg2'=-2*arg1-arg2, (arg3 > 0 /\ 2-2*arg1-arg2-2*x170 > 0 /\ 2-2*arg1-2*x290-arg2 >= 0 /\ -1+arg1+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*arg1+2*arg2 Applied simplification Original rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2*arg1+arg2, arg3'=0, arg2'=-2*arg1-arg2, (1 > 0 /\ 2-2*arg1-2*x250-arg2 >= 0 /\ -2*x250+arg2 >= 0 /\ arg3 > 0 /\ 2*x250-arg2 >= 0 /\ 2-2*arg1-2*x290-arg2 >= 0 /\ -2*x290+arg2 >= 0 /\ -1+arg1+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*arg1+2*arg2 New rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2*arg1+arg2, arg3'=0, arg2'=-2*arg1-arg2, (-2*x250+arg2 >= 0 /\ arg3 > 0 /\ 2*x250-arg2 >= 0 /\ 2-2*arg1-2*x290-arg2 >= 0 /\ -1+arg1+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*arg1+2*arg2 Applied simplification Original rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -1-2*x210+arg2 >= 0 /\ -arg2+2*x130 > 0 /\ 2+arg1+arg2 > 0 /\ 3+arg1 > 0 /\ 1+2*x210-arg2 >= 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: NONTERM New rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: NONTERM Applied simplification Original rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -1-2*x210+arg2 >= 0 /\ -arg2+2*x130 > 0 /\ 2+arg1+arg2 > 0 /\ 3+arg1 > 0 /\ 1+2*x210-arg2 >= 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: NONTERM New rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: NONTERM Applied deletion Removed the following rules: 15 17 18 Applied deletion Removed the following rules: 24 33 Accelerated simple loops Start location: __init 14: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 2 16: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg2-2*x170 > 0 /\ arg3 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 2 26: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -1-2*x210+arg2 >= 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 >= 0 /\ 2+arg1 > 0), cost: NONTERM 28: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: NONTERM 29: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2*arg1+arg2, arg3'=0, arg2'=-2*arg1-arg2, (arg3 > 0 /\ -arg2+2*x130 > 0 /\ 2-2*arg1-2*x290-arg2 >= 0 /\ -1+arg1+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*arg1+2*arg2 30: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: NONTERM 31: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2*arg1+arg2, arg3'=0, arg2'=-2*arg1-arg2, (arg3 > 0 /\ 2-2*arg1-arg2-2*x170 > 0 /\ 2-2*arg1-2*x290-arg2 >= 0 /\ -1+arg1+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*arg1+2*arg2 32: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2*arg1+arg2, arg3'=0, arg2'=-2*arg1-arg2, (-2*x250+arg2 >= 0 /\ arg3 > 0 /\ 2*x250-arg2 >= 0 /\ 2-2*arg1-2*x290-arg2 >= 0 /\ -1+arg1+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*arg1+2*arg2 34: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: NONTERM 13: __init -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=-arg1P0+arg3P0, (1+arg1P0 > 0 /\ 1-arg1P0+arg3P0 > 0 /\ -1+arg2P6 > 0 /\ arg1P6 > 0), cost: 2 Applied chaining First rule: __init -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=-arg1P0+arg3P0, (1+arg1P0 > 0 /\ 1-arg1P0+arg3P0 > 0 /\ -1+arg2P6 > 0 /\ arg1P6 > 0), cost: 2 Second rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 2 New rule: __init -> f213_0_increase_LE : arg1'=-2*x210+arg3P0, arg3'=1+arg3P0, arg2'=1+2*x210, (2+2*x210 > 0 /\ -1-2*x210+2*x130 > 0 /\ -2*x210+arg3P0 > 0), cost: 4 Applied chaining First rule: __init -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=-arg1P0+arg3P0, (1+arg1P0 > 0 /\ 1-arg1P0+arg3P0 > 0 /\ -1+arg2P6 > 0 /\ arg1P6 > 0), cost: 2 Second rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=1+arg1, arg3'=1+arg1+arg2, (arg2-2*x170 > 0 /\ arg3 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: 2 New rule: __init -> f213_0_increase_LE : arg1'=-2*x210+arg3P0, arg3'=1+arg3P0, arg2'=1+2*x210, (1+2*x210-2*x170 > 0 /\ 2+2*x210 > 0 /\ -2*x210+arg3P0 > 0), cost: 4 Applied chaining First rule: __init -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=-arg1P0+arg3P0, (1+arg1P0 > 0 /\ 1-arg1P0+arg3P0 > 0 /\ -1+arg2P6 > 0 /\ arg1P6 > 0), cost: 2 Second rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -1-2*x210+arg2 >= 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 >= 0 /\ 2+arg1 > 0), cost: NONTERM New rule: __init -> [4] : (1+2*x210-2*x170 > 0 /\ 2+2*x210 > 0 /\ -1-2*x210+2*x130 > 0), cost: NONTERM Applied chaining First rule: __init -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=-arg1P0+arg3P0, (1+arg1P0 > 0 /\ 1-arg1P0+arg3P0 > 0 /\ -1+arg2P6 > 0 /\ arg1P6 > 0), cost: 2 Second rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: NONTERM New rule: __init -> [4] : (2+2*x210 > 0 /\ -1-2*x210+2*x130 > 0), cost: NONTERM Applied chaining First rule: __init -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=-arg1P0+arg3P0, (1+arg1P0 > 0 /\ 1-arg1P0+arg3P0 > 0 /\ -1+arg2P6 > 0 /\ arg1P6 > 0), cost: 2 Second rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2*arg1+arg2, arg3'=0, arg2'=-2*arg1-arg2, (arg3 > 0 /\ -arg2+2*x130 > 0 /\ 2-2*arg1-2*x290-arg2 >= 0 /\ -1+arg1+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*arg1+2*arg2 New rule: __init -> f213_0_increase_LE : arg1'=arg1P0+arg3P0, arg3'=0, arg2'=-arg1P0-arg3P0, (arg1P0-arg3P0+2*x130 > 0 /\ 1+arg1P0 > 0 /\ 2-2*x290-arg1P0-arg3P0 >= 0 /\ 1-arg1P0+arg3P0 > 0 /\ arg3P0 > 0 /\ 2*x290+arg1P0-arg3P0 >= 0), cost: 2+2*arg3P0 Applied chaining First rule: __init -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=-arg1P0+arg3P0, (1+arg1P0 > 0 /\ 1-arg1P0+arg3P0 > 0 /\ -1+arg2P6 > 0 /\ arg1P6 > 0), cost: 2 Second rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: NONTERM New rule: __init -> [4] : (1+2*x210-2*x170 > 0 /\ 2+2*x210 > 0), cost: NONTERM Applied chaining First rule: __init -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=-arg1P0+arg3P0, (1+arg1P0 > 0 /\ 1-arg1P0+arg3P0 > 0 /\ -1+arg2P6 > 0 /\ arg1P6 > 0), cost: 2 Second rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2*arg1+arg2, arg3'=0, arg2'=-2*arg1-arg2, (arg3 > 0 /\ 2-2*arg1-arg2-2*x170 > 0 /\ 2-2*arg1-2*x290-arg2 >= 0 /\ -1+arg1+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*arg1+2*arg2 New rule: __init -> f213_0_increase_LE : arg1'=arg1P0+arg3P0, arg3'=0, arg2'=-arg1P0-arg3P0, (1+arg1P0 > 0 /\ 2-2*x290-arg1P0-arg3P0 >= 0 /\ 1-arg1P0+arg3P0 > 0 /\ 2-arg1P0-arg3P0-2*x170 > 0 /\ arg3P0 > 0 /\ 2*x290+arg1P0-arg3P0 >= 0), cost: 2+2*arg3P0 Applied chaining First rule: __init -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=-arg1P0+arg3P0, (1+arg1P0 > 0 /\ 1-arg1P0+arg3P0 > 0 /\ -1+arg2P6 > 0 /\ arg1P6 > 0), cost: 2 Second rule: f213_0_increase_LE -> f213_0_increase_LE : arg1'=2*arg1+arg2, arg3'=0, arg2'=-2*arg1-arg2, (-2*x250+arg2 >= 0 /\ arg3 > 0 /\ 2*x250-arg2 >= 0 /\ 2-2*arg1-2*x290-arg2 >= 0 /\ -1+arg1+arg2 >= 0 /\ 2*x290-arg2 >= 0 /\ 2+arg1 > 0), cost: 2*arg1+2*arg2 New rule: __init -> f213_0_increase_LE : arg1'=-2*x250+2*arg3P0, arg3'=0, arg2'=2*x250-2*arg3P0, (1+2*x250 > 0 /\ 1-2*x250+arg3P0 > 0 /\ 2-2*x290+2*x250-2*arg3P0 >= 0 /\ 2*x290-2*x250 >= 0 /\ arg3P0 > 0), cost: 2+2*arg3P0 Applied chaining First rule: __init -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=-arg1P0+arg3P0, (1+arg1P0 > 0 /\ 1-arg1P0+arg3P0 > 0 /\ -1+arg2P6 > 0 /\ arg1P6 > 0), cost: 2 Second rule: f213_0_increase_LE -> [4] : (1+arg1+arg2 > 0 /\ arg2-2*x170 > 0 /\ arg3 > 0 /\ -arg2+2*x130 > 0 /\ 1+2*x210-arg2 == 0 /\ 2+arg1 > 0), cost: NONTERM New rule: __init -> [4] : (1+2*x210-2*x170 > 0 /\ 2+2*x210 > 0 /\ -1-2*x210+2*x130 > 0), cost: NONTERM Applied deletion Removed the following rules: 14 16 26 28 29 30 31 32 34 Chained accelerated rules with incoming rules Start location: __init 13: __init -> f213_0_increase_LE : arg1'=arg1P0, arg3'=arg3P0, arg2'=-arg1P0+arg3P0, (1+arg1P0 > 0 /\ 1-arg1P0+arg3P0 > 0 /\ -1+arg2P6 > 0 /\ arg1P6 > 0), cost: 2 35: __init -> f213_0_increase_LE : arg1'=-2*x210+arg3P0, arg3'=1+arg3P0, arg2'=1+2*x210, (2+2*x210 > 0 /\ -1-2*x210+2*x130 > 0 /\ -2*x210+arg3P0 > 0), cost: 4 36: __init -> f213_0_increase_LE : arg1'=-2*x210+arg3P0, arg3'=1+arg3P0, arg2'=1+2*x210, (1+2*x210-2*x170 > 0 /\ 2+2*x210 > 0 /\ -2*x210+arg3P0 > 0), cost: 4 37: __init -> [4] : (1+2*x210-2*x170 > 0 /\ 2+2*x210 > 0 /\ -1-2*x210+2*x130 > 0), cost: NONTERM 38: __init -> [4] : (2+2*x210 > 0 /\ -1-2*x210+2*x130 > 0), cost: NONTERM 39: __init -> f213_0_increase_LE : arg1'=arg1P0+arg3P0, arg3'=0, arg2'=-arg1P0-arg3P0, (arg1P0-arg3P0+2*x130 > 0 /\ 1+arg1P0 > 0 /\ 2-2*x290-arg1P0-arg3P0 >= 0 /\ 1-arg1P0+arg3P0 > 0 /\ arg3P0 > 0 /\ 2*x290+arg1P0-arg3P0 >= 0), cost: 2+2*arg3P0 40: __init -> [4] : (1+2*x210-2*x170 > 0 /\ 2+2*x210 > 0), cost: NONTERM 41: __init -> f213_0_increase_LE : arg1'=arg1P0+arg3P0, arg3'=0, arg2'=-arg1P0-arg3P0, (1+arg1P0 > 0 /\ 2-2*x290-arg1P0-arg3P0 >= 0 /\ 1-arg1P0+arg3P0 > 0 /\ 2-arg1P0-arg3P0-2*x170 > 0 /\ arg3P0 > 0 /\ 2*x290+arg1P0-arg3P0 >= 0), cost: 2+2*arg3P0 42: __init -> f213_0_increase_LE : arg1'=-2*x250+2*arg3P0, arg3'=0, arg2'=2*x250-2*arg3P0, (1+2*x250 > 0 /\ 1-2*x250+arg3P0 > 0 /\ 2-2*x290+2*x250-2*arg3P0 >= 0 /\ 2*x290-2*x250 >= 0 /\ arg3P0 > 0), cost: 2+2*arg3P0 43: __init -> [4] : (1+2*x210-2*x170 > 0 /\ 2+2*x210 > 0 /\ -1-2*x210+2*x130 > 0), cost: NONTERM Removed unreachable locations and irrelevant leafs Start location: __init 37: __init -> [4] : (1+2*x210-2*x170 > 0 /\ 2+2*x210 > 0 /\ -1-2*x210+2*x130 > 0), cost: NONTERM 38: __init -> [4] : (2+2*x210 > 0 /\ -1-2*x210+2*x130 > 0), cost: NONTERM 40: __init -> [4] : (1+2*x210-2*x170 > 0 /\ 2+2*x210 > 0), cost: NONTERM 43: __init -> [4] : (1+2*x210-2*x170 > 0 /\ 2+2*x210 > 0 /\ -1-2*x210+2*x130 > 0), cost: NONTERM Removed duplicate rules (ignoring updates) Start location: __init 38: __init -> [4] : (2+2*x210 > 0 /\ -1-2*x210+2*x130 > 0), cost: NONTERM 40: __init -> [4] : (1+2*x210-2*x170 > 0 /\ 2+2*x210 > 0), cost: NONTERM 43: __init -> [4] : (1+2*x210-2*x170 > 0 /\ 2+2*x210 > 0 /\ -1-2*x210+2*x130 > 0), cost: NONTERM Computing asymptotic complexity Proved nontermination of rule 38 via SMT. Proved the following lower bound Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: (2+2*x210 > 0 /\ -1-2*x210+2*x130 > 0)