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