1.67/1.96 YES 1.67/1.96 1.67/1.96 DP problem for innermost termination. 1.67/1.96 P = 1.67/1.96 f5#(x1, x2, x3) -> f4#(x1, x2, x3) 1.67/1.96 f4#(I0, I1, I2) -> f3#(I0, 0, rnd3) [rnd3 = rnd3] 1.67/1.96 f3#(I3, I4, I5) -> f1#(I3, I4, I5) 1.67/1.96 f1#(I6, I7, I8) -> f3#(I6, 1 + I7, I8) [1 + I7 <= I6] 1.67/1.96 R = 1.67/1.96 f5(x1, x2, x3) -> f4(x1, x2, x3) 1.67/1.96 f4(I0, I1, I2) -> f3(I0, 0, rnd3) [rnd3 = rnd3] 1.67/1.96 f3(I3, I4, I5) -> f1(I3, I4, I5) 1.67/1.96 f1(I6, I7, I8) -> f3(I6, 1 + I7, I8) [1 + I7 <= I6] 1.67/1.96 f1(I9, I10, I11) -> f2(I9, I10, I11) [I9 <= I10] 1.67/1.96 1.67/1.96 The dependency graph for this problem is: 1.67/1.96 0 -> 1 1.67/1.96 1 -> 2 1.67/1.96 2 -> 3 1.67/1.96 3 -> 2 1.67/1.96 Where: 1.67/1.96 0) f5#(x1, x2, x3) -> f4#(x1, x2, x3) 1.67/1.96 1) f4#(I0, I1, I2) -> f3#(I0, 0, rnd3) [rnd3 = rnd3] 1.67/1.96 2) f3#(I3, I4, I5) -> f1#(I3, I4, I5) 1.67/1.96 3) f1#(I6, I7, I8) -> f3#(I6, 1 + I7, I8) [1 + I7 <= I6] 1.67/1.96 1.67/1.96 We have the following SCCs. 1.67/1.96 { 2, 3 } 1.67/1.96 1.67/1.96 DP problem for innermost termination. 1.67/1.96 P = 1.67/1.96 f3#(I3, I4, I5) -> f1#(I3, I4, I5) 1.67/1.96 f1#(I6, I7, I8) -> f3#(I6, 1 + I7, I8) [1 + I7 <= I6] 1.67/1.96 R = 1.67/1.96 f5(x1, x2, x3) -> f4(x1, x2, x3) 1.67/1.96 f4(I0, I1, I2) -> f3(I0, 0, rnd3) [rnd3 = rnd3] 1.67/1.96 f3(I3, I4, I5) -> f1(I3, I4, I5) 1.67/1.96 f1(I6, I7, I8) -> f3(I6, 1 + I7, I8) [1 + I7 <= I6] 1.67/1.96 f1(I9, I10, I11) -> f2(I9, I10, I11) [I9 <= I10] 1.67/1.96 1.67/1.96 We use the reverse value criterion with the projection function NU: 1.67/1.96 NU[f1#(z1,z2,z3)] = z1 + -1 * (1 + z2) 1.67/1.96 NU[f3#(z1,z2,z3)] = z1 + -1 * (1 + z2) 1.67/1.96 1.67/1.96 This gives the following inequalities: 1.67/1.96 ==> I3 + -1 * (1 + I4) >= I3 + -1 * (1 + I4) 1.67/1.96 1 + I7 <= I6 ==> I6 + -1 * (1 + I7) > I6 + -1 * (1 + (1 + I7)) with I6 + -1 * (1 + I7) >= 0 1.67/1.96 1.67/1.96 We remove all the strictly oriented dependency pairs. 1.67/1.96 1.67/1.96 DP problem for innermost termination. 1.67/1.96 P = 1.67/1.96 f3#(I3, I4, I5) -> f1#(I3, I4, I5) 1.67/1.96 R = 1.67/1.96 f5(x1, x2, x3) -> f4(x1, x2, x3) 1.67/1.96 f4(I0, I1, I2) -> f3(I0, 0, rnd3) [rnd3 = rnd3] 1.67/1.96 f3(I3, I4, I5) -> f1(I3, I4, I5) 1.67/1.96 f1(I6, I7, I8) -> f3(I6, 1 + I7, I8) [1 + I7 <= I6] 1.67/1.96 f1(I9, I10, I11) -> f2(I9, I10, I11) [I9 <= I10] 1.67/1.96 1.67/1.96 The dependency graph for this problem is: 1.67/1.96 2 -> 1.67/1.96 Where: 1.67/1.96 2) f3#(I3, I4, I5) -> f1#(I3, I4, I5) 1.67/1.96 1.67/1.96 We have the following SCCs. 1.67/1.96 1.67/4.94 EOF