0.64/0.70 YES 0.64/0.70 0.64/0.70 DP problem for innermost termination. 0.64/0.70 P = 0.64/0.70 init#(x1, x2, x3) -> f1#(rnd1, rnd2, rnd3) 0.64/0.70 f3#(I0, I1, I2) -> f3#(I3, I4, I5) [I5 + 2 <= I1 /\ I2 + 2 <= I0 /\ -1 <= I4 - 1 /\ 1 <= I3 - 1 /\ 0 <= I1 - 1 /\ 1 <= I0 - 1 /\ I4 + 1 <= I1 /\ I3 - 1 <= I1] 0.64/0.70 f2#(I6, I7, I8) -> f3#(I9, I10, 0) [I6 <= 1 /\ 3 <= I10 - 1 /\ 1 <= I9 - 1] 0.64/0.70 f2#(I11, I12, I13) -> f2#(I11 - 1, 1, I14) [1 <= I11 - 1] 0.64/0.70 f2#(I15, I16, I17) -> f2#(I15 - 1, I18, I19) [0 <= I16 - 1 /\ 1 <= I15 - 1 /\ I16 <= I18 - 1] 0.64/0.70 f1#(I20, I21, I22) -> f2#(I23, 0, I24) [0 <= I20 - 1 /\ -1 <= I23 - 1 /\ 0 <= I21 - 1] 0.64/0.70 R = 0.64/0.70 init(x1, x2, x3) -> f1(rnd1, rnd2, rnd3) 0.64/0.70 f3(I0, I1, I2) -> f3(I3, I4, I5) [I5 + 2 <= I1 /\ I2 + 2 <= I0 /\ -1 <= I4 - 1 /\ 1 <= I3 - 1 /\ 0 <= I1 - 1 /\ 1 <= I0 - 1 /\ I4 + 1 <= I1 /\ I3 - 1 <= I1] 0.64/0.70 f2(I6, I7, I8) -> f3(I9, I10, 0) [I6 <= 1 /\ 3 <= I10 - 1 /\ 1 <= I9 - 1] 0.64/0.70 f2(I11, I12, I13) -> f2(I11 - 1, 1, I14) [1 <= I11 - 1] 0.64/0.70 f2(I15, I16, I17) -> f2(I15 - 1, I18, I19) [0 <= I16 - 1 /\ 1 <= I15 - 1 /\ I16 <= I18 - 1] 0.64/0.70 f1(I20, I21, I22) -> f2(I23, 0, I24) [0 <= I20 - 1 /\ -1 <= I23 - 1 /\ 0 <= I21 - 1] 0.64/0.70 0.64/0.70 The dependency graph for this problem is: 0.64/0.70 0 -> 5 0.64/0.70 1 -> 1 0.64/0.70 2 -> 1 0.64/0.70 3 -> 2, 3, 4 0.64/0.70 4 -> 2, 3, 4 0.64/0.70 5 -> 2, 3 0.64/0.70 Where: 0.64/0.70 0) init#(x1, x2, x3) -> f1#(rnd1, rnd2, rnd3) 0.64/0.70 1) f3#(I0, I1, I2) -> f3#(I3, I4, I5) [I5 + 2 <= I1 /\ I2 + 2 <= I0 /\ -1 <= I4 - 1 /\ 1 <= I3 - 1 /\ 0 <= I1 - 1 /\ 1 <= I0 - 1 /\ I4 + 1 <= I1 /\ I3 - 1 <= I1] 0.64/0.70 2) f2#(I6, I7, I8) -> f3#(I9, I10, 0) [I6 <= 1 /\ 3 <= I10 - 1 /\ 1 <= I9 - 1] 0.64/0.70 3) f2#(I11, I12, I13) -> f2#(I11 - 1, 1, I14) [1 <= I11 - 1] 0.64/0.70 4) f2#(I15, I16, I17) -> f2#(I15 - 1, I18, I19) [0 <= I16 - 1 /\ 1 <= I15 - 1 /\ I16 <= I18 - 1] 0.64/0.70 5) f1#(I20, I21, I22) -> f2#(I23, 0, I24) [0 <= I20 - 1 /\ -1 <= I23 - 1 /\ 0 <= I21 - 1] 0.64/0.70 0.64/0.70 We have the following SCCs. 0.64/0.70 { 3, 4 } 0.64/0.70 { 1 } 0.64/0.70 0.64/0.70 DP problem for innermost termination. 0.64/0.70 P = 0.64/0.70 f3#(I0, I1, I2) -> f3#(I3, I4, I5) [I5 + 2 <= I1 /\ I2 + 2 <= I0 /\ -1 <= I4 - 1 /\ 1 <= I3 - 1 /\ 0 <= I1 - 1 /\ 1 <= I0 - 1 /\ I4 + 1 <= I1 /\ I3 - 1 <= I1] 0.64/0.70 R = 0.64/0.70 init(x1, x2, x3) -> f1(rnd1, rnd2, rnd3) 0.64/0.70 f3(I0, I1, I2) -> f3(I3, I4, I5) [I5 + 2 <= I1 /\ I2 + 2 <= I0 /\ -1 <= I4 - 1 /\ 1 <= I3 - 1 /\ 0 <= I1 - 1 /\ 1 <= I0 - 1 /\ I4 + 1 <= I1 /\ I3 - 1 <= I1] 0.64/0.70 f2(I6, I7, I8) -> f3(I9, I10, 0) [I6 <= 1 /\ 3 <= I10 - 1 /\ 1 <= I9 - 1] 0.64/0.70 f2(I11, I12, I13) -> f2(I11 - 1, 1, I14) [1 <= I11 - 1] 0.64/0.70 f2(I15, I16, I17) -> f2(I15 - 1, I18, I19) [0 <= I16 - 1 /\ 1 <= I15 - 1 /\ I16 <= I18 - 1] 0.64/0.70 f1(I20, I21, I22) -> f2(I23, 0, I24) [0 <= I20 - 1 /\ -1 <= I23 - 1 /\ 0 <= I21 - 1] 0.64/0.70 0.64/0.70 We use the basic value criterion with the projection function NU: 0.64/0.70 NU[f3#(z1,z2,z3)] = z2 0.64/0.70 0.64/0.70 This gives the following inequalities: 0.64/0.70 I5 + 2 <= I1 /\ I2 + 2 <= I0 /\ -1 <= I4 - 1 /\ 1 <= I3 - 1 /\ 0 <= I1 - 1 /\ 1 <= I0 - 1 /\ I4 + 1 <= I1 /\ I3 - 1 <= I1 ==> I1 >! I4 0.64/0.70 0.64/0.70 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed. 0.64/0.70 0.64/0.70 DP problem for innermost termination. 0.64/0.70 P = 0.64/0.70 f2#(I11, I12, I13) -> f2#(I11 - 1, 1, I14) [1 <= I11 - 1] 0.64/0.70 f2#(I15, I16, I17) -> f2#(I15 - 1, I18, I19) [0 <= I16 - 1 /\ 1 <= I15 - 1 /\ I16 <= I18 - 1] 0.64/0.70 R = 0.64/0.70 init(x1, x2, x3) -> f1(rnd1, rnd2, rnd3) 0.64/0.70 f3(I0, I1, I2) -> f3(I3, I4, I5) [I5 + 2 <= I1 /\ I2 + 2 <= I0 /\ -1 <= I4 - 1 /\ 1 <= I3 - 1 /\ 0 <= I1 - 1 /\ 1 <= I0 - 1 /\ I4 + 1 <= I1 /\ I3 - 1 <= I1] 0.64/0.70 f2(I6, I7, I8) -> f3(I9, I10, 0) [I6 <= 1 /\ 3 <= I10 - 1 /\ 1 <= I9 - 1] 0.64/0.70 f2(I11, I12, I13) -> f2(I11 - 1, 1, I14) [1 <= I11 - 1] 0.64/0.70 f2(I15, I16, I17) -> f2(I15 - 1, I18, I19) [0 <= I16 - 1 /\ 1 <= I15 - 1 /\ I16 <= I18 - 1] 0.64/0.70 f1(I20, I21, I22) -> f2(I23, 0, I24) [0 <= I20 - 1 /\ -1 <= I23 - 1 /\ 0 <= I21 - 1] 0.64/0.70 0.64/0.70 We use the basic value criterion with the projection function NU: 0.64/0.70 NU[f2#(z1,z2,z3)] = z1 0.64/0.70 0.64/0.70 This gives the following inequalities: 0.64/0.70 1 <= I11 - 1 ==> I11 >! I11 - 1 0.64/0.70 0 <= I16 - 1 /\ 1 <= I15 - 1 /\ I16 <= I18 - 1 ==> I15 >! I15 - 1 0.64/0.70 0.64/0.70 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed. 0.64/3.68 EOF