SUBROUTINE EIG3(EA,EB,A,B,Y,Z) REAL A,B,C,EA,EB,S,T,Y,Z T = .5*(B-A) C = SQRT(ABS(Y))*SQRT(ABS(Z)) IF ( ABS(T) .GT. ABS(C) ) GOTO 30 IF ( C .NE. 0. ) GOTO 10 EA = A EB = B RETURN 10 T = T/ABS(C) S = ABS(C)/(ABS(T)+SQRT(1.+T*T)) IF ( T .LT. 0. ) GOTO 20 EA = A - S EB = B + S RETURN 20 EA = A + S EB = B - S RETURN 30 T = ABS(C)/T S = T*ABS(C)/(1.+SQRT(1.+T*T)) EA = A - S EB = B + S RETURN END .