1.14/1.20 YES 1.14/1.20 1.14/1.20 DP problem for innermost termination. 1.14/1.20 P = 1.14/1.20 init#(x1, x2) -> f1#(rnd1, rnd2) 1.14/1.20 f3#(I0, I1) -> f2#(I2, I3) [I0 - 2 * y1 = 1 /\ 0 <= I0 - 1 /\ I2 <= I0 - 1 /\ 0 <= I0 - 2 * y1 /\ I0 - 2 * y1 <= 1 /\ I0 - 2 * I2 <= 1 /\ 0 <= I0 - 2 * I2] 1.14/1.20 f2#(I4, I5) -> f3#(I4, I6) [I4 - 2 * I7 = 1 /\ y2 <= I4 - 1 /\ 0 <= I4 - 1] 1.14/1.20 f3#(I8, I9) -> f2#(I10, I11) [I8 - 2 * I12 = 0 /\ 0 <= I8 - 1 /\ I10 <= I8 - 1 /\ 0 <= I8 - 2 * I12 /\ I8 - 2 * I12 <= 1 /\ I8 - 2 * I10 <= 1 /\ 0 <= I8 - 2 * I10] 1.14/1.20 f2#(I13, I14) -> f3#(I13, I15) [I13 - 2 * I16 = 0 /\ I17 <= I13 - 1 /\ 0 <= I13 - 1] 1.14/1.20 f1#(I18, I19) -> f2#(I20, I21) [-1 <= I19 - 1 /\ 1 <= I20 - 1 /\ 2 <= I22 - 1 /\ 0 <= I18 - 1] 1.14/1.20 f1#(I23, I24) -> f2#(I25, I26) [-1 <= I24 - 1 /\ 1 <= I25 - 1 /\ I27 <= 1 /\ -1 <= I27 - 1 /\ 0 <= I23 - 1] 1.14/1.20 R = 1.14/1.20 init(x1, x2) -> f1(rnd1, rnd2) 1.14/1.20 f3(I0, I1) -> f2(I2, I3) [I0 - 2 * y1 = 1 /\ 0 <= I0 - 1 /\ I2 <= I0 - 1 /\ 0 <= I0 - 2 * y1 /\ I0 - 2 * y1 <= 1 /\ I0 - 2 * I2 <= 1 /\ 0 <= I0 - 2 * I2] 1.14/1.20 f2(I4, I5) -> f3(I4, I6) [I4 - 2 * I7 = 1 /\ y2 <= I4 - 1 /\ 0 <= I4 - 1] 1.14/1.20 f3(I8, I9) -> f2(I10, I11) [I8 - 2 * I12 = 0 /\ 0 <= I8 - 1 /\ I10 <= I8 - 1 /\ 0 <= I8 - 2 * I12 /\ I8 - 2 * I12 <= 1 /\ I8 - 2 * I10 <= 1 /\ 0 <= I8 - 2 * I10] 1.14/1.20 f2(I13, I14) -> f3(I13, I15) [I13 - 2 * I16 = 0 /\ I17 <= I13 - 1 /\ 0 <= I13 - 1] 1.14/1.20 f1(I18, I19) -> f2(I20, I21) [-1 <= I19 - 1 /\ 1 <= I20 - 1 /\ 2 <= I22 - 1 /\ 0 <= I18 - 1] 1.14/1.20 f1(I23, I24) -> f2(I25, I26) [-1 <= I24 - 1 /\ 1 <= I25 - 1 /\ I27 <= 1 /\ -1 <= I27 - 1 /\ 0 <= I23 - 1] 1.14/1.20 1.14/1.20 The dependency graph for this problem is: 1.14/1.20 0 -> 5, 6 1.14/1.20 1 -> 2, 4 1.14/1.20 2 -> 1 1.14/1.20 3 -> 2, 4 1.14/1.20 4 -> 3 1.14/1.20 5 -> 2, 4 1.14/1.20 6 -> 2, 4 1.14/1.20 Where: 1.14/1.20 0) init#(x1, x2) -> f1#(rnd1, rnd2) 1.14/1.20 1) f3#(I0, I1) -> f2#(I2, I3) [I0 - 2 * y1 = 1 /\ 0 <= I0 - 1 /\ I2 <= I0 - 1 /\ 0 <= I0 - 2 * y1 /\ I0 - 2 * y1 <= 1 /\ I0 - 2 * I2 <= 1 /\ 0 <= I0 - 2 * I2] 1.14/1.20 2) f2#(I4, I5) -> f3#(I4, I6) [I4 - 2 * I7 = 1 /\ y2 <= I4 - 1 /\ 0 <= I4 - 1] 1.14/1.20 3) f3#(I8, I9) -> f2#(I10, I11) [I8 - 2 * I12 = 0 /\ 0 <= I8 - 1 /\ I10 <= I8 - 1 /\ 0 <= I8 - 2 * I12 /\ I8 - 2 * I12 <= 1 /\ I8 - 2 * I10 <= 1 /\ 0 <= I8 - 2 * I10] 1.14/1.20 4) f2#(I13, I14) -> f3#(I13, I15) [I13 - 2 * I16 = 0 /\ I17 <= I13 - 1 /\ 0 <= I13 - 1] 1.14/1.20 5) f1#(I18, I19) -> f2#(I20, I21) [-1 <= I19 - 1 /\ 1 <= I20 - 1 /\ 2 <= I22 - 1 /\ 0 <= I18 - 1] 1.14/1.20 6) f1#(I23, I24) -> f2#(I25, I26) [-1 <= I24 - 1 /\ 1 <= I25 - 1 /\ I27 <= 1 /\ -1 <= I27 - 1 /\ 0 <= I23 - 1] 1.14/1.20 1.14/1.20 We have the following SCCs. 1.14/1.20 { 1, 2, 3, 4 } 1.14/1.20 1.14/1.20 DP problem for innermost termination. 1.14/1.20 P = 1.14/1.20 f3#(I0, I1) -> f2#(I2, I3) [I0 - 2 * y1 = 1 /\ 0 <= I0 - 1 /\ I2 <= I0 - 1 /\ 0 <= I0 - 2 * y1 /\ I0 - 2 * y1 <= 1 /\ I0 - 2 * I2 <= 1 /\ 0 <= I0 - 2 * I2] 1.14/1.20 f2#(I4, I5) -> f3#(I4, I6) [I4 - 2 * I7 = 1 /\ y2 <= I4 - 1 /\ 0 <= I4 - 1] 1.14/1.20 f3#(I8, I9) -> f2#(I10, I11) [I8 - 2 * I12 = 0 /\ 0 <= I8 - 1 /\ I10 <= I8 - 1 /\ 0 <= I8 - 2 * I12 /\ I8 - 2 * I12 <= 1 /\ I8 - 2 * I10 <= 1 /\ 0 <= I8 - 2 * I10] 1.14/1.20 f2#(I13, I14) -> f3#(I13, I15) [I13 - 2 * I16 = 0 /\ I17 <= I13 - 1 /\ 0 <= I13 - 1] 1.14/1.20 R = 1.14/1.20 init(x1, x2) -> f1(rnd1, rnd2) 1.14/1.20 f3(I0, I1) -> f2(I2, I3) [I0 - 2 * y1 = 1 /\ 0 <= I0 - 1 /\ I2 <= I0 - 1 /\ 0 <= I0 - 2 * y1 /\ I0 - 2 * y1 <= 1 /\ I0 - 2 * I2 <= 1 /\ 0 <= I0 - 2 * I2] 1.14/1.20 f2(I4, I5) -> f3(I4, I6) [I4 - 2 * I7 = 1 /\ y2 <= I4 - 1 /\ 0 <= I4 - 1] 1.14/1.20 f3(I8, I9) -> f2(I10, I11) [I8 - 2 * I12 = 0 /\ 0 <= I8 - 1 /\ I10 <= I8 - 1 /\ 0 <= I8 - 2 * I12 /\ I8 - 2 * I12 <= 1 /\ I8 - 2 * I10 <= 1 /\ 0 <= I8 - 2 * I10] 1.14/1.20 f2(I13, I14) -> f3(I13, I15) [I13 - 2 * I16 = 0 /\ I17 <= I13 - 1 /\ 0 <= I13 - 1] 1.14/1.20 f1(I18, I19) -> f2(I20, I21) [-1 <= I19 - 1 /\ 1 <= I20 - 1 /\ 2 <= I22 - 1 /\ 0 <= I18 - 1] 1.14/1.20 f1(I23, I24) -> f2(I25, I26) [-1 <= I24 - 1 /\ 1 <= I25 - 1 /\ I27 <= 1 /\ -1 <= I27 - 1 /\ 0 <= I23 - 1] 1.14/1.20 1.14/1.20 We use the basic value criterion with the projection function NU: 1.14/1.20 NU[f2#(z1,z2)] = z1 1.14/1.20 NU[f3#(z1,z2)] = z1 1.14/1.20 1.14/1.20 This gives the following inequalities: 1.14/1.20 I0 - 2 * y1 = 1 /\ 0 <= I0 - 1 /\ I2 <= I0 - 1 /\ 0 <= I0 - 2 * y1 /\ I0 - 2 * y1 <= 1 /\ I0 - 2 * I2 <= 1 /\ 0 <= I0 - 2 * I2 ==> I0 >! I2 1.14/1.20 I4 - 2 * I7 = 1 /\ y2 <= I4 - 1 /\ 0 <= I4 - 1 ==> I4 (>! \union =) I4 1.14/1.20 I8 - 2 * I12 = 0 /\ 0 <= I8 - 1 /\ I10 <= I8 - 1 /\ 0 <= I8 - 2 * I12 /\ I8 - 2 * I12 <= 1 /\ I8 - 2 * I10 <= 1 /\ 0 <= I8 - 2 * I10 ==> I8 >! I10 1.14/1.20 I13 - 2 * I16 = 0 /\ I17 <= I13 - 1 /\ 0 <= I13 - 1 ==> I13 (>! \union =) I13 1.14/1.20 1.14/1.20 We remove all the strictly oriented dependency pairs. 1.14/1.20 1.14/1.20 DP problem for innermost termination. 1.14/1.20 P = 1.14/1.20 f2#(I4, I5) -> f3#(I4, I6) [I4 - 2 * I7 = 1 /\ y2 <= I4 - 1 /\ 0 <= I4 - 1] 1.14/1.20 f2#(I13, I14) -> f3#(I13, I15) [I13 - 2 * I16 = 0 /\ I17 <= I13 - 1 /\ 0 <= I13 - 1] 1.14/1.20 R = 1.14/1.20 init(x1, x2) -> f1(rnd1, rnd2) 1.14/1.20 f3(I0, I1) -> f2(I2, I3) [I0 - 2 * y1 = 1 /\ 0 <= I0 - 1 /\ I2 <= I0 - 1 /\ 0 <= I0 - 2 * y1 /\ I0 - 2 * y1 <= 1 /\ I0 - 2 * I2 <= 1 /\ 0 <= I0 - 2 * I2] 1.14/1.20 f2(I4, I5) -> f3(I4, I6) [I4 - 2 * I7 = 1 /\ y2 <= I4 - 1 /\ 0 <= I4 - 1] 1.14/1.20 f3(I8, I9) -> f2(I10, I11) [I8 - 2 * I12 = 0 /\ 0 <= I8 - 1 /\ I10 <= I8 - 1 /\ 0 <= I8 - 2 * I12 /\ I8 - 2 * I12 <= 1 /\ I8 - 2 * I10 <= 1 /\ 0 <= I8 - 2 * I10] 1.14/1.20 f2(I13, I14) -> f3(I13, I15) [I13 - 2 * I16 = 0 /\ I17 <= I13 - 1 /\ 0 <= I13 - 1] 1.14/1.20 f1(I18, I19) -> f2(I20, I21) [-1 <= I19 - 1 /\ 1 <= I20 - 1 /\ 2 <= I22 - 1 /\ 0 <= I18 - 1] 1.14/1.20 f1(I23, I24) -> f2(I25, I26) [-1 <= I24 - 1 /\ 1 <= I25 - 1 /\ I27 <= 1 /\ -1 <= I27 - 1 /\ 0 <= I23 - 1] 1.14/1.20 1.14/1.20 The dependency graph for this problem is: 1.14/1.20 2 -> 1.14/1.20 4 -> 1.14/1.20 Where: 1.14/1.20 2) f2#(I4, I5) -> f3#(I4, I6) [I4 - 2 * I7 = 1 /\ y2 <= I4 - 1 /\ 0 <= I4 - 1] 1.14/1.20 4) f2#(I13, I14) -> f3#(I13, I15) [I13 - 2 * I16 = 0 /\ I17 <= I13 - 1 /\ 0 <= I13 - 1] 1.14/1.20 1.14/1.20 We have the following SCCs. 1.14/1.20 1.14/4.18 EOF