162      SUBROUTINE dpot05( UPLO, N, NRHS, A, LDA, B, LDB, X, LDX, XACT,
 
  163     $                   LDXACT, FERR, BERR, RESLTS )
 
  171      INTEGER            LDA, LDB, LDX, LDXACT, N, NRHS
 
  174      DOUBLE PRECISION   A( LDA, * ), B( LDB, * ), BERR( * ), FERR( * ),
 
  175     $                   reslts( * ), x( ldx, * ), xact( ldxact, * )
 
  181      DOUBLE PRECISION   ZERO, ONE
 
  182      parameter( zero = 0.0d+0, one = 1.0d+0 )
 
  186      INTEGER            I, IMAX, J, K
 
  187      DOUBLE PRECISION   AXBI, DIFF, EPS, ERRBND, OVFL, TMP, UNFL, XNORM
 
  192      DOUBLE PRECISION   DLAMCH
 
  193      EXTERNAL           lsame, idamax, dlamch
 
  196      INTRINSIC          abs, max, min
 
  202      IF( n.LE.0 .OR. nrhs.LE.0 ) 
THEN 
  208      eps = dlamch( 
'Epsilon' )
 
  209      unfl = dlamch( 
'Safe minimum' )
 
  211      upper = lsame( uplo, 
'U' )
 
  219         imax = idamax( n, x( 1, j ), 1 )
 
  220         xnorm = max( abs( x( imax, j ) ), unfl )
 
  223            diff = max( diff, abs( x( i, j )-xact( i, j ) ) )
 
  226         IF( xnorm.GT.one ) 
THEN 
  228         ELSE IF( diff.LE.ovfl*xnorm ) 
THEN 
  236         IF( diff / xnorm.LE.ferr( j ) ) 
THEN 
  237            errbnd = max( errbnd, ( diff / xnorm ) / ferr( j ) )
 
  249            tmp = abs( b( i, k ) )
 
  252                  tmp = tmp + abs( a( j, i ) )*abs( x( j, k ) )
 
  255                  tmp = tmp + abs( a( i, j ) )*abs( x( j, k ) )
 
  259                  tmp = tmp + abs( a( i, j ) )*abs( x( j, k ) )
 
  262                  tmp = tmp + abs( a( j, i ) )*abs( x( j, k ) )
 
  268               axbi = min( axbi, tmp )
 
  271         tmp = berr( k ) / ( ( n+1 )*eps+( n+1 )*unfl /
 
  272     $         max( axbi, ( n+1 )*unfl ) )
 
  276            reslts( 2 ) = max( reslts( 2 ), tmp )
 
 
subroutine dpot05(uplo, n, nrhs, a, lda, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts)
DPOT05