/export/starexec/sandbox/solver/bin/starexec_run_Transition /export/starexec/sandbox/benchmark/theBenchmark.smt2 /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES DP problem for innermost termination. P = init#(x1, x2, x3, x4) -> f1#(rnd1, rnd2, rnd3, rnd4) f16#(I0, I1, I2, I3) -> f16#(I0 * I1, I1 + 1, I1 + 1, I3) [I1 = I2 /\ 0 <= I1 - 1 /\ 0 <= I0 - 1 /\ I1 <= I3] f12#(I4, I5, I6, I7) -> f16#(1, 1, 1, I5) [-1 <= I6 - 1 /\ I5 <= I6 /\ 0 <= I4 - 1] f11#(I8, I9, I10, I11) -> f16#(1, 1, 1, I8) [1 <= I8 - 1 /\ 0 <= y1 - 1 /\ 1 <= I9 - 1 /\ y1 <= I8 - 1 /\ I8 <= I9 /\ I8 - 2 * y1 <= 1 /\ 0 <= I8 - 2 * y1] f8#(I12, I13, I14, I15) -> f11#(I12, I13, I16, I17) [1 <= I12 - 1 /\ 0 <= I18 - 1 /\ 1 <= I13 - 1 /\ I12 <= I13 /\ I18 <= I12 - 1] f7#(I19, I20, I21, I22) -> f16#(1, 1, 1, I19) [I19 <= I20 /\ I19 - 2 * I23 <= 1 /\ 0 <= I19 - 2 * I23] f5#(I24, I25, I26, I27) -> f7#(I24, I25, I28, I29) [I24 <= I25] f15#(I30, I31, I32, I33) -> f15#(I30 + 1, I31, I34, I35) [I30 <= I31] f12#(I36, I37, I38, I39) -> f15#(1, I37, I40, I41) [-1 <= I38 - 1 /\ I37 <= I38 /\ 0 <= I36 - 1] f11#(I42, I43, I44, I45) -> f15#(1, I42, I46, I47) [1 <= I42 - 1 /\ 0 <= I48 - 1 /\ 1 <= I43 - 1 /\ I48 <= I42 - 1 /\ I42 <= I43 /\ I42 - 2 * I48 <= 1 /\ 0 <= I42 - 2 * I48] f8#(I49, I50, I51, I52) -> f11#(I49, I50, I53, I54) [1 <= I49 - 1 /\ 0 <= I55 - 1 /\ 1 <= I50 - 1 /\ I49 <= I50 /\ I55 <= I49 - 1] f11#(I56, I57, I58, I59) -> f15#(1, I60, I61, I62) [0 <= I56 - 2 * I60 /\ I56 - 2 * I60 <= 1 /\ I56 <= I57 /\ I60 <= I56 - 1 /\ 1 <= I57 - 1 /\ 0 <= I60 - 1 /\ 1 <= I56 - 1] f8#(I63, I64, I65, I66) -> f11#(I63, I64, I67, I68) [1 <= I63 - 1 /\ 0 <= I69 - 1 /\ 1 <= I64 - 1 /\ I63 <= I64 /\ I69 <= I63 - 1] f7#(I70, I71, I72, I73) -> f15#(1, I70, I74, I75) [I70 <= I71 /\ I70 - 2 * I76 <= 1 /\ 0 <= I70 - 2 * I76] f5#(I77, I78, I79, I80) -> f7#(I77, I78, I81, I82) [I77 <= I78] f7#(I83, I84, I85, I86) -> f15#(1, I87, I88, I89) [0 <= I83 - 2 * I87 /\ I83 - 2 * I87 <= 1 /\ I83 <= I84] f5#(I90, I91, I92, I93) -> f7#(I90, I91, I94, I95) [I90 <= I91] f14#(I96, I97, I98, I99) -> f12#(I96, I97 + 1, I98, I100) [0 <= I96 - 1 /\ -1 <= I98 - 1 /\ 0 <= I101 - 1 /\ I97 <= I98 /\ y2 - I101 * y3 <= I101 - 1 /\ 0 <= y2 - I101 * y3] f12#(I102, I103, I104, I105) -> f14#(I102, I103, I104, I106) [0 <= I102 - 1 /\ -1 <= I104 - 1 /\ I103 <= I104 /\ 0 <= I107 - 1] f13#(I108, I109, I110, I111) -> f12#(I108, I110 + 1, I109, I112) f3#(I113, I114, I115, I116) -> f12#(I115, 0, I114, I117) [0 <= I114 - 3 * I118 - 1 /\ I114 <= I115 - 1 /\ 0 <= I115 - 1 /\ I114 - 2 * I119 = 1 /\ I114 - 5 * I120 = 0 /\ 0 <= I113 - 1 /\ 0 <= I114 - 2 * I119 /\ I114 - 2 * I119 <= 1 /\ I114 - 3 * I118 <= 2 /\ I114 - 5 * I120 <= 4 /\ 0 <= I114 - 5 * I120] f2#(I121, I122, I123, I124) -> f3#(I121, I122, I123, I125) [I122 <= I123 - 1 /\ 0 <= I123 - 1 /\ I122 - 2 * I126 = 1 /\ 0 <= I122 - 3 * I127 - 1 /\ I122 - 5 * I128 = 0 /\ 0 <= I121 - 1] f11#(I129, I130, I131, I132) -> f8#(I129 + 2, I130, I133, I134) [1 <= I129 - 1 /\ 0 <= I135 - 1 /\ 1 <= I130 - 1 /\ I135 <= I129 - 1 /\ I129 <= I130 /\ 0 <= I129 - 2 * I135 /\ I129 - 2 * I135 <= 1 /\ I136 - I137 * y4 <= I137 - 1 /\ 0 <= I136 - I137 * y4] f8#(I138, I139, I140, I141) -> f11#(I138, I139, I142, I143) [1 <= I138 - 1 /\ 0 <= I144 - 1 /\ 1 <= I139 - 1 /\ I138 <= I139 /\ I144 <= I138 - 1] f10#(I145, I146, I147, I148) -> f8#(I146 + 2, I145, I149, I150) [I151 - I152 * I153 <= I152 - 1 /\ 0 <= I151 - I152 * I153] f9#(I154, I155, I156, I157) -> f10#(I154, I155, I158, I159) f3#(I160, I161, I162, I163) -> f8#(2, I161, I164, I165) [I161 <= I162 - 1 /\ 0 <= I162 - 1 /\ I161 - 2 * I166 = 1 /\ I161 - 3 * I167 = 0 /\ 0 <= I160 - 1 /\ 0 <= I161 - 2 * I166 /\ I161 - 2 * I166 <= 1 /\ I161 - 3 * I167 <= 2 /\ 0 <= I161 - 3 * I167] f2#(I168, I169, I170, I171) -> f3#(I168, I169, I170, I172) [I169 <= I170 - 1 /\ 0 <= I170 - 1 /\ I169 - 2 * I173 = 1 /\ I169 - 3 * I174 = 0 /\ 0 <= I168 - 1] f7#(I175, I176, I177, I178) -> f5#(I175 + 2, I176, I179, I180) [I175 <= I176 /\ 0 <= I181 - 1 /\ 0 <= I175 - 2 * I182 /\ I175 - 2 * I182 <= 1 /\ I183 * I184 - I181 * y5 <= I181 - 1 /\ 0 <= I183 * I184 - I181 * y5] f5#(I185, I186, I187, I188) -> f7#(I185, I186, I189, I190) [0 <= I191 - 1 /\ I185 <= I186] f6#(I192, I193, I194, I195) -> f5#(I193 + 2, I192, I196, I197) f3#(I198, I199, I200, I201) -> f5#(3, I199, I202, I203) [I199 <= I200 - 1 /\ 0 <= I200 - 1 /\ I199 - 2 * I204 = 0 /\ 0 <= I198 - 1 /\ I199 - 2 * I204 <= 1 /\ 0 <= I199 - 2 * I204] f2#(I205, I206, I207, I208) -> f3#(I205, I206, I207, I209) [I206 <= I207 - 1 /\ 0 <= I207 - 1 /\ I206 - 2 * I210 = 0 /\ 0 <= I205 - 1] f3#(I211, I212, I213, I214) -> f2#(I215, I212 + 1, I213, I216) [I212 <= I213 - 1 /\ 0 <= I213 - 1 /\ I212 - 2 * I217 = 1 /\ I212 - 3 * I218 = 0 /\ I215 <= I211 /\ 0 <= I211 - 1 /\ 0 <= I215 - 1 /\ 0 <= I212 - 2 * I217 /\ I212 - 2 * I217 <= 1 /\ I212 - 3 * I218 <= 2 /\ 0 <= I212 - 3 * I218] f2#(I219, I220, I221, I222) -> f3#(I219, I220, I221, I223) [I220 <= I221 - 1 /\ 0 <= I221 - 1 /\ I220 - 2 * I224 = 1 /\ I220 - 3 * I225 = 0 /\ I226 <= I219 /\ 0 <= I219 - 1 /\ 0 <= I226 - 1] f3#(I227, I228, I229, I230) -> f2#(I231, I228 + 1, I229, I232) [I228 <= I229 - 1 /\ 0 <= I229 - 1 /\ I228 - 2 * I233 = 0 /\ I231 <= I227 /\ 0 <= I227 - 1 /\ 0 <= I231 - 1 /\ I228 - 2 * I233 <= 1 /\ 0 <= I228 - 2 * I233] f2#(I234, I235, I236, I237) -> f3#(I234, I235, I236, I238) [I235 <= I236 - 1 /\ 0 <= I236 - 1 /\ I235 - 2 * I239 = 0 /\ I240 <= I234 /\ 0 <= I234 - 1 /\ 0 <= I240 - 1] f3#(I241, I242, I243, I244) -> f2#(I245, I242 + 1, I243, I246) [0 <= I242 - 3 * I247 - 1 /\ I242 <= I243 - 1 /\ 0 <= I243 - 1 /\ I242 - 2 * I248 = 1 /\ I242 - 5 * I249 = 0 /\ I245 <= I241 /\ 0 <= I241 - 1 /\ 0 <= I245 - 1 /\ 0 <= I242 - 2 * I248 /\ I242 - 2 * I248 <= 1 /\ I242 - 3 * I247 <= 2 /\ I242 - 5 * I249 <= 4 /\ 0 <= I242 - 5 * I249] f2#(I250, I251, I252, I253) -> f3#(I250, I251, I252, I254) [I251 <= I252 - 1 /\ 0 <= I252 - 1 /\ I251 - 2 * I255 = 1 /\ 0 <= I251 - 3 * I256 - 1 /\ I251 - 5 * I257 = 0 /\ I258 <= I250 /\ 0 <= I250 - 1 /\ 0 <= I258 - 1] f4#(I259, I260, I261, I262) -> f2#(I263, I260 + 1, I262, I264) [0 <= I263 - 1 /\ 0 <= I259 - 1 /\ I263 <= I259 /\ 99 <= I261 - 1 /\ -1 <= I262 - 1] f4#(I265, I266, I267, I268) -> f4#(I269, I266, I267 + 1, I268) [0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265] f3#(I270, I271, I272, I273) -> f4#(I274, I271, 0, I272) [0 <= I271 - 5 * I275 - 1 /\ 0 <= I271 - 3 * I276 - 1 /\ I271 - 2 * I277 = 1 /\ I271 <= I272 - 1 /\ I274 <= I270 /\ 0 <= I270 - 1 /\ 0 <= I274 - 1 /\ 0 <= I271 - 2 * I277 /\ I271 - 2 * I277 <= 1 /\ I271 - 3 * I276 <= 2 /\ I271 - 5 * I275 <= 4] f2#(I278, I279, I280, I281) -> f3#(I278, I279, I280, I282) [I279 - 2 * I283 = 1 /\ I279 <= I280 - 1 /\ 0 <= I279 - 5 * I284 - 1 /\ 0 <= I279 - 3 * I285 - 1 /\ I286 <= I278 /\ 0 <= I278 - 1 /\ 0 <= I286 - 1] f1#(I287, I288, I289, I290) -> f2#(I291, 0, I288, I292) [0 <= I291 - 1 /\ 0 <= I287 - 1 /\ -1 <= I288 - 1 /\ I291 <= I287] R = init(x1, x2, x3, x4) -> f1(rnd1, rnd2, rnd3, rnd4) f16(I0, I1, I2, I3) -> f16(I0 * I1, I1 + 1, I1 + 1, I3) [I1 = I2 /\ 0 <= I1 - 1 /\ 0 <= I0 - 1 /\ I1 <= I3] f12(I4, I5, I6, I7) -> f16(1, 1, 1, I5) [-1 <= I6 - 1 /\ I5 <= I6 /\ 0 <= I4 - 1] f11(I8, I9, I10, I11) -> f16(1, 1, 1, I8) [1 <= I8 - 1 /\ 0 <= y1 - 1 /\ 1 <= I9 - 1 /\ y1 <= I8 - 1 /\ I8 <= I9 /\ I8 - 2 * y1 <= 1 /\ 0 <= I8 - 2 * y1] f8(I12, I13, I14, I15) -> f11(I12, I13, I16, I17) [1 <= I12 - 1 /\ 0 <= I18 - 1 /\ 1 <= I13 - 1 /\ I12 <= I13 /\ I18 <= I12 - 1] f7(I19, I20, I21, I22) -> f16(1, 1, 1, I19) [I19 <= I20 /\ I19 - 2 * I23 <= 1 /\ 0 <= I19 - 2 * I23] f5(I24, I25, I26, I27) -> f7(I24, I25, I28, I29) [I24 <= I25] f15(I30, I31, I32, I33) -> f15(I30 + 1, I31, I34, I35) [I30 <= I31] f12(I36, I37, I38, I39) -> f15(1, I37, I40, I41) [-1 <= I38 - 1 /\ I37 <= I38 /\ 0 <= I36 - 1] f11(I42, I43, I44, I45) -> f15(1, I42, I46, I47) [1 <= I42 - 1 /\ 0 <= I48 - 1 /\ 1 <= I43 - 1 /\ I48 <= I42 - 1 /\ I42 <= I43 /\ I42 - 2 * I48 <= 1 /\ 0 <= I42 - 2 * I48] f8(I49, I50, I51, I52) -> f11(I49, I50, I53, I54) [1 <= I49 - 1 /\ 0 <= I55 - 1 /\ 1 <= I50 - 1 /\ I49 <= I50 /\ I55 <= I49 - 1] f11(I56, I57, I58, I59) -> f15(1, I60, I61, I62) [0 <= I56 - 2 * I60 /\ I56 - 2 * I60 <= 1 /\ I56 <= I57 /\ I60 <= I56 - 1 /\ 1 <= I57 - 1 /\ 0 <= I60 - 1 /\ 1 <= I56 - 1] f8(I63, I64, I65, I66) -> f11(I63, I64, I67, I68) [1 <= I63 - 1 /\ 0 <= I69 - 1 /\ 1 <= I64 - 1 /\ I63 <= I64 /\ I69 <= I63 - 1] f7(I70, I71, I72, I73) -> f15(1, I70, I74, I75) [I70 <= I71 /\ I70 - 2 * I76 <= 1 /\ 0 <= I70 - 2 * I76] f5(I77, I78, I79, I80) -> f7(I77, I78, I81, I82) [I77 <= I78] f7(I83, I84, I85, I86) -> f15(1, I87, I88, I89) [0 <= I83 - 2 * I87 /\ I83 - 2 * I87 <= 1 /\ I83 <= I84] f5(I90, I91, I92, I93) -> f7(I90, I91, I94, I95) [I90 <= I91] f14(I96, I97, I98, I99) -> f12(I96, I97 + 1, I98, I100) [0 <= I96 - 1 /\ -1 <= I98 - 1 /\ 0 <= I101 - 1 /\ I97 <= I98 /\ y2 - I101 * y3 <= I101 - 1 /\ 0 <= y2 - I101 * y3] f12(I102, I103, I104, I105) -> f14(I102, I103, I104, I106) [0 <= I102 - 1 /\ -1 <= I104 - 1 /\ I103 <= I104 /\ 0 <= I107 - 1] f13(I108, I109, I110, I111) -> f12(I108, I110 + 1, I109, I112) f3(I113, I114, I115, I116) -> f12(I115, 0, I114, I117) [0 <= I114 - 3 * I118 - 1 /\ I114 <= I115 - 1 /\ 0 <= I115 - 1 /\ I114 - 2 * I119 = 1 /\ I114 - 5 * I120 = 0 /\ 0 <= I113 - 1 /\ 0 <= I114 - 2 * I119 /\ I114 - 2 * I119 <= 1 /\ I114 - 3 * I118 <= 2 /\ I114 - 5 * I120 <= 4 /\ 0 <= I114 - 5 * I120] f2(I121, I122, I123, I124) -> f3(I121, I122, I123, I125) [I122 <= I123 - 1 /\ 0 <= I123 - 1 /\ I122 - 2 * I126 = 1 /\ 0 <= I122 - 3 * I127 - 1 /\ I122 - 5 * I128 = 0 /\ 0 <= I121 - 1] f11(I129, I130, I131, I132) -> f8(I129 + 2, I130, I133, I134) [1 <= I129 - 1 /\ 0 <= I135 - 1 /\ 1 <= I130 - 1 /\ I135 <= I129 - 1 /\ I129 <= I130 /\ 0 <= I129 - 2 * I135 /\ I129 - 2 * I135 <= 1 /\ I136 - I137 * y4 <= I137 - 1 /\ 0 <= I136 - I137 * y4] f8(I138, I139, I140, I141) -> f11(I138, I139, I142, I143) [1 <= I138 - 1 /\ 0 <= I144 - 1 /\ 1 <= I139 - 1 /\ I138 <= I139 /\ I144 <= I138 - 1] f10(I145, I146, I147, I148) -> f8(I146 + 2, I145, I149, I150) [I151 - I152 * I153 <= I152 - 1 /\ 0 <= I151 - I152 * I153] f9(I154, I155, I156, I157) -> f10(I154, I155, I158, I159) f3(I160, I161, I162, I163) -> f8(2, I161, I164, I165) [I161 <= I162 - 1 /\ 0 <= I162 - 1 /\ I161 - 2 * I166 = 1 /\ I161 - 3 * I167 = 0 /\ 0 <= I160 - 1 /\ 0 <= I161 - 2 * I166 /\ I161 - 2 * I166 <= 1 /\ I161 - 3 * I167 <= 2 /\ 0 <= I161 - 3 * I167] f2(I168, I169, I170, I171) -> f3(I168, I169, I170, I172) [I169 <= I170 - 1 /\ 0 <= I170 - 1 /\ I169 - 2 * I173 = 1 /\ I169 - 3 * I174 = 0 /\ 0 <= I168 - 1] f7(I175, I176, I177, I178) -> f5(I175 + 2, I176, I179, I180) [I175 <= I176 /\ 0 <= I181 - 1 /\ 0 <= I175 - 2 * I182 /\ I175 - 2 * I182 <= 1 /\ I183 * I184 - I181 * y5 <= I181 - 1 /\ 0 <= I183 * I184 - I181 * y5] f5(I185, I186, I187, I188) -> f7(I185, I186, I189, I190) [0 <= I191 - 1 /\ I185 <= I186] f6(I192, I193, I194, I195) -> f5(I193 + 2, I192, I196, I197) f3(I198, I199, I200, I201) -> f5(3, I199, I202, I203) [I199 <= I200 - 1 /\ 0 <= I200 - 1 /\ I199 - 2 * I204 = 0 /\ 0 <= I198 - 1 /\ I199 - 2 * I204 <= 1 /\ 0 <= I199 - 2 * I204] f2(I205, I206, I207, I208) -> f3(I205, I206, I207, I209) [I206 <= I207 - 1 /\ 0 <= I207 - 1 /\ I206 - 2 * I210 = 0 /\ 0 <= I205 - 1] f3(I211, I212, I213, I214) -> f2(I215, I212 + 1, I213, I216) [I212 <= I213 - 1 /\ 0 <= I213 - 1 /\ I212 - 2 * I217 = 1 /\ I212 - 3 * I218 = 0 /\ I215 <= I211 /\ 0 <= I211 - 1 /\ 0 <= I215 - 1 /\ 0 <= I212 - 2 * I217 /\ I212 - 2 * I217 <= 1 /\ I212 - 3 * I218 <= 2 /\ 0 <= I212 - 3 * I218] f2(I219, I220, I221, I222) -> f3(I219, I220, I221, I223) [I220 <= I221 - 1 /\ 0 <= I221 - 1 /\ I220 - 2 * I224 = 1 /\ I220 - 3 * I225 = 0 /\ I226 <= I219 /\ 0 <= I219 - 1 /\ 0 <= I226 - 1] f3(I227, I228, I229, I230) -> f2(I231, I228 + 1, I229, I232) [I228 <= I229 - 1 /\ 0 <= I229 - 1 /\ I228 - 2 * I233 = 0 /\ I231 <= I227 /\ 0 <= I227 - 1 /\ 0 <= I231 - 1 /\ I228 - 2 * I233 <= 1 /\ 0 <= I228 - 2 * I233] f2(I234, I235, I236, I237) -> f3(I234, I235, I236, I238) [I235 <= I236 - 1 /\ 0 <= I236 - 1 /\ I235 - 2 * I239 = 0 /\ I240 <= I234 /\ 0 <= I234 - 1 /\ 0 <= I240 - 1] f3(I241, I242, I243, I244) -> f2(I245, I242 + 1, I243, I246) [0 <= I242 - 3 * I247 - 1 /\ I242 <= I243 - 1 /\ 0 <= I243 - 1 /\ I242 - 2 * I248 = 1 /\ I242 - 5 * I249 = 0 /\ I245 <= I241 /\ 0 <= I241 - 1 /\ 0 <= I245 - 1 /\ 0 <= I242 - 2 * I248 /\ I242 - 2 * I248 <= 1 /\ I242 - 3 * I247 <= 2 /\ I242 - 5 * I249 <= 4 /\ 0 <= I242 - 5 * I249] f2(I250, I251, I252, I253) -> f3(I250, I251, I252, I254) [I251 <= I252 - 1 /\ 0 <= I252 - 1 /\ I251 - 2 * I255 = 1 /\ 0 <= I251 - 3 * I256 - 1 /\ I251 - 5 * I257 = 0 /\ I258 <= I250 /\ 0 <= I250 - 1 /\ 0 <= I258 - 1] f4(I259, I260, I261, I262) -> f2(I263, I260 + 1, I262, I264) [0 <= I263 - 1 /\ 0 <= I259 - 1 /\ I263 <= I259 /\ 99 <= I261 - 1 /\ -1 <= I262 - 1] f4(I265, I266, I267, I268) -> f4(I269, I266, I267 + 1, I268) [0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265] f3(I270, I271, I272, I273) -> f4(I274, I271, 0, I272) [0 <= I271 - 5 * I275 - 1 /\ 0 <= I271 - 3 * I276 - 1 /\ I271 - 2 * I277 = 1 /\ I271 <= I272 - 1 /\ I274 <= I270 /\ 0 <= I270 - 1 /\ 0 <= I274 - 1 /\ 0 <= I271 - 2 * I277 /\ I271 - 2 * I277 <= 1 /\ I271 - 3 * I276 <= 2 /\ I271 - 5 * I275 <= 4] f2(I278, I279, I280, I281) -> f3(I278, I279, I280, I282) [I279 - 2 * I283 = 1 /\ I279 <= I280 - 1 /\ 0 <= I279 - 5 * I284 - 1 /\ 0 <= I279 - 3 * I285 - 1 /\ I286 <= I278 /\ 0 <= I278 - 1 /\ 0 <= I286 - 1] f1(I287, I288, I289, I290) -> f2(I291, 0, I288, I292) [0 <= I291 - 1 /\ 0 <= I287 - 1 /\ -1 <= I288 - 1 /\ I291 <= I287] The dependency graph for this problem is: 0 -> 43 1 -> 1 2 -> 1 3 -> 1 4 -> 3, 9, 11, 22 5 -> 1 6 -> 5, 13, 15, 28 7 -> 7 8 -> 7 9 -> 7 10 -> 3, 9, 11, 22 11 -> 7 12 -> 3, 9, 11, 22 13 -> 7 14 -> 5, 13, 15, 28 15 -> 7 16 -> 5, 13, 15, 28 17 -> 2, 8, 18 18 -> 17 19 -> 2, 8, 18 20 -> 2, 8, 18 21 -> 20, 26, 33, 37 22 -> 4, 10, 12, 23 23 -> 3, 9, 11, 22 24 -> 4, 10, 12, 23 25 -> 24 26 -> 4, 10, 12, 23 27 -> 26, 33 28 -> 6, 14, 16, 29 29 -> 5, 13, 15, 28 30 -> 6, 14, 16, 29 31 -> 6, 14, 16, 29 32 -> 31, 35 33 -> 32, 36 34 -> 26, 33 35 -> 21, 27, 34, 38, 42 36 -> 31, 35 37 -> 32, 36 38 -> 20, 26, 33, 37 39 -> 21, 27, 32, 34, 36, 38, 42 40 -> 39, 40 41 -> 40 42 -> 20, 26, 33, 37, 41 43 -> 32, 36 Where: 0) init#(x1, x2, x3, x4) -> f1#(rnd1, rnd2, rnd3, rnd4) 1) f16#(I0, I1, I2, I3) -> f16#(I0 * I1, I1 + 1, I1 + 1, I3) [I1 = I2 /\ 0 <= I1 - 1 /\ 0 <= I0 - 1 /\ I1 <= I3] 2) f12#(I4, I5, I6, I7) -> f16#(1, 1, 1, I5) [-1 <= I6 - 1 /\ I5 <= I6 /\ 0 <= I4 - 1] 3) f11#(I8, I9, I10, I11) -> f16#(1, 1, 1, I8) [1 <= I8 - 1 /\ 0 <= y1 - 1 /\ 1 <= I9 - 1 /\ y1 <= I8 - 1 /\ I8 <= I9 /\ I8 - 2 * y1 <= 1 /\ 0 <= I8 - 2 * y1] 4) f8#(I12, I13, I14, I15) -> f11#(I12, I13, I16, I17) [1 <= I12 - 1 /\ 0 <= I18 - 1 /\ 1 <= I13 - 1 /\ I12 <= I13 /\ I18 <= I12 - 1] 5) f7#(I19, I20, I21, I22) -> f16#(1, 1, 1, I19) [I19 <= I20 /\ I19 - 2 * I23 <= 1 /\ 0 <= I19 - 2 * I23] 6) f5#(I24, I25, I26, I27) -> f7#(I24, I25, I28, I29) [I24 <= I25] 7) f15#(I30, I31, I32, I33) -> f15#(I30 + 1, I31, I34, I35) [I30 <= I31] 8) f12#(I36, I37, I38, I39) -> f15#(1, I37, I40, I41) [-1 <= I38 - 1 /\ I37 <= I38 /\ 0 <= I36 - 1] 9) f11#(I42, I43, I44, I45) -> f15#(1, I42, I46, I47) [1 <= I42 - 1 /\ 0 <= I48 - 1 /\ 1 <= I43 - 1 /\ I48 <= I42 - 1 /\ I42 <= I43 /\ I42 - 2 * I48 <= 1 /\ 0 <= I42 - 2 * I48] 10) f8#(I49, I50, I51, I52) -> f11#(I49, I50, I53, I54) [1 <= I49 - 1 /\ 0 <= I55 - 1 /\ 1 <= I50 - 1 /\ I49 <= I50 /\ I55 <= I49 - 1] 11) f11#(I56, I57, I58, I59) -> f15#(1, I60, I61, I62) [0 <= I56 - 2 * I60 /\ I56 - 2 * I60 <= 1 /\ I56 <= I57 /\ I60 <= I56 - 1 /\ 1 <= I57 - 1 /\ 0 <= I60 - 1 /\ 1 <= I56 - 1] 12) f8#(I63, I64, I65, I66) -> f11#(I63, I64, I67, I68) [1 <= I63 - 1 /\ 0 <= I69 - 1 /\ 1 <= I64 - 1 /\ I63 <= I64 /\ I69 <= I63 - 1] 13) f7#(I70, I71, I72, I73) -> f15#(1, I70, I74, I75) [I70 <= I71 /\ I70 - 2 * I76 <= 1 /\ 0 <= I70 - 2 * I76] 14) f5#(I77, I78, I79, I80) -> f7#(I77, I78, I81, I82) [I77 <= I78] 15) f7#(I83, I84, I85, I86) -> f15#(1, I87, I88, I89) [0 <= I83 - 2 * I87 /\ I83 - 2 * I87 <= 1 /\ I83 <= I84] 16) f5#(I90, I91, I92, I93) -> f7#(I90, I91, I94, I95) [I90 <= I91] 17) f14#(I96, I97, I98, I99) -> f12#(I96, I97 + 1, I98, I100) [0 <= I96 - 1 /\ -1 <= I98 - 1 /\ 0 <= I101 - 1 /\ I97 <= I98 /\ y2 - I101 * y3 <= I101 - 1 /\ 0 <= y2 - I101 * y3] 18) f12#(I102, I103, I104, I105) -> f14#(I102, I103, I104, I106) [0 <= I102 - 1 /\ -1 <= I104 - 1 /\ I103 <= I104 /\ 0 <= I107 - 1] 19) f13#(I108, I109, I110, I111) -> f12#(I108, I110 + 1, I109, I112) 20) f3#(I113, I114, I115, I116) -> f12#(I115, 0, I114, I117) [0 <= I114 - 3 * I118 - 1 /\ I114 <= I115 - 1 /\ 0 <= I115 - 1 /\ I114 - 2 * I119 = 1 /\ I114 - 5 * I120 = 0 /\ 0 <= I113 - 1 /\ 0 <= I114 - 2 * I119 /\ I114 - 2 * I119 <= 1 /\ I114 - 3 * I118 <= 2 /\ I114 - 5 * I120 <= 4 /\ 0 <= I114 - 5 * I120] 21) f2#(I121, I122, I123, I124) -> f3#(I121, I122, I123, I125) [I122 <= I123 - 1 /\ 0 <= I123 - 1 /\ I122 - 2 * I126 = 1 /\ 0 <= I122 - 3 * I127 - 1 /\ I122 - 5 * I128 = 0 /\ 0 <= I121 - 1] 22) f11#(I129, I130, I131, I132) -> f8#(I129 + 2, I130, I133, I134) [1 <= I129 - 1 /\ 0 <= I135 - 1 /\ 1 <= I130 - 1 /\ I135 <= I129 - 1 /\ I129 <= I130 /\ 0 <= I129 - 2 * I135 /\ I129 - 2 * I135 <= 1 /\ I136 - I137 * y4 <= I137 - 1 /\ 0 <= I136 - I137 * y4] 23) f8#(I138, I139, I140, I141) -> f11#(I138, I139, I142, I143) [1 <= I138 - 1 /\ 0 <= I144 - 1 /\ 1 <= I139 - 1 /\ I138 <= I139 /\ I144 <= I138 - 1] 24) f10#(I145, I146, I147, I148) -> f8#(I146 + 2, I145, I149, I150) [I151 - I152 * I153 <= I152 - 1 /\ 0 <= I151 - I152 * I153] 25) f9#(I154, I155, I156, I157) -> f10#(I154, I155, I158, I159) 26) f3#(I160, I161, I162, I163) -> f8#(2, I161, I164, I165) [I161 <= I162 - 1 /\ 0 <= I162 - 1 /\ I161 - 2 * I166 = 1 /\ I161 - 3 * I167 = 0 /\ 0 <= I160 - 1 /\ 0 <= I161 - 2 * I166 /\ I161 - 2 * I166 <= 1 /\ I161 - 3 * I167 <= 2 /\ 0 <= I161 - 3 * I167] 27) f2#(I168, I169, I170, I171) -> f3#(I168, I169, I170, I172) [I169 <= I170 - 1 /\ 0 <= I170 - 1 /\ I169 - 2 * I173 = 1 /\ I169 - 3 * I174 = 0 /\ 0 <= I168 - 1] 28) f7#(I175, I176, I177, I178) -> f5#(I175 + 2, I176, I179, I180) [I175 <= I176 /\ 0 <= I181 - 1 /\ 0 <= I175 - 2 * I182 /\ I175 - 2 * I182 <= 1 /\ I183 * I184 - I181 * y5 <= I181 - 1 /\ 0 <= I183 * I184 - I181 * y5] 29) f5#(I185, I186, I187, I188) -> f7#(I185, I186, I189, I190) [0 <= I191 - 1 /\ I185 <= I186] 30) f6#(I192, I193, I194, I195) -> f5#(I193 + 2, I192, I196, I197) 31) f3#(I198, I199, I200, I201) -> f5#(3, I199, I202, I203) [I199 <= I200 - 1 /\ 0 <= I200 - 1 /\ I199 - 2 * I204 = 0 /\ 0 <= I198 - 1 /\ I199 - 2 * I204 <= 1 /\ 0 <= I199 - 2 * I204] 32) f2#(I205, I206, I207, I208) -> f3#(I205, I206, I207, I209) [I206 <= I207 - 1 /\ 0 <= I207 - 1 /\ I206 - 2 * I210 = 0 /\ 0 <= I205 - 1] 33) f3#(I211, I212, I213, I214) -> f2#(I215, I212 + 1, I213, I216) [I212 <= I213 - 1 /\ 0 <= I213 - 1 /\ I212 - 2 * I217 = 1 /\ I212 - 3 * I218 = 0 /\ I215 <= I211 /\ 0 <= I211 - 1 /\ 0 <= I215 - 1 /\ 0 <= I212 - 2 * I217 /\ I212 - 2 * I217 <= 1 /\ I212 - 3 * I218 <= 2 /\ 0 <= I212 - 3 * I218] 34) f2#(I219, I220, I221, I222) -> f3#(I219, I220, I221, I223) [I220 <= I221 - 1 /\ 0 <= I221 - 1 /\ I220 - 2 * I224 = 1 /\ I220 - 3 * I225 = 0 /\ I226 <= I219 /\ 0 <= I219 - 1 /\ 0 <= I226 - 1] 35) f3#(I227, I228, I229, I230) -> f2#(I231, I228 + 1, I229, I232) [I228 <= I229 - 1 /\ 0 <= I229 - 1 /\ I228 - 2 * I233 = 0 /\ I231 <= I227 /\ 0 <= I227 - 1 /\ 0 <= I231 - 1 /\ I228 - 2 * I233 <= 1 /\ 0 <= I228 - 2 * I233] 36) f2#(I234, I235, I236, I237) -> f3#(I234, I235, I236, I238) [I235 <= I236 - 1 /\ 0 <= I236 - 1 /\ I235 - 2 * I239 = 0 /\ I240 <= I234 /\ 0 <= I234 - 1 /\ 0 <= I240 - 1] 37) f3#(I241, I242, I243, I244) -> f2#(I245, I242 + 1, I243, I246) [0 <= I242 - 3 * I247 - 1 /\ I242 <= I243 - 1 /\ 0 <= I243 - 1 /\ I242 - 2 * I248 = 1 /\ I242 - 5 * I249 = 0 /\ I245 <= I241 /\ 0 <= I241 - 1 /\ 0 <= I245 - 1 /\ 0 <= I242 - 2 * I248 /\ I242 - 2 * I248 <= 1 /\ I242 - 3 * I247 <= 2 /\ I242 - 5 * I249 <= 4 /\ 0 <= I242 - 5 * I249] 38) f2#(I250, I251, I252, I253) -> f3#(I250, I251, I252, I254) [I251 <= I252 - 1 /\ 0 <= I252 - 1 /\ I251 - 2 * I255 = 1 /\ 0 <= I251 - 3 * I256 - 1 /\ I251 - 5 * I257 = 0 /\ I258 <= I250 /\ 0 <= I250 - 1 /\ 0 <= I258 - 1] 39) f4#(I259, I260, I261, I262) -> f2#(I263, I260 + 1, I262, I264) [0 <= I263 - 1 /\ 0 <= I259 - 1 /\ I263 <= I259 /\ 99 <= I261 - 1 /\ -1 <= I262 - 1] 40) f4#(I265, I266, I267, I268) -> f4#(I269, I266, I267 + 1, I268) [0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265] 41) f3#(I270, I271, I272, I273) -> f4#(I274, I271, 0, I272) [0 <= I271 - 5 * I275 - 1 /\ 0 <= I271 - 3 * I276 - 1 /\ I271 - 2 * I277 = 1 /\ I271 <= I272 - 1 /\ I274 <= I270 /\ 0 <= I270 - 1 /\ 0 <= I274 - 1 /\ 0 <= I271 - 2 * I277 /\ I271 - 2 * I277 <= 1 /\ I271 - 3 * I276 <= 2 /\ I271 - 5 * I275 <= 4] 42) f2#(I278, I279, I280, I281) -> f3#(I278, I279, I280, I282) [I279 - 2 * I283 = 1 /\ I279 <= I280 - 1 /\ 0 <= I279 - 5 * I284 - 1 /\ 0 <= I279 - 3 * I285 - 1 /\ I286 <= I278 /\ 0 <= I278 - 1 /\ 0 <= I286 - 1] 43) f1#(I287, I288, I289, I290) -> f2#(I291, 0, I288, I292) [0 <= I291 - 1 /\ 0 <= I287 - 1 /\ -1 <= I288 - 1 /\ I291 <= I287] We have the following SCCs. { 21, 27, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42 } { 4, 10, 12, 22, 23 } { 17, 18 } { 6, 14, 16, 28, 29 } { 7 } { 1 } DP problem for innermost termination. P = f16#(I0, I1, I2, I3) -> f16#(I0 * I1, I1 + 1, I1 + 1, I3) [I1 = I2 /\ 0 <= I1 - 1 /\ 0 <= I0 - 1 /\ I1 <= I3] R = init(x1, x2, x3, x4) -> f1(rnd1, rnd2, rnd3, rnd4) f16(I0, I1, I2, I3) -> f16(I0 * I1, I1 + 1, I1 + 1, I3) [I1 = I2 /\ 0 <= I1 - 1 /\ 0 <= I0 - 1 /\ I1 <= I3] f12(I4, I5, I6, I7) -> f16(1, 1, 1, I5) [-1 <= I6 - 1 /\ I5 <= I6 /\ 0 <= I4 - 1] f11(I8, I9, I10, I11) -> f16(1, 1, 1, I8) [1 <= I8 - 1 /\ 0 <= y1 - 1 /\ 1 <= I9 - 1 /\ y1 <= I8 - 1 /\ I8 <= I9 /\ I8 - 2 * y1 <= 1 /\ 0 <= I8 - 2 * y1] f8(I12, I13, I14, I15) -> f11(I12, I13, I16, I17) [1 <= I12 - 1 /\ 0 <= I18 - 1 /\ 1 <= I13 - 1 /\ I12 <= I13 /\ I18 <= I12 - 1] f7(I19, I20, I21, I22) -> f16(1, 1, 1, I19) [I19 <= I20 /\ I19 - 2 * I23 <= 1 /\ 0 <= I19 - 2 * I23] f5(I24, I25, I26, I27) -> f7(I24, I25, I28, I29) [I24 <= I25] f15(I30, I31, I32, I33) -> f15(I30 + 1, I31, I34, I35) [I30 <= I31] f12(I36, I37, I38, I39) -> f15(1, I37, I40, I41) [-1 <= I38 - 1 /\ I37 <= I38 /\ 0 <= I36 - 1] f11(I42, I43, I44, I45) -> f15(1, I42, I46, I47) [1 <= I42 - 1 /\ 0 <= I48 - 1 /\ 1 <= I43 - 1 /\ I48 <= I42 - 1 /\ I42 <= I43 /\ I42 - 2 * I48 <= 1 /\ 0 <= I42 - 2 * I48] f8(I49, I50, I51, I52) -> f11(I49, I50, I53, I54) [1 <= I49 - 1 /\ 0 <= I55 - 1 /\ 1 <= I50 - 1 /\ I49 <= I50 /\ I55 <= I49 - 1] f11(I56, I57, I58, I59) -> f15(1, I60, I61, I62) [0 <= I56 - 2 * I60 /\ I56 - 2 * I60 <= 1 /\ I56 <= I57 /\ I60 <= I56 - 1 /\ 1 <= I57 - 1 /\ 0 <= I60 - 1 /\ 1 <= I56 - 1] f8(I63, I64, I65, I66) -> f11(I63, I64, I67, I68) [1 <= I63 - 1 /\ 0 <= I69 - 1 /\ 1 <= I64 - 1 /\ I63 <= I64 /\ I69 <= I63 - 1] f7(I70, I71, I72, I73) -> f15(1, I70, I74, I75) [I70 <= I71 /\ I70 - 2 * I76 <= 1 /\ 0 <= I70 - 2 * I76] f5(I77, I78, I79, I80) -> f7(I77, I78, I81, I82) [I77 <= I78] f7(I83, I84, I85, I86) -> f15(1, I87, I88, I89) [0 <= I83 - 2 * I87 /\ I83 - 2 * I87 <= 1 /\ I83 <= I84] f5(I90, I91, I92, I93) -> f7(I90, I91, I94, I95) [I90 <= I91] f14(I96, I97, I98, I99) -> f12(I96, I97 + 1, I98, I100) [0 <= I96 - 1 /\ -1 <= I98 - 1 /\ 0 <= I101 - 1 /\ I97 <= I98 /\ y2 - I101 * y3 <= I101 - 1 /\ 0 <= y2 - I101 * y3] f12(I102, I103, I104, I105) -> f14(I102, I103, I104, I106) [0 <= I102 - 1 /\ -1 <= I104 - 1 /\ I103 <= I104 /\ 0 <= I107 - 1] f13(I108, I109, I110, I111) -> f12(I108, I110 + 1, I109, I112) f3(I113, I114, I115, I116) -> f12(I115, 0, I114, I117) [0 <= I114 - 3 * I118 - 1 /\ I114 <= I115 - 1 /\ 0 <= I115 - 1 /\ I114 - 2 * I119 = 1 /\ I114 - 5 * I120 = 0 /\ 0 <= I113 - 1 /\ 0 <= I114 - 2 * I119 /\ I114 - 2 * I119 <= 1 /\ I114 - 3 * I118 <= 2 /\ I114 - 5 * I120 <= 4 /\ 0 <= I114 - 5 * I120] f2(I121, I122, I123, I124) -> f3(I121, I122, I123, I125) [I122 <= I123 - 1 /\ 0 <= I123 - 1 /\ I122 - 2 * I126 = 1 /\ 0 <= I122 - 3 * I127 - 1 /\ I122 - 5 * I128 = 0 /\ 0 <= I121 - 1] f11(I129, I130, I131, I132) -> f8(I129 + 2, I130, I133, I134) [1 <= I129 - 1 /\ 0 <= I135 - 1 /\ 1 <= I130 - 1 /\ I135 <= I129 - 1 /\ I129 <= I130 /\ 0 <= I129 - 2 * I135 /\ I129 - 2 * I135 <= 1 /\ I136 - I137 * y4 <= I137 - 1 /\ 0 <= I136 - I137 * y4] f8(I138, I139, I140, I141) -> f11(I138, I139, I142, I143) [1 <= I138 - 1 /\ 0 <= I144 - 1 /\ 1 <= I139 - 1 /\ I138 <= I139 /\ I144 <= I138 - 1] f10(I145, I146, I147, I148) -> f8(I146 + 2, I145, I149, I150) [I151 - I152 * I153 <= I152 - 1 /\ 0 <= I151 - I152 * I153] f9(I154, I155, I156, I157) -> f10(I154, I155, I158, I159) f3(I160, I161, I162, I163) -> f8(2, I161, I164, I165) [I161 <= I162 - 1 /\ 0 <= I162 - 1 /\ I161 - 2 * I166 = 1 /\ I161 - 3 * I167 = 0 /\ 0 <= I160 - 1 /\ 0 <= I161 - 2 * I166 /\ I161 - 2 * I166 <= 1 /\ I161 - 3 * I167 <= 2 /\ 0 <= I161 - 3 * I167] f2(I168, I169, I170, I171) -> f3(I168, I169, I170, I172) [I169 <= I170 - 1 /\ 0 <= I170 - 1 /\ I169 - 2 * I173 = 1 /\ I169 - 3 * I174 = 0 /\ 0 <= I168 - 1] f7(I175, I176, I177, I178) -> f5(I175 + 2, I176, I179, I180) [I175 <= I176 /\ 0 <= I181 - 1 /\ 0 <= I175 - 2 * I182 /\ I175 - 2 * I182 <= 1 /\ I183 * I184 - I181 * y5 <= I181 - 1 /\ 0 <= I183 * I184 - I181 * y5] f5(I185, I186, I187, I188) -> f7(I185, I186, I189, I190) [0 <= I191 - 1 /\ I185 <= I186] f6(I192, I193, I194, I195) -> f5(I193 + 2, I192, I196, I197) f3(I198, I199, I200, I201) -> f5(3, I199, I202, I203) [I199 <= I200 - 1 /\ 0 <= I200 - 1 /\ I199 - 2 * I204 = 0 /\ 0 <= I198 - 1 /\ I199 - 2 * I204 <= 1 /\ 0 <= I199 - 2 * I204] f2(I205, I206, I207, I208) -> f3(I205, I206, I207, I209) [I206 <= I207 - 1 /\ 0 <= I207 - 1 /\ I206 - 2 * I210 = 0 /\ 0 <= I205 - 1] f3(I211, I212, I213, I214) -> f2(I215, I212 + 1, I213, I216) [I212 <= I213 - 1 /\ 0 <= I213 - 1 /\ I212 - 2 * I217 = 1 /\ I212 - 3 * I218 = 0 /\ I215 <= I211 /\ 0 <= I211 - 1 /\ 0 <= I215 - 1 /\ 0 <= I212 - 2 * I217 /\ I212 - 2 * I217 <= 1 /\ I212 - 3 * I218 <= 2 /\ 0 <= I212 - 3 * I218] f2(I219, I220, I221, I222) -> f3(I219, I220, I221, I223) [I220 <= I221 - 1 /\ 0 <= I221 - 1 /\ I220 - 2 * I224 = 1 /\ I220 - 3 * I225 = 0 /\ I226 <= I219 /\ 0 <= I219 - 1 /\ 0 <= I226 - 1] f3(I227, I228, I229, I230) -> f2(I231, I228 + 1, I229, I232) [I228 <= I229 - 1 /\ 0 <= I229 - 1 /\ I228 - 2 * I233 = 0 /\ I231 <= I227 /\ 0 <= I227 - 1 /\ 0 <= I231 - 1 /\ I228 - 2 * I233 <= 1 /\ 0 <= I228 - 2 * I233] f2(I234, I235, I236, I237) -> f3(I234, I235, I236, I238) [I235 <= I236 - 1 /\ 0 <= I236 - 1 /\ I235 - 2 * I239 = 0 /\ I240 <= I234 /\ 0 <= I234 - 1 /\ 0 <= I240 - 1] f3(I241, I242, I243, I244) -> f2(I245, I242 + 1, I243, I246) [0 <= I242 - 3 * I247 - 1 /\ I242 <= I243 - 1 /\ 0 <= I243 - 1 /\ I242 - 2 * I248 = 1 /\ I242 - 5 * I249 = 0 /\ I245 <= I241 /\ 0 <= I241 - 1 /\ 0 <= I245 - 1 /\ 0 <= I242 - 2 * I248 /\ I242 - 2 * I248 <= 1 /\ I242 - 3 * I247 <= 2 /\ I242 - 5 * I249 <= 4 /\ 0 <= I242 - 5 * I249] f2(I250, I251, I252, I253) -> f3(I250, I251, I252, I254) [I251 <= I252 - 1 /\ 0 <= I252 - 1 /\ I251 - 2 * I255 = 1 /\ 0 <= I251 - 3 * I256 - 1 /\ I251 - 5 * I257 = 0 /\ I258 <= I250 /\ 0 <= I250 - 1 /\ 0 <= I258 - 1] f4(I259, I260, I261, I262) -> f2(I263, I260 + 1, I262, I264) [0 <= I263 - 1 /\ 0 <= I259 - 1 /\ I263 <= I259 /\ 99 <= I261 - 1 /\ -1 <= I262 - 1] f4(I265, I266, I267, I268) -> f4(I269, I266, I267 + 1, I268) [0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265] f3(I270, I271, I272, I273) -> f4(I274, I271, 0, I272) [0 <= I271 - 5 * I275 - 1 /\ 0 <= I271 - 3 * I276 - 1 /\ I271 - 2 * I277 = 1 /\ I271 <= I272 - 1 /\ I274 <= I270 /\ 0 <= I270 - 1 /\ 0 <= I274 - 1 /\ 0 <= I271 - 2 * I277 /\ I271 - 2 * I277 <= 1 /\ I271 - 3 * I276 <= 2 /\ I271 - 5 * I275 <= 4] f2(I278, I279, I280, I281) -> f3(I278, I279, I280, I282) [I279 - 2 * I283 = 1 /\ I279 <= I280 - 1 /\ 0 <= I279 - 5 * I284 - 1 /\ 0 <= I279 - 3 * I285 - 1 /\ I286 <= I278 /\ 0 <= I278 - 1 /\ 0 <= I286 - 1] f1(I287, I288, I289, I290) -> f2(I291, 0, I288, I292) [0 <= I291 - 1 /\ 0 <= I287 - 1 /\ -1 <= I288 - 1 /\ I291 <= I287] We use the reverse value criterion with the projection function NU: NU[f16#(z1,z2,z3,z4)] = z4 + -1 * z2 This gives the following inequalities: I1 = I2 /\ 0 <= I1 - 1 /\ 0 <= I0 - 1 /\ I1 <= I3 ==> I3 + -1 * I1 > I3 + -1 * (I1 + 1) with I3 + -1 * I1 >= 0 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed. DP problem for innermost termination. P = f15#(I30, I31, I32, I33) -> f15#(I30 + 1, I31, I34, I35) [I30 <= I31] R = init(x1, x2, x3, x4) -> f1(rnd1, rnd2, rnd3, rnd4) f16(I0, I1, I2, I3) -> f16(I0 * I1, I1 + 1, I1 + 1, I3) [I1 = I2 /\ 0 <= I1 - 1 /\ 0 <= I0 - 1 /\ I1 <= I3] f12(I4, I5, I6, I7) -> f16(1, 1, 1, I5) [-1 <= I6 - 1 /\ I5 <= I6 /\ 0 <= I4 - 1] f11(I8, I9, I10, I11) -> f16(1, 1, 1, I8) [1 <= I8 - 1 /\ 0 <= y1 - 1 /\ 1 <= I9 - 1 /\ y1 <= I8 - 1 /\ I8 <= I9 /\ I8 - 2 * y1 <= 1 /\ 0 <= I8 - 2 * y1] f8(I12, I13, I14, I15) -> f11(I12, I13, I16, I17) [1 <= I12 - 1 /\ 0 <= I18 - 1 /\ 1 <= I13 - 1 /\ I12 <= I13 /\ I18 <= I12 - 1] f7(I19, I20, I21, I22) -> f16(1, 1, 1, I19) [I19 <= I20 /\ I19 - 2 * I23 <= 1 /\ 0 <= I19 - 2 * I23] f5(I24, I25, I26, I27) -> f7(I24, I25, I28, I29) [I24 <= I25] f15(I30, I31, I32, I33) -> f15(I30 + 1, I31, I34, I35) [I30 <= I31] f12(I36, I37, I38, I39) -> f15(1, I37, I40, I41) [-1 <= I38 - 1 /\ I37 <= I38 /\ 0 <= I36 - 1] f11(I42, I43, I44, I45) -> f15(1, I42, I46, I47) [1 <= I42 - 1 /\ 0 <= I48 - 1 /\ 1 <= I43 - 1 /\ I48 <= I42 - 1 /\ I42 <= I43 /\ I42 - 2 * I48 <= 1 /\ 0 <= I42 - 2 * I48] f8(I49, I50, I51, I52) -> f11(I49, I50, I53, I54) [1 <= I49 - 1 /\ 0 <= I55 - 1 /\ 1 <= I50 - 1 /\ I49 <= I50 /\ I55 <= I49 - 1] f11(I56, I57, I58, I59) -> f15(1, I60, I61, I62) [0 <= I56 - 2 * I60 /\ I56 - 2 * I60 <= 1 /\ I56 <= I57 /\ I60 <= I56 - 1 /\ 1 <= I57 - 1 /\ 0 <= I60 - 1 /\ 1 <= I56 - 1] f8(I63, I64, I65, I66) -> f11(I63, I64, I67, I68) [1 <= I63 - 1 /\ 0 <= I69 - 1 /\ 1 <= I64 - 1 /\ I63 <= I64 /\ I69 <= I63 - 1] f7(I70, I71, I72, I73) -> f15(1, I70, I74, I75) [I70 <= I71 /\ I70 - 2 * I76 <= 1 /\ 0 <= I70 - 2 * I76] f5(I77, I78, I79, I80) -> f7(I77, I78, I81, I82) [I77 <= I78] f7(I83, I84, I85, I86) -> f15(1, I87, I88, I89) [0 <= I83 - 2 * I87 /\ I83 - 2 * I87 <= 1 /\ I83 <= I84] f5(I90, I91, I92, I93) -> f7(I90, I91, I94, I95) [I90 <= I91] f14(I96, I97, I98, I99) -> f12(I96, I97 + 1, I98, I100) [0 <= I96 - 1 /\ -1 <= I98 - 1 /\ 0 <= I101 - 1 /\ I97 <= I98 /\ y2 - I101 * y3 <= I101 - 1 /\ 0 <= y2 - I101 * y3] f12(I102, I103, I104, I105) -> f14(I102, I103, I104, I106) [0 <= I102 - 1 /\ -1 <= I104 - 1 /\ I103 <= I104 /\ 0 <= I107 - 1] f13(I108, I109, I110, I111) -> f12(I108, I110 + 1, I109, I112) f3(I113, I114, I115, I116) -> f12(I115, 0, I114, I117) [0 <= I114 - 3 * I118 - 1 /\ I114 <= I115 - 1 /\ 0 <= I115 - 1 /\ I114 - 2 * I119 = 1 /\ I114 - 5 * I120 = 0 /\ 0 <= I113 - 1 /\ 0 <= I114 - 2 * I119 /\ I114 - 2 * I119 <= 1 /\ I114 - 3 * I118 <= 2 /\ I114 - 5 * I120 <= 4 /\ 0 <= I114 - 5 * I120] f2(I121, I122, I123, I124) -> f3(I121, I122, I123, I125) [I122 <= I123 - 1 /\ 0 <= I123 - 1 /\ I122 - 2 * I126 = 1 /\ 0 <= I122 - 3 * I127 - 1 /\ I122 - 5 * I128 = 0 /\ 0 <= I121 - 1] f11(I129, I130, I131, I132) -> f8(I129 + 2, I130, I133, I134) [1 <= I129 - 1 /\ 0 <= I135 - 1 /\ 1 <= I130 - 1 /\ I135 <= I129 - 1 /\ I129 <= I130 /\ 0 <= I129 - 2 * I135 /\ I129 - 2 * I135 <= 1 /\ I136 - I137 * y4 <= I137 - 1 /\ 0 <= I136 - I137 * y4] f8(I138, I139, I140, I141) -> f11(I138, I139, I142, I143) [1 <= I138 - 1 /\ 0 <= I144 - 1 /\ 1 <= I139 - 1 /\ I138 <= I139 /\ I144 <= I138 - 1] f10(I145, I146, I147, I148) -> f8(I146 + 2, I145, I149, I150) [I151 - I152 * I153 <= I152 - 1 /\ 0 <= I151 - I152 * I153] f9(I154, I155, I156, I157) -> f10(I154, I155, I158, I159) f3(I160, I161, I162, I163) -> f8(2, I161, I164, I165) [I161 <= I162 - 1 /\ 0 <= I162 - 1 /\ I161 - 2 * I166 = 1 /\ I161 - 3 * I167 = 0 /\ 0 <= I160 - 1 /\ 0 <= I161 - 2 * I166 /\ I161 - 2 * I166 <= 1 /\ I161 - 3 * I167 <= 2 /\ 0 <= I161 - 3 * I167] f2(I168, I169, I170, I171) -> f3(I168, I169, I170, I172) [I169 <= I170 - 1 /\ 0 <= I170 - 1 /\ I169 - 2 * I173 = 1 /\ I169 - 3 * I174 = 0 /\ 0 <= I168 - 1] f7(I175, I176, I177, I178) -> f5(I175 + 2, I176, I179, I180) [I175 <= I176 /\ 0 <= I181 - 1 /\ 0 <= I175 - 2 * I182 /\ I175 - 2 * I182 <= 1 /\ I183 * I184 - I181 * y5 <= I181 - 1 /\ 0 <= I183 * I184 - I181 * y5] f5(I185, I186, I187, I188) -> f7(I185, I186, I189, I190) [0 <= I191 - 1 /\ I185 <= I186] f6(I192, I193, I194, I195) -> f5(I193 + 2, I192, I196, I197) f3(I198, I199, I200, I201) -> f5(3, I199, I202, I203) [I199 <= I200 - 1 /\ 0 <= I200 - 1 /\ I199 - 2 * I204 = 0 /\ 0 <= I198 - 1 /\ I199 - 2 * I204 <= 1 /\ 0 <= I199 - 2 * I204] f2(I205, I206, I207, I208) -> f3(I205, I206, I207, I209) [I206 <= I207 - 1 /\ 0 <= I207 - 1 /\ I206 - 2 * I210 = 0 /\ 0 <= I205 - 1] f3(I211, I212, I213, I214) -> f2(I215, I212 + 1, I213, I216) [I212 <= I213 - 1 /\ 0 <= I213 - 1 /\ I212 - 2 * I217 = 1 /\ I212 - 3 * I218 = 0 /\ I215 <= I211 /\ 0 <= I211 - 1 /\ 0 <= I215 - 1 /\ 0 <= I212 - 2 * I217 /\ I212 - 2 * I217 <= 1 /\ I212 - 3 * I218 <= 2 /\ 0 <= I212 - 3 * I218] f2(I219, I220, I221, I222) -> f3(I219, I220, I221, I223) [I220 <= I221 - 1 /\ 0 <= I221 - 1 /\ I220 - 2 * I224 = 1 /\ I220 - 3 * I225 = 0 /\ I226 <= I219 /\ 0 <= I219 - 1 /\ 0 <= I226 - 1] f3(I227, I228, I229, I230) -> f2(I231, I228 + 1, I229, I232) [I228 <= I229 - 1 /\ 0 <= I229 - 1 /\ I228 - 2 * I233 = 0 /\ I231 <= I227 /\ 0 <= I227 - 1 /\ 0 <= I231 - 1 /\ I228 - 2 * I233 <= 1 /\ 0 <= I228 - 2 * I233] f2(I234, I235, I236, I237) -> f3(I234, I235, I236, I238) [I235 <= I236 - 1 /\ 0 <= I236 - 1 /\ I235 - 2 * I239 = 0 /\ I240 <= I234 /\ 0 <= I234 - 1 /\ 0 <= I240 - 1] f3(I241, I242, I243, I244) -> f2(I245, I242 + 1, I243, I246) [0 <= I242 - 3 * I247 - 1 /\ I242 <= I243 - 1 /\ 0 <= I243 - 1 /\ I242 - 2 * I248 = 1 /\ I242 - 5 * I249 = 0 /\ I245 <= I241 /\ 0 <= I241 - 1 /\ 0 <= I245 - 1 /\ 0 <= I242 - 2 * I248 /\ I242 - 2 * I248 <= 1 /\ I242 - 3 * I247 <= 2 /\ I242 - 5 * I249 <= 4 /\ 0 <= I242 - 5 * I249] f2(I250, I251, I252, I253) -> f3(I250, I251, I252, I254) [I251 <= I252 - 1 /\ 0 <= I252 - 1 /\ I251 - 2 * I255 = 1 /\ 0 <= I251 - 3 * I256 - 1 /\ I251 - 5 * I257 = 0 /\ I258 <= I250 /\ 0 <= I250 - 1 /\ 0 <= I258 - 1] f4(I259, I260, I261, I262) -> f2(I263, I260 + 1, I262, I264) [0 <= I263 - 1 /\ 0 <= I259 - 1 /\ I263 <= I259 /\ 99 <= I261 - 1 /\ -1 <= I262 - 1] f4(I265, I266, I267, I268) -> f4(I269, I266, I267 + 1, I268) [0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265] f3(I270, I271, I272, I273) -> f4(I274, I271, 0, I272) [0 <= I271 - 5 * I275 - 1 /\ 0 <= I271 - 3 * I276 - 1 /\ I271 - 2 * I277 = 1 /\ I271 <= I272 - 1 /\ I274 <= I270 /\ 0 <= I270 - 1 /\ 0 <= I274 - 1 /\ 0 <= I271 - 2 * I277 /\ I271 - 2 * I277 <= 1 /\ I271 - 3 * I276 <= 2 /\ I271 - 5 * I275 <= 4] f2(I278, I279, I280, I281) -> f3(I278, I279, I280, I282) [I279 - 2 * I283 = 1 /\ I279 <= I280 - 1 /\ 0 <= I279 - 5 * I284 - 1 /\ 0 <= I279 - 3 * I285 - 1 /\ I286 <= I278 /\ 0 <= I278 - 1 /\ 0 <= I286 - 1] f1(I287, I288, I289, I290) -> f2(I291, 0, I288, I292) [0 <= I291 - 1 /\ 0 <= I287 - 1 /\ -1 <= I288 - 1 /\ I291 <= I287] We use the reverse value criterion with the projection function NU: NU[f15#(z1,z2,z3,z4)] = z2 + -1 * z1 This gives the following inequalities: I30 <= I31 ==> I31 + -1 * I30 > I31 + -1 * (I30 + 1) with I31 + -1 * I30 >= 0 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed. DP problem for innermost termination. P = f5#(I24, I25, I26, I27) -> f7#(I24, I25, I28, I29) [I24 <= I25] f5#(I77, I78, I79, I80) -> f7#(I77, I78, I81, I82) [I77 <= I78] f5#(I90, I91, I92, I93) -> f7#(I90, I91, I94, I95) [I90 <= I91] f7#(I175, I176, I177, I178) -> f5#(I175 + 2, I176, I179, I180) [I175 <= I176 /\ 0 <= I181 - 1 /\ 0 <= I175 - 2 * I182 /\ I175 - 2 * I182 <= 1 /\ I183 * I184 - I181 * y5 <= I181 - 1 /\ 0 <= I183 * I184 - I181 * y5] f5#(I185, I186, I187, I188) -> f7#(I185, I186, I189, I190) [0 <= I191 - 1 /\ I185 <= I186] R = init(x1, x2, x3, x4) -> f1(rnd1, rnd2, rnd3, rnd4) f16(I0, I1, I2, I3) -> f16(I0 * I1, I1 + 1, I1 + 1, I3) [I1 = I2 /\ 0 <= I1 - 1 /\ 0 <= I0 - 1 /\ I1 <= I3] f12(I4, I5, I6, I7) -> f16(1, 1, 1, I5) [-1 <= I6 - 1 /\ I5 <= I6 /\ 0 <= I4 - 1] f11(I8, I9, I10, I11) -> f16(1, 1, 1, I8) [1 <= I8 - 1 /\ 0 <= y1 - 1 /\ 1 <= I9 - 1 /\ y1 <= I8 - 1 /\ I8 <= I9 /\ I8 - 2 * y1 <= 1 /\ 0 <= I8 - 2 * y1] f8(I12, I13, I14, I15) -> f11(I12, I13, I16, I17) [1 <= I12 - 1 /\ 0 <= I18 - 1 /\ 1 <= I13 - 1 /\ I12 <= I13 /\ I18 <= I12 - 1] f7(I19, I20, I21, I22) -> f16(1, 1, 1, I19) [I19 <= I20 /\ I19 - 2 * I23 <= 1 /\ 0 <= I19 - 2 * I23] f5(I24, I25, I26, I27) -> f7(I24, I25, I28, I29) [I24 <= I25] f15(I30, I31, I32, I33) -> f15(I30 + 1, I31, I34, I35) [I30 <= I31] f12(I36, I37, I38, I39) -> f15(1, I37, I40, I41) [-1 <= I38 - 1 /\ I37 <= I38 /\ 0 <= I36 - 1] f11(I42, I43, I44, I45) -> f15(1, I42, I46, I47) [1 <= I42 - 1 /\ 0 <= I48 - 1 /\ 1 <= I43 - 1 /\ I48 <= I42 - 1 /\ I42 <= I43 /\ I42 - 2 * I48 <= 1 /\ 0 <= I42 - 2 * I48] f8(I49, I50, I51, I52) -> f11(I49, I50, I53, I54) [1 <= I49 - 1 /\ 0 <= I55 - 1 /\ 1 <= I50 - 1 /\ I49 <= I50 /\ I55 <= I49 - 1] f11(I56, I57, I58, I59) -> f15(1, I60, I61, I62) [0 <= I56 - 2 * I60 /\ I56 - 2 * I60 <= 1 /\ I56 <= I57 /\ I60 <= I56 - 1 /\ 1 <= I57 - 1 /\ 0 <= I60 - 1 /\ 1 <= I56 - 1] f8(I63, I64, I65, I66) -> f11(I63, I64, I67, I68) [1 <= I63 - 1 /\ 0 <= I69 - 1 /\ 1 <= I64 - 1 /\ I63 <= I64 /\ I69 <= I63 - 1] f7(I70, I71, I72, I73) -> f15(1, I70, I74, I75) [I70 <= I71 /\ I70 - 2 * I76 <= 1 /\ 0 <= I70 - 2 * I76] f5(I77, I78, I79, I80) -> f7(I77, I78, I81, I82) [I77 <= I78] f7(I83, I84, I85, I86) -> f15(1, I87, I88, I89) [0 <= I83 - 2 * I87 /\ I83 - 2 * I87 <= 1 /\ I83 <= I84] f5(I90, I91, I92, I93) -> f7(I90, I91, I94, I95) [I90 <= I91] f14(I96, I97, I98, I99) -> f12(I96, I97 + 1, I98, I100) [0 <= I96 - 1 /\ -1 <= I98 - 1 /\ 0 <= I101 - 1 /\ I97 <= I98 /\ y2 - I101 * y3 <= I101 - 1 /\ 0 <= y2 - I101 * y3] f12(I102, I103, I104, I105) -> f14(I102, I103, I104, I106) [0 <= I102 - 1 /\ -1 <= I104 - 1 /\ I103 <= I104 /\ 0 <= I107 - 1] f13(I108, I109, I110, I111) -> f12(I108, I110 + 1, I109, I112) f3(I113, I114, I115, I116) -> f12(I115, 0, I114, I117) [0 <= I114 - 3 * I118 - 1 /\ I114 <= I115 - 1 /\ 0 <= I115 - 1 /\ I114 - 2 * I119 = 1 /\ I114 - 5 * I120 = 0 /\ 0 <= I113 - 1 /\ 0 <= I114 - 2 * I119 /\ I114 - 2 * I119 <= 1 /\ I114 - 3 * I118 <= 2 /\ I114 - 5 * I120 <= 4 /\ 0 <= I114 - 5 * I120] f2(I121, I122, I123, I124) -> f3(I121, I122, I123, I125) [I122 <= I123 - 1 /\ 0 <= I123 - 1 /\ I122 - 2 * I126 = 1 /\ 0 <= I122 - 3 * I127 - 1 /\ I122 - 5 * I128 = 0 /\ 0 <= I121 - 1] f11(I129, I130, I131, I132) -> f8(I129 + 2, I130, I133, I134) [1 <= I129 - 1 /\ 0 <= I135 - 1 /\ 1 <= I130 - 1 /\ I135 <= I129 - 1 /\ I129 <= I130 /\ 0 <= I129 - 2 * I135 /\ I129 - 2 * I135 <= 1 /\ I136 - I137 * y4 <= I137 - 1 /\ 0 <= I136 - I137 * y4] f8(I138, I139, I140, I141) -> f11(I138, I139, I142, I143) [1 <= I138 - 1 /\ 0 <= I144 - 1 /\ 1 <= I139 - 1 /\ I138 <= I139 /\ I144 <= I138 - 1] f10(I145, I146, I147, I148) -> f8(I146 + 2, I145, I149, I150) [I151 - I152 * I153 <= I152 - 1 /\ 0 <= I151 - I152 * I153] f9(I154, I155, I156, I157) -> f10(I154, I155, I158, I159) f3(I160, I161, I162, I163) -> f8(2, I161, I164, I165) [I161 <= I162 - 1 /\ 0 <= I162 - 1 /\ I161 - 2 * I166 = 1 /\ I161 - 3 * I167 = 0 /\ 0 <= I160 - 1 /\ 0 <= I161 - 2 * I166 /\ I161 - 2 * I166 <= 1 /\ I161 - 3 * I167 <= 2 /\ 0 <= I161 - 3 * I167] f2(I168, I169, I170, I171) -> f3(I168, I169, I170, I172) [I169 <= I170 - 1 /\ 0 <= I170 - 1 /\ I169 - 2 * I173 = 1 /\ I169 - 3 * I174 = 0 /\ 0 <= I168 - 1] f7(I175, I176, I177, I178) -> f5(I175 + 2, I176, I179, I180) [I175 <= I176 /\ 0 <= I181 - 1 /\ 0 <= I175 - 2 * I182 /\ I175 - 2 * I182 <= 1 /\ I183 * I184 - I181 * y5 <= I181 - 1 /\ 0 <= I183 * I184 - I181 * y5] f5(I185, I186, I187, I188) -> f7(I185, I186, I189, I190) [0 <= I191 - 1 /\ I185 <= I186] f6(I192, I193, I194, I195) -> f5(I193 + 2, I192, I196, I197) f3(I198, I199, I200, I201) -> f5(3, I199, I202, I203) [I199 <= I200 - 1 /\ 0 <= I200 - 1 /\ I199 - 2 * I204 = 0 /\ 0 <= I198 - 1 /\ I199 - 2 * I204 <= 1 /\ 0 <= I199 - 2 * I204] f2(I205, I206, I207, I208) -> f3(I205, I206, I207, I209) [I206 <= I207 - 1 /\ 0 <= I207 - 1 /\ I206 - 2 * I210 = 0 /\ 0 <= I205 - 1] f3(I211, I212, I213, I214) -> f2(I215, I212 + 1, I213, I216) [I212 <= I213 - 1 /\ 0 <= I213 - 1 /\ I212 - 2 * I217 = 1 /\ I212 - 3 * I218 = 0 /\ I215 <= I211 /\ 0 <= I211 - 1 /\ 0 <= I215 - 1 /\ 0 <= I212 - 2 * I217 /\ I212 - 2 * I217 <= 1 /\ I212 - 3 * I218 <= 2 /\ 0 <= I212 - 3 * I218] f2(I219, I220, I221, I222) -> f3(I219, I220, I221, I223) [I220 <= I221 - 1 /\ 0 <= I221 - 1 /\ I220 - 2 * I224 = 1 /\ I220 - 3 * I225 = 0 /\ I226 <= I219 /\ 0 <= I219 - 1 /\ 0 <= I226 - 1] f3(I227, I228, I229, I230) -> f2(I231, I228 + 1, I229, I232) [I228 <= I229 - 1 /\ 0 <= I229 - 1 /\ I228 - 2 * I233 = 0 /\ I231 <= I227 /\ 0 <= I227 - 1 /\ 0 <= I231 - 1 /\ I228 - 2 * I233 <= 1 /\ 0 <= I228 - 2 * I233] f2(I234, I235, I236, I237) -> f3(I234, I235, I236, I238) [I235 <= I236 - 1 /\ 0 <= I236 - 1 /\ I235 - 2 * I239 = 0 /\ I240 <= I234 /\ 0 <= I234 - 1 /\ 0 <= I240 - 1] f3(I241, I242, I243, I244) -> f2(I245, I242 + 1, I243, I246) [0 <= I242 - 3 * I247 - 1 /\ I242 <= I243 - 1 /\ 0 <= I243 - 1 /\ I242 - 2 * I248 = 1 /\ I242 - 5 * I249 = 0 /\ I245 <= I241 /\ 0 <= I241 - 1 /\ 0 <= I245 - 1 /\ 0 <= I242 - 2 * I248 /\ I242 - 2 * I248 <= 1 /\ I242 - 3 * I247 <= 2 /\ I242 - 5 * I249 <= 4 /\ 0 <= I242 - 5 * I249] f2(I250, I251, I252, I253) -> f3(I250, I251, I252, I254) [I251 <= I252 - 1 /\ 0 <= I252 - 1 /\ I251 - 2 * I255 = 1 /\ 0 <= I251 - 3 * I256 - 1 /\ I251 - 5 * I257 = 0 /\ I258 <= I250 /\ 0 <= I250 - 1 /\ 0 <= I258 - 1] f4(I259, I260, I261, I262) -> f2(I263, I260 + 1, I262, I264) [0 <= I263 - 1 /\ 0 <= I259 - 1 /\ I263 <= I259 /\ 99 <= I261 - 1 /\ -1 <= I262 - 1] f4(I265, I266, I267, I268) -> f4(I269, I266, I267 + 1, I268) [0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265] f3(I270, I271, I272, I273) -> f4(I274, I271, 0, I272) [0 <= I271 - 5 * I275 - 1 /\ 0 <= I271 - 3 * I276 - 1 /\ I271 - 2 * I277 = 1 /\ I271 <= I272 - 1 /\ I274 <= I270 /\ 0 <= I270 - 1 /\ 0 <= I274 - 1 /\ 0 <= I271 - 2 * I277 /\ I271 - 2 * I277 <= 1 /\ I271 - 3 * I276 <= 2 /\ I271 - 5 * I275 <= 4] f2(I278, I279, I280, I281) -> f3(I278, I279, I280, I282) [I279 - 2 * I283 = 1 /\ I279 <= I280 - 1 /\ 0 <= I279 - 5 * I284 - 1 /\ 0 <= I279 - 3 * I285 - 1 /\ I286 <= I278 /\ 0 <= I278 - 1 /\ 0 <= I286 - 1] f1(I287, I288, I289, I290) -> f2(I291, 0, I288, I292) [0 <= I291 - 1 /\ 0 <= I287 - 1 /\ -1 <= I288 - 1 /\ I291 <= I287] We use the reverse value criterion with the projection function NU: NU[f7#(z1,z2,z3,z4)] = z2 + -1 * (z1 + 2) NU[f5#(z1,z2,z3,z4)] = z2 + -1 * z1 This gives the following inequalities: I24 <= I25 ==> I25 + -1 * I24 > I25 + -1 * (I24 + 2) with I25 + -1 * I24 >= 0 I77 <= I78 ==> I78 + -1 * I77 > I78 + -1 * (I77 + 2) with I78 + -1 * I77 >= 0 I90 <= I91 ==> I91 + -1 * I90 > I91 + -1 * (I90 + 2) with I91 + -1 * I90 >= 0 I175 <= I176 /\ 0 <= I181 - 1 /\ 0 <= I175 - 2 * I182 /\ I175 - 2 * I182 <= 1 /\ I183 * I184 - I181 * y5 <= I181 - 1 /\ 0 <= I183 * I184 - I181 * y5 ==> I176 + -1 * (I175 + 2) >= I176 + -1 * (I175 + 2) 0 <= I191 - 1 /\ I185 <= I186 ==> I186 + -1 * I185 > I186 + -1 * (I185 + 2) with I186 + -1 * I185 >= 0 We remove all the strictly oriented dependency pairs. DP problem for innermost termination. P = f7#(I175, I176, I177, I178) -> f5#(I175 + 2, I176, I179, I180) [I175 <= I176 /\ 0 <= I181 - 1 /\ 0 <= I175 - 2 * I182 /\ I175 - 2 * I182 <= 1 /\ I183 * I184 - I181 * y5 <= I181 - 1 /\ 0 <= I183 * I184 - I181 * y5] R = init(x1, x2, x3, x4) -> f1(rnd1, rnd2, rnd3, rnd4) f16(I0, I1, I2, I3) -> f16(I0 * I1, I1 + 1, I1 + 1, I3) [I1 = I2 /\ 0 <= I1 - 1 /\ 0 <= I0 - 1 /\ I1 <= I3] f12(I4, I5, I6, I7) -> f16(1, 1, 1, I5) [-1 <= I6 - 1 /\ I5 <= I6 /\ 0 <= I4 - 1] f11(I8, I9, I10, I11) -> f16(1, 1, 1, I8) [1 <= I8 - 1 /\ 0 <= y1 - 1 /\ 1 <= I9 - 1 /\ y1 <= I8 - 1 /\ I8 <= I9 /\ I8 - 2 * y1 <= 1 /\ 0 <= I8 - 2 * y1] f8(I12, I13, I14, I15) -> f11(I12, I13, I16, I17) [1 <= I12 - 1 /\ 0 <= I18 - 1 /\ 1 <= I13 - 1 /\ I12 <= I13 /\ I18 <= I12 - 1] f7(I19, I20, I21, I22) -> f16(1, 1, 1, I19) [I19 <= I20 /\ I19 - 2 * I23 <= 1 /\ 0 <= I19 - 2 * I23] f5(I24, I25, I26, I27) -> f7(I24, I25, I28, I29) [I24 <= I25] f15(I30, I31, I32, I33) -> f15(I30 + 1, I31, I34, I35) [I30 <= I31] f12(I36, I37, I38, I39) -> f15(1, I37, I40, I41) [-1 <= I38 - 1 /\ I37 <= I38 /\ 0 <= I36 - 1] f11(I42, I43, I44, I45) -> f15(1, I42, I46, I47) [1 <= I42 - 1 /\ 0 <= I48 - 1 /\ 1 <= I43 - 1 /\ I48 <= I42 - 1 /\ I42 <= I43 /\ I42 - 2 * I48 <= 1 /\ 0 <= I42 - 2 * I48] f8(I49, I50, I51, I52) -> f11(I49, I50, I53, I54) [1 <= I49 - 1 /\ 0 <= I55 - 1 /\ 1 <= I50 - 1 /\ I49 <= I50 /\ I55 <= I49 - 1] f11(I56, I57, I58, I59) -> f15(1, I60, I61, I62) [0 <= I56 - 2 * I60 /\ I56 - 2 * I60 <= 1 /\ I56 <= I57 /\ I60 <= I56 - 1 /\ 1 <= I57 - 1 /\ 0 <= I60 - 1 /\ 1 <= I56 - 1] f8(I63, I64, I65, I66) -> f11(I63, I64, I67, I68) [1 <= I63 - 1 /\ 0 <= I69 - 1 /\ 1 <= I64 - 1 /\ I63 <= I64 /\ I69 <= I63 - 1] f7(I70, I71, I72, I73) -> f15(1, I70, I74, I75) [I70 <= I71 /\ I70 - 2 * I76 <= 1 /\ 0 <= I70 - 2 * I76] f5(I77, I78, I79, I80) -> f7(I77, I78, I81, I82) [I77 <= I78] f7(I83, I84, I85, I86) -> f15(1, I87, I88, I89) [0 <= I83 - 2 * I87 /\ I83 - 2 * I87 <= 1 /\ I83 <= I84] f5(I90, I91, I92, I93) -> f7(I90, I91, I94, I95) [I90 <= I91] f14(I96, I97, I98, I99) -> f12(I96, I97 + 1, I98, I100) [0 <= I96 - 1 /\ -1 <= I98 - 1 /\ 0 <= I101 - 1 /\ I97 <= I98 /\ y2 - I101 * y3 <= I101 - 1 /\ 0 <= y2 - I101 * y3] f12(I102, I103, I104, I105) -> f14(I102, I103, I104, I106) [0 <= I102 - 1 /\ -1 <= I104 - 1 /\ I103 <= I104 /\ 0 <= I107 - 1] f13(I108, I109, I110, I111) -> f12(I108, I110 + 1, I109, I112) f3(I113, I114, I115, I116) -> f12(I115, 0, I114, I117) [0 <= I114 - 3 * I118 - 1 /\ I114 <= I115 - 1 /\ 0 <= I115 - 1 /\ I114 - 2 * I119 = 1 /\ I114 - 5 * I120 = 0 /\ 0 <= I113 - 1 /\ 0 <= I114 - 2 * I119 /\ I114 - 2 * I119 <= 1 /\ I114 - 3 * I118 <= 2 /\ I114 - 5 * I120 <= 4 /\ 0 <= I114 - 5 * I120] f2(I121, I122, I123, I124) -> f3(I121, I122, I123, I125) [I122 <= I123 - 1 /\ 0 <= I123 - 1 /\ I122 - 2 * I126 = 1 /\ 0 <= I122 - 3 * I127 - 1 /\ I122 - 5 * I128 = 0 /\ 0 <= I121 - 1] f11(I129, I130, I131, I132) -> f8(I129 + 2, I130, I133, I134) [1 <= I129 - 1 /\ 0 <= I135 - 1 /\ 1 <= I130 - 1 /\ I135 <= I129 - 1 /\ I129 <= I130 /\ 0 <= I129 - 2 * I135 /\ I129 - 2 * I135 <= 1 /\ I136 - I137 * y4 <= I137 - 1 /\ 0 <= I136 - I137 * y4] f8(I138, I139, I140, I141) -> f11(I138, I139, I142, I143) [1 <= I138 - 1 /\ 0 <= I144 - 1 /\ 1 <= I139 - 1 /\ I138 <= I139 /\ I144 <= I138 - 1] f10(I145, I146, I147, I148) -> f8(I146 + 2, I145, I149, I150) [I151 - I152 * I153 <= I152 - 1 /\ 0 <= I151 - I152 * I153] f9(I154, I155, I156, I157) -> f10(I154, I155, I158, I159) f3(I160, I161, I162, I163) -> f8(2, I161, I164, I165) [I161 <= I162 - 1 /\ 0 <= I162 - 1 /\ I161 - 2 * I166 = 1 /\ I161 - 3 * I167 = 0 /\ 0 <= I160 - 1 /\ 0 <= I161 - 2 * I166 /\ I161 - 2 * I166 <= 1 /\ I161 - 3 * I167 <= 2 /\ 0 <= I161 - 3 * I167] f2(I168, I169, I170, I171) -> f3(I168, I169, I170, I172) [I169 <= I170 - 1 /\ 0 <= I170 - 1 /\ I169 - 2 * I173 = 1 /\ I169 - 3 * I174 = 0 /\ 0 <= I168 - 1] f7(I175, I176, I177, I178) -> f5(I175 + 2, I176, I179, I180) [I175 <= I176 /\ 0 <= I181 - 1 /\ 0 <= I175 - 2 * I182 /\ I175 - 2 * I182 <= 1 /\ I183 * I184 - I181 * y5 <= I181 - 1 /\ 0 <= I183 * I184 - I181 * y5] f5(I185, I186, I187, I188) -> f7(I185, I186, I189, I190) [0 <= I191 - 1 /\ I185 <= I186] f6(I192, I193, I194, I195) -> f5(I193 + 2, I192, I196, I197) f3(I198, I199, I200, I201) -> f5(3, I199, I202, I203) [I199 <= I200 - 1 /\ 0 <= I200 - 1 /\ I199 - 2 * I204 = 0 /\ 0 <= I198 - 1 /\ I199 - 2 * I204 <= 1 /\ 0 <= I199 - 2 * I204] f2(I205, I206, I207, I208) -> f3(I205, I206, I207, I209) [I206 <= I207 - 1 /\ 0 <= I207 - 1 /\ I206 - 2 * I210 = 0 /\ 0 <= I205 - 1] f3(I211, I212, I213, I214) -> f2(I215, I212 + 1, I213, I216) [I212 <= I213 - 1 /\ 0 <= I213 - 1 /\ I212 - 2 * I217 = 1 /\ I212 - 3 * I218 = 0 /\ I215 <= I211 /\ 0 <= I211 - 1 /\ 0 <= I215 - 1 /\ 0 <= I212 - 2 * I217 /\ I212 - 2 * I217 <= 1 /\ I212 - 3 * I218 <= 2 /\ 0 <= I212 - 3 * I218] f2(I219, I220, I221, I222) -> f3(I219, I220, I221, I223) [I220 <= I221 - 1 /\ 0 <= I221 - 1 /\ I220 - 2 * I224 = 1 /\ I220 - 3 * I225 = 0 /\ I226 <= I219 /\ 0 <= I219 - 1 /\ 0 <= I226 - 1] f3(I227, I228, I229, I230) -> f2(I231, I228 + 1, I229, I232) [I228 <= I229 - 1 /\ 0 <= I229 - 1 /\ I228 - 2 * I233 = 0 /\ I231 <= I227 /\ 0 <= I227 - 1 /\ 0 <= I231 - 1 /\ I228 - 2 * I233 <= 1 /\ 0 <= I228 - 2 * I233] f2(I234, I235, I236, I237) -> f3(I234, I235, I236, I238) [I235 <= I236 - 1 /\ 0 <= I236 - 1 /\ I235 - 2 * I239 = 0 /\ I240 <= I234 /\ 0 <= I234 - 1 /\ 0 <= I240 - 1] f3(I241, I242, I243, I244) -> f2(I245, I242 + 1, I243, I246) [0 <= I242 - 3 * I247 - 1 /\ I242 <= I243 - 1 /\ 0 <= I243 - 1 /\ I242 - 2 * I248 = 1 /\ I242 - 5 * I249 = 0 /\ I245 <= I241 /\ 0 <= I241 - 1 /\ 0 <= I245 - 1 /\ 0 <= I242 - 2 * I248 /\ I242 - 2 * I248 <= 1 /\ I242 - 3 * I247 <= 2 /\ I242 - 5 * I249 <= 4 /\ 0 <= I242 - 5 * I249] f2(I250, I251, I252, I253) -> f3(I250, I251, I252, I254) [I251 <= I252 - 1 /\ 0 <= I252 - 1 /\ I251 - 2 * I255 = 1 /\ 0 <= I251 - 3 * I256 - 1 /\ I251 - 5 * I257 = 0 /\ I258 <= I250 /\ 0 <= I250 - 1 /\ 0 <= I258 - 1] f4(I259, I260, I261, I262) -> f2(I263, I260 + 1, I262, I264) [0 <= I263 - 1 /\ 0 <= I259 - 1 /\ I263 <= I259 /\ 99 <= I261 - 1 /\ -1 <= I262 - 1] f4(I265, I266, I267, I268) -> f4(I269, I266, I267 + 1, I268) [0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265] f3(I270, I271, I272, I273) -> f4(I274, I271, 0, I272) [0 <= I271 - 5 * I275 - 1 /\ 0 <= I271 - 3 * I276 - 1 /\ I271 - 2 * I277 = 1 /\ I271 <= I272 - 1 /\ I274 <= I270 /\ 0 <= I270 - 1 /\ 0 <= I274 - 1 /\ 0 <= I271 - 2 * I277 /\ I271 - 2 * I277 <= 1 /\ I271 - 3 * I276 <= 2 /\ I271 - 5 * I275 <= 4] f2(I278, I279, I280, I281) -> f3(I278, I279, I280, I282) [I279 - 2 * I283 = 1 /\ I279 <= I280 - 1 /\ 0 <= I279 - 5 * I284 - 1 /\ 0 <= I279 - 3 * I285 - 1 /\ I286 <= I278 /\ 0 <= I278 - 1 /\ 0 <= I286 - 1] f1(I287, I288, I289, I290) -> f2(I291, 0, I288, I292) [0 <= I291 - 1 /\ 0 <= I287 - 1 /\ -1 <= I288 - 1 /\ I291 <= I287] The dependency graph for this problem is: 28 -> Where: 28) f7#(I175, I176, I177, I178) -> f5#(I175 + 2, I176, I179, I180) [I175 <= I176 /\ 0 <= I181 - 1 /\ 0 <= I175 - 2 * I182 /\ I175 - 2 * I182 <= 1 /\ I183 * I184 - I181 * y5 <= I181 - 1 /\ 0 <= I183 * I184 - I181 * y5] We have the following SCCs. DP problem for innermost termination. P = f14#(I96, I97, I98, I99) -> f12#(I96, I97 + 1, I98, I100) [0 <= I96 - 1 /\ -1 <= I98 - 1 /\ 0 <= I101 - 1 /\ I97 <= I98 /\ y2 - I101 * y3 <= I101 - 1 /\ 0 <= y2 - I101 * y3] f12#(I102, I103, I104, I105) -> f14#(I102, I103, I104, I106) [0 <= I102 - 1 /\ -1 <= I104 - 1 /\ I103 <= I104 /\ 0 <= I107 - 1] R = init(x1, x2, x3, x4) -> f1(rnd1, rnd2, rnd3, rnd4) f16(I0, I1, I2, I3) -> f16(I0 * I1, I1 + 1, I1 + 1, I3) [I1 = I2 /\ 0 <= I1 - 1 /\ 0 <= I0 - 1 /\ I1 <= I3] f12(I4, I5, I6, I7) -> f16(1, 1, 1, I5) [-1 <= I6 - 1 /\ I5 <= I6 /\ 0 <= I4 - 1] f11(I8, I9, I10, I11) -> f16(1, 1, 1, I8) [1 <= I8 - 1 /\ 0 <= y1 - 1 /\ 1 <= I9 - 1 /\ y1 <= I8 - 1 /\ I8 <= I9 /\ I8 - 2 * y1 <= 1 /\ 0 <= I8 - 2 * y1] f8(I12, I13, I14, I15) -> f11(I12, I13, I16, I17) [1 <= I12 - 1 /\ 0 <= I18 - 1 /\ 1 <= I13 - 1 /\ I12 <= I13 /\ I18 <= I12 - 1] f7(I19, I20, I21, I22) -> f16(1, 1, 1, I19) [I19 <= I20 /\ I19 - 2 * I23 <= 1 /\ 0 <= I19 - 2 * I23] f5(I24, I25, I26, I27) -> f7(I24, I25, I28, I29) [I24 <= I25] f15(I30, I31, I32, I33) -> f15(I30 + 1, I31, I34, I35) [I30 <= I31] f12(I36, I37, I38, I39) -> f15(1, I37, I40, I41) [-1 <= I38 - 1 /\ I37 <= I38 /\ 0 <= I36 - 1] f11(I42, I43, I44, I45) -> f15(1, I42, I46, I47) [1 <= I42 - 1 /\ 0 <= I48 - 1 /\ 1 <= I43 - 1 /\ I48 <= I42 - 1 /\ I42 <= I43 /\ I42 - 2 * I48 <= 1 /\ 0 <= I42 - 2 * I48] f8(I49, I50, I51, I52) -> f11(I49, I50, I53, I54) [1 <= I49 - 1 /\ 0 <= I55 - 1 /\ 1 <= I50 - 1 /\ I49 <= I50 /\ I55 <= I49 - 1] f11(I56, I57, I58, I59) -> f15(1, I60, I61, I62) [0 <= I56 - 2 * I60 /\ I56 - 2 * I60 <= 1 /\ I56 <= I57 /\ I60 <= I56 - 1 /\ 1 <= I57 - 1 /\ 0 <= I60 - 1 /\ 1 <= I56 - 1] f8(I63, I64, I65, I66) -> f11(I63, I64, I67, I68) [1 <= I63 - 1 /\ 0 <= I69 - 1 /\ 1 <= I64 - 1 /\ I63 <= I64 /\ I69 <= I63 - 1] f7(I70, I71, I72, I73) -> f15(1, I70, I74, I75) [I70 <= I71 /\ I70 - 2 * I76 <= 1 /\ 0 <= I70 - 2 * I76] f5(I77, I78, I79, I80) -> f7(I77, I78, I81, I82) [I77 <= I78] f7(I83, I84, I85, I86) -> f15(1, I87, I88, I89) [0 <= I83 - 2 * I87 /\ I83 - 2 * I87 <= 1 /\ I83 <= I84] f5(I90, I91, I92, I93) -> f7(I90, I91, I94, I95) [I90 <= I91] f14(I96, I97, I98, I99) -> f12(I96, I97 + 1, I98, I100) [0 <= I96 - 1 /\ -1 <= I98 - 1 /\ 0 <= I101 - 1 /\ I97 <= I98 /\ y2 - I101 * y3 <= I101 - 1 /\ 0 <= y2 - I101 * y3] f12(I102, I103, I104, I105) -> f14(I102, I103, I104, I106) [0 <= I102 - 1 /\ -1 <= I104 - 1 /\ I103 <= I104 /\ 0 <= I107 - 1] f13(I108, I109, I110, I111) -> f12(I108, I110 + 1, I109, I112) f3(I113, I114, I115, I116) -> f12(I115, 0, I114, I117) [0 <= I114 - 3 * I118 - 1 /\ I114 <= I115 - 1 /\ 0 <= I115 - 1 /\ I114 - 2 * I119 = 1 /\ I114 - 5 * I120 = 0 /\ 0 <= I113 - 1 /\ 0 <= I114 - 2 * I119 /\ I114 - 2 * I119 <= 1 /\ I114 - 3 * I118 <= 2 /\ I114 - 5 * I120 <= 4 /\ 0 <= I114 - 5 * I120] f2(I121, I122, I123, I124) -> f3(I121, I122, I123, I125) [I122 <= I123 - 1 /\ 0 <= I123 - 1 /\ I122 - 2 * I126 = 1 /\ 0 <= I122 - 3 * I127 - 1 /\ I122 - 5 * I128 = 0 /\ 0 <= I121 - 1] f11(I129, I130, I131, I132) -> f8(I129 + 2, I130, I133, I134) [1 <= I129 - 1 /\ 0 <= I135 - 1 /\ 1 <= I130 - 1 /\ I135 <= I129 - 1 /\ I129 <= I130 /\ 0 <= I129 - 2 * I135 /\ I129 - 2 * I135 <= 1 /\ I136 - I137 * y4 <= I137 - 1 /\ 0 <= I136 - I137 * y4] f8(I138, I139, I140, I141) -> f11(I138, I139, I142, I143) [1 <= I138 - 1 /\ 0 <= I144 - 1 /\ 1 <= I139 - 1 /\ I138 <= I139 /\ I144 <= I138 - 1] f10(I145, I146, I147, I148) -> f8(I146 + 2, I145, I149, I150) [I151 - I152 * I153 <= I152 - 1 /\ 0 <= I151 - I152 * I153] f9(I154, I155, I156, I157) -> f10(I154, I155, I158, I159) f3(I160, I161, I162, I163) -> f8(2, I161, I164, I165) [I161 <= I162 - 1 /\ 0 <= I162 - 1 /\ I161 - 2 * I166 = 1 /\ I161 - 3 * I167 = 0 /\ 0 <= I160 - 1 /\ 0 <= I161 - 2 * I166 /\ I161 - 2 * I166 <= 1 /\ I161 - 3 * I167 <= 2 /\ 0 <= I161 - 3 * I167] f2(I168, I169, I170, I171) -> f3(I168, I169, I170, I172) [I169 <= I170 - 1 /\ 0 <= I170 - 1 /\ I169 - 2 * I173 = 1 /\ I169 - 3 * I174 = 0 /\ 0 <= I168 - 1] f7(I175, I176, I177, I178) -> f5(I175 + 2, I176, I179, I180) [I175 <= I176 /\ 0 <= I181 - 1 /\ 0 <= I175 - 2 * I182 /\ I175 - 2 * I182 <= 1 /\ I183 * I184 - I181 * y5 <= I181 - 1 /\ 0 <= I183 * I184 - I181 * y5] f5(I185, I186, I187, I188) -> f7(I185, I186, I189, I190) [0 <= I191 - 1 /\ I185 <= I186] f6(I192, I193, I194, I195) -> f5(I193 + 2, I192, I196, I197) f3(I198, I199, I200, I201) -> f5(3, I199, I202, I203) [I199 <= I200 - 1 /\ 0 <= I200 - 1 /\ I199 - 2 * I204 = 0 /\ 0 <= I198 - 1 /\ I199 - 2 * I204 <= 1 /\ 0 <= I199 - 2 * I204] f2(I205, I206, I207, I208) -> f3(I205, I206, I207, I209) [I206 <= I207 - 1 /\ 0 <= I207 - 1 /\ I206 - 2 * I210 = 0 /\ 0 <= I205 - 1] f3(I211, I212, I213, I214) -> f2(I215, I212 + 1, I213, I216) [I212 <= I213 - 1 /\ 0 <= I213 - 1 /\ I212 - 2 * I217 = 1 /\ I212 - 3 * I218 = 0 /\ I215 <= I211 /\ 0 <= I211 - 1 /\ 0 <= I215 - 1 /\ 0 <= I212 - 2 * I217 /\ I212 - 2 * I217 <= 1 /\ I212 - 3 * I218 <= 2 /\ 0 <= I212 - 3 * I218] f2(I219, I220, I221, I222) -> f3(I219, I220, I221, I223) [I220 <= I221 - 1 /\ 0 <= I221 - 1 /\ I220 - 2 * I224 = 1 /\ I220 - 3 * I225 = 0 /\ I226 <= I219 /\ 0 <= I219 - 1 /\ 0 <= I226 - 1] f3(I227, I228, I229, I230) -> f2(I231, I228 + 1, I229, I232) [I228 <= I229 - 1 /\ 0 <= I229 - 1 /\ I228 - 2 * I233 = 0 /\ I231 <= I227 /\ 0 <= I227 - 1 /\ 0 <= I231 - 1 /\ I228 - 2 * I233 <= 1 /\ 0 <= I228 - 2 * I233] f2(I234, I235, I236, I237) -> f3(I234, I235, I236, I238) [I235 <= I236 - 1 /\ 0 <= I236 - 1 /\ I235 - 2 * I239 = 0 /\ I240 <= I234 /\ 0 <= I234 - 1 /\ 0 <= I240 - 1] f3(I241, I242, I243, I244) -> f2(I245, I242 + 1, I243, I246) [0 <= I242 - 3 * I247 - 1 /\ I242 <= I243 - 1 /\ 0 <= I243 - 1 /\ I242 - 2 * I248 = 1 /\ I242 - 5 * I249 = 0 /\ I245 <= I241 /\ 0 <= I241 - 1 /\ 0 <= I245 - 1 /\ 0 <= I242 - 2 * I248 /\ I242 - 2 * I248 <= 1 /\ I242 - 3 * I247 <= 2 /\ I242 - 5 * I249 <= 4 /\ 0 <= I242 - 5 * I249] f2(I250, I251, I252, I253) -> f3(I250, I251, I252, I254) [I251 <= I252 - 1 /\ 0 <= I252 - 1 /\ I251 - 2 * I255 = 1 /\ 0 <= I251 - 3 * I256 - 1 /\ I251 - 5 * I257 = 0 /\ I258 <= I250 /\ 0 <= I250 - 1 /\ 0 <= I258 - 1] f4(I259, I260, I261, I262) -> f2(I263, I260 + 1, I262, I264) [0 <= I263 - 1 /\ 0 <= I259 - 1 /\ I263 <= I259 /\ 99 <= I261 - 1 /\ -1 <= I262 - 1] f4(I265, I266, I267, I268) -> f4(I269, I266, I267 + 1, I268) [0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265] f3(I270, I271, I272, I273) -> f4(I274, I271, 0, I272) [0 <= I271 - 5 * I275 - 1 /\ 0 <= I271 - 3 * I276 - 1 /\ I271 - 2 * I277 = 1 /\ I271 <= I272 - 1 /\ I274 <= I270 /\ 0 <= I270 - 1 /\ 0 <= I274 - 1 /\ 0 <= I271 - 2 * I277 /\ I271 - 2 * I277 <= 1 /\ I271 - 3 * I276 <= 2 /\ I271 - 5 * I275 <= 4] f2(I278, I279, I280, I281) -> f3(I278, I279, I280, I282) [I279 - 2 * I283 = 1 /\ I279 <= I280 - 1 /\ 0 <= I279 - 5 * I284 - 1 /\ 0 <= I279 - 3 * I285 - 1 /\ I286 <= I278 /\ 0 <= I278 - 1 /\ 0 <= I286 - 1] f1(I287, I288, I289, I290) -> f2(I291, 0, I288, I292) [0 <= I291 - 1 /\ 0 <= I287 - 1 /\ -1 <= I288 - 1 /\ I291 <= I287] We use the reverse value criterion with the projection function NU: NU[f12#(z1,z2,z3,z4)] = z3 + -1 * z2 NU[f14#(z1,z2,z3,z4)] = z3 + -1 * (z2 + 1) This gives the following inequalities: 0 <= I96 - 1 /\ -1 <= I98 - 1 /\ 0 <= I101 - 1 /\ I97 <= I98 /\ y2 - I101 * y3 <= I101 - 1 /\ 0 <= y2 - I101 * y3 ==> I98 + -1 * (I97 + 1) >= I98 + -1 * (I97 + 1) 0 <= I102 - 1 /\ -1 <= I104 - 1 /\ I103 <= I104 /\ 0 <= I107 - 1 ==> I104 + -1 * I103 > I104 + -1 * (I103 + 1) with I104 + -1 * I103 >= 0 We remove all the strictly oriented dependency pairs. DP problem for innermost termination. P = f14#(I96, I97, I98, I99) -> f12#(I96, I97 + 1, I98, I100) [0 <= I96 - 1 /\ -1 <= I98 - 1 /\ 0 <= I101 - 1 /\ I97 <= I98 /\ y2 - I101 * y3 <= I101 - 1 /\ 0 <= y2 - I101 * y3] R = init(x1, x2, x3, x4) -> f1(rnd1, rnd2, rnd3, rnd4) f16(I0, I1, I2, I3) -> f16(I0 * I1, I1 + 1, I1 + 1, I3) [I1 = I2 /\ 0 <= I1 - 1 /\ 0 <= I0 - 1 /\ I1 <= I3] f12(I4, I5, I6, I7) -> f16(1, 1, 1, I5) [-1 <= I6 - 1 /\ I5 <= I6 /\ 0 <= I4 - 1] f11(I8, I9, I10, I11) -> f16(1, 1, 1, I8) [1 <= I8 - 1 /\ 0 <= y1 - 1 /\ 1 <= I9 - 1 /\ y1 <= I8 - 1 /\ I8 <= I9 /\ I8 - 2 * y1 <= 1 /\ 0 <= I8 - 2 * y1] f8(I12, I13, I14, I15) -> f11(I12, I13, I16, I17) [1 <= I12 - 1 /\ 0 <= I18 - 1 /\ 1 <= I13 - 1 /\ I12 <= I13 /\ I18 <= I12 - 1] f7(I19, I20, I21, I22) -> f16(1, 1, 1, I19) [I19 <= I20 /\ I19 - 2 * I23 <= 1 /\ 0 <= I19 - 2 * I23] f5(I24, I25, I26, I27) -> f7(I24, I25, I28, I29) [I24 <= I25] f15(I30, I31, I32, I33) -> f15(I30 + 1, I31, I34, I35) [I30 <= I31] f12(I36, I37, I38, I39) -> f15(1, I37, I40, I41) [-1 <= I38 - 1 /\ I37 <= I38 /\ 0 <= I36 - 1] f11(I42, I43, I44, I45) -> f15(1, I42, I46, I47) [1 <= I42 - 1 /\ 0 <= I48 - 1 /\ 1 <= I43 - 1 /\ I48 <= I42 - 1 /\ I42 <= I43 /\ I42 - 2 * I48 <= 1 /\ 0 <= I42 - 2 * I48] f8(I49, I50, I51, I52) -> f11(I49, I50, I53, I54) [1 <= I49 - 1 /\ 0 <= I55 - 1 /\ 1 <= I50 - 1 /\ I49 <= I50 /\ I55 <= I49 - 1] f11(I56, I57, I58, I59) -> f15(1, I60, I61, I62) [0 <= I56 - 2 * I60 /\ I56 - 2 * I60 <= 1 /\ I56 <= I57 /\ I60 <= I56 - 1 /\ 1 <= I57 - 1 /\ 0 <= I60 - 1 /\ 1 <= I56 - 1] f8(I63, I64, I65, I66) -> f11(I63, I64, I67, I68) [1 <= I63 - 1 /\ 0 <= I69 - 1 /\ 1 <= I64 - 1 /\ I63 <= I64 /\ I69 <= I63 - 1] f7(I70, I71, I72, I73) -> f15(1, I70, I74, I75) [I70 <= I71 /\ I70 - 2 * I76 <= 1 /\ 0 <= I70 - 2 * I76] f5(I77, I78, I79, I80) -> f7(I77, I78, I81, I82) [I77 <= I78] f7(I83, I84, I85, I86) -> f15(1, I87, I88, I89) [0 <= I83 - 2 * I87 /\ I83 - 2 * I87 <= 1 /\ I83 <= I84] f5(I90, I91, I92, I93) -> f7(I90, I91, I94, I95) [I90 <= I91] f14(I96, I97, I98, I99) -> f12(I96, I97 + 1, I98, I100) [0 <= I96 - 1 /\ -1 <= I98 - 1 /\ 0 <= I101 - 1 /\ I97 <= I98 /\ y2 - I101 * y3 <= I101 - 1 /\ 0 <= y2 - I101 * y3] f12(I102, I103, I104, I105) -> f14(I102, I103, I104, I106) [0 <= I102 - 1 /\ -1 <= I104 - 1 /\ I103 <= I104 /\ 0 <= I107 - 1] f13(I108, I109, I110, I111) -> f12(I108, I110 + 1, I109, I112) f3(I113, I114, I115, I116) -> f12(I115, 0, I114, I117) [0 <= I114 - 3 * I118 - 1 /\ I114 <= I115 - 1 /\ 0 <= I115 - 1 /\ I114 - 2 * I119 = 1 /\ I114 - 5 * I120 = 0 /\ 0 <= I113 - 1 /\ 0 <= I114 - 2 * I119 /\ I114 - 2 * I119 <= 1 /\ I114 - 3 * I118 <= 2 /\ I114 - 5 * I120 <= 4 /\ 0 <= I114 - 5 * I120] f2(I121, I122, I123, I124) -> f3(I121, I122, I123, I125) [I122 <= I123 - 1 /\ 0 <= I123 - 1 /\ I122 - 2 * I126 = 1 /\ 0 <= I122 - 3 * I127 - 1 /\ I122 - 5 * I128 = 0 /\ 0 <= I121 - 1] f11(I129, I130, I131, I132) -> f8(I129 + 2, I130, I133, I134) [1 <= I129 - 1 /\ 0 <= I135 - 1 /\ 1 <= I130 - 1 /\ I135 <= I129 - 1 /\ I129 <= I130 /\ 0 <= I129 - 2 * I135 /\ I129 - 2 * I135 <= 1 /\ I136 - I137 * y4 <= I137 - 1 /\ 0 <= I136 - I137 * y4] f8(I138, I139, I140, I141) -> f11(I138, I139, I142, I143) [1 <= I138 - 1 /\ 0 <= I144 - 1 /\ 1 <= I139 - 1 /\ I138 <= I139 /\ I144 <= I138 - 1] f10(I145, I146, I147, I148) -> f8(I146 + 2, I145, I149, I150) [I151 - I152 * I153 <= I152 - 1 /\ 0 <= I151 - I152 * I153] f9(I154, I155, I156, I157) -> f10(I154, I155, I158, I159) f3(I160, I161, I162, I163) -> f8(2, I161, I164, I165) [I161 <= I162 - 1 /\ 0 <= I162 - 1 /\ I161 - 2 * I166 = 1 /\ I161 - 3 * I167 = 0 /\ 0 <= I160 - 1 /\ 0 <= I161 - 2 * I166 /\ I161 - 2 * I166 <= 1 /\ I161 - 3 * I167 <= 2 /\ 0 <= I161 - 3 * I167] f2(I168, I169, I170, I171) -> f3(I168, I169, I170, I172) [I169 <= I170 - 1 /\ 0 <= I170 - 1 /\ I169 - 2 * I173 = 1 /\ I169 - 3 * I174 = 0 /\ 0 <= I168 - 1] f7(I175, I176, I177, I178) -> f5(I175 + 2, I176, I179, I180) [I175 <= I176 /\ 0 <= I181 - 1 /\ 0 <= I175 - 2 * I182 /\ I175 - 2 * I182 <= 1 /\ I183 * I184 - I181 * y5 <= I181 - 1 /\ 0 <= I183 * I184 - I181 * y5] f5(I185, I186, I187, I188) -> f7(I185, I186, I189, I190) [0 <= I191 - 1 /\ I185 <= I186] f6(I192, I193, I194, I195) -> f5(I193 + 2, I192, I196, I197) f3(I198, I199, I200, I201) -> f5(3, I199, I202, I203) [I199 <= I200 - 1 /\ 0 <= I200 - 1 /\ I199 - 2 * I204 = 0 /\ 0 <= I198 - 1 /\ I199 - 2 * I204 <= 1 /\ 0 <= I199 - 2 * I204] f2(I205, I206, I207, I208) -> f3(I205, I206, I207, I209) [I206 <= I207 - 1 /\ 0 <= I207 - 1 /\ I206 - 2 * I210 = 0 /\ 0 <= I205 - 1] f3(I211, I212, I213, I214) -> f2(I215, I212 + 1, I213, I216) [I212 <= I213 - 1 /\ 0 <= I213 - 1 /\ I212 - 2 * I217 = 1 /\ I212 - 3 * I218 = 0 /\ I215 <= I211 /\ 0 <= I211 - 1 /\ 0 <= I215 - 1 /\ 0 <= I212 - 2 * I217 /\ I212 - 2 * I217 <= 1 /\ I212 - 3 * I218 <= 2 /\ 0 <= I212 - 3 * I218] f2(I219, I220, I221, I222) -> f3(I219, I220, I221, I223) [I220 <= I221 - 1 /\ 0 <= I221 - 1 /\ I220 - 2 * I224 = 1 /\ I220 - 3 * I225 = 0 /\ I226 <= I219 /\ 0 <= I219 - 1 /\ 0 <= I226 - 1] f3(I227, I228, I229, I230) -> f2(I231, I228 + 1, I229, I232) [I228 <= I229 - 1 /\ 0 <= I229 - 1 /\ I228 - 2 * I233 = 0 /\ I231 <= I227 /\ 0 <= I227 - 1 /\ 0 <= I231 - 1 /\ I228 - 2 * I233 <= 1 /\ 0 <= I228 - 2 * I233] f2(I234, I235, I236, I237) -> f3(I234, I235, I236, I238) [I235 <= I236 - 1 /\ 0 <= I236 - 1 /\ I235 - 2 * I239 = 0 /\ I240 <= I234 /\ 0 <= I234 - 1 /\ 0 <= I240 - 1] f3(I241, I242, I243, I244) -> f2(I245, I242 + 1, I243, I246) [0 <= I242 - 3 * I247 - 1 /\ I242 <= I243 - 1 /\ 0 <= I243 - 1 /\ I242 - 2 * I248 = 1 /\ I242 - 5 * I249 = 0 /\ I245 <= I241 /\ 0 <= I241 - 1 /\ 0 <= I245 - 1 /\ 0 <= I242 - 2 * I248 /\ I242 - 2 * I248 <= 1 /\ I242 - 3 * I247 <= 2 /\ I242 - 5 * I249 <= 4 /\ 0 <= I242 - 5 * I249] f2(I250, I251, I252, I253) -> f3(I250, I251, I252, I254) [I251 <= I252 - 1 /\ 0 <= I252 - 1 /\ I251 - 2 * I255 = 1 /\ 0 <= I251 - 3 * I256 - 1 /\ I251 - 5 * I257 = 0 /\ I258 <= I250 /\ 0 <= I250 - 1 /\ 0 <= I258 - 1] f4(I259, I260, I261, I262) -> f2(I263, I260 + 1, I262, I264) [0 <= I263 - 1 /\ 0 <= I259 - 1 /\ I263 <= I259 /\ 99 <= I261 - 1 /\ -1 <= I262 - 1] f4(I265, I266, I267, I268) -> f4(I269, I266, I267 + 1, I268) [0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265] f3(I270, I271, I272, I273) -> f4(I274, I271, 0, I272) [0 <= I271 - 5 * I275 - 1 /\ 0 <= I271 - 3 * I276 - 1 /\ I271 - 2 * I277 = 1 /\ I271 <= I272 - 1 /\ I274 <= I270 /\ 0 <= I270 - 1 /\ 0 <= I274 - 1 /\ 0 <= I271 - 2 * I277 /\ I271 - 2 * I277 <= 1 /\ I271 - 3 * I276 <= 2 /\ I271 - 5 * I275 <= 4] f2(I278, I279, I280, I281) -> f3(I278, I279, I280, I282) [I279 - 2 * I283 = 1 /\ I279 <= I280 - 1 /\ 0 <= I279 - 5 * I284 - 1 /\ 0 <= I279 - 3 * I285 - 1 /\ I286 <= I278 /\ 0 <= I278 - 1 /\ 0 <= I286 - 1] f1(I287, I288, I289, I290) -> f2(I291, 0, I288, I292) [0 <= I291 - 1 /\ 0 <= I287 - 1 /\ -1 <= I288 - 1 /\ I291 <= I287] The dependency graph for this problem is: 17 -> Where: 17) f14#(I96, I97, I98, I99) -> f12#(I96, I97 + 1, I98, I100) [0 <= I96 - 1 /\ -1 <= I98 - 1 /\ 0 <= I101 - 1 /\ I97 <= I98 /\ y2 - I101 * y3 <= I101 - 1 /\ 0 <= y2 - I101 * y3] We have the following SCCs. DP problem for innermost termination. P = f8#(I12, I13, I14, I15) -> f11#(I12, I13, I16, I17) [1 <= I12 - 1 /\ 0 <= I18 - 1 /\ 1 <= I13 - 1 /\ I12 <= I13 /\ I18 <= I12 - 1] f8#(I49, I50, I51, I52) -> f11#(I49, I50, I53, I54) [1 <= I49 - 1 /\ 0 <= I55 - 1 /\ 1 <= I50 - 1 /\ I49 <= I50 /\ I55 <= I49 - 1] f8#(I63, I64, I65, I66) -> f11#(I63, I64, I67, I68) [1 <= I63 - 1 /\ 0 <= I69 - 1 /\ 1 <= I64 - 1 /\ I63 <= I64 /\ I69 <= I63 - 1] f11#(I129, I130, I131, I132) -> f8#(I129 + 2, I130, I133, I134) [1 <= I129 - 1 /\ 0 <= I135 - 1 /\ 1 <= I130 - 1 /\ I135 <= I129 - 1 /\ I129 <= I130 /\ 0 <= I129 - 2 * I135 /\ I129 - 2 * I135 <= 1 /\ I136 - I137 * y4 <= I137 - 1 /\ 0 <= I136 - I137 * y4] f8#(I138, I139, I140, I141) -> f11#(I138, I139, I142, I143) [1 <= I138 - 1 /\ 0 <= I144 - 1 /\ 1 <= I139 - 1 /\ I138 <= I139 /\ I144 <= I138 - 1] R = init(x1, x2, x3, x4) -> f1(rnd1, rnd2, rnd3, rnd4) f16(I0, I1, I2, I3) -> f16(I0 * I1, I1 + 1, I1 + 1, I3) [I1 = I2 /\ 0 <= I1 - 1 /\ 0 <= I0 - 1 /\ I1 <= I3] f12(I4, I5, I6, I7) -> f16(1, 1, 1, I5) [-1 <= I6 - 1 /\ I5 <= I6 /\ 0 <= I4 - 1] f11(I8, I9, I10, I11) -> f16(1, 1, 1, I8) [1 <= I8 - 1 /\ 0 <= y1 - 1 /\ 1 <= I9 - 1 /\ y1 <= I8 - 1 /\ I8 <= I9 /\ I8 - 2 * y1 <= 1 /\ 0 <= I8 - 2 * y1] f8(I12, I13, I14, I15) -> f11(I12, I13, I16, I17) [1 <= I12 - 1 /\ 0 <= I18 - 1 /\ 1 <= I13 - 1 /\ I12 <= I13 /\ I18 <= I12 - 1] f7(I19, I20, I21, I22) -> f16(1, 1, 1, I19) [I19 <= I20 /\ I19 - 2 * I23 <= 1 /\ 0 <= I19 - 2 * I23] f5(I24, I25, I26, I27) -> f7(I24, I25, I28, I29) [I24 <= I25] f15(I30, I31, I32, I33) -> f15(I30 + 1, I31, I34, I35) [I30 <= I31] f12(I36, I37, I38, I39) -> f15(1, I37, I40, I41) [-1 <= I38 - 1 /\ I37 <= I38 /\ 0 <= I36 - 1] f11(I42, I43, I44, I45) -> f15(1, I42, I46, I47) [1 <= I42 - 1 /\ 0 <= I48 - 1 /\ 1 <= I43 - 1 /\ I48 <= I42 - 1 /\ I42 <= I43 /\ I42 - 2 * I48 <= 1 /\ 0 <= I42 - 2 * I48] f8(I49, I50, I51, I52) -> f11(I49, I50, I53, I54) [1 <= I49 - 1 /\ 0 <= I55 - 1 /\ 1 <= I50 - 1 /\ I49 <= I50 /\ I55 <= I49 - 1] f11(I56, I57, I58, I59) -> f15(1, I60, I61, I62) [0 <= I56 - 2 * I60 /\ I56 - 2 * I60 <= 1 /\ I56 <= I57 /\ I60 <= I56 - 1 /\ 1 <= I57 - 1 /\ 0 <= I60 - 1 /\ 1 <= I56 - 1] f8(I63, I64, I65, I66) -> f11(I63, I64, I67, I68) [1 <= I63 - 1 /\ 0 <= I69 - 1 /\ 1 <= I64 - 1 /\ I63 <= I64 /\ I69 <= I63 - 1] f7(I70, I71, I72, I73) -> f15(1, I70, I74, I75) [I70 <= I71 /\ I70 - 2 * I76 <= 1 /\ 0 <= I70 - 2 * I76] f5(I77, I78, I79, I80) -> f7(I77, I78, I81, I82) [I77 <= I78] f7(I83, I84, I85, I86) -> f15(1, I87, I88, I89) [0 <= I83 - 2 * I87 /\ I83 - 2 * I87 <= 1 /\ I83 <= I84] f5(I90, I91, I92, I93) -> f7(I90, I91, I94, I95) [I90 <= I91] f14(I96, I97, I98, I99) -> f12(I96, I97 + 1, I98, I100) [0 <= I96 - 1 /\ -1 <= I98 - 1 /\ 0 <= I101 - 1 /\ I97 <= I98 /\ y2 - I101 * y3 <= I101 - 1 /\ 0 <= y2 - I101 * y3] f12(I102, I103, I104, I105) -> f14(I102, I103, I104, I106) [0 <= I102 - 1 /\ -1 <= I104 - 1 /\ I103 <= I104 /\ 0 <= I107 - 1] f13(I108, I109, I110, I111) -> f12(I108, I110 + 1, I109, I112) f3(I113, I114, I115, I116) -> f12(I115, 0, I114, I117) [0 <= I114 - 3 * I118 - 1 /\ I114 <= I115 - 1 /\ 0 <= I115 - 1 /\ I114 - 2 * I119 = 1 /\ I114 - 5 * I120 = 0 /\ 0 <= I113 - 1 /\ 0 <= I114 - 2 * I119 /\ I114 - 2 * I119 <= 1 /\ I114 - 3 * I118 <= 2 /\ I114 - 5 * I120 <= 4 /\ 0 <= I114 - 5 * I120] f2(I121, I122, I123, I124) -> f3(I121, I122, I123, I125) [I122 <= I123 - 1 /\ 0 <= I123 - 1 /\ I122 - 2 * I126 = 1 /\ 0 <= I122 - 3 * I127 - 1 /\ I122 - 5 * I128 = 0 /\ 0 <= I121 - 1] f11(I129, I130, I131, I132) -> f8(I129 + 2, I130, I133, I134) [1 <= I129 - 1 /\ 0 <= I135 - 1 /\ 1 <= I130 - 1 /\ I135 <= I129 - 1 /\ I129 <= I130 /\ 0 <= I129 - 2 * I135 /\ I129 - 2 * I135 <= 1 /\ I136 - I137 * y4 <= I137 - 1 /\ 0 <= I136 - I137 * y4] f8(I138, I139, I140, I141) -> f11(I138, I139, I142, I143) [1 <= I138 - 1 /\ 0 <= I144 - 1 /\ 1 <= I139 - 1 /\ I138 <= I139 /\ I144 <= I138 - 1] f10(I145, I146, I147, I148) -> f8(I146 + 2, I145, I149, I150) [I151 - I152 * I153 <= I152 - 1 /\ 0 <= I151 - I152 * I153] f9(I154, I155, I156, I157) -> f10(I154, I155, I158, I159) f3(I160, I161, I162, I163) -> f8(2, I161, I164, I165) [I161 <= I162 - 1 /\ 0 <= I162 - 1 /\ I161 - 2 * I166 = 1 /\ I161 - 3 * I167 = 0 /\ 0 <= I160 - 1 /\ 0 <= I161 - 2 * I166 /\ I161 - 2 * I166 <= 1 /\ I161 - 3 * I167 <= 2 /\ 0 <= I161 - 3 * I167] f2(I168, I169, I170, I171) -> f3(I168, I169, I170, I172) [I169 <= I170 - 1 /\ 0 <= I170 - 1 /\ I169 - 2 * I173 = 1 /\ I169 - 3 * I174 = 0 /\ 0 <= I168 - 1] f7(I175, I176, I177, I178) -> f5(I175 + 2, I176, I179, I180) [I175 <= I176 /\ 0 <= I181 - 1 /\ 0 <= I175 - 2 * I182 /\ I175 - 2 * I182 <= 1 /\ I183 * I184 - I181 * y5 <= I181 - 1 /\ 0 <= I183 * I184 - I181 * y5] f5(I185, I186, I187, I188) -> f7(I185, I186, I189, I190) [0 <= I191 - 1 /\ I185 <= I186] f6(I192, I193, I194, I195) -> f5(I193 + 2, I192, I196, I197) f3(I198, I199, I200, I201) -> f5(3, I199, I202, I203) [I199 <= I200 - 1 /\ 0 <= I200 - 1 /\ I199 - 2 * I204 = 0 /\ 0 <= I198 - 1 /\ I199 - 2 * I204 <= 1 /\ 0 <= I199 - 2 * I204] f2(I205, I206, I207, I208) -> f3(I205, I206, I207, I209) [I206 <= I207 - 1 /\ 0 <= I207 - 1 /\ I206 - 2 * I210 = 0 /\ 0 <= I205 - 1] f3(I211, I212, I213, I214) -> f2(I215, I212 + 1, I213, I216) [I212 <= I213 - 1 /\ 0 <= I213 - 1 /\ I212 - 2 * I217 = 1 /\ I212 - 3 * I218 = 0 /\ I215 <= I211 /\ 0 <= I211 - 1 /\ 0 <= I215 - 1 /\ 0 <= I212 - 2 * I217 /\ I212 - 2 * I217 <= 1 /\ I212 - 3 * I218 <= 2 /\ 0 <= I212 - 3 * I218] f2(I219, I220, I221, I222) -> f3(I219, I220, I221, I223) [I220 <= I221 - 1 /\ 0 <= I221 - 1 /\ I220 - 2 * I224 = 1 /\ I220 - 3 * I225 = 0 /\ I226 <= I219 /\ 0 <= I219 - 1 /\ 0 <= I226 - 1] f3(I227, I228, I229, I230) -> f2(I231, I228 + 1, I229, I232) [I228 <= I229 - 1 /\ 0 <= I229 - 1 /\ I228 - 2 * I233 = 0 /\ I231 <= I227 /\ 0 <= I227 - 1 /\ 0 <= I231 - 1 /\ I228 - 2 * I233 <= 1 /\ 0 <= I228 - 2 * I233] f2(I234, I235, I236, I237) -> f3(I234, I235, I236, I238) [I235 <= I236 - 1 /\ 0 <= I236 - 1 /\ I235 - 2 * I239 = 0 /\ I240 <= I234 /\ 0 <= I234 - 1 /\ 0 <= I240 - 1] f3(I241, I242, I243, I244) -> f2(I245, I242 + 1, I243, I246) [0 <= I242 - 3 * I247 - 1 /\ I242 <= I243 - 1 /\ 0 <= I243 - 1 /\ I242 - 2 * I248 = 1 /\ I242 - 5 * I249 = 0 /\ I245 <= I241 /\ 0 <= I241 - 1 /\ 0 <= I245 - 1 /\ 0 <= I242 - 2 * I248 /\ I242 - 2 * I248 <= 1 /\ I242 - 3 * I247 <= 2 /\ I242 - 5 * I249 <= 4 /\ 0 <= I242 - 5 * I249] f2(I250, I251, I252, I253) -> f3(I250, I251, I252, I254) [I251 <= I252 - 1 /\ 0 <= I252 - 1 /\ I251 - 2 * I255 = 1 /\ 0 <= I251 - 3 * I256 - 1 /\ I251 - 5 * I257 = 0 /\ I258 <= I250 /\ 0 <= I250 - 1 /\ 0 <= I258 - 1] f4(I259, I260, I261, I262) -> f2(I263, I260 + 1, I262, I264) [0 <= I263 - 1 /\ 0 <= I259 - 1 /\ I263 <= I259 /\ 99 <= I261 - 1 /\ -1 <= I262 - 1] f4(I265, I266, I267, I268) -> f4(I269, I266, I267 + 1, I268) [0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265] f3(I270, I271, I272, I273) -> f4(I274, I271, 0, I272) [0 <= I271 - 5 * I275 - 1 /\ 0 <= I271 - 3 * I276 - 1 /\ I271 - 2 * I277 = 1 /\ I271 <= I272 - 1 /\ I274 <= I270 /\ 0 <= I270 - 1 /\ 0 <= I274 - 1 /\ 0 <= I271 - 2 * I277 /\ I271 - 2 * I277 <= 1 /\ I271 - 3 * I276 <= 2 /\ I271 - 5 * I275 <= 4] f2(I278, I279, I280, I281) -> f3(I278, I279, I280, I282) [I279 - 2 * I283 = 1 /\ I279 <= I280 - 1 /\ 0 <= I279 - 5 * I284 - 1 /\ 0 <= I279 - 3 * I285 - 1 /\ I286 <= I278 /\ 0 <= I278 - 1 /\ 0 <= I286 - 1] f1(I287, I288, I289, I290) -> f2(I291, 0, I288, I292) [0 <= I291 - 1 /\ 0 <= I287 - 1 /\ -1 <= I288 - 1 /\ I291 <= I287] We use the reverse value criterion with the projection function NU: NU[f11#(z1,z2,z3,z4)] = z2 + -1 * (z1 + 2) NU[f8#(z1,z2,z3,z4)] = z2 + -1 * z1 This gives the following inequalities: 1 <= I12 - 1 /\ 0 <= I18 - 1 /\ 1 <= I13 - 1 /\ I12 <= I13 /\ I18 <= I12 - 1 ==> I13 + -1 * I12 > I13 + -1 * (I12 + 2) with I13 + -1 * I12 >= 0 1 <= I49 - 1 /\ 0 <= I55 - 1 /\ 1 <= I50 - 1 /\ I49 <= I50 /\ I55 <= I49 - 1 ==> I50 + -1 * I49 > I50 + -1 * (I49 + 2) with I50 + -1 * I49 >= 0 1 <= I63 - 1 /\ 0 <= I69 - 1 /\ 1 <= I64 - 1 /\ I63 <= I64 /\ I69 <= I63 - 1 ==> I64 + -1 * I63 > I64 + -1 * (I63 + 2) with I64 + -1 * I63 >= 0 1 <= I129 - 1 /\ 0 <= I135 - 1 /\ 1 <= I130 - 1 /\ I135 <= I129 - 1 /\ I129 <= I130 /\ 0 <= I129 - 2 * I135 /\ I129 - 2 * I135 <= 1 /\ I136 - I137 * y4 <= I137 - 1 /\ 0 <= I136 - I137 * y4 ==> I130 + -1 * (I129 + 2) >= I130 + -1 * (I129 + 2) 1 <= I138 - 1 /\ 0 <= I144 - 1 /\ 1 <= I139 - 1 /\ I138 <= I139 /\ I144 <= I138 - 1 ==> I139 + -1 * I138 > I139 + -1 * (I138 + 2) with I139 + -1 * I138 >= 0 We remove all the strictly oriented dependency pairs. DP problem for innermost termination. P = f11#(I129, I130, I131, I132) -> f8#(I129 + 2, I130, I133, I134) [1 <= I129 - 1 /\ 0 <= I135 - 1 /\ 1 <= I130 - 1 /\ I135 <= I129 - 1 /\ I129 <= I130 /\ 0 <= I129 - 2 * I135 /\ I129 - 2 * I135 <= 1 /\ I136 - I137 * y4 <= I137 - 1 /\ 0 <= I136 - I137 * y4] R = init(x1, x2, x3, x4) -> f1(rnd1, rnd2, rnd3, rnd4) f16(I0, I1, I2, I3) -> f16(I0 * I1, I1 + 1, I1 + 1, I3) [I1 = I2 /\ 0 <= I1 - 1 /\ 0 <= I0 - 1 /\ I1 <= I3] f12(I4, I5, I6, I7) -> f16(1, 1, 1, I5) [-1 <= I6 - 1 /\ I5 <= I6 /\ 0 <= I4 - 1] f11(I8, I9, I10, I11) -> f16(1, 1, 1, I8) [1 <= I8 - 1 /\ 0 <= y1 - 1 /\ 1 <= I9 - 1 /\ y1 <= I8 - 1 /\ I8 <= I9 /\ I8 - 2 * y1 <= 1 /\ 0 <= I8 - 2 * y1] f8(I12, I13, I14, I15) -> f11(I12, I13, I16, I17) [1 <= I12 - 1 /\ 0 <= I18 - 1 /\ 1 <= I13 - 1 /\ I12 <= I13 /\ I18 <= I12 - 1] f7(I19, I20, I21, I22) -> f16(1, 1, 1, I19) [I19 <= I20 /\ I19 - 2 * I23 <= 1 /\ 0 <= I19 - 2 * I23] f5(I24, I25, I26, I27) -> f7(I24, I25, I28, I29) [I24 <= I25] f15(I30, I31, I32, I33) -> f15(I30 + 1, I31, I34, I35) [I30 <= I31] f12(I36, I37, I38, I39) -> f15(1, I37, I40, I41) [-1 <= I38 - 1 /\ I37 <= I38 /\ 0 <= I36 - 1] f11(I42, I43, I44, I45) -> f15(1, I42, I46, I47) [1 <= I42 - 1 /\ 0 <= I48 - 1 /\ 1 <= I43 - 1 /\ I48 <= I42 - 1 /\ I42 <= I43 /\ I42 - 2 * I48 <= 1 /\ 0 <= I42 - 2 * I48] f8(I49, I50, I51, I52) -> f11(I49, I50, I53, I54) [1 <= I49 - 1 /\ 0 <= I55 - 1 /\ 1 <= I50 - 1 /\ I49 <= I50 /\ I55 <= I49 - 1] f11(I56, I57, I58, I59) -> f15(1, I60, I61, I62) [0 <= I56 - 2 * I60 /\ I56 - 2 * I60 <= 1 /\ I56 <= I57 /\ I60 <= I56 - 1 /\ 1 <= I57 - 1 /\ 0 <= I60 - 1 /\ 1 <= I56 - 1] f8(I63, I64, I65, I66) -> f11(I63, I64, I67, I68) [1 <= I63 - 1 /\ 0 <= I69 - 1 /\ 1 <= I64 - 1 /\ I63 <= I64 /\ I69 <= I63 - 1] f7(I70, I71, I72, I73) -> f15(1, I70, I74, I75) [I70 <= I71 /\ I70 - 2 * I76 <= 1 /\ 0 <= I70 - 2 * I76] f5(I77, I78, I79, I80) -> f7(I77, I78, I81, I82) [I77 <= I78] f7(I83, I84, I85, I86) -> f15(1, I87, I88, I89) [0 <= I83 - 2 * I87 /\ I83 - 2 * I87 <= 1 /\ I83 <= I84] f5(I90, I91, I92, I93) -> f7(I90, I91, I94, I95) [I90 <= I91] f14(I96, I97, I98, I99) -> f12(I96, I97 + 1, I98, I100) [0 <= I96 - 1 /\ -1 <= I98 - 1 /\ 0 <= I101 - 1 /\ I97 <= I98 /\ y2 - I101 * y3 <= I101 - 1 /\ 0 <= y2 - I101 * y3] f12(I102, I103, I104, I105) -> f14(I102, I103, I104, I106) [0 <= I102 - 1 /\ -1 <= I104 - 1 /\ I103 <= I104 /\ 0 <= I107 - 1] f13(I108, I109, I110, I111) -> f12(I108, I110 + 1, I109, I112) f3(I113, I114, I115, I116) -> f12(I115, 0, I114, I117) [0 <= I114 - 3 * I118 - 1 /\ I114 <= I115 - 1 /\ 0 <= I115 - 1 /\ I114 - 2 * I119 = 1 /\ I114 - 5 * I120 = 0 /\ 0 <= I113 - 1 /\ 0 <= I114 - 2 * I119 /\ I114 - 2 * I119 <= 1 /\ I114 - 3 * I118 <= 2 /\ I114 - 5 * I120 <= 4 /\ 0 <= I114 - 5 * I120] f2(I121, I122, I123, I124) -> f3(I121, I122, I123, I125) [I122 <= I123 - 1 /\ 0 <= I123 - 1 /\ I122 - 2 * I126 = 1 /\ 0 <= I122 - 3 * I127 - 1 /\ I122 - 5 * I128 = 0 /\ 0 <= I121 - 1] f11(I129, I130, I131, I132) -> f8(I129 + 2, I130, I133, I134) [1 <= I129 - 1 /\ 0 <= I135 - 1 /\ 1 <= I130 - 1 /\ I135 <= I129 - 1 /\ I129 <= I130 /\ 0 <= I129 - 2 * I135 /\ I129 - 2 * I135 <= 1 /\ I136 - I137 * y4 <= I137 - 1 /\ 0 <= I136 - I137 * y4] f8(I138, I139, I140, I141) -> f11(I138, I139, I142, I143) [1 <= I138 - 1 /\ 0 <= I144 - 1 /\ 1 <= I139 - 1 /\ I138 <= I139 /\ I144 <= I138 - 1] f10(I145, I146, I147, I148) -> f8(I146 + 2, I145, I149, I150) [I151 - I152 * I153 <= I152 - 1 /\ 0 <= I151 - I152 * I153] f9(I154, I155, I156, I157) -> f10(I154, I155, I158, I159) f3(I160, I161, I162, I163) -> f8(2, I161, I164, I165) [I161 <= I162 - 1 /\ 0 <= I162 - 1 /\ I161 - 2 * I166 = 1 /\ I161 - 3 * I167 = 0 /\ 0 <= I160 - 1 /\ 0 <= I161 - 2 * I166 /\ I161 - 2 * I166 <= 1 /\ I161 - 3 * I167 <= 2 /\ 0 <= I161 - 3 * I167] f2(I168, I169, I170, I171) -> f3(I168, I169, I170, I172) [I169 <= I170 - 1 /\ 0 <= I170 - 1 /\ I169 - 2 * I173 = 1 /\ I169 - 3 * I174 = 0 /\ 0 <= I168 - 1] f7(I175, I176, I177, I178) -> f5(I175 + 2, I176, I179, I180) [I175 <= I176 /\ 0 <= I181 - 1 /\ 0 <= I175 - 2 * I182 /\ I175 - 2 * I182 <= 1 /\ I183 * I184 - I181 * y5 <= I181 - 1 /\ 0 <= I183 * I184 - I181 * y5] f5(I185, I186, I187, I188) -> f7(I185, I186, I189, I190) [0 <= I191 - 1 /\ I185 <= I186] f6(I192, I193, I194, I195) -> f5(I193 + 2, I192, I196, I197) f3(I198, I199, I200, I201) -> f5(3, I199, I202, I203) [I199 <= I200 - 1 /\ 0 <= I200 - 1 /\ I199 - 2 * I204 = 0 /\ 0 <= I198 - 1 /\ I199 - 2 * I204 <= 1 /\ 0 <= I199 - 2 * I204] f2(I205, I206, I207, I208) -> f3(I205, I206, I207, I209) [I206 <= I207 - 1 /\ 0 <= I207 - 1 /\ I206 - 2 * I210 = 0 /\ 0 <= I205 - 1] f3(I211, I212, I213, I214) -> f2(I215, I212 + 1, I213, I216) [I212 <= I213 - 1 /\ 0 <= I213 - 1 /\ I212 - 2 * I217 = 1 /\ I212 - 3 * I218 = 0 /\ I215 <= I211 /\ 0 <= I211 - 1 /\ 0 <= I215 - 1 /\ 0 <= I212 - 2 * I217 /\ I212 - 2 * I217 <= 1 /\ I212 - 3 * I218 <= 2 /\ 0 <= I212 - 3 * I218] f2(I219, I220, I221, I222) -> f3(I219, I220, I221, I223) [I220 <= I221 - 1 /\ 0 <= I221 - 1 /\ I220 - 2 * I224 = 1 /\ I220 - 3 * I225 = 0 /\ I226 <= I219 /\ 0 <= I219 - 1 /\ 0 <= I226 - 1] f3(I227, I228, I229, I230) -> f2(I231, I228 + 1, I229, I232) [I228 <= I229 - 1 /\ 0 <= I229 - 1 /\ I228 - 2 * I233 = 0 /\ I231 <= I227 /\ 0 <= I227 - 1 /\ 0 <= I231 - 1 /\ I228 - 2 * I233 <= 1 /\ 0 <= I228 - 2 * I233] f2(I234, I235, I236, I237) -> f3(I234, I235, I236, I238) [I235 <= I236 - 1 /\ 0 <= I236 - 1 /\ I235 - 2 * I239 = 0 /\ I240 <= I234 /\ 0 <= I234 - 1 /\ 0 <= I240 - 1] f3(I241, I242, I243, I244) -> f2(I245, I242 + 1, I243, I246) [0 <= I242 - 3 * I247 - 1 /\ I242 <= I243 - 1 /\ 0 <= I243 - 1 /\ I242 - 2 * I248 = 1 /\ I242 - 5 * I249 = 0 /\ I245 <= I241 /\ 0 <= I241 - 1 /\ 0 <= I245 - 1 /\ 0 <= I242 - 2 * I248 /\ I242 - 2 * I248 <= 1 /\ I242 - 3 * I247 <= 2 /\ I242 - 5 * I249 <= 4 /\ 0 <= I242 - 5 * I249] f2(I250, I251, I252, I253) -> f3(I250, I251, I252, I254) [I251 <= I252 - 1 /\ 0 <= I252 - 1 /\ I251 - 2 * I255 = 1 /\ 0 <= I251 - 3 * I256 - 1 /\ I251 - 5 * I257 = 0 /\ I258 <= I250 /\ 0 <= I250 - 1 /\ 0 <= I258 - 1] f4(I259, I260, I261, I262) -> f2(I263, I260 + 1, I262, I264) [0 <= I263 - 1 /\ 0 <= I259 - 1 /\ I263 <= I259 /\ 99 <= I261 - 1 /\ -1 <= I262 - 1] f4(I265, I266, I267, I268) -> f4(I269, I266, I267 + 1, I268) [0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265] f3(I270, I271, I272, I273) -> f4(I274, I271, 0, I272) [0 <= I271 - 5 * I275 - 1 /\ 0 <= I271 - 3 * I276 - 1 /\ I271 - 2 * I277 = 1 /\ I271 <= I272 - 1 /\ I274 <= I270 /\ 0 <= I270 - 1 /\ 0 <= I274 - 1 /\ 0 <= I271 - 2 * I277 /\ I271 - 2 * I277 <= 1 /\ I271 - 3 * I276 <= 2 /\ I271 - 5 * I275 <= 4] f2(I278, I279, I280, I281) -> f3(I278, I279, I280, I282) [I279 - 2 * I283 = 1 /\ I279 <= I280 - 1 /\ 0 <= I279 - 5 * I284 - 1 /\ 0 <= I279 - 3 * I285 - 1 /\ I286 <= I278 /\ 0 <= I278 - 1 /\ 0 <= I286 - 1] f1(I287, I288, I289, I290) -> f2(I291, 0, I288, I292) [0 <= I291 - 1 /\ 0 <= I287 - 1 /\ -1 <= I288 - 1 /\ I291 <= I287] The dependency graph for this problem is: 22 -> Where: 22) f11#(I129, I130, I131, I132) -> f8#(I129 + 2, I130, I133, I134) [1 <= I129 - 1 /\ 0 <= I135 - 1 /\ 1 <= I130 - 1 /\ I135 <= I129 - 1 /\ I129 <= I130 /\ 0 <= I129 - 2 * I135 /\ I129 - 2 * I135 <= 1 /\ I136 - I137 * y4 <= I137 - 1 /\ 0 <= I136 - I137 * y4] We have the following SCCs. DP problem for innermost termination. P = f2#(I121, I122, I123, I124) -> f3#(I121, I122, I123, I125) [I122 <= I123 - 1 /\ 0 <= I123 - 1 /\ I122 - 2 * I126 = 1 /\ 0 <= I122 - 3 * I127 - 1 /\ I122 - 5 * I128 = 0 /\ 0 <= I121 - 1] f2#(I168, I169, I170, I171) -> f3#(I168, I169, I170, I172) [I169 <= I170 - 1 /\ 0 <= I170 - 1 /\ I169 - 2 * I173 = 1 /\ I169 - 3 * I174 = 0 /\ 0 <= I168 - 1] f2#(I205, I206, I207, I208) -> f3#(I205, I206, I207, I209) [I206 <= I207 - 1 /\ 0 <= I207 - 1 /\ I206 - 2 * I210 = 0 /\ 0 <= I205 - 1] f3#(I211, I212, I213, I214) -> f2#(I215, I212 + 1, I213, I216) [I212 <= I213 - 1 /\ 0 <= I213 - 1 /\ I212 - 2 * I217 = 1 /\ I212 - 3 * I218 = 0 /\ I215 <= I211 /\ 0 <= I211 - 1 /\ 0 <= I215 - 1 /\ 0 <= I212 - 2 * I217 /\ I212 - 2 * I217 <= 1 /\ I212 - 3 * I218 <= 2 /\ 0 <= I212 - 3 * I218] f2#(I219, I220, I221, I222) -> f3#(I219, I220, I221, I223) [I220 <= I221 - 1 /\ 0 <= I221 - 1 /\ I220 - 2 * I224 = 1 /\ I220 - 3 * I225 = 0 /\ I226 <= I219 /\ 0 <= I219 - 1 /\ 0 <= I226 - 1] f3#(I227, I228, I229, I230) -> f2#(I231, I228 + 1, I229, I232) [I228 <= I229 - 1 /\ 0 <= I229 - 1 /\ I228 - 2 * I233 = 0 /\ I231 <= I227 /\ 0 <= I227 - 1 /\ 0 <= I231 - 1 /\ I228 - 2 * I233 <= 1 /\ 0 <= I228 - 2 * I233] f2#(I234, I235, I236, I237) -> f3#(I234, I235, I236, I238) [I235 <= I236 - 1 /\ 0 <= I236 - 1 /\ I235 - 2 * I239 = 0 /\ I240 <= I234 /\ 0 <= I234 - 1 /\ 0 <= I240 - 1] f3#(I241, I242, I243, I244) -> f2#(I245, I242 + 1, I243, I246) [0 <= I242 - 3 * I247 - 1 /\ I242 <= I243 - 1 /\ 0 <= I243 - 1 /\ I242 - 2 * I248 = 1 /\ I242 - 5 * I249 = 0 /\ I245 <= I241 /\ 0 <= I241 - 1 /\ 0 <= I245 - 1 /\ 0 <= I242 - 2 * I248 /\ I242 - 2 * I248 <= 1 /\ I242 - 3 * I247 <= 2 /\ I242 - 5 * I249 <= 4 /\ 0 <= I242 - 5 * I249] f2#(I250, I251, I252, I253) -> f3#(I250, I251, I252, I254) [I251 <= I252 - 1 /\ 0 <= I252 - 1 /\ I251 - 2 * I255 = 1 /\ 0 <= I251 - 3 * I256 - 1 /\ I251 - 5 * I257 = 0 /\ I258 <= I250 /\ 0 <= I250 - 1 /\ 0 <= I258 - 1] f4#(I259, I260, I261, I262) -> f2#(I263, I260 + 1, I262, I264) [0 <= I263 - 1 /\ 0 <= I259 - 1 /\ I263 <= I259 /\ 99 <= I261 - 1 /\ -1 <= I262 - 1] f4#(I265, I266, I267, I268) -> f4#(I269, I266, I267 + 1, I268) [0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265] f3#(I270, I271, I272, I273) -> f4#(I274, I271, 0, I272) [0 <= I271 - 5 * I275 - 1 /\ 0 <= I271 - 3 * I276 - 1 /\ I271 - 2 * I277 = 1 /\ I271 <= I272 - 1 /\ I274 <= I270 /\ 0 <= I270 - 1 /\ 0 <= I274 - 1 /\ 0 <= I271 - 2 * I277 /\ I271 - 2 * I277 <= 1 /\ I271 - 3 * I276 <= 2 /\ I271 - 5 * I275 <= 4] f2#(I278, I279, I280, I281) -> f3#(I278, I279, I280, I282) [I279 - 2 * I283 = 1 /\ I279 <= I280 - 1 /\ 0 <= I279 - 5 * I284 - 1 /\ 0 <= I279 - 3 * I285 - 1 /\ I286 <= I278 /\ 0 <= I278 - 1 /\ 0 <= I286 - 1] R = init(x1, x2, x3, x4) -> f1(rnd1, rnd2, rnd3, rnd4) f16(I0, I1, I2, I3) -> f16(I0 * I1, I1 + 1, I1 + 1, I3) [I1 = I2 /\ 0 <= I1 - 1 /\ 0 <= I0 - 1 /\ I1 <= I3] f12(I4, I5, I6, I7) -> f16(1, 1, 1, I5) [-1 <= I6 - 1 /\ I5 <= I6 /\ 0 <= I4 - 1] f11(I8, I9, I10, I11) -> f16(1, 1, 1, I8) [1 <= I8 - 1 /\ 0 <= y1 - 1 /\ 1 <= I9 - 1 /\ y1 <= I8 - 1 /\ I8 <= I9 /\ I8 - 2 * y1 <= 1 /\ 0 <= I8 - 2 * y1] f8(I12, I13, I14, I15) -> f11(I12, I13, I16, I17) [1 <= I12 - 1 /\ 0 <= I18 - 1 /\ 1 <= I13 - 1 /\ I12 <= I13 /\ I18 <= I12 - 1] f7(I19, I20, I21, I22) -> f16(1, 1, 1, I19) [I19 <= I20 /\ I19 - 2 * I23 <= 1 /\ 0 <= I19 - 2 * I23] f5(I24, I25, I26, I27) -> f7(I24, I25, I28, I29) [I24 <= I25] f15(I30, I31, I32, I33) -> f15(I30 + 1, I31, I34, I35) [I30 <= I31] f12(I36, I37, I38, I39) -> f15(1, I37, I40, I41) [-1 <= I38 - 1 /\ I37 <= I38 /\ 0 <= I36 - 1] f11(I42, I43, I44, I45) -> f15(1, I42, I46, I47) [1 <= I42 - 1 /\ 0 <= I48 - 1 /\ 1 <= I43 - 1 /\ I48 <= I42 - 1 /\ I42 <= I43 /\ I42 - 2 * I48 <= 1 /\ 0 <= I42 - 2 * I48] f8(I49, I50, I51, I52) -> f11(I49, I50, I53, I54) [1 <= I49 - 1 /\ 0 <= I55 - 1 /\ 1 <= I50 - 1 /\ I49 <= I50 /\ I55 <= I49 - 1] f11(I56, I57, I58, I59) -> f15(1, I60, I61, I62) [0 <= I56 - 2 * I60 /\ I56 - 2 * I60 <= 1 /\ I56 <= I57 /\ I60 <= I56 - 1 /\ 1 <= I57 - 1 /\ 0 <= I60 - 1 /\ 1 <= I56 - 1] f8(I63, I64, I65, I66) -> f11(I63, I64, I67, I68) [1 <= I63 - 1 /\ 0 <= I69 - 1 /\ 1 <= I64 - 1 /\ I63 <= I64 /\ I69 <= I63 - 1] f7(I70, I71, I72, I73) -> f15(1, I70, I74, I75) [I70 <= I71 /\ I70 - 2 * I76 <= 1 /\ 0 <= I70 - 2 * I76] f5(I77, I78, I79, I80) -> f7(I77, I78, I81, I82) [I77 <= I78] f7(I83, I84, I85, I86) -> f15(1, I87, I88, I89) [0 <= I83 - 2 * I87 /\ I83 - 2 * I87 <= 1 /\ I83 <= I84] f5(I90, I91, I92, I93) -> f7(I90, I91, I94, I95) [I90 <= I91] f14(I96, I97, I98, I99) -> f12(I96, I97 + 1, I98, I100) [0 <= I96 - 1 /\ -1 <= I98 - 1 /\ 0 <= I101 - 1 /\ I97 <= I98 /\ y2 - I101 * y3 <= I101 - 1 /\ 0 <= y2 - I101 * y3] f12(I102, I103, I104, I105) -> f14(I102, I103, I104, I106) [0 <= I102 - 1 /\ -1 <= I104 - 1 /\ I103 <= I104 /\ 0 <= I107 - 1] f13(I108, I109, I110, I111) -> f12(I108, I110 + 1, I109, I112) f3(I113, I114, I115, I116) -> f12(I115, 0, I114, I117) [0 <= I114 - 3 * I118 - 1 /\ I114 <= I115 - 1 /\ 0 <= I115 - 1 /\ I114 - 2 * I119 = 1 /\ I114 - 5 * I120 = 0 /\ 0 <= I113 - 1 /\ 0 <= I114 - 2 * I119 /\ I114 - 2 * I119 <= 1 /\ I114 - 3 * I118 <= 2 /\ I114 - 5 * I120 <= 4 /\ 0 <= I114 - 5 * I120] f2(I121, I122, I123, I124) -> f3(I121, I122, I123, I125) [I122 <= I123 - 1 /\ 0 <= I123 - 1 /\ I122 - 2 * I126 = 1 /\ 0 <= I122 - 3 * I127 - 1 /\ I122 - 5 * I128 = 0 /\ 0 <= I121 - 1] f11(I129, I130, I131, I132) -> f8(I129 + 2, I130, I133, I134) [1 <= I129 - 1 /\ 0 <= I135 - 1 /\ 1 <= I130 - 1 /\ I135 <= I129 - 1 /\ I129 <= I130 /\ 0 <= I129 - 2 * I135 /\ I129 - 2 * I135 <= 1 /\ I136 - I137 * y4 <= I137 - 1 /\ 0 <= I136 - I137 * y4] f8(I138, I139, I140, I141) -> f11(I138, I139, I142, I143) [1 <= I138 - 1 /\ 0 <= I144 - 1 /\ 1 <= I139 - 1 /\ I138 <= I139 /\ I144 <= I138 - 1] f10(I145, I146, I147, I148) -> f8(I146 + 2, I145, I149, I150) [I151 - I152 * I153 <= I152 - 1 /\ 0 <= I151 - I152 * I153] f9(I154, I155, I156, I157) -> f10(I154, I155, I158, I159) f3(I160, I161, I162, I163) -> f8(2, I161, I164, I165) [I161 <= I162 - 1 /\ 0 <= I162 - 1 /\ I161 - 2 * I166 = 1 /\ I161 - 3 * I167 = 0 /\ 0 <= I160 - 1 /\ 0 <= I161 - 2 * I166 /\ I161 - 2 * I166 <= 1 /\ I161 - 3 * I167 <= 2 /\ 0 <= I161 - 3 * I167] f2(I168, I169, I170, I171) -> f3(I168, I169, I170, I172) [I169 <= I170 - 1 /\ 0 <= I170 - 1 /\ I169 - 2 * I173 = 1 /\ I169 - 3 * I174 = 0 /\ 0 <= I168 - 1] f7(I175, I176, I177, I178) -> f5(I175 + 2, I176, I179, I180) [I175 <= I176 /\ 0 <= I181 - 1 /\ 0 <= I175 - 2 * I182 /\ I175 - 2 * I182 <= 1 /\ I183 * I184 - I181 * y5 <= I181 - 1 /\ 0 <= I183 * I184 - I181 * y5] f5(I185, I186, I187, I188) -> f7(I185, I186, I189, I190) [0 <= I191 - 1 /\ I185 <= I186] f6(I192, I193, I194, I195) -> f5(I193 + 2, I192, I196, I197) f3(I198, I199, I200, I201) -> f5(3, I199, I202, I203) [I199 <= I200 - 1 /\ 0 <= I200 - 1 /\ I199 - 2 * I204 = 0 /\ 0 <= I198 - 1 /\ I199 - 2 * I204 <= 1 /\ 0 <= I199 - 2 * I204] f2(I205, I206, I207, I208) -> f3(I205, I206, I207, I209) [I206 <= I207 - 1 /\ 0 <= I207 - 1 /\ I206 - 2 * I210 = 0 /\ 0 <= I205 - 1] f3(I211, I212, I213, I214) -> f2(I215, I212 + 1, I213, I216) [I212 <= I213 - 1 /\ 0 <= I213 - 1 /\ I212 - 2 * I217 = 1 /\ I212 - 3 * I218 = 0 /\ I215 <= I211 /\ 0 <= I211 - 1 /\ 0 <= I215 - 1 /\ 0 <= I212 - 2 * I217 /\ I212 - 2 * I217 <= 1 /\ I212 - 3 * I218 <= 2 /\ 0 <= I212 - 3 * I218] f2(I219, I220, I221, I222) -> f3(I219, I220, I221, I223) [I220 <= I221 - 1 /\ 0 <= I221 - 1 /\ I220 - 2 * I224 = 1 /\ I220 - 3 * I225 = 0 /\ I226 <= I219 /\ 0 <= I219 - 1 /\ 0 <= I226 - 1] f3(I227, I228, I229, I230) -> f2(I231, I228 + 1, I229, I232) [I228 <= I229 - 1 /\ 0 <= I229 - 1 /\ I228 - 2 * I233 = 0 /\ I231 <= I227 /\ 0 <= I227 - 1 /\ 0 <= I231 - 1 /\ I228 - 2 * I233 <= 1 /\ 0 <= I228 - 2 * I233] f2(I234, I235, I236, I237) -> f3(I234, I235, I236, I238) [I235 <= I236 - 1 /\ 0 <= I236 - 1 /\ I235 - 2 * I239 = 0 /\ I240 <= I234 /\ 0 <= I234 - 1 /\ 0 <= I240 - 1] f3(I241, I242, I243, I244) -> f2(I245, I242 + 1, I243, I246) [0 <= I242 - 3 * I247 - 1 /\ I242 <= I243 - 1 /\ 0 <= I243 - 1 /\ I242 - 2 * I248 = 1 /\ I242 - 5 * I249 = 0 /\ I245 <= I241 /\ 0 <= I241 - 1 /\ 0 <= I245 - 1 /\ 0 <= I242 - 2 * I248 /\ I242 - 2 * I248 <= 1 /\ I242 - 3 * I247 <= 2 /\ I242 - 5 * I249 <= 4 /\ 0 <= I242 - 5 * I249] f2(I250, I251, I252, I253) -> f3(I250, I251, I252, I254) [I251 <= I252 - 1 /\ 0 <= I252 - 1 /\ I251 - 2 * I255 = 1 /\ 0 <= I251 - 3 * I256 - 1 /\ I251 - 5 * I257 = 0 /\ I258 <= I250 /\ 0 <= I250 - 1 /\ 0 <= I258 - 1] f4(I259, I260, I261, I262) -> f2(I263, I260 + 1, I262, I264) [0 <= I263 - 1 /\ 0 <= I259 - 1 /\ I263 <= I259 /\ 99 <= I261 - 1 /\ -1 <= I262 - 1] f4(I265, I266, I267, I268) -> f4(I269, I266, I267 + 1, I268) [0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265] f3(I270, I271, I272, I273) -> f4(I274, I271, 0, I272) [0 <= I271 - 5 * I275 - 1 /\ 0 <= I271 - 3 * I276 - 1 /\ I271 - 2 * I277 = 1 /\ I271 <= I272 - 1 /\ I274 <= I270 /\ 0 <= I270 - 1 /\ 0 <= I274 - 1 /\ 0 <= I271 - 2 * I277 /\ I271 - 2 * I277 <= 1 /\ I271 - 3 * I276 <= 2 /\ I271 - 5 * I275 <= 4] f2(I278, I279, I280, I281) -> f3(I278, I279, I280, I282) [I279 - 2 * I283 = 1 /\ I279 <= I280 - 1 /\ 0 <= I279 - 5 * I284 - 1 /\ 0 <= I279 - 3 * I285 - 1 /\ I286 <= I278 /\ 0 <= I278 - 1 /\ 0 <= I286 - 1] f1(I287, I288, I289, I290) -> f2(I291, 0, I288, I292) [0 <= I291 - 1 /\ 0 <= I287 - 1 /\ -1 <= I288 - 1 /\ I291 <= I287] We use the reverse value criterion with the projection function NU: NU[f4#(z1,z2,z3,z4)] = z4 - 1 + -1 * (z2 + 1) NU[f3#(z1,z2,z3,z4)] = z3 - 1 + -1 * (z2 + 1) NU[f2#(z1,z2,z3,z4)] = z3 - 1 + -1 * z2 This gives the following inequalities: I122 <= I123 - 1 /\ 0 <= I123 - 1 /\ I122 - 2 * I126 = 1 /\ 0 <= I122 - 3 * I127 - 1 /\ I122 - 5 * I128 = 0 /\ 0 <= I121 - 1 ==> I123 - 1 + -1 * I122 > I123 - 1 + -1 * (I122 + 1) with I123 - 1 + -1 * I122 >= 0 I169 <= I170 - 1 /\ 0 <= I170 - 1 /\ I169 - 2 * I173 = 1 /\ I169 - 3 * I174 = 0 /\ 0 <= I168 - 1 ==> I170 - 1 + -1 * I169 > I170 - 1 + -1 * (I169 + 1) with I170 - 1 + -1 * I169 >= 0 I206 <= I207 - 1 /\ 0 <= I207 - 1 /\ I206 - 2 * I210 = 0 /\ 0 <= I205 - 1 ==> I207 - 1 + -1 * I206 > I207 - 1 + -1 * (I206 + 1) with I207 - 1 + -1 * I206 >= 0 I212 <= I213 - 1 /\ 0 <= I213 - 1 /\ I212 - 2 * I217 = 1 /\ I212 - 3 * I218 = 0 /\ I215 <= I211 /\ 0 <= I211 - 1 /\ 0 <= I215 - 1 /\ 0 <= I212 - 2 * I217 /\ I212 - 2 * I217 <= 1 /\ I212 - 3 * I218 <= 2 /\ 0 <= I212 - 3 * I218 ==> I213 - 1 + -1 * (I212 + 1) >= I213 - 1 + -1 * (I212 + 1) I220 <= I221 - 1 /\ 0 <= I221 - 1 /\ I220 - 2 * I224 = 1 /\ I220 - 3 * I225 = 0 /\ I226 <= I219 /\ 0 <= I219 - 1 /\ 0 <= I226 - 1 ==> I221 - 1 + -1 * I220 > I221 - 1 + -1 * (I220 + 1) with I221 - 1 + -1 * I220 >= 0 I228 <= I229 - 1 /\ 0 <= I229 - 1 /\ I228 - 2 * I233 = 0 /\ I231 <= I227 /\ 0 <= I227 - 1 /\ 0 <= I231 - 1 /\ I228 - 2 * I233 <= 1 /\ 0 <= I228 - 2 * I233 ==> I229 - 1 + -1 * (I228 + 1) >= I229 - 1 + -1 * (I228 + 1) I235 <= I236 - 1 /\ 0 <= I236 - 1 /\ I235 - 2 * I239 = 0 /\ I240 <= I234 /\ 0 <= I234 - 1 /\ 0 <= I240 - 1 ==> I236 - 1 + -1 * I235 > I236 - 1 + -1 * (I235 + 1) with I236 - 1 + -1 * I235 >= 0 0 <= I242 - 3 * I247 - 1 /\ I242 <= I243 - 1 /\ 0 <= I243 - 1 /\ I242 - 2 * I248 = 1 /\ I242 - 5 * I249 = 0 /\ I245 <= I241 /\ 0 <= I241 - 1 /\ 0 <= I245 - 1 /\ 0 <= I242 - 2 * I248 /\ I242 - 2 * I248 <= 1 /\ I242 - 3 * I247 <= 2 /\ I242 - 5 * I249 <= 4 /\ 0 <= I242 - 5 * I249 ==> I243 - 1 + -1 * (I242 + 1) >= I243 - 1 + -1 * (I242 + 1) I251 <= I252 - 1 /\ 0 <= I252 - 1 /\ I251 - 2 * I255 = 1 /\ 0 <= I251 - 3 * I256 - 1 /\ I251 - 5 * I257 = 0 /\ I258 <= I250 /\ 0 <= I250 - 1 /\ 0 <= I258 - 1 ==> I252 - 1 + -1 * I251 > I252 - 1 + -1 * (I251 + 1) with I252 - 1 + -1 * I251 >= 0 0 <= I263 - 1 /\ 0 <= I259 - 1 /\ I263 <= I259 /\ 99 <= I261 - 1 /\ -1 <= I262 - 1 ==> I262 - 1 + -1 * (I260 + 1) >= I262 - 1 + -1 * (I260 + 1) 0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265 ==> I268 - 1 + -1 * (I266 + 1) >= I268 - 1 + -1 * (I266 + 1) 0 <= I271 - 5 * I275 - 1 /\ 0 <= I271 - 3 * I276 - 1 /\ I271 - 2 * I277 = 1 /\ I271 <= I272 - 1 /\ I274 <= I270 /\ 0 <= I270 - 1 /\ 0 <= I274 - 1 /\ 0 <= I271 - 2 * I277 /\ I271 - 2 * I277 <= 1 /\ I271 - 3 * I276 <= 2 /\ I271 - 5 * I275 <= 4 ==> I272 - 1 + -1 * (I271 + 1) >= I272 - 1 + -1 * (I271 + 1) I279 - 2 * I283 = 1 /\ I279 <= I280 - 1 /\ 0 <= I279 - 5 * I284 - 1 /\ 0 <= I279 - 3 * I285 - 1 /\ I286 <= I278 /\ 0 <= I278 - 1 /\ 0 <= I286 - 1 ==> I280 - 1 + -1 * I279 > I280 - 1 + -1 * (I279 + 1) with I280 - 1 + -1 * I279 >= 0 We remove all the strictly oriented dependency pairs. DP problem for innermost termination. P = f3#(I211, I212, I213, I214) -> f2#(I215, I212 + 1, I213, I216) [I212 <= I213 - 1 /\ 0 <= I213 - 1 /\ I212 - 2 * I217 = 1 /\ I212 - 3 * I218 = 0 /\ I215 <= I211 /\ 0 <= I211 - 1 /\ 0 <= I215 - 1 /\ 0 <= I212 - 2 * I217 /\ I212 - 2 * I217 <= 1 /\ I212 - 3 * I218 <= 2 /\ 0 <= I212 - 3 * I218] f3#(I227, I228, I229, I230) -> f2#(I231, I228 + 1, I229, I232) [I228 <= I229 - 1 /\ 0 <= I229 - 1 /\ I228 - 2 * I233 = 0 /\ I231 <= I227 /\ 0 <= I227 - 1 /\ 0 <= I231 - 1 /\ I228 - 2 * I233 <= 1 /\ 0 <= I228 - 2 * I233] f3#(I241, I242, I243, I244) -> f2#(I245, I242 + 1, I243, I246) [0 <= I242 - 3 * I247 - 1 /\ I242 <= I243 - 1 /\ 0 <= I243 - 1 /\ I242 - 2 * I248 = 1 /\ I242 - 5 * I249 = 0 /\ I245 <= I241 /\ 0 <= I241 - 1 /\ 0 <= I245 - 1 /\ 0 <= I242 - 2 * I248 /\ I242 - 2 * I248 <= 1 /\ I242 - 3 * I247 <= 2 /\ I242 - 5 * I249 <= 4 /\ 0 <= I242 - 5 * I249] f4#(I259, I260, I261, I262) -> f2#(I263, I260 + 1, I262, I264) [0 <= I263 - 1 /\ 0 <= I259 - 1 /\ I263 <= I259 /\ 99 <= I261 - 1 /\ -1 <= I262 - 1] f4#(I265, I266, I267, I268) -> f4#(I269, I266, I267 + 1, I268) [0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265] f3#(I270, I271, I272, I273) -> f4#(I274, I271, 0, I272) [0 <= I271 - 5 * I275 - 1 /\ 0 <= I271 - 3 * I276 - 1 /\ I271 - 2 * I277 = 1 /\ I271 <= I272 - 1 /\ I274 <= I270 /\ 0 <= I270 - 1 /\ 0 <= I274 - 1 /\ 0 <= I271 - 2 * I277 /\ I271 - 2 * I277 <= 1 /\ I271 - 3 * I276 <= 2 /\ I271 - 5 * I275 <= 4] R = init(x1, x2, x3, x4) -> f1(rnd1, rnd2, rnd3, rnd4) f16(I0, I1, I2, I3) -> f16(I0 * I1, I1 + 1, I1 + 1, I3) [I1 = I2 /\ 0 <= I1 - 1 /\ 0 <= I0 - 1 /\ I1 <= I3] f12(I4, I5, I6, I7) -> f16(1, 1, 1, I5) [-1 <= I6 - 1 /\ I5 <= I6 /\ 0 <= I4 - 1] f11(I8, I9, I10, I11) -> f16(1, 1, 1, I8) [1 <= I8 - 1 /\ 0 <= y1 - 1 /\ 1 <= I9 - 1 /\ y1 <= I8 - 1 /\ I8 <= I9 /\ I8 - 2 * y1 <= 1 /\ 0 <= I8 - 2 * y1] f8(I12, I13, I14, I15) -> f11(I12, I13, I16, I17) [1 <= I12 - 1 /\ 0 <= I18 - 1 /\ 1 <= I13 - 1 /\ I12 <= I13 /\ I18 <= I12 - 1] f7(I19, I20, I21, I22) -> f16(1, 1, 1, I19) [I19 <= I20 /\ I19 - 2 * I23 <= 1 /\ 0 <= I19 - 2 * I23] f5(I24, I25, I26, I27) -> f7(I24, I25, I28, I29) [I24 <= I25] f15(I30, I31, I32, I33) -> f15(I30 + 1, I31, I34, I35) [I30 <= I31] f12(I36, I37, I38, I39) -> f15(1, I37, I40, I41) [-1 <= I38 - 1 /\ I37 <= I38 /\ 0 <= I36 - 1] f11(I42, I43, I44, I45) -> f15(1, I42, I46, I47) [1 <= I42 - 1 /\ 0 <= I48 - 1 /\ 1 <= I43 - 1 /\ I48 <= I42 - 1 /\ I42 <= I43 /\ I42 - 2 * I48 <= 1 /\ 0 <= I42 - 2 * I48] f8(I49, I50, I51, I52) -> f11(I49, I50, I53, I54) [1 <= I49 - 1 /\ 0 <= I55 - 1 /\ 1 <= I50 - 1 /\ I49 <= I50 /\ I55 <= I49 - 1] f11(I56, I57, I58, I59) -> f15(1, I60, I61, I62) [0 <= I56 - 2 * I60 /\ I56 - 2 * I60 <= 1 /\ I56 <= I57 /\ I60 <= I56 - 1 /\ 1 <= I57 - 1 /\ 0 <= I60 - 1 /\ 1 <= I56 - 1] f8(I63, I64, I65, I66) -> f11(I63, I64, I67, I68) [1 <= I63 - 1 /\ 0 <= I69 - 1 /\ 1 <= I64 - 1 /\ I63 <= I64 /\ I69 <= I63 - 1] f7(I70, I71, I72, I73) -> f15(1, I70, I74, I75) [I70 <= I71 /\ I70 - 2 * I76 <= 1 /\ 0 <= I70 - 2 * I76] f5(I77, I78, I79, I80) -> f7(I77, I78, I81, I82) [I77 <= I78] f7(I83, I84, I85, I86) -> f15(1, I87, I88, I89) [0 <= I83 - 2 * I87 /\ I83 - 2 * I87 <= 1 /\ I83 <= I84] f5(I90, I91, I92, I93) -> f7(I90, I91, I94, I95) [I90 <= I91] f14(I96, I97, I98, I99) -> f12(I96, I97 + 1, I98, I100) [0 <= I96 - 1 /\ -1 <= I98 - 1 /\ 0 <= I101 - 1 /\ I97 <= I98 /\ y2 - I101 * y3 <= I101 - 1 /\ 0 <= y2 - I101 * y3] f12(I102, I103, I104, I105) -> f14(I102, I103, I104, I106) [0 <= I102 - 1 /\ -1 <= I104 - 1 /\ I103 <= I104 /\ 0 <= I107 - 1] f13(I108, I109, I110, I111) -> f12(I108, I110 + 1, I109, I112) f3(I113, I114, I115, I116) -> f12(I115, 0, I114, I117) [0 <= I114 - 3 * I118 - 1 /\ I114 <= I115 - 1 /\ 0 <= I115 - 1 /\ I114 - 2 * I119 = 1 /\ I114 - 5 * I120 = 0 /\ 0 <= I113 - 1 /\ 0 <= I114 - 2 * I119 /\ I114 - 2 * I119 <= 1 /\ I114 - 3 * I118 <= 2 /\ I114 - 5 * I120 <= 4 /\ 0 <= I114 - 5 * I120] f2(I121, I122, I123, I124) -> f3(I121, I122, I123, I125) [I122 <= I123 - 1 /\ 0 <= I123 - 1 /\ I122 - 2 * I126 = 1 /\ 0 <= I122 - 3 * I127 - 1 /\ I122 - 5 * I128 = 0 /\ 0 <= I121 - 1] f11(I129, I130, I131, I132) -> f8(I129 + 2, I130, I133, I134) [1 <= I129 - 1 /\ 0 <= I135 - 1 /\ 1 <= I130 - 1 /\ I135 <= I129 - 1 /\ I129 <= I130 /\ 0 <= I129 - 2 * I135 /\ I129 - 2 * I135 <= 1 /\ I136 - I137 * y4 <= I137 - 1 /\ 0 <= I136 - I137 * y4] f8(I138, I139, I140, I141) -> f11(I138, I139, I142, I143) [1 <= I138 - 1 /\ 0 <= I144 - 1 /\ 1 <= I139 - 1 /\ I138 <= I139 /\ I144 <= I138 - 1] f10(I145, I146, I147, I148) -> f8(I146 + 2, I145, I149, I150) [I151 - I152 * I153 <= I152 - 1 /\ 0 <= I151 - I152 * I153] f9(I154, I155, I156, I157) -> f10(I154, I155, I158, I159) f3(I160, I161, I162, I163) -> f8(2, I161, I164, I165) [I161 <= I162 - 1 /\ 0 <= I162 - 1 /\ I161 - 2 * I166 = 1 /\ I161 - 3 * I167 = 0 /\ 0 <= I160 - 1 /\ 0 <= I161 - 2 * I166 /\ I161 - 2 * I166 <= 1 /\ I161 - 3 * I167 <= 2 /\ 0 <= I161 - 3 * I167] f2(I168, I169, I170, I171) -> f3(I168, I169, I170, I172) [I169 <= I170 - 1 /\ 0 <= I170 - 1 /\ I169 - 2 * I173 = 1 /\ I169 - 3 * I174 = 0 /\ 0 <= I168 - 1] f7(I175, I176, I177, I178) -> f5(I175 + 2, I176, I179, I180) [I175 <= I176 /\ 0 <= I181 - 1 /\ 0 <= I175 - 2 * I182 /\ I175 - 2 * I182 <= 1 /\ I183 * I184 - I181 * y5 <= I181 - 1 /\ 0 <= I183 * I184 - I181 * y5] f5(I185, I186, I187, I188) -> f7(I185, I186, I189, I190) [0 <= I191 - 1 /\ I185 <= I186] f6(I192, I193, I194, I195) -> f5(I193 + 2, I192, I196, I197) f3(I198, I199, I200, I201) -> f5(3, I199, I202, I203) [I199 <= I200 - 1 /\ 0 <= I200 - 1 /\ I199 - 2 * I204 = 0 /\ 0 <= I198 - 1 /\ I199 - 2 * I204 <= 1 /\ 0 <= I199 - 2 * I204] f2(I205, I206, I207, I208) -> f3(I205, I206, I207, I209) [I206 <= I207 - 1 /\ 0 <= I207 - 1 /\ I206 - 2 * I210 = 0 /\ 0 <= I205 - 1] f3(I211, I212, I213, I214) -> f2(I215, I212 + 1, I213, I216) [I212 <= I213 - 1 /\ 0 <= I213 - 1 /\ I212 - 2 * I217 = 1 /\ I212 - 3 * I218 = 0 /\ I215 <= I211 /\ 0 <= I211 - 1 /\ 0 <= I215 - 1 /\ 0 <= I212 - 2 * I217 /\ I212 - 2 * I217 <= 1 /\ I212 - 3 * I218 <= 2 /\ 0 <= I212 - 3 * I218] f2(I219, I220, I221, I222) -> f3(I219, I220, I221, I223) [I220 <= I221 - 1 /\ 0 <= I221 - 1 /\ I220 - 2 * I224 = 1 /\ I220 - 3 * I225 = 0 /\ I226 <= I219 /\ 0 <= I219 - 1 /\ 0 <= I226 - 1] f3(I227, I228, I229, I230) -> f2(I231, I228 + 1, I229, I232) [I228 <= I229 - 1 /\ 0 <= I229 - 1 /\ I228 - 2 * I233 = 0 /\ I231 <= I227 /\ 0 <= I227 - 1 /\ 0 <= I231 - 1 /\ I228 - 2 * I233 <= 1 /\ 0 <= I228 - 2 * I233] f2(I234, I235, I236, I237) -> f3(I234, I235, I236, I238) [I235 <= I236 - 1 /\ 0 <= I236 - 1 /\ I235 - 2 * I239 = 0 /\ I240 <= I234 /\ 0 <= I234 - 1 /\ 0 <= I240 - 1] f3(I241, I242, I243, I244) -> f2(I245, I242 + 1, I243, I246) [0 <= I242 - 3 * I247 - 1 /\ I242 <= I243 - 1 /\ 0 <= I243 - 1 /\ I242 - 2 * I248 = 1 /\ I242 - 5 * I249 = 0 /\ I245 <= I241 /\ 0 <= I241 - 1 /\ 0 <= I245 - 1 /\ 0 <= I242 - 2 * I248 /\ I242 - 2 * I248 <= 1 /\ I242 - 3 * I247 <= 2 /\ I242 - 5 * I249 <= 4 /\ 0 <= I242 - 5 * I249] f2(I250, I251, I252, I253) -> f3(I250, I251, I252, I254) [I251 <= I252 - 1 /\ 0 <= I252 - 1 /\ I251 - 2 * I255 = 1 /\ 0 <= I251 - 3 * I256 - 1 /\ I251 - 5 * I257 = 0 /\ I258 <= I250 /\ 0 <= I250 - 1 /\ 0 <= I258 - 1] f4(I259, I260, I261, I262) -> f2(I263, I260 + 1, I262, I264) [0 <= I263 - 1 /\ 0 <= I259 - 1 /\ I263 <= I259 /\ 99 <= I261 - 1 /\ -1 <= I262 - 1] f4(I265, I266, I267, I268) -> f4(I269, I266, I267 + 1, I268) [0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265] f3(I270, I271, I272, I273) -> f4(I274, I271, 0, I272) [0 <= I271 - 5 * I275 - 1 /\ 0 <= I271 - 3 * I276 - 1 /\ I271 - 2 * I277 = 1 /\ I271 <= I272 - 1 /\ I274 <= I270 /\ 0 <= I270 - 1 /\ 0 <= I274 - 1 /\ 0 <= I271 - 2 * I277 /\ I271 - 2 * I277 <= 1 /\ I271 - 3 * I276 <= 2 /\ I271 - 5 * I275 <= 4] f2(I278, I279, I280, I281) -> f3(I278, I279, I280, I282) [I279 - 2 * I283 = 1 /\ I279 <= I280 - 1 /\ 0 <= I279 - 5 * I284 - 1 /\ 0 <= I279 - 3 * I285 - 1 /\ I286 <= I278 /\ 0 <= I278 - 1 /\ 0 <= I286 - 1] f1(I287, I288, I289, I290) -> f2(I291, 0, I288, I292) [0 <= I291 - 1 /\ 0 <= I287 - 1 /\ -1 <= I288 - 1 /\ I291 <= I287] The dependency graph for this problem is: 33 -> 35 -> 37 -> 39 -> 40 -> 39, 40 41 -> 40 Where: 33) f3#(I211, I212, I213, I214) -> f2#(I215, I212 + 1, I213, I216) [I212 <= I213 - 1 /\ 0 <= I213 - 1 /\ I212 - 2 * I217 = 1 /\ I212 - 3 * I218 = 0 /\ I215 <= I211 /\ 0 <= I211 - 1 /\ 0 <= I215 - 1 /\ 0 <= I212 - 2 * I217 /\ I212 - 2 * I217 <= 1 /\ I212 - 3 * I218 <= 2 /\ 0 <= I212 - 3 * I218] 35) f3#(I227, I228, I229, I230) -> f2#(I231, I228 + 1, I229, I232) [I228 <= I229 - 1 /\ 0 <= I229 - 1 /\ I228 - 2 * I233 = 0 /\ I231 <= I227 /\ 0 <= I227 - 1 /\ 0 <= I231 - 1 /\ I228 - 2 * I233 <= 1 /\ 0 <= I228 - 2 * I233] 37) f3#(I241, I242, I243, I244) -> f2#(I245, I242 + 1, I243, I246) [0 <= I242 - 3 * I247 - 1 /\ I242 <= I243 - 1 /\ 0 <= I243 - 1 /\ I242 - 2 * I248 = 1 /\ I242 - 5 * I249 = 0 /\ I245 <= I241 /\ 0 <= I241 - 1 /\ 0 <= I245 - 1 /\ 0 <= I242 - 2 * I248 /\ I242 - 2 * I248 <= 1 /\ I242 - 3 * I247 <= 2 /\ I242 - 5 * I249 <= 4 /\ 0 <= I242 - 5 * I249] 39) f4#(I259, I260, I261, I262) -> f2#(I263, I260 + 1, I262, I264) [0 <= I263 - 1 /\ 0 <= I259 - 1 /\ I263 <= I259 /\ 99 <= I261 - 1 /\ -1 <= I262 - 1] 40) f4#(I265, I266, I267, I268) -> f4#(I269, I266, I267 + 1, I268) [0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265] 41) f3#(I270, I271, I272, I273) -> f4#(I274, I271, 0, I272) [0 <= I271 - 5 * I275 - 1 /\ 0 <= I271 - 3 * I276 - 1 /\ I271 - 2 * I277 = 1 /\ I271 <= I272 - 1 /\ I274 <= I270 /\ 0 <= I270 - 1 /\ 0 <= I274 - 1 /\ 0 <= I271 - 2 * I277 /\ I271 - 2 * I277 <= 1 /\ I271 - 3 * I276 <= 2 /\ I271 - 5 * I275 <= 4] We have the following SCCs. { 40 } DP problem for innermost termination. P = f4#(I265, I266, I267, I268) -> f4#(I269, I266, I267 + 1, I268) [0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265] R = init(x1, x2, x3, x4) -> f1(rnd1, rnd2, rnd3, rnd4) f16(I0, I1, I2, I3) -> f16(I0 * I1, I1 + 1, I1 + 1, I3) [I1 = I2 /\ 0 <= I1 - 1 /\ 0 <= I0 - 1 /\ I1 <= I3] f12(I4, I5, I6, I7) -> f16(1, 1, 1, I5) [-1 <= I6 - 1 /\ I5 <= I6 /\ 0 <= I4 - 1] f11(I8, I9, I10, I11) -> f16(1, 1, 1, I8) [1 <= I8 - 1 /\ 0 <= y1 - 1 /\ 1 <= I9 - 1 /\ y1 <= I8 - 1 /\ I8 <= I9 /\ I8 - 2 * y1 <= 1 /\ 0 <= I8 - 2 * y1] f8(I12, I13, I14, I15) -> f11(I12, I13, I16, I17) [1 <= I12 - 1 /\ 0 <= I18 - 1 /\ 1 <= I13 - 1 /\ I12 <= I13 /\ I18 <= I12 - 1] f7(I19, I20, I21, I22) -> f16(1, 1, 1, I19) [I19 <= I20 /\ I19 - 2 * I23 <= 1 /\ 0 <= I19 - 2 * I23] f5(I24, I25, I26, I27) -> f7(I24, I25, I28, I29) [I24 <= I25] f15(I30, I31, I32, I33) -> f15(I30 + 1, I31, I34, I35) [I30 <= I31] f12(I36, I37, I38, I39) -> f15(1, I37, I40, I41) [-1 <= I38 - 1 /\ I37 <= I38 /\ 0 <= I36 - 1] f11(I42, I43, I44, I45) -> f15(1, I42, I46, I47) [1 <= I42 - 1 /\ 0 <= I48 - 1 /\ 1 <= I43 - 1 /\ I48 <= I42 - 1 /\ I42 <= I43 /\ I42 - 2 * I48 <= 1 /\ 0 <= I42 - 2 * I48] f8(I49, I50, I51, I52) -> f11(I49, I50, I53, I54) [1 <= I49 - 1 /\ 0 <= I55 - 1 /\ 1 <= I50 - 1 /\ I49 <= I50 /\ I55 <= I49 - 1] f11(I56, I57, I58, I59) -> f15(1, I60, I61, I62) [0 <= I56 - 2 * I60 /\ I56 - 2 * I60 <= 1 /\ I56 <= I57 /\ I60 <= I56 - 1 /\ 1 <= I57 - 1 /\ 0 <= I60 - 1 /\ 1 <= I56 - 1] f8(I63, I64, I65, I66) -> f11(I63, I64, I67, I68) [1 <= I63 - 1 /\ 0 <= I69 - 1 /\ 1 <= I64 - 1 /\ I63 <= I64 /\ I69 <= I63 - 1] f7(I70, I71, I72, I73) -> f15(1, I70, I74, I75) [I70 <= I71 /\ I70 - 2 * I76 <= 1 /\ 0 <= I70 - 2 * I76] f5(I77, I78, I79, I80) -> f7(I77, I78, I81, I82) [I77 <= I78] f7(I83, I84, I85, I86) -> f15(1, I87, I88, I89) [0 <= I83 - 2 * I87 /\ I83 - 2 * I87 <= 1 /\ I83 <= I84] f5(I90, I91, I92, I93) -> f7(I90, I91, I94, I95) [I90 <= I91] f14(I96, I97, I98, I99) -> f12(I96, I97 + 1, I98, I100) [0 <= I96 - 1 /\ -1 <= I98 - 1 /\ 0 <= I101 - 1 /\ I97 <= I98 /\ y2 - I101 * y3 <= I101 - 1 /\ 0 <= y2 - I101 * y3] f12(I102, I103, I104, I105) -> f14(I102, I103, I104, I106) [0 <= I102 - 1 /\ -1 <= I104 - 1 /\ I103 <= I104 /\ 0 <= I107 - 1] f13(I108, I109, I110, I111) -> f12(I108, I110 + 1, I109, I112) f3(I113, I114, I115, I116) -> f12(I115, 0, I114, I117) [0 <= I114 - 3 * I118 - 1 /\ I114 <= I115 - 1 /\ 0 <= I115 - 1 /\ I114 - 2 * I119 = 1 /\ I114 - 5 * I120 = 0 /\ 0 <= I113 - 1 /\ 0 <= I114 - 2 * I119 /\ I114 - 2 * I119 <= 1 /\ I114 - 3 * I118 <= 2 /\ I114 - 5 * I120 <= 4 /\ 0 <= I114 - 5 * I120] f2(I121, I122, I123, I124) -> f3(I121, I122, I123, I125) [I122 <= I123 - 1 /\ 0 <= I123 - 1 /\ I122 - 2 * I126 = 1 /\ 0 <= I122 - 3 * I127 - 1 /\ I122 - 5 * I128 = 0 /\ 0 <= I121 - 1] f11(I129, I130, I131, I132) -> f8(I129 + 2, I130, I133, I134) [1 <= I129 - 1 /\ 0 <= I135 - 1 /\ 1 <= I130 - 1 /\ I135 <= I129 - 1 /\ I129 <= I130 /\ 0 <= I129 - 2 * I135 /\ I129 - 2 * I135 <= 1 /\ I136 - I137 * y4 <= I137 - 1 /\ 0 <= I136 - I137 * y4] f8(I138, I139, I140, I141) -> f11(I138, I139, I142, I143) [1 <= I138 - 1 /\ 0 <= I144 - 1 /\ 1 <= I139 - 1 /\ I138 <= I139 /\ I144 <= I138 - 1] f10(I145, I146, I147, I148) -> f8(I146 + 2, I145, I149, I150) [I151 - I152 * I153 <= I152 - 1 /\ 0 <= I151 - I152 * I153] f9(I154, I155, I156, I157) -> f10(I154, I155, I158, I159) f3(I160, I161, I162, I163) -> f8(2, I161, I164, I165) [I161 <= I162 - 1 /\ 0 <= I162 - 1 /\ I161 - 2 * I166 = 1 /\ I161 - 3 * I167 = 0 /\ 0 <= I160 - 1 /\ 0 <= I161 - 2 * I166 /\ I161 - 2 * I166 <= 1 /\ I161 - 3 * I167 <= 2 /\ 0 <= I161 - 3 * I167] f2(I168, I169, I170, I171) -> f3(I168, I169, I170, I172) [I169 <= I170 - 1 /\ 0 <= I170 - 1 /\ I169 - 2 * I173 = 1 /\ I169 - 3 * I174 = 0 /\ 0 <= I168 - 1] f7(I175, I176, I177, I178) -> f5(I175 + 2, I176, I179, I180) [I175 <= I176 /\ 0 <= I181 - 1 /\ 0 <= I175 - 2 * I182 /\ I175 - 2 * I182 <= 1 /\ I183 * I184 - I181 * y5 <= I181 - 1 /\ 0 <= I183 * I184 - I181 * y5] f5(I185, I186, I187, I188) -> f7(I185, I186, I189, I190) [0 <= I191 - 1 /\ I185 <= I186] f6(I192, I193, I194, I195) -> f5(I193 + 2, I192, I196, I197) f3(I198, I199, I200, I201) -> f5(3, I199, I202, I203) [I199 <= I200 - 1 /\ 0 <= I200 - 1 /\ I199 - 2 * I204 = 0 /\ 0 <= I198 - 1 /\ I199 - 2 * I204 <= 1 /\ 0 <= I199 - 2 * I204] f2(I205, I206, I207, I208) -> f3(I205, I206, I207, I209) [I206 <= I207 - 1 /\ 0 <= I207 - 1 /\ I206 - 2 * I210 = 0 /\ 0 <= I205 - 1] f3(I211, I212, I213, I214) -> f2(I215, I212 + 1, I213, I216) [I212 <= I213 - 1 /\ 0 <= I213 - 1 /\ I212 - 2 * I217 = 1 /\ I212 - 3 * I218 = 0 /\ I215 <= I211 /\ 0 <= I211 - 1 /\ 0 <= I215 - 1 /\ 0 <= I212 - 2 * I217 /\ I212 - 2 * I217 <= 1 /\ I212 - 3 * I218 <= 2 /\ 0 <= I212 - 3 * I218] f2(I219, I220, I221, I222) -> f3(I219, I220, I221, I223) [I220 <= I221 - 1 /\ 0 <= I221 - 1 /\ I220 - 2 * I224 = 1 /\ I220 - 3 * I225 = 0 /\ I226 <= I219 /\ 0 <= I219 - 1 /\ 0 <= I226 - 1] f3(I227, I228, I229, I230) -> f2(I231, I228 + 1, I229, I232) [I228 <= I229 - 1 /\ 0 <= I229 - 1 /\ I228 - 2 * I233 = 0 /\ I231 <= I227 /\ 0 <= I227 - 1 /\ 0 <= I231 - 1 /\ I228 - 2 * I233 <= 1 /\ 0 <= I228 - 2 * I233] f2(I234, I235, I236, I237) -> f3(I234, I235, I236, I238) [I235 <= I236 - 1 /\ 0 <= I236 - 1 /\ I235 - 2 * I239 = 0 /\ I240 <= I234 /\ 0 <= I234 - 1 /\ 0 <= I240 - 1] f3(I241, I242, I243, I244) -> f2(I245, I242 + 1, I243, I246) [0 <= I242 - 3 * I247 - 1 /\ I242 <= I243 - 1 /\ 0 <= I243 - 1 /\ I242 - 2 * I248 = 1 /\ I242 - 5 * I249 = 0 /\ I245 <= I241 /\ 0 <= I241 - 1 /\ 0 <= I245 - 1 /\ 0 <= I242 - 2 * I248 /\ I242 - 2 * I248 <= 1 /\ I242 - 3 * I247 <= 2 /\ I242 - 5 * I249 <= 4 /\ 0 <= I242 - 5 * I249] f2(I250, I251, I252, I253) -> f3(I250, I251, I252, I254) [I251 <= I252 - 1 /\ 0 <= I252 - 1 /\ I251 - 2 * I255 = 1 /\ 0 <= I251 - 3 * I256 - 1 /\ I251 - 5 * I257 = 0 /\ I258 <= I250 /\ 0 <= I250 - 1 /\ 0 <= I258 - 1] f4(I259, I260, I261, I262) -> f2(I263, I260 + 1, I262, I264) [0 <= I263 - 1 /\ 0 <= I259 - 1 /\ I263 <= I259 /\ 99 <= I261 - 1 /\ -1 <= I262 - 1] f4(I265, I266, I267, I268) -> f4(I269, I266, I267 + 1, I268) [0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265] f3(I270, I271, I272, I273) -> f4(I274, I271, 0, I272) [0 <= I271 - 5 * I275 - 1 /\ 0 <= I271 - 3 * I276 - 1 /\ I271 - 2 * I277 = 1 /\ I271 <= I272 - 1 /\ I274 <= I270 /\ 0 <= I270 - 1 /\ 0 <= I274 - 1 /\ 0 <= I271 - 2 * I277 /\ I271 - 2 * I277 <= 1 /\ I271 - 3 * I276 <= 2 /\ I271 - 5 * I275 <= 4] f2(I278, I279, I280, I281) -> f3(I278, I279, I280, I282) [I279 - 2 * I283 = 1 /\ I279 <= I280 - 1 /\ 0 <= I279 - 5 * I284 - 1 /\ 0 <= I279 - 3 * I285 - 1 /\ I286 <= I278 /\ 0 <= I278 - 1 /\ 0 <= I286 - 1] f1(I287, I288, I289, I290) -> f2(I291, 0, I288, I292) [0 <= I291 - 1 /\ 0 <= I287 - 1 /\ -1 <= I288 - 1 /\ I291 <= I287] We use the reverse value criterion with the projection function NU: NU[f4#(z1,z2,z3,z4)] = 99 + -1 * z3 This gives the following inequalities: 0 <= I269 - 1 /\ 0 <= I265 - 1 /\ I267 <= 99 /\ I269 <= I265 ==> 99 + -1 * I267 > 99 + -1 * (I267 + 1) with 99 + -1 * I267 >= 0 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed.