77      INTEGER            I, INFO, J, N_ERR_BNDS, NPARAMS
 
   78      REAL               ANRM, RCOND, BERR
 
   81      REAL               S( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
 
   82     $                   ERR_BNDS_N( NMAX, 3 ), ERR_BNDS_C( NMAX, 3 ),
 
   84      COMPLEX            A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
 
   85     $                   W( 2*NMAX ), X( NMAX )
 
  103      COMMON             / infoc / infot, nout, ok, lerr
 
  104      COMMON             / srnamc / srnamt
 
  107      INTRINSIC          cmplx, real
 
  112      WRITE( nout, fmt = * )
 
  119            a( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
 
  120            af( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
 
  135      IF( lsamen( 2, c2, 
'PO' ) ) 
THEN 
  141         CALL cpotrf( 
'/', 0, a, 1, info )
 
  142         CALL chkxer( 
'CPOTRF', infot, nout, lerr, ok )
 
  144         CALL cpotrf( 
'U', -1, a, 1, info )
 
  145         CALL chkxer( 
'CPOTRF', infot, nout, lerr, ok )
 
  147         CALL cpotrf( 
'U', 2, a, 1, info )
 
  148         CALL chkxer( 
'CPOTRF', infot, nout, lerr, ok )
 
  154         CALL cpotf2( 
'/', 0, a, 1, info )
 
  155         CALL chkxer( 
'CPOTF2', infot, nout, lerr, ok )
 
  157         CALL cpotf2( 
'U', -1, a, 1, info )
 
  158         CALL chkxer( 
'CPOTF2', infot, nout, lerr, ok )
 
  160         CALL cpotf2( 
'U', 2, a, 1, info )
 
  161         CALL chkxer( 
'CPOTF2', infot, nout, lerr, ok )
 
  167         CALL cpotri( 
'/', 0, a, 1, info )
 
  168         CALL chkxer( 
'CPOTRI', infot, nout, lerr, ok )
 
  170         CALL cpotri( 
'U', -1, a, 1, info )
 
  171         CALL chkxer( 
'CPOTRI', infot, nout, lerr, ok )
 
  173         CALL cpotri( 
'U', 2, a, 1, info )
 
  174         CALL chkxer( 
'CPOTRI', infot, nout, lerr, ok )
 
  180         CALL cpotrs( 
'/', 0, 0, a, 1, b, 1, info )
 
  181         CALL chkxer( 
'CPOTRS', infot, nout, lerr, ok )
 
  183         CALL cpotrs( 
'U', -1, 0, a, 1, b, 1, info )
 
  184         CALL chkxer( 
'CPOTRS', infot, nout, lerr, ok )
 
  186         CALL cpotrs( 
'U', 0, -1, a, 1, b, 1, info )
 
  187         CALL chkxer( 
'CPOTRS', infot, nout, lerr, ok )
 
  189         CALL cpotrs( 
'U', 2, 1, a, 1, b, 2, info )
 
  190         CALL chkxer( 
'CPOTRS', infot, nout, lerr, ok )
 
  192         CALL cpotrs( 
'U', 2, 1, a, 2, b, 1, info )
 
  193         CALL chkxer( 
'CPOTRS', infot, nout, lerr, ok )
 
  199         CALL cporfs( 
'/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
 
  201         CALL chkxer( 
'CPORFS', infot, nout, lerr, ok )
 
  203         CALL cporfs( 
'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
 
  205         CALL chkxer( 
'CPORFS', infot, nout, lerr, ok )
 
  207         CALL cporfs( 
'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
 
  209         CALL chkxer( 
'CPORFS', infot, nout, lerr, ok )
 
  211         CALL cporfs( 
'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, r,
 
  213         CALL chkxer( 
'CPORFS', infot, nout, lerr, ok )
 
  215         CALL cporfs( 
'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, r,
 
  217         CALL chkxer( 
'CPORFS', infot, nout, lerr, ok )
 
  219         CALL cporfs( 
'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, r,
 
  221         CALL chkxer( 
'CPORFS', infot, nout, lerr, ok )
 
  223         CALL cporfs( 
'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, r,
 
  225         CALL chkxer( 
'CPORFS', infot, nout, lerr, ok )
 
  233         CALL cporfsx( 
'/', eq, 0, 0, a, 1, af, 1, s, b, 1, x, 1,
 
  234     $        rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
 
  235     $        params, w, r, info )
 
  236         CALL chkxer( 
'CPORFSX', infot, nout, lerr, ok )
 
  238         CALL cporfsx( 
'U', 
'/', -1, 0, a, 1, af, 1, s, b, 1, x, 1,
 
  239     $        rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
 
  240     $        params, w, r, info )
 
  241         CALL chkxer( 
'CPORFSX', infot, nout, lerr, ok )
 
  244         CALL cporfsx( 
'U', eq, -1, 0, a, 1, af, 1, s, b, 1, x, 1,
 
  245     $        rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
 
  246     $        params, w, r, info )
 
  247         CALL chkxer( 
'CPORFSX', infot, nout, lerr, ok )
 
  249         CALL cporfsx( 
'U', eq, 0, -1, a, 1, af, 1, s, b, 1, x, 1,
 
  250     $        rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
 
  251     $        params, w, r, info )
 
  252         CALL chkxer( 
'CPORFSX', infot, nout, lerr, ok )
 
  254         CALL cporfsx( 
'U', eq, 2, 1, a, 1, af, 2, s, b, 2, x, 2,
 
  255     $        rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
 
  256     $        params, w, r, info )
 
  257         CALL chkxer( 
'CPORFSX', infot, nout, lerr, ok )
 
  259         CALL cporfsx( 
'U', eq, 2, 1, a, 2, af, 1, s, b, 2, x, 2,
 
  260     $        rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
 
  261     $        params, w, r, info )
 
  262         CALL chkxer( 
'CPORFSX', infot, nout, lerr, ok )
 
  264         CALL cporfsx( 
'U', eq, 2, 1, a, 2, af, 2, s, b, 1, x, 2,
 
  265     $        rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
 
  266     $        params, w, r, info )
 
  267         CALL chkxer( 
'CPORFSX', infot, nout, lerr, ok )
 
  269         CALL cporfsx( 
'U', eq, 2, 1, a, 2, af, 2, s, b, 2, x, 1,
 
  270     $        rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
 
  271     $        params, w, r, info )
 
  272         CALL chkxer( 
'CPORFSX', infot, nout, lerr, ok )
 
  278         CALL cpocon( 
'/', 0, a, 1, anrm, rcond, w, r, info )
 
  279         CALL chkxer( 
'CPOCON', infot, nout, lerr, ok )
 
  281         CALL cpocon( 
'U', -1, a, 1, anrm, rcond, w, r, info )
 
  282         CALL chkxer( 
'CPOCON', infot, nout, lerr, ok )
 
  284         CALL cpocon( 
'U', 2, a, 1, anrm, rcond, w, r, info )
 
  285         CALL chkxer( 
'CPOCON', infot, nout, lerr, ok )
 
  287         CALL cpocon( 
'U', 1, a, 1, -anrm, rcond, w, r, info )
 
  288         CALL chkxer( 
'CPOCON', infot, nout, lerr, ok )
 
  294         CALL cpoequ( -1, a, 1, r1, rcond, anrm, info )
 
  295         CALL chkxer( 
'CPOEQU', infot, nout, lerr, ok )
 
  297         CALL cpoequ( 2, a, 1, r1, rcond, anrm, info )
 
  298         CALL chkxer( 
'CPOEQU', infot, nout, lerr, ok )
 
  304         CALL cpoequb( -1, a, 1, r1, rcond, anrm, info )
 
  305         CALL chkxer( 
'CPOEQUB', infot, nout, lerr, ok )
 
  307         CALL cpoequb( 2, a, 1, r1, rcond, anrm, info )
 
  308         CALL chkxer( 
'CPOEQUB', infot, nout, lerr, ok )
 
  313      ELSE IF( lsamen( 2, c2, 
'PP' ) ) 
THEN 
  319         CALL cpptrf( 
'/', 0, a, info )
 
  320         CALL chkxer( 
'CPPTRF', infot, nout, lerr, ok )
 
  322         CALL cpptrf( 
'U', -1, a, info )
 
  323         CALL chkxer( 
'CPPTRF', infot, nout, lerr, ok )
 
  329         CALL cpptri( 
'/', 0, a, info )
 
  330         CALL chkxer( 
'CPPTRI', infot, nout, lerr, ok )
 
  332         CALL cpptri( 
'U', -1, a, info )
 
  333         CALL chkxer( 
'CPPTRI', infot, nout, lerr, ok )
 
  339         CALL cpptrs( 
'/', 0, 0, a, b, 1, info )
 
  340         CALL chkxer( 
'CPPTRS', infot, nout, lerr, ok )
 
  342         CALL cpptrs( 
'U', -1, 0, a, b, 1, info )
 
  343         CALL chkxer( 
'CPPTRS', infot, nout, lerr, ok )
 
  345         CALL cpptrs( 
'U', 0, -1, a, b, 1, info )
 
  346         CALL chkxer( 
'CPPTRS', infot, nout, lerr, ok )
 
  348         CALL cpptrs( 
'U', 2, 1, a, b, 1, info )
 
  349         CALL chkxer( 
'CPPTRS', infot, nout, lerr, ok )
 
  355         CALL cpprfs( 
'/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, r, info )
 
  356         CALL chkxer( 
'CPPRFS', infot, nout, lerr, ok )
 
  358         CALL cpprfs( 
'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, r,
 
  360         CALL chkxer( 
'CPPRFS', infot, nout, lerr, ok )
 
  362         CALL cpprfs( 
'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, r,
 
  364         CALL chkxer( 
'CPPRFS', infot, nout, lerr, ok )
 
  366         CALL cpprfs( 
'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, r, info )
 
  367         CALL chkxer( 
'CPPRFS', infot, nout, lerr, ok )
 
  369         CALL cpprfs( 
'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, r, info )
 
  370         CALL chkxer( 
'CPPRFS', infot, nout, lerr, ok )
 
  376         CALL cppcon( 
'/', 0, a, anrm, rcond, w, r, info )
 
  377         CALL chkxer( 
'CPPCON', infot, nout, lerr, ok )
 
  379         CALL cppcon( 
'U', -1, a, anrm, rcond, w, r, info )
 
  380         CALL chkxer( 
'CPPCON', infot, nout, lerr, ok )
 
  382         CALL cppcon( 
'U', 1, a, -anrm, rcond, w, r, info )
 
  383         CALL chkxer( 
'CPPCON', infot, nout, lerr, ok )
 
  389         CALL cppequ( 
'/', 0, a, r1, rcond, anrm, info )
 
  390         CALL chkxer( 
'CPPEQU', infot, nout, lerr, ok )
 
  392         CALL cppequ( 
'U', -1, a, r1, rcond, anrm, info )
 
  393         CALL chkxer( 
'CPPEQU', infot, nout, lerr, ok )
 
  398      ELSE IF( lsamen( 2, c2, 
'PB' ) ) 
THEN 
  404         CALL cpbtrf( 
'/', 0, 0, a, 1, info )
 
  405         CALL chkxer( 
'CPBTRF', infot, nout, lerr, ok )
 
  407         CALL cpbtrf( 
'U', -1, 0, a, 1, info )
 
  408         CALL chkxer( 
'CPBTRF', infot, nout, lerr, ok )
 
  410         CALL cpbtrf( 
'U', 1, -1, a, 1, info )
 
  411         CALL chkxer( 
'CPBTRF', infot, nout, lerr, ok )
 
  413         CALL cpbtrf( 
'U', 2, 1, a, 1, info )
 
  414         CALL chkxer( 
'CPBTRF', infot, nout, lerr, ok )
 
  420         CALL cpbtf2( 
'/', 0, 0, a, 1, info )
 
  421         CALL chkxer( 
'CPBTF2', infot, nout, lerr, ok )
 
  423         CALL cpbtf2( 
'U', -1, 0, a, 1, info )
 
  424         CALL chkxer( 
'CPBTF2', infot, nout, lerr, ok )
 
  426         CALL cpbtf2( 
'U', 1, -1, a, 1, info )
 
  427         CALL chkxer( 
'CPBTF2', infot, nout, lerr, ok )
 
  429         CALL cpbtf2( 
'U', 2, 1, a, 1, info )
 
  430         CALL chkxer( 
'CPBTF2', infot, nout, lerr, ok )
 
  436         CALL cpbtrs( 
'/', 0, 0, 0, a, 1, b, 1, info )
 
  437         CALL chkxer( 
'CPBTRS', infot, nout, lerr, ok )
 
  439         CALL cpbtrs( 
'U', -1, 0, 0, a, 1, b, 1, info )
 
  440         CALL chkxer( 
'CPBTRS', infot, nout, lerr, ok )
 
  442         CALL cpbtrs( 
'U', 1, -1, 0, a, 1, b, 1, info )
 
  443         CALL chkxer( 
'CPBTRS', infot, nout, lerr, ok )
 
  445         CALL cpbtrs( 
'U', 0, 0, -1, a, 1, b, 1, info )
 
  446         CALL chkxer( 
'CPBTRS', infot, nout, lerr, ok )
 
  448         CALL cpbtrs( 
'U', 2, 1, 1, a, 1, b, 1, info )
 
  449         CALL chkxer( 
'CPBTRS', infot, nout, lerr, ok )
 
  451         CALL cpbtrs( 
'U', 2, 0, 1, a, 1, b, 1, info )
 
  452         CALL chkxer( 
'CPBTRS', infot, nout, lerr, ok )
 
  458         CALL cpbrfs( 
'/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
 
  460         CALL chkxer( 
'CPBRFS', infot, nout, lerr, ok )
 
  462         CALL cpbrfs( 
'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
 
  464         CALL chkxer( 
'CPBRFS', infot, nout, lerr, ok )
 
  466         CALL cpbrfs( 
'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
 
  468         CALL chkxer( 
'CPBRFS', infot, nout, lerr, ok )
 
  470         CALL cpbrfs( 
'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
 
  472         CALL chkxer( 
'CPBRFS', infot, nout, lerr, ok )
 
  474         CALL cpbrfs( 
'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
 
  476         CALL chkxer( 
'CPBRFS', infot, nout, lerr, ok )
 
  478         CALL cpbrfs( 
'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
 
  480         CALL chkxer( 
'CPBRFS', infot, nout, lerr, ok )
 
  482         CALL cpbrfs( 
'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
 
  484         CALL chkxer( 
'CPBRFS', infot, nout, lerr, ok )
 
  486         CALL cpbrfs( 
'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
 
  488         CALL chkxer( 
'CPBRFS', infot, nout, lerr, ok )
 
  494         CALL cpbcon( 
'/', 0, 0, a, 1, anrm, rcond, w, r, info )
 
  495         CALL chkxer( 
'CPBCON', infot, nout, lerr, ok )
 
  497         CALL cpbcon( 
'U', -1, 0, a, 1, anrm, rcond, w, r, info )
 
  498         CALL chkxer( 
'CPBCON', infot, nout, lerr, ok )
 
  500         CALL cpbcon( 
'U', 1, -1, a, 1, anrm, rcond, w, r, info )
 
  501         CALL chkxer( 
'CPBCON', infot, nout, lerr, ok )
 
  503         CALL cpbcon( 
'U', 2, 1, a, 1, anrm, rcond, w, r, info )
 
  504         CALL chkxer( 
'CPBCON', infot, nout, lerr, ok )
 
  506         CALL cpbcon( 
'U', 1, 0, a, 1, -anrm, rcond, w, r, info )
 
  507         CALL chkxer( 
'CPBCON', infot, nout, lerr, ok )
 
  513         CALL cpbequ( 
'/', 0, 0, a, 1, r1, rcond, anrm, info )
 
  514         CALL chkxer( 
'CPBEQU', infot, nout, lerr, ok )
 
  516         CALL cpbequ( 
'U', -1, 0, a, 1, r1, rcond, anrm, info )
 
  517         CALL chkxer( 
'CPBEQU', infot, nout, lerr, ok )
 
  519         CALL cpbequ( 
'U', 1, -1, a, 1, r1, rcond, anrm, info )
 
  520         CALL chkxer( 
'CPBEQU', infot, nout, lerr, ok )
 
  522         CALL cpbequ( 
'U', 2, 1, a, 1, r1, rcond, anrm, info )
 
  523         CALL chkxer( 
'CPBEQU', infot, nout, lerr, ok )
 
  528      CALL alaesm( path, ok, nout )