198      SUBROUTINE stftri( TRANSR, UPLO, DIAG, N, A, INFO )
 
  205      CHARACTER          TRANSR, UPLO, DIAG
 
  216      parameter( one = 1.0e+0 )
 
  219      LOGICAL            LOWER, NISODD, NORMALTRANSR
 
  237      normaltransr = lsame( transr, 
'N' )
 
  238      lower = lsame( uplo, 
'L' )
 
  239      IF( .NOT.normaltransr .AND. .NOT.lsame( transr, 
'T' ) ) 
THEN 
  241      ELSE IF( .NOT.lower .AND. .NOT.lsame( uplo, 
'U' ) ) 
THEN 
  243      ELSE IF( .NOT.lsame( diag, 
'N' ) .AND.
 
  244     $         .NOT.lsame( diag, 
'U' ) )
 
  247      ELSE IF( n.LT.0 ) 
THEN 
  251         CALL xerbla( 
'STFTRI', -info )
 
  263      IF( mod( n, 2 ).EQ.0 ) 
THEN 
  287         IF( normaltransr ) 
THEN 
  297               CALL strtri( 
'L', diag, n1, a( 0 ), n, info )
 
  300               CALL strmm( 
'R', 
'L', 
'N', diag, n2, n1, -one, a( 0 ),
 
  302               CALL strtri( 
'U', diag, n2, a( n ), n, info )
 
  307               CALL strmm( 
'L', 
'U', 
'T', diag, n2, n1, one, a( n ),
 
  317               CALL strtri( 
'L', diag, n1, a( n2 ), n, info )
 
  320               CALL strmm( 
'L', 
'L', 
'T', diag, n1, n2, -one,
 
  323               CALL strtri( 
'U', diag, n2, a( n1 ), n, info )
 
  328               CALL strmm( 
'R', 
'U', 
'N', diag, n1, n2, one, a( n1 ),
 
  342               CALL strtri( 
'U', diag, n1, a( 0 ), n1, info )
 
  345               CALL strmm( 
'L', 
'U', 
'N', diag, n1, n2, -one, a( 0 ),
 
  346     $                     n1, a( n1*n1 ), n1 )
 
  347               CALL strtri( 
'L', diag, n2, a( 1 ), n1, info )
 
  352               CALL strmm( 
'R', 
'L', 
'T', diag, n1, n2, one, a( 1 ),
 
  353     $                     n1, a( n1*n1 ), n1 )
 
  360               CALL strtri( 
'U', diag, n1, a( n2*n2 ), n2, info )
 
  363               CALL strmm( 
'R', 
'U', 
'T', diag, n2, n1, -one,
 
  364     $                     a( n2*n2 ), n2, a( 0 ), n2 )
 
  365               CALL strtri( 
'L', diag, n2, a( n1*n2 ), n2, info )
 
  370               CALL strmm( 
'L', 
'L', 
'N', diag, n2, n1, one,
 
  371     $                     a( n1*n2 ), n2, a( 0 ), n2 )
 
  380         IF( normaltransr ) 
THEN 
  390               CALL strtri( 
'L', diag, k, a( 1 ), n+1, info )
 
  393               CALL strmm( 
'R', 
'L', 
'N', diag, k, k, -one, a( 1 ),
 
  394     $                     n+1, a( k+1 ), n+1 )
 
  395               CALL strtri( 
'U', diag, k, a( 0 ), n+1, info )
 
  400               CALL strmm( 
'L', 
'U', 
'T', diag, k, k, one, a( 0 ),
 
  410               CALL strtri( 
'L', diag, k, a( k+1 ), n+1, info )
 
  413               CALL strmm( 
'L', 
'L', 
'T', diag, k, k, -one, a( k+1 ),
 
  415               CALL strtri( 
'U', diag, k, a( k ), n+1, info )
 
  420               CALL strmm( 
'R', 
'U', 
'N', diag, k, k, one, a( k ),
 
  434               CALL strtri( 
'U', diag, k, a( k ), k, info )
 
  437               CALL strmm( 
'L', 
'U', 
'N', diag, k, k, -one, a( k ),
 
  439     $                     a( k*( k+1 ) ), k )
 
  440               CALL strtri( 
'L', diag, k, a( 0 ), k, info )
 
  445               CALL strmm( 
'R', 
'L', 
'T', diag, k, k, one, a( 0 ), k,
 
  446     $                     a( k*( k+1 ) ), k )
 
  453               CALL strtri( 
'U', diag, k, a( k*( k+1 ) ), k, info )
 
  456               CALL strmm( 
'R', 
'U', 
'T', diag, k, k, -one,
 
  457     $                     a( k*( k+1 ) ), k, a( 0 ), k )
 
  458               CALL strtri( 
'L', diag, k, a( k*k ), k, info )
 
  463               CALL strmm( 
'L', 
'L', 
'N', diag, k, k, one, a( k*k ),