WORST_CASE(Omega(0),?) Initial ITS Start location: __init 0: f1_0_main_Load -> f490_0_loop_GT : arg1'=arg1P0, arg3'=arg3P0, arg2'=arg2P0, arg4'=arg4P0, (arg1 > 0 /\ 20-arg1P0 == 0 /\ arg2-arg3P0 == 0 /\ 1+arg2 > 0 /\ -arg2P0 == 0), cost: 1 1: f490_0_loop_GT -> f564_0_loop_NE : arg1'=arg1P1, arg3'=arg3P1, arg2'=arg2P1, arg4'=arg4P1, (-arg2P1+arg2 == 0 /\ -2+arg1-arg4P1 == 0 /\ arg3 > 0 /\ arg1-arg1P1 == 0 /\ 1+arg1 > 0 /\ arg2 < 0 /\ 1-arg3P1+arg3 == 0 /\ -arg1+arg3 < 0), cost: 1 2: f490_0_loop_GT -> f564_0_loop_NE : arg1'=arg1P2, arg3'=arg3P2, arg2'=arg2P2, arg4'=arg4P2, (arg3 > 0 /\ -arg2P2+arg2 == 0 /\ 1+arg1 > 0 /\ arg2 > 0 /\ -2+arg1-arg4P2 == 0 /\ 1+arg3-arg3P2 == 0 /\ -arg1+arg3 < 0 /\ arg1-arg1P2 == 0), cost: 1 3: f490_0_loop_GT -> f565_0_loop_NE : arg1'=arg1P3, arg3'=arg3P3, arg2'=arg2P3, arg4'=arg4P3, (arg1-arg1P3 == 0 /\ arg3 > 0 /\ -2+arg1-arg3P3 == 0 /\ -arg2 == 0 /\ 1+arg1 > 0 /\ -1+arg3-arg2P3 == 0 /\ -arg1+arg3 < 0), cost: 1 4: f490_0_loop_GT -> f573_0_loop_NE : arg1'=arg1P4, arg3'=arg3P4, arg2'=arg2P4, arg4'=arg4P4, (arg1 > 0 /\ -1+arg1-arg2P4 == 0 /\ arg1-arg3 == 0 /\ arg1-arg1P4 == 0 /\ -2+arg1-arg3P4 == 0), cost: 1 11: f490_0_loop_GT -> f490_0_loop_GT : arg1'=arg1P11, arg3'=arg3P11, arg2'=arg2P11, arg4'=arg4P11, (arg1 > 0 /\ -arg3 == 0 /\ -3+arg1 < 0 /\ arg1-arg1P11 == 0 /\ 1-arg3P11 == 0 /\ 1-arg2P11 == 0), cost: 1 12: f490_0_loop_GT -> f490_0_loop_GT : arg1'=arg1P12, arg3'=arg3P12, arg2'=arg2P12, arg4'=arg4P12, (1-arg3P12 == 0 /\ -arg3 == 0 /\ arg1-arg1P12 == 0 /\ -3+arg1 > 0 /\ 1-arg2P12 == 0), cost: 1 14: f490_0_loop_GT -> f490_0_loop_GT : arg1'=arg1P14, arg3'=arg3P14, arg2'=arg2P14, arg4'=arg4P14, (-arg3 == 0 /\ -arg1 == 0 /\ -1-arg3P14 == 0 /\ -arg2P14 == 0 /\ -arg1P14 == 0), cost: 1 17: f490_0_loop_GT -> f490_0_loop_GT : arg1'=arg1P17, arg3'=arg3P17, arg2'=arg2P17, arg4'=arg4P17, (2-arg1P17 == 0 /\ 3-arg1 == 0 /\ -arg3 == 0 /\ 1-arg3P17 == 0 /\ 1-arg2P17 == 0), cost: 1 5: f564_0_loop_NE -> f490_0_loop_GT : arg1'=arg1P5, arg3'=arg3P5, arg2'=arg2P5, arg4'=arg4P5, (arg1-arg1P5 == 0 /\ arg3-arg3P5 == 0 /\ -arg3+arg4 > 0 /\ -arg2P5+arg2 == 0), cost: 1 6: f564_0_loop_NE -> f490_0_loop_GT : arg1'=arg1P6, arg3'=arg3P6, arg2'=arg2P6, arg4'=arg4P6, (arg3-arg3P6 == 0 /\ arg1-arg1P6 == 0 /\ -arg2P6+arg2 == 0 /\ -arg3+arg4 < 0), cost: 1 13: f564_0_loop_NE -> f490_0_loop_GT : arg1'=arg1P13, arg3'=arg3P13, arg2'=arg2P13, arg4'=arg4P13, (-1+arg1-arg1P13 == 0 /\ -arg2P13+arg2 == 0 /\ arg3-arg4 == 0 /\ arg3-arg3P13 == 0), cost: 1 7: f565_0_loop_NE -> f490_0_loop_GT : arg1'=arg1P7, arg3'=arg3P7, arg2'=arg2P7, arg4'=arg4P7, (arg1-arg1P7 == 0 /\ arg2-arg3P7 == 0 /\ arg3-arg2 > 0 /\ -arg2P7 == 0), cost: 1 8: f565_0_loop_NE -> f490_0_loop_GT : arg1'=arg1P8, arg3'=arg3P8, arg2'=arg2P8, arg4'=arg4P8, (arg3-arg2 < 0 /\ -arg2P8 == 0 /\ arg2-arg3P8 == 0 /\ arg1-arg1P8 == 0), cost: 1 15: f565_0_loop_NE -> f490_0_loop_GT : arg1'=arg1P15, arg3'=arg3P15, arg2'=arg2P15, arg4'=arg4P15, (-1+arg1-arg1P15 == 0 /\ -arg3P15+arg2 == 0 /\ -arg3+arg2 == 0 /\ -arg2P15 == 0), cost: 1 9: f573_0_loop_NE -> f490_0_loop_GT : arg1'=arg1P9, arg3'=arg3P9, arg2'=arg2P9, arg4'=arg4P9, (arg3-arg2 > 0 /\ arg1-arg1P9 == 0 /\ -arg3P9+arg2 == 0 /\ -arg2P9 == 0), cost: 1 10: f573_0_loop_NE -> f490_0_loop_GT : arg1'=arg1P10, arg3'=arg3P10, arg2'=arg2P10, arg4'=arg4P10, (arg3-arg2 < 0 /\ -arg3P10+arg2 == 0 /\ -arg2P10 == 0 /\ arg1-arg1P10 == 0), cost: 1 16: f573_0_loop_NE -> f490_0_loop_GT : arg1'=arg1P16, arg3'=arg3P16, arg2'=arg2P16, arg4'=arg4P16, (-arg2P16 == 0 /\ -arg3+arg2 == 0 /\ -1+arg1-arg1P16 == 0 /\ arg2-arg3P16 == 0), cost: 1 18: __init -> f1_0_main_Load : arg1'=arg1P18, arg3'=arg3P18, arg2'=arg2P18, arg4'=arg4P18, TRUE, cost: 1 Applied preprocessing Original rule: f1_0_main_Load -> f490_0_loop_GT : arg1'=arg1P0, arg3'=arg3P0, arg2'=arg2P0, arg4'=arg4P0, (arg1 > 0 /\ 20-arg1P0 == 0 /\ arg2-arg3P0 == 0 /\ 1+arg2 > 0 /\ -arg2P0 == 0), cost: 1 New rule: f1_0_main_Load -> f490_0_loop_GT : arg1'=20, arg3'=arg2, arg2'=0, arg4'=arg4P0, (arg1 > 0 /\ 1+arg2 > 0), cost: 1 Applied preprocessing Original rule: f490_0_loop_GT -> f564_0_loop_NE : arg1'=arg1P1, arg3'=arg3P1, arg2'=arg2P1, arg4'=arg4P1, (-arg2P1+arg2 == 0 /\ -2+arg1-arg4P1 == 0 /\ arg3 > 0 /\ arg1-arg1P1 == 0 /\ 1+arg1 > 0 /\ arg2 < 0 /\ 1-arg3P1+arg3 == 0 /\ -arg1+arg3 < 0), cost: 1 New rule: f490_0_loop_GT -> f564_0_loop_NE : arg3'=1+arg3, arg4'=-2+arg1, (arg3 > 0 /\ -arg2 > 0 /\ arg1-arg3 > 0), cost: 1 Applied preprocessing Original rule: f490_0_loop_GT -> f564_0_loop_NE : arg1'=arg1P2, arg3'=arg3P2, arg2'=arg2P2, arg4'=arg4P2, (arg3 > 0 /\ -arg2P2+arg2 == 0 /\ 1+arg1 > 0 /\ arg2 > 0 /\ -2+arg1-arg4P2 == 0 /\ 1+arg3-arg3P2 == 0 /\ -arg1+arg3 < 0 /\ arg1-arg1P2 == 0), cost: 1 New rule: f490_0_loop_GT -> f564_0_loop_NE : arg3'=1+arg3, arg4'=-2+arg1, (arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 > 0), cost: 1 Applied preprocessing Original rule: f490_0_loop_GT -> f565_0_loop_NE : arg1'=arg1P3, arg3'=arg3P3, arg2'=arg2P3, arg4'=arg4P3, (arg1-arg1P3 == 0 /\ arg3 > 0 /\ -2+arg1-arg3P3 == 0 /\ -arg2 == 0 /\ 1+arg1 > 0 /\ -1+arg3-arg2P3 == 0 /\ -arg1+arg3 < 0), cost: 1 New rule: f490_0_loop_GT -> f565_0_loop_NE : arg3'=-2+arg1, arg2'=-1+arg3, arg4'=arg4P3, (arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 == 0), cost: 1 Applied preprocessing Original rule: f490_0_loop_GT -> f573_0_loop_NE : arg1'=arg1P4, arg3'=arg3P4, arg2'=arg2P4, arg4'=arg4P4, (arg1 > 0 /\ -1+arg1-arg2P4 == 0 /\ arg1-arg3 == 0 /\ arg1-arg1P4 == 0 /\ -2+arg1-arg3P4 == 0), cost: 1 New rule: f490_0_loop_GT -> f573_0_loop_NE : arg3'=-2+arg1, arg2'=-1+arg1, arg4'=arg4P4, (arg1 > 0 /\ arg1-arg3 == 0), cost: 1 Applied preprocessing Original rule: f564_0_loop_NE -> f490_0_loop_GT : arg1'=arg1P5, arg3'=arg3P5, arg2'=arg2P5, arg4'=arg4P5, (arg1-arg1P5 == 0 /\ arg3-arg3P5 == 0 /\ -arg3+arg4 > 0 /\ -arg2P5+arg2 == 0), cost: 1 New rule: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P5, -arg3+arg4 > 0, cost: 1 Applied preprocessing Original rule: f564_0_loop_NE -> f490_0_loop_GT : arg1'=arg1P6, arg3'=arg3P6, arg2'=arg2P6, arg4'=arg4P6, (arg3-arg3P6 == 0 /\ arg1-arg1P6 == 0 /\ -arg2P6+arg2 == 0 /\ -arg3+arg4 < 0), cost: 1 New rule: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P6, arg3-arg4 > 0, cost: 1 Applied preprocessing Original rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=arg1P7, arg3'=arg3P7, arg2'=arg2P7, arg4'=arg4P7, (arg1-arg1P7 == 0 /\ arg2-arg3P7 == 0 /\ arg3-arg2 > 0 /\ -arg2P7 == 0), cost: 1 New rule: f565_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P7, arg3-arg2 > 0, cost: 1 Applied preprocessing Original rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=arg1P8, arg3'=arg3P8, arg2'=arg2P8, arg4'=arg4P8, (arg3-arg2 < 0 /\ -arg2P8 == 0 /\ arg2-arg3P8 == 0 /\ arg1-arg1P8 == 0), cost: 1 New rule: f565_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P8, -arg3+arg2 > 0, cost: 1 Applied preprocessing Original rule: f573_0_loop_NE -> f490_0_loop_GT : arg1'=arg1P9, arg3'=arg3P9, arg2'=arg2P9, arg4'=arg4P9, (arg3-arg2 > 0 /\ arg1-arg1P9 == 0 /\ -arg3P9+arg2 == 0 /\ -arg2P9 == 0), cost: 1 New rule: f573_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P9, arg3-arg2 > 0, cost: 1 Applied preprocessing Original rule: f573_0_loop_NE -> f490_0_loop_GT : arg1'=arg1P10, arg3'=arg3P10, arg2'=arg2P10, arg4'=arg4P10, (arg3-arg2 < 0 /\ -arg3P10+arg2 == 0 /\ -arg2P10 == 0 /\ arg1-arg1P10 == 0), cost: 1 New rule: f573_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P10, -arg3+arg2 > 0, cost: 1 Applied preprocessing Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=arg1P11, arg3'=arg3P11, arg2'=arg2P11, arg4'=arg4P11, (arg1 > 0 /\ -arg3 == 0 /\ -3+arg1 < 0 /\ arg1-arg1P11 == 0 /\ 1-arg3P11 == 0 /\ 1-arg2P11 == 0), cost: 1 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3 == 0), cost: 1 Applied preprocessing Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=arg1P12, arg3'=arg3P12, arg2'=arg2P12, arg4'=arg4P12, (1-arg3P12 == 0 /\ -arg3 == 0 /\ arg1-arg1P12 == 0 /\ -3+arg1 > 0 /\ 1-arg2P12 == 0), cost: 1 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ -3+arg1 > 0), cost: 1 Applied preprocessing Original rule: f564_0_loop_NE -> f490_0_loop_GT : arg1'=arg1P13, arg3'=arg3P13, arg2'=arg2P13, arg4'=arg4P13, (-1+arg1-arg1P13 == 0 /\ -arg2P13+arg2 == 0 /\ arg3-arg4 == 0 /\ arg3-arg3P13 == 0), cost: 1 New rule: f564_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg4'=arg4P13, arg3-arg4 == 0, cost: 1 Applied preprocessing Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=arg1P14, arg3'=arg3P14, arg2'=arg2P14, arg4'=arg4P14, (-arg3 == 0 /\ -arg1 == 0 /\ -1-arg3P14 == 0 /\ -arg2P14 == 0 /\ -arg1P14 == 0), cost: 1 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3 == 0), cost: 1 Applied preprocessing Original rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=arg1P15, arg3'=arg3P15, arg2'=arg2P15, arg4'=arg4P15, (-1+arg1-arg1P15 == 0 /\ -arg3P15+arg2 == 0 /\ -arg3+arg2 == 0 /\ -arg2P15 == 0), cost: 1 New rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=arg2, arg2'=0, arg4'=arg4P15, -arg3+arg2 == 0, cost: 1 Applied preprocessing Original rule: f573_0_loop_NE -> f490_0_loop_GT : arg1'=arg1P16, arg3'=arg3P16, arg2'=arg2P16, arg4'=arg4P16, (-arg2P16 == 0 /\ -arg3+arg2 == 0 /\ -1+arg1-arg1P16 == 0 /\ arg2-arg3P16 == 0), cost: 1 New rule: f573_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=arg2, arg2'=0, arg4'=arg4P16, -arg3+arg2 == 0, cost: 1 Applied preprocessing Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=arg1P17, arg3'=arg3P17, arg2'=arg2P17, arg4'=arg4P17, (2-arg1P17 == 0 /\ 3-arg1 == 0 /\ -arg3 == 0 /\ 1-arg3P17 == 0 /\ 1-arg2P17 == 0), cost: 1 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 == 0 /\ -3+arg1 == 0), cost: 1 Simplified rules Start location: __init 19: f1_0_main_Load -> f490_0_loop_GT : arg1'=20, arg3'=arg2, arg2'=0, arg4'=arg4P0, (arg1 > 0 /\ 1+arg2 > 0), cost: 1 20: f490_0_loop_GT -> f564_0_loop_NE : arg3'=1+arg3, arg4'=-2+arg1, (arg3 > 0 /\ -arg2 > 0 /\ arg1-arg3 > 0), cost: 1 21: f490_0_loop_GT -> f564_0_loop_NE : arg3'=1+arg3, arg4'=-2+arg1, (arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 > 0), cost: 1 22: f490_0_loop_GT -> f565_0_loop_NE : arg3'=-2+arg1, arg2'=-1+arg3, arg4'=arg4P3, (arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 == 0), cost: 1 23: f490_0_loop_GT -> f573_0_loop_NE : arg3'=-2+arg1, arg2'=-1+arg1, arg4'=arg4P4, (arg1 > 0 /\ arg1-arg3 == 0), cost: 1 30: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3 == 0), cost: 1 31: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ -3+arg1 > 0), cost: 1 33: f490_0_loop_GT -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3 == 0), cost: 1 36: f490_0_loop_GT -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 == 0 /\ -3+arg1 == 0), cost: 1 24: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P5, -arg3+arg4 > 0, cost: 1 25: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P6, arg3-arg4 > 0, cost: 1 32: f564_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg4'=arg4P13, arg3-arg4 == 0, cost: 1 26: f565_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P7, arg3-arg2 > 0, cost: 1 27: f565_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P8, -arg3+arg2 > 0, cost: 1 34: f565_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=arg2, arg2'=0, arg4'=arg4P15, -arg3+arg2 == 0, cost: 1 28: f573_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P9, arg3-arg2 > 0, cost: 1 29: f573_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P10, -arg3+arg2 > 0, cost: 1 35: f573_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=arg2, arg2'=0, arg4'=arg4P16, -arg3+arg2 == 0, cost: 1 18: __init -> f1_0_main_Load : arg1'=arg1P18, arg3'=arg3P18, arg2'=arg2P18, arg4'=arg4P18, TRUE, cost: 1 Accelerated simple loops Start location: __init 19: f1_0_main_Load -> f490_0_loop_GT : arg1'=20, arg3'=arg2, arg2'=0, arg4'=arg4P0, (arg1 > 0 /\ 1+arg2 > 0), cost: 1 20: f490_0_loop_GT -> f564_0_loop_NE : arg3'=1+arg3, arg4'=-2+arg1, (arg3 > 0 /\ -arg2 > 0 /\ arg1-arg3 > 0), cost: 1 21: f490_0_loop_GT -> f564_0_loop_NE : arg3'=1+arg3, arg4'=-2+arg1, (arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 > 0), cost: 1 22: f490_0_loop_GT -> f565_0_loop_NE : arg3'=-2+arg1, arg2'=-1+arg3, arg4'=arg4P3, (arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 == 0), cost: 1 23: f490_0_loop_GT -> f573_0_loop_NE : arg3'=-2+arg1, arg2'=-1+arg1, arg4'=arg4P4, (arg1 > 0 /\ arg1-arg3 == 0), cost: 1 30: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3 == 0), cost: 1 31: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ -3+arg1 > 0), cost: 1 33: f490_0_loop_GT -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3 == 0), cost: 1 36: f490_0_loop_GT -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 == 0 /\ -3+arg1 == 0), cost: 1 24: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P5, -arg3+arg4 > 0, cost: 1 25: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P6, arg3-arg4 > 0, cost: 1 32: f564_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg4'=arg4P13, arg3-arg4 == 0, cost: 1 26: f565_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P7, arg3-arg2 > 0, cost: 1 27: f565_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P8, -arg3+arg2 > 0, cost: 1 34: f565_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=arg2, arg2'=0, arg4'=arg4P15, -arg3+arg2 == 0, cost: 1 28: f573_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P9, arg3-arg2 > 0, cost: 1 29: f573_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P10, -arg3+arg2 > 0, cost: 1 35: f573_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=arg2, arg2'=0, arg4'=arg4P16, -arg3+arg2 == 0, cost: 1 18: __init -> f1_0_main_Load : arg1'=arg1P18, arg3'=arg3P18, arg2'=arg2P18, arg4'=arg4P18, TRUE, cost: 1 Applied chaining First rule: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P5, -arg3+arg4 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3 == 0), cost: 1 New rule: f564_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3 == 0 /\ -arg3+arg4 > 0), cost: 2 Applied chaining First rule: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P6, arg3-arg4 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3 == 0), cost: 1 New rule: f564_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3 == 0 /\ arg3-arg4 > 0), cost: 2 Applied chaining First rule: f565_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P7, arg3-arg2 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3 == 0), cost: 1 New rule: f565_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3-arg2 > 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f565_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P8, -arg3+arg2 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3 == 0), cost: 1 New rule: f565_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ -arg3+arg2 > 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f573_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P9, arg3-arg2 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3 == 0), cost: 1 New rule: f573_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3-arg2 > 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f573_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P10, -arg3+arg2 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3 == 0), cost: 1 New rule: f573_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ -arg3+arg2 > 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f564_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg4'=arg4P13, arg3-arg4 == 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3 == 0), cost: 1 New rule: f564_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1, arg2'=1, arg4'=arg4P11, (arg3 == 0 /\ -1+arg1 > 0 /\ arg3-arg4 == 0 /\ 4-arg1 > 0), cost: 2 Applied chaining First rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=arg2, arg2'=0, arg4'=arg4P15, -arg3+arg2 == 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3 == 0), cost: 1 New rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1, arg2'=1, arg4'=arg4P11, (-1+arg1 > 0 /\ -arg3+arg2 == 0 /\ arg2 == 0 /\ 4-arg1 > 0), cost: 2 Applied chaining First rule: f573_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=arg2, arg2'=0, arg4'=arg4P16, -arg3+arg2 == 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3 == 0), cost: 1 New rule: f573_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1, arg2'=1, arg4'=arg4P11, (-1+arg1 > 0 /\ -arg3+arg2 == 0 /\ arg2 == 0 /\ 4-arg1 > 0), cost: 2 Applied chaining First rule: f1_0_main_Load -> f490_0_loop_GT : arg1'=20, arg3'=arg2, arg2'=0, arg4'=arg4P0, (arg1 > 0 /\ 1+arg2 > 0), cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ -3+arg1 > 0), cost: 1 New rule: f1_0_main_Load -> f490_0_loop_GT : arg1'=20, arg3'=1, arg2'=1, arg4'=arg4P12, (arg1 > 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P5, -arg3+arg4 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ -3+arg1 > 0), cost: 1 New rule: f564_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ -3+arg1 > 0 /\ -arg3+arg4 > 0), cost: 2 Applied chaining First rule: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P6, arg3-arg4 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ -3+arg1 > 0), cost: 1 New rule: f564_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ -3+arg1 > 0 /\ arg3-arg4 > 0), cost: 2 Applied chaining First rule: f565_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P7, arg3-arg2 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ -3+arg1 > 0), cost: 1 New rule: f565_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3-arg2 > 0 /\ -3+arg1 > 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f565_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P8, -arg3+arg2 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ -3+arg1 > 0), cost: 1 New rule: f565_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (-arg3+arg2 > 0 /\ -3+arg1 > 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f573_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P9, arg3-arg2 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ -3+arg1 > 0), cost: 1 New rule: f573_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3-arg2 > 0 /\ -3+arg1 > 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f573_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P10, -arg3+arg2 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ -3+arg1 > 0), cost: 1 New rule: f573_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (-arg3+arg2 > 0 /\ -3+arg1 > 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f564_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg4'=arg4P13, arg3-arg4 == 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ -3+arg1 > 0), cost: 1 New rule: f564_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ arg3-arg4 == 0 /\ -4+arg1 > 0), cost: 2 Applied chaining First rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=arg2, arg2'=0, arg4'=arg4P15, -arg3+arg2 == 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ -3+arg1 > 0), cost: 1 New rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1, arg2'=1, arg4'=arg4P12, (-arg3+arg2 == 0 /\ arg2 == 0 /\ -4+arg1 > 0), cost: 2 Applied chaining First rule: f573_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=arg2, arg2'=0, arg4'=arg4P16, -arg3+arg2 == 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ -3+arg1 > 0), cost: 1 New rule: f573_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1, arg2'=1, arg4'=arg4P12, (-arg3+arg2 == 0 /\ arg2 == 0 /\ -4+arg1 > 0), cost: 2 Applied chaining First rule: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P5, -arg3+arg4 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3 == 0), cost: 1 New rule: f564_0_loop_NE -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3 == 0 /\ -arg3+arg4 > 0), cost: 2 Applied chaining First rule: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P6, arg3-arg4 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3 == 0), cost: 1 New rule: f564_0_loop_NE -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3 == 0 /\ arg3-arg4 > 0), cost: 2 Applied chaining First rule: f565_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P7, arg3-arg2 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3 == 0), cost: 1 New rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3-arg2 > 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f565_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P8, -arg3+arg2 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3 == 0), cost: 1 New rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ -arg3+arg2 > 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f573_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P9, arg3-arg2 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3 == 0), cost: 1 New rule: f573_0_loop_NE -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3-arg2 > 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f573_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P10, -arg3+arg2 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3 == 0), cost: 1 New rule: f573_0_loop_NE -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ -arg3+arg2 > 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f564_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg4'=arg4P13, arg3-arg4 == 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3 == 0), cost: 1 New rule: f564_0_loop_NE -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg3 == 0 /\ -1+arg1 == 0 /\ arg3-arg4 == 0), cost: 2 Applied chaining First rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=arg2, arg2'=0, arg4'=arg4P15, -arg3+arg2 == 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3 == 0), cost: 1 New rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (-1+arg1 == 0 /\ -arg3+arg2 == 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f573_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=arg2, arg2'=0, arg4'=arg4P16, -arg3+arg2 == 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3 == 0), cost: 1 New rule: f573_0_loop_NE -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (-1+arg1 == 0 /\ -arg3+arg2 == 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P5, -arg3+arg4 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 == 0 /\ -3+arg1 == 0), cost: 1 New rule: f564_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 == 0 /\ -3+arg1 == 0 /\ -arg3+arg4 > 0), cost: 2 Applied chaining First rule: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P6, arg3-arg4 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 == 0 /\ -3+arg1 == 0), cost: 1 New rule: f564_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 == 0 /\ -3+arg1 == 0 /\ arg3-arg4 > 0), cost: 2 Applied chaining First rule: f565_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P7, arg3-arg2 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 == 0 /\ -3+arg1 == 0), cost: 1 New rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3-arg2 > 0 /\ -3+arg1 == 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f565_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P8, -arg3+arg2 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 == 0 /\ -3+arg1 == 0), cost: 1 New rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (-arg3+arg2 > 0 /\ -3+arg1 == 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f573_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P9, arg3-arg2 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 == 0 /\ -3+arg1 == 0), cost: 1 New rule: f573_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3-arg2 > 0 /\ -3+arg1 == 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f573_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P10, -arg3+arg2 > 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 == 0 /\ -3+arg1 == 0), cost: 1 New rule: f573_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (-arg3+arg2 > 0 /\ -3+arg1 == 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f564_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg4'=arg4P13, arg3-arg4 == 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 == 0 /\ -3+arg1 == 0), cost: 1 New rule: f564_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 == 0 /\ arg3-arg4 == 0 /\ -4+arg1 == 0), cost: 2 Applied chaining First rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=arg2, arg2'=0, arg4'=arg4P15, -arg3+arg2 == 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 == 0 /\ -3+arg1 == 0), cost: 1 New rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (-arg3+arg2 == 0 /\ arg2 == 0 /\ -4+arg1 == 0), cost: 2 Applied chaining First rule: f573_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=arg2, arg2'=0, arg4'=arg4P16, -arg3+arg2 == 0, cost: 1 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 == 0 /\ -3+arg1 == 0), cost: 1 New rule: f573_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (-arg3+arg2 == 0 /\ arg2 == 0 /\ -4+arg1 == 0), cost: 2 Applied deletion Removed the following rules: 30 31 33 36 Chained accelerated rules with incoming rules Start location: __init 19: f1_0_main_Load -> f490_0_loop_GT : arg1'=20, arg3'=arg2, arg2'=0, arg4'=arg4P0, (arg1 > 0 /\ 1+arg2 > 0), cost: 1 46: f1_0_main_Load -> f490_0_loop_GT : arg1'=20, arg3'=1, arg2'=1, arg4'=arg4P12, (arg1 > 0 /\ arg2 == 0), cost: 2 20: f490_0_loop_GT -> f564_0_loop_NE : arg3'=1+arg3, arg4'=-2+arg1, (arg3 > 0 /\ -arg2 > 0 /\ arg1-arg3 > 0), cost: 1 21: f490_0_loop_GT -> f564_0_loop_NE : arg3'=1+arg3, arg4'=-2+arg1, (arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 > 0), cost: 1 22: f490_0_loop_GT -> f565_0_loop_NE : arg3'=-2+arg1, arg2'=-1+arg3, arg4'=arg4P3, (arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 == 0), cost: 1 23: f490_0_loop_GT -> f573_0_loop_NE : arg3'=-2+arg1, arg2'=-1+arg1, arg4'=arg4P4, (arg1 > 0 /\ arg1-arg3 == 0), cost: 1 24: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P5, -arg3+arg4 > 0, cost: 1 25: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P6, arg3-arg4 > 0, cost: 1 32: f564_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg4'=arg4P13, arg3-arg4 == 0, cost: 1 37: f564_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3 == 0 /\ -arg3+arg4 > 0), cost: 2 38: f564_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3 == 0 /\ arg3-arg4 > 0), cost: 2 43: f564_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1, arg2'=1, arg4'=arg4P11, (arg3 == 0 /\ -1+arg1 > 0 /\ arg3-arg4 == 0 /\ 4-arg1 > 0), cost: 2 47: f564_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ -3+arg1 > 0 /\ -arg3+arg4 > 0), cost: 2 48: f564_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ -3+arg1 > 0 /\ arg3-arg4 > 0), cost: 2 53: f564_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1, arg2'=1, arg4'=arg4P12, (arg3 == 0 /\ arg3-arg4 == 0 /\ -4+arg1 > 0), cost: 2 56: f564_0_loop_NE -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3 == 0 /\ -arg3+arg4 > 0), cost: 2 57: f564_0_loop_NE -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3 == 0 /\ arg3-arg4 > 0), cost: 2 62: f564_0_loop_NE -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg3 == 0 /\ -1+arg1 == 0 /\ arg3-arg4 == 0), cost: 2 65: f564_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 == 0 /\ -3+arg1 == 0 /\ -arg3+arg4 > 0), cost: 2 66: f564_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 == 0 /\ -3+arg1 == 0 /\ arg3-arg4 > 0), cost: 2 71: f564_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 == 0 /\ arg3-arg4 == 0 /\ -4+arg1 == 0), cost: 2 26: f565_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P7, arg3-arg2 > 0, cost: 1 27: f565_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P8, -arg3+arg2 > 0, cost: 1 34: f565_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=arg2, arg2'=0, arg4'=arg4P15, -arg3+arg2 == 0, cost: 1 39: f565_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3-arg2 > 0 /\ arg2 == 0), cost: 2 40: f565_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ -arg3+arg2 > 0 /\ arg2 == 0), cost: 2 44: f565_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1, arg2'=1, arg4'=arg4P11, (-1+arg1 > 0 /\ -arg3+arg2 == 0 /\ arg2 == 0 /\ 4-arg1 > 0), cost: 2 49: f565_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3-arg2 > 0 /\ -3+arg1 > 0 /\ arg2 == 0), cost: 2 50: f565_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (-arg3+arg2 > 0 /\ -3+arg1 > 0 /\ arg2 == 0), cost: 2 54: f565_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1, arg2'=1, arg4'=arg4P12, (-arg3+arg2 == 0 /\ arg2 == 0 /\ -4+arg1 > 0), cost: 2 58: f565_0_loop_NE -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3-arg2 > 0 /\ arg2 == 0), cost: 2 59: f565_0_loop_NE -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ -arg3+arg2 > 0 /\ arg2 == 0), cost: 2 63: f565_0_loop_NE -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (-1+arg1 == 0 /\ -arg3+arg2 == 0 /\ arg2 == 0), cost: 2 67: f565_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3-arg2 > 0 /\ -3+arg1 == 0 /\ arg2 == 0), cost: 2 68: f565_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (-arg3+arg2 > 0 /\ -3+arg1 == 0 /\ arg2 == 0), cost: 2 72: f565_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (-arg3+arg2 == 0 /\ arg2 == 0 /\ -4+arg1 == 0), cost: 2 28: f573_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P9, arg3-arg2 > 0, cost: 1 29: f573_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P10, -arg3+arg2 > 0, cost: 1 35: f573_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=arg2, arg2'=0, arg4'=arg4P16, -arg3+arg2 == 0, cost: 1 41: f573_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ arg3-arg2 > 0 /\ arg2 == 0), cost: 2 42: f573_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ -arg3+arg2 > 0 /\ arg2 == 0), cost: 2 45: f573_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1, arg2'=1, arg4'=arg4P11, (-1+arg1 > 0 /\ -arg3+arg2 == 0 /\ arg2 == 0 /\ 4-arg1 > 0), cost: 2 51: f573_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3-arg2 > 0 /\ -3+arg1 > 0 /\ arg2 == 0), cost: 2 52: f573_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (-arg3+arg2 > 0 /\ -3+arg1 > 0 /\ arg2 == 0), cost: 2 55: f573_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1, arg2'=1, arg4'=arg4P12, (-arg3+arg2 == 0 /\ arg2 == 0 /\ -4+arg1 > 0), cost: 2 60: f573_0_loop_NE -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ arg3-arg2 > 0 /\ arg2 == 0), cost: 2 61: f573_0_loop_NE -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (arg1 == 0 /\ -arg3+arg2 > 0 /\ arg2 == 0), cost: 2 64: f573_0_loop_NE -> f490_0_loop_GT : arg1'=0, arg3'=-1, arg2'=0, arg4'=arg4P14, (-1+arg1 == 0 /\ -arg3+arg2 == 0 /\ arg2 == 0), cost: 2 69: f573_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3-arg2 > 0 /\ -3+arg1 == 0 /\ arg2 == 0), cost: 2 70: f573_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (-arg3+arg2 > 0 /\ -3+arg1 == 0 /\ arg2 == 0), cost: 2 73: f573_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (-arg3+arg2 == 0 /\ arg2 == 0 /\ -4+arg1 == 0), cost: 2 18: __init -> f1_0_main_Load : arg1'=arg1P18, arg3'=arg3P18, arg2'=arg2P18, arg4'=arg4P18, TRUE, cost: 1 Eliminating location f1_0_main_Load by chaining: Applied chaining First rule: __init -> f1_0_main_Load : arg1'=arg1P18, arg3'=arg3P18, arg2'=arg2P18, arg4'=arg4P18, TRUE, cost: 1 Second rule: f1_0_main_Load -> f490_0_loop_GT : arg1'=20, arg3'=arg2, arg2'=0, arg4'=arg4P0, (arg1 > 0 /\ 1+arg2 > 0), cost: 1 New rule: __init -> f490_0_loop_GT : arg1'=20, arg3'=arg2P18, arg2'=0, arg4'=arg4P0, (arg1P18 > 0 /\ 1+arg2P18 > 0), cost: 2 Applied chaining First rule: __init -> f1_0_main_Load : arg1'=arg1P18, arg3'=arg3P18, arg2'=arg2P18, arg4'=arg4P18, TRUE, cost: 1 Second rule: f1_0_main_Load -> f490_0_loop_GT : arg1'=20, arg3'=1, arg2'=1, arg4'=arg4P12, (arg1 > 0 /\ arg2 == 0), cost: 2 New rule: __init -> f490_0_loop_GT : arg1'=20, arg3'=1, arg2'=1, arg4'=arg4P12, (arg2P18 == 0 /\ arg1P18 > 0), cost: 3 Applied deletion Removed the following rules: 18 19 46 Eliminating location f564_0_loop_NE by chaining: Applied chaining First rule: f490_0_loop_GT -> f564_0_loop_NE : arg3'=1+arg3, arg4'=-2+arg1, (arg3 > 0 /\ -arg2 > 0 /\ arg1-arg3 > 0), cost: 1 Second rule: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P5, -arg3+arg4 > 0, cost: 1 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1+arg3, arg4'=arg4P5, (arg3 > 0 /\ -arg2 > 0 /\ arg1-arg3 > 0 /\ -3+arg1-arg3 > 0), cost: 2 Applied simplification Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1+arg3, arg4'=arg4P5, (arg3 > 0 /\ -arg2 > 0 /\ arg1-arg3 > 0 /\ -3+arg1-arg3 > 0), cost: 2 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1+arg3, arg4'=arg4P5, (arg3 > 0 /\ -arg2 > 0 /\ -3+arg1-arg3 > 0), cost: 2 Applied chaining First rule: f490_0_loop_GT -> f564_0_loop_NE : arg3'=1+arg3, arg4'=-2+arg1, (arg3 > 0 /\ -arg2 > 0 /\ arg1-arg3 > 0), cost: 1 Second rule: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P6, arg3-arg4 > 0, cost: 1 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1+arg3, arg4'=arg4P6, (arg3 > 0 /\ -arg2 > 0 /\ arg1-arg3 > 0 /\ 3-arg1+arg3 > 0), cost: 2 Applied chaining First rule: f490_0_loop_GT -> f564_0_loop_NE : arg3'=1+arg3, arg4'=-2+arg1, (arg3 > 0 /\ -arg2 > 0 /\ arg1-arg3 > 0), cost: 1 Second rule: f564_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg4'=arg4P13, arg3-arg4 == 0, cost: 1 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1+arg3, arg4'=arg4P13, (arg3 > 0 /\ -arg2 > 0 /\ arg1-arg3 > 0 /\ 3-arg1+arg3 == 0), cost: 2 Applied simplification Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1+arg3, arg4'=arg4P13, (arg3 > 0 /\ -arg2 > 0 /\ arg1-arg3 > 0 /\ 3-arg1+arg3 == 0), cost: 2 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1+arg3, arg4'=arg4P13, (arg3 > 0 /\ -arg2 > 0 /\ 3-arg1+arg3 == 0), cost: 2 Applied chaining First rule: f490_0_loop_GT -> f564_0_loop_NE : arg3'=1+arg3, arg4'=-2+arg1, (arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 > 0), cost: 1 Second rule: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P5, -arg3+arg4 > 0, cost: 1 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1+arg3, arg4'=arg4P5, (arg3 > 0 /\ arg1-arg3 > 0 /\ -3+arg1-arg3 > 0 /\ arg2 > 0), cost: 2 Applied simplification Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1+arg3, arg4'=arg4P5, (arg3 > 0 /\ arg1-arg3 > 0 /\ -3+arg1-arg3 > 0 /\ arg2 > 0), cost: 2 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1+arg3, arg4'=arg4P5, (arg3 > 0 /\ -3+arg1-arg3 > 0 /\ arg2 > 0), cost: 2 Applied chaining First rule: f490_0_loop_GT -> f564_0_loop_NE : arg3'=1+arg3, arg4'=-2+arg1, (arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 > 0), cost: 1 Second rule: f564_0_loop_NE -> f490_0_loop_GT : arg4'=arg4P6, arg3-arg4 > 0, cost: 1 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1+arg3, arg4'=arg4P6, (arg3 > 0 /\ arg1-arg3 > 0 /\ 3-arg1+arg3 > 0 /\ arg2 > 0), cost: 2 Applied chaining First rule: f490_0_loop_GT -> f564_0_loop_NE : arg3'=1+arg3, arg4'=-2+arg1, (arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 > 0), cost: 1 Second rule: f564_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg4'=arg4P13, arg3-arg4 == 0, cost: 1 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1+arg3, arg4'=arg4P13, (arg3 > 0 /\ arg1-arg3 > 0 /\ 3-arg1+arg3 == 0 /\ arg2 > 0), cost: 2 Applied simplification Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1+arg3, arg4'=arg4P13, (arg3 > 0 /\ arg1-arg3 > 0 /\ 3-arg1+arg3 == 0 /\ arg2 > 0), cost: 2 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1+arg3, arg4'=arg4P13, (arg3 > 0 /\ 3-arg1+arg3 == 0 /\ arg2 > 0), cost: 2 Applied deletion Removed the following rules: 20 21 24 25 32 37 38 43 47 48 53 56 57 62 65 66 71 Eliminating location f565_0_loop_NE by chaining: Applied chaining First rule: f490_0_loop_GT -> f565_0_loop_NE : arg3'=-2+arg1, arg2'=-1+arg3, arg4'=arg4P3, (arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 == 0), cost: 1 Second rule: f565_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P7, arg3-arg2 > 0, cost: 1 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-1+arg3, arg2'=0, arg4'=arg4P7, (arg3 > 0 /\ -1+arg1-arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 == 0), cost: 2 Applied simplification Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-1+arg3, arg2'=0, arg4'=arg4P7, (arg3 > 0 /\ -1+arg1-arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 == 0), cost: 2 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-1+arg3, arg2'=0, arg4'=arg4P7, (arg3 > 0 /\ -1+arg1-arg3 > 0 /\ arg2 == 0), cost: 2 Applied chaining First rule: f490_0_loop_GT -> f565_0_loop_NE : arg3'=-2+arg1, arg2'=-1+arg3, arg4'=arg4P3, (arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 == 0), cost: 1 Second rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=arg2, arg2'=0, arg4'=arg4P15, -arg3+arg2 == 0, cost: 1 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=-1+arg3, arg2'=0, arg4'=arg4P15, (arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 == 0 /\ 1-arg1+arg3 == 0), cost: 2 Applied simplification Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=-1+arg3, arg2'=0, arg4'=arg4P15, (arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 == 0 /\ 1-arg1+arg3 == 0), cost: 2 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=-1+arg3, arg2'=0, arg4'=arg4P15, (arg3 > 0 /\ arg2 == 0 /\ 1-arg1+arg3 == 0), cost: 2 Applied chaining First rule: f490_0_loop_GT -> f565_0_loop_NE : arg3'=-2+arg1, arg2'=-1+arg3, arg4'=arg4P3, (arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 == 0), cost: 1 Second rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1, arg2'=1, arg4'=arg4P11, (-1+arg1 > 0 /\ -arg3+arg2 == 0 /\ arg2 == 0 /\ 4-arg1 > 0), cost: 2 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1, arg2'=1, arg4'=arg4P11, (-1+arg3 == 0 /\ arg3 > 0 /\ -1+arg1 > 0 /\ arg1-arg3 > 0 /\ arg2 == 0 /\ 1-arg1+arg3 == 0 /\ 4-arg1 > 0), cost: 3 Applied simplification Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1, arg2'=1, arg4'=arg4P11, (-1+arg3 == 0 /\ arg3 > 0 /\ -1+arg1 > 0 /\ arg1-arg3 > 0 /\ arg2 == 0 /\ 1-arg1+arg3 == 0 /\ 4-arg1 > 0), cost: 3 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1, arg2'=1, arg4'=arg4P11, (-1+arg3 == 0 /\ arg2 == 0 /\ 1-arg1+arg3 == 0), cost: 3 Applied chaining First rule: f490_0_loop_GT -> f565_0_loop_NE : arg3'=-2+arg1, arg2'=-1+arg3, arg4'=arg4P3, (arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 == 0), cost: 1 Second rule: f565_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (arg3-arg2 > 0 /\ -3+arg1 > 0 /\ arg2 == 0), cost: 2 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (-1+arg3 == 0 /\ arg3 > 0 /\ -1+arg1-arg3 > 0 /\ arg1-arg3 > 0 /\ -3+arg1 > 0 /\ arg2 == 0), cost: 3 Applied simplification Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (-1+arg3 == 0 /\ arg3 > 0 /\ -1+arg1-arg3 > 0 /\ arg1-arg3 > 0 /\ -3+arg1 > 0 /\ arg2 == 0), cost: 3 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (-1+arg3 == 0 /\ -3+arg1 > 0 /\ arg2 == 0), cost: 3 Applied chaining First rule: f490_0_loop_GT -> f565_0_loop_NE : arg3'=-2+arg1, arg2'=-1+arg3, arg4'=arg4P3, (arg3 > 0 /\ arg1-arg3 > 0 /\ arg2 == 0), cost: 1 Second rule: f565_0_loop_NE -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3-arg2 > 0 /\ -3+arg1 == 0 /\ arg2 == 0), cost: 2 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (-1+arg3 == 0 /\ arg3 > 0 /\ -1+arg1-arg3 > 0 /\ arg1-arg3 > 0 /\ -3+arg1 == 0 /\ arg2 == 0), cost: 3 Applied simplification Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (-1+arg3 == 0 /\ arg3 > 0 /\ -1+arg1-arg3 > 0 /\ arg1-arg3 > 0 /\ -3+arg1 == 0 /\ arg2 == 0), cost: 3 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 > 0 /\ -1+arg1-arg3 > 0 /\ -3+arg1 == 0 /\ arg2 == 0), cost: 3 Applied deletion Removed the following rules: 22 26 27 34 39 40 44 49 50 54 58 59 63 67 68 72 Eliminating location f573_0_loop_NE by chaining: Applied chaining First rule: f490_0_loop_GT -> f573_0_loop_NE : arg3'=-2+arg1, arg2'=-1+arg1, arg4'=arg4P4, (arg1 > 0 /\ arg1-arg3 == 0), cost: 1 Second rule: f573_0_loop_NE -> f490_0_loop_GT : arg3'=arg2, arg2'=0, arg4'=arg4P10, -arg3+arg2 > 0, cost: 1 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-1+arg1, arg2'=0, arg4'=arg4P10, (arg1 > 0 /\ 1 > 0 /\ arg1-arg3 == 0), cost: 2 Applied simplification Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-1+arg1, arg2'=0, arg4'=arg4P10, (arg1 > 0 /\ 1 > 0 /\ arg1-arg3 == 0), cost: 2 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-1+arg1, arg2'=0, arg4'=arg4P10, (arg1 > 0 /\ arg1-arg3 == 0), cost: 2 Applied chaining First rule: f490_0_loop_GT -> f573_0_loop_NE : arg3'=-2+arg1, arg2'=-1+arg1, arg4'=arg4P4, (arg1 > 0 /\ arg1-arg3 == 0), cost: 1 Second rule: f573_0_loop_NE -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 3-arg1 > 0 /\ -arg3+arg2 > 0 /\ arg2 == 0), cost: 2 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 1 > 0 /\ 3-arg1 > 0 /\ -1+arg1 == 0 /\ arg1-arg3 == 0), cost: 3 Applied simplification Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (arg1 > 0 /\ 1 > 0 /\ 3-arg1 > 0 /\ -1+arg1 == 0 /\ arg1-arg3 == 0), cost: 3 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (-1+arg1 == 0 /\ arg1-arg3 == 0), cost: 3 Applied deletion Removed the following rules: 23 28 29 35 41 42 45 51 52 55 60 61 64 69 70 73 Eliminated locations on tree-shaped paths Start location: __init 76: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1+arg3, arg4'=arg4P5, (arg3 > 0 /\ -arg2 > 0 /\ -3+arg1-arg3 > 0), cost: 2 77: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1+arg3, arg4'=arg4P6, (arg3 > 0 /\ -arg2 > 0 /\ arg1-arg3 > 0 /\ 3-arg1+arg3 > 0), cost: 2 78: f490_0_loop_GT -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1+arg3, arg4'=arg4P13, (arg3 > 0 /\ -arg2 > 0 /\ 3-arg1+arg3 == 0), cost: 2 79: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1+arg3, arg4'=arg4P5, (arg3 > 0 /\ -3+arg1-arg3 > 0 /\ arg2 > 0), cost: 2 80: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1+arg3, arg4'=arg4P6, (arg3 > 0 /\ arg1-arg3 > 0 /\ 3-arg1+arg3 > 0 /\ arg2 > 0), cost: 2 81: f490_0_loop_GT -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1+arg3, arg4'=arg4P13, (arg3 > 0 /\ 3-arg1+arg3 == 0 /\ arg2 > 0), cost: 2 82: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-1+arg3, arg2'=0, arg4'=arg4P7, (arg3 > 0 /\ -1+arg1-arg3 > 0 /\ arg2 == 0), cost: 2 83: f490_0_loop_GT -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=-1+arg3, arg2'=0, arg4'=arg4P15, (arg3 > 0 /\ arg2 == 0 /\ 1-arg1+arg3 == 0), cost: 2 84: f490_0_loop_GT -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=1, arg2'=1, arg4'=arg4P11, (-1+arg3 == 0 /\ arg2 == 0 /\ 1-arg1+arg3 == 0), cost: 3 85: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P12, (-1+arg3 == 0 /\ -3+arg1 > 0 /\ arg2 == 0), cost: 3 86: f490_0_loop_GT -> f490_0_loop_GT : arg1'=2, arg3'=1, arg2'=1, arg4'=arg4P17, (arg3 > 0 /\ -1+arg1-arg3 > 0 /\ -3+arg1 == 0 /\ arg2 == 0), cost: 3 87: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-1+arg1, arg2'=0, arg4'=arg4P10, (arg1 > 0 /\ arg1-arg3 == 0), cost: 2 88: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1, arg2'=1, arg4'=arg4P11, (-1+arg1 == 0 /\ arg1-arg3 == 0), cost: 3 74: __init -> f490_0_loop_GT : arg1'=20, arg3'=arg2P18, arg2'=0, arg4'=arg4P0, (arg1P18 > 0 /\ 1+arg2P18 > 0), cost: 2 75: __init -> f490_0_loop_GT : arg1'=20, arg3'=1, arg2'=1, arg4'=arg4P12, (arg2P18 == 0 /\ arg1P18 > 0), cost: 3 Applied pruning (of leafs and parallel rules): Start location: __init 76: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1+arg3, arg4'=arg4P5, (arg3 > 0 /\ -arg2 > 0 /\ -3+arg1-arg3 > 0), cost: 2 77: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1+arg3, arg4'=arg4P6, (arg3 > 0 /\ -arg2 > 0 /\ arg1-arg3 > 0 /\ 3-arg1+arg3 > 0), cost: 2 79: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1+arg3, arg4'=arg4P5, (arg3 > 0 /\ -3+arg1-arg3 > 0 /\ arg2 > 0), cost: 2 82: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-1+arg3, arg2'=0, arg4'=arg4P7, (arg3 > 0 /\ -1+arg1-arg3 > 0 /\ arg2 == 0), cost: 2 83: f490_0_loop_GT -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=-1+arg3, arg2'=0, arg4'=arg4P15, (arg3 > 0 /\ arg2 == 0 /\ 1-arg1+arg3 == 0), cost: 2 74: __init -> f490_0_loop_GT : arg1'=20, arg3'=arg2P18, arg2'=0, arg4'=arg4P0, (arg1P18 > 0 /\ 1+arg2P18 > 0), cost: 2 75: __init -> f490_0_loop_GT : arg1'=20, arg3'=1, arg2'=1, arg4'=arg4P12, (arg2P18 == 0 /\ arg1P18 > 0), cost: 3 Applied acceleration Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1+arg3, arg4'=arg4P5, (arg3 > 0 /\ -arg2 > 0 /\ -3+arg1-arg3 > 0), cost: 2 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=n25+arg3, arg4'=arg4P5, (arg3 > 0 /\ -1+n25 >= 0 /\ -arg2 > 0 /\ -2-n25+arg1-arg3 > 0), cost: 2*n25 Applied instantiation Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=n25+arg3, arg4'=arg4P5, (arg3 > 0 /\ -1+n25 >= 0 /\ -arg2 > 0 /\ -2-n25+arg1-arg3 > 0), cost: 2*n25 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-3+arg1, arg4'=arg4P5, (1 > 0 /\ arg3 > 0 /\ -arg2 > 0 /\ -4+arg1-arg3 >= 0), cost: -6+2*arg1-2*arg3 Applied acceleration Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1+arg3, arg4'=arg4P6, (arg3 > 0 /\ -arg2 > 0 /\ arg1-arg3 > 0 /\ 3-arg1+arg3 > 0), cost: 2 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=n27+arg3, arg4'=arg4P6, (-1+n27 >= 0 /\ arg3 > 0 /\ -arg2 > 0 /\ 3-arg1+arg3 > 0 /\ 1+arg1-n27-arg3 > 0), cost: 2*n27 Applied instantiation Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=n27+arg3, arg4'=arg4P6, (-1+n27 >= 0 /\ arg3 > 0 /\ -arg2 > 0 /\ 3-arg1+arg3 > 0 /\ 1+arg1-n27-arg3 > 0), cost: 2*n27 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=arg1, arg4'=arg4P6, (1 > 0 /\ arg3 > 0 /\ -1+arg1-arg3 >= 0 /\ -arg2 > 0 /\ 3-arg1+arg3 > 0), cost: 2*arg1-2*arg3 Applied acceleration Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=1+arg3, arg4'=arg4P5, (arg3 > 0 /\ -3+arg1-arg3 > 0 /\ arg2 > 0), cost: 2 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=n29+arg3, arg4'=arg4P5, (-2+arg1-n29-arg3 > 0 /\ arg3 > 0 /\ -1+n29 >= 0 /\ arg2 > 0), cost: 2*n29 Applied instantiation Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=n29+arg3, arg4'=arg4P5, (-2+arg1-n29-arg3 > 0 /\ arg3 > 0 /\ -1+n29 >= 0 /\ arg2 > 0), cost: 2*n29 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-3+arg1, arg4'=arg4P5, (1 > 0 /\ arg3 > 0 /\ arg2 > 0 /\ -4+arg1-arg3 >= 0), cost: -6+2*arg1-2*arg3 Applied acceleration Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-1+arg3, arg2'=0, arg4'=arg4P7, (arg3 > 0 /\ -1+arg1-arg3 > 0 /\ arg2 == 0), cost: 2 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=arg3-n31, arg2'=0, arg4'=arg4P7, (-1+arg1-arg3 > 0 /\ -arg2 >= 0 /\ arg2 >= 0 /\ 1+arg3-n31 > 0 /\ -1+n31 >= 0), cost: 2*n31 Applied instantiation Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=arg3-n31, arg2'=0, arg4'=arg4P7, (-1+arg1-arg3 > 0 /\ -arg2 >= 0 /\ arg2 >= 0 /\ 1+arg3-n31 > 0 /\ -1+n31 >= 0), cost: 2*n31 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=0, arg2'=0, arg4'=arg4P7, (1 > 0 /\ -1+arg3 >= 0 /\ -1+arg1-arg3 > 0 /\ -arg2 >= 0 /\ arg2 >= 0), cost: 2*arg3 Applied acceleration Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=-1+arg1, arg3'=-1+arg3, arg2'=0, arg4'=arg4P15, (arg3 > 0 /\ arg2 == 0 /\ 1-arg1+arg3 == 0), cost: 2 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=arg1-n33, arg3'=arg3-n33, arg2'=0, arg4'=arg4P15, (1+arg3-n33 > 0 /\ -1+arg1-arg3 >= 0 /\ -arg2 >= 0 /\ -1+n33 >= 0 /\ arg2 >= 0 /\ 1-arg1+arg3 >= 0), cost: 2*n33 Applied instantiation Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=arg1-n33, arg3'=arg3-n33, arg2'=0, arg4'=arg4P15, (1+arg3-n33 > 0 /\ -1+arg1-arg3 >= 0 /\ -arg2 >= 0 /\ -1+n33 >= 0 /\ arg2 >= 0 /\ 1-arg1+arg3 >= 0), cost: 2*n33 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=arg1-arg3, arg3'=0, arg2'=0, arg4'=arg4P15, (1 > 0 /\ -1+arg3 >= 0 /\ -1+arg1-arg3 >= 0 /\ -arg2 >= 0 /\ arg2 >= 0 /\ 1-arg1+arg3 >= 0), cost: 2*arg3 Applied simplification Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-3+arg1, arg4'=arg4P5, (1 > 0 /\ arg3 > 0 /\ -arg2 > 0 /\ -4+arg1-arg3 >= 0), cost: -6+2*arg1-2*arg3 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-3+arg1, arg4'=arg4P5, (arg3 > 0 /\ -arg2 > 0 /\ -4+arg1-arg3 >= 0), cost: -6+2*arg1-2*arg3 Applied simplification Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=arg1, arg4'=arg4P6, (1 > 0 /\ arg3 > 0 /\ -1+arg1-arg3 >= 0 /\ -arg2 > 0 /\ 3-arg1+arg3 > 0), cost: 2*arg1-2*arg3 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=arg1, arg4'=arg4P6, (arg3 > 0 /\ -1+arg1-arg3 >= 0 /\ -arg2 > 0 /\ 3-arg1+arg3 > 0), cost: 2*arg1-2*arg3 Applied simplification Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-3+arg1, arg4'=arg4P5, (1 > 0 /\ arg3 > 0 /\ arg2 > 0 /\ -4+arg1-arg3 >= 0), cost: -6+2*arg1-2*arg3 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-3+arg1, arg4'=arg4P5, (arg3 > 0 /\ arg2 > 0 /\ -4+arg1-arg3 >= 0), cost: -6+2*arg1-2*arg3 Applied simplification Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=0, arg2'=0, arg4'=arg4P7, (1 > 0 /\ -1+arg3 >= 0 /\ -1+arg1-arg3 > 0 /\ -arg2 >= 0 /\ arg2 >= 0), cost: 2*arg3 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=0, arg2'=0, arg4'=arg4P7, (-1+arg3 >= 0 /\ -1+arg1-arg3 > 0 /\ arg2 <= 0 /\ arg2 >= 0), cost: 2*arg3 Applied simplification Original rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=arg1-arg3, arg3'=0, arg2'=0, arg4'=arg4P15, (1 > 0 /\ -1+arg3 >= 0 /\ -1+arg1-arg3 >= 0 /\ -arg2 >= 0 /\ arg2 >= 0 /\ 1-arg1+arg3 >= 0), cost: 2*arg3 New rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=arg1-arg3, arg3'=0, arg2'=0, arg4'=arg4P15, (-1+arg3 >= 0 /\ -1+arg1-arg3 >= 0 /\ arg2 <= 0 /\ arg2 >= 0 /\ 1-arg1+arg3 >= 0), cost: 2*arg3 Applied deletion Removed the following rules: 76 77 79 82 83 Accelerated simple loops Start location: __init 94: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-3+arg1, arg4'=arg4P5, (arg3 > 0 /\ -arg2 > 0 /\ -4+arg1-arg3 >= 0), cost: -6+2*arg1-2*arg3 95: f490_0_loop_GT -> f490_0_loop_GT : arg3'=arg1, arg4'=arg4P6, (arg3 > 0 /\ -1+arg1-arg3 >= 0 /\ -arg2 > 0 /\ 3-arg1+arg3 > 0), cost: 2*arg1-2*arg3 96: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-3+arg1, arg4'=arg4P5, (arg3 > 0 /\ arg2 > 0 /\ -4+arg1-arg3 >= 0), cost: -6+2*arg1-2*arg3 97: f490_0_loop_GT -> f490_0_loop_GT : arg3'=0, arg2'=0, arg4'=arg4P7, (-1+arg3 >= 0 /\ -1+arg1-arg3 > 0 /\ arg2 <= 0 /\ arg2 >= 0), cost: 2*arg3 98: f490_0_loop_GT -> f490_0_loop_GT : arg1'=arg1-arg3, arg3'=0, arg2'=0, arg4'=arg4P15, (-1+arg3 >= 0 /\ -1+arg1-arg3 >= 0 /\ arg2 <= 0 /\ arg2 >= 0 /\ 1-arg1+arg3 >= 0), cost: 2*arg3 74: __init -> f490_0_loop_GT : arg1'=20, arg3'=arg2P18, arg2'=0, arg4'=arg4P0, (arg1P18 > 0 /\ 1+arg2P18 > 0), cost: 2 75: __init -> f490_0_loop_GT : arg1'=20, arg3'=1, arg2'=1, arg4'=arg4P12, (arg2P18 == 0 /\ arg1P18 > 0), cost: 3 Applied chaining First rule: __init -> f490_0_loop_GT : arg1'=20, arg3'=1, arg2'=1, arg4'=arg4P12, (arg2P18 == 0 /\ arg1P18 > 0), cost: 3 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=-3+arg1, arg4'=arg4P5, (arg3 > 0 /\ arg2 > 0 /\ -4+arg1-arg3 >= 0), cost: -6+2*arg1-2*arg3 New rule: __init -> f490_0_loop_GT : arg1'=20, arg3'=17, arg2'=1, arg4'=arg4P5, (1 > 0 /\ 15 >= 0), cost: 35 Applied chaining First rule: __init -> f490_0_loop_GT : arg1'=20, arg3'=arg2P18, arg2'=0, arg4'=arg4P0, (arg1P18 > 0 /\ 1+arg2P18 > 0), cost: 2 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg3'=0, arg2'=0, arg4'=arg4P7, (-1+arg3 >= 0 /\ -1+arg1-arg3 > 0 /\ arg2 <= 0 /\ arg2 >= 0), cost: 2*arg3 New rule: __init -> f490_0_loop_GT : arg1'=20, arg3'=0, arg2'=0, arg4'=arg4P7, (-1+arg2P18 >= 0 /\ 19-arg2P18 > 0), cost: 2+2*arg2P18 Applied chaining First rule: __init -> f490_0_loop_GT : arg1'=20, arg3'=arg2P18, arg2'=0, arg4'=arg4P0, (arg1P18 > 0 /\ 1+arg2P18 > 0), cost: 2 Second rule: f490_0_loop_GT -> f490_0_loop_GT : arg1'=arg1-arg3, arg3'=0, arg2'=0, arg4'=arg4P15, (-1+arg3 >= 0 /\ -1+arg1-arg3 >= 0 /\ arg2 <= 0 /\ arg2 >= 0 /\ 1-arg1+arg3 >= 0), cost: 2*arg3 New rule: __init -> f490_0_loop_GT : arg1'=1, arg3'=0, arg2'=0, arg4'=arg4P15, (0 == 0 /\ 20 > 0 /\ 18 >= 0), cost: 40 Applied deletion Removed the following rules: 94 95 96 97 98 Chained accelerated rules with incoming rules Start location: __init 74: __init -> f490_0_loop_GT : arg1'=20, arg3'=arg2P18, arg2'=0, arg4'=arg4P0, (arg1P18 > 0 /\ 1+arg2P18 > 0), cost: 2 75: __init -> f490_0_loop_GT : arg1'=20, arg3'=1, arg2'=1, arg4'=arg4P12, (arg2P18 == 0 /\ arg1P18 > 0), cost: 3 99: __init -> f490_0_loop_GT : arg1'=20, arg3'=17, arg2'=1, arg4'=arg4P5, (1 > 0 /\ 15 >= 0), cost: 35 100: __init -> f490_0_loop_GT : arg1'=20, arg3'=0, arg2'=0, arg4'=arg4P7, (-1+arg2P18 >= 0 /\ 19-arg2P18 > 0), cost: 2+2*arg2P18 101: __init -> f490_0_loop_GT : arg1'=1, arg3'=0, arg2'=0, arg4'=arg4P15, (0 == 0 /\ 20 > 0 /\ 18 >= 0), cost: 40 Removed unreachable locations and irrelevant leafs Start location: __init Computing asymptotic complexity Proved the following lower bound Complexity: Unknown Cpx degree: ? Solved cost: 0 Rule cost: 0