1.89/2.25 YES 1.89/2.25 1.89/2.25 DP problem for innermost termination. 1.89/2.25 P = 1.89/2.25 init#(x1, x2) -> f1#(rnd1, rnd2) 1.89/2.25 f3#(I0, I1) -> f2#(I0, I1 + 2) [-1 <= I1 - 1 /\ I1 <= I0 - 1 /\ I1 + 1 - 2 * y1 = 1 /\ I1 + 1 - 2 * y1 <= 1 /\ 0 <= I1 + 1 - 2 * y1] 1.89/2.25 f2#(I2, I3) -> f3#(I2, I3) [-1 <= I3 - 1 /\ I3 + 1 - 2 * I4 = 1 /\ I3 <= I2 - 1] 1.89/2.25 f3#(I5, I6) -> f2#(I5, I6 + 1) [I6 + 1 - 2 * I7 = 0 /\ I6 <= I5 - 1 /\ -1 <= I6 - 1 /\ I6 + 1 - 2 * I7 <= 1 /\ 0 <= I6 + 1 - 2 * I7] 1.89/2.25 f2#(I8, I9) -> f3#(I8, I9) [I9 + 1 - 2 * I10 = 0 /\ -1 <= I9 - 1 /\ I9 <= I8 - 1] 1.89/2.25 f1#(I11, I12) -> f2#(I13, I14) [0 <= I11 - 1 /\ -1 <= I13 - 1 /\ -1 <= I12 - 1 /\ -1 <= I14 - 1] 1.89/2.25 R = 1.89/2.25 init(x1, x2) -> f1(rnd1, rnd2) 1.89/2.25 f3(I0, I1) -> f2(I0, I1 + 2) [-1 <= I1 - 1 /\ I1 <= I0 - 1 /\ I1 + 1 - 2 * y1 = 1 /\ I1 + 1 - 2 * y1 <= 1 /\ 0 <= I1 + 1 - 2 * y1] 1.89/2.25 f2(I2, I3) -> f3(I2, I3) [-1 <= I3 - 1 /\ I3 + 1 - 2 * I4 = 1 /\ I3 <= I2 - 1] 1.89/2.25 f3(I5, I6) -> f2(I5, I6 + 1) [I6 + 1 - 2 * I7 = 0 /\ I6 <= I5 - 1 /\ -1 <= I6 - 1 /\ I6 + 1 - 2 * I7 <= 1 /\ 0 <= I6 + 1 - 2 * I7] 1.89/2.25 f2(I8, I9) -> f3(I8, I9) [I9 + 1 - 2 * I10 = 0 /\ -1 <= I9 - 1 /\ I9 <= I8 - 1] 1.89/2.25 f1(I11, I12) -> f2(I13, I14) [0 <= I11 - 1 /\ -1 <= I13 - 1 /\ -1 <= I12 - 1 /\ -1 <= I14 - 1] 1.89/2.25 1.89/2.25 The dependency graph for this problem is: 1.89/2.25 0 -> 5 1.89/2.25 1 -> 2 1.89/2.25 2 -> 1 1.89/2.25 3 -> 2 1.89/2.25 4 -> 3 1.89/2.25 5 -> 2, 4 1.89/2.25 Where: 1.89/2.25 0) init#(x1, x2) -> f1#(rnd1, rnd2) 1.89/2.25 1) f3#(I0, I1) -> f2#(I0, I1 + 2) [-1 <= I1 - 1 /\ I1 <= I0 - 1 /\ I1 + 1 - 2 * y1 = 1 /\ I1 + 1 - 2 * y1 <= 1 /\ 0 <= I1 + 1 - 2 * y1] 1.89/2.25 2) f2#(I2, I3) -> f3#(I2, I3) [-1 <= I3 - 1 /\ I3 + 1 - 2 * I4 = 1 /\ I3 <= I2 - 1] 1.89/2.25 3) f3#(I5, I6) -> f2#(I5, I6 + 1) [I6 + 1 - 2 * I7 = 0 /\ I6 <= I5 - 1 /\ -1 <= I6 - 1 /\ I6 + 1 - 2 * I7 <= 1 /\ 0 <= I6 + 1 - 2 * I7] 1.89/2.25 4) f2#(I8, I9) -> f3#(I8, I9) [I9 + 1 - 2 * I10 = 0 /\ -1 <= I9 - 1 /\ I9 <= I8 - 1] 1.89/2.25 5) f1#(I11, I12) -> f2#(I13, I14) [0 <= I11 - 1 /\ -1 <= I13 - 1 /\ -1 <= I12 - 1 /\ -1 <= I14 - 1] 1.89/2.25 1.89/2.25 We have the following SCCs. 1.89/2.25 { 1, 2 } 1.89/2.25 1.89/2.25 DP problem for innermost termination. 1.89/2.25 P = 1.89/2.25 f3#(I0, I1) -> f2#(I0, I1 + 2) [-1 <= I1 - 1 /\ I1 <= I0 - 1 /\ I1 + 1 - 2 * y1 = 1 /\ I1 + 1 - 2 * y1 <= 1 /\ 0 <= I1 + 1 - 2 * y1] 1.89/2.25 f2#(I2, I3) -> f3#(I2, I3) [-1 <= I3 - 1 /\ I3 + 1 - 2 * I4 = 1 /\ I3 <= I2 - 1] 1.89/2.25 R = 1.89/2.25 init(x1, x2) -> f1(rnd1, rnd2) 1.89/2.25 f3(I0, I1) -> f2(I0, I1 + 2) [-1 <= I1 - 1 /\ I1 <= I0 - 1 /\ I1 + 1 - 2 * y1 = 1 /\ I1 + 1 - 2 * y1 <= 1 /\ 0 <= I1 + 1 - 2 * y1] 1.89/2.25 f2(I2, I3) -> f3(I2, I3) [-1 <= I3 - 1 /\ I3 + 1 - 2 * I4 = 1 /\ I3 <= I2 - 1] 1.89/2.25 f3(I5, I6) -> f2(I5, I6 + 1) [I6 + 1 - 2 * I7 = 0 /\ I6 <= I5 - 1 /\ -1 <= I6 - 1 /\ I6 + 1 - 2 * I7 <= 1 /\ 0 <= I6 + 1 - 2 * I7] 1.89/2.25 f2(I8, I9) -> f3(I8, I9) [I9 + 1 - 2 * I10 = 0 /\ -1 <= I9 - 1 /\ I9 <= I8 - 1] 1.89/2.25 f1(I11, I12) -> f2(I13, I14) [0 <= I11 - 1 /\ -1 <= I13 - 1 /\ -1 <= I12 - 1 /\ -1 <= I14 - 1] 1.89/2.25 1.89/2.25 We use the reverse value criterion with the projection function NU: 1.89/2.25 NU[f2#(z1,z2)] = z1 - 1 + -1 * z2 1.89/2.25 NU[f3#(z1,z2)] = z1 - 1 + -1 * (z2 + 2) 1.89/2.25 1.89/2.25 This gives the following inequalities: 1.89/2.25 -1 <= I1 - 1 /\ I1 <= I0 - 1 /\ I1 + 1 - 2 * y1 = 1 /\ I1 + 1 - 2 * y1 <= 1 /\ 0 <= I1 + 1 - 2 * y1 ==> I0 - 1 + -1 * (I1 + 2) >= I0 - 1 + -1 * (I1 + 2) 1.89/2.25 -1 <= I3 - 1 /\ I3 + 1 - 2 * I4 = 1 /\ I3 <= I2 - 1 ==> I2 - 1 + -1 * I3 > I2 - 1 + -1 * (I3 + 2) with I2 - 1 + -1 * I3 >= 0 1.89/2.25 1.89/2.25 We remove all the strictly oriented dependency pairs. 1.89/2.25 1.89/2.25 DP problem for innermost termination. 1.89/2.25 P = 1.89/2.25 f3#(I0, I1) -> f2#(I0, I1 + 2) [-1 <= I1 - 1 /\ I1 <= I0 - 1 /\ I1 + 1 - 2 * y1 = 1 /\ I1 + 1 - 2 * y1 <= 1 /\ 0 <= I1 + 1 - 2 * y1] 1.89/2.25 R = 1.89/2.25 init(x1, x2) -> f1(rnd1, rnd2) 1.89/2.25 f3(I0, I1) -> f2(I0, I1 + 2) [-1 <= I1 - 1 /\ I1 <= I0 - 1 /\ I1 + 1 - 2 * y1 = 1 /\ I1 + 1 - 2 * y1 <= 1 /\ 0 <= I1 + 1 - 2 * y1] 1.89/2.25 f2(I2, I3) -> f3(I2, I3) [-1 <= I3 - 1 /\ I3 + 1 - 2 * I4 = 1 /\ I3 <= I2 - 1] 1.89/2.25 f3(I5, I6) -> f2(I5, I6 + 1) [I6 + 1 - 2 * I7 = 0 /\ I6 <= I5 - 1 /\ -1 <= I6 - 1 /\ I6 + 1 - 2 * I7 <= 1 /\ 0 <= I6 + 1 - 2 * I7] 1.89/2.25 f2(I8, I9) -> f3(I8, I9) [I9 + 1 - 2 * I10 = 0 /\ -1 <= I9 - 1 /\ I9 <= I8 - 1] 1.89/2.25 f1(I11, I12) -> f2(I13, I14) [0 <= I11 - 1 /\ -1 <= I13 - 1 /\ -1 <= I12 - 1 /\ -1 <= I14 - 1] 1.89/2.25 1.89/2.25 The dependency graph for this problem is: 1.89/2.25 1 -> 1.89/2.25 Where: 1.89/2.25 1) f3#(I0, I1) -> f2#(I0, I1 + 2) [-1 <= I1 - 1 /\ I1 <= I0 - 1 /\ I1 + 1 - 2 * y1 = 1 /\ I1 + 1 - 2 * y1 <= 1 /\ 0 <= I1 + 1 - 2 * y1] 1.89/2.25 1.89/2.25 We have the following SCCs. 1.89/2.25 1.89/5.23 EOF