109 SUBROUTINE dlaed5( I, D, Z, DELTA, RHO, DLAM )
118 DOUBLE PRECISION dlam, rho
121 DOUBLE PRECISION d( 2 ), delta( 2 ), z( 2 )
127 DOUBLE PRECISION zero, one, two, four
128 parameter( zero = 0.0d0, one = 1.0d0, two = 2.0d0,
132 DOUBLE PRECISION b, c, del, tau, temp, w
139 del = d( 2 ) - d( 1 )
141 w = one + two*rho*( z( 2 )*z( 2 )-z( 1 )*z( 1 ) ) / del
143 b = del + rho*( z( 1 )*z( 1 )+z( 2 )*z( 2 ) )
144 c = rho*z( 1 )*z( 1 )*del
148 tau = two*c / ( b+sqrt( abs( b*b-four*c ) ) )
150 delta( 1 ) = -z( 1 ) / tau
151 delta( 2 ) = z( 2 ) / ( del-tau )
153 b = -del + rho*( z( 1 )*z( 1 )+z( 2 )*z( 2 ) )
154 c = rho*z( 2 )*z( 2 )*del
156 tau = -two*c / ( b+sqrt( b*b+four*c ) )
158 tau = ( b-sqrt( b*b+four*c ) ) / two
161 delta( 1 ) = -z( 1 ) / ( del+tau )
162 delta( 2 ) = -z( 2 ) / tau
164 temp = sqrt( delta( 1 )*delta( 1 )+delta( 2 )*delta( 2 ) )
165 delta( 1 ) = delta( 1 ) / temp
166 delta( 2 ) = delta( 2 ) / temp
171 b = -del + rho*( z( 1 )*z( 1 )+z( 2 )*z( 2 ) )
172 c = rho*z( 2 )*z( 2 )*del
174 tau = ( b+sqrt( b*b+four*c ) ) / two
176 tau = two*c / ( -b+sqrt( b*b+four*c ) )
179 delta( 1 ) = -z( 1 ) / ( del+tau )
180 delta( 2 ) = -z( 2 ) / tau
181 temp = sqrt( delta( 1 )*delta( 1 )+delta( 2 )*delta( 2 ) )
182 delta( 1 ) = delta( 1 ) / temp
183 delta( 2 ) = delta( 2 ) / temp