132 SUBROUTINE slasq5( I0, N0, Z, PP, TAU, SIGMA, DMIN, DMIN1, DMIN2,
133 $ dn, dnm1, dnm2, ieee, eps )
143 REAL dmin, dmin1, dmin2, dn, dnm1, dnm2, tau,
154 parameter( zero = 0.0e0, half = 0.5 )
158 REAL d, emin, temp, dthresh
165 IF( ( n0-i0-1 ).LE.0 )
168 dthresh = eps*(sigma+tau)
169 IF( tau.LT.dthresh*half ) tau = zero
170 IF( tau.NE.zero )
THEN
182 DO 10 j4 = 4*i0, 4*( n0-3 ), 4
183 z( j4-2 ) = d + z( j4-1 )
184 temp = z( j4+1 ) / z( j4-2 )
186 dmin = min( dmin, d )
187 z( j4 ) = z( j4-1 )*temp
188 emin = min( z( j4 ), emin )
191 DO 20 j4 = 4*i0, 4*( n0-3 ), 4
192 z( j4-3 ) = d + z( j4 )
193 temp = z( j4+2 ) / z( j4-3 )
195 dmin = min( dmin, d )
196 z( j4-1 ) = z( j4 )*temp
197 emin = min( z( j4-1 ), emin )
207 z( j4-2 ) = dnm2 + z( j4p2 )
208 z( j4 ) = z( j4p2+2 )*( z( j4p2 ) / z( j4-2 ) )
209 dnm1 = z( j4p2+2 )*( dnm2 / z( j4-2 ) ) - tau
210 dmin = min( dmin, dnm1 )
215 z( j4-2 ) = dnm1 + z( j4p2 )
216 z( j4 ) = z( j4p2+2 )*( z( j4p2 ) / z( j4-2 ) )
217 dn = z( j4p2+2 )*( dnm1 / z( j4-2 ) ) - tau
218 dmin = min( dmin, dn )
225 DO 30 j4 = 4*i0, 4*( n0-3 ), 4
226 z( j4-2 ) = d + z( j4-1 )
230 z( j4 ) = z( j4+1 )*( z( j4-1 ) / z( j4-2 ) )
231 d = z( j4+1 )*( d / z( j4-2 ) ) - tau
233 dmin = min( dmin, d )
234 emin = min( emin, z( j4 ) )
237 DO 40 j4 = 4*i0, 4*( n0-3 ), 4
238 z( j4-3 ) = d + z( j4 )
242 z( j4-1 ) = z( j4+2 )*( z( j4 ) / z( j4-3 ) )
243 d = z( j4+2 )*( d / z( j4-3 ) ) - tau
245 dmin = min( dmin, d )
246 emin = min( emin, z( j4-1 ) )
256 z( j4-2 ) = dnm2 + z( j4p2 )
257 IF( dnm2.LT.zero )
THEN
260 z( j4 ) = z( j4p2+2 )*( z( j4p2 ) / z( j4-2 ) )
261 dnm1 = z( j4p2+2 )*( dnm2 / z( j4-2 ) ) - tau
263 dmin = min( dmin, dnm1 )
268 z( j4-2 ) = dnm1 + z( j4p2 )
269 IF( dnm1.LT.zero )
THEN
272 z( j4 ) = z( j4p2+2 )*( z( j4p2 ) / z( j4-2 ) )
273 dn = z( j4p2+2 )*( dnm1 / z( j4-2 ) ) - tau
275 dmin = min( dmin, dn )
291 DO 50 j4 = 4*i0, 4*( n0-3 ), 4
292 z( j4-2 ) = d + z( j4-1 )
293 temp = z( j4+1 ) / z( j4-2 )
295 IF( d.LT.dthresh ) d = zero
296 dmin = min( dmin, d )
297 z( j4 ) = z( j4-1 )*temp
298 emin = min( z( j4 ), emin )
301 DO 60 j4 = 4*i0, 4*( n0-3 ), 4
302 z( j4-3 ) = d + z( j4 )
303 temp = z( j4+2 ) / z( j4-3 )
305 IF( d.LT.dthresh ) d = zero
306 dmin = min( dmin, d )
307 z( j4-1 ) = z( j4 )*temp
308 emin = min( z( j4-1 ), emin )
318 z( j4-2 ) = dnm2 + z( j4p2 )
319 z( j4 ) = z( j4p2+2 )*( z( j4p2 ) / z( j4-2 ) )
320 dnm1 = z( j4p2+2 )*( dnm2 / z( j4-2 ) ) - tau
321 dmin = min( dmin, dnm1 )
326 z( j4-2 ) = dnm1 + z( j4p2 )
327 z( j4 ) = z( j4p2+2 )*( z( j4p2 ) / z( j4-2 ) )
328 dn = z( j4p2+2 )*( dnm1 / z( j4-2 ) ) - tau
329 dmin = min( dmin, dn )
336 DO 70 j4 = 4*i0, 4*( n0-3 ), 4
337 z( j4-2 ) = d + z( j4-1 )
341 z( j4 ) = z( j4+1 )*( z( j4-1 ) / z( j4-2 ) )
342 d = z( j4+1 )*( d / z( j4-2 ) ) - tau
344 IF( d.LT.dthresh ) d = zero
345 dmin = min( dmin, d )
346 emin = min( emin, z( j4 ) )
349 DO 80 j4 = 4*i0, 4*( n0-3 ), 4
350 z( j4-3 ) = d + z( j4 )
354 z( j4-1 ) = z( j4+2 )*( z( j4 ) / z( j4-3 ) )
355 d = z( j4+2 )*( d / z( j4-3 ) ) - tau
357 IF( d.LT.dthresh ) d = zero
358 dmin = min( dmin, d )
359 emin = min( emin, z( j4-1 ) )
369 z( j4-2 ) = dnm2 + z( j4p2 )
370 IF( dnm2.LT.zero )
THEN
373 z( j4 ) = z( j4p2+2 )*( z( j4p2 ) / z( j4-2 ) )
374 dnm1 = z( j4p2+2 )*( dnm2 / z( j4-2 ) ) - tau
376 dmin = min( dmin, dnm1 )
381 z( j4-2 ) = dnm1 + z( j4p2 )
382 IF( dnm1.LT.zero )
THEN
385 z( j4 ) = z( j4p2+2 )*( z( j4p2 ) / z( j4-2 ) )
386 dn = z( j4p2+2 )*( dnm1 / z( j4-2 ) ) - tau
388 dmin = min( dmin, dn )