140      SUBROUTINE slasq5( I0, N0, Z, PP, TAU, SIGMA, DMIN, DMIN1,
 
  142     $                   DN, DNM1, DNM2, IEEE, EPS )
 
  151      REAL               DMIN, DMIN1, DMIN2, DN, DNM1, DNM2, TAU,
 
  162      PARAMETER          ( ZERO = 0.0e0, half = 0.5 )
 
  166      REAL               D, EMIN, TEMP, DTHRESH
 
  173      IF( ( n0-i0-1 ).LE.0 )
 
  176      dthresh = eps*(sigma+tau)
 
  177      IF( tau.LT.dthresh*half ) tau = zero
 
  178      IF( tau.NE.zero ) 
THEN 
  190               DO 10 j4 = 4*i0, 4*( n0-3 ), 4
 
  191                  z( j4-2 ) = d + z( j4-1 )
 
  192                  temp = z( j4+1 ) / z( j4-2 )
 
  194                  dmin = min( dmin, d )
 
  195                  z( j4 ) = z( j4-1 )*temp
 
  196                  emin = min( z( j4 ), emin )
 
  199               DO 20 j4 = 4*i0, 4*( n0-3 ), 4
 
  200                  z( j4-3 ) = d + z( j4 )
 
  201                  temp = z( j4+2 ) / z( j4-3 )
 
  203                  dmin = min( dmin, d )
 
  204                  z( j4-1 ) = z( j4 )*temp
 
  205                  emin = min( z( j4-1 ), emin )
 
  215            z( j4-2 ) = dnm2 + z( j4p2 )
 
  216            z( j4 ) = z( j4p2+2 )*( z( j4p2 ) / z( j4-2 ) )
 
  217            dnm1 = z( j4p2+2 )*( dnm2 / z( j4-2 ) ) - tau
 
  218            dmin = min( dmin, dnm1 )
 
  223            z( j4-2 ) = dnm1 + z( j4p2 )
 
  224            z( j4 ) = z( j4p2+2 )*( z( j4p2 ) / z( j4-2 ) )
 
  225            dn = z( j4p2+2 )*( dnm1 / z( j4-2 ) ) - tau
 
  226            dmin = min( dmin, dn )
 
  233               DO 30 j4 = 4*i0, 4*( n0-3 ), 4
 
  234                  z( j4-2 ) = d + z( j4-1 )
 
  238                     z( j4 ) = z( j4+1 )*( z( j4-1 ) / z( j4-2 ) )
 
  239                     d = z( j4+1 )*( d / z( j4-2 ) ) - tau
 
  241                  dmin = min( dmin, d )
 
  242                  emin = min( emin, z( j4 ) )
 
  245               DO 40 j4 = 4*i0, 4*( n0-3 ), 4
 
  246                  z( j4-3 ) = d + z( j4 )
 
  250                     z( j4-1 ) = z( j4+2 )*( z( j4 ) / z( j4-3 ) )
 
  251                     d = z( j4+2 )*( d / z( j4-3 ) ) - tau
 
  253                  dmin = min( dmin, d )
 
  254                  emin = min( emin, z( j4-1 ) )
 
  264            z( j4-2 ) = dnm2 + z( j4p2 )
 
  265            IF( dnm2.LT.zero ) 
THEN 
  268               z( j4 ) = z( j4p2+2 )*( z( j4p2 ) / z( j4-2 ) )
 
  269               dnm1 = z( j4p2+2 )*( dnm2 / z( j4-2 ) ) - tau
 
  271            dmin = min( dmin, dnm1 )
 
  276            z( j4-2 ) = dnm1 + z( j4p2 )
 
  277            IF( dnm1.LT.zero ) 
THEN 
  280               z( j4 ) = z( j4p2+2 )*( z( j4p2 ) / z( j4-2 ) )
 
  281               dn = z( j4p2+2 )*( dnm1 / z( j4-2 ) ) - tau
 
  283            dmin = min( dmin, dn )
 
  299               DO 50 j4 = 4*i0, 4*( n0-3 ), 4
 
  300                  z( j4-2 ) = d + z( j4-1 )
 
  301                  temp = z( j4+1 ) / z( j4-2 )
 
  303                  IF( d.LT.dthresh ) d = zero
 
  304                  dmin = min( dmin, d )
 
  305                  z( j4 ) = z( j4-1 )*temp
 
  306                  emin = min( z( j4 ), emin )
 
  309               DO 60 j4 = 4*i0, 4*( n0-3 ), 4
 
  310                  z( j4-3 ) = d + z( j4 )
 
  311                  temp = z( j4+2 ) / z( j4-3 )
 
  313                  IF( d.LT.dthresh ) d = zero
 
  314                  dmin = min( dmin, d )
 
  315                  z( j4-1 ) = z( j4 )*temp
 
  316                  emin = min( z( j4-1 ), emin )
 
  326            z( j4-2 ) = dnm2 + z( j4p2 )
 
  327            z( j4 ) = z( j4p2+2 )*( z( j4p2 ) / z( j4-2 ) )
 
  328            dnm1 = z( j4p2+2 )*( dnm2 / z( j4-2 ) ) - tau
 
  329            dmin = min( dmin, dnm1 )
 
  334            z( j4-2 ) = dnm1 + z( j4p2 )
 
  335            z( j4 ) = z( j4p2+2 )*( z( j4p2 ) / z( j4-2 ) )
 
  336            dn = z( j4p2+2 )*( dnm1 / z( j4-2 ) ) - tau
 
  337            dmin = min( dmin, dn )
 
  344               DO 70 j4 = 4*i0, 4*( n0-3 ), 4
 
  345                  z( j4-2 ) = d + z( j4-1 )
 
  349                     z( j4 ) = z( j4+1 )*( z( j4-1 ) / z( j4-2 ) )
 
  350                     d = z( j4+1 )*( d / z( j4-2 ) ) - tau
 
  352                  IF( d.LT.dthresh ) d = zero
 
  353                  dmin = min( dmin, d )
 
  354                  emin = min( emin, z( j4 ) )
 
  357               DO 80 j4 = 4*i0, 4*( n0-3 ), 4
 
  358                  z( j4-3 ) = d + z( j4 )
 
  362                     z( j4-1 ) = z( j4+2 )*( z( j4 ) / z( j4-3 ) )
 
  363                     d = z( j4+2 )*( d / z( j4-3 ) ) - tau
 
  365                  IF( d.LT.dthresh ) d = zero
 
  366                  dmin = min( dmin, d )
 
  367                  emin = min( emin, z( j4-1 ) )
 
  377            z( j4-2 ) = dnm2 + z( j4p2 )
 
  378            IF( dnm2.LT.zero ) 
THEN 
  381               z( j4 ) = z( j4p2+2 )*( z( j4p2 ) / z( j4-2 ) )
 
  382               dnm1 = z( j4p2+2 )*( dnm2 / z( j4-2 ) ) - tau
 
  384            dmin = min( dmin, dnm1 )
 
  389            z( j4-2 ) = dnm1 + z( j4p2 )
 
  390            IF( dnm1.LT.zero ) 
THEN 
  393               z( j4 ) = z( j4p2+2 )*( z( j4p2 ) / z( j4-2 ) )
 
  394               dn = z( j4p2+2 )*( dnm1 / z( j4-2 ) ) - tau
 
  396            dmin = min( dmin, dn )
 
 
subroutine slasq5(i0, n0, z, pp, tau, sigma, dmin, dmin1, dmin2, dn, dnm1, dnm2, ieee, eps)
SLASQ5 computes one dqds transform in ping-pong form. Used by sbdsqr and sstegr.