3.07/3.04 YES 3.07/3.04 3.07/3.04 DP problem for innermost termination. 3.07/3.04 P = 3.07/3.04 init#(x1, x2, x3) -> f1#(rnd1, rnd2, rnd3) 3.07/3.04 f7#(I0, I1, I2) -> f7#(I3, I4, I5) [-1 <= I4 - 1 /\ 0 <= I3 - 1 /\ -1 <= I1 - 1 /\ 2 <= I0 - 1 /\ I4 + 3 <= I0 /\ I3 + 2 <= I0] 3.07/3.04 f7#(I6, I7, I8) -> f7#(I9, I10, I11) [-1 <= I10 - 1 /\ 0 <= I9 - 1 /\ 0 <= I7 - 1 /\ 2 <= I6 - 1 /\ I10 + 1 <= I7 /\ I10 + 3 <= I6 /\ I9 <= I7 /\ I9 + 2 <= I6] 3.07/3.04 f4#(I12, I13, I14) -> f7#(I15, I16, I17) [I15 <= I13 /\ 1 <= y1 - 1 /\ I16 + 1 <= I13 /\ 0 <= I12 - 1 /\ 0 <= I13 - 1 /\ 0 <= I15 - 1 /\ -1 <= I16 - 1] 3.07/3.04 f3#(I18, I19, I20) -> f7#(I21, I22, I23) [-1 <= I22 - 1 /\ 0 <= I21 - 1 /\ 0 <= I18 - 1 /\ I22 + 1 <= I18 /\ I21 <= I18] 3.07/3.04 f2#(I24, I25, I26) -> f7#(I27, I28, I29) [-1 <= I28 - 1 /\ 0 <= I27 - 1 /\ 0 <= I24 - 1 /\ I28 + 1 <= I24 /\ I27 <= I24] 3.07/3.04 f6#(I30, I31, I32) -> f5#(I31, I33, I34) [0 <= I31 - 1 /\ 2 <= I30 - 1] 3.07/3.04 f5#(I35, I36, I37) -> f6#(I38, I35 - 1, I39) [1 <= I35 - 1 /\ 3 <= I38 - 1 /\ I35 - 1 <= I35 - 1] 3.07/3.04 f5#(I40, I41, I42) -> f6#(I43, I40 - 1, I44) [1 <= I40 - 1 /\ 4 <= I43 - 1 /\ I40 - 1 <= I40 - 1] 3.07/3.04 f5#(I45, I46, I47) -> f5#(I45 - 1, I48, I49) [I45 - 1 <= I45 - 1 /\ 1 <= I45 - 1] 3.07/3.04 f1#(I50, I51, I52) -> f5#(I53, I54, I55) [0 <= I56 * y2 /\ 1 <= I51 - 1 /\ -1 <= y2 - 1 /\ -1 <= I56 - 1 /\ 0 <= I50 - 1 /\ I56 * y2 + 10 = I53] 3.07/3.04 f1#(I57, I58, I59) -> f5#(10, I60, I61) [0 <= I57 - 1 /\ -1 <= I62 - 1 /\ 1 = I58] 3.07/3.04 f1#(I63, I64, I65) -> f5#(10, I66, I67) [0 = I64 /\ 0 <= I63 - 1] 3.07/3.04 f1#(I68, I69, I70) -> f4#(I71, I72, I73) [0 <= I74 * I75 /\ 1 <= I69 - 1 /\ -1 <= I75 - 1 /\ -1 <= I74 - 1 /\ I71 <= I68 /\ I72 - 1 <= I68 /\ 0 <= I68 - 1 /\ 0 <= I71 - 1 /\ 1 <= I72 - 1] 3.07/3.04 f1#(I76, I77, I78) -> f4#(I79, I80, I81) [0 <= I82 * I83 /\ 1 <= I77 - 1 /\ -1 <= I83 - 1 /\ -1 <= I82 - 1 /\ I79 <= I76 /\ 0 <= I76 - 1 /\ 0 <= I79 - 1 /\ 2 <= I80 - 1] 3.07/3.04 f1#(I84, I85, I86) -> f3#(I87, I88, I89) [I87 - 1 <= I84 /\ -1 <= I90 - 1 /\ 0 <= I84 - 1 /\ 1 <= I87 - 1 /\ 1 = I85] 3.07/3.04 f1#(I91, I92, I93) -> f3#(I94, I95, I96) [0 <= I91 - 1 /\ -1 <= I97 - 1 /\ 2 <= I94 - 1 /\ 1 = I92] 3.07/3.04 f1#(I98, I99, I100) -> f2#(I101, I102, I103) [0 = I99 /\ 1 <= I101 - 1 /\ 0 <= I98 - 1 /\ I101 - 1 <= I98] 3.07/3.04 f1#(I104, I105, I106) -> f2#(I107, I108, I109) [0 = I105 /\ 2 <= I107 - 1 /\ 0 <= I104 - 1] 3.07/3.04 R = 3.07/3.04 init(x1, x2, x3) -> f1(rnd1, rnd2, rnd3) 3.07/3.04 f7(I0, I1, I2) -> f7(I3, I4, I5) [-1 <= I4 - 1 /\ 0 <= I3 - 1 /\ -1 <= I1 - 1 /\ 2 <= I0 - 1 /\ I4 + 3 <= I0 /\ I3 + 2 <= I0] 3.07/3.04 f7(I6, I7, I8) -> f7(I9, I10, I11) [-1 <= I10 - 1 /\ 0 <= I9 - 1 /\ 0 <= I7 - 1 /\ 2 <= I6 - 1 /\ I10 + 1 <= I7 /\ I10 + 3 <= I6 /\ I9 <= I7 /\ I9 + 2 <= I6] 3.07/3.04 f4(I12, I13, I14) -> f7(I15, I16, I17) [I15 <= I13 /\ 1 <= y1 - 1 /\ I16 + 1 <= I13 /\ 0 <= I12 - 1 /\ 0 <= I13 - 1 /\ 0 <= I15 - 1 /\ -1 <= I16 - 1] 3.07/3.04 f3(I18, I19, I20) -> f7(I21, I22, I23) [-1 <= I22 - 1 /\ 0 <= I21 - 1 /\ 0 <= I18 - 1 /\ I22 + 1 <= I18 /\ I21 <= I18] 3.07/3.04 f2(I24, I25, I26) -> f7(I27, I28, I29) [-1 <= I28 - 1 /\ 0 <= I27 - 1 /\ 0 <= I24 - 1 /\ I28 + 1 <= I24 /\ I27 <= I24] 3.07/3.04 f6(I30, I31, I32) -> f5(I31, I33, I34) [0 <= I31 - 1 /\ 2 <= I30 - 1] 3.07/3.04 f5(I35, I36, I37) -> f6(I38, I35 - 1, I39) [1 <= I35 - 1 /\ 3 <= I38 - 1 /\ I35 - 1 <= I35 - 1] 3.07/3.04 f5(I40, I41, I42) -> f6(I43, I40 - 1, I44) [1 <= I40 - 1 /\ 4 <= I43 - 1 /\ I40 - 1 <= I40 - 1] 3.07/3.04 f5(I45, I46, I47) -> f5(I45 - 1, I48, I49) [I45 - 1 <= I45 - 1 /\ 1 <= I45 - 1] 3.07/3.04 f1(I50, I51, I52) -> f5(I53, I54, I55) [0 <= I56 * y2 /\ 1 <= I51 - 1 /\ -1 <= y2 - 1 /\ -1 <= I56 - 1 /\ 0 <= I50 - 1 /\ I56 * y2 + 10 = I53] 3.07/3.04 f1(I57, I58, I59) -> f5(10, I60, I61) [0 <= I57 - 1 /\ -1 <= I62 - 1 /\ 1 = I58] 3.07/3.04 f1(I63, I64, I65) -> f5(10, I66, I67) [0 = I64 /\ 0 <= I63 - 1] 3.07/3.04 f1(I68, I69, I70) -> f4(I71, I72, I73) [0 <= I74 * I75 /\ 1 <= I69 - 1 /\ -1 <= I75 - 1 /\ -1 <= I74 - 1 /\ I71 <= I68 /\ I72 - 1 <= I68 /\ 0 <= I68 - 1 /\ 0 <= I71 - 1 /\ 1 <= I72 - 1] 3.07/3.04 f1(I76, I77, I78) -> f4(I79, I80, I81) [0 <= I82 * I83 /\ 1 <= I77 - 1 /\ -1 <= I83 - 1 /\ -1 <= I82 - 1 /\ I79 <= I76 /\ 0 <= I76 - 1 /\ 0 <= I79 - 1 /\ 2 <= I80 - 1] 3.07/3.04 f1(I84, I85, I86) -> f3(I87, I88, I89) [I87 - 1 <= I84 /\ -1 <= I90 - 1 /\ 0 <= I84 - 1 /\ 1 <= I87 - 1 /\ 1 = I85] 3.07/3.04 f1(I91, I92, I93) -> f3(I94, I95, I96) [0 <= I91 - 1 /\ -1 <= I97 - 1 /\ 2 <= I94 - 1 /\ 1 = I92] 3.07/3.04 f1(I98, I99, I100) -> f2(I101, I102, I103) [0 = I99 /\ 1 <= I101 - 1 /\ 0 <= I98 - 1 /\ I101 - 1 <= I98] 3.07/3.04 f1(I104, I105, I106) -> f2(I107, I108, I109) [0 = I105 /\ 2 <= I107 - 1 /\ 0 <= I104 - 1] 3.07/3.04 3.07/3.04 The dependency graph for this problem is: 3.07/3.04 0 -> 10, 11, 12, 13, 14, 15, 16, 17, 18 3.07/3.04 1 -> 1, 2 3.07/3.04 2 -> 1, 2 3.07/3.04 3 -> 1, 2 3.07/3.04 4 -> 1, 2 3.07/3.04 5 -> 1, 2 3.07/3.04 6 -> 7, 8, 9 3.07/3.04 7 -> 6 3.07/3.04 8 -> 6 3.07/3.04 9 -> 7, 8, 9 3.07/3.04 10 -> 7, 8, 9 3.07/3.04 11 -> 7, 8, 9 3.07/3.04 12 -> 7, 8, 9 3.07/3.04 13 -> 3 3.07/3.04 14 -> 3 3.07/3.04 15 -> 4 3.07/3.04 16 -> 4 3.07/3.04 17 -> 5 3.07/3.04 18 -> 5 3.07/3.04 Where: 3.07/3.04 0) init#(x1, x2, x3) -> f1#(rnd1, rnd2, rnd3) 3.07/3.04 1) f7#(I0, I1, I2) -> f7#(I3, I4, I5) [-1 <= I4 - 1 /\ 0 <= I3 - 1 /\ -1 <= I1 - 1 /\ 2 <= I0 - 1 /\ I4 + 3 <= I0 /\ I3 + 2 <= I0] 3.07/3.04 2) f7#(I6, I7, I8) -> f7#(I9, I10, I11) [-1 <= I10 - 1 /\ 0 <= I9 - 1 /\ 0 <= I7 - 1 /\ 2 <= I6 - 1 /\ I10 + 1 <= I7 /\ I10 + 3 <= I6 /\ I9 <= I7 /\ I9 + 2 <= I6] 3.07/3.04 3) f4#(I12, I13, I14) -> f7#(I15, I16, I17) [I15 <= I13 /\ 1 <= y1 - 1 /\ I16 + 1 <= I13 /\ 0 <= I12 - 1 /\ 0 <= I13 - 1 /\ 0 <= I15 - 1 /\ -1 <= I16 - 1] 3.07/3.04 4) f3#(I18, I19, I20) -> f7#(I21, I22, I23) [-1 <= I22 - 1 /\ 0 <= I21 - 1 /\ 0 <= I18 - 1 /\ I22 + 1 <= I18 /\ I21 <= I18] 3.07/3.04 5) f2#(I24, I25, I26) -> f7#(I27, I28, I29) [-1 <= I28 - 1 /\ 0 <= I27 - 1 /\ 0 <= I24 - 1 /\ I28 + 1 <= I24 /\ I27 <= I24] 3.07/3.04 6) f6#(I30, I31, I32) -> f5#(I31, I33, I34) [0 <= I31 - 1 /\ 2 <= I30 - 1] 3.07/3.04 7) f5#(I35, I36, I37) -> f6#(I38, I35 - 1, I39) [1 <= I35 - 1 /\ 3 <= I38 - 1 /\ I35 - 1 <= I35 - 1] 3.07/3.04 8) f5#(I40, I41, I42) -> f6#(I43, I40 - 1, I44) [1 <= I40 - 1 /\ 4 <= I43 - 1 /\ I40 - 1 <= I40 - 1] 3.07/3.04 9) f5#(I45, I46, I47) -> f5#(I45 - 1, I48, I49) [I45 - 1 <= I45 - 1 /\ 1 <= I45 - 1] 3.07/3.04 10) f1#(I50, I51, I52) -> f5#(I53, I54, I55) [0 <= I56 * y2 /\ 1 <= I51 - 1 /\ -1 <= y2 - 1 /\ -1 <= I56 - 1 /\ 0 <= I50 - 1 /\ I56 * y2 + 10 = I53] 3.07/3.04 11) f1#(I57, I58, I59) -> f5#(10, I60, I61) [0 <= I57 - 1 /\ -1 <= I62 - 1 /\ 1 = I58] 3.07/3.04 12) f1#(I63, I64, I65) -> f5#(10, I66, I67) [0 = I64 /\ 0 <= I63 - 1] 3.07/3.04 13) f1#(I68, I69, I70) -> f4#(I71, I72, I73) [0 <= I74 * I75 /\ 1 <= I69 - 1 /\ -1 <= I75 - 1 /\ -1 <= I74 - 1 /\ I71 <= I68 /\ I72 - 1 <= I68 /\ 0 <= I68 - 1 /\ 0 <= I71 - 1 /\ 1 <= I72 - 1] 3.07/3.04 14) f1#(I76, I77, I78) -> f4#(I79, I80, I81) [0 <= I82 * I83 /\ 1 <= I77 - 1 /\ -1 <= I83 - 1 /\ -1 <= I82 - 1 /\ I79 <= I76 /\ 0 <= I76 - 1 /\ 0 <= I79 - 1 /\ 2 <= I80 - 1] 3.07/3.04 15) f1#(I84, I85, I86) -> f3#(I87, I88, I89) [I87 - 1 <= I84 /\ -1 <= I90 - 1 /\ 0 <= I84 - 1 /\ 1 <= I87 - 1 /\ 1 = I85] 3.07/3.04 16) f1#(I91, I92, I93) -> f3#(I94, I95, I96) [0 <= I91 - 1 /\ -1 <= I97 - 1 /\ 2 <= I94 - 1 /\ 1 = I92] 3.07/3.04 17) f1#(I98, I99, I100) -> f2#(I101, I102, I103) [0 = I99 /\ 1 <= I101 - 1 /\ 0 <= I98 - 1 /\ I101 - 1 <= I98] 3.07/3.04 18) f1#(I104, I105, I106) -> f2#(I107, I108, I109) [0 = I105 /\ 2 <= I107 - 1 /\ 0 <= I104 - 1] 3.07/3.04 3.07/3.04 We have the following SCCs. 3.07/3.04 { 6, 7, 8, 9 } 3.07/3.04 { 1, 2 } 3.07/3.04 3.07/3.04 DP problem for innermost termination. 3.07/3.04 P = 3.07/3.04 f7#(I0, I1, I2) -> f7#(I3, I4, I5) [-1 <= I4 - 1 /\ 0 <= I3 - 1 /\ -1 <= I1 - 1 /\ 2 <= I0 - 1 /\ I4 + 3 <= I0 /\ I3 + 2 <= I0] 3.07/3.04 f7#(I6, I7, I8) -> f7#(I9, I10, I11) [-1 <= I10 - 1 /\ 0 <= I9 - 1 /\ 0 <= I7 - 1 /\ 2 <= I6 - 1 /\ I10 + 1 <= I7 /\ I10 + 3 <= I6 /\ I9 <= I7 /\ I9 + 2 <= I6] 3.07/3.04 R = 3.07/3.04 init(x1, x2, x3) -> f1(rnd1, rnd2, rnd3) 3.07/3.04 f7(I0, I1, I2) -> f7(I3, I4, I5) [-1 <= I4 - 1 /\ 0 <= I3 - 1 /\ -1 <= I1 - 1 /\ 2 <= I0 - 1 /\ I4 + 3 <= I0 /\ I3 + 2 <= I0] 3.07/3.04 f7(I6, I7, I8) -> f7(I9, I10, I11) [-1 <= I10 - 1 /\ 0 <= I9 - 1 /\ 0 <= I7 - 1 /\ 2 <= I6 - 1 /\ I10 + 1 <= I7 /\ I10 + 3 <= I6 /\ I9 <= I7 /\ I9 + 2 <= I6] 3.07/3.04 f4(I12, I13, I14) -> f7(I15, I16, I17) [I15 <= I13 /\ 1 <= y1 - 1 /\ I16 + 1 <= I13 /\ 0 <= I12 - 1 /\ 0 <= I13 - 1 /\ 0 <= I15 - 1 /\ -1 <= I16 - 1] 3.07/3.04 f3(I18, I19, I20) -> f7(I21, I22, I23) [-1 <= I22 - 1 /\ 0 <= I21 - 1 /\ 0 <= I18 - 1 /\ I22 + 1 <= I18 /\ I21 <= I18] 3.07/3.04 f2(I24, I25, I26) -> f7(I27, I28, I29) [-1 <= I28 - 1 /\ 0 <= I27 - 1 /\ 0 <= I24 - 1 /\ I28 + 1 <= I24 /\ I27 <= I24] 3.07/3.04 f6(I30, I31, I32) -> f5(I31, I33, I34) [0 <= I31 - 1 /\ 2 <= I30 - 1] 3.07/3.04 f5(I35, I36, I37) -> f6(I38, I35 - 1, I39) [1 <= I35 - 1 /\ 3 <= I38 - 1 /\ I35 - 1 <= I35 - 1] 3.07/3.04 f5(I40, I41, I42) -> f6(I43, I40 - 1, I44) [1 <= I40 - 1 /\ 4 <= I43 - 1 /\ I40 - 1 <= I40 - 1] 3.07/3.04 f5(I45, I46, I47) -> f5(I45 - 1, I48, I49) [I45 - 1 <= I45 - 1 /\ 1 <= I45 - 1] 3.07/3.04 f1(I50, I51, I52) -> f5(I53, I54, I55) [0 <= I56 * y2 /\ 1 <= I51 - 1 /\ -1 <= y2 - 1 /\ -1 <= I56 - 1 /\ 0 <= I50 - 1 /\ I56 * y2 + 10 = I53] 3.07/3.04 f1(I57, I58, I59) -> f5(10, I60, I61) [0 <= I57 - 1 /\ -1 <= I62 - 1 /\ 1 = I58] 3.07/3.04 f1(I63, I64, I65) -> f5(10, I66, I67) [0 = I64 /\ 0 <= I63 - 1] 3.07/3.04 f1(I68, I69, I70) -> f4(I71, I72, I73) [0 <= I74 * I75 /\ 1 <= I69 - 1 /\ -1 <= I75 - 1 /\ -1 <= I74 - 1 /\ I71 <= I68 /\ I72 - 1 <= I68 /\ 0 <= I68 - 1 /\ 0 <= I71 - 1 /\ 1 <= I72 - 1] 3.07/3.04 f1(I76, I77, I78) -> f4(I79, I80, I81) [0 <= I82 * I83 /\ 1 <= I77 - 1 /\ -1 <= I83 - 1 /\ -1 <= I82 - 1 /\ I79 <= I76 /\ 0 <= I76 - 1 /\ 0 <= I79 - 1 /\ 2 <= I80 - 1] 3.07/3.04 f1(I84, I85, I86) -> f3(I87, I88, I89) [I87 - 1 <= I84 /\ -1 <= I90 - 1 /\ 0 <= I84 - 1 /\ 1 <= I87 - 1 /\ 1 = I85] 3.07/3.04 f1(I91, I92, I93) -> f3(I94, I95, I96) [0 <= I91 - 1 /\ -1 <= I97 - 1 /\ 2 <= I94 - 1 /\ 1 = I92] 3.07/3.04 f1(I98, I99, I100) -> f2(I101, I102, I103) [0 = I99 /\ 1 <= I101 - 1 /\ 0 <= I98 - 1 /\ I101 - 1 <= I98] 3.07/3.04 f1(I104, I105, I106) -> f2(I107, I108, I109) [0 = I105 /\ 2 <= I107 - 1 /\ 0 <= I104 - 1] 3.07/3.04 3.07/3.04 We use the basic value criterion with the projection function NU: 3.07/3.04 NU[f7#(z1,z2,z3)] = z1 3.07/3.04 3.07/3.04 This gives the following inequalities: 3.07/3.04 -1 <= I4 - 1 /\ 0 <= I3 - 1 /\ -1 <= I1 - 1 /\ 2 <= I0 - 1 /\ I4 + 3 <= I0 /\ I3 + 2 <= I0 ==> I0 >! I3 3.07/3.04 -1 <= I10 - 1 /\ 0 <= I9 - 1 /\ 0 <= I7 - 1 /\ 2 <= I6 - 1 /\ I10 + 1 <= I7 /\ I10 + 3 <= I6 /\ I9 <= I7 /\ I9 + 2 <= I6 ==> I6 >! I9 3.07/3.04 3.07/3.04 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed. 3.07/3.04 3.07/3.04 DP problem for innermost termination. 3.07/3.04 P = 3.07/3.04 f6#(I30, I31, I32) -> f5#(I31, I33, I34) [0 <= I31 - 1 /\ 2 <= I30 - 1] 3.07/3.04 f5#(I35, I36, I37) -> f6#(I38, I35 - 1, I39) [1 <= I35 - 1 /\ 3 <= I38 - 1 /\ I35 - 1 <= I35 - 1] 3.07/3.04 f5#(I40, I41, I42) -> f6#(I43, I40 - 1, I44) [1 <= I40 - 1 /\ 4 <= I43 - 1 /\ I40 - 1 <= I40 - 1] 3.07/3.04 f5#(I45, I46, I47) -> f5#(I45 - 1, I48, I49) [I45 - 1 <= I45 - 1 /\ 1 <= I45 - 1] 3.07/3.04 R = 3.07/3.04 init(x1, x2, x3) -> f1(rnd1, rnd2, rnd3) 3.07/3.04 f7(I0, I1, I2) -> f7(I3, I4, I5) [-1 <= I4 - 1 /\ 0 <= I3 - 1 /\ -1 <= I1 - 1 /\ 2 <= I0 - 1 /\ I4 + 3 <= I0 /\ I3 + 2 <= I0] 3.07/3.04 f7(I6, I7, I8) -> f7(I9, I10, I11) [-1 <= I10 - 1 /\ 0 <= I9 - 1 /\ 0 <= I7 - 1 /\ 2 <= I6 - 1 /\ I10 + 1 <= I7 /\ I10 + 3 <= I6 /\ I9 <= I7 /\ I9 + 2 <= I6] 3.07/3.04 f4(I12, I13, I14) -> f7(I15, I16, I17) [I15 <= I13 /\ 1 <= y1 - 1 /\ I16 + 1 <= I13 /\ 0 <= I12 - 1 /\ 0 <= I13 - 1 /\ 0 <= I15 - 1 /\ -1 <= I16 - 1] 3.07/3.04 f3(I18, I19, I20) -> f7(I21, I22, I23) [-1 <= I22 - 1 /\ 0 <= I21 - 1 /\ 0 <= I18 - 1 /\ I22 + 1 <= I18 /\ I21 <= I18] 3.07/3.04 f2(I24, I25, I26) -> f7(I27, I28, I29) [-1 <= I28 - 1 /\ 0 <= I27 - 1 /\ 0 <= I24 - 1 /\ I28 + 1 <= I24 /\ I27 <= I24] 3.07/3.04 f6(I30, I31, I32) -> f5(I31, I33, I34) [0 <= I31 - 1 /\ 2 <= I30 - 1] 3.07/3.04 f5(I35, I36, I37) -> f6(I38, I35 - 1, I39) [1 <= I35 - 1 /\ 3 <= I38 - 1 /\ I35 - 1 <= I35 - 1] 3.07/3.04 f5(I40, I41, I42) -> f6(I43, I40 - 1, I44) [1 <= I40 - 1 /\ 4 <= I43 - 1 /\ I40 - 1 <= I40 - 1] 3.07/3.04 f5(I45, I46, I47) -> f5(I45 - 1, I48, I49) [I45 - 1 <= I45 - 1 /\ 1 <= I45 - 1] 3.07/3.04 f1(I50, I51, I52) -> f5(I53, I54, I55) [0 <= I56 * y2 /\ 1 <= I51 - 1 /\ -1 <= y2 - 1 /\ -1 <= I56 - 1 /\ 0 <= I50 - 1 /\ I56 * y2 + 10 = I53] 3.07/3.04 f1(I57, I58, I59) -> f5(10, I60, I61) [0 <= I57 - 1 /\ -1 <= I62 - 1 /\ 1 = I58] 3.07/3.04 f1(I63, I64, I65) -> f5(10, I66, I67) [0 = I64 /\ 0 <= I63 - 1] 3.07/3.04 f1(I68, I69, I70) -> f4(I71, I72, I73) [0 <= I74 * I75 /\ 1 <= I69 - 1 /\ -1 <= I75 - 1 /\ -1 <= I74 - 1 /\ I71 <= I68 /\ I72 - 1 <= I68 /\ 0 <= I68 - 1 /\ 0 <= I71 - 1 /\ 1 <= I72 - 1] 3.07/3.04 f1(I76, I77, I78) -> f4(I79, I80, I81) [0 <= I82 * I83 /\ 1 <= I77 - 1 /\ -1 <= I83 - 1 /\ -1 <= I82 - 1 /\ I79 <= I76 /\ 0 <= I76 - 1 /\ 0 <= I79 - 1 /\ 2 <= I80 - 1] 3.07/3.04 f1(I84, I85, I86) -> f3(I87, I88, I89) [I87 - 1 <= I84 /\ -1 <= I90 - 1 /\ 0 <= I84 - 1 /\ 1 <= I87 - 1 /\ 1 = I85] 3.07/3.04 f1(I91, I92, I93) -> f3(I94, I95, I96) [0 <= I91 - 1 /\ -1 <= I97 - 1 /\ 2 <= I94 - 1 /\ 1 = I92] 3.07/3.04 f1(I98, I99, I100) -> f2(I101, I102, I103) [0 = I99 /\ 1 <= I101 - 1 /\ 0 <= I98 - 1 /\ I101 - 1 <= I98] 3.07/3.04 f1(I104, I105, I106) -> f2(I107, I108, I109) [0 = I105 /\ 2 <= I107 - 1 /\ 0 <= I104 - 1] 3.07/3.04 3.07/3.04 We use the basic value criterion with the projection function NU: 3.07/3.04 NU[f5#(z1,z2,z3)] = z1 3.07/3.04 NU[f6#(z1,z2,z3)] = z2 3.07/3.04 3.07/3.04 This gives the following inequalities: 3.07/3.04 0 <= I31 - 1 /\ 2 <= I30 - 1 ==> I31 (>! \union =) I31 3.07/3.04 1 <= I35 - 1 /\ 3 <= I38 - 1 /\ I35 - 1 <= I35 - 1 ==> I35 >! I35 - 1 3.07/3.04 1 <= I40 - 1 /\ 4 <= I43 - 1 /\ I40 - 1 <= I40 - 1 ==> I40 >! I40 - 1 3.07/3.04 I45 - 1 <= I45 - 1 /\ 1 <= I45 - 1 ==> I45 >! I45 - 1 3.07/3.04 3.07/3.04 We remove all the strictly oriented dependency pairs. 3.07/3.04 3.07/3.04 DP problem for innermost termination. 3.07/3.04 P = 3.07/3.04 f6#(I30, I31, I32) -> f5#(I31, I33, I34) [0 <= I31 - 1 /\ 2 <= I30 - 1] 3.07/3.04 R = 3.07/3.04 init(x1, x2, x3) -> f1(rnd1, rnd2, rnd3) 3.07/3.04 f7(I0, I1, I2) -> f7(I3, I4, I5) [-1 <= I4 - 1 /\ 0 <= I3 - 1 /\ -1 <= I1 - 1 /\ 2 <= I0 - 1 /\ I4 + 3 <= I0 /\ I3 + 2 <= I0] 3.07/3.04 f7(I6, I7, I8) -> f7(I9, I10, I11) [-1 <= I10 - 1 /\ 0 <= I9 - 1 /\ 0 <= I7 - 1 /\ 2 <= I6 - 1 /\ I10 + 1 <= I7 /\ I10 + 3 <= I6 /\ I9 <= I7 /\ I9 + 2 <= I6] 3.07/3.04 f4(I12, I13, I14) -> f7(I15, I16, I17) [I15 <= I13 /\ 1 <= y1 - 1 /\ I16 + 1 <= I13 /\ 0 <= I12 - 1 /\ 0 <= I13 - 1 /\ 0 <= I15 - 1 /\ -1 <= I16 - 1] 3.07/3.04 f3(I18, I19, I20) -> f7(I21, I22, I23) [-1 <= I22 - 1 /\ 0 <= I21 - 1 /\ 0 <= I18 - 1 /\ I22 + 1 <= I18 /\ I21 <= I18] 3.07/3.04 f2(I24, I25, I26) -> f7(I27, I28, I29) [-1 <= I28 - 1 /\ 0 <= I27 - 1 /\ 0 <= I24 - 1 /\ I28 + 1 <= I24 /\ I27 <= I24] 3.07/3.04 f6(I30, I31, I32) -> f5(I31, I33, I34) [0 <= I31 - 1 /\ 2 <= I30 - 1] 3.07/3.04 f5(I35, I36, I37) -> f6(I38, I35 - 1, I39) [1 <= I35 - 1 /\ 3 <= I38 - 1 /\ I35 - 1 <= I35 - 1] 3.07/3.04 f5(I40, I41, I42) -> f6(I43, I40 - 1, I44) [1 <= I40 - 1 /\ 4 <= I43 - 1 /\ I40 - 1 <= I40 - 1] 3.07/3.04 f5(I45, I46, I47) -> f5(I45 - 1, I48, I49) [I45 - 1 <= I45 - 1 /\ 1 <= I45 - 1] 3.07/3.04 f1(I50, I51, I52) -> f5(I53, I54, I55) [0 <= I56 * y2 /\ 1 <= I51 - 1 /\ -1 <= y2 - 1 /\ -1 <= I56 - 1 /\ 0 <= I50 - 1 /\ I56 * y2 + 10 = I53] 3.07/3.04 f1(I57, I58, I59) -> f5(10, I60, I61) [0 <= I57 - 1 /\ -1 <= I62 - 1 /\ 1 = I58] 3.07/3.04 f1(I63, I64, I65) -> f5(10, I66, I67) [0 = I64 /\ 0 <= I63 - 1] 3.07/3.04 f1(I68, I69, I70) -> f4(I71, I72, I73) [0 <= I74 * I75 /\ 1 <= I69 - 1 /\ -1 <= I75 - 1 /\ -1 <= I74 - 1 /\ I71 <= I68 /\ I72 - 1 <= I68 /\ 0 <= I68 - 1 /\ 0 <= I71 - 1 /\ 1 <= I72 - 1] 3.07/3.04 f1(I76, I77, I78) -> f4(I79, I80, I81) [0 <= I82 * I83 /\ 1 <= I77 - 1 /\ -1 <= I83 - 1 /\ -1 <= I82 - 1 /\ I79 <= I76 /\ 0 <= I76 - 1 /\ 0 <= I79 - 1 /\ 2 <= I80 - 1] 3.07/3.04 f1(I84, I85, I86) -> f3(I87, I88, I89) [I87 - 1 <= I84 /\ -1 <= I90 - 1 /\ 0 <= I84 - 1 /\ 1 <= I87 - 1 /\ 1 = I85] 3.07/3.04 f1(I91, I92, I93) -> f3(I94, I95, I96) [0 <= I91 - 1 /\ -1 <= I97 - 1 /\ 2 <= I94 - 1 /\ 1 = I92] 3.07/3.04 f1(I98, I99, I100) -> f2(I101, I102, I103) [0 = I99 /\ 1 <= I101 - 1 /\ 0 <= I98 - 1 /\ I101 - 1 <= I98] 3.07/3.04 f1(I104, I105, I106) -> f2(I107, I108, I109) [0 = I105 /\ 2 <= I107 - 1 /\ 0 <= I104 - 1] 3.07/3.04 3.07/3.04 The dependency graph for this problem is: 3.07/3.04 6 -> 3.07/3.04 Where: 3.07/3.04 6) f6#(I30, I31, I32) -> f5#(I31, I33, I34) [0 <= I31 - 1 /\ 2 <= I30 - 1] 3.07/3.04 3.07/3.04 We have the following SCCs. 3.07/3.04 3.07/6.02 EOF