/export/starexec/sandbox/solver/bin/starexec_run_Transition /export/starexec/sandbox/benchmark/theBenchmark.smt2 /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE DP problem for innermost termination. P = f14#(x1, x2, x3, x4) -> f1#(x1, x2, x3, x4) f13#(I0, I1, I2, I3) -> f2#(I0, I1, I2, I3) f12#(I4, I5, I6, I7) -> f13#(I4, I5, 1 + I6, I7) f11#(I8, I9, I10, I11) -> f12#(I8, I9, I10, I11) [1 <= I9] f11#(I12, I13, I14, I15) -> f12#(I12, I13, I14, I15) [1 + I13 <= 0] f2#(I16, I17, I18, I19) -> f11#(I16, rnd2, I18, I19) [rnd2 = rnd2 /\ 0 <= -1 - I18 + I19] f10#(I20, I21, I22, I23) -> f2#(I20, I21, I22, I23) f2#(I24, I25, I26, I27) -> f10#(I24, I28, I26, I27) [0 <= I28 /\ I28 <= 0 /\ I28 = I28 /\ 0 <= -1 - I26 + I27] f9#(I29, I30, I31, I32) -> f2#(I29, I30, I31, I32) f8#(I33, I34, I35, I36) -> f9#(I33, I34, 1 + I35, I36) f7#(I37, I38, I39, I40) -> f8#(I37, I38, I39, I40) [1 <= I38] f7#(I41, I42, I43, I44) -> f8#(I41, I42, I43, I44) [1 + I42 <= 0] f2#(I45, I46, I47, I48) -> f7#(I45, I49, I47, I48) [I49 = I49 /\ I48 <= I47 /\ I47 <= I48 /\ -1 * I47 + I48 <= 0 /\ -1 * I47 + I48 <= 0] f6#(I50, I51, I52, I53) -> f2#(I50, I51, I52, I53) f2#(I54, I55, I56, I57) -> f6#(I54, I58, I56, I57) [0 <= I58 /\ I58 <= 0 /\ I58 = I58 /\ I57 <= I56 /\ I56 <= I57 /\ -1 * I56 + I57 <= 0 /\ -1 * I56 + I57 <= 0] f3#(I63, I64, I65, I66) -> f4#(I63, I64, I65, I66) [1 + I66 <= I65] f3#(I67, I68, I69, I70) -> f4#(I67, I68, I69, I70) [1 + I69 <= I70] f2#(I71, I72, I73, I74) -> f3#(I71, I72, I73, I74) [-1 * I73 + I74 <= 0 /\ -1 * I73 + I74 <= 0] f1#(I75, I76, I77, I78) -> f2#(I75, I76, I77, I78) R = f14(x1, x2, x3, x4) -> f1(x1, x2, x3, x4) f13(I0, I1, I2, I3) -> f2(I0, I1, I2, I3) f12(I4, I5, I6, I7) -> f13(I4, I5, 1 + I6, I7) f11(I8, I9, I10, I11) -> f12(I8, I9, I10, I11) [1 <= I9] f11(I12, I13, I14, I15) -> f12(I12, I13, I14, I15) [1 + I13 <= 0] f2(I16, I17, I18, I19) -> f11(I16, rnd2, I18, I19) [rnd2 = rnd2 /\ 0 <= -1 - I18 + I19] f10(I20, I21, I22, I23) -> f2(I20, I21, I22, I23) f2(I24, I25, I26, I27) -> f10(I24, I28, I26, I27) [0 <= I28 /\ I28 <= 0 /\ I28 = I28 /\ 0 <= -1 - I26 + I27] f9(I29, I30, I31, I32) -> f2(I29, I30, I31, I32) f8(I33, I34, I35, I36) -> f9(I33, I34, 1 + I35, I36) f7(I37, I38, I39, I40) -> f8(I37, I38, I39, I40) [1 <= I38] f7(I41, I42, I43, I44) -> f8(I41, I42, I43, I44) [1 + I42 <= 0] f2(I45, I46, I47, I48) -> f7(I45, I49, I47, I48) [I49 = I49 /\ I48 <= I47 /\ I47 <= I48 /\ -1 * I47 + I48 <= 0 /\ -1 * I47 + I48 <= 0] f6(I50, I51, I52, I53) -> f2(I50, I51, I52, I53) f2(I54, I55, I56, I57) -> f6(I54, I58, I56, I57) [0 <= I58 /\ I58 <= 0 /\ I58 = I58 /\ I57 <= I56 /\ I56 <= I57 /\ -1 * I56 + I57 <= 0 /\ -1 * I56 + I57 <= 0] f4(I59, I60, I61, I62) -> f5(rnd1, I60, I61, I62) [rnd1 = rnd1] f3(I63, I64, I65, I66) -> f4(I63, I64, I65, I66) [1 + I66 <= I65] f3(I67, I68, I69, I70) -> f4(I67, I68, I69, I70) [1 + I69 <= I70] f2(I71, I72, I73, I74) -> f3(I71, I72, I73, I74) [-1 * I73 + I74 <= 0 /\ -1 * I73 + I74 <= 0] f1(I75, I76, I77, I78) -> f2(I75, I76, I77, I78) The dependency graph for this problem is: 0 -> 18 1 -> 5, 7, 12, 14, 17 2 -> 1 3 -> 2 4 -> 2 5 -> 3, 4 6 -> 5, 7, 12, 14, 17 7 -> 6 8 -> 5, 7, 12, 14, 17 9 -> 8 10 -> 9 11 -> 9 12 -> 10, 11 13 -> 5, 7, 12, 14, 17 14 -> 13 15 -> 16 -> 17 -> 15 18 -> 5, 7, 12, 14, 17 Where: 0) f14#(x1, x2, x3, x4) -> f1#(x1, x2, x3, x4) 1) f13#(I0, I1, I2, I3) -> f2#(I0, I1, I2, I3) 2) f12#(I4, I5, I6, I7) -> f13#(I4, I5, 1 + I6, I7) 3) f11#(I8, I9, I10, I11) -> f12#(I8, I9, I10, I11) [1 <= I9] 4) f11#(I12, I13, I14, I15) -> f12#(I12, I13, I14, I15) [1 + I13 <= 0] 5) f2#(I16, I17, I18, I19) -> f11#(I16, rnd2, I18, I19) [rnd2 = rnd2 /\ 0 <= -1 - I18 + I19] 6) f10#(I20, I21, I22, I23) -> f2#(I20, I21, I22, I23) 7) f2#(I24, I25, I26, I27) -> f10#(I24, I28, I26, I27) [0 <= I28 /\ I28 <= 0 /\ I28 = I28 /\ 0 <= -1 - I26 + I27] 8) f9#(I29, I30, I31, I32) -> f2#(I29, I30, I31, I32) 9) f8#(I33, I34, I35, I36) -> f9#(I33, I34, 1 + I35, I36) 10) f7#(I37, I38, I39, I40) -> f8#(I37, I38, I39, I40) [1 <= I38] 11) f7#(I41, I42, I43, I44) -> f8#(I41, I42, I43, I44) [1 + I42 <= 0] 12) f2#(I45, I46, I47, I48) -> f7#(I45, I49, I47, I48) [I49 = I49 /\ I48 <= I47 /\ I47 <= I48 /\ -1 * I47 + I48 <= 0 /\ -1 * I47 + I48 <= 0] 13) f6#(I50, I51, I52, I53) -> f2#(I50, I51, I52, I53) 14) f2#(I54, I55, I56, I57) -> f6#(I54, I58, I56, I57) [0 <= I58 /\ I58 <= 0 /\ I58 = I58 /\ I57 <= I56 /\ I56 <= I57 /\ -1 * I56 + I57 <= 0 /\ -1 * I56 + I57 <= 0] 15) f3#(I63, I64, I65, I66) -> f4#(I63, I64, I65, I66) [1 + I66 <= I65] 16) f3#(I67, I68, I69, I70) -> f4#(I67, I68, I69, I70) [1 + I69 <= I70] 17) f2#(I71, I72, I73, I74) -> f3#(I71, I72, I73, I74) [-1 * I73 + I74 <= 0 /\ -1 * I73 + I74 <= 0] 18) f1#(I75, I76, I77, I78) -> f2#(I75, I76, I77, I78) We have the following SCCs. { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 } DP problem for innermost termination. P = f13#(I0, I1, I2, I3) -> f2#(I0, I1, I2, I3) f12#(I4, I5, I6, I7) -> f13#(I4, I5, 1 + I6, I7) f11#(I8, I9, I10, I11) -> f12#(I8, I9, I10, I11) [1 <= I9] f11#(I12, I13, I14, I15) -> f12#(I12, I13, I14, I15) [1 + I13 <= 0] f2#(I16, I17, I18, I19) -> f11#(I16, rnd2, I18, I19) [rnd2 = rnd2 /\ 0 <= -1 - I18 + I19] f10#(I20, I21, I22, I23) -> f2#(I20, I21, I22, I23) f2#(I24, I25, I26, I27) -> f10#(I24, I28, I26, I27) [0 <= I28 /\ I28 <= 0 /\ I28 = I28 /\ 0 <= -1 - I26 + I27] f9#(I29, I30, I31, I32) -> f2#(I29, I30, I31, I32) f8#(I33, I34, I35, I36) -> f9#(I33, I34, 1 + I35, I36) f7#(I37, I38, I39, I40) -> f8#(I37, I38, I39, I40) [1 <= I38] f7#(I41, I42, I43, I44) -> f8#(I41, I42, I43, I44) [1 + I42 <= 0] f2#(I45, I46, I47, I48) -> f7#(I45, I49, I47, I48) [I49 = I49 /\ I48 <= I47 /\ I47 <= I48 /\ -1 * I47 + I48 <= 0 /\ -1 * I47 + I48 <= 0] f6#(I50, I51, I52, I53) -> f2#(I50, I51, I52, I53) f2#(I54, I55, I56, I57) -> f6#(I54, I58, I56, I57) [0 <= I58 /\ I58 <= 0 /\ I58 = I58 /\ I57 <= I56 /\ I56 <= I57 /\ -1 * I56 + I57 <= 0 /\ -1 * I56 + I57 <= 0] R = f14(x1, x2, x3, x4) -> f1(x1, x2, x3, x4) f13(I0, I1, I2, I3) -> f2(I0, I1, I2, I3) f12(I4, I5, I6, I7) -> f13(I4, I5, 1 + I6, I7) f11(I8, I9, I10, I11) -> f12(I8, I9, I10, I11) [1 <= I9] f11(I12, I13, I14, I15) -> f12(I12, I13, I14, I15) [1 + I13 <= 0] f2(I16, I17, I18, I19) -> f11(I16, rnd2, I18, I19) [rnd2 = rnd2 /\ 0 <= -1 - I18 + I19] f10(I20, I21, I22, I23) -> f2(I20, I21, I22, I23) f2(I24, I25, I26, I27) -> f10(I24, I28, I26, I27) [0 <= I28 /\ I28 <= 0 /\ I28 = I28 /\ 0 <= -1 - I26 + I27] f9(I29, I30, I31, I32) -> f2(I29, I30, I31, I32) f8(I33, I34, I35, I36) -> f9(I33, I34, 1 + I35, I36) f7(I37, I38, I39, I40) -> f8(I37, I38, I39, I40) [1 <= I38] f7(I41, I42, I43, I44) -> f8(I41, I42, I43, I44) [1 + I42 <= 0] f2(I45, I46, I47, I48) -> f7(I45, I49, I47, I48) [I49 = I49 /\ I48 <= I47 /\ I47 <= I48 /\ -1 * I47 + I48 <= 0 /\ -1 * I47 + I48 <= 0] f6(I50, I51, I52, I53) -> f2(I50, I51, I52, I53) f2(I54, I55, I56, I57) -> f6(I54, I58, I56, I57) [0 <= I58 /\ I58 <= 0 /\ I58 = I58 /\ I57 <= I56 /\ I56 <= I57 /\ -1 * I56 + I57 <= 0 /\ -1 * I56 + I57 <= 0] f4(I59, I60, I61, I62) -> f5(rnd1, I60, I61, I62) [rnd1 = rnd1] f3(I63, I64, I65, I66) -> f4(I63, I64, I65, I66) [1 + I66 <= I65] f3(I67, I68, I69, I70) -> f4(I67, I68, I69, I70) [1 + I69 <= I70] f2(I71, I72, I73, I74) -> f3(I71, I72, I73, I74) [-1 * I73 + I74 <= 0 /\ -1 * I73 + I74 <= 0] f1(I75, I76, I77, I78) -> f2(I75, I76, I77, I78) We use the extended value criterion with the projection function NU: NU[f6#(x0,x1,x2,x3)] = -x2 + x3 NU[f7#(x0,x1,x2,x3)] = -x2 + x3 NU[f8#(x0,x1,x2,x3)] = -x2 + x3 NU[f9#(x0,x1,x2,x3)] = -x2 + x3 NU[f10#(x0,x1,x2,x3)] = -x2 + x3 NU[f11#(x0,x1,x2,x3)] = -x2 + x3 - 1 NU[f12#(x0,x1,x2,x3)] = -x2 + x3 - 1 NU[f2#(x0,x1,x2,x3)] = -x2 + x3 NU[f13#(x0,x1,x2,x3)] = -x2 + x3 This gives the following inequalities: ==> -I2 + I3 >= -I2 + I3 ==> -I6 + I7 - 1 >= -(1 + I6) + I7 1 <= I9 ==> -I10 + I11 - 1 >= -I10 + I11 - 1 1 + I13 <= 0 ==> -I14 + I15 - 1 >= -I14 + I15 - 1 rnd2 = rnd2 /\ 0 <= -1 - I18 + I19 ==> -I18 + I19 > -I18 + I19 - 1 with -I18 + I19 >= 0 ==> -I22 + I23 >= -I22 + I23 0 <= I28 /\ I28 <= 0 /\ I28 = I28 /\ 0 <= -1 - I26 + I27 ==> -I26 + I27 >= -I26 + I27 ==> -I31 + I32 >= -I31 + I32 ==> -I35 + I36 >= -(1 + I35) + I36 1 <= I38 ==> -I39 + I40 >= -I39 + I40 1 + I42 <= 0 ==> -I43 + I44 >= -I43 + I44 I49 = I49 /\ I48 <= I47 /\ I47 <= I48 /\ -1 * I47 + I48 <= 0 /\ -1 * I47 + I48 <= 0 ==> -I47 + I48 >= -I47 + I48 ==> -I52 + I53 >= -I52 + I53 0 <= I58 /\ I58 <= 0 /\ I58 = I58 /\ I57 <= I56 /\ I56 <= I57 /\ -1 * I56 + I57 <= 0 /\ -1 * I56 + I57 <= 0 ==> -I56 + I57 >= -I56 + I57 We remove all the strictly oriented dependency pairs. DP problem for innermost termination. P = f13#(I0, I1, I2, I3) -> f2#(I0, I1, I2, I3) f12#(I4, I5, I6, I7) -> f13#(I4, I5, 1 + I6, I7) f11#(I8, I9, I10, I11) -> f12#(I8, I9, I10, I11) [1 <= I9] f11#(I12, I13, I14, I15) -> f12#(I12, I13, I14, I15) [1 + I13 <= 0] f10#(I20, I21, I22, I23) -> f2#(I20, I21, I22, I23) f2#(I24, I25, I26, I27) -> f10#(I24, I28, I26, I27) [0 <= I28 /\ I28 <= 0 /\ I28 = I28 /\ 0 <= -1 - I26 + I27] f9#(I29, I30, I31, I32) -> f2#(I29, I30, I31, I32) f8#(I33, I34, I35, I36) -> f9#(I33, I34, 1 + I35, I36) f7#(I37, I38, I39, I40) -> f8#(I37, I38, I39, I40) [1 <= I38] f7#(I41, I42, I43, I44) -> f8#(I41, I42, I43, I44) [1 + I42 <= 0] f2#(I45, I46, I47, I48) -> f7#(I45, I49, I47, I48) [I49 = I49 /\ I48 <= I47 /\ I47 <= I48 /\ -1 * I47 + I48 <= 0 /\ -1 * I47 + I48 <= 0] f6#(I50, I51, I52, I53) -> f2#(I50, I51, I52, I53) f2#(I54, I55, I56, I57) -> f6#(I54, I58, I56, I57) [0 <= I58 /\ I58 <= 0 /\ I58 = I58 /\ I57 <= I56 /\ I56 <= I57 /\ -1 * I56 + I57 <= 0 /\ -1 * I56 + I57 <= 0] R = f14(x1, x2, x3, x4) -> f1(x1, x2, x3, x4) f13(I0, I1, I2, I3) -> f2(I0, I1, I2, I3) f12(I4, I5, I6, I7) -> f13(I4, I5, 1 + I6, I7) f11(I8, I9, I10, I11) -> f12(I8, I9, I10, I11) [1 <= I9] f11(I12, I13, I14, I15) -> f12(I12, I13, I14, I15) [1 + I13 <= 0] f2(I16, I17, I18, I19) -> f11(I16, rnd2, I18, I19) [rnd2 = rnd2 /\ 0 <= -1 - I18 + I19] f10(I20, I21, I22, I23) -> f2(I20, I21, I22, I23) f2(I24, I25, I26, I27) -> f10(I24, I28, I26, I27) [0 <= I28 /\ I28 <= 0 /\ I28 = I28 /\ 0 <= -1 - I26 + I27] f9(I29, I30, I31, I32) -> f2(I29, I30, I31, I32) f8(I33, I34, I35, I36) -> f9(I33, I34, 1 + I35, I36) f7(I37, I38, I39, I40) -> f8(I37, I38, I39, I40) [1 <= I38] f7(I41, I42, I43, I44) -> f8(I41, I42, I43, I44) [1 + I42 <= 0] f2(I45, I46, I47, I48) -> f7(I45, I49, I47, I48) [I49 = I49 /\ I48 <= I47 /\ I47 <= I48 /\ -1 * I47 + I48 <= 0 /\ -1 * I47 + I48 <= 0] f6(I50, I51, I52, I53) -> f2(I50, I51, I52, I53) f2(I54, I55, I56, I57) -> f6(I54, I58, I56, I57) [0 <= I58 /\ I58 <= 0 /\ I58 = I58 /\ I57 <= I56 /\ I56 <= I57 /\ -1 * I56 + I57 <= 0 /\ -1 * I56 + I57 <= 0] f4(I59, I60, I61, I62) -> f5(rnd1, I60, I61, I62) [rnd1 = rnd1] f3(I63, I64, I65, I66) -> f4(I63, I64, I65, I66) [1 + I66 <= I65] f3(I67, I68, I69, I70) -> f4(I67, I68, I69, I70) [1 + I69 <= I70] f2(I71, I72, I73, I74) -> f3(I71, I72, I73, I74) [-1 * I73 + I74 <= 0 /\ -1 * I73 + I74 <= 0] f1(I75, I76, I77, I78) -> f2(I75, I76, I77, I78) The dependency graph for this problem is: 1 -> 7, 12, 14 2 -> 1 3 -> 2 4 -> 2 6 -> 7, 12, 14 7 -> 6 8 -> 7, 12, 14 9 -> 8 10 -> 9 11 -> 9 12 -> 10, 11 13 -> 7, 12, 14 14 -> 13 Where: 1) f13#(I0, I1, I2, I3) -> f2#(I0, I1, I2, I3) 2) f12#(I4, I5, I6, I7) -> f13#(I4, I5, 1 + I6, I7) 3) f11#(I8, I9, I10, I11) -> f12#(I8, I9, I10, I11) [1 <= I9] 4) f11#(I12, I13, I14, I15) -> f12#(I12, I13, I14, I15) [1 + I13 <= 0] 6) f10#(I20, I21, I22, I23) -> f2#(I20, I21, I22, I23) 7) f2#(I24, I25, I26, I27) -> f10#(I24, I28, I26, I27) [0 <= I28 /\ I28 <= 0 /\ I28 = I28 /\ 0 <= -1 - I26 + I27] 8) f9#(I29, I30, I31, I32) -> f2#(I29, I30, I31, I32) 9) f8#(I33, I34, I35, I36) -> f9#(I33, I34, 1 + I35, I36) 10) f7#(I37, I38, I39, I40) -> f8#(I37, I38, I39, I40) [1 <= I38] 11) f7#(I41, I42, I43, I44) -> f8#(I41, I42, I43, I44) [1 + I42 <= 0] 12) f2#(I45, I46, I47, I48) -> f7#(I45, I49, I47, I48) [I49 = I49 /\ I48 <= I47 /\ I47 <= I48 /\ -1 * I47 + I48 <= 0 /\ -1 * I47 + I48 <= 0] 13) f6#(I50, I51, I52, I53) -> f2#(I50, I51, I52, I53) 14) f2#(I54, I55, I56, I57) -> f6#(I54, I58, I56, I57) [0 <= I58 /\ I58 <= 0 /\ I58 = I58 /\ I57 <= I56 /\ I56 <= I57 /\ -1 * I56 + I57 <= 0 /\ -1 * I56 + I57 <= 0] We have the following SCCs. { 6, 7, 8, 9, 10, 11, 12, 13, 14 } DP problem for innermost termination. P = f10#(I20, I21, I22, I23) -> f2#(I20, I21, I22, I23) f2#(I24, I25, I26, I27) -> f10#(I24, I28, I26, I27) [0 <= I28 /\ I28 <= 0 /\ I28 = I28 /\ 0 <= -1 - I26 + I27] f9#(I29, I30, I31, I32) -> f2#(I29, I30, I31, I32) f8#(I33, I34, I35, I36) -> f9#(I33, I34, 1 + I35, I36) f7#(I37, I38, I39, I40) -> f8#(I37, I38, I39, I40) [1 <= I38] f7#(I41, I42, I43, I44) -> f8#(I41, I42, I43, I44) [1 + I42 <= 0] f2#(I45, I46, I47, I48) -> f7#(I45, I49, I47, I48) [I49 = I49 /\ I48 <= I47 /\ I47 <= I48 /\ -1 * I47 + I48 <= 0 /\ -1 * I47 + I48 <= 0] f6#(I50, I51, I52, I53) -> f2#(I50, I51, I52, I53) f2#(I54, I55, I56, I57) -> f6#(I54, I58, I56, I57) [0 <= I58 /\ I58 <= 0 /\ I58 = I58 /\ I57 <= I56 /\ I56 <= I57 /\ -1 * I56 + I57 <= 0 /\ -1 * I56 + I57 <= 0] R = f14(x1, x2, x3, x4) -> f1(x1, x2, x3, x4) f13(I0, I1, I2, I3) -> f2(I0, I1, I2, I3) f12(I4, I5, I6, I7) -> f13(I4, I5, 1 + I6, I7) f11(I8, I9, I10, I11) -> f12(I8, I9, I10, I11) [1 <= I9] f11(I12, I13, I14, I15) -> f12(I12, I13, I14, I15) [1 + I13 <= 0] f2(I16, I17, I18, I19) -> f11(I16, rnd2, I18, I19) [rnd2 = rnd2 /\ 0 <= -1 - I18 + I19] f10(I20, I21, I22, I23) -> f2(I20, I21, I22, I23) f2(I24, I25, I26, I27) -> f10(I24, I28, I26, I27) [0 <= I28 /\ I28 <= 0 /\ I28 = I28 /\ 0 <= -1 - I26 + I27] f9(I29, I30, I31, I32) -> f2(I29, I30, I31, I32) f8(I33, I34, I35, I36) -> f9(I33, I34, 1 + I35, I36) f7(I37, I38, I39, I40) -> f8(I37, I38, I39, I40) [1 <= I38] f7(I41, I42, I43, I44) -> f8(I41, I42, I43, I44) [1 + I42 <= 0] f2(I45, I46, I47, I48) -> f7(I45, I49, I47, I48) [I49 = I49 /\ I48 <= I47 /\ I47 <= I48 /\ -1 * I47 + I48 <= 0 /\ -1 * I47 + I48 <= 0] f6(I50, I51, I52, I53) -> f2(I50, I51, I52, I53) f2(I54, I55, I56, I57) -> f6(I54, I58, I56, I57) [0 <= I58 /\ I58 <= 0 /\ I58 = I58 /\ I57 <= I56 /\ I56 <= I57 /\ -1 * I56 + I57 <= 0 /\ -1 * I56 + I57 <= 0] f4(I59, I60, I61, I62) -> f5(rnd1, I60, I61, I62) [rnd1 = rnd1] f3(I63, I64, I65, I66) -> f4(I63, I64, I65, I66) [1 + I66 <= I65] f3(I67, I68, I69, I70) -> f4(I67, I68, I69, I70) [1 + I69 <= I70] f2(I71, I72, I73, I74) -> f3(I71, I72, I73, I74) [-1 * I73 + I74 <= 0 /\ -1 * I73 + I74 <= 0] f1(I75, I76, I77, I78) -> f2(I75, I76, I77, I78) We use the extended value criterion with the projection function NU: NU[f6#(x0,x1,x2,x3)] = -x2 + x3 NU[f7#(x0,x1,x2,x3)] = -x2 + x3 - 1 NU[f8#(x0,x1,x2,x3)] = -x2 + x3 - 1 NU[f9#(x0,x1,x2,x3)] = -x2 + x3 NU[f2#(x0,x1,x2,x3)] = -x2 + x3 NU[f10#(x0,x1,x2,x3)] = -x2 + x3 This gives the following inequalities: ==> -I22 + I23 >= -I22 + I23 0 <= I28 /\ I28 <= 0 /\ I28 = I28 /\ 0 <= -1 - I26 + I27 ==> -I26 + I27 >= -I26 + I27 ==> -I31 + I32 >= -I31 + I32 ==> -I35 + I36 - 1 >= -(1 + I35) + I36 1 <= I38 ==> -I39 + I40 - 1 >= -I39 + I40 - 1 1 + I42 <= 0 ==> -I43 + I44 - 1 >= -I43 + I44 - 1 I49 = I49 /\ I48 <= I47 /\ I47 <= I48 /\ -1 * I47 + I48 <= 0 /\ -1 * I47 + I48 <= 0 ==> -I47 + I48 > -I47 + I48 - 1 with -I47 + I48 >= 0 ==> -I52 + I53 >= -I52 + I53 0 <= I58 /\ I58 <= 0 /\ I58 = I58 /\ I57 <= I56 /\ I56 <= I57 /\ -1 * I56 + I57 <= 0 /\ -1 * I56 + I57 <= 0 ==> -I56 + I57 >= -I56 + I57 We remove all the strictly oriented dependency pairs. DP problem for innermost termination. P = f10#(I20, I21, I22, I23) -> f2#(I20, I21, I22, I23) f2#(I24, I25, I26, I27) -> f10#(I24, I28, I26, I27) [0 <= I28 /\ I28 <= 0 /\ I28 = I28 /\ 0 <= -1 - I26 + I27] f9#(I29, I30, I31, I32) -> f2#(I29, I30, I31, I32) f8#(I33, I34, I35, I36) -> f9#(I33, I34, 1 + I35, I36) f7#(I37, I38, I39, I40) -> f8#(I37, I38, I39, I40) [1 <= I38] f7#(I41, I42, I43, I44) -> f8#(I41, I42, I43, I44) [1 + I42 <= 0] f6#(I50, I51, I52, I53) -> f2#(I50, I51, I52, I53) f2#(I54, I55, I56, I57) -> f6#(I54, I58, I56, I57) [0 <= I58 /\ I58 <= 0 /\ I58 = I58 /\ I57 <= I56 /\ I56 <= I57 /\ -1 * I56 + I57 <= 0 /\ -1 * I56 + I57 <= 0] R = f14(x1, x2, x3, x4) -> f1(x1, x2, x3, x4) f13(I0, I1, I2, I3) -> f2(I0, I1, I2, I3) f12(I4, I5, I6, I7) -> f13(I4, I5, 1 + I6, I7) f11(I8, I9, I10, I11) -> f12(I8, I9, I10, I11) [1 <= I9] f11(I12, I13, I14, I15) -> f12(I12, I13, I14, I15) [1 + I13 <= 0] f2(I16, I17, I18, I19) -> f11(I16, rnd2, I18, I19) [rnd2 = rnd2 /\ 0 <= -1 - I18 + I19] f10(I20, I21, I22, I23) -> f2(I20, I21, I22, I23) f2(I24, I25, I26, I27) -> f10(I24, I28, I26, I27) [0 <= I28 /\ I28 <= 0 /\ I28 = I28 /\ 0 <= -1 - I26 + I27] f9(I29, I30, I31, I32) -> f2(I29, I30, I31, I32) f8(I33, I34, I35, I36) -> f9(I33, I34, 1 + I35, I36) f7(I37, I38, I39, I40) -> f8(I37, I38, I39, I40) [1 <= I38] f7(I41, I42, I43, I44) -> f8(I41, I42, I43, I44) [1 + I42 <= 0] f2(I45, I46, I47, I48) -> f7(I45, I49, I47, I48) [I49 = I49 /\ I48 <= I47 /\ I47 <= I48 /\ -1 * I47 + I48 <= 0 /\ -1 * I47 + I48 <= 0] f6(I50, I51, I52, I53) -> f2(I50, I51, I52, I53) f2(I54, I55, I56, I57) -> f6(I54, I58, I56, I57) [0 <= I58 /\ I58 <= 0 /\ I58 = I58 /\ I57 <= I56 /\ I56 <= I57 /\ -1 * I56 + I57 <= 0 /\ -1 * I56 + I57 <= 0] f4(I59, I60, I61, I62) -> f5(rnd1, I60, I61, I62) [rnd1 = rnd1] f3(I63, I64, I65, I66) -> f4(I63, I64, I65, I66) [1 + I66 <= I65] f3(I67, I68, I69, I70) -> f4(I67, I68, I69, I70) [1 + I69 <= I70] f2(I71, I72, I73, I74) -> f3(I71, I72, I73, I74) [-1 * I73 + I74 <= 0 /\ -1 * I73 + I74 <= 0] f1(I75, I76, I77, I78) -> f2(I75, I76, I77, I78) The dependency graph for this problem is: 6 -> 7, 14 7 -> 6 8 -> 7, 14 9 -> 8 10 -> 9 11 -> 9 13 -> 7, 14 14 -> 13 Where: 6) f10#(I20, I21, I22, I23) -> f2#(I20, I21, I22, I23) 7) f2#(I24, I25, I26, I27) -> f10#(I24, I28, I26, I27) [0 <= I28 /\ I28 <= 0 /\ I28 = I28 /\ 0 <= -1 - I26 + I27] 8) f9#(I29, I30, I31, I32) -> f2#(I29, I30, I31, I32) 9) f8#(I33, I34, I35, I36) -> f9#(I33, I34, 1 + I35, I36) 10) f7#(I37, I38, I39, I40) -> f8#(I37, I38, I39, I40) [1 <= I38] 11) f7#(I41, I42, I43, I44) -> f8#(I41, I42, I43, I44) [1 + I42 <= 0] 13) f6#(I50, I51, I52, I53) -> f2#(I50, I51, I52, I53) 14) f2#(I54, I55, I56, I57) -> f6#(I54, I58, I56, I57) [0 <= I58 /\ I58 <= 0 /\ I58 = I58 /\ I57 <= I56 /\ I56 <= I57 /\ -1 * I56 + I57 <= 0 /\ -1 * I56 + I57 <= 0] We have the following SCCs. { 6, 7, 13, 14 } DP problem for innermost termination. P = f10#(I20, I21, I22, I23) -> f2#(I20, I21, I22, I23) f2#(I24, I25, I26, I27) -> f10#(I24, I28, I26, I27) [0 <= I28 /\ I28 <= 0 /\ I28 = I28 /\ 0 <= -1 - I26 + I27] f6#(I50, I51, I52, I53) -> f2#(I50, I51, I52, I53) f2#(I54, I55, I56, I57) -> f6#(I54, I58, I56, I57) [0 <= I58 /\ I58 <= 0 /\ I58 = I58 /\ I57 <= I56 /\ I56 <= I57 /\ -1 * I56 + I57 <= 0 /\ -1 * I56 + I57 <= 0] R = f14(x1, x2, x3, x4) -> f1(x1, x2, x3, x4) f13(I0, I1, I2, I3) -> f2(I0, I1, I2, I3) f12(I4, I5, I6, I7) -> f13(I4, I5, 1 + I6, I7) f11(I8, I9, I10, I11) -> f12(I8, I9, I10, I11) [1 <= I9] f11(I12, I13, I14, I15) -> f12(I12, I13, I14, I15) [1 + I13 <= 0] f2(I16, I17, I18, I19) -> f11(I16, rnd2, I18, I19) [rnd2 = rnd2 /\ 0 <= -1 - I18 + I19] f10(I20, I21, I22, I23) -> f2(I20, I21, I22, I23) f2(I24, I25, I26, I27) -> f10(I24, I28, I26, I27) [0 <= I28 /\ I28 <= 0 /\ I28 = I28 /\ 0 <= -1 - I26 + I27] f9(I29, I30, I31, I32) -> f2(I29, I30, I31, I32) f8(I33, I34, I35, I36) -> f9(I33, I34, 1 + I35, I36) f7(I37, I38, I39, I40) -> f8(I37, I38, I39, I40) [1 <= I38] f7(I41, I42, I43, I44) -> f8(I41, I42, I43, I44) [1 + I42 <= 0] f2(I45, I46, I47, I48) -> f7(I45, I49, I47, I48) [I49 = I49 /\ I48 <= I47 /\ I47 <= I48 /\ -1 * I47 + I48 <= 0 /\ -1 * I47 + I48 <= 0] f6(I50, I51, I52, I53) -> f2(I50, I51, I52, I53) f2(I54, I55, I56, I57) -> f6(I54, I58, I56, I57) [0 <= I58 /\ I58 <= 0 /\ I58 = I58 /\ I57 <= I56 /\ I56 <= I57 /\ -1 * I56 + I57 <= 0 /\ -1 * I56 + I57 <= 0] f4(I59, I60, I61, I62) -> f5(rnd1, I60, I61, I62) [rnd1 = rnd1] f3(I63, I64, I65, I66) -> f4(I63, I64, I65, I66) [1 + I66 <= I65] f3(I67, I68, I69, I70) -> f4(I67, I68, I69, I70) [1 + I69 <= I70] f2(I71, I72, I73, I74) -> f3(I71, I72, I73, I74) [-1 * I73 + I74 <= 0 /\ -1 * I73 + I74 <= 0] f1(I75, I76, I77, I78) -> f2(I75, I76, I77, I78)