123      SUBROUTINE slaqz1( A, LDA, B, LDB, SR1, SR2, SI, BETA1, BETA2,
 
  128      INTEGER, 
INTENT( IN ) :: LDA, LDB
 
  129      REAL, 
INTENT( IN ) :: A( LDA, * ), B( LDB, * ), SR1, SR2, SI,
 
  131      REAL, 
INTENT( OUT ) :: V( * )
 
  134      REAL :: ZERO, ONE, HALF
 
  135      parameter( zero = 0.0, one = 1.0, half = 0.5 )
 
  138      REAL :: W( 2 ), SAFMIN, SAFMAX, SCALE1, SCALE2
 
  141      REAL, 
EXTERNAL :: SLAMCH
 
  142      LOGICAL, 
EXTERNAL :: SISNAN
 
  144      safmin = slamch( 
'SAFE MINIMUM' )
 
  149      w( 1 ) = beta1*a( 1, 1 )-sr1*b( 1, 1 )
 
  150      w( 2 ) = beta1*a( 2, 1 )-sr1*b( 2, 1 )
 
  151      scale1 = sqrt( abs( w( 1 ) ) ) * sqrt( abs( w( 2 ) ) )
 
  152      IF( scale1 .GE. safmin .AND. scale1 .LE. safmax ) 
THEN 
  153         w( 1 ) = w( 1 )/scale1
 
  154         w( 2 ) = w( 2 )/scale1
 
  159      w( 2 ) = w( 2 )/b( 2, 2 )
 
  160      w( 1 ) = ( w( 1 )-b( 1, 2 )*w( 2 ) )/b( 1, 1 )
 
  161      scale2 = sqrt( abs( w( 1 ) ) ) * sqrt( abs( w( 2 ) ) )
 
  162      IF( scale2 .GE. safmin .AND. scale2 .LE. safmax ) 
THEN 
  163         w( 1 ) = w( 1 )/scale2
 
  164         w( 2 ) = w( 2 )/scale2
 
  169      v( 1 ) = beta2*( a( 1, 1 )*w( 1 )+a( 1, 2 )*w( 2 ) )-sr2*( b( 1,
 
  170     $   1 )*w( 1 )+b( 1, 2 )*w( 2 ) )
 
  171      v( 2 ) = beta2*( a( 2, 1 )*w( 1 )+a( 2, 2 )*w( 2 ) )-sr2*( b( 2,
 
  172     $   1 )*w( 1 )+b( 2, 2 )*w( 2 ) )
 
  173      v( 3 ) = beta2*( a( 3, 1 )*w( 1 )+a( 3, 2 )*w( 2 ) )-sr2*( b( 3,
 
  174     $   1 )*w( 1 )+b( 3, 2 )*w( 2 ) )
 
  178      v( 1 ) = v( 1 )+si*si*b( 1, 1 )/scale1/scale2
 
  182      IF( abs( v( 1 ) ).GT.safmax .OR. abs( v( 2 ) ) .GT. safmax .OR.
 
  183     $   abs( v( 3 ) ).GT.safmax .OR. sisnan( v( 1 ) ) .OR.
 
  184     $   sisnan( v( 2 ) ) .OR. sisnan( v( 3 ) ) ) 
THEN 
 
subroutine slaqz1(a, lda, b, ldb, sr1, sr2, si, beta1, beta2, v)
SLAQZ1