2.96/3.01 YES 2.96/3.01 2.96/3.01 DP problem for innermost termination. 2.96/3.01 P = 2.96/3.01 init#(x1, x2, x3, x4, x5) -> f1#(rnd1, rnd2, rnd3, rnd4, rnd5) 2.96/3.01 f7#(I0, I1, I2, I3, I4) -> f7#(I0 - 1, I5, I6, I7, I8) [-1 <= I0 - 1] 2.96/3.01 f6#(I9, I10, I11, I12, I13) -> f7#(1000 * I9 + 100 * I10 + 10 * I11 + I12, I14, I15, I16, I17) [0 <= 1000 * I9 + 100 * I10 + 10 * I11 /\ -1 <= I12 - 1 /\ -1 <= I11 - 1 /\ 0 <= 1000 * I9 + 100 * I10 /\ 0 <= 10 * I11 /\ 0 <= 1000 * I9 /\ I12 <= I13 /\ 0 <= 100 * I10] 2.96/3.01 f6#(I18, I19, I20, I21, I22) -> f6#(I18, I19, I20, I21 + 1, I22) [-1 <= I21 - 1 /\ 0 <= 1000 * I18 + 100 * I19 + 10 * I20 /\ -1 <= I20 - 1 /\ 0 <= 1000 * I18 + 100 * I19 /\ 0 <= 10 * I20 /\ 0 <= 1000 * I18 /\ I21 <= I22 /\ 0 <= 100 * I19] 2.96/3.01 f5#(I23, I24, I25, I26, I27) -> f6#(I23, I24, I25, 0, 2 * I23 + 3 * I24 + 4 * I25) [0 <= 4 * I25 /\ 0 <= 2 * I23 + 3 * I24 /\ 0 <= 2 * I23 /\ -1 <= I25 - 1 /\ 0 <= 3 * I24] 2.96/3.01 f5#(I28, I29, I30, I31, I32) -> f5#(I28, I29, I30 - 1, I33, I34) [0 <= 4 * I30 /\ 0 <= 2 * I28 + 3 * I29 /\ 0 <= 2 * I28 /\ -1 <= I30 - 1 /\ 0 <= 3 * I29] 2.96/3.01 f4#(I35, I36, I37, I38, I39) -> f5#(I35, I36, I35 + I36, I40, I41) [-1 <= I36 - 1 /\ I36 <= I37 /\ -1 <= I35 - 1] 2.96/3.01 f4#(I42, I43, I44, I45, I46) -> f4#(I42, I43 + 1, I44, I47, I48) [-1 <= I43 - 1 /\ I43 <= I44 /\ -1 <= I42 - 1] 2.96/3.01 f3#(I49, I50, I51, I52, I53) -> f4#(I49, 0, 2 * I49, I54, I55) [I49 <= I50 /\ 0 <= I50 - 1] 2.96/3.01 f3#(I56, I57, I58, I59, I60) -> f3#(I56 + 1, I57, I61, I62, I63) [0 <= I57 - 1 /\ -1 <= I56 - 1 /\ I56 <= I57] 2.96/3.01 f2#(I64, I65, I66, I67, I68) -> f3#(0, I66, I69, I70, I71) [0 <= I64 - 1 /\ 0 <= I66 - 1 /\ I65 <= I66 - 1] 2.96/3.01 f2#(I72, I73, I74, I75, I76) -> f2#(I77, I73 + 1, I74, I78, I79) [0 <= I77 - 1 /\ 0 <= I72 - 1 /\ I77 <= I72 /\ 0 <= I74 - 1 /\ I73 <= I74 - 1] 2.96/3.01 f1#(I80, I81, I82, I83, I84) -> f2#(I85, 0, I81, I86, I87) [0 <= I85 - 1 /\ 0 <= I80 - 1 /\ -1 <= I81 - 1 /\ I85 <= I80] 2.96/3.01 R = 2.96/3.01 init(x1, x2, x3, x4, x5) -> f1(rnd1, rnd2, rnd3, rnd4, rnd5) 2.96/3.01 f7(I0, I1, I2, I3, I4) -> f7(I0 - 1, I5, I6, I7, I8) [-1 <= I0 - 1] 2.96/3.01 f6(I9, I10, I11, I12, I13) -> f7(1000 * I9 + 100 * I10 + 10 * I11 + I12, I14, I15, I16, I17) [0 <= 1000 * I9 + 100 * I10 + 10 * I11 /\ -1 <= I12 - 1 /\ -1 <= I11 - 1 /\ 0 <= 1000 * I9 + 100 * I10 /\ 0 <= 10 * I11 /\ 0 <= 1000 * I9 /\ I12 <= I13 /\ 0 <= 100 * I10] 2.96/3.01 f6(I18, I19, I20, I21, I22) -> f6(I18, I19, I20, I21 + 1, I22) [-1 <= I21 - 1 /\ 0 <= 1000 * I18 + 100 * I19 + 10 * I20 /\ -1 <= I20 - 1 /\ 0 <= 1000 * I18 + 100 * I19 /\ 0 <= 10 * I20 /\ 0 <= 1000 * I18 /\ I21 <= I22 /\ 0 <= 100 * I19] 2.96/3.01 f5(I23, I24, I25, I26, I27) -> f6(I23, I24, I25, 0, 2 * I23 + 3 * I24 + 4 * I25) [0 <= 4 * I25 /\ 0 <= 2 * I23 + 3 * I24 /\ 0 <= 2 * I23 /\ -1 <= I25 - 1 /\ 0 <= 3 * I24] 2.96/3.01 f5(I28, I29, I30, I31, I32) -> f5(I28, I29, I30 - 1, I33, I34) [0 <= 4 * I30 /\ 0 <= 2 * I28 + 3 * I29 /\ 0 <= 2 * I28 /\ -1 <= I30 - 1 /\ 0 <= 3 * I29] 2.96/3.01 f4(I35, I36, I37, I38, I39) -> f5(I35, I36, I35 + I36, I40, I41) [-1 <= I36 - 1 /\ I36 <= I37 /\ -1 <= I35 - 1] 2.96/3.01 f4(I42, I43, I44, I45, I46) -> f4(I42, I43 + 1, I44, I47, I48) [-1 <= I43 - 1 /\ I43 <= I44 /\ -1 <= I42 - 1] 2.96/3.01 f3(I49, I50, I51, I52, I53) -> f4(I49, 0, 2 * I49, I54, I55) [I49 <= I50 /\ 0 <= I50 - 1] 2.96/3.01 f3(I56, I57, I58, I59, I60) -> f3(I56 + 1, I57, I61, I62, I63) [0 <= I57 - 1 /\ -1 <= I56 - 1 /\ I56 <= I57] 2.96/3.01 f2(I64, I65, I66, I67, I68) -> f3(0, I66, I69, I70, I71) [0 <= I64 - 1 /\ 0 <= I66 - 1 /\ I65 <= I66 - 1] 2.96/3.01 f2(I72, I73, I74, I75, I76) -> f2(I77, I73 + 1, I74, I78, I79) [0 <= I77 - 1 /\ 0 <= I72 - 1 /\ I77 <= I72 /\ 0 <= I74 - 1 /\ I73 <= I74 - 1] 2.96/3.01 f1(I80, I81, I82, I83, I84) -> f2(I85, 0, I81, I86, I87) [0 <= I85 - 1 /\ 0 <= I80 - 1 /\ -1 <= I81 - 1 /\ I85 <= I80] 2.96/3.01 2.96/3.01 The dependency graph for this problem is: 2.96/3.01 0 -> 12 2.96/3.01 1 -> 1 2.96/3.01 2 -> 1 2.96/3.01 3 -> 2, 3 2.96/3.01 4 -> 2, 3 2.96/3.01 5 -> 4, 5 2.96/3.01 6 -> 4, 5 2.96/3.01 7 -> 6, 7 2.96/3.01 8 -> 6, 7 2.96/3.01 9 -> 8, 9 2.96/3.01 10 -> 8, 9 2.96/3.01 11 -> 10, 11 2.96/3.01 12 -> 10, 11 2.96/3.01 Where: 2.96/3.01 0) init#(x1, x2, x3, x4, x5) -> f1#(rnd1, rnd2, rnd3, rnd4, rnd5) 2.96/3.01 1) f7#(I0, I1, I2, I3, I4) -> f7#(I0 - 1, I5, I6, I7, I8) [-1 <= I0 - 1] 2.96/3.01 2) f6#(I9, I10, I11, I12, I13) -> f7#(1000 * I9 + 100 * I10 + 10 * I11 + I12, I14, I15, I16, I17) [0 <= 1000 * I9 + 100 * I10 + 10 * I11 /\ -1 <= I12 - 1 /\ -1 <= I11 - 1 /\ 0 <= 1000 * I9 + 100 * I10 /\ 0 <= 10 * I11 /\ 0 <= 1000 * I9 /\ I12 <= I13 /\ 0 <= 100 * I10] 2.96/3.01 3) f6#(I18, I19, I20, I21, I22) -> f6#(I18, I19, I20, I21 + 1, I22) [-1 <= I21 - 1 /\ 0 <= 1000 * I18 + 100 * I19 + 10 * I20 /\ -1 <= I20 - 1 /\ 0 <= 1000 * I18 + 100 * I19 /\ 0 <= 10 * I20 /\ 0 <= 1000 * I18 /\ I21 <= I22 /\ 0 <= 100 * I19] 2.96/3.01 4) f5#(I23, I24, I25, I26, I27) -> f6#(I23, I24, I25, 0, 2 * I23 + 3 * I24 + 4 * I25) [0 <= 4 * I25 /\ 0 <= 2 * I23 + 3 * I24 /\ 0 <= 2 * I23 /\ -1 <= I25 - 1 /\ 0 <= 3 * I24] 2.96/3.01 5) f5#(I28, I29, I30, I31, I32) -> f5#(I28, I29, I30 - 1, I33, I34) [0 <= 4 * I30 /\ 0 <= 2 * I28 + 3 * I29 /\ 0 <= 2 * I28 /\ -1 <= I30 - 1 /\ 0 <= 3 * I29] 2.96/3.01 6) f4#(I35, I36, I37, I38, I39) -> f5#(I35, I36, I35 + I36, I40, I41) [-1 <= I36 - 1 /\ I36 <= I37 /\ -1 <= I35 - 1] 2.96/3.01 7) f4#(I42, I43, I44, I45, I46) -> f4#(I42, I43 + 1, I44, I47, I48) [-1 <= I43 - 1 /\ I43 <= I44 /\ -1 <= I42 - 1] 2.96/3.01 8) f3#(I49, I50, I51, I52, I53) -> f4#(I49, 0, 2 * I49, I54, I55) [I49 <= I50 /\ 0 <= I50 - 1] 2.96/3.01 9) f3#(I56, I57, I58, I59, I60) -> f3#(I56 + 1, I57, I61, I62, I63) [0 <= I57 - 1 /\ -1 <= I56 - 1 /\ I56 <= I57] 2.96/3.01 10) f2#(I64, I65, I66, I67, I68) -> f3#(0, I66, I69, I70, I71) [0 <= I64 - 1 /\ 0 <= I66 - 1 /\ I65 <= I66 - 1] 2.96/3.01 11) f2#(I72, I73, I74, I75, I76) -> f2#(I77, I73 + 1, I74, I78, I79) [0 <= I77 - 1 /\ 0 <= I72 - 1 /\ I77 <= I72 /\ 0 <= I74 - 1 /\ I73 <= I74 - 1] 2.96/3.01 12) f1#(I80, I81, I82, I83, I84) -> f2#(I85, 0, I81, I86, I87) [0 <= I85 - 1 /\ 0 <= I80 - 1 /\ -1 <= I81 - 1 /\ I85 <= I80] 2.96/3.01 2.96/3.01 We have the following SCCs. 2.96/3.01 { 11 } 2.96/3.01 { 9 } 2.96/3.01 { 7 } 2.96/3.01 { 5 } 2.96/3.01 { 3 } 2.96/3.01 { 1 } 2.96/3.01 2.96/3.01 DP problem for innermost termination. 2.96/3.01 P = 2.96/3.01 f7#(I0, I1, I2, I3, I4) -> f7#(I0 - 1, I5, I6, I7, I8) [-1 <= I0 - 1] 2.96/3.01 R = 2.96/3.01 init(x1, x2, x3, x4, x5) -> f1(rnd1, rnd2, rnd3, rnd4, rnd5) 2.96/3.01 f7(I0, I1, I2, I3, I4) -> f7(I0 - 1, I5, I6, I7, I8) [-1 <= I0 - 1] 2.96/3.01 f6(I9, I10, I11, I12, I13) -> f7(1000 * I9 + 100 * I10 + 10 * I11 + I12, I14, I15, I16, I17) [0 <= 1000 * I9 + 100 * I10 + 10 * I11 /\ -1 <= I12 - 1 /\ -1 <= I11 - 1 /\ 0 <= 1000 * I9 + 100 * I10 /\ 0 <= 10 * I11 /\ 0 <= 1000 * I9 /\ I12 <= I13 /\ 0 <= 100 * I10] 2.96/3.01 f6(I18, I19, I20, I21, I22) -> f6(I18, I19, I20, I21 + 1, I22) [-1 <= I21 - 1 /\ 0 <= 1000 * I18 + 100 * I19 + 10 * I20 /\ -1 <= I20 - 1 /\ 0 <= 1000 * I18 + 100 * I19 /\ 0 <= 10 * I20 /\ 0 <= 1000 * I18 /\ I21 <= I22 /\ 0 <= 100 * I19] 2.96/3.01 f5(I23, I24, I25, I26, I27) -> f6(I23, I24, I25, 0, 2 * I23 + 3 * I24 + 4 * I25) [0 <= 4 * I25 /\ 0 <= 2 * I23 + 3 * I24 /\ 0 <= 2 * I23 /\ -1 <= I25 - 1 /\ 0 <= 3 * I24] 2.96/3.01 f5(I28, I29, I30, I31, I32) -> f5(I28, I29, I30 - 1, I33, I34) [0 <= 4 * I30 /\ 0 <= 2 * I28 + 3 * I29 /\ 0 <= 2 * I28 /\ -1 <= I30 - 1 /\ 0 <= 3 * I29] 2.96/3.01 f4(I35, I36, I37, I38, I39) -> f5(I35, I36, I35 + I36, I40, I41) [-1 <= I36 - 1 /\ I36 <= I37 /\ -1 <= I35 - 1] 2.96/3.01 f4(I42, I43, I44, I45, I46) -> f4(I42, I43 + 1, I44, I47, I48) [-1 <= I43 - 1 /\ I43 <= I44 /\ -1 <= I42 - 1] 2.96/3.01 f3(I49, I50, I51, I52, I53) -> f4(I49, 0, 2 * I49, I54, I55) [I49 <= I50 /\ 0 <= I50 - 1] 2.96/3.01 f3(I56, I57, I58, I59, I60) -> f3(I56 + 1, I57, I61, I62, I63) [0 <= I57 - 1 /\ -1 <= I56 - 1 /\ I56 <= I57] 2.96/3.01 f2(I64, I65, I66, I67, I68) -> f3(0, I66, I69, I70, I71) [0 <= I64 - 1 /\ 0 <= I66 - 1 /\ I65 <= I66 - 1] 2.96/3.01 f2(I72, I73, I74, I75, I76) -> f2(I77, I73 + 1, I74, I78, I79) [0 <= I77 - 1 /\ 0 <= I72 - 1 /\ I77 <= I72 /\ 0 <= I74 - 1 /\ I73 <= I74 - 1] 2.96/3.01 f1(I80, I81, I82, I83, I84) -> f2(I85, 0, I81, I86, I87) [0 <= I85 - 1 /\ 0 <= I80 - 1 /\ -1 <= I81 - 1 /\ I85 <= I80] 2.96/3.01 2.96/3.01 We use the basic value criterion with the projection function NU: 2.96/3.01 NU[f7#(z1,z2,z3,z4,z5)] = z1 2.96/3.01 2.96/3.01 This gives the following inequalities: 2.96/3.01 -1 <= I0 - 1 ==> I0 >! I0 - 1 2.96/3.01 2.96/3.01 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed. 2.96/3.01 2.96/3.01 DP problem for innermost termination. 2.96/3.01 P = 2.96/3.01 f6#(I18, I19, I20, I21, I22) -> f6#(I18, I19, I20, I21 + 1, I22) [-1 <= I21 - 1 /\ 0 <= 1000 * I18 + 100 * I19 + 10 * I20 /\ -1 <= I20 - 1 /\ 0 <= 1000 * I18 + 100 * I19 /\ 0 <= 10 * I20 /\ 0 <= 1000 * I18 /\ I21 <= I22 /\ 0 <= 100 * I19] 2.96/3.01 R = 2.96/3.01 init(x1, x2, x3, x4, x5) -> f1(rnd1, rnd2, rnd3, rnd4, rnd5) 2.96/3.01 f7(I0, I1, I2, I3, I4) -> f7(I0 - 1, I5, I6, I7, I8) [-1 <= I0 - 1] 2.96/3.01 f6(I9, I10, I11, I12, I13) -> f7(1000 * I9 + 100 * I10 + 10 * I11 + I12, I14, I15, I16, I17) [0 <= 1000 * I9 + 100 * I10 + 10 * I11 /\ -1 <= I12 - 1 /\ -1 <= I11 - 1 /\ 0 <= 1000 * I9 + 100 * I10 /\ 0 <= 10 * I11 /\ 0 <= 1000 * I9 /\ I12 <= I13 /\ 0 <= 100 * I10] 2.96/3.01 f6(I18, I19, I20, I21, I22) -> f6(I18, I19, I20, I21 + 1, I22) [-1 <= I21 - 1 /\ 0 <= 1000 * I18 + 100 * I19 + 10 * I20 /\ -1 <= I20 - 1 /\ 0 <= 1000 * I18 + 100 * I19 /\ 0 <= 10 * I20 /\ 0 <= 1000 * I18 /\ I21 <= I22 /\ 0 <= 100 * I19] 2.96/3.01 f5(I23, I24, I25, I26, I27) -> f6(I23, I24, I25, 0, 2 * I23 + 3 * I24 + 4 * I25) [0 <= 4 * I25 /\ 0 <= 2 * I23 + 3 * I24 /\ 0 <= 2 * I23 /\ -1 <= I25 - 1 /\ 0 <= 3 * I24] 2.96/3.01 f5(I28, I29, I30, I31, I32) -> f5(I28, I29, I30 - 1, I33, I34) [0 <= 4 * I30 /\ 0 <= 2 * I28 + 3 * I29 /\ 0 <= 2 * I28 /\ -1 <= I30 - 1 /\ 0 <= 3 * I29] 2.96/3.01 f4(I35, I36, I37, I38, I39) -> f5(I35, I36, I35 + I36, I40, I41) [-1 <= I36 - 1 /\ I36 <= I37 /\ -1 <= I35 - 1] 2.96/3.01 f4(I42, I43, I44, I45, I46) -> f4(I42, I43 + 1, I44, I47, I48) [-1 <= I43 - 1 /\ I43 <= I44 /\ -1 <= I42 - 1] 2.96/3.01 f3(I49, I50, I51, I52, I53) -> f4(I49, 0, 2 * I49, I54, I55) [I49 <= I50 /\ 0 <= I50 - 1] 2.96/3.01 f3(I56, I57, I58, I59, I60) -> f3(I56 + 1, I57, I61, I62, I63) [0 <= I57 - 1 /\ -1 <= I56 - 1 /\ I56 <= I57] 2.96/3.01 f2(I64, I65, I66, I67, I68) -> f3(0, I66, I69, I70, I71) [0 <= I64 - 1 /\ 0 <= I66 - 1 /\ I65 <= I66 - 1] 2.96/3.01 f2(I72, I73, I74, I75, I76) -> f2(I77, I73 + 1, I74, I78, I79) [0 <= I77 - 1 /\ 0 <= I72 - 1 /\ I77 <= I72 /\ 0 <= I74 - 1 /\ I73 <= I74 - 1] 2.96/3.01 f1(I80, I81, I82, I83, I84) -> f2(I85, 0, I81, I86, I87) [0 <= I85 - 1 /\ 0 <= I80 - 1 /\ -1 <= I81 - 1 /\ I85 <= I80] 2.96/3.01 2.96/3.01 We use the reverse value criterion with the projection function NU: 2.96/3.01 NU[f6#(z1,z2,z3,z4,z5)] = z5 + -1 * z4 2.96/3.01 2.96/3.01 This gives the following inequalities: 2.96/3.01 -1 <= I21 - 1 /\ 0 <= 1000 * I18 + 100 * I19 + 10 * I20 /\ -1 <= I20 - 1 /\ 0 <= 1000 * I18 + 100 * I19 /\ 0 <= 10 * I20 /\ 0 <= 1000 * I18 /\ I21 <= I22 /\ 0 <= 100 * I19 ==> I22 + -1 * I21 > I22 + -1 * (I21 + 1) with I22 + -1 * I21 >= 0 2.96/3.01 2.96/3.01 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed. 2.96/3.01 2.96/3.01 DP problem for innermost termination. 2.96/3.01 P = 2.96/3.01 f5#(I28, I29, I30, I31, I32) -> f5#(I28, I29, I30 - 1, I33, I34) [0 <= 4 * I30 /\ 0 <= 2 * I28 + 3 * I29 /\ 0 <= 2 * I28 /\ -1 <= I30 - 1 /\ 0 <= 3 * I29] 2.96/3.01 R = 2.96/3.01 init(x1, x2, x3, x4, x5) -> f1(rnd1, rnd2, rnd3, rnd4, rnd5) 2.96/3.01 f7(I0, I1, I2, I3, I4) -> f7(I0 - 1, I5, I6, I7, I8) [-1 <= I0 - 1] 2.96/3.01 f6(I9, I10, I11, I12, I13) -> f7(1000 * I9 + 100 * I10 + 10 * I11 + I12, I14, I15, I16, I17) [0 <= 1000 * I9 + 100 * I10 + 10 * I11 /\ -1 <= I12 - 1 /\ -1 <= I11 - 1 /\ 0 <= 1000 * I9 + 100 * I10 /\ 0 <= 10 * I11 /\ 0 <= 1000 * I9 /\ I12 <= I13 /\ 0 <= 100 * I10] 2.96/3.01 f6(I18, I19, I20, I21, I22) -> f6(I18, I19, I20, I21 + 1, I22) [-1 <= I21 - 1 /\ 0 <= 1000 * I18 + 100 * I19 + 10 * I20 /\ -1 <= I20 - 1 /\ 0 <= 1000 * I18 + 100 * I19 /\ 0 <= 10 * I20 /\ 0 <= 1000 * I18 /\ I21 <= I22 /\ 0 <= 100 * I19] 2.96/3.01 f5(I23, I24, I25, I26, I27) -> f6(I23, I24, I25, 0, 2 * I23 + 3 * I24 + 4 * I25) [0 <= 4 * I25 /\ 0 <= 2 * I23 + 3 * I24 /\ 0 <= 2 * I23 /\ -1 <= I25 - 1 /\ 0 <= 3 * I24] 2.96/3.01 f5(I28, I29, I30, I31, I32) -> f5(I28, I29, I30 - 1, I33, I34) [0 <= 4 * I30 /\ 0 <= 2 * I28 + 3 * I29 /\ 0 <= 2 * I28 /\ -1 <= I30 - 1 /\ 0 <= 3 * I29] 2.96/3.01 f4(I35, I36, I37, I38, I39) -> f5(I35, I36, I35 + I36, I40, I41) [-1 <= I36 - 1 /\ I36 <= I37 /\ -1 <= I35 - 1] 2.96/3.01 f4(I42, I43, I44, I45, I46) -> f4(I42, I43 + 1, I44, I47, I48) [-1 <= I43 - 1 /\ I43 <= I44 /\ -1 <= I42 - 1] 2.96/3.01 f3(I49, I50, I51, I52, I53) -> f4(I49, 0, 2 * I49, I54, I55) [I49 <= I50 /\ 0 <= I50 - 1] 2.96/3.01 f3(I56, I57, I58, I59, I60) -> f3(I56 + 1, I57, I61, I62, I63) [0 <= I57 - 1 /\ -1 <= I56 - 1 /\ I56 <= I57] 2.96/3.01 f2(I64, I65, I66, I67, I68) -> f3(0, I66, I69, I70, I71) [0 <= I64 - 1 /\ 0 <= I66 - 1 /\ I65 <= I66 - 1] 2.96/3.01 f2(I72, I73, I74, I75, I76) -> f2(I77, I73 + 1, I74, I78, I79) [0 <= I77 - 1 /\ 0 <= I72 - 1 /\ I77 <= I72 /\ 0 <= I74 - 1 /\ I73 <= I74 - 1] 2.96/3.01 f1(I80, I81, I82, I83, I84) -> f2(I85, 0, I81, I86, I87) [0 <= I85 - 1 /\ 0 <= I80 - 1 /\ -1 <= I81 - 1 /\ I85 <= I80] 2.96/3.01 2.96/3.01 We use the basic value criterion with the projection function NU: 2.96/3.01 NU[f5#(z1,z2,z3,z4,z5)] = z3 2.96/3.01 2.96/3.01 This gives the following inequalities: 2.96/3.01 0 <= 4 * I30 /\ 0 <= 2 * I28 + 3 * I29 /\ 0 <= 2 * I28 /\ -1 <= I30 - 1 /\ 0 <= 3 * I29 ==> I30 >! I30 - 1 2.96/3.01 2.96/3.01 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed. 2.96/3.01 2.96/3.01 DP problem for innermost termination. 2.96/3.01 P = 2.96/3.01 f4#(I42, I43, I44, I45, I46) -> f4#(I42, I43 + 1, I44, I47, I48) [-1 <= I43 - 1 /\ I43 <= I44 /\ -1 <= I42 - 1] 2.96/3.01 R = 2.96/3.01 init(x1, x2, x3, x4, x5) -> f1(rnd1, rnd2, rnd3, rnd4, rnd5) 2.96/3.01 f7(I0, I1, I2, I3, I4) -> f7(I0 - 1, I5, I6, I7, I8) [-1 <= I0 - 1] 2.96/3.01 f6(I9, I10, I11, I12, I13) -> f7(1000 * I9 + 100 * I10 + 10 * I11 + I12, I14, I15, I16, I17) [0 <= 1000 * I9 + 100 * I10 + 10 * I11 /\ -1 <= I12 - 1 /\ -1 <= I11 - 1 /\ 0 <= 1000 * I9 + 100 * I10 /\ 0 <= 10 * I11 /\ 0 <= 1000 * I9 /\ I12 <= I13 /\ 0 <= 100 * I10] 2.96/3.01 f6(I18, I19, I20, I21, I22) -> f6(I18, I19, I20, I21 + 1, I22) [-1 <= I21 - 1 /\ 0 <= 1000 * I18 + 100 * I19 + 10 * I20 /\ -1 <= I20 - 1 /\ 0 <= 1000 * I18 + 100 * I19 /\ 0 <= 10 * I20 /\ 0 <= 1000 * I18 /\ I21 <= I22 /\ 0 <= 100 * I19] 2.96/3.01 f5(I23, I24, I25, I26, I27) -> f6(I23, I24, I25, 0, 2 * I23 + 3 * I24 + 4 * I25) [0 <= 4 * I25 /\ 0 <= 2 * I23 + 3 * I24 /\ 0 <= 2 * I23 /\ -1 <= I25 - 1 /\ 0 <= 3 * I24] 2.96/3.01 f5(I28, I29, I30, I31, I32) -> f5(I28, I29, I30 - 1, I33, I34) [0 <= 4 * I30 /\ 0 <= 2 * I28 + 3 * I29 /\ 0 <= 2 * I28 /\ -1 <= I30 - 1 /\ 0 <= 3 * I29] 2.96/3.01 f4(I35, I36, I37, I38, I39) -> f5(I35, I36, I35 + I36, I40, I41) [-1 <= I36 - 1 /\ I36 <= I37 /\ -1 <= I35 - 1] 2.96/3.01 f4(I42, I43, I44, I45, I46) -> f4(I42, I43 + 1, I44, I47, I48) [-1 <= I43 - 1 /\ I43 <= I44 /\ -1 <= I42 - 1] 2.96/3.01 f3(I49, I50, I51, I52, I53) -> f4(I49, 0, 2 * I49, I54, I55) [I49 <= I50 /\ 0 <= I50 - 1] 2.96/3.01 f3(I56, I57, I58, I59, I60) -> f3(I56 + 1, I57, I61, I62, I63) [0 <= I57 - 1 /\ -1 <= I56 - 1 /\ I56 <= I57] 2.96/3.01 f2(I64, I65, I66, I67, I68) -> f3(0, I66, I69, I70, I71) [0 <= I64 - 1 /\ 0 <= I66 - 1 /\ I65 <= I66 - 1] 2.96/3.01 f2(I72, I73, I74, I75, I76) -> f2(I77, I73 + 1, I74, I78, I79) [0 <= I77 - 1 /\ 0 <= I72 - 1 /\ I77 <= I72 /\ 0 <= I74 - 1 /\ I73 <= I74 - 1] 2.96/3.01 f1(I80, I81, I82, I83, I84) -> f2(I85, 0, I81, I86, I87) [0 <= I85 - 1 /\ 0 <= I80 - 1 /\ -1 <= I81 - 1 /\ I85 <= I80] 2.96/3.01 2.96/3.01 We use the reverse value criterion with the projection function NU: 2.96/3.01 NU[f4#(z1,z2,z3,z4,z5)] = z3 + -1 * z2 2.96/3.01 2.96/3.01 This gives the following inequalities: 2.96/3.01 -1 <= I43 - 1 /\ I43 <= I44 /\ -1 <= I42 - 1 ==> I44 + -1 * I43 > I44 + -1 * (I43 + 1) with I44 + -1 * I43 >= 0 2.96/3.01 2.96/3.01 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed. 2.96/3.01 2.96/3.01 DP problem for innermost termination. 2.96/3.01 P = 2.96/3.01 f3#(I56, I57, I58, I59, I60) -> f3#(I56 + 1, I57, I61, I62, I63) [0 <= I57 - 1 /\ -1 <= I56 - 1 /\ I56 <= I57] 2.96/3.01 R = 2.96/3.01 init(x1, x2, x3, x4, x5) -> f1(rnd1, rnd2, rnd3, rnd4, rnd5) 2.96/3.01 f7(I0, I1, I2, I3, I4) -> f7(I0 - 1, I5, I6, I7, I8) [-1 <= I0 - 1] 2.96/3.01 f6(I9, I10, I11, I12, I13) -> f7(1000 * I9 + 100 * I10 + 10 * I11 + I12, I14, I15, I16, I17) [0 <= 1000 * I9 + 100 * I10 + 10 * I11 /\ -1 <= I12 - 1 /\ -1 <= I11 - 1 /\ 0 <= 1000 * I9 + 100 * I10 /\ 0 <= 10 * I11 /\ 0 <= 1000 * I9 /\ I12 <= I13 /\ 0 <= 100 * I10] 2.96/3.01 f6(I18, I19, I20, I21, I22) -> f6(I18, I19, I20, I21 + 1, I22) [-1 <= I21 - 1 /\ 0 <= 1000 * I18 + 100 * I19 + 10 * I20 /\ -1 <= I20 - 1 /\ 0 <= 1000 * I18 + 100 * I19 /\ 0 <= 10 * I20 /\ 0 <= 1000 * I18 /\ I21 <= I22 /\ 0 <= 100 * I19] 2.96/3.01 f5(I23, I24, I25, I26, I27) -> f6(I23, I24, I25, 0, 2 * I23 + 3 * I24 + 4 * I25) [0 <= 4 * I25 /\ 0 <= 2 * I23 + 3 * I24 /\ 0 <= 2 * I23 /\ -1 <= I25 - 1 /\ 0 <= 3 * I24] 2.96/3.01 f5(I28, I29, I30, I31, I32) -> f5(I28, I29, I30 - 1, I33, I34) [0 <= 4 * I30 /\ 0 <= 2 * I28 + 3 * I29 /\ 0 <= 2 * I28 /\ -1 <= I30 - 1 /\ 0 <= 3 * I29] 2.96/3.01 f4(I35, I36, I37, I38, I39) -> f5(I35, I36, I35 + I36, I40, I41) [-1 <= I36 - 1 /\ I36 <= I37 /\ -1 <= I35 - 1] 2.96/3.01 f4(I42, I43, I44, I45, I46) -> f4(I42, I43 + 1, I44, I47, I48) [-1 <= I43 - 1 /\ I43 <= I44 /\ -1 <= I42 - 1] 2.96/3.01 f3(I49, I50, I51, I52, I53) -> f4(I49, 0, 2 * I49, I54, I55) [I49 <= I50 /\ 0 <= I50 - 1] 2.96/3.01 f3(I56, I57, I58, I59, I60) -> f3(I56 + 1, I57, I61, I62, I63) [0 <= I57 - 1 /\ -1 <= I56 - 1 /\ I56 <= I57] 2.96/3.01 f2(I64, I65, I66, I67, I68) -> f3(0, I66, I69, I70, I71) [0 <= I64 - 1 /\ 0 <= I66 - 1 /\ I65 <= I66 - 1] 2.96/3.01 f2(I72, I73, I74, I75, I76) -> f2(I77, I73 + 1, I74, I78, I79) [0 <= I77 - 1 /\ 0 <= I72 - 1 /\ I77 <= I72 /\ 0 <= I74 - 1 /\ I73 <= I74 - 1] 2.96/3.01 f1(I80, I81, I82, I83, I84) -> f2(I85, 0, I81, I86, I87) [0 <= I85 - 1 /\ 0 <= I80 - 1 /\ -1 <= I81 - 1 /\ I85 <= I80] 2.96/3.01 2.96/3.01 We use the reverse value criterion with the projection function NU: 2.96/3.01 NU[f3#(z1,z2,z3,z4,z5)] = z2 + -1 * z1 2.96/3.01 2.96/3.01 This gives the following inequalities: 2.96/3.01 0 <= I57 - 1 /\ -1 <= I56 - 1 /\ I56 <= I57 ==> I57 + -1 * I56 > I57 + -1 * (I56 + 1) with I57 + -1 * I56 >= 0 2.96/3.01 2.96/3.01 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed. 2.96/3.01 2.96/3.01 DP problem for innermost termination. 2.96/3.01 P = 2.96/3.01 f2#(I72, I73, I74, I75, I76) -> f2#(I77, I73 + 1, I74, I78, I79) [0 <= I77 - 1 /\ 0 <= I72 - 1 /\ I77 <= I72 /\ 0 <= I74 - 1 /\ I73 <= I74 - 1] 2.96/3.01 R = 2.96/3.01 init(x1, x2, x3, x4, x5) -> f1(rnd1, rnd2, rnd3, rnd4, rnd5) 2.96/3.01 f7(I0, I1, I2, I3, I4) -> f7(I0 - 1, I5, I6, I7, I8) [-1 <= I0 - 1] 2.96/3.01 f6(I9, I10, I11, I12, I13) -> f7(1000 * I9 + 100 * I10 + 10 * I11 + I12, I14, I15, I16, I17) [0 <= 1000 * I9 + 100 * I10 + 10 * I11 /\ -1 <= I12 - 1 /\ -1 <= I11 - 1 /\ 0 <= 1000 * I9 + 100 * I10 /\ 0 <= 10 * I11 /\ 0 <= 1000 * I9 /\ I12 <= I13 /\ 0 <= 100 * I10] 2.96/3.01 f6(I18, I19, I20, I21, I22) -> f6(I18, I19, I20, I21 + 1, I22) [-1 <= I21 - 1 /\ 0 <= 1000 * I18 + 100 * I19 + 10 * I20 /\ -1 <= I20 - 1 /\ 0 <= 1000 * I18 + 100 * I19 /\ 0 <= 10 * I20 /\ 0 <= 1000 * I18 /\ I21 <= I22 /\ 0 <= 100 * I19] 2.96/3.01 f5(I23, I24, I25, I26, I27) -> f6(I23, I24, I25, 0, 2 * I23 + 3 * I24 + 4 * I25) [0 <= 4 * I25 /\ 0 <= 2 * I23 + 3 * I24 /\ 0 <= 2 * I23 /\ -1 <= I25 - 1 /\ 0 <= 3 * I24] 2.96/3.01 f5(I28, I29, I30, I31, I32) -> f5(I28, I29, I30 - 1, I33, I34) [0 <= 4 * I30 /\ 0 <= 2 * I28 + 3 * I29 /\ 0 <= 2 * I28 /\ -1 <= I30 - 1 /\ 0 <= 3 * I29] 2.96/3.01 f4(I35, I36, I37, I38, I39) -> f5(I35, I36, I35 + I36, I40, I41) [-1 <= I36 - 1 /\ I36 <= I37 /\ -1 <= I35 - 1] 2.96/3.01 f4(I42, I43, I44, I45, I46) -> f4(I42, I43 + 1, I44, I47, I48) [-1 <= I43 - 1 /\ I43 <= I44 /\ -1 <= I42 - 1] 2.96/3.01 f3(I49, I50, I51, I52, I53) -> f4(I49, 0, 2 * I49, I54, I55) [I49 <= I50 /\ 0 <= I50 - 1] 2.96/3.01 f3(I56, I57, I58, I59, I60) -> f3(I56 + 1, I57, I61, I62, I63) [0 <= I57 - 1 /\ -1 <= I56 - 1 /\ I56 <= I57] 2.96/3.01 f2(I64, I65, I66, I67, I68) -> f3(0, I66, I69, I70, I71) [0 <= I64 - 1 /\ 0 <= I66 - 1 /\ I65 <= I66 - 1] 2.96/3.01 f2(I72, I73, I74, I75, I76) -> f2(I77, I73 + 1, I74, I78, I79) [0 <= I77 - 1 /\ 0 <= I72 - 1 /\ I77 <= I72 /\ 0 <= I74 - 1 /\ I73 <= I74 - 1] 2.96/3.01 f1(I80, I81, I82, I83, I84) -> f2(I85, 0, I81, I86, I87) [0 <= I85 - 1 /\ 0 <= I80 - 1 /\ -1 <= I81 - 1 /\ I85 <= I80] 2.96/3.01 2.96/3.01 We use the reverse value criterion with the projection function NU: 2.96/3.01 NU[f2#(z1,z2,z3,z4,z5)] = z3 - 1 + -1 * z2 2.96/3.01 2.96/3.01 This gives the following inequalities: 2.96/3.01 0 <= I77 - 1 /\ 0 <= I72 - 1 /\ I77 <= I72 /\ 0 <= I74 - 1 /\ I73 <= I74 - 1 ==> I74 - 1 + -1 * I73 > I74 - 1 + -1 * (I73 + 1) with I74 - 1 + -1 * I73 >= 0 2.96/3.01 2.96/3.01 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed. 2.96/5.99 EOF