77      INTEGER            I, INFO, J, N_ERR_BNDS, NPARAMS
 
   78      REAL               ANRM, RCOND, BERR
 
   82      REAL               R( NMAX ), R1( NMAX ), R2( NMAX ),
 
   83     $                   S( NMAX ), ERR_BNDS_N( NMAX, 3 ),
 
   84     $                   ERR_BNDS_C( NMAX, 3 ), PARAMS( 1 )
 
   85      COMPLEX            A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
 
   86     $                   E( NMAX), W( 2*NMAX ), X( NMAX )
 
  105      COMMON             / infoc / infot, nout, ok, lerr
 
  106      COMMON             / srnamc / srnamt
 
  109      INTRINSIC          cmplx, real
 
  114      WRITE( nout, fmt = * )
 
  121            a( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
 
  122            af( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
 
  135      IF( lsamen( 2, c2, 
'SY' ) ) 
THEN 
  145         CALL csytrf( 
'/', 0, a, 1, ip, w, 1, info )
 
  146         CALL chkxer( 
'CSYTRF', infot, nout, lerr, ok )
 
  148         CALL csytrf( 
'U', -1, a, 1, ip, w, 1, info )
 
  149         CALL chkxer( 
'CSYTRF', infot, nout, lerr, ok )
 
  151         CALL csytrf( 
'U', 2, a, 1, ip, w, 4, info )
 
  152         CALL chkxer( 
'CSYTRF', infot, nout, lerr, ok )
 
  154         CALL csytrf( 
'U', 0, a, 1, ip, w, 0, info )
 
  155         CALL chkxer( 
'CSYTRF', infot, nout, lerr, ok )
 
  157         CALL csytrf( 
'U', 0, a, 1, ip, w, -2, info )
 
  158         CALL chkxer( 
'CSYTRF', infot, nout, lerr, ok )
 
  164         CALL csytf2( 
'/', 0, a, 1, ip, info )
 
  165         CALL chkxer( 
'CSYTF2', infot, nout, lerr, ok )
 
  167         CALL csytf2( 
'U', -1, a, 1, ip, info )
 
  168         CALL chkxer( 
'CSYTF2', infot, nout, lerr, ok )
 
  170         CALL csytf2( 
'U', 2, a, 1, ip, info )
 
  171         CALL chkxer( 
'CSYTF2', infot, nout, lerr, ok )
 
  177         CALL csytri( 
'/', 0, a, 1, ip, w, info )
 
  178         CALL chkxer( 
'CSYTRI', infot, nout, lerr, ok )
 
  180         CALL csytri( 
'U', -1, a, 1, ip, w, info )
 
  181         CALL chkxer( 
'CSYTRI', infot, nout, lerr, ok )
 
  183         CALL csytri( 
'U', 2, a, 1, ip, w, info )
 
  184         CALL chkxer( 
'CSYTRI', infot, nout, lerr, ok )
 
  190         CALL csytri2( 
'/', 0, a, 1, ip, w, 1, info )
 
  191         CALL chkxer( 
'CSYTRI2', infot, nout, lerr, ok )
 
  193         CALL csytri2( 
'U', -1, a, 1, ip, w, 1, info )
 
  194         CALL chkxer( 
'CSYTRI2', infot, nout, lerr, ok )
 
  196         CALL csytri2( 
'U', 2, a, 1, ip, w, 1, info )
 
  197         CALL chkxer( 
'CSYTRI2', infot, nout, lerr, ok )
 
  203         CALL csytri2x( 
'/', 0, a, 1, ip, w, 1, info )
 
  204         CALL chkxer( 
'CSYTRI2X', infot, nout, lerr, ok )
 
  206         CALL csytri2x( 
'U', -1, a, 1, ip, w, 1, info )
 
  207         CALL chkxer( 
'CSYTRI2X', infot, nout, lerr, ok )
 
  209         CALL csytri2x( 
'U', 2, a, 1, ip, w, 1, info )
 
  210         CALL chkxer( 
'CSYTRI2X', infot, nout, lerr, ok )
 
  216         CALL csytrs( 
'/', 0, 0, a, 1, ip, b, 1, info )
 
  217         CALL chkxer( 
'CSYTRS', infot, nout, lerr, ok )
 
  219         CALL csytrs( 
'U', -1, 0, a, 1, ip, b, 1, info )
 
  220         CALL chkxer( 
'CSYTRS', infot, nout, lerr, ok )
 
  222         CALL csytrs( 
'U', 0, -1, a, 1, ip, b, 1, info )
 
  223         CALL chkxer( 
'CSYTRS', infot, nout, lerr, ok )
 
  225         CALL csytrs( 
'U', 2, 1, a, 1, ip, b, 2, info )
 
  226         CALL chkxer( 
'CSYTRS', infot, nout, lerr, ok )
 
  228         CALL csytrs( 
'U', 2, 1, a, 2, ip, b, 1, info )
 
  229         CALL chkxer( 
'CSYTRS', infot, nout, lerr, ok )
 
  235         CALL csyrfs( 
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
 
  237         CALL chkxer( 
'CSYRFS', infot, nout, lerr, ok )
 
  239         CALL csyrfs( 
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
 
  241         CALL chkxer( 
'CSYRFS', infot, nout, lerr, ok )
 
  243         CALL csyrfs( 
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
 
  245         CALL chkxer( 
'CSYRFS', infot, nout, lerr, ok )
 
  247         CALL csyrfs( 
'U', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
 
  249         CALL chkxer( 
'CSYRFS', infot, nout, lerr, ok )
 
  251         CALL csyrfs( 
'U', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
 
  253         CALL chkxer( 
'CSYRFS', infot, nout, lerr, ok )
 
  255         CALL csyrfs( 
'U', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
 
  257         CALL chkxer( 
'CSYRFS', infot, nout, lerr, ok )
 
  259         CALL csyrfs( 
'U', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
 
  261         CALL chkxer( 
'CSYRFS', infot, nout, lerr, ok )
 
  269         CALL csyrfsx( 
'/', eq, 0, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
 
  270     $        rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
 
  271     $        params, w, r, info )
 
  272         CALL chkxer( 
'CSYRFSX', infot, nout, lerr, ok )
 
  274         CALL csyrfsx( 
'U', eq, -1, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
 
  275     $        rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
 
  276     $        params, w, r, info )
 
  277         CALL chkxer( 
'CSYRFSX', infot, nout, lerr, ok )
 
  280         CALL csyrfsx( 
'U', eq, -1, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
 
  281     $        rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
 
  282     $        params, w, r, info )
 
  283         CALL chkxer( 
'CSYRFSX', infot, nout, lerr, ok )
 
  285         CALL csyrfsx( 
'U', eq, 0, -1, a, 1, af, 1, ip, s, b, 1, x, 1,
 
  286     $        rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
 
  287     $        params, w, r, info )
 
  288         CALL chkxer( 
'CSYRFSX', infot, nout, lerr, ok )
 
  290         CALL csyrfsx( 
'U', eq, 2, 1, a, 1, af, 2, ip, s, b, 2, x, 2,
 
  291     $        rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
 
  292     $        params, w, r, info )
 
  293         CALL chkxer( 
'CSYRFSX', infot, nout, lerr, ok )
 
  295         CALL csyrfsx( 
'U', eq, 2, 1, a, 2, af, 1, ip, s, b, 2, x, 2,
 
  296     $        rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
 
  297     $        params, w, r, info )
 
  298         CALL chkxer( 
'CSYRFSX', infot, nout, lerr, ok )
 
  300         CALL csyrfsx( 
'U', eq, 2, 1, a, 2, af, 2, ip, s, b, 1, x, 2,
 
  301     $        rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
 
  302     $        params, w, r, info )
 
  303         CALL chkxer( 
'CSYRFSX', infot, nout, lerr, ok )
 
  305         CALL csyrfsx( 
'U', eq, 2, 1, a, 2, af, 2, ip, s, b, 2, x, 1,
 
  306     $        rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
 
  307     $        params, w, r, info )
 
  308         CALL chkxer( 
'CSYRFSX', infot, nout, lerr, ok )
 
  314         CALL csycon( 
'/', 0, a, 1, ip, anrm, rcond, w, info )
 
  315         CALL chkxer( 
'CSYCON', infot, nout, lerr, ok )
 
  317         CALL csycon( 
'U', -1, a, 1, ip, anrm, rcond, w, info )
 
  318         CALL chkxer( 
'CSYCON', infot, nout, lerr, ok )
 
  320         CALL csycon( 
'U', 2, a, 1, ip, anrm, rcond, w, info )
 
  321         CALL chkxer( 
'CSYCON', infot, nout, lerr, ok )
 
  323         CALL csycon( 
'U', 1, a, 1, ip, -anrm, rcond, w, info )
 
  324         CALL chkxer( 
'CSYCON', infot, nout, lerr, ok )
 
  326      ELSE IF( lsamen( 2, c2, 
'SR' ) ) 
THEN 
  334         srnamt = 
'CSYTRF_ROOK' 
  337         CALL chkxer( 
'CSYTRF_ROOK', infot, nout, lerr, ok )
 
  340         CALL chkxer( 
'CSYTRF_ROOK', infot, nout, lerr, ok )
 
  343         CALL chkxer( 
'CSYTRF_ROOK', infot, nout, lerr, ok )
 
  346         CALL chkxer( 
'CSYTRF_ROOK', infot, nout, lerr, ok )
 
  349         CALL chkxer( 
'CSYTRF_ROOK', infot, nout, lerr, ok )
 
  353         srnamt = 
'CSYTF2_ROOK' 
  356         CALL chkxer( 
'CSYTF2_ROOK', infot, nout, lerr, ok )
 
  359         CALL chkxer( 
'CSYTF2_ROOK', infot, nout, lerr, ok )
 
  362         CALL chkxer( 
'CSYTF2_ROOK', infot, nout, lerr, ok )
 
  366         srnamt = 
'CSYTRI_ROOK' 
  369         CALL chkxer( 
'CSYTRI_ROOK', infot, nout, lerr, ok )
 
  372         CALL chkxer( 
'CSYTRI_ROOK', infot, nout, lerr, ok )
 
  375         CALL chkxer( 
'CSYTRI_ROOK', infot, nout, lerr, ok )
 
  379         srnamt = 
'CSYTRS_ROOK' 
  381         CALL csytrs_rook( 
'/', 0, 0, a, 1, ip, b, 1, info )
 
  382         CALL chkxer( 
'CSYTRS_ROOK', infot, nout, lerr, ok )
 
  384         CALL csytrs_rook( 
'U', -1, 0, a, 1, ip, b, 1, info )
 
  385         CALL chkxer( 
'CSYTRS_ROOK', infot, nout, lerr, ok )
 
  387         CALL csytrs_rook( 
'U', 0, -1, a, 1, ip, b, 1, info )
 
  388         CALL chkxer( 
'CSYTRS_ROOK', infot, nout, lerr, ok )
 
  390         CALL csytrs_rook( 
'U', 2, 1, a, 1, ip, b, 2, info )
 
  391         CALL chkxer( 
'CSYTRS_ROOK', infot, nout, lerr, ok )
 
  393         CALL csytrs_rook( 
'U', 2, 1, a, 2, ip, b, 1, info )
 
  394         CALL chkxer( 
'CSYTRS_ROOK', infot, nout, lerr, ok )
 
  398         srnamt = 
'CSYCON_ROOK' 
  400         CALL csycon_rook( 
'/', 0, a, 1, ip, anrm, rcond, w, info )
 
  401         CALL chkxer( 
'CSYCON_ROOK', infot, nout, lerr, ok )
 
  403         CALL csycon_rook( 
'U', -1, a, 1, ip, anrm, rcond, w, info )
 
  404         CALL chkxer( 
'CSYCON_ROOK', infot, nout, lerr, ok )
 
  406         CALL csycon_rook( 
'U', 2, a, 1, ip, anrm, rcond, w, info )
 
  407         CALL chkxer( 
'CSYCON_ROOK', infot, nout, lerr, ok )
 
  409         CALL csycon_rook( 
'U', 1, a, 1, ip, -anrm, rcond, w, info )
 
  410         CALL chkxer( 
'CSYCON_ROOK', infot, nout, lerr, ok )
 
  412      ELSE IF( lsamen( 2, c2, 
'SK' ) ) 
THEN 
  426         CALL csytrf_rk( 
'/', 0, a, 1, e, ip, w, 1, info )
 
  427         CALL chkxer( 
'CSYTRF_RK', infot, nout, lerr, ok )
 
  429         CALL csytrf_rk( 
'U', -1, a, 1, e, ip, w, 1, info )
 
  430         CALL chkxer( 
'CSYTRF_RK', infot, nout, lerr, ok )
 
  432         CALL csytrf_rk( 
'U', 2, a, 1, e, ip, w, 4, info )
 
  433         CALL chkxer( 
'CSYTRF_RK', infot, nout, lerr, ok )
 
  435         CALL csytrf_rk( 
'U', 0, a, 1, e, ip, w, 0, info )
 
  436         CALL chkxer( 
'CSYTRF_RK', infot, nout, lerr, ok )
 
  438         CALL csytrf_rk( 
'U', 0, a, 1, e, ip, w, -2, info )
 
  439         CALL chkxer( 
'CSYTRF_RK', infot, nout, lerr, ok )
 
  445         CALL csytf2_rk( 
'/', 0, a, 1, e, ip, info )
 
  446         CALL chkxer( 
'CSYTF2_RK', infot, nout, lerr, ok )
 
  448         CALL csytf2_rk( 
'U', -1, a, 1, e, ip, info )
 
  449         CALL chkxer( 
'CSYTF2_RK', infot, nout, lerr, ok )
 
  451         CALL csytf2_rk( 
'U', 2, a, 1, e, ip, info )
 
  452         CALL chkxer( 
'CSYTF2_RK', infot, nout, lerr, ok )
 
  458         CALL csytri_3( 
'/', 0, a, 1, e, ip, w, 1, info )
 
  459         CALL chkxer( 
'CSYTRI_3', infot, nout, lerr, ok )
 
  461         CALL csytri_3( 
'U', -1, a, 1, e, ip, w, 1, info )
 
  462         CALL chkxer( 
'CSYTRI_3', infot, nout, lerr, ok )
 
  464         CALL csytri_3( 
'U', 2, a, 1, e, ip, w, 1, info )
 
  465         CALL chkxer( 
'CSYTRI_3', infot, nout, lerr, ok )
 
  467         CALL csytri_3( 
'U', 0, a, 1, e, ip, w, 0, info )
 
  468         CALL chkxer( 
'CSYTRI_3', infot, nout, lerr, ok )
 
  470         CALL csytri_3( 
'U', 0, a, 1, e, ip, w, -2, info )
 
  471         CALL chkxer( 
'CSYTRI_3', infot, nout, lerr, ok )
 
  477         CALL csytri_3x( 
'/', 0, a, 1, e, ip, w, 1, info )
 
  478         CALL chkxer( 
'CSYTRI_3X', infot, nout, lerr, ok )
 
  480         CALL csytri_3x( 
'U', -1, a, 1, e, ip, w, 1, info )
 
  481         CALL chkxer( 
'CSYTRI_3X', infot, nout, lerr, ok )
 
  483         CALL csytri_3x( 
'U', 2, a, 1, e, ip, w, 1, info )
 
  484         CALL chkxer( 
'CSYTRI_3X', infot, nout, lerr, ok )
 
  490         CALL csytrs_3( 
'/', 0, 0, a, 1, e, ip, b, 1, info )
 
  491         CALL chkxer( 
'CSYTRS_3', infot, nout, lerr, ok )
 
  493         CALL csytrs_3( 
'U', -1, 0, a, 1, e, ip, b, 1, info )
 
  494         CALL chkxer( 
'CSYTRS_3', infot, nout, lerr, ok )
 
  496         CALL csytrs_3( 
'U', 0, -1, a, 1, e, ip, b, 1, info )
 
  497         CALL chkxer( 
'CSYTRS_3', infot, nout, lerr, ok )
 
  499         CALL csytrs_3( 
'U', 2, 1, a, 1, e, ip, b, 2, info )
 
  500         CALL chkxer( 
'CSYTRS_3', infot, nout, lerr, ok )
 
  502         CALL csytrs_3( 
'U', 2, 1, a, 2, e, ip, b, 1, info )
 
  503         CALL chkxer( 
'CSYTRS_3', infot, nout, lerr, ok )
 
  509         CALL csycon_3( 
'/', 0, a, 1,  e, ip, anrm, rcond, w, info )
 
  510         CALL chkxer( 
'CSYCON_3', infot, nout, lerr, ok )
 
  512         CALL csycon_3( 
'U', -1, a, 1, e, ip, anrm, rcond, w, info )
 
  513         CALL chkxer( 
'CSYCON_3', infot, nout, lerr, ok )
 
  515         CALL csycon_3( 
'U', 2, a, 1, e, ip, anrm, rcond, w, info )
 
  516         CALL chkxer( 
'CSYCON_3', infot, nout, lerr, ok )
 
  518         CALL csycon_3( 
'U', 1, a, 1, e, ip, -1.0e0, rcond, w, info)
 
  519         CALL chkxer( 
'CSYCON_3', infot, nout, lerr, ok )
 
  521      ELSE IF( lsamen( 2, c2, 
'SP' ) ) 
THEN 
  531         CALL csptrf( 
'/', 0, a, ip, info )
 
  532         CALL chkxer( 
'CSPTRF', infot, nout, lerr, ok )
 
  534         CALL csptrf( 
'U', -1, a, ip, info )
 
  535         CALL chkxer( 
'CSPTRF', infot, nout, lerr, ok )
 
  541         CALL csptri( 
'/', 0, a, ip, w, info )
 
  542         CALL chkxer( 
'CSPTRI', infot, nout, lerr, ok )
 
  544         CALL csptri( 
'U', -1, a, ip, w, info )
 
  545         CALL chkxer( 
'CSPTRI', infot, nout, lerr, ok )
 
  551         CALL csptrs( 
'/', 0, 0, a, ip, b, 1, info )
 
  552         CALL chkxer( 
'CSPTRS', infot, nout, lerr, ok )
 
  554         CALL csptrs( 
'U', -1, 0, a, ip, b, 1, info )
 
  555         CALL chkxer( 
'CSPTRS', infot, nout, lerr, ok )
 
  557         CALL csptrs( 
'U', 0, -1, a, ip, b, 1, info )
 
  558         CALL chkxer( 
'CSPTRS', infot, nout, lerr, ok )
 
  560         CALL csptrs( 
'U', 2, 1, a, ip, b, 1, info )
 
  561         CALL chkxer( 
'CSPTRS', infot, nout, lerr, ok )
 
  567         CALL csprfs( 
'/', 0, 0, a, af, ip, b, 1, x, 1, r1, r2, w, r,
 
  569         CALL chkxer( 
'CSPRFS', infot, nout, lerr, ok )
 
  571         CALL csprfs( 
'U', -1, 0, a, af, ip, b, 1, x, 1, r1, r2, w, r,
 
  573         CALL chkxer( 
'CSPRFS', infot, nout, lerr, ok )
 
  575         CALL csprfs( 
'U', 0, -1, a, af, ip, b, 1, x, 1, r1, r2, w, r,
 
  577         CALL chkxer( 
'CSPRFS', infot, nout, lerr, ok )
 
  579         CALL csprfs( 
'U', 2, 1, a, af, ip, b, 1, x, 2, r1, r2, w, r,
 
  581         CALL chkxer( 
'CSPRFS', infot, nout, lerr, ok )
 
  583         CALL csprfs( 
'U', 2, 1, a, af, ip, b, 2, x, 1, r1, r2, w, r,
 
  585         CALL chkxer( 
'CSPRFS', infot, nout, lerr, ok )
 
  591         CALL cspcon( 
'/', 0, a, ip, anrm, rcond, w, info )
 
  592         CALL chkxer( 
'CSPCON', infot, nout, lerr, ok )
 
  594         CALL cspcon( 
'U', -1, a, ip, anrm, rcond, w, info )
 
  595         CALL chkxer( 
'CSPCON', infot, nout, lerr, ok )
 
  597         CALL cspcon( 
'U', 1, a, ip, -anrm, rcond, w, info )
 
  598         CALL chkxer( 
'CSPCON', infot, nout, lerr, ok )
 
  603      CALL alaesm( path, ok, nout )