NO Initial ITS Start location: __init 0: f1_0_main_Load -> f1549_0_search_LT : arg1'=arg1P0, arg3'=arg3P0, arg2'=arg2P0, (arg1 > 0 /\ 1+arg2 > 0 /\ -arg1P0 == 0), cost: 1 1: f1549_0_search_LT -> f1911_0_search_GE : arg1'=arg1P1, arg3'=arg3P1, arg2'=arg2P1, (arg1-x20 < 0 /\ -arg2P1 == 0 /\ arg1-arg1P1 == 0), cost: 1 5: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=arg1P5, arg3'=arg3P5, arg2'=arg2P5, (-arg1P5 == 0 /\ arg1-x150 >= 0), cost: 1 2: f1911_0_search_GE -> f1911_0_search_GE : arg1'=arg1P2, arg3'=arg3P2, arg2'=arg2P2, (1-arg2P2+arg2 == 0 /\ x40 > 0 /\ arg2-x40 < 0 /\ arg1-arg1P2 == 0), cost: 1 3: f1911_0_search_GE -> f1549_0_search_LT : arg1'=arg1P3, arg3'=arg3P3, arg2'=arg2P3, (1 > 0 /\ x70 > 0 /\ x100 > 0 /\ 1+arg1 > 0 /\ arg1-x70 < 0 /\ -x70+arg2 < 0 /\ 1+arg1-arg1P3 == 0), cost: 1 4: f1911_0_search_GE -> f1911_0_search_GE : arg1'=arg1P4, arg3'=arg3P4, arg2'=arg2P4, (1 > 0 /\ arg2-x110 < 0 /\ arg1-x110 < 0 /\ 1-arg2P4+arg2 == 0 /\ 1+arg1 > 0 /\ x110 > 0 /\ x140 > 0 /\ arg1-arg1P4 == 0), cost: 1 11: f1911_0_search_GE -> f1876_0_safeMove_GE : arg1'=arg1P11, arg3'=arg3P11, arg2'=arg2P11, (-x290+arg2 < 0 /\ x290 > 0 /\ 1-arg1P11 == 0 /\ arg1-arg3P11 == 0 /\ -arg2P11 == 0), cost: 1 6: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg1'=arg1P6, arg3'=arg3P6, arg2'=arg2P6, (-arg2P6 == 0 /\ arg1-arg1P6 == 0 /\ arg1-x170 < 0), cost: 1 7: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1P7, arg3'=arg3P7, arg2'=arg2P7, (arg2-x190 >= 0 /\ 1+arg1-arg1P7 == 0), cost: 1 8: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg1'=arg1P8, arg3'=arg3P8, arg2'=arg2P8, (arg1-arg1P8 == 0 /\ arg1-x220 < 0 /\ -arg2+x250 < 0 /\ 1+arg2-arg2P8 == 0 /\ -x220+arg2 < 0), cost: 1 9: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg1'=arg1P9, arg3'=arg3P9, arg2'=arg2P9, (arg2-x490 < 0 /\ arg1-arg1P9 == 0 /\ arg1-x490 < 0 /\ -arg2+x460 > 0 /\ 1-arg2P9+arg2 == 0), cost: 1 10: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg1'=arg1P10, arg3'=arg3P10, arg2'=arg2P10, (1-arg2P10+arg2 == 0 /\ arg1-x260 < 0 /\ arg1-arg1P10 == 0 /\ arg2-x260 < 0), cost: 1 12: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg1P12, arg3'=arg3P12, arg2'=arg2P12, (arg1 > 0 /\ -arg1P12+arg3 == 0 /\ arg3-arg2 > 0 /\ arg3 > 0 /\ arg2-arg2P12 == 0 /\ 1-arg3P12 == 0 /\ x320 > 0 /\ -x320+arg2 < 0), cost: 1 13: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg1P13, arg3'=arg3P13, arg2'=arg2P13, (arg1 > 0 /\ x360 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0 /\ arg3-arg1P13 == 0 /\ -x360+arg2 < 0 /\ -arg3P13 == 0 /\ arg2-arg2P13 == 0), cost: 1 14: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=arg1P14, arg3'=arg3P14, arg2'=arg2P14, (arg3-arg2 > 0 /\ arg3-arg3P14 == 0 /\ -arg1 == 0 /\ 1+arg2-arg2P14 == 0 /\ -arg1P14 == 0), cost: 1 15: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=arg1P15, arg3'=arg3P15, arg2'=arg2P15, (-arg1P15 == 0 /\ 1-arg3 == 0 /\ 1+arg2-arg2P15 == 0 /\ arg1-arg3P15 == 0), cost: 1 16: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=arg1P16, arg3'=arg3P16, arg2'=arg2P16, (1-arg1P16 == 0 /\ -arg3 == 0 /\ 1+arg2-arg2P16 == 0 /\ arg1-arg3P16 == 0), cost: 1 17: __init -> f1_0_main_Load : arg1'=arg1P17, arg3'=arg3P17, arg2'=arg2P17, TRUE, cost: 1 Applied preprocessing Original rule: f1_0_main_Load -> f1549_0_search_LT : arg1'=arg1P0, arg3'=arg3P0, arg2'=arg2P0, (arg1 > 0 /\ 1+arg2 > 0 /\ -arg1P0 == 0), cost: 1 New rule: f1_0_main_Load -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (arg1 > 0 /\ 1+arg2 > 0), cost: 1 Applied preprocessing Original rule: f1549_0_search_LT -> f1911_0_search_GE : arg1'=arg1P1, arg3'=arg3P1, arg2'=arg2P1, (arg1-x20 < 0 /\ -arg2P1 == 0 /\ arg1-arg1P1 == 0), cost: 1 New rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P1, arg2'=0, TRUE, cost: 1 Applied preprocessing Original rule: f1911_0_search_GE -> f1911_0_search_GE : arg1'=arg1P2, arg3'=arg3P2, arg2'=arg2P2, (1-arg2P2+arg2 == 0 /\ x40 > 0 /\ arg2-x40 < 0 /\ arg1-arg1P2 == 0), cost: 1 New rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=1+arg2, TRUE, cost: 1 Applied preprocessing Original rule: f1911_0_search_GE -> f1549_0_search_LT : arg1'=arg1P3, arg3'=arg3P3, arg2'=arg2P3, (1 > 0 /\ x70 > 0 /\ x100 > 0 /\ 1+arg1 > 0 /\ arg1-x70 < 0 /\ -x70+arg2 < 0 /\ 1+arg1-arg1P3 == 0), cost: 1 New rule: f1911_0_search_GE -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 1 Applied preprocessing Original rule: f1911_0_search_GE -> f1911_0_search_GE : arg1'=arg1P4, arg3'=arg3P4, arg2'=arg2P4, (1 > 0 /\ arg2-x110 < 0 /\ arg1-x110 < 0 /\ 1-arg2P4+arg2 == 0 /\ 1+arg1 > 0 /\ x110 > 0 /\ x140 > 0 /\ arg1-arg1P4 == 0), cost: 1 New rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=1+arg2, 1+arg1 > 0, cost: 1 Applied preprocessing Original rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=arg1P5, arg3'=arg3P5, arg2'=arg2P5, (-arg1P5 == 0 /\ arg1-x150 >= 0), cost: 1 New rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 Applied preprocessing Original rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg1'=arg1P6, arg3'=arg3P6, arg2'=arg2P6, (-arg2P6 == 0 /\ arg1-arg1P6 == 0 /\ arg1-x170 < 0), cost: 1 New rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 Applied preprocessing Original rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1P7, arg3'=arg3P7, arg2'=arg2P7, (arg2-x190 >= 0 /\ 1+arg1-arg1P7 == 0), cost: 1 New rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 Applied preprocessing Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg1'=arg1P8, arg3'=arg3P8, arg2'=arg2P8, (arg1-arg1P8 == 0 /\ arg1-x220 < 0 /\ -arg2+x250 < 0 /\ 1+arg2-arg2P8 == 0 /\ -x220+arg2 < 0), cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+arg2, TRUE, cost: 1 Applied preprocessing Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg1'=arg1P9, arg3'=arg3P9, arg2'=arg2P9, (arg2-x490 < 0 /\ arg1-arg1P9 == 0 /\ arg1-x490 < 0 /\ -arg2+x460 > 0 /\ 1-arg2P9+arg2 == 0), cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+arg2, TRUE, cost: 1 Applied preprocessing Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg1'=arg1P10, arg3'=arg3P10, arg2'=arg2P10, (1-arg2P10+arg2 == 0 /\ arg1-x260 < 0 /\ arg1-arg1P10 == 0 /\ arg2-x260 < 0), cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+arg2, TRUE, cost: 1 Applied preprocessing Original rule: f1911_0_search_GE -> f1876_0_safeMove_GE : arg1'=arg1P11, arg3'=arg3P11, arg2'=arg2P11, (-x290+arg2 < 0 /\ x290 > 0 /\ 1-arg1P11 == 0 /\ arg1-arg3P11 == 0 /\ -arg2P11 == 0), cost: 1 New rule: f1911_0_search_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 1 Applied preprocessing Original rule: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg1P12, arg3'=arg3P12, arg2'=arg2P12, (arg1 > 0 /\ -arg1P12+arg3 == 0 /\ arg3-arg2 > 0 /\ arg3 > 0 /\ arg2-arg2P12 == 0 /\ 1-arg3P12 == 0 /\ x320 > 0 /\ -x320+arg2 < 0), cost: 1 New rule: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=1, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 1 Applied preprocessing Original rule: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg1P13, arg3'=arg3P13, arg2'=arg2P13, (arg1 > 0 /\ x360 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0 /\ arg3-arg1P13 == 0 /\ -x360+arg2 < 0 /\ -arg3P13 == 0 /\ arg2-arg2P13 == 0), cost: 1 New rule: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=0, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 1 Applied preprocessing Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=arg1P14, arg3'=arg3P14, arg2'=arg2P14, (arg3-arg2 > 0 /\ arg3-arg3P14 == 0 /\ -arg1 == 0 /\ 1+arg2-arg2P14 == 0 /\ -arg1P14 == 0), cost: 1 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg2'=1+arg2, (arg1 == 0 /\ arg3-arg2 > 0), cost: 1 Applied preprocessing Original rule: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=arg1P15, arg3'=arg3P15, arg2'=arg2P15, (-arg1P15 == 0 /\ 1-arg3 == 0 /\ 1+arg2-arg2P15 == 0 /\ arg1-arg3P15 == 0), cost: 1 New rule: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg1, arg2'=1+arg2, -1+arg3 == 0, cost: 1 Applied preprocessing Original rule: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=arg1P16, arg3'=arg3P16, arg2'=arg2P16, (1-arg1P16 == 0 /\ -arg3 == 0 /\ 1+arg2-arg2P16 == 0 /\ arg1-arg3P16 == 0), cost: 1 New rule: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=1+arg2, arg3 == 0, cost: 1 Simplified rules Start location: __init 18: f1_0_main_Load -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (arg1 > 0 /\ 1+arg2 > 0), cost: 1 19: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P1, arg2'=0, TRUE, cost: 1 23: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 20: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=1+arg2, TRUE, cost: 1 21: f1911_0_search_GE -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 1 22: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=1+arg2, 1+arg1 > 0, cost: 1 29: f1911_0_search_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 1 24: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 25: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 26: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+arg2, TRUE, cost: 1 27: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+arg2, TRUE, cost: 1 28: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+arg2, TRUE, cost: 1 30: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=1, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 1 31: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=0, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 1 32: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg2'=1+arg2, (arg1 == 0 /\ arg3-arg2 > 0), cost: 1 33: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg1, arg2'=1+arg2, -1+arg3 == 0, cost: 1 34: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=1+arg2, arg3 == 0, cost: 1 17: __init -> f1_0_main_Load : arg1'=arg1P17, arg3'=arg3P17, arg2'=arg2P17, TRUE, cost: 1 Applied nonterm Original rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=1+arg2, TRUE, cost: 1 New rule: f1911_0_search_GE -> [8] : TRUE, cost: NONTERM Applied acceleration Original rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=1+arg2, TRUE, cost: 1 New rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=n1+arg2, TRUE, cost: n1 Applied nonterm Original rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=1+arg2, 1+arg1 > 0, cost: 1 New rule: f1911_0_search_GE -> [8] : 1+arg1 > 0, cost: NONTERM Applied acceleration Original rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=1+arg2, 1+arg1 > 0, cost: 1 New rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=n3+arg2, 1+arg1 > 0, cost: n3 Applied chaining First rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=1+arg2, TRUE, cost: 1 Second rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=1+arg2, 1+arg1 > 0, cost: 1 New rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=2+arg2, 1+arg1 > 0, cost: 2 Applied nonterm Original rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=2+arg2, 1+arg1 > 0, cost: 2 New rule: f1911_0_search_GE -> [8] : 1+arg1 > 0, cost: NONTERM Applied acceleration Original rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=2+arg2, 1+arg1 > 0, cost: 2 New rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=2*n5+arg2, 1+arg1 > 0, cost: 2*n5 Applied chaining First rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=1+arg2, 1+arg1 > 0, cost: 1 Second rule: f1911_0_search_GE -> [8] : 1+arg1 > 0, cost: NONTERM New rule: f1911_0_search_GE -> [8] : 1+arg1 > 0, cost: NONTERM Applied chaining First rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=1+arg2, 1+arg1 > 0, cost: 1 Second rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=2*n5+arg2, 1+arg1 > 0, cost: 2*n5 New rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=1+2*n5+arg2, 1+arg1 > 0, cost: 1+2*n5 Applied chaining First rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=1+arg2, 1+arg1 > 0, cost: 1 Second rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=1+arg2, TRUE, cost: 1 New rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=2+arg2, 1+arg1 > 0, cost: 2 Applied nonterm Original rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=2+arg2, 1+arg1 > 0, cost: 2 New rule: f1911_0_search_GE -> [8] : 1+arg1 > 0, cost: NONTERM Applied acceleration Original rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=2+arg2, 1+arg1 > 0, cost: 2 New rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=2*n7+arg2, 1+arg1 > 0, cost: 2*n7 Applied chaining First rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=1+arg2, TRUE, cost: 1 Second rule: f1911_0_search_GE -> [8] : 1+arg1 > 0, cost: NONTERM New rule: f1911_0_search_GE -> [8] : 1+arg1 > 0, cost: NONTERM Applied chaining First rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=1+arg2, TRUE, cost: 1 Second rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=2*n7+arg2, 1+arg1 > 0, cost: 2*n7 New rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=1+2*n7+arg2, 1+arg1 > 0, cost: 1+2*n7 Applied deletion Removed the following rules: 20 22 Applied deletion Removed the following rules: 37 39 40 43 Applied nonterm Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+arg2, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied acceleration Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+arg2, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=arg2+n20, TRUE, cost: n20 Applied nonterm Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+arg2, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied acceleration Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+arg2, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=arg2+n22, TRUE, cost: n22 Applied nonterm Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+arg2, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied acceleration Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+arg2, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=n24+arg2, TRUE, cost: n24 Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+arg2, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+arg2, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=2+arg2, TRUE, cost: 2 Applied nonterm Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=2+arg2, TRUE, cost: 2 New rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied acceleration Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=2+arg2, TRUE, cost: 2 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=2*n26+arg2, TRUE, cost: 2*n26 Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+arg2, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM New rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+arg2, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=2*n26+arg2, TRUE, cost: 2*n26 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+2*n26+arg2, TRUE, cost: 1+2*n26 Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+arg2, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+arg2, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=2+arg2, TRUE, cost: 2 Applied nonterm Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=2+arg2, TRUE, cost: 2 New rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied acceleration Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=2+arg2, TRUE, cost: 2 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=arg2+2*n28, TRUE, cost: 2*n28 Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+arg2, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM New rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+arg2, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=arg2+2*n28, TRUE, cost: 2*n28 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+arg2+2*n28, TRUE, cost: 1+2*n28 Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+arg2, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+arg2, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=2+arg2, TRUE, cost: 2 Applied nonterm Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=2+arg2, TRUE, cost: 2 New rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied acceleration Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=2+arg2, TRUE, cost: 2 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=arg2+2*n30, TRUE, cost: 2*n30 Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+arg2, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM New rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+arg2, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=arg2+2*n30, TRUE, cost: 2*n30 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+arg2+2*n30, TRUE, cost: 1+2*n30 Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+arg2, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+arg2, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=2+arg2, TRUE, cost: 2 Applied nonterm Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=2+arg2, TRUE, cost: 2 New rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied acceleration Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=2+arg2, TRUE, cost: 2 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=2*n32+arg2, TRUE, cost: 2*n32 Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+arg2, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM New rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+arg2, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=2*n32+arg2, TRUE, cost: 2*n32 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+2*n32+arg2, TRUE, cost: 1+2*n32 Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+arg2, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+arg2, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=2+arg2, TRUE, cost: 2 Applied nonterm Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=2+arg2, TRUE, cost: 2 New rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied acceleration Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=2+arg2, TRUE, cost: 2 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=2*n34+arg2, TRUE, cost: 2*n34 Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+arg2, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM New rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+arg2, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=2*n34+arg2, TRUE, cost: 2*n34 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+2*n34+arg2, TRUE, cost: 1+2*n34 Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+arg2, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+arg2, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=2+arg2, TRUE, cost: 2 Applied nonterm Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=2+arg2, TRUE, cost: 2 New rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied acceleration Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=2+arg2, TRUE, cost: 2 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=arg2+2*n36, TRUE, cost: 2*n36 Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+arg2, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM New rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+arg2, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=arg2+2*n36, TRUE, cost: 2*n36 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+arg2+2*n36, TRUE, cost: 1+2*n36 Applied deletion Removed the following rules: 26 27 28 Applied deletion Removed the following rules: 47 49 51 53 54 57 58 61 62 65 66 69 70 73 Applied acceleration Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg2'=1+arg2, (arg1 == 0 /\ arg3-arg2 > 0), cost: 1 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg2'=arg2+n63, (arg1 >= 0 /\ -arg1 >= 0 /\ 1+arg3-arg2-n63 > 0 /\ -1+n63 >= 0), cost: n63 Applied instantiation Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg2'=arg2+n63, (arg1 >= 0 /\ -arg1 >= 0 /\ 1+arg3-arg2-n63 > 0 /\ -1+n63 >= 0), cost: n63 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg2'=arg3, (arg1 >= 0 /\ 1 > 0 /\ -arg1 >= 0 /\ -1+arg3-arg2 >= 0), cost: arg3-arg2 Applied simplification Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg2'=arg3, (arg1 >= 0 /\ 1 > 0 /\ -arg1 >= 0 /\ -1+arg3-arg2 >= 0), cost: arg3-arg2 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg2'=arg3, (arg1 <= 0 /\ arg1 >= 0 /\ -1+arg3-arg2 >= 0), cost: arg3-arg2 Applied deletion Removed the following rules: 32 Accelerated simple loops Start location: __init 18: f1_0_main_Load -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (arg1 > 0 /\ 1+arg2 > 0), cost: 1 19: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P1, arg2'=0, TRUE, cost: 1 23: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 21: f1911_0_search_GE -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 1 29: f1911_0_search_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 1 35: f1911_0_search_GE -> [8] : TRUE, cost: NONTERM 36: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=n1+arg2, TRUE, cost: n1 38: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=n3+arg2, 1+arg1 > 0, cost: n3 41: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=2*n5+arg2, 1+arg1 > 0, cost: 2*n5 42: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=1+2*n5+arg2, 1+arg1 > 0, cost: 1+2*n5 44: f1911_0_search_GE -> [8] : 1+arg1 > 0, cost: NONTERM 45: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=2*n7+arg2, 1+arg1 > 0, cost: 2*n7 46: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=1+2*n7+arg2, 1+arg1 > 0, cost: 1+2*n7 24: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 25: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 48: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=arg2+n20, TRUE, cost: n20 50: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=arg2+n22, TRUE, cost: n22 52: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=n24+arg2, TRUE, cost: n24 55: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=2*n26+arg2, TRUE, cost: 2*n26 56: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+2*n26+arg2, TRUE, cost: 1+2*n26 59: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=arg2+2*n28, TRUE, cost: 2*n28 60: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+arg2+2*n28, TRUE, cost: 1+2*n28 63: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=arg2+2*n30, TRUE, cost: 2*n30 64: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+arg2+2*n30, TRUE, cost: 1+2*n30 67: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=2*n32+arg2, TRUE, cost: 2*n32 68: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+2*n32+arg2, TRUE, cost: 1+2*n32 71: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=2*n34+arg2, TRUE, cost: 2*n34 72: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+2*n34+arg2, TRUE, cost: 1+2*n34 74: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM 75: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=arg2+2*n36, TRUE, cost: 2*n36 76: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+arg2+2*n36, TRUE, cost: 1+2*n36 30: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=1, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 1 31: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=0, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 1 78: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg2'=arg3, (arg1 <= 0 /\ arg1 >= 0 /\ -1+arg3-arg2 >= 0), cost: arg3-arg2 33: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg1, arg2'=1+arg2, -1+arg3 == 0, cost: 1 34: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=1+arg2, arg3 == 0, cost: 1 17: __init -> f1_0_main_Load : arg1'=arg1P17, arg3'=arg3P17, arg2'=arg2P17, TRUE, cost: 1 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P1, arg2'=0, TRUE, cost: 1 Second rule: f1911_0_search_GE -> [8] : TRUE, cost: NONTERM New rule: f1549_0_search_LT -> [8] : TRUE, cost: NONTERM Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P1, arg2'=0, TRUE, cost: 1 Second rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=n1+arg2, TRUE, cost: n1 New rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P2, arg2'=n1, TRUE, cost: 1+n1 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P1, arg2'=0, TRUE, cost: 1 Second rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=n3+arg2, 1+arg1 > 0, cost: n3 New rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P4, arg2'=n3, 1+arg1 > 0, cost: 1+n3 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P1, arg2'=0, TRUE, cost: 1 Second rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=2*n5+arg2, 1+arg1 > 0, cost: 2*n5 New rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P4, arg2'=2*n5, 1+arg1 > 0, cost: 1+2*n5 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P1, arg2'=0, TRUE, cost: 1 Second rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P4, arg2'=1+2*n5+arg2, 1+arg1 > 0, cost: 1+2*n5 New rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P4, arg2'=1+2*n5, 1+arg1 > 0, cost: 2+2*n5 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P1, arg2'=0, TRUE, cost: 1 Second rule: f1911_0_search_GE -> [8] : 1+arg1 > 0, cost: NONTERM New rule: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P1, arg2'=0, TRUE, cost: 1 Second rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=2*n7+arg2, 1+arg1 > 0, cost: 2*n7 New rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P2, arg2'=2*n7, 1+arg1 > 0, cost: 1+2*n7 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P1, arg2'=0, TRUE, cost: 1 Second rule: f1911_0_search_GE -> f1911_0_search_GE : arg3'=arg3P2, arg2'=1+2*n7+arg2, 1+arg1 > 0, cost: 1+2*n7 New rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P2, arg2'=1+2*n7, 1+arg1 > 0, cost: 2+2*n7 Applied deletion Removed the following rules: 35 36 38 41 42 44 45 46 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=arg2+n20, TRUE, cost: n20 New rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=n20, TRUE, cost: 1+n20 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=arg2+n22, TRUE, cost: n22 New rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=n22, TRUE, cost: 1+n22 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=n24+arg2, TRUE, cost: n24 New rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=n24, TRUE, cost: 1+n24 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=2*n26+arg2, TRUE, cost: 2*n26 New rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=2*n26, TRUE, cost: 1+2*n26 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+2*n26+arg2, TRUE, cost: 1+2*n26 New rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+2*n26, TRUE, cost: 2+2*n26 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=arg2+2*n28, TRUE, cost: 2*n28 New rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=2*n28, TRUE, cost: 1+2*n28 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+arg2+2*n28, TRUE, cost: 1+2*n28 New rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+2*n28, TRUE, cost: 2+2*n28 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=arg2+2*n30, TRUE, cost: 2*n30 New rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=2*n30, TRUE, cost: 1+2*n30 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+arg2+2*n30, TRUE, cost: 1+2*n30 New rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+2*n30, TRUE, cost: 2+2*n30 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=2*n32+arg2, TRUE, cost: 2*n32 New rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=2*n32, TRUE, cost: 1+2*n32 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+2*n32+arg2, TRUE, cost: 1+2*n32 New rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+2*n32, TRUE, cost: 2+2*n32 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=2*n34+arg2, TRUE, cost: 2*n34 New rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=2*n34, TRUE, cost: 1+2*n34 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+2*n34+arg2, TRUE, cost: 1+2*n34 New rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+2*n34, TRUE, cost: 2+2*n34 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM New rule: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=arg2+2*n36, TRUE, cost: 2*n36 New rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=2*n36, TRUE, cost: 1+2*n36 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+arg2+2*n36, TRUE, cost: 1+2*n36 New rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+2*n36, TRUE, cost: 2+2*n36 Applied deletion Removed the following rules: 48 50 52 55 56 59 60 63 64 67 68 71 72 74 75 76 Applied chaining First rule: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg1, arg2'=1+arg2, -1+arg3 == 0, cost: 1 Second rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg2'=arg3, (arg1 <= 0 /\ arg1 >= 0 /\ -1+arg3-arg2 >= 0), cost: arg3-arg2 New rule: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg1, arg2'=arg1, (-1+arg3 == 0 /\ -2+arg1-arg2 >= 0), cost: arg1-arg2 Applied deletion Removed the following rules: 78 Chained accelerated rules with incoming rules Start location: __init 18: f1_0_main_Load -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (arg1 > 0 /\ 1+arg2 > 0), cost: 1 19: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P1, arg2'=0, TRUE, cost: 1 23: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 79: f1549_0_search_LT -> [8] : TRUE, cost: NONTERM 80: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P2, arg2'=n1, TRUE, cost: 1+n1 81: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P4, arg2'=n3, 1+arg1 > 0, cost: 1+n3 82: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P4, arg2'=2*n5, 1+arg1 > 0, cost: 1+2*n5 83: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P4, arg2'=1+2*n5, 1+arg1 > 0, cost: 2+2*n5 84: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM 85: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P2, arg2'=2*n7, 1+arg1 > 0, cost: 1+2*n7 86: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P2, arg2'=1+2*n7, 1+arg1 > 0, cost: 2+2*n7 21: f1911_0_search_GE -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 1 29: f1911_0_search_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 1 24: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 87: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=n20, TRUE, cost: 1+n20 88: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=n22, TRUE, cost: 1+n22 89: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=n24, TRUE, cost: 1+n24 90: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=2*n26, TRUE, cost: 1+2*n26 91: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+2*n26, TRUE, cost: 2+2*n26 92: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=2*n28, TRUE, cost: 1+2*n28 93: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+2*n28, TRUE, cost: 2+2*n28 94: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=2*n30, TRUE, cost: 1+2*n30 95: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+2*n30, TRUE, cost: 2+2*n30 96: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=2*n32, TRUE, cost: 1+2*n32 97: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+2*n32, TRUE, cost: 2+2*n32 98: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=2*n34, TRUE, cost: 1+2*n34 99: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+2*n34, TRUE, cost: 2+2*n34 100: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM 101: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=2*n36, TRUE, cost: 1+2*n36 102: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+2*n36, TRUE, cost: 2+2*n36 25: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 30: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=1, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 1 31: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=0, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 1 33: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg1, arg2'=1+arg2, -1+arg3 == 0, cost: 1 34: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=1+arg2, arg3 == 0, cost: 1 103: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg1, arg2'=arg1, (-1+arg3 == 0 /\ -2+arg1-arg2 >= 0), cost: arg1-arg2 17: __init -> f1_0_main_Load : arg1'=arg1P17, arg3'=arg3P17, arg2'=arg2P17, TRUE, cost: 1 Eliminating location f1_0_main_Load by chaining: Applied chaining First rule: __init -> f1_0_main_Load : arg1'=arg1P17, arg3'=arg3P17, arg2'=arg2P17, TRUE, cost: 1 Second rule: f1_0_main_Load -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (arg1 > 0 /\ 1+arg2 > 0), cost: 1 New rule: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Applied deletion Removed the following rules: 17 18 Eliminated locations on linear paths Start location: __init 19: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P1, arg2'=0, TRUE, cost: 1 23: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 79: f1549_0_search_LT -> [8] : TRUE, cost: NONTERM 80: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P2, arg2'=n1, TRUE, cost: 1+n1 81: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P4, arg2'=n3, 1+arg1 > 0, cost: 1+n3 82: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P4, arg2'=2*n5, 1+arg1 > 0, cost: 1+2*n5 83: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P4, arg2'=1+2*n5, 1+arg1 > 0, cost: 2+2*n5 84: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM 85: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P2, arg2'=2*n7, 1+arg1 > 0, cost: 1+2*n7 86: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P2, arg2'=1+2*n7, 1+arg1 > 0, cost: 2+2*n7 21: f1911_0_search_GE -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 1 29: f1911_0_search_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 1 24: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 87: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=n20, TRUE, cost: 1+n20 88: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=n22, TRUE, cost: 1+n22 89: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=n24, TRUE, cost: 1+n24 90: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=2*n26, TRUE, cost: 1+2*n26 91: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+2*n26, TRUE, cost: 2+2*n26 92: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=2*n28, TRUE, cost: 1+2*n28 93: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+2*n28, TRUE, cost: 2+2*n28 94: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=2*n30, TRUE, cost: 1+2*n30 95: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+2*n30, TRUE, cost: 2+2*n30 96: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=2*n32, TRUE, cost: 1+2*n32 97: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+2*n32, TRUE, cost: 2+2*n32 98: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=2*n34, TRUE, cost: 1+2*n34 99: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+2*n34, TRUE, cost: 2+2*n34 100: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM 101: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=2*n36, TRUE, cost: 1+2*n36 102: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+2*n36, TRUE, cost: 2+2*n36 25: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 30: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=1, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 1 31: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=0, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 1 33: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg1, arg2'=1+arg2, -1+arg3 == 0, cost: 1 34: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=1+arg2, arg3 == 0, cost: 1 103: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg1, arg2'=arg1, (-1+arg3 == 0 /\ -2+arg1-arg2 >= 0), cost: arg1-arg2 104: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Eliminating location f1911_0_search_GE by chaining: Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P1, arg2'=0, TRUE, cost: 1 Second rule: f1911_0_search_GE -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 1 New rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P1, arg2'=0, TRUE, cost: 1 Second rule: f1911_0_search_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 1 New rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 2 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P2, arg2'=n1, TRUE, cost: 1+n1 Second rule: f1911_0_search_GE -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 1 New rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2+n1 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P2, arg2'=n1, TRUE, cost: 1+n1 Second rule: f1911_0_search_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 1 New rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 2+n1 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P4, arg2'=n3, 1+arg1 > 0, cost: 1+n3 Second rule: f1911_0_search_GE -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 1 New rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2+n3 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P4, arg2'=n3, 1+arg1 > 0, cost: 1+n3 Second rule: f1911_0_search_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 1 New rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 2+n3 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P4, arg2'=2*n5, 1+arg1 > 0, cost: 1+2*n5 Second rule: f1911_0_search_GE -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 1 New rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2+2*n5 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P4, arg2'=2*n5, 1+arg1 > 0, cost: 1+2*n5 Second rule: f1911_0_search_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 1 New rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 2+2*n5 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P4, arg2'=1+2*n5, 1+arg1 > 0, cost: 2+2*n5 Second rule: f1911_0_search_GE -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 1 New rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 3+2*n5 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P4, arg2'=1+2*n5, 1+arg1 > 0, cost: 2+2*n5 Second rule: f1911_0_search_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 1 New rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 3+2*n5 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P2, arg2'=2*n7, 1+arg1 > 0, cost: 1+2*n7 Second rule: f1911_0_search_GE -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 1 New rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2+2*n7 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P2, arg2'=2*n7, 1+arg1 > 0, cost: 1+2*n7 Second rule: f1911_0_search_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 1 New rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 2+2*n7 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P2, arg2'=1+2*n7, 1+arg1 > 0, cost: 2+2*n7 Second rule: f1911_0_search_GE -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 1 New rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 3+2*n7 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg3'=arg3P2, arg2'=1+2*n7, 1+arg1 > 0, cost: 2+2*n7 Second rule: f1911_0_search_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 1 New rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 3+2*n7 Applied deletion Removed the following rules: 19 21 29 80 81 82 83 85 86 Eliminating location f2167_0_displayChessboard_GE by chaining: Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P6, arg2'=0, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=n20, TRUE, cost: 1+n20 Second rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+n20 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=n22, TRUE, cost: 1+n22 Second rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+n22 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=n24, TRUE, cost: 1+n24 Second rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+n24 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=2*n26, TRUE, cost: 1+2*n26 Second rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+2*n26 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+2*n26, TRUE, cost: 2+2*n26 Second rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n26 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=2*n28, TRUE, cost: 1+2*n28 Second rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+2*n28 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+2*n28, TRUE, cost: 2+2*n28 Second rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n28 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=2*n30, TRUE, cost: 1+2*n30 Second rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+2*n30 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+2*n30, TRUE, cost: 2+2*n30 Second rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n30 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=2*n32, TRUE, cost: 1+2*n32 Second rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+2*n32 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P10, arg2'=1+2*n32, TRUE, cost: 2+2*n32 Second rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n32 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=2*n34, TRUE, cost: 1+2*n34 Second rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+2*n34 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P8, arg2'=1+2*n34, TRUE, cost: 2+2*n34 Second rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n34 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=2*n36, TRUE, cost: 1+2*n36 Second rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+2*n36 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg3'=arg3P9, arg2'=1+2*n36, TRUE, cost: 2+2*n36 Second rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n36 Applied deletion Removed the following rules: 24 25 87 88 89 90 91 92 93 94 95 96 97 98 99 101 102 Eliminating location f1969_0_safeMove_NE by chaining: Applied chaining First rule: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=1, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 1 Second rule: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg1, arg2'=1+arg2, -1+arg3 == 0, cost: 1 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg3, arg2'=1+arg2, (0 == 0 /\ arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 Applied simplification Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg3, arg2'=1+arg2, (0 == 0 /\ arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg3, arg2'=1+arg2, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 Applied chaining First rule: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=1, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 1 Second rule: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg1, arg2'=arg1, (-1+arg3 == 0 /\ -2+arg1-arg2 >= 0), cost: arg1-arg2 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg3, arg2'=arg3, (0 == 0 /\ arg1 > 0 /\ -2+arg3-arg2 >= 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 1+arg3-arg2 Applied simplification Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg3, arg2'=arg3, (0 == 0 /\ arg1 > 0 /\ -2+arg3-arg2 >= 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 1+arg3-arg2 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg3, arg2'=arg3, (arg1 > 0 /\ -2+arg3-arg2 >= 0 /\ arg3 > 0), cost: 1+arg3-arg2 Applied chaining First rule: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=0, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 1 Second rule: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=1+arg2, arg3 == 0, cost: 1 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg3, arg2'=1+arg2, (0 == 0 /\ arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 Applied simplification Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg3, arg2'=1+arg2, (0 == 0 /\ arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg3, arg2'=1+arg2, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 Applied deletion Removed the following rules: 30 31 33 34 103 Eliminated locations on tree-shaped paths Start location: __init 23: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 79: f1549_0_search_LT -> [8] : TRUE, cost: NONTERM 84: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM 105: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2 106: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 2 107: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2+n1 108: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 2+n1 109: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2+n3 110: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 2+n3 111: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2+2*n5 112: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 2+2*n5 113: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 3+2*n5 114: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 3+2*n5 115: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2+2*n7 116: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 2+2*n7 117: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 3+2*n7 118: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 3+2*n7 100: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM 119: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2 120: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+n20 121: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+n22 122: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+n24 123: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+2*n26 124: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n26 125: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+2*n28 126: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n28 127: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+2*n30 128: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n30 129: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+2*n32 130: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n32 131: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+2*n34 132: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n34 133: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+2*n36 134: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n36 135: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg3, arg2'=1+arg2, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 136: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg3, arg2'=arg3, (arg1 > 0 /\ -2+arg3-arg2 >= 0 /\ arg3 > 0), cost: 1+arg3-arg2 137: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg3, arg2'=1+arg2, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 104: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Applied merging first rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 2 second rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 2+n1 new rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 2 Applied merging first rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 2+n3 second rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 2+2*n5 new rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 2+n3 Applied merging first rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 3+2*n5 second rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 2+2*n7 new rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 3+2*n5 Applied merging first rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 3+2*n7 second rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, TRUE, cost: 2 new rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, (1+arg1 > 0 \/ TRUE), cost: 3+2*n7 Applied merging first rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 2+n3 second rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 3+2*n5 new rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 2+n3 Applied merging first rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, (1+arg1 > 0 \/ TRUE), cost: 3+2*n7 second rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, 1+arg1 > 0, cost: 2+n3 new rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, (TRUE \/ 1+arg1 > 0), cost: 3+2*n7 Applied merging first rule: f1549_0_search_LT -> [8] : TRUE, cost: NONTERM second rule: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM new rule: f1549_0_search_LT -> [8] : (TRUE \/ 1+arg1 > 0), cost: NONTERM Merged rules Start location: __init 23: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 105: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2 107: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2+n1 109: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2+n3 111: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2+2*n5 113: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 3+2*n5 115: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2+2*n7 117: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 3+2*n7 143: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, (TRUE \/ 1+arg1 > 0), cost: 3+2*n7 144: f1549_0_search_LT -> [8] : (TRUE \/ 1+arg1 > 0), cost: NONTERM 100: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM 119: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2 120: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+n20 121: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+n22 122: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+n24 123: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+2*n26 124: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n26 125: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+2*n28 126: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n28 127: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+2*n30 128: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n30 129: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+2*n32 130: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n32 131: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+2*n34 132: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n34 133: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+2*n36 134: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n36 135: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg3, arg2'=1+arg2, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 136: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg3, arg2'=arg3, (arg1 > 0 /\ -2+arg3-arg2 >= 0 /\ arg3 > 0), cost: 1+arg3-arg2 137: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg3, arg2'=1+arg2, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 104: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Applied pruning (of leafs and parallel rules): Start location: __init 23: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 105: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2 107: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2+n1 109: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2+n3 113: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 3+2*n5 117: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 3+2*n7 143: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, (TRUE \/ 1+arg1 > 0), cost: 3+2*n7 144: f1549_0_search_LT -> [8] : (TRUE \/ 1+arg1 > 0), cost: NONTERM 100: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM 120: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+n20 122: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+n24 124: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n26 126: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n28 134: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n36 135: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg3, arg2'=1+arg2, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 136: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg3, arg2'=arg3, (arg1 > 0 /\ -2+arg3-arg2 >= 0 /\ arg3 > 0), cost: 1+arg3-arg2 137: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg3, arg2'=1+arg2, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 104: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Applied nonterm Original rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2 New rule: f1549_0_search_LT -> [11] : 1+arg1 > 0, cost: NONTERM Applied acceleration Original rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2 New rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n80, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2*n80 Applied acceleration Original rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2+n1 New rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n82, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: n82*n1+2*n82 Applied acceleration Original rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2+n3 New rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n84, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2*n84+n84*n3 Applied acceleration Original rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 3+2*n5 New rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n86, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 3*n86+2*n86*n5 Applied acceleration Original rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=1+arg1, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 3+2*n7 New rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n88, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2*n7*n88+3*n88 Applied deletion Removed the following rules: 105 107 109 113 117 Applied acceleration Original rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+n20 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n215, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n215+n215*n20 Applied acceleration Original rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2+n24 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n217, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n217+n217*n24 Applied acceleration Original rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n26 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n219, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n219*n26+3*n219 Applied acceleration Original rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n28 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n221, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n221*n28+3*n221 Applied acceleration Original rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=1+arg1, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 3+2*n36 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n223, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n223*n36+3*n223 Applied deletion Removed the following rules: 120 122 124 126 134 Applied simplification Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg3, arg2'=1+arg2, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg2'=1+arg2, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 Applied simplification Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg3, arg2'=arg3, (arg1 > 0 /\ -2+arg3-arg2 >= 0 /\ arg3 > 0), cost: 1+arg3-arg2 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg2'=arg3, (arg1 > 0 /\ -2+arg3-arg2 >= 0 /\ arg3 > 0), cost: 1+arg3-arg2 Applied simplification Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg3, arg2'=1+arg2, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=1, arg2'=1+arg2, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 Simplified simple loops Start location: __init 23: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 143: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, (TRUE \/ 1+arg1 > 0), cost: 3+2*n7 144: f1549_0_search_LT -> [8] : (TRUE \/ 1+arg1 > 0), cost: NONTERM 145: f1549_0_search_LT -> [11] : 1+arg1 > 0, cost: NONTERM 146: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n80, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2*n80 147: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n82, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: n82*n1+2*n82 148: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n84, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2*n84+n84*n3 149: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n86, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 3*n86+2*n86*n5 150: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n88, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2*n7*n88+3*n88 100: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM 151: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n215, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n215+n215*n20 152: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n217, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n217+n217*n24 153: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n219, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n219*n26+3*n219 154: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n221, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n221*n28+3*n221 155: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n223, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n223*n36+3*n223 156: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg2'=1+arg2, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 157: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg2'=arg3, (arg1 > 0 /\ -2+arg3-arg2 >= 0 /\ arg3 > 0), cost: 1+arg3-arg2 158: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=1, arg2'=1+arg2, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 104: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Applied acceleration Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=1, arg2'=1+arg2, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=1, arg2'=n350+arg2, (arg1 > 0 /\ arg3 > 0 /\ -1+n350 >= 0 /\ 1+arg3-n350-arg2 > 0), cost: 2*n350 Applied instantiation Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=1, arg2'=n350+arg2, (arg1 > 0 /\ arg3 > 0 /\ -1+n350 >= 0 /\ 1+arg3-n350-arg2 > 0), cost: 2*n350 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=1, arg2'=arg3, (arg1 > 0 /\ 1 > 0 /\ arg3 > 0 /\ -1+arg3-arg2 >= 0), cost: 2*arg3-2*arg2 Applied simplification Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=1, arg2'=arg3, (arg1 > 0 /\ 1 > 0 /\ arg3 > 0 /\ -1+arg3-arg2 >= 0), cost: 2*arg3-2*arg2 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=1, arg2'=arg3, (arg1 > 0 /\ arg3 > 0 /\ -1+arg3-arg2 >= 0), cost: 2*arg3-2*arg2 Applied deletion Removed the following rules: 158 Accelerated simple loops Start location: __init 23: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 143: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, (TRUE \/ 1+arg1 > 0), cost: 3+2*n7 144: f1549_0_search_LT -> [8] : (TRUE \/ 1+arg1 > 0), cost: NONTERM 145: f1549_0_search_LT -> [11] : 1+arg1 > 0, cost: NONTERM 146: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n80, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2*n80 147: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n82, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: n82*n1+2*n82 148: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n84, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2*n84+n84*n3 149: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n86, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 3*n86+2*n86*n5 150: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n88, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2*n7*n88+3*n88 100: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM 151: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n215, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n215+n215*n20 152: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n217, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n217+n217*n24 153: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n219, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n219*n26+3*n219 154: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n221, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n221*n28+3*n221 155: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n223, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n223*n36+3*n223 156: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg2'=1+arg2, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 157: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg2'=arg3, (arg1 > 0 /\ -2+arg3-arg2 >= 0 /\ arg3 > 0), cost: 1+arg3-arg2 160: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=1, arg2'=arg3, (arg1 > 0 /\ arg3 > 0 /\ -1+arg3-arg2 >= 0), cost: 2*arg3-2*arg2 104: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Second rule: f1549_0_search_LT -> [11] : 1+arg1 > 0, cost: NONTERM New rule: __init -> [11] : 1 > 0, cost: NONTERM Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Second rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n80, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2*n80 New rule: __init -> f1549_0_search_LT : arg1'=n80, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n80 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Second rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n82, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: n82*n1+2*n82 New rule: __init -> f1549_0_search_LT : arg1'=n82, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+n82*n1+2*n82 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Second rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n84, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2*n84+n84*n3 New rule: __init -> f1549_0_search_LT : arg1'=n84, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n84+n84*n3 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Second rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n86, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 3*n86+2*n86*n5 New rule: __init -> f1549_0_search_LT : arg1'=n86, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+3*n86+2*n86*n5 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Second rule: f1549_0_search_LT -> f1549_0_search_LT : arg1'=arg1+n88, arg3'=arg3P3, arg2'=arg2P3, 1+arg1 > 0, cost: 2*n7*n88+3*n88 New rule: __init -> f1549_0_search_LT : arg1'=n88, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n7*n88+3*n88 Applied deletion Removed the following rules: 145 146 147 148 149 150 Applied chaining First rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 Second rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n215, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n215+n215*n20 New rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n215+n215*n20 Applied chaining First rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 Second rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n217, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n217+n217*n24 New rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n217+n217*n24 Applied chaining First rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 Second rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n219, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n219*n26+3*n219 New rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n219*n26+3*n219 Applied chaining First rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 Second rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n221, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n221*n28+3*n221 New rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n221*n28+3*n221 Applied chaining First rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 Second rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg1'=arg1+n223, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 2*n223*n36+3*n223 New rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n223*n36+3*n223 Applied deletion Removed the following rules: 151 152 153 154 155 Applied chaining First rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, (TRUE \/ 1+arg1 > 0), cost: 3+2*n7 Second rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg2'=1+arg2, (arg1 > 0 /\ arg3-arg2 > 0 /\ arg3 > 0), cost: 2 New rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg1, arg2'=1, arg1 > 0, cost: 5+2*n7 Applied chaining First rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, (TRUE \/ 1+arg1 > 0), cost: 3+2*n7 Second rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=0, arg2'=arg3, (arg1 > 0 /\ -2+arg3-arg2 >= 0 /\ arg3 > 0), cost: 1+arg3-arg2 New rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg1, arg2'=arg1, -2+arg1 >= 0, cost: 4+arg1+2*n7 Applied chaining First rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, (TRUE \/ 1+arg1 > 0), cost: 3+2*n7 Second rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg1'=1, arg2'=arg3, (arg1 > 0 /\ arg3 > 0 /\ -1+arg3-arg2 >= 0), cost: 2*arg3-2*arg2 New rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=arg1, -1+arg1 >= 0, cost: 3+2*arg1+2*n7 Applied deletion Removed the following rules: 156 157 160 Chained accelerated rules with incoming rules Start location: __init 23: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 143: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=0, (TRUE \/ 1+arg1 > 0), cost: 3+2*n7 144: f1549_0_search_LT -> [8] : (TRUE \/ 1+arg1 > 0), cost: NONTERM 167: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n215+n215*n20 168: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n217+n217*n24 169: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n219*n26+3*n219 170: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n221*n28+3*n221 171: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n223*n36+3*n223 172: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg1, arg2'=1, arg1 > 0, cost: 5+2*n7 173: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=0, arg3'=arg1, arg2'=arg1, -2+arg1 >= 0, cost: 4+arg1+2*n7 174: f1549_0_search_LT -> f1876_0_safeMove_GE : arg1'=1, arg3'=arg1, arg2'=arg1, -1+arg1 >= 0, cost: 3+2*arg1+2*n7 100: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM 104: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 161: __init -> [11] : 1 > 0, cost: NONTERM 162: __init -> f1549_0_search_LT : arg1'=n80, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n80 163: __init -> f1549_0_search_LT : arg1'=n82, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+n82*n1+2*n82 164: __init -> f1549_0_search_LT : arg1'=n84, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n84+n84*n3 165: __init -> f1549_0_search_LT : arg1'=n86, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+3*n86+2*n86*n5 166: __init -> f1549_0_search_LT : arg1'=n88, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n7*n88+3*n88 Removed unreachable locations and irrelevant leafs Start location: __init 23: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 144: f1549_0_search_LT -> [8] : (TRUE \/ 1+arg1 > 0), cost: NONTERM 167: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n215+n215*n20 168: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n217+n217*n24 169: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n219*n26+3*n219 170: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n221*n28+3*n221 171: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n223*n36+3*n223 100: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM 104: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 161: __init -> [11] : 1 > 0, cost: NONTERM 162: __init -> f1549_0_search_LT : arg1'=n80, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n80 163: __init -> f1549_0_search_LT : arg1'=n82, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+n82*n1+2*n82 164: __init -> f1549_0_search_LT : arg1'=n84, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n84+n84*n3 165: __init -> f1549_0_search_LT : arg1'=n86, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+3*n86+2*n86*n5 166: __init -> f1549_0_search_LT : arg1'=n88, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n7*n88+3*n88 Eliminating location f1549_0_search_LT by chaining: Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Second rule: f1549_0_search_LT -> [8] : (TRUE \/ 1+arg1 > 0), cost: NONTERM New rule: __init -> [8] : (1+arg2P17 > 0 /\ arg1P17 > 0 /\ (1 > 0 \/ TRUE)), cost: NONTERM Applied simplification Original rule: __init -> [8] : (1+arg2P17 > 0 /\ arg1P17 > 0 /\ (1 > 0 \/ TRUE)), cost: NONTERM New rule: __init -> [8] : (1+arg2P17 > 0 /\ arg1P17 > 0), cost: NONTERM Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n215+n215*n20 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n215+n215*n20 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n217+n217*n24 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n217+n217*n24 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n219*n26+3*n219 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n219*n26+3*n219 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n221*n28+3*n221 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n221*n28+3*n221 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=0, arg3'=arg3P0, arg2'=arg2P0, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 2 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n223*n36+3*n223 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n223*n36+3*n223 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n80, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n80 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, 1 > 0, cost: 3+2*n80 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n80, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n80 Second rule: f1549_0_search_LT -> [8] : (TRUE \/ 1+arg1 > 0), cost: NONTERM New rule: __init -> [8] : (1 > 0 /\ (1+n80 > 0 \/ TRUE)), cost: NONTERM Applied simplification Original rule: __init -> [8] : (1 > 0 /\ (1+n80 > 0 \/ TRUE)), cost: NONTERM New rule: __init -> [8] : (1 > 0 /\ (TRUE \/ 1+n80 > 0)), cost: NONTERM Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n80, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n80 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n215+n215*n20 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n215+2*n80+n215*n20 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n80, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n80 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n217+n217*n24 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n217+2*n80+n217*n24 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n80, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n80 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n219*n26+3*n219 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n219*n26+3*n219+2*n80 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n80, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n80 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n221*n28+3*n221 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n221*n28+2*n80+3*n221 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n80, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n80 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n223*n36+3*n223 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n223*n36+3*n223+2*n80 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n82, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+n82*n1+2*n82 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, 1 > 0, cost: 3+n82*n1+2*n82 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n82, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+n82*n1+2*n82 Second rule: f1549_0_search_LT -> [8] : (TRUE \/ 1+arg1 > 0), cost: NONTERM New rule: __init -> [8] : (1 > 0 /\ (1+n82 > 0 \/ TRUE)), cost: NONTERM Applied simplification Original rule: __init -> [8] : (1 > 0 /\ (1+n82 > 0 \/ TRUE)), cost: NONTERM New rule: __init -> [8] : (1 > 0 /\ (TRUE \/ 1+n82 > 0)), cost: NONTERM Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n82, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+n82*n1+2*n82 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n215+n215*n20 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n215+n82*n1+2*n82+n215*n20 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n82, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+n82*n1+2*n82 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n217+n217*n24 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+n82*n1+2*n217+2*n82+n217*n24 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n82, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+n82*n1+2*n82 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n219*n26+3*n219 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+n82*n1+2*n219*n26+3*n219+2*n82 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n82, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+n82*n1+2*n82 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n221*n28+3*n221 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+n82*n1+2*n82+2*n221*n28+3*n221 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n82, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+n82*n1+2*n82 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n223*n36+3*n223 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n223*n36+n82*n1+2*n82+3*n223 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n84, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n84+n84*n3 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, 1 > 0, cost: 3+2*n84+n84*n3 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n84, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n84+n84*n3 Second rule: f1549_0_search_LT -> [8] : (TRUE \/ 1+arg1 > 0), cost: NONTERM New rule: __init -> [8] : (1 > 0 /\ (1+n84 > 0 \/ TRUE)), cost: NONTERM Applied simplification Original rule: __init -> [8] : (1 > 0 /\ (1+n84 > 0 \/ TRUE)), cost: NONTERM New rule: __init -> [8] : (1 > 0 /\ (TRUE \/ 1+n84 > 0)), cost: NONTERM Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n84, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n84+n84*n3 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n215+n215*n20 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n215+2*n84+n84*n3+n215*n20 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n84, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n84+n84*n3 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n217+n217*n24 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n84+n84*n3+2*n217+n217*n24 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n84, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n84+n84*n3 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n219*n26+3*n219 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n84+n84*n3+2*n219*n26+3*n219 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n84, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n84+n84*n3 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n221*n28+3*n221 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n84+n84*n3+2*n221*n28+3*n221 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n84, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n84+n84*n3 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n223*n36+3*n223 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n84+n84*n3+2*n223*n36+3*n223 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n86, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+3*n86+2*n86*n5 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, 1 > 0, cost: 3+3*n86+2*n86*n5 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n86, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+3*n86+2*n86*n5 Second rule: f1549_0_search_LT -> [8] : (TRUE \/ 1+arg1 > 0), cost: NONTERM New rule: __init -> [8] : (1 > 0 /\ (1+n86 > 0 \/ TRUE)), cost: NONTERM Applied simplification Original rule: __init -> [8] : (1 > 0 /\ (1+n86 > 0 \/ TRUE)), cost: NONTERM New rule: __init -> [8] : (1 > 0 /\ (TRUE \/ 1+n86 > 0)), cost: NONTERM Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n86, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+3*n86+2*n86*n5 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n215+n215*n20 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n215+3*n86+2*n86*n5+n215*n20 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n86, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+3*n86+2*n86*n5 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n217+n217*n24 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+3*n86+2*n217+2*n86*n5+n217*n24 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n86, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+3*n86+2*n86*n5 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n219*n26+3*n219 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+3*n86+2*n219*n26+3*n219+2*n86*n5 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n86, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+3*n86+2*n86*n5 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n221*n28+3*n221 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+3*n86+2*n221*n28+2*n86*n5+3*n221 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n86, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+3*n86+2*n86*n5 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n223*n36+3*n223 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+3*n86+2*n223*n36+3*n223+2*n86*n5 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n88, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n7*n88+3*n88 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, TRUE, cost: 1 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, 1 > 0, cost: 3+2*n7*n88+3*n88 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n88, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n7*n88+3*n88 Second rule: f1549_0_search_LT -> [8] : (TRUE \/ 1+arg1 > 0), cost: NONTERM New rule: __init -> [8] : (1 > 0 /\ (1+n88 > 0 \/ TRUE)), cost: NONTERM Applied simplification Original rule: __init -> [8] : (1 > 0 /\ (1+n88 > 0 \/ TRUE)), cost: NONTERM New rule: __init -> [8] : (1 > 0 /\ (TRUE \/ 1+n88 > 0)), cost: NONTERM Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n88, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n7*n88+3*n88 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n215+n215*n20 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n215+2*n7*n88+n215*n20+3*n88 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n88, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n7*n88+3*n88 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n217+n217*n24 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n7*n88+2*n217+n217*n24+3*n88 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n88, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n7*n88+3*n88 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n219*n26+3*n219 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n7*n88+2*n219*n26+3*n219+3*n88 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n88, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n7*n88+3*n88 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n221*n28+3*n221 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n7*n88+2*n221*n28+3*n221+3*n88 Applied chaining First rule: __init -> f1549_0_search_LT : arg1'=n88, arg3'=arg3P3, arg2'=arg2P3, 1 > 0, cost: 2+2*n7*n88+3*n88 Second rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, TRUE, cost: 1+2*n223*n36+3*n223 New rule: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n223*n36+2*n7*n88+3*n223+3*n88 Applied deletion Removed the following rules: 23 104 144 162 163 164 165 166 167 168 169 170 171 Eliminated locations on tree-shaped paths Start location: __init 100: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM 161: __init -> [11] : 1 > 0, cost: NONTERM 175: __init -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3 176: __init -> [8] : (1+arg2P17 > 0 /\ arg1P17 > 0), cost: NONTERM 177: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n215+n215*n20 178: __init -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n217+n217*n24 179: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n219*n26+3*n219 180: __init -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n221*n28+3*n221 181: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n223*n36+3*n223 182: __init -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, 1 > 0, cost: 3+2*n80 183: __init -> [8] : (1 > 0 /\ (TRUE \/ 1+n80 > 0)), cost: NONTERM 184: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n215+2*n80+n215*n20 185: __init -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n217+2*n80+n217*n24 186: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n219*n26+3*n219+2*n80 187: __init -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n221*n28+2*n80+3*n221 188: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n223*n36+3*n223+2*n80 189: __init -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, 1 > 0, cost: 3+n82*n1+2*n82 190: __init -> [8] : (1 > 0 /\ (TRUE \/ 1+n82 > 0)), cost: NONTERM 191: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n215+n82*n1+2*n82+n215*n20 192: __init -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+n82*n1+2*n217+2*n82+n217*n24 193: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+n82*n1+2*n219*n26+3*n219+2*n82 194: __init -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+n82*n1+2*n82+2*n221*n28+3*n221 195: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n223*n36+n82*n1+2*n82+3*n223 196: __init -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, 1 > 0, cost: 3+2*n84+n84*n3 197: __init -> [8] : (1 > 0 /\ (TRUE \/ 1+n84 > 0)), cost: NONTERM 198: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n215+2*n84+n84*n3+n215*n20 199: __init -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n84+n84*n3+2*n217+n217*n24 200: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n84+n84*n3+2*n219*n26+3*n219 201: __init -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n84+n84*n3+2*n221*n28+3*n221 202: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n84+n84*n3+2*n223*n36+3*n223 203: __init -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, 1 > 0, cost: 3+3*n86+2*n86*n5 204: __init -> [8] : (1 > 0 /\ (TRUE \/ 1+n86 > 0)), cost: NONTERM 205: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n215+3*n86+2*n86*n5+n215*n20 206: __init -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+3*n86+2*n217+2*n86*n5+n217*n24 207: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+3*n86+2*n219*n26+3*n219+2*n86*n5 208: __init -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+3*n86+2*n221*n28+2*n86*n5+3*n221 209: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+3*n86+2*n223*n36+3*n223+2*n86*n5 210: __init -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, 1 > 0, cost: 3+2*n7*n88+3*n88 211: __init -> [8] : (1 > 0 /\ (TRUE \/ 1+n88 > 0)), cost: NONTERM 212: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n215+2*n7*n88+n215*n20+3*n88 213: __init -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n7*n88+2*n217+n217*n24+3*n88 214: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n7*n88+2*n219*n26+3*n219+3*n88 215: __init -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n7*n88+2*n221*n28+3*n221+3*n88 216: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n223*n36+2*n7*n88+3*n223+3*n88 Applied merging first rule: __init -> [8] : (1+arg2P17 > 0 /\ arg1P17 > 0), cost: NONTERM second rule: __init -> [8] : (1 > 0 /\ (TRUE \/ 1+n80 > 0)), cost: NONTERM new rule: __init -> [8] : ((1+arg2P17 > 0 /\ arg1P17 > 0) \/ (1 > 0 /\ (1+n80 > 0 \/ TRUE))), cost: NONTERM Applied merging first rule: __init -> [8] : (1 > 0 /\ (TRUE \/ 1+n82 > 0)), cost: NONTERM second rule: __init -> [8] : (1 > 0 /\ (TRUE \/ 1+n84 > 0)), cost: NONTERM new rule: __init -> [8] : ((1 > 0 /\ (1+n82 > 0 \/ TRUE)) \/ (1 > 0 /\ (1+n84 > 0 \/ TRUE))), cost: NONTERM Applied merging first rule: __init -> [8] : (1 > 0 /\ (TRUE \/ 1+n86 > 0)), cost: NONTERM second rule: __init -> [8] : (1 > 0 /\ (TRUE \/ 1+n88 > 0)), cost: NONTERM new rule: __init -> [8] : ((1 > 0 /\ (1+n88 > 0 \/ TRUE)) \/ (1 > 0 /\ (1+n86 > 0 \/ TRUE))), cost: NONTERM Applied merging first rule: __init -> [8] : ((1+arg2P17 > 0 /\ arg1P17 > 0) \/ (1 > 0 /\ (1+n80 > 0 \/ TRUE))), cost: NONTERM second rule: __init -> [8] : ((1 > 0 /\ (1+n82 > 0 \/ TRUE)) \/ (1 > 0 /\ (1+n84 > 0 \/ TRUE))), cost: NONTERM new rule: __init -> [8] : ((1 > 0 /\ (TRUE \/ 1+n82 > 0)) \/ (1+arg2P17 > 0 /\ arg1P17 > 0) \/ (1 > 0 /\ (TRUE \/ 1+n80 > 0)) \/ (1 > 0 /\ (TRUE \/ 1+n84 > 0))), cost: NONTERM Applied merging first rule: __init -> [8] : ((1 > 0 /\ (1+n88 > 0 \/ TRUE)) \/ (1 > 0 /\ (1+n86 > 0 \/ TRUE))), cost: NONTERM second rule: __init -> [8] : ((1 > 0 /\ (TRUE \/ 1+n82 > 0)) \/ (1+arg2P17 > 0 /\ arg1P17 > 0) \/ (1 > 0 /\ (TRUE \/ 1+n80 > 0)) \/ (1 > 0 /\ (TRUE \/ 1+n84 > 0))), cost: NONTERM new rule: __init -> [8] : ((1 > 0 /\ (TRUE \/ 1+n86 > 0)) \/ (1 > 0 /\ (1+n84 > 0 \/ TRUE)) \/ (1+arg2P17 > 0 /\ arg1P17 > 0) \/ (1 > 0 /\ (TRUE \/ 1+n88 > 0)) \/ (1 > 0 /\ (1+n82 > 0 \/ TRUE)) \/ (1 > 0 /\ (1+n80 > 0 \/ TRUE))), cost: NONTERM Merged rules Start location: __init 100: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM 161: __init -> [11] : 1 > 0, cost: NONTERM 175: __init -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3 177: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n215+n215*n20 178: __init -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n217+n217*n24 179: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n219*n26+3*n219 180: __init -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n221*n28+3*n221 181: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n223*n36+3*n223 182: __init -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, 1 > 0, cost: 3+2*n80 184: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n215+2*n80+n215*n20 185: __init -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n217+2*n80+n217*n24 186: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n219*n26+3*n219+2*n80 187: __init -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n221*n28+2*n80+3*n221 188: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n223*n36+3*n223+2*n80 189: __init -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, 1 > 0, cost: 3+n82*n1+2*n82 191: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n215+n82*n1+2*n82+n215*n20 192: __init -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+n82*n1+2*n217+2*n82+n217*n24 193: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+n82*n1+2*n219*n26+3*n219+2*n82 194: __init -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+n82*n1+2*n82+2*n221*n28+3*n221 195: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n223*n36+n82*n1+2*n82+3*n223 196: __init -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, 1 > 0, cost: 3+2*n84+n84*n3 198: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n215+2*n84+n84*n3+n215*n20 199: __init -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n84+n84*n3+2*n217+n217*n24 200: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n84+n84*n3+2*n219*n26+3*n219 201: __init -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n84+n84*n3+2*n221*n28+3*n221 202: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n84+n84*n3+2*n223*n36+3*n223 203: __init -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, 1 > 0, cost: 3+3*n86+2*n86*n5 205: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n215+3*n86+2*n86*n5+n215*n20 206: __init -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+3*n86+2*n217+2*n86*n5+n217*n24 207: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+3*n86+2*n219*n26+3*n219+2*n86*n5 208: __init -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+3*n86+2*n221*n28+2*n86*n5+3*n221 209: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+3*n86+2*n223*n36+3*n223+2*n86*n5 210: __init -> f1944_0_displayChessboard_GE : arg1'=0, arg3'=arg3P5, arg2'=arg2P5, 1 > 0, cost: 3+2*n7*n88+3*n88 212: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n215+2*n7*n88+n215*n20+3*n88 213: __init -> f1944_0_displayChessboard_GE : arg1'=n217, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n7*n88+2*n217+n217*n24+3*n88 214: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n7*n88+2*n219*n26+3*n219+3*n88 215: __init -> f1944_0_displayChessboard_GE : arg1'=n221, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n7*n88+2*n221*n28+3*n221+3*n88 216: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n223*n36+2*n7*n88+3*n223+3*n88 221: __init -> [8] : ((1 > 0 /\ (TRUE \/ 1+n86 > 0)) \/ (1 > 0 /\ (1+n84 > 0 \/ TRUE)) \/ (1+arg2P17 > 0 /\ arg1P17 > 0) \/ (1 > 0 /\ (TRUE \/ 1+n88 > 0)) \/ (1 > 0 /\ (1+n82 > 0 \/ TRUE)) \/ (1 > 0 /\ (1+n80 > 0 \/ TRUE))), cost: NONTERM Applied pruning (of leafs and parallel rules): Start location: __init 100: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM 161: __init -> [11] : 1 > 0, cost: NONTERM 177: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n215+n215*n20 179: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n219*n26+3*n219 184: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n215+2*n80+n215*n20 193: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+n82*n1+2*n219*n26+3*n219+2*n82 216: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n223*n36+2*n7*n88+3*n223+3*n88 221: __init -> [8] : ((1 > 0 /\ (TRUE \/ 1+n86 > 0)) \/ (1 > 0 /\ (1+n84 > 0 \/ TRUE)) \/ (1+arg2P17 > 0 /\ arg1P17 > 0) \/ (1 > 0 /\ (TRUE \/ 1+n88 > 0)) \/ (1 > 0 /\ (1+n82 > 0 \/ TRUE)) \/ (1 > 0 /\ (1+n80 > 0 \/ TRUE))), cost: NONTERM Eliminating location f1944_0_displayChessboard_GE by chaining: Applied chaining First rule: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n215+n215*n20 Second rule: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM New rule: __init -> [9] : (1+arg2P17 > 0 /\ arg1P17 > 0), cost: NONTERM Applied chaining First rule: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, (1+arg2P17 > 0 /\ arg1P17 > 0), cost: 3+2*n219*n26+3*n219 Second rule: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM New rule: __init -> [9] : (1+arg2P17 > 0 /\ arg1P17 > 0), cost: NONTERM Applied chaining First rule: __init -> f1944_0_displayChessboard_GE : arg1'=n215, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n215+2*n80+n215*n20 Second rule: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM New rule: __init -> [9] : 1 > 0, cost: NONTERM Applied chaining First rule: __init -> f1944_0_displayChessboard_GE : arg1'=n219, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+n82*n1+2*n219*n26+3*n219+2*n82 Second rule: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM New rule: __init -> [9] : 1 > 0, cost: NONTERM Applied chaining First rule: __init -> f1944_0_displayChessboard_GE : arg1'=n223, arg3'=arg3P7, arg2'=arg2P7, 1 > 0, cost: 3+2*n223*n36+2*n7*n88+3*n223+3*n88 Second rule: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM New rule: __init -> [9] : 1 > 0, cost: NONTERM Applied deletion Removed the following rules: 100 177 179 184 193 216 Eliminated locations on tree-shaped paths Start location: __init 161: __init -> [11] : 1 > 0, cost: NONTERM 221: __init -> [8] : ((1 > 0 /\ (TRUE \/ 1+n86 > 0)) \/ (1 > 0 /\ (1+n84 > 0 \/ TRUE)) \/ (1+arg2P17 > 0 /\ arg1P17 > 0) \/ (1 > 0 /\ (TRUE \/ 1+n88 > 0)) \/ (1 > 0 /\ (1+n82 > 0 \/ TRUE)) \/ (1 > 0 /\ (1+n80 > 0 \/ TRUE))), cost: NONTERM 222: __init -> [9] : (1+arg2P17 > 0 /\ arg1P17 > 0), cost: NONTERM 223: __init -> [9] : (1+arg2P17 > 0 /\ arg1P17 > 0), cost: NONTERM 224: __init -> [9] : 1 > 0, cost: NONTERM 225: __init -> [9] : 1 > 0, cost: NONTERM 226: __init -> [9] : 1 > 0, cost: NONTERM Removed duplicate rules (ignoring updates) Start location: __init 221: __init -> [8] : ((1 > 0 /\ (TRUE \/ 1+n86 > 0)) \/ (1 > 0 /\ (1+n84 > 0 \/ TRUE)) \/ (1+arg2P17 > 0 /\ arg1P17 > 0) \/ (1 > 0 /\ (TRUE \/ 1+n88 > 0)) \/ (1 > 0 /\ (1+n82 > 0 \/ TRUE)) \/ (1 > 0 /\ (1+n80 > 0 \/ TRUE))), cost: NONTERM 223: __init -> [9] : (1+arg2P17 > 0 /\ arg1P17 > 0), cost: NONTERM 226: __init -> [9] : 1 > 0, cost: NONTERM Computing asymptotic complexity Proved nontermination of rule 221 via SMT. Proved the following lower bound Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: ((1 > 0 /\ (TRUE \/ 1+n86 > 0)) \/ (1 > 0 /\ (1+n84 > 0 \/ TRUE)) \/ (1+arg2P17 > 0 /\ arg1P17 > 0) \/ (1 > 0 /\ (TRUE \/ 1+n88 > 0)) \/ (1 > 0 /\ (1+n82 > 0 \/ TRUE)) \/ (1 > 0 /\ (1+n80 > 0 \/ TRUE)))