NO Initial ITS Start location: __init 0: f1_0_main_Load -> f1_0_main_Load\' : arg2'=arg2P0, arg1'=arg1P0, (arg2-arg2P0 == 0 /\ -arg1P0+arg1 == 0 /\ -2*x160+x150 == 0 /\ arg1 > 0 /\ 1+x140 > 0 /\ -1+arg2 > 0 /\ 1+x150 > 0), cost: 1 2: f1_0_main_Load -> f1_0_main_Load\' : arg2'=arg2P2, arg1'=arg1P2, (-1-2*x260+x250 == 0 /\ 1+x240 > 0 /\ arg1-arg1P2 == 0 /\ arg1 > 0 /\ -1+arg2 > 0 /\ arg2-arg2P2 == 0 /\ 1+x250 > 0), cost: 1 1: f1_0_main_Load\' -> f131_0_loop_LT : arg2'=arg2P1, arg1'=arg1P1, (1+x200 > 0 /\ 1+x190 > 0 /\ arg1 > 0 /\ -2+x200-2*x210 < 0 /\ -1+arg2 > 0 /\ x200-2*x210 >= 0 /\ x200-2*x210 == 0 /\ -x190-arg1P1 == 0), cost: 1 3: f1_0_main_Load\' -> f130_0_loop_GT : arg2'=arg2P3, arg1'=arg1P3, (1+x300 > 0 /\ x300-2*x310 >= 0 /\ 1+arg1P3 > 0 /\ -2+x300-2*x310 < 0 /\ -1+x300-2*x310 == 0 /\ arg1 > 0 /\ -1+arg2 > 0), cost: 1 6: f131_0_loop_LT -> f163_0_loop_GE : arg2'=arg2P6, arg1'=arg1P6, (-6+arg1 < 0 /\ 6+arg1 > 0 /\ -arg1P6+arg1 == 0 /\ -1+arg1 < 0), cost: 1 4: f130_0_loop_GT -> f163_0_loop_GE : arg2'=arg2P4, arg1'=arg1P4, (-arg1 == 0 /\ -arg1P4 == 0), cost: 1 5: f130_0_loop_GT -> f163_0_loop_GE : arg2'=arg2P5, arg1'=arg1P5, (-1+arg1-arg1P5 == 0 /\ -6+arg1 < 0 /\ arg1 > 0), cost: 1 7: f163_0_loop_GE -> f130_0_loop_GT : arg2'=arg2P7, arg1'=arg1P7, (1+arg1 > 0 /\ arg1-arg1P7 == 0), cost: 1 8: f163_0_loop_GE -> f131_0_loop_LT : arg2'=arg2P8, arg1'=arg1P8, (1+arg1-arg1P8 == 0 /\ arg1 < 0), cost: 1 9: __init -> f1_0_main_Load : arg2'=arg2P9, arg1'=arg1P9, TRUE, cost: 1 Applied preprocessing Original rule: f1_0_main_Load -> f1_0_main_Load\' : arg2'=arg2P0, arg1'=arg1P0, (arg2-arg2P0 == 0 /\ -arg1P0+arg1 == 0 /\ -2*x160+x150 == 0 /\ arg1 > 0 /\ 1+x140 > 0 /\ -1+arg2 > 0 /\ 1+x150 > 0), cost: 1 New rule: f1_0_main_Load -> f1_0_main_Load\' : (arg1 > 0 /\ 1+2*x160 > 0 /\ -1+arg2 > 0), cost: 1 Applied preprocessing Original rule: f1_0_main_Load\' -> f131_0_loop_LT : arg2'=arg2P1, arg1'=arg1P1, (1+x200 > 0 /\ 1+x190 > 0 /\ arg1 > 0 /\ -2+x200-2*x210 < 0 /\ -1+arg2 > 0 /\ x200-2*x210 >= 0 /\ x200-2*x210 == 0 /\ -x190-arg1P1 == 0), cost: 1 New rule: f1_0_main_Load\' -> f131_0_loop_LT : arg2'=arg2P1, arg1'=-x190, (1+x190 > 0 /\ 1+2*x210 > 0 /\ arg1 > 0 /\ -1+arg2 > 0), cost: 1 Applied preprocessing Original rule: f1_0_main_Load -> f1_0_main_Load\' : arg2'=arg2P2, arg1'=arg1P2, (-1-2*x260+x250 == 0 /\ 1+x240 > 0 /\ arg1-arg1P2 == 0 /\ arg1 > 0 /\ -1+arg2 > 0 /\ arg2-arg2P2 == 0 /\ 1+x250 > 0), cost: 1 New rule: f1_0_main_Load -> f1_0_main_Load\' : (arg1 > 0 /\ 2+2*x260 > 0 /\ -1+arg2 > 0), cost: 1 Applied preprocessing Original rule: f1_0_main_Load\' -> f130_0_loop_GT : arg2'=arg2P3, arg1'=arg1P3, (1+x300 > 0 /\ x300-2*x310 >= 0 /\ 1+arg1P3 > 0 /\ -2+x300-2*x310 < 0 /\ -1+x300-2*x310 == 0 /\ arg1 > 0 /\ -1+arg2 > 0), cost: 1 New rule: f1_0_main_Load\' -> f130_0_loop_GT : arg2'=arg2P3, arg1'=arg1P3, (2+2*x310 > 0 /\ 1+arg1P3 > 0 /\ arg1 > 0 /\ -1+arg2 > 0), cost: 1 Applied preprocessing Original rule: f130_0_loop_GT -> f163_0_loop_GE : arg2'=arg2P4, arg1'=arg1P4, (-arg1 == 0 /\ -arg1P4 == 0), cost: 1 New rule: f130_0_loop_GT -> f163_0_loop_GE : arg2'=arg2P4, arg1'=0, arg1 == 0, cost: 1 Applied preprocessing Original rule: f130_0_loop_GT -> f163_0_loop_GE : arg2'=arg2P5, arg1'=arg1P5, (-1+arg1-arg1P5 == 0 /\ -6+arg1 < 0 /\ arg1 > 0), cost: 1 New rule: f130_0_loop_GT -> f163_0_loop_GE : arg2'=arg2P5, arg1'=-1+arg1, (6-arg1 > 0 /\ arg1 > 0), cost: 1 Applied preprocessing Original rule: f131_0_loop_LT -> f163_0_loop_GE : arg2'=arg2P6, arg1'=arg1P6, (-6+arg1 < 0 /\ 6+arg1 > 0 /\ -arg1P6+arg1 == 0 /\ -1+arg1 < 0), cost: 1 New rule: f131_0_loop_LT -> f163_0_loop_GE : arg2'=arg2P6, (6+arg1 > 0 /\ 1-arg1 > 0), cost: 1 Applied preprocessing Original rule: f163_0_loop_GE -> f130_0_loop_GT : arg2'=arg2P7, arg1'=arg1P7, (1+arg1 > 0 /\ arg1-arg1P7 == 0), cost: 1 New rule: f163_0_loop_GE -> f130_0_loop_GT : arg2'=arg2P7, 1+arg1 > 0, cost: 1 Applied preprocessing Original rule: f163_0_loop_GE -> f131_0_loop_LT : arg2'=arg2P8, arg1'=arg1P8, (1+arg1-arg1P8 == 0 /\ arg1 < 0), cost: 1 New rule: f163_0_loop_GE -> f131_0_loop_LT : arg2'=arg2P8, arg1'=1+arg1, -arg1 > 0, cost: 1 Simplified rules Start location: __init 10: f1_0_main_Load -> f1_0_main_Load\' : (arg1 > 0 /\ 1+2*x160 > 0 /\ -1+arg2 > 0), cost: 1 12: f1_0_main_Load -> f1_0_main_Load\' : (arg1 > 0 /\ 2+2*x260 > 0 /\ -1+arg2 > 0), cost: 1 11: f1_0_main_Load\' -> f131_0_loop_LT : arg2'=arg2P1, arg1'=-x190, (1+x190 > 0 /\ 1+2*x210 > 0 /\ arg1 > 0 /\ -1+arg2 > 0), cost: 1 13: f1_0_main_Load\' -> f130_0_loop_GT : arg2'=arg2P3, arg1'=arg1P3, (2+2*x310 > 0 /\ 1+arg1P3 > 0 /\ arg1 > 0 /\ -1+arg2 > 0), cost: 1 16: f131_0_loop_LT -> f163_0_loop_GE : arg2'=arg2P6, (6+arg1 > 0 /\ 1-arg1 > 0), cost: 1 14: f130_0_loop_GT -> f163_0_loop_GE : arg2'=arg2P4, arg1'=0, arg1 == 0, cost: 1 15: f130_0_loop_GT -> f163_0_loop_GE : arg2'=arg2P5, arg1'=-1+arg1, (6-arg1 > 0 /\ arg1 > 0), cost: 1 17: f163_0_loop_GE -> f130_0_loop_GT : arg2'=arg2P7, 1+arg1 > 0, cost: 1 18: f163_0_loop_GE -> f131_0_loop_LT : arg2'=arg2P8, arg1'=1+arg1, -arg1 > 0, cost: 1 9: __init -> f1_0_main_Load : arg2'=arg2P9, arg1'=arg1P9, TRUE, cost: 1 Eliminating location f1_0_main_Load by chaining: Applied chaining First rule: __init -> f1_0_main_Load : arg2'=arg2P9, arg1'=arg1P9, TRUE, cost: 1 Second rule: f1_0_main_Load -> f1_0_main_Load\' : (arg1 > 0 /\ 1+2*x160 > 0 /\ -1+arg2 > 0), cost: 1 New rule: __init -> f1_0_main_Load\' : arg2'=arg2P9, arg1'=arg1P9, (arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+2*x160 > 0), cost: 2 Applied chaining First rule: __init -> f1_0_main_Load : arg2'=arg2P9, arg1'=arg1P9, TRUE, cost: 1 Second rule: f1_0_main_Load -> f1_0_main_Load\' : (arg1 > 0 /\ 2+2*x260 > 0 /\ -1+arg2 > 0), cost: 1 New rule: __init -> f1_0_main_Load\' : arg2'=arg2P9, arg1'=arg1P9, (arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 2+2*x260 > 0), cost: 2 Applied deletion Removed the following rules: 9 10 12 Eliminated locations on tree-shaped paths Start location: __init 11: f1_0_main_Load\' -> f131_0_loop_LT : arg2'=arg2P1, arg1'=-x190, (1+x190 > 0 /\ 1+2*x210 > 0 /\ arg1 > 0 /\ -1+arg2 > 0), cost: 1 13: f1_0_main_Load\' -> f130_0_loop_GT : arg2'=arg2P3, arg1'=arg1P3, (2+2*x310 > 0 /\ 1+arg1P3 > 0 /\ arg1 > 0 /\ -1+arg2 > 0), cost: 1 16: f131_0_loop_LT -> f163_0_loop_GE : arg2'=arg2P6, (6+arg1 > 0 /\ 1-arg1 > 0), cost: 1 14: f130_0_loop_GT -> f163_0_loop_GE : arg2'=arg2P4, arg1'=0, arg1 == 0, cost: 1 15: f130_0_loop_GT -> f163_0_loop_GE : arg2'=arg2P5, arg1'=-1+arg1, (6-arg1 > 0 /\ arg1 > 0), cost: 1 17: f163_0_loop_GE -> f130_0_loop_GT : arg2'=arg2P7, 1+arg1 > 0, cost: 1 18: f163_0_loop_GE -> f131_0_loop_LT : arg2'=arg2P8, arg1'=1+arg1, -arg1 > 0, cost: 1 19: __init -> f1_0_main_Load\' : arg2'=arg2P9, arg1'=arg1P9, (arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+2*x160 > 0), cost: 2 20: __init -> f1_0_main_Load\' : arg2'=arg2P9, arg1'=arg1P9, (arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 2+2*x260 > 0), cost: 2 Eliminating location f1_0_main_Load\' by chaining: Applied chaining First rule: __init -> f1_0_main_Load\' : arg2'=arg2P9, arg1'=arg1P9, (arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+2*x160 > 0), cost: 2 Second rule: f1_0_main_Load\' -> f131_0_loop_LT : arg2'=arg2P1, arg1'=-x190, (1+x190 > 0 /\ 1+2*x210 > 0 /\ arg1 > 0 /\ -1+arg2 > 0), cost: 1 New rule: __init -> f131_0_loop_LT : arg2'=arg2P1, arg1'=-x190, (arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 1+2*x160 > 0), cost: 3 Applied chaining First rule: __init -> f1_0_main_Load\' : arg2'=arg2P9, arg1'=arg1P9, (arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+2*x160 > 0), cost: 2 Second rule: f1_0_main_Load\' -> f130_0_loop_GT : arg2'=arg2P3, arg1'=arg1P3, (2+2*x310 > 0 /\ 1+arg1P3 > 0 /\ arg1 > 0 /\ -1+arg2 > 0), cost: 1 New rule: __init -> f130_0_loop_GT : arg2'=arg2P3, arg1'=arg1P3, (2+2*x310 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+arg1P3 > 0 /\ 1+2*x160 > 0), cost: 3 Applied chaining First rule: __init -> f1_0_main_Load\' : arg2'=arg2P9, arg1'=arg1P9, (arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 2+2*x260 > 0), cost: 2 Second rule: f1_0_main_Load\' -> f131_0_loop_LT : arg2'=arg2P1, arg1'=-x190, (1+x190 > 0 /\ 1+2*x210 > 0 /\ arg1 > 0 /\ -1+arg2 > 0), cost: 1 New rule: __init -> f131_0_loop_LT : arg2'=arg2P1, arg1'=-x190, (arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 2+2*x260 > 0), cost: 3 Applied chaining First rule: __init -> f1_0_main_Load\' : arg2'=arg2P9, arg1'=arg1P9, (arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 2+2*x260 > 0), cost: 2 Second rule: f1_0_main_Load\' -> f130_0_loop_GT : arg2'=arg2P3, arg1'=arg1P3, (2+2*x310 > 0 /\ 1+arg1P3 > 0 /\ arg1 > 0 /\ -1+arg2 > 0), cost: 1 New rule: __init -> f130_0_loop_GT : arg2'=arg2P3, arg1'=arg1P3, (2+2*x310 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+arg1P3 > 0 /\ 2+2*x260 > 0), cost: 3 Applied deletion Removed the following rules: 11 13 19 20 Eliminated locations on tree-shaped paths Start location: __init 16: f131_0_loop_LT -> f163_0_loop_GE : arg2'=arg2P6, (6+arg1 > 0 /\ 1-arg1 > 0), cost: 1 14: f130_0_loop_GT -> f163_0_loop_GE : arg2'=arg2P4, arg1'=0, arg1 == 0, cost: 1 15: f130_0_loop_GT -> f163_0_loop_GE : arg2'=arg2P5, arg1'=-1+arg1, (6-arg1 > 0 /\ arg1 > 0), cost: 1 17: f163_0_loop_GE -> f130_0_loop_GT : arg2'=arg2P7, 1+arg1 > 0, cost: 1 18: f163_0_loop_GE -> f131_0_loop_LT : arg2'=arg2P8, arg1'=1+arg1, -arg1 > 0, cost: 1 21: __init -> f131_0_loop_LT : arg2'=arg2P1, arg1'=-x190, (arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 1+2*x160 > 0), cost: 3 22: __init -> f130_0_loop_GT : arg2'=arg2P3, arg1'=arg1P3, (2+2*x310 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+arg1P3 > 0 /\ 1+2*x160 > 0), cost: 3 23: __init -> f131_0_loop_LT : arg2'=arg2P1, arg1'=-x190, (arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 2+2*x260 > 0), cost: 3 24: __init -> f130_0_loop_GT : arg2'=arg2P3, arg1'=arg1P3, (2+2*x310 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+arg1P3 > 0 /\ 2+2*x260 > 0), cost: 3 Eliminated location f131_0_loop_LT Start location: __init 14: f130_0_loop_GT -> f163_0_loop_GE : arg2'=arg2P4, arg1'=0, arg1 == 0, cost: 1 15: f130_0_loop_GT -> f163_0_loop_GE : arg2'=arg2P5, arg1'=-1+arg1, (6-arg1 > 0 /\ arg1 > 0), cost: 1 17: f163_0_loop_GE -> f130_0_loop_GT : arg2'=arg2P7, 1+arg1 > 0, cost: 1 25: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P6, arg1'=1+arg1, (7+arg1 > 0 /\ -arg1 > 0), cost: 2 22: __init -> f130_0_loop_GT : arg2'=arg2P3, arg1'=arg1P3, (2+2*x310 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+arg1P3 > 0 /\ 1+2*x160 > 0), cost: 3 24: __init -> f130_0_loop_GT : arg2'=arg2P3, arg1'=arg1P3, (2+2*x310 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+arg1P3 > 0 /\ 2+2*x260 > 0), cost: 3 26: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=-x190, (6-x190 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 1+2*x160 > 0), cost: 4 27: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=-x190, (6-x190 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 2+2*x260 > 0), cost: 4 Applied acceleration Original rule: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P6, arg1'=1+arg1, (7+arg1 > 0 /\ -arg1 > 0), cost: 2 New rule: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P6, arg1'=n+arg1, (-1+n >= 0 /\ 1-n-arg1 > 0 /\ 7+arg1 > 0), cost: 2*n Sub-proof via acceration calculus written to file:///tmp/tmpnam_oFeGeH.txt Applied instantiation Original rule: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P6, arg1'=n+arg1, (-1+n >= 0 /\ 1-n-arg1 > 0 /\ 7+arg1 > 0), cost: 2*n New rule: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P6, arg1'=0, (1 > 0 /\ -1-arg1 >= 0 /\ 7+arg1 > 0), cost: -2*arg1 Applied simplification Original rule: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P6, arg1'=0, (1 > 0 /\ -1-arg1 >= 0 /\ 7+arg1 > 0), cost: -2*arg1 New rule: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P6, arg1'=0, (1+arg1 <= 0 /\ 7+arg1 > 0), cost: -2*arg1 Applied deletion Removed the following rules: 25 Accelerated simple loops Start location: __init 14: f130_0_loop_GT -> f163_0_loop_GE : arg2'=arg2P4, arg1'=0, arg1 == 0, cost: 1 15: f130_0_loop_GT -> f163_0_loop_GE : arg2'=arg2P5, arg1'=-1+arg1, (6-arg1 > 0 /\ arg1 > 0), cost: 1 17: f163_0_loop_GE -> f130_0_loop_GT : arg2'=arg2P7, 1+arg1 > 0, cost: 1 29: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P6, arg1'=0, (1+arg1 <= 0 /\ 7+arg1 > 0), cost: -2*arg1 22: __init -> f130_0_loop_GT : arg2'=arg2P3, arg1'=arg1P3, (2+2*x310 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+arg1P3 > 0 /\ 1+2*x160 > 0), cost: 3 24: __init -> f130_0_loop_GT : arg2'=arg2P3, arg1'=arg1P3, (2+2*x310 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+arg1P3 > 0 /\ 2+2*x260 > 0), cost: 3 26: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=-x190, (6-x190 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 1+2*x160 > 0), cost: 4 27: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=-x190, (6-x190 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 2+2*x260 > 0), cost: 4 Applied chaining First rule: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=-x190, (6-x190 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 1+2*x160 > 0), cost: 4 Second rule: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P6, arg1'=0, (1+arg1 <= 0 /\ 7+arg1 > 0), cost: -2*arg1 New rule: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=0, (6-x190 > 0 /\ 1+2*x210 > 0 /\ 1-x190 <= 0 /\ 1+2*x160 > 0), cost: 4+2*x190 Applied chaining First rule: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=-x190, (6-x190 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 2+2*x260 > 0), cost: 4 Second rule: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P6, arg1'=0, (1+arg1 <= 0 /\ 7+arg1 > 0), cost: -2*arg1 New rule: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=0, (6-x190 > 0 /\ 1+2*x210 > 0 /\ 1-x190 <= 0 /\ 2+2*x260 > 0), cost: 4+2*x190 Applied deletion Removed the following rules: 29 Chained accelerated rules with incoming rules Start location: __init 14: f130_0_loop_GT -> f163_0_loop_GE : arg2'=arg2P4, arg1'=0, arg1 == 0, cost: 1 15: f130_0_loop_GT -> f163_0_loop_GE : arg2'=arg2P5, arg1'=-1+arg1, (6-arg1 > 0 /\ arg1 > 0), cost: 1 17: f163_0_loop_GE -> f130_0_loop_GT : arg2'=arg2P7, 1+arg1 > 0, cost: 1 22: __init -> f130_0_loop_GT : arg2'=arg2P3, arg1'=arg1P3, (2+2*x310 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+arg1P3 > 0 /\ 1+2*x160 > 0), cost: 3 24: __init -> f130_0_loop_GT : arg2'=arg2P3, arg1'=arg1P3, (2+2*x310 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+arg1P3 > 0 /\ 2+2*x260 > 0), cost: 3 26: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=-x190, (6-x190 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 1+2*x160 > 0), cost: 4 27: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=-x190, (6-x190 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 2+2*x260 > 0), cost: 4 30: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=0, (6-x190 > 0 /\ 1+2*x210 > 0 /\ 1-x190 <= 0 /\ 1+2*x160 > 0), cost: 4+2*x190 31: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=0, (6-x190 > 0 /\ 1+2*x210 > 0 /\ 1-x190 <= 0 /\ 2+2*x260 > 0), cost: 4+2*x190 Eliminated location f130_0_loop_GT Start location: __init 32: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P4, arg1'=0, arg1 == 0, cost: 2 33: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P5, arg1'=-1+arg1, (6-arg1 > 0 /\ arg1 > 0), cost: 2 26: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=-x190, (6-x190 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 1+2*x160 > 0), cost: 4 27: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=-x190, (6-x190 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 2+2*x260 > 0), cost: 4 30: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=0, (6-x190 > 0 /\ 1+2*x210 > 0 /\ 1-x190 <= 0 /\ 1+2*x160 > 0), cost: 4+2*x190 31: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=0, (6-x190 > 0 /\ 1+2*x210 > 0 /\ 1-x190 <= 0 /\ 2+2*x260 > 0), cost: 4+2*x190 34: __init -> f163_0_loop_GE : arg2'=arg2P4, arg1'=0, (2+2*x310 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ arg1P3 == 0 /\ 1+2*x160 > 0), cost: 4 35: __init -> f163_0_loop_GE : arg2'=arg2P5, arg1'=-1+arg1P3, (2+2*x310 > 0 /\ arg1P9 > 0 /\ 6-arg1P3 > 0 /\ -1+arg2P9 > 0 /\ arg1P3 > 0 /\ 1+2*x160 > 0), cost: 4 36: __init -> f163_0_loop_GE : arg2'=arg2P4, arg1'=0, (2+2*x310 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ arg1P3 == 0 /\ 2+2*x260 > 0), cost: 4 37: __init -> f163_0_loop_GE : arg2'=arg2P5, arg1'=-1+arg1P3, (2+2*x310 > 0 /\ arg1P9 > 0 /\ 6-arg1P3 > 0 /\ -1+arg2P9 > 0 /\ arg1P3 > 0 /\ 2+2*x260 > 0), cost: 4 Applied pruning (of leafs and parallel rules): Start location: __init 32: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P4, arg1'=0, arg1 == 0, cost: 2 33: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P5, arg1'=-1+arg1, (6-arg1 > 0 /\ arg1 > 0), cost: 2 26: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=-x190, (6-x190 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 1+2*x160 > 0), cost: 4 27: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=-x190, (6-x190 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 2+2*x260 > 0), cost: 4 31: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=0, (6-x190 > 0 /\ 1+2*x210 > 0 /\ 1-x190 <= 0 /\ 2+2*x260 > 0), cost: 4+2*x190 34: __init -> f163_0_loop_GE : arg2'=arg2P4, arg1'=0, (2+2*x310 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ arg1P3 == 0 /\ 1+2*x160 > 0), cost: 4 35: __init -> f163_0_loop_GE : arg2'=arg2P5, arg1'=-1+arg1P3, (2+2*x310 > 0 /\ arg1P9 > 0 /\ 6-arg1P3 > 0 /\ -1+arg2P9 > 0 /\ arg1P3 > 0 /\ 1+2*x160 > 0), cost: 4 Applied nonterm Original rule: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P4, arg1'=0, arg1 == 0, cost: 2 New rule: f163_0_loop_GE -> [7] : (-1+n0 >= 0 /\ arg1 >= 0 /\ -arg1 >= 0), cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_Gdecoj.txt Applied acceleration Original rule: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P5, arg1'=-1+arg1, (6-arg1 > 0 /\ arg1 > 0), cost: 2 New rule: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P5, arg1'=arg1-n1, (1+arg1-n1 > 0 /\ 6-arg1 > 0 /\ -1+n1 >= 0), cost: 2*n1 Sub-proof via acceration calculus written to file:///tmp/tmpnam_nEFLIj.txt Applied instantiation Original rule: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P5, arg1'=arg1-n1, (1+arg1-n1 > 0 /\ 6-arg1 > 0 /\ -1+n1 >= 0), cost: 2*n1 New rule: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P5, arg1'=0, (1 > 0 /\ 6-arg1 > 0 /\ -1+arg1 >= 0), cost: 2*arg1 Applied simplification Original rule: f163_0_loop_GE -> [7] : (-1+n0 >= 0 /\ arg1 >= 0 /\ -arg1 >= 0), cost: NONTERM New rule: f163_0_loop_GE -> [7] : (-1+n0 >= 0 /\ arg1 <= 0 /\ arg1 >= 0), cost: NONTERM Applied simplification Original rule: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P5, arg1'=0, (1 > 0 /\ 6-arg1 > 0 /\ -1+arg1 >= 0), cost: 2*arg1 New rule: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P5, arg1'=0, (6-arg1 > 0 /\ -1+arg1 >= 0), cost: 2*arg1 Applied deletion Removed the following rules: 32 33 Accelerated simple loops Start location: __init 40: f163_0_loop_GE -> [7] : (-1+n0 >= 0 /\ arg1 <= 0 /\ arg1 >= 0), cost: NONTERM 41: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P5, arg1'=0, (6-arg1 > 0 /\ -1+arg1 >= 0), cost: 2*arg1 26: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=-x190, (6-x190 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 1+2*x160 > 0), cost: 4 27: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=-x190, (6-x190 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 2+2*x260 > 0), cost: 4 31: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=0, (6-x190 > 0 /\ 1+2*x210 > 0 /\ 1-x190 <= 0 /\ 2+2*x260 > 0), cost: 4+2*x190 34: __init -> f163_0_loop_GE : arg2'=arg2P4, arg1'=0, (2+2*x310 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ arg1P3 == 0 /\ 1+2*x160 > 0), cost: 4 35: __init -> f163_0_loop_GE : arg2'=arg2P5, arg1'=-1+arg1P3, (2+2*x310 > 0 /\ arg1P9 > 0 /\ 6-arg1P3 > 0 /\ -1+arg2P9 > 0 /\ arg1P3 > 0 /\ 1+2*x160 > 0), cost: 4 Applied chaining First rule: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=-x190, (6-x190 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 1+2*x160 > 0), cost: 4 Second rule: f163_0_loop_GE -> [7] : (-1+n0 >= 0 /\ arg1 <= 0 /\ arg1 >= 0), cost: NONTERM New rule: __init -> [7] : (1+2*x210 > 0 /\ 1+2*x160 > 0), cost: NONTERM Applied chaining First rule: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=-x190, (6-x190 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 2+2*x260 > 0), cost: 4 Second rule: f163_0_loop_GE -> [7] : (-1+n0 >= 0 /\ arg1 <= 0 /\ arg1 >= 0), cost: NONTERM New rule: __init -> [7] : (1+2*x210 > 0 /\ 2+2*x260 > 0), cost: NONTERM Applied chaining First rule: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=0, (6-x190 > 0 /\ 1+2*x210 > 0 /\ 1-x190 <= 0 /\ 2+2*x260 > 0), cost: 4+2*x190 Second rule: f163_0_loop_GE -> [7] : (-1+n0 >= 0 /\ arg1 <= 0 /\ arg1 >= 0), cost: NONTERM New rule: __init -> [7] : (1+2*x210 > 0 /\ 2+2*x260 > 0), cost: NONTERM Applied chaining First rule: __init -> f163_0_loop_GE : arg2'=arg2P4, arg1'=0, (2+2*x310 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ arg1P3 == 0 /\ 1+2*x160 > 0), cost: 4 Second rule: f163_0_loop_GE -> [7] : (-1+n0 >= 0 /\ arg1 <= 0 /\ arg1 >= 0), cost: NONTERM New rule: __init -> [7] : (2+2*x310 > 0 /\ 1+2*x160 > 0), cost: NONTERM Applied chaining First rule: __init -> f163_0_loop_GE : arg2'=arg2P5, arg1'=-1+arg1P3, (2+2*x310 > 0 /\ arg1P9 > 0 /\ 6-arg1P3 > 0 /\ -1+arg2P9 > 0 /\ arg1P3 > 0 /\ 1+2*x160 > 0), cost: 4 Second rule: f163_0_loop_GE -> [7] : (-1+n0 >= 0 /\ arg1 <= 0 /\ arg1 >= 0), cost: NONTERM New rule: __init -> [7] : (2+2*x310 > 0 /\ 1+2*x160 > 0), cost: NONTERM Applied chaining First rule: __init -> f163_0_loop_GE : arg2'=arg2P5, arg1'=-1+arg1P3, (2+2*x310 > 0 /\ arg1P9 > 0 /\ 6-arg1P3 > 0 /\ -1+arg2P9 > 0 /\ arg1P3 > 0 /\ 1+2*x160 > 0), cost: 4 Second rule: f163_0_loop_GE -> f163_0_loop_GE : arg2'=arg2P5, arg1'=0, (6-arg1 > 0 /\ -1+arg1 >= 0), cost: 2*arg1 New rule: __init -> f163_0_loop_GE : arg2'=arg2P5, arg1'=0, (2+2*x310 > 0 /\ 6-arg1P3 > 0 /\ -2+arg1P3 >= 0 /\ 1+2*x160 > 0), cost: 2+2*arg1P3 Applied deletion Removed the following rules: 40 41 Chained accelerated rules with incoming rules Start location: __init 26: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=-x190, (6-x190 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 1+2*x160 > 0), cost: 4 27: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=-x190, (6-x190 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ 1+x190 > 0 /\ 1+2*x210 > 0 /\ 2+2*x260 > 0), cost: 4 31: __init -> f163_0_loop_GE : arg2'=arg2P6, arg1'=0, (6-x190 > 0 /\ 1+2*x210 > 0 /\ 1-x190 <= 0 /\ 2+2*x260 > 0), cost: 4+2*x190 34: __init -> f163_0_loop_GE : arg2'=arg2P4, arg1'=0, (2+2*x310 > 0 /\ arg1P9 > 0 /\ -1+arg2P9 > 0 /\ arg1P3 == 0 /\ 1+2*x160 > 0), cost: 4 35: __init -> f163_0_loop_GE : arg2'=arg2P5, arg1'=-1+arg1P3, (2+2*x310 > 0 /\ arg1P9 > 0 /\ 6-arg1P3 > 0 /\ -1+arg2P9 > 0 /\ arg1P3 > 0 /\ 1+2*x160 > 0), cost: 4 42: __init -> [7] : (1+2*x210 > 0 /\ 1+2*x160 > 0), cost: NONTERM 43: __init -> [7] : (1+2*x210 > 0 /\ 2+2*x260 > 0), cost: NONTERM 44: __init -> [7] : (2+2*x310 > 0 /\ 1+2*x160 > 0), cost: NONTERM 45: __init -> f163_0_loop_GE : arg2'=arg2P5, arg1'=0, (2+2*x310 > 0 /\ 6-arg1P3 > 0 /\ -2+arg1P3 >= 0 /\ 1+2*x160 > 0), cost: 2+2*arg1P3 Removed unreachable locations and irrelevant leafs Start location: __init 42: __init -> [7] : (1+2*x210 > 0 /\ 1+2*x160 > 0), cost: NONTERM 43: __init -> [7] : (1+2*x210 > 0 /\ 2+2*x260 > 0), cost: NONTERM 44: __init -> [7] : (2+2*x310 > 0 /\ 1+2*x160 > 0), cost: NONTERM Computing asymptotic complexity Proved nontermination of rule 42 via SMT. Proved the following lower bound Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: (1+2*x210 > 0 /\ 1+2*x160 > 0)