115      SUBROUTINE dlasq6( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN,
 
  124      DOUBLE PRECISION   DMIN, DMIN1, DMIN2, DN, DNM1, DNM2
 
  127      DOUBLE PRECISION   Z( * )
 
  133      DOUBLE PRECISION   ZERO
 
  134      parameter( zero = 0.0d0 )
 
  138      DOUBLE PRECISION   D, EMIN, SAFMIN, TEMP
 
  141      DOUBLE PRECISION   DLAMCH
 
  149      IF( ( n0-i0-1 ).LE.0 )
 
  152      safmin = dlamch( 
'Safe minimum' )
 
  159         DO 10 j4 = 4*i0, 4*( n0-3 ), 4
 
  160            z( j4-2 ) = d + z( j4-1 )
 
  161            IF( z( j4-2 ).EQ.zero ) 
THEN 
  166            ELSE IF( safmin*z( j4+1 ).LT.z( j4-2 ) .AND.
 
  167     $               safmin*z( j4-2 ).LT.z( j4+1 ) ) 
THEN 
  168               temp = z( j4+1 ) / z( j4-2 )
 
  169               z( j4 ) = z( j4-1 )*temp
 
  172               z( j4 ) = z( j4+1 )*( z( j4-1 ) / z( j4-2 ) )
 
  173               d = z( j4+1 )*( d / z( j4-2 ) )
 
  175            dmin = min( dmin, d )
 
  176            emin = min( emin, z( j4 ) )
 
  179         DO 20 j4 = 4*i0, 4*( n0-3 ), 4
 
  180            z( j4-3 ) = d + z( j4 )
 
  181            IF( z( j4-3 ).EQ.zero ) 
THEN 
  186            ELSE IF( safmin*z( j4+2 ).LT.z( j4-3 ) .AND.
 
  187     $               safmin*z( j4-3 ).LT.z( j4+2 ) ) 
THEN 
  188               temp = z( j4+2 ) / z( j4-3 )
 
  189               z( j4-1 ) = z( j4 )*temp
 
  192               z( j4-1 ) = z( j4+2 )*( z( j4 ) / z( j4-3 ) )
 
  193               d = z( j4+2 )*( d / z( j4-3 ) )
 
  195            dmin = min( dmin, d )
 
  196            emin = min( emin, z( j4-1 ) )
 
  206      z( j4-2 ) = dnm2 + z( j4p2 )
 
  207      IF( z( j4-2 ).EQ.zero ) 
THEN 
  212      ELSE IF( safmin*z( j4p2+2 ).LT.z( j4-2 ) .AND.
 
  213     $         safmin*z( j4-2 ).LT.z( j4p2+2 ) ) 
THEN 
  214         temp = z( j4p2+2 ) / z( j4-2 )
 
  215         z( j4 ) = z( j4p2 )*temp
 
  218         z( j4 ) = z( j4p2+2 )*( z( j4p2 ) / z( j4-2 ) )
 
  219         dnm1 = z( j4p2+2 )*( dnm2 / z( j4-2 ) )
 
  221      dmin = min( dmin, dnm1 )
 
  226      z( j4-2 ) = dnm1 + z( j4p2 )
 
  227      IF( z( j4-2 ).EQ.zero ) 
THEN 
  232      ELSE IF( safmin*z( j4p2+2 ).LT.z( j4-2 ) .AND.
 
  233     $         safmin*z( j4-2 ).LT.z( j4p2+2 ) ) 
THEN 
  234         temp = z( j4p2+2 ) / z( j4-2 )
 
  235         z( j4 ) = z( j4p2 )*temp
 
  238         z( j4 ) = z( j4p2+2 )*( z( j4p2 ) / z( j4-2 ) )
 
  239         dn = z( j4p2+2 )*( dnm1 / z( j4-2 ) )
 
  241      dmin = min( dmin, dn )
 
 
subroutine dlasq6(i0, n0, z, pp, dmin, dmin1, dmin2, dn, dnm1, dnm2)
DLASQ6 computes one dqd transform in ping-pong form. Used by sbdsqr and sstegr.