NO Initial ITS Start location: __init 0: f1_0_main_Load -> f1_0_main_Load\' : arg1'=arg1P0, arg2'=arg2P0, (arg1 > 0 /\ 1+x120 > 0 /\ -1-2*x140+x130 == 0 /\ 1+x130 > 0 /\ -1+arg2 > 0 /\ arg1-arg1P0 == 0 /\ -arg2P0+arg2 == 0), cost: 1 2: f1_0_main_Load -> f1_0_main_Load\' : arg1'=arg1P2, arg2'=arg2P2, (arg1 > 0 /\ 1+x220 > 0 /\ -1+arg2 > 0 /\ arg1-arg1P2 == 0 /\ 1+x230 > 0 /\ arg2-arg2P2 == 0 /\ x230-2*x240 == 0), cost: 1 1: f1_0_main_Load\' -> f119_0_loop_LE : arg1'=arg1P1, arg2'=arg2P1, (arg1 > 0 /\ 1+x180 > 0 /\ -1-2*x190+x180 == 0 /\ -1+arg2 > 0 /\ -2-2*x190+x180 < 0 /\ 1+arg1P1 > 0 /\ -2*x190+x180 >= 0), cost: 1 3: f1_0_main_Load\' -> f137_0_loop_GE : arg1'=arg1P3, arg2'=arg2P3, (arg1 > 0 /\ 1+x270 > 0 /\ -arg1P3-x270 == 0 /\ -1+arg2 > 0 /\ 1+x280 > 0 /\ x280-2*x290 >= 0 /\ x280-2*x290 == 0 /\ -2+x280-2*x290 < 0), cost: 1 4: f119_0_loop_LE -> f119_0_loop_LE : arg1'=arg1P4, arg2'=arg2P4, (-arg1 == 0 /\ -arg1P4 == 0), cost: 1 5: f119_0_loop_LE -> f119_0_loop_LE : arg1'=arg1P5, arg2'=arg2P5, (arg1 > 0 /\ -1+arg1-arg1P5 == 0), cost: 1 6: f137_0_loop_GE -> f119_0_loop_LE : arg1'=arg1P6, arg2'=arg2P6, (-arg1 == 0 /\ -arg1P6 == 0), cost: 1 7: f137_0_loop_GE -> f137_0_loop_GE : arg1'=arg1P7, arg2'=arg2P7, (arg1 < 0 /\ 1+arg1-arg1P7 == 0), cost: 1 8: __init -> f1_0_main_Load : arg1'=arg1P8, arg2'=arg2P8, TRUE, cost: 1 Applied preprocessing Original rule: f1_0_main_Load -> f1_0_main_Load\' : arg1'=arg1P0, arg2'=arg2P0, (arg1 > 0 /\ 1+x120 > 0 /\ -1-2*x140+x130 == 0 /\ 1+x130 > 0 /\ -1+arg2 > 0 /\ arg1-arg1P0 == 0 /\ -arg2P0+arg2 == 0), cost: 1 New rule: f1_0_main_Load -> f1_0_main_Load\' : (arg1 > 0 /\ 2+2*x140 > 0 /\ -1+arg2 > 0), cost: 1 Applied preprocessing Original rule: f1_0_main_Load\' -> f119_0_loop_LE : arg1'=arg1P1, arg2'=arg2P1, (arg1 > 0 /\ 1+x180 > 0 /\ -1-2*x190+x180 == 0 /\ -1+arg2 > 0 /\ -2-2*x190+x180 < 0 /\ 1+arg1P1 > 0 /\ -2*x190+x180 >= 0), cost: 1 New rule: f1_0_main_Load\' -> f119_0_loop_LE : arg1'=arg1P1, arg2'=arg2P1, (arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0 /\ 1+arg1P1 > 0), cost: 1 Applied preprocessing Original rule: f1_0_main_Load -> f1_0_main_Load\' : arg1'=arg1P2, arg2'=arg2P2, (arg1 > 0 /\ 1+x220 > 0 /\ -1+arg2 > 0 /\ arg1-arg1P2 == 0 /\ 1+x230 > 0 /\ arg2-arg2P2 == 0 /\ x230-2*x240 == 0), cost: 1 New rule: f1_0_main_Load -> f1_0_main_Load\' : (arg1 > 0 /\ 1+2*x240 > 0 /\ -1+arg2 > 0), cost: 1 Applied preprocessing Original rule: f1_0_main_Load\' -> f137_0_loop_GE : arg1'=arg1P3, arg2'=arg2P3, (arg1 > 0 /\ 1+x270 > 0 /\ -arg1P3-x270 == 0 /\ -1+arg2 > 0 /\ 1+x280 > 0 /\ x280-2*x290 >= 0 /\ x280-2*x290 == 0 /\ -2+x280-2*x290 < 0), cost: 1 New rule: f1_0_main_Load\' -> f137_0_loop_GE : arg1'=-x270, arg2'=arg2P3, (arg1 > 0 /\ 1+2*x290 > 0 /\ 1+x270 > 0 /\ -1+arg2 > 0), cost: 1 Applied preprocessing Original rule: f119_0_loop_LE -> f119_0_loop_LE : arg1'=arg1P4, arg2'=arg2P4, (-arg1 == 0 /\ -arg1P4 == 0), cost: 1 New rule: f119_0_loop_LE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P4, arg1 == 0, cost: 1 Applied preprocessing Original rule: f119_0_loop_LE -> f119_0_loop_LE : arg1'=arg1P5, arg2'=arg2P5, (arg1 > 0 /\ -1+arg1-arg1P5 == 0), cost: 1 New rule: f119_0_loop_LE -> f119_0_loop_LE : arg1'=-1+arg1, arg2'=arg2P5, arg1 > 0, cost: 1 Applied preprocessing Original rule: f137_0_loop_GE -> f119_0_loop_LE : arg1'=arg1P6, arg2'=arg2P6, (-arg1 == 0 /\ -arg1P6 == 0), cost: 1 New rule: f137_0_loop_GE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P6, arg1 == 0, cost: 1 Applied preprocessing Original rule: f137_0_loop_GE -> f137_0_loop_GE : arg1'=arg1P7, arg2'=arg2P7, (arg1 < 0 /\ 1+arg1-arg1P7 == 0), cost: 1 New rule: f137_0_loop_GE -> f137_0_loop_GE : arg1'=1+arg1, arg2'=arg2P7, -arg1 > 0, cost: 1 Simplified rules Start location: __init 9: f1_0_main_Load -> f1_0_main_Load\' : (arg1 > 0 /\ 2+2*x140 > 0 /\ -1+arg2 > 0), cost: 1 11: f1_0_main_Load -> f1_0_main_Load\' : (arg1 > 0 /\ 1+2*x240 > 0 /\ -1+arg2 > 0), cost: 1 10: f1_0_main_Load\' -> f119_0_loop_LE : arg1'=arg1P1, arg2'=arg2P1, (arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0 /\ 1+arg1P1 > 0), cost: 1 12: f1_0_main_Load\' -> f137_0_loop_GE : arg1'=-x270, arg2'=arg2P3, (arg1 > 0 /\ 1+2*x290 > 0 /\ 1+x270 > 0 /\ -1+arg2 > 0), cost: 1 13: f119_0_loop_LE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P4, arg1 == 0, cost: 1 14: f119_0_loop_LE -> f119_0_loop_LE : arg1'=-1+arg1, arg2'=arg2P5, arg1 > 0, cost: 1 15: f137_0_loop_GE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P6, arg1 == 0, cost: 1 16: f137_0_loop_GE -> f137_0_loop_GE : arg1'=1+arg1, arg2'=arg2P7, -arg1 > 0, cost: 1 8: __init -> f1_0_main_Load : arg1'=arg1P8, arg2'=arg2P8, TRUE, cost: 1 Applied nonterm Original rule: f119_0_loop_LE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P4, arg1 == 0, cost: 1 New rule: f119_0_loop_LE -> [5] : (arg1 >= 0 /\ -arg1 >= 0), cost: NONTERM Applied acceleration Original rule: f119_0_loop_LE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P4, arg1 == 0, cost: 1 New rule: f119_0_loop_LE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P4, (arg1 >= 0 /\ -arg1 >= 0), cost: n1 Applied acceleration Original rule: f119_0_loop_LE -> f119_0_loop_LE : arg1'=-1+arg1, arg2'=arg2P5, arg1 > 0, cost: 1 New rule: f119_0_loop_LE -> f119_0_loop_LE : arg1'=arg1-n3, arg2'=arg2P5, (1+arg1-n3 > 0 /\ -1+n3 >= 0), cost: n3 Applied instantiation Original rule: f119_0_loop_LE -> f119_0_loop_LE : arg1'=arg1-n3, arg2'=arg2P5, (1+arg1-n3 > 0 /\ -1+n3 >= 0), cost: n3 New rule: f119_0_loop_LE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P5, (1 > 0 /\ -1+arg1 >= 0), cost: arg1 Applied simplification Original rule: f119_0_loop_LE -> [5] : (arg1 >= 0 /\ -arg1 >= 0), cost: NONTERM New rule: f119_0_loop_LE -> [5] : (arg1 <= 0 /\ arg1 >= 0), cost: NONTERM Applied simplification Original rule: f119_0_loop_LE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P4, (arg1 >= 0 /\ -arg1 >= 0), cost: n1 New rule: f119_0_loop_LE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P4, (arg1 <= 0 /\ arg1 >= 0), cost: n1 Applied simplification Original rule: f119_0_loop_LE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P5, (1 > 0 /\ -1+arg1 >= 0), cost: arg1 New rule: f119_0_loop_LE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P5, -1+arg1 >= 0, cost: arg1 Applied deletion Removed the following rules: 13 14 Applied acceleration Original rule: f137_0_loop_GE -> f137_0_loop_GE : arg1'=1+arg1, arg2'=arg2P7, -arg1 > 0, cost: 1 New rule: f137_0_loop_GE -> f137_0_loop_GE : arg1'=n9+arg1, arg2'=arg2P7, (-1+n9 >= 0 /\ 1-n9-arg1 > 0), cost: n9 Applied instantiation Original rule: f137_0_loop_GE -> f137_0_loop_GE : arg1'=n9+arg1, arg2'=arg2P7, (-1+n9 >= 0 /\ 1-n9-arg1 > 0), cost: n9 New rule: f137_0_loop_GE -> f137_0_loop_GE : arg1'=0, arg2'=arg2P7, (1 > 0 /\ -1-arg1 >= 0), cost: -arg1 Applied simplification Original rule: f137_0_loop_GE -> f137_0_loop_GE : arg1'=0, arg2'=arg2P7, (1 > 0 /\ -1-arg1 >= 0), cost: -arg1 New rule: f137_0_loop_GE -> f137_0_loop_GE : arg1'=0, arg2'=arg2P7, 1+arg1 <= 0, cost: -arg1 Applied deletion Removed the following rules: 16 Accelerated simple loops Start location: __init 9: f1_0_main_Load -> f1_0_main_Load\' : (arg1 > 0 /\ 2+2*x140 > 0 /\ -1+arg2 > 0), cost: 1 11: f1_0_main_Load -> f1_0_main_Load\' : (arg1 > 0 /\ 1+2*x240 > 0 /\ -1+arg2 > 0), cost: 1 10: f1_0_main_Load\' -> f119_0_loop_LE : arg1'=arg1P1, arg2'=arg2P1, (arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0 /\ 1+arg1P1 > 0), cost: 1 12: f1_0_main_Load\' -> f137_0_loop_GE : arg1'=-x270, arg2'=arg2P3, (arg1 > 0 /\ 1+2*x290 > 0 /\ 1+x270 > 0 /\ -1+arg2 > 0), cost: 1 20: f119_0_loop_LE -> [5] : (arg1 <= 0 /\ arg1 >= 0), cost: NONTERM 21: f119_0_loop_LE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P4, (arg1 <= 0 /\ arg1 >= 0), cost: n1 22: f119_0_loop_LE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P5, -1+arg1 >= 0, cost: arg1 15: f137_0_loop_GE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P6, arg1 == 0, cost: 1 24: f137_0_loop_GE -> f137_0_loop_GE : arg1'=0, arg2'=arg2P7, 1+arg1 <= 0, cost: -arg1 8: __init -> f1_0_main_Load : arg1'=arg1P8, arg2'=arg2P8, TRUE, cost: 1 Applied chaining First rule: f1_0_main_Load\' -> f119_0_loop_LE : arg1'=arg1P1, arg2'=arg2P1, (arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0 /\ 1+arg1P1 > 0), cost: 1 Second rule: f119_0_loop_LE -> [5] : (arg1 <= 0 /\ arg1 >= 0), cost: NONTERM New rule: f1_0_main_Load\' -> [5] : (arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0), cost: NONTERM Applied chaining First rule: f137_0_loop_GE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P6, arg1 == 0, cost: 1 Second rule: f119_0_loop_LE -> [5] : (arg1 <= 0 /\ arg1 >= 0), cost: NONTERM New rule: f137_0_loop_GE -> [5] : arg1 == 0, cost: NONTERM Applied chaining First rule: f1_0_main_Load\' -> f119_0_loop_LE : arg1'=arg1P1, arg2'=arg2P1, (arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0 /\ 1+arg1P1 > 0), cost: 1 Second rule: f119_0_loop_LE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P4, (arg1 <= 0 /\ arg1 >= 0), cost: n1 New rule: f1_0_main_Load\' -> f119_0_loop_LE : arg1'=0, arg2'=arg2P4, (arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0), cost: 1+n1 Applied chaining First rule: f137_0_loop_GE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P6, arg1 == 0, cost: 1 Second rule: f119_0_loop_LE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P4, (arg1 <= 0 /\ arg1 >= 0), cost: n1 New rule: f137_0_loop_GE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P4, arg1 == 0, cost: 1+n1 Applied chaining First rule: f1_0_main_Load\' -> f119_0_loop_LE : arg1'=arg1P1, arg2'=arg2P1, (arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0 /\ 1+arg1P1 > 0), cost: 1 Second rule: f119_0_loop_LE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P5, -1+arg1 >= 0, cost: arg1 New rule: f1_0_main_Load\' -> f119_0_loop_LE : arg1'=0, arg2'=arg2P5, (arg1 > 0 /\ -1+arg1P1 >= 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0), cost: 1+arg1P1 Applied deletion Removed the following rules: 20 21 22 Applied chaining First rule: f1_0_main_Load\' -> f137_0_loop_GE : arg1'=-x270, arg2'=arg2P3, (arg1 > 0 /\ 1+2*x290 > 0 /\ 1+x270 > 0 /\ -1+arg2 > 0), cost: 1 Second rule: f137_0_loop_GE -> f137_0_loop_GE : arg1'=0, arg2'=arg2P7, 1+arg1 <= 0, cost: -arg1 New rule: f1_0_main_Load\' -> f137_0_loop_GE : arg1'=0, arg2'=arg2P7, (arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ -1+x270 >= 0), cost: 1+x270 Applied deletion Removed the following rules: 24 Chained accelerated rules with incoming rules Start location: __init 9: f1_0_main_Load -> f1_0_main_Load\' : (arg1 > 0 /\ 2+2*x140 > 0 /\ -1+arg2 > 0), cost: 1 11: f1_0_main_Load -> f1_0_main_Load\' : (arg1 > 0 /\ 1+2*x240 > 0 /\ -1+arg2 > 0), cost: 1 10: f1_0_main_Load\' -> f119_0_loop_LE : arg1'=arg1P1, arg2'=arg2P1, (arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0 /\ 1+arg1P1 > 0), cost: 1 12: f1_0_main_Load\' -> f137_0_loop_GE : arg1'=-x270, arg2'=arg2P3, (arg1 > 0 /\ 1+2*x290 > 0 /\ 1+x270 > 0 /\ -1+arg2 > 0), cost: 1 25: f1_0_main_Load\' -> [5] : (arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0), cost: NONTERM 27: f1_0_main_Load\' -> f119_0_loop_LE : arg1'=0, arg2'=arg2P4, (arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0), cost: 1+n1 29: f1_0_main_Load\' -> f119_0_loop_LE : arg1'=0, arg2'=arg2P5, (arg1 > 0 /\ -1+arg1P1 >= 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0), cost: 1+arg1P1 30: f1_0_main_Load\' -> f137_0_loop_GE : arg1'=0, arg2'=arg2P7, (arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ -1+x270 >= 0), cost: 1+x270 15: f137_0_loop_GE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P6, arg1 == 0, cost: 1 26: f137_0_loop_GE -> [5] : arg1 == 0, cost: NONTERM 28: f137_0_loop_GE -> f119_0_loop_LE : arg1'=0, arg2'=arg2P4, arg1 == 0, cost: 1+n1 8: __init -> f1_0_main_Load : arg1'=arg1P8, arg2'=arg2P8, TRUE, cost: 1 Removed unreachable locations and irrelevant leafs Start location: __init 9: f1_0_main_Load -> f1_0_main_Load\' : (arg1 > 0 /\ 2+2*x140 > 0 /\ -1+arg2 > 0), cost: 1 11: f1_0_main_Load -> f1_0_main_Load\' : (arg1 > 0 /\ 1+2*x240 > 0 /\ -1+arg2 > 0), cost: 1 12: f1_0_main_Load\' -> f137_0_loop_GE : arg1'=-x270, arg2'=arg2P3, (arg1 > 0 /\ 1+2*x290 > 0 /\ 1+x270 > 0 /\ -1+arg2 > 0), cost: 1 25: f1_0_main_Load\' -> [5] : (arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0), cost: NONTERM 30: f1_0_main_Load\' -> f137_0_loop_GE : arg1'=0, arg2'=arg2P7, (arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ -1+x270 >= 0), cost: 1+x270 26: f137_0_loop_GE -> [5] : arg1 == 0, cost: NONTERM 8: __init -> f1_0_main_Load : arg1'=arg1P8, arg2'=arg2P8, TRUE, cost: 1 Eliminating location f1_0_main_Load by chaining: Applied chaining First rule: __init -> f1_0_main_Load : arg1'=arg1P8, arg2'=arg2P8, TRUE, cost: 1 Second rule: f1_0_main_Load -> f1_0_main_Load\' : (arg1 > 0 /\ 2+2*x140 > 0 /\ -1+arg2 > 0), cost: 1 New rule: __init -> f1_0_main_Load\' : arg1'=arg1P8, arg2'=arg2P8, (-1+arg2P8 > 0 /\ 2+2*x140 > 0 /\ arg1P8 > 0), cost: 2 Applied chaining First rule: __init -> f1_0_main_Load : arg1'=arg1P8, arg2'=arg2P8, TRUE, cost: 1 Second rule: f1_0_main_Load -> f1_0_main_Load\' : (arg1 > 0 /\ 1+2*x240 > 0 /\ -1+arg2 > 0), cost: 1 New rule: __init -> f1_0_main_Load\' : arg1'=arg1P8, arg2'=arg2P8, (-1+arg2P8 > 0 /\ 1+2*x240 > 0 /\ arg1P8 > 0), cost: 2 Applied deletion Removed the following rules: 8 9 11 Eliminating location f137_0_loop_GE by chaining: Applied chaining First rule: f1_0_main_Load\' -> f137_0_loop_GE : arg1'=-x270, arg2'=arg2P3, (arg1 > 0 /\ 1+2*x290 > 0 /\ 1+x270 > 0 /\ -1+arg2 > 0), cost: 1 Second rule: f137_0_loop_GE -> [5] : arg1 == 0, cost: NONTERM New rule: f1_0_main_Load\' -> [5] : (arg1 > 0 /\ 1+2*x290 > 0 /\ 1+x270 > 0 /\ -1+arg2 > 0 /\ -x270 == 0), cost: NONTERM Applied simplification Original rule: f1_0_main_Load\' -> [5] : (arg1 > 0 /\ 1+2*x290 > 0 /\ 1+x270 > 0 /\ -1+arg2 > 0 /\ -x270 == 0), cost: NONTERM New rule: f1_0_main_Load\' -> [5] : (arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ x270 == 0), cost: NONTERM Applied chaining First rule: f1_0_main_Load\' -> f137_0_loop_GE : arg1'=0, arg2'=arg2P7, (arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ -1+x270 >= 0), cost: 1+x270 Second rule: f137_0_loop_GE -> [5] : arg1 == 0, cost: NONTERM New rule: f1_0_main_Load\' -> [5] : (0 == 0 /\ arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ -1+x270 >= 0), cost: NONTERM Applied simplification Original rule: f1_0_main_Load\' -> [5] : (0 == 0 /\ arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ -1+x270 >= 0), cost: NONTERM New rule: f1_0_main_Load\' -> [5] : (arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ -1+x270 >= 0), cost: NONTERM Applied deletion Removed the following rules: 12 26 30 Eliminated locations on tree-shaped paths Start location: __init 25: f1_0_main_Load\' -> [5] : (arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0), cost: NONTERM 33: f1_0_main_Load\' -> [5] : (arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ x270 == 0), cost: NONTERM 34: f1_0_main_Load\' -> [5] : (arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ -1+x270 >= 0), cost: NONTERM 31: __init -> f1_0_main_Load\' : arg1'=arg1P8, arg2'=arg2P8, (-1+arg2P8 > 0 /\ 2+2*x140 > 0 /\ arg1P8 > 0), cost: 2 32: __init -> f1_0_main_Load\' : arg1'=arg1P8, arg2'=arg2P8, (-1+arg2P8 > 0 /\ 1+2*x240 > 0 /\ arg1P8 > 0), cost: 2 Applied merging first rule: f1_0_main_Load\' -> [5] : (arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0), cost: NONTERM second rule: f1_0_main_Load\' -> [5] : (arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ x270 == 0), cost: NONTERM new rule: f1_0_main_Load\' -> [5] : ((arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ x270 == 0) \/ (arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0)), cost: NONTERM Applied merging first rule: f1_0_main_Load\' -> [5] : (arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ -1+x270 >= 0), cost: NONTERM second rule: f1_0_main_Load\' -> [5] : ((arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ x270 == 0) \/ (arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0)), cost: NONTERM new rule: f1_0_main_Load\' -> [5] : ((arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0) \/ (arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ x270 == 0) \/ (arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ -1+x270 >= 0)), cost: NONTERM Merged rules Start location: __init 36: f1_0_main_Load\' -> [5] : ((arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0) \/ (arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ x270 == 0) \/ (arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ -1+x270 >= 0)), cost: NONTERM 31: __init -> f1_0_main_Load\' : arg1'=arg1P8, arg2'=arg2P8, (-1+arg2P8 > 0 /\ 2+2*x140 > 0 /\ arg1P8 > 0), cost: 2 32: __init -> f1_0_main_Load\' : arg1'=arg1P8, arg2'=arg2P8, (-1+arg2P8 > 0 /\ 1+2*x240 > 0 /\ arg1P8 > 0), cost: 2 Eliminating location f1_0_main_Load\' by chaining: Applied chaining First rule: __init -> f1_0_main_Load\' : arg1'=arg1P8, arg2'=arg2P8, (-1+arg2P8 > 0 /\ 2+2*x140 > 0 /\ arg1P8 > 0), cost: 2 Second rule: f1_0_main_Load\' -> [5] : ((arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0) \/ (arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ x270 == 0) \/ (arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ -1+x270 >= 0)), cost: NONTERM New rule: __init -> [5] : (-1+arg2P8 > 0 /\ 2+2*x140 > 0 /\ arg1P8 > 0 /\ ((-1+arg2P8 > 0 /\ 1+2*x290 > 0 /\ arg1P8 > 0 /\ -1+x270 >= 0) \/ (-1+arg2P8 > 0 /\ 2+2*x190 > 0 /\ arg1P8 > 0) \/ (-1+arg2P8 > 0 /\ 1+2*x290 > 0 /\ x270 == 0 /\ arg1P8 > 0))), cost: NONTERM Applied simplification Original rule: __init -> [5] : (-1+arg2P8 > 0 /\ 2+2*x140 > 0 /\ arg1P8 > 0 /\ ((-1+arg2P8 > 0 /\ 1+2*x290 > 0 /\ arg1P8 > 0 /\ -1+x270 >= 0) \/ (-1+arg2P8 > 0 /\ 2+2*x190 > 0 /\ arg1P8 > 0) \/ (-1+arg2P8 > 0 /\ 1+2*x290 > 0 /\ x270 == 0 /\ arg1P8 > 0))), cost: NONTERM New rule: __init -> [5] : (2+2*x140 > 0 /\ ((-1+arg2P8 > 0 /\ 1+2*x290 > 0 /\ x270 == 0 /\ arg1P8 > 0) \/ (-1+arg2P8 > 0 /\ 2+2*x190 > 0 /\ arg1P8 > 0) \/ (-1+arg2P8 > 0 /\ 1+2*x290 > 0 /\ arg1P8 > 0 /\ -1+x270 >= 0))), cost: NONTERM Applied chaining First rule: __init -> f1_0_main_Load\' : arg1'=arg1P8, arg2'=arg2P8, (-1+arg2P8 > 0 /\ 1+2*x240 > 0 /\ arg1P8 > 0), cost: 2 Second rule: f1_0_main_Load\' -> [5] : ((arg1 > 0 /\ -1+arg2 > 0 /\ 2+2*x190 > 0) \/ (arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ x270 == 0) \/ (arg1 > 0 /\ 1+2*x290 > 0 /\ -1+arg2 > 0 /\ -1+x270 >= 0)), cost: NONTERM New rule: __init -> [5] : (-1+arg2P8 > 0 /\ 1+2*x240 > 0 /\ arg1P8 > 0 /\ ((-1+arg2P8 > 0 /\ 2+2*x190 > 0 /\ arg1P8 > 0) \/ (-1+arg2P8 > 0 /\ 1+2*x290 > 0 /\ x270 == 0 /\ arg1P8 > 0) \/ (-1+arg2P8 > 0 /\ 1+2*x290 > 0 /\ arg1P8 > 0 /\ -1+x270 >= 0))), cost: NONTERM Applied simplification Original rule: __init -> [5] : (-1+arg2P8 > 0 /\ 1+2*x240 > 0 /\ arg1P8 > 0 /\ ((-1+arg2P8 > 0 /\ 2+2*x190 > 0 /\ arg1P8 > 0) \/ (-1+arg2P8 > 0 /\ 1+2*x290 > 0 /\ x270 == 0 /\ arg1P8 > 0) \/ (-1+arg2P8 > 0 /\ 1+2*x290 > 0 /\ arg1P8 > 0 /\ -1+x270 >= 0))), cost: NONTERM New rule: __init -> [5] : (1+2*x240 > 0 /\ ((-1+arg2P8 > 0 /\ 1+2*x290 > 0 /\ arg1P8 > 0 /\ -1+x270 >= 0) \/ (-1+arg2P8 > 0 /\ 1+2*x290 > 0 /\ x270 == 0 /\ arg1P8 > 0) \/ (-1+arg2P8 > 0 /\ 2+2*x190 > 0 /\ arg1P8 > 0))), cost: NONTERM Applied deletion Removed the following rules: 31 32 36 Eliminated locations on tree-shaped paths Start location: __init 37: __init -> [5] : (2+2*x140 > 0 /\ ((-1+arg2P8 > 0 /\ 1+2*x290 > 0 /\ x270 == 0 /\ arg1P8 > 0) \/ (-1+arg2P8 > 0 /\ 2+2*x190 > 0 /\ arg1P8 > 0) \/ (-1+arg2P8 > 0 /\ 1+2*x290 > 0 /\ arg1P8 > 0 /\ -1+x270 >= 0))), cost: NONTERM 38: __init -> [5] : (1+2*x240 > 0 /\ ((-1+arg2P8 > 0 /\ 1+2*x290 > 0 /\ arg1P8 > 0 /\ -1+x270 >= 0) \/ (-1+arg2P8 > 0 /\ 1+2*x290 > 0 /\ x270 == 0 /\ arg1P8 > 0) \/ (-1+arg2P8 > 0 /\ 2+2*x190 > 0 /\ arg1P8 > 0))), cost: NONTERM Computing asymptotic complexity Proved nontermination of rule 37 via SMT. Proved the following lower bound Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: (2+2*x140 > 0 /\ ((-1+arg2P8 > 0 /\ 1+2*x290 > 0 /\ x270 == 0 /\ arg1P8 > 0) \/ (-1+arg2P8 > 0 /\ 2+2*x190 > 0 /\ arg1P8 > 0) \/ (-1+arg2P8 > 0 /\ 1+2*x290 > 0 /\ arg1P8 > 0 /\ -1+x270 >= 0)))