1*> \brief \b SERRST
2*
3*  =========== DOCUMENTATION ===========
4*
5* Online html documentation available at
6*            http://www.netlib.org/lapack/explore-html/
7*
8*  Definition:
9*  ===========
10*
11*       SUBROUTINE SERRST( PATH, NUNIT )
12*
13*       .. Scalar Arguments ..
14*       CHARACTER*3        PATH
15*       INTEGER            NUNIT
16*       ..
17*
18*
19*> \par Purpose:
20*  =============
21*>
22*> \verbatim
23*>
24*> SERRST tests the error exits for SSYTRD, SORGTR, SORMTR, SSPTRD,
25*> SOPGTR, SOPMTR, SSTEQR, SSTERF, SSTEBZ, SSTEIN, SPTEQR, SSBTRD,
26*> SSYEV, SSYEVX, SSYEVD, SSBEV, SSBEVX, SSBEVD,
27*> SSPEV, SSPEVX, SSPEVD, SSTEV, SSTEVX, SSTEVD, and SSTEDC.
28*> SSYEVD_2STAGE, SSYEVR_2STAGE, SSYEVX_2STAGE,
29*> SSYEV_2STAGE, SSBEV_2STAGE, SSBEVD_2STAGE,
30*> SSBEVX_2STAGE, SSYTRD_2STAGE, SSYTRD_SY2SB,
31*> SSYTRD_SB2ST
32*> \endverbatim
33*
34*  Arguments:
35*  ==========
36*
37*> \param[in] PATH
38*> \verbatim
39*>          PATH is CHARACTER*3
40*>          The LAPACK path name for the routines to be tested.
41*> \endverbatim
42*>
43*> \param[in] NUNIT
44*> \verbatim
45*>          NUNIT is INTEGER
46*>          The unit number for output.
47*> \endverbatim
48*
49*  Authors:
50*  ========
51*
52*> \author Univ. of Tennessee
53*> \author Univ. of California Berkeley
54*> \author Univ. of Colorado Denver
55*> \author NAG Ltd.
56*
57*> \ingroup single_eig
58*
59*  =====================================================================
60      SUBROUTINE SERRST( PATH, NUNIT )
61*
62*  -- LAPACK test routine --
63*  -- LAPACK is a software package provided by Univ. of Tennessee,    --
64*  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
65*
66*     .. Scalar Arguments ..
67      CHARACTER*3        PATH
68      INTEGER            NUNIT
69*     ..
70*
71*  =====================================================================
72*
73*     NMAX has to be at least 3 or LIW may be too small
74*     .. Parameters ..
75      INTEGER            NMAX, LIW, LW
76      PARAMETER          ( NMAX = 3, LIW = 12*NMAX, LW = 20*NMAX )
77*     ..
78*     .. Local Scalars ..
79      CHARACTER*2        C2
80      INTEGER            I, INFO, J, M, N, NSPLIT, NT
81*     ..
82*     .. Local Arrays ..
83      INTEGER            I1( NMAX ), I2( NMAX ), I3( NMAX ), IW( LIW )
84      REAL               A( NMAX, NMAX ), C( NMAX, NMAX ), D( NMAX ),
85     $                   E( NMAX ), Q( NMAX, NMAX ), R( NMAX ),
86     $                   TAU( NMAX ), W( LW ), X( NMAX ),
87     $                   Z( NMAX, NMAX )
88*     ..
89*     .. External Functions ..
90      LOGICAL            LSAMEN
91      EXTERNAL           LSAMEN
92*     ..
93*     .. External Subroutines ..
94      EXTERNAL           CHKXER, SOPGTR, SOPMTR, SORGTR, SORMTR, SPTEQR,
95     $                   SSBEV, SSBEVD, SSBEVX, SSBTRD, SSPEV, SSPEVD,
96     $                   SSPEVX, SSPTRD, SSTEBZ, SSTEDC, SSTEIN, SSTEQR,
97     $                   SSTERF, SSTEV, SSTEVD, SSTEVR, SSTEVX, SSYEV,
98     $                   SSYEVD, SSYEVR, SSYEVX, SSYTRD,
99     $                   SSYEVD_2STAGE, SSYEVR_2STAGE, SSYEVX_2STAGE,
100     $                   SSYEV_2STAGE, SSBEV_2STAGE, SSBEVD_2STAGE,
101     $                   SSBEVX_2STAGE, SSYTRD_2STAGE, SSYTRD_SY2SB,
102     $                   SSYTRD_SB2ST
103*     ..
104*     .. Scalars in Common ..
105      LOGICAL            LERR, OK
106      CHARACTER*32       SRNAMT
107      INTEGER            INFOT, NOUT
108*     ..
109*     .. Common blocks ..
110      COMMON             / INFOC / INFOT, NOUT, OK, LERR
111      COMMON             / SRNAMC / SRNAMT
112*     ..
113*     .. Intrinsic Functions ..
114      INTRINSIC          REAL
115*     ..
116*     .. Executable Statements ..
117*
118      NOUT = NUNIT
119      WRITE( NOUT, FMT = * )
120      C2 = PATH( 2: 3 )
121*
122*     Set the variables to innocuous values.
123*
124      DO 20 J = 1, NMAX
125         DO 10 I = 1, NMAX
126            A( I, J ) = 1. / REAL( I+J )
127   10    CONTINUE
128   20 CONTINUE
129      DO 30 J = 1, NMAX
130         D( J ) = REAL( J )
131         E( J ) = 0.0
132         I1( J ) = J
133         I2( J ) = J
134         TAU( J ) = 1.
135   30 CONTINUE
136      OK = .TRUE.
137      NT = 0
138*
139*     Test error exits for the ST path.
140*
141      IF( LSAMEN( 2, C2, 'ST' ) ) THEN
142*
143*        SSYTRD
144*
145         SRNAMT = 'SSYTRD'
146         INFOT = 1
147         CALL SSYTRD( '/', 0, A, 1, D, E, TAU, W, 1, INFO )
148         CALL CHKXER( 'SSYTRD', INFOT, NOUT, LERR, OK )
149         INFOT = 2
150         CALL SSYTRD( 'U', -1, A, 1, D, E, TAU, W, 1, INFO )
151         CALL CHKXER( 'SSYTRD', INFOT, NOUT, LERR, OK )
152         INFOT = 4
153         CALL SSYTRD( 'U', 2, A, 1, D, E, TAU, W, 1, INFO )
154         CALL CHKXER( 'SSYTRD', INFOT, NOUT, LERR, OK )
155         INFOT = 9
156         CALL SSYTRD( 'U', 0, A, 1, D, E, TAU, W, 0, INFO )
157         CALL CHKXER( 'SSYTRD', INFOT, NOUT, LERR, OK )
158         NT = NT + 4
159*
160*        SSYTRD_2STAGE
161*
162         SRNAMT = 'SSYTRD_2STAGE'
163         INFOT = 1
164         CALL SSYTRD_2STAGE( '/', 'U', 0, A, 1, D, E, TAU,
165     $                                  C, 1, W, 1, INFO )
166         CALL CHKXER( 'SSYTRD_2STAGE', INFOT, NOUT, LERR, OK )
167         INFOT = 1
168         CALL SSYTRD_2STAGE( 'H', 'U', 0, A, 1, D, E, TAU,
169     $                                  C, 1, W, 1, INFO )
170         CALL CHKXER( 'SSYTRD_2STAGE', INFOT, NOUT, LERR, OK )
171         INFOT = 2
172         CALL SSYTRD_2STAGE( 'N', '/', 0, A, 1, D, E, TAU,
173     $                                  C, 1, W, 1, INFO )
174         CALL CHKXER( 'SSYTRD_2STAGE', INFOT, NOUT, LERR, OK )
175         INFOT = 3
176         CALL SSYTRD_2STAGE( 'N', 'U', -1, A, 1, D, E, TAU,
177     $                                  C, 1, W, 1, INFO )
178         CALL CHKXER( 'SSYTRD_2STAGE', INFOT, NOUT, LERR, OK )
179         INFOT = 5
180         CALL SSYTRD_2STAGE( 'N', 'U', 2, A, 1, D, E, TAU,
181     $                                  C, 1, W, 1, INFO )
182         CALL CHKXER( 'SSYTRD_2STAGE', INFOT, NOUT, LERR, OK )
183         INFOT = 10
184         CALL SSYTRD_2STAGE( 'N', 'U', 0, A, 1, D, E, TAU,
185     $                                  C, 0, W, 1, INFO )
186         CALL CHKXER( 'SSYTRD_2STAGE', INFOT, NOUT, LERR, OK )
187         INFOT = 12
188         CALL SSYTRD_2STAGE( 'N', 'U', 0, A, 1, D, E, TAU,
189     $                                  C, 1, W, 0, INFO )
190         CALL CHKXER( 'SSYTRD_2STAGE', INFOT, NOUT, LERR, OK )
191         NT = NT + 7
192*
193*        SSYTRD_SY2SB
194*
195         SRNAMT = 'SSYTRD_SY2SB'
196         INFOT = 1
197         CALL SSYTRD_SY2SB( '/', 0, 0, A, 1, C, 1, TAU, W, 1, INFO )
198         CALL CHKXER( 'SSYTRD_SY2SB', INFOT, NOUT, LERR, OK )
199         INFOT = 2
200         CALL SSYTRD_SY2SB( 'U', -1, 0, A, 1, C, 1, TAU, W, 1, INFO )
201         CALL CHKXER( 'SSYTRD_SY2SB', INFOT, NOUT, LERR, OK )
202         INFOT = 3
203         CALL SSYTRD_SY2SB( 'U', 0, -1, A, 1, C, 1, TAU, W, 1, INFO )
204         CALL CHKXER( 'SSYTRD_SY2SB', INFOT, NOUT, LERR, OK )
205         INFOT = 5
206         CALL SSYTRD_SY2SB( 'U', 2, 0, A, 1, C, 1, TAU, W, 1, INFO )
207         CALL CHKXER( 'SSYTRD_SY2SB', INFOT, NOUT, LERR, OK )
208         INFOT = 7
209         CALL SSYTRD_SY2SB( 'U', 0, 2, A, 1, C, 1, TAU, W, 1, INFO )
210         CALL CHKXER( 'SSYTRD_SY2SB', INFOT, NOUT, LERR, OK )
211         INFOT = 10
212         CALL SSYTRD_SY2SB( 'U', 0, 0, A, 1, C, 1, TAU, W, 0, INFO )
213         CALL CHKXER( 'SSYTRD_SY2SB', INFOT, NOUT, LERR, OK )
214         NT = NT + 6
215*
216*        SSYTRD_SB2ST
217*
218         SRNAMT = 'SSYTRD_SB2ST'
219         INFOT = 1
220         CALL SSYTRD_SB2ST( '/', 'N', 'U', 0, 0, A, 1, D, E,
221     $                                    C, 1, W, 1, INFO )
222         CALL CHKXER( 'SSYTRD_SB2ST', INFOT, NOUT, LERR, OK )
223         INFOT = 2
224         CALL SSYTRD_SB2ST( 'Y', '/', 'U', 0, 0, A, 1, D, E,
225     $                                    C, 1, W, 1, INFO )
226         CALL CHKXER( 'SSYTRD_SB2ST', INFOT, NOUT, LERR, OK )
227         INFOT = 2
228         CALL SSYTRD_SB2ST( 'Y', 'H', 'U', 0, 0, A, 1, D, E,
229     $                                    C, 1, W, 1, INFO )
230         CALL CHKXER( 'SSYTRD_SB2ST', INFOT, NOUT, LERR, OK )
231         INFOT = 3
232         CALL SSYTRD_SB2ST( 'Y', 'N', '/', 0, 0, A, 1, D, E,
233     $                                    C, 1, W, 1, INFO )
234         CALL CHKXER( 'SSYTRD_SB2ST', INFOT, NOUT, LERR, OK )
235         INFOT = 4
236         CALL SSYTRD_SB2ST( 'Y', 'N', 'U', -1, 0, A, 1, D, E,
237     $                                    C, 1, W, 1, INFO )
238         CALL CHKXER( 'SSYTRD_SB2ST', INFOT, NOUT, LERR, OK )
239         INFOT = 5
240         CALL SSYTRD_SB2ST( 'Y', 'N', 'U', 0, -1, A, 1, D, E,
241     $                                    C, 1, W, 1, INFO )
242         CALL CHKXER( 'SSYTRD_SB2ST', INFOT, NOUT, LERR, OK )
243         INFOT = 7
244         CALL SSYTRD_SB2ST( 'Y', 'N', 'U', 0, 1, A, 1, D, E,
245     $                                    C, 1, W, 1, INFO )
246         CALL CHKXER( 'SSYTRD_SB2ST', INFOT, NOUT, LERR, OK )
247         INFOT = 11
248         CALL SSYTRD_SB2ST( 'Y', 'N', 'U', 0, 0, A, 1, D, E,
249     $                                    C, 0, W, 1, INFO )
250         CALL CHKXER( 'SSYTRD_SB2ST', INFOT, NOUT, LERR, OK )
251         INFOT = 13
252         CALL SSYTRD_SB2ST( 'Y', 'N', 'U', 0, 0, A, 1, D, E,
253     $                                    C, 1, W, 0, INFO )
254         CALL CHKXER( 'SSYTRD_SB2ST', INFOT, NOUT, LERR, OK )
255         NT = NT + 9
256*
257*        SORGTR
258*
259         SRNAMT = 'SORGTR'
260         INFOT = 1
261         CALL SORGTR( '/', 0, A, 1, TAU, W, 1, INFO )
262         CALL CHKXER( 'SORGTR', INFOT, NOUT, LERR, OK )
263         INFOT = 2
264         CALL SORGTR( 'U', -1, A, 1, TAU, W, 1, INFO )
265         CALL CHKXER( 'SORGTR', INFOT, NOUT, LERR, OK )
266         INFOT = 4
267         CALL SORGTR( 'U', 2, A, 1, TAU, W, 1, INFO )
268         CALL CHKXER( 'SORGTR', INFOT, NOUT, LERR, OK )
269         INFOT = 7
270         CALL SORGTR( 'U', 3, A, 3, TAU, W, 1, INFO )
271         CALL CHKXER( 'SORGTR', INFOT, NOUT, LERR, OK )
272         NT = NT + 4
273*
274*        SORMTR
275*
276         SRNAMT = 'SORMTR'
277         INFOT = 1
278         CALL SORMTR( '/', 'U', 'N', 0, 0, A, 1, TAU, C, 1, W, 1, INFO )
279         CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
280         INFOT = 2
281         CALL SORMTR( 'L', '/', 'N', 0, 0, A, 1, TAU, C, 1, W, 1, INFO )
282         CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
283         INFOT = 3
284         CALL SORMTR( 'L', 'U', '/', 0, 0, A, 1, TAU, C, 1, W, 1, INFO )
285         CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
286         INFOT = 4
287         CALL SORMTR( 'L', 'U', 'N', -1, 0, A, 1, TAU, C, 1, W, 1,
288     $                INFO )
289         CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
290         INFOT = 5
291         CALL SORMTR( 'L', 'U', 'N', 0, -1, A, 1, TAU, C, 1, W, 1,
292     $                INFO )
293         CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
294         INFOT = 7
295         CALL SORMTR( 'L', 'U', 'N', 2, 0, A, 1, TAU, C, 2, W, 1, INFO )
296         CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
297         INFOT = 7
298         CALL SORMTR( 'R', 'U', 'N', 0, 2, A, 1, TAU, C, 1, W, 1, INFO )
299         CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
300         INFOT = 10
301         CALL SORMTR( 'L', 'U', 'N', 2, 0, A, 2, TAU, C, 1, W, 1, INFO )
302         CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
303         INFOT = 12
304         CALL SORMTR( 'L', 'U', 'N', 0, 2, A, 1, TAU, C, 1, W, 1, INFO )
305         CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
306         INFOT = 12
307         CALL SORMTR( 'R', 'U', 'N', 2, 0, A, 1, TAU, C, 2, W, 1, INFO )
308         CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
309         NT = NT + 10
310*
311*        SSPTRD
312*
313         SRNAMT = 'SSPTRD'
314         INFOT = 1
315         CALL SSPTRD( '/', 0, A, D, E, TAU, INFO )
316         CALL CHKXER( 'SSPTRD', INFOT, NOUT, LERR, OK )
317         INFOT = 2
318         CALL SSPTRD( 'U', -1, A, D, E, TAU, INFO )
319         CALL CHKXER( 'SSPTRD', INFOT, NOUT, LERR, OK )
320         NT = NT + 2
321*
322*        SOPGTR
323*
324         SRNAMT = 'SOPGTR'
325         INFOT = 1
326         CALL SOPGTR( '/', 0, A, TAU, Z, 1, W, INFO )
327         CALL CHKXER( 'SOPGTR', INFOT, NOUT, LERR, OK )
328         INFOT = 2
329         CALL SOPGTR( 'U', -1, A, TAU, Z, 1, W, INFO )
330         CALL CHKXER( 'SOPGTR', INFOT, NOUT, LERR, OK )
331         INFOT = 6
332         CALL SOPGTR( 'U', 2, A, TAU, Z, 1, W, INFO )
333         CALL CHKXER( 'SOPGTR', INFOT, NOUT, LERR, OK )
334         NT = NT + 3
335*
336*        SOPMTR
337*
338         SRNAMT = 'SOPMTR'
339         INFOT = 1
340         CALL SOPMTR( '/', 'U', 'N', 0, 0, A, TAU, C, 1, W, INFO )
341         CALL CHKXER( 'SOPMTR', INFOT, NOUT, LERR, OK )
342         INFOT = 2
343         CALL SOPMTR( 'L', '/', 'N', 0, 0, A, TAU, C, 1, W, INFO )
344         CALL CHKXER( 'SOPMTR', INFOT, NOUT, LERR, OK )
345         INFOT = 3
346         CALL SOPMTR( 'L', 'U', '/', 0, 0, A, TAU, C, 1, W, INFO )
347         CALL CHKXER( 'SOPMTR', INFOT, NOUT, LERR, OK )
348         INFOT = 4
349         CALL SOPMTR( 'L', 'U', 'N', -1, 0, A, TAU, C, 1, W, INFO )
350         CALL CHKXER( 'SOPMTR', INFOT, NOUT, LERR, OK )
351         INFOT = 5
352         CALL SOPMTR( 'L', 'U', 'N', 0, -1, A, TAU, C, 1, W, INFO )
353         CALL CHKXER( 'SOPMTR', INFOT, NOUT, LERR, OK )
354         INFOT = 9
355         CALL SOPMTR( 'L', 'U', 'N', 2, 0, A, TAU, C, 1, W, INFO )
356         CALL CHKXER( 'SOPMTR', INFOT, NOUT, LERR, OK )
357         NT = NT + 6
358*
359*        SPTEQR
360*
361         SRNAMT = 'SPTEQR'
362         INFOT = 1
363         CALL SPTEQR( '/', 0, D, E, Z, 1, W, INFO )
364         CALL CHKXER( 'SPTEQR', INFOT, NOUT, LERR, OK )
365         INFOT = 2
366         CALL SPTEQR( 'N', -1, D, E, Z, 1, W, INFO )
367         CALL CHKXER( 'SPTEQR', INFOT, NOUT, LERR, OK )
368         INFOT = 6
369         CALL SPTEQR( 'V', 2, D, E, Z, 1, W, INFO )
370         CALL CHKXER( 'SPTEQR', INFOT, NOUT, LERR, OK )
371         NT = NT + 3
372*
373*        SSTEBZ
374*
375         SRNAMT = 'SSTEBZ'
376         INFOT = 1
377         CALL SSTEBZ( '/', 'E', 0, 0.0, 1.0, 1, 0, 0.0, D, E, M, NSPLIT,
378     $                X, I1, I2, W, IW, INFO )
379         CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
380         INFOT = 2
381         CALL SSTEBZ( 'A', '/', 0, 0.0, 0.0, 0, 0, 0.0, D, E, M, NSPLIT,
382     $                X, I1, I2, W, IW, INFO )
383         CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
384         INFOT = 3
385         CALL SSTEBZ( 'A', 'E', -1, 0.0, 0.0, 0, 0, 0.0, D, E, M,
386     $                NSPLIT, X, I1, I2, W, IW, INFO )
387         CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
388         INFOT = 5
389         CALL SSTEBZ( 'V', 'E', 0, 0.0, 0.0, 0, 0, 0.0, D, E, M, NSPLIT,
390     $                X, I1, I2, W, IW, INFO )
391         CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
392         INFOT = 6
393         CALL SSTEBZ( 'I', 'E', 0, 0.0, 0.0, 0, 0, 0.0, D, E, M, NSPLIT,
394     $                X, I1, I2, W, IW, INFO )
395         CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
396         INFOT = 6
397         CALL SSTEBZ( 'I', 'E', 1, 0.0, 0.0, 2, 1, 0.0, D, E, M, NSPLIT,
398     $                X, I1, I2, W, IW, INFO )
399         CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
400         INFOT = 7
401         CALL SSTEBZ( 'I', 'E', 1, 0.0, 0.0, 1, 0, 0.0, D, E, M, NSPLIT,
402     $                X, I1, I2, W, IW, INFO )
403         CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
404         INFOT = 7
405         CALL SSTEBZ( 'I', 'E', 1, 0.0, 0.0, 1, 2, 0.0, D, E, M, NSPLIT,
406     $                X, I1, I2, W, IW, INFO )
407         CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
408         NT = NT + 8
409*
410*        SSTEIN
411*
412         SRNAMT = 'SSTEIN'
413         INFOT = 1
414         CALL SSTEIN( -1, D, E, 0, X, I1, I2, Z, 1, W, IW, I3, INFO )
415         CALL CHKXER( 'SSTEIN', INFOT, NOUT, LERR, OK )
416         INFOT = 4
417         CALL SSTEIN( 0, D, E, -1, X, I1, I2, Z, 1, W, IW, I3, INFO )
418         CALL CHKXER( 'SSTEIN', INFOT, NOUT, LERR, OK )
419         INFOT = 4
420         CALL SSTEIN( 0, D, E, 1, X, I1, I2, Z, 1, W, IW, I3, INFO )
421         CALL CHKXER( 'SSTEIN', INFOT, NOUT, LERR, OK )
422         INFOT = 9
423         CALL SSTEIN( 2, D, E, 0, X, I1, I2, Z, 1, W, IW, I3, INFO )
424         CALL CHKXER( 'SSTEIN', INFOT, NOUT, LERR, OK )
425         NT = NT + 4
426*
427*        SSTEQR
428*
429         SRNAMT = 'SSTEQR'
430         INFOT = 1
431         CALL SSTEQR( '/', 0, D, E, Z, 1, W, INFO )
432         CALL CHKXER( 'SSTEQR', INFOT, NOUT, LERR, OK )
433         INFOT = 2
434         CALL SSTEQR( 'N', -1, D, E, Z, 1, W, INFO )
435         CALL CHKXER( 'SSTEQR', INFOT, NOUT, LERR, OK )
436         INFOT = 6
437         CALL SSTEQR( 'V', 2, D, E, Z, 1, W, INFO )
438         CALL CHKXER( 'SSTEQR', INFOT, NOUT, LERR, OK )
439         NT = NT + 3
440*
441*        SSTERF
442*
443         SRNAMT = 'SSTERF'
444         INFOT = 1
445         CALL SSTERF( -1, D, E, INFO )
446         CALL CHKXER( 'SSTERF', INFOT, NOUT, LERR, OK )
447         NT = NT + 1
448*
449*        SSTEDC
450*
451         SRNAMT = 'SSTEDC'
452         INFOT = 1
453         CALL SSTEDC( '/', 0, D, E, Z, 1, W, 1, IW, 1, INFO )
454         CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
455         INFOT = 2
456         CALL SSTEDC( 'N', -1, D, E, Z, 1, W, 1, IW, 1, INFO )
457         CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
458         INFOT = 6
459         CALL SSTEDC( 'V', 2, D, E, Z, 1, W, 23, IW, 28, INFO )
460         CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
461         INFOT = 8
462         CALL SSTEDC( 'N', 1, D, E, Z, 1, W, 0, IW, 1, INFO )
463         CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
464         INFOT = 8
465         CALL SSTEDC( 'I', 2, D, E, Z, 2, W, 0, IW, 12, INFO )
466         CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
467         INFOT = 8
468         CALL SSTEDC( 'V', 2, D, E, Z, 2, W, 0, IW, 28, INFO )
469         CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
470         INFOT = 10
471         CALL SSTEDC( 'N', 1, D, E, Z, 1, W, 1, IW, 0, INFO )
472         CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
473         INFOT = 10
474         CALL SSTEDC( 'I', 2, D, E, Z, 2, W, 19, IW, 0, INFO )
475         CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
476         INFOT = 10
477         CALL SSTEDC( 'V', 2, D, E, Z, 2, W, 23, IW, 0, INFO )
478         CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
479         NT = NT + 9
480*
481*        SSTEVD
482*
483         SRNAMT = 'SSTEVD'
484         INFOT = 1
485         CALL SSTEVD( '/', 0, D, E, Z, 1, W, 1, IW, 1, INFO )
486         CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
487         INFOT = 2
488         CALL SSTEVD( 'N', -1, D, E, Z, 1, W, 1, IW, 1, INFO )
489         CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
490         INFOT = 6
491         CALL SSTEVD( 'V', 2, D, E, Z, 1, W, 19, IW, 12, INFO )
492         CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
493         INFOT = 8
494         CALL SSTEVD( 'N', 1, D, E, Z, 1, W, 0, IW, 1, INFO )
495         CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
496         INFOT = 8
497         CALL SSTEVD( 'V', 2, D, E, Z, 2, W, 12, IW, 12, INFO )
498         CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
499         INFOT = 10
500         CALL SSTEVD( 'N', 0, D, E, Z, 1, W, 1, IW, 0, INFO )
501         CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
502         INFOT = 10
503         CALL SSTEVD( 'V', 2, D, E, Z, 2, W, 19, IW, 11, INFO )
504         CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
505         NT = NT + 7
506*
507*        SSTEV
508*
509         SRNAMT = 'SSTEV '
510         INFOT = 1
511         CALL SSTEV( '/', 0, D, E, Z, 1, W, INFO )
512         CALL CHKXER( 'SSTEV ', INFOT, NOUT, LERR, OK )
513         INFOT = 2
514         CALL SSTEV( 'N', -1, D, E, Z, 1, W, INFO )
515         CALL CHKXER( 'SSTEV ', INFOT, NOUT, LERR, OK )
516         INFOT = 6
517         CALL SSTEV( 'V', 2, D, E, Z, 1, W, INFO )
518         CALL CHKXER( 'SSTEV ', INFOT, NOUT, LERR, OK )
519         NT = NT + 3
520*
521*        SSTEVX
522*
523         SRNAMT = 'SSTEVX'
524         INFOT = 1
525         CALL SSTEVX( '/', 'A', 0, D, E, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
526     $                1, W, IW, I3, INFO )
527         CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
528         INFOT = 2
529         CALL SSTEVX( 'N', '/', 0, D, E, 0.0, 1.0, 1, 0, 0.0, M, X, Z,
530     $                1, W, IW, I3, INFO )
531         CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
532         INFOT = 3
533         CALL SSTEVX( 'N', 'A', -1, D, E, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
534     $                1, W, IW, I3, INFO )
535         CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
536         INFOT = 7
537         CALL SSTEVX( 'N', 'V', 1, D, E, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
538     $                1, W, IW, I3, INFO )
539         CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
540         INFOT = 8
541         CALL SSTEVX( 'N', 'I', 1, D, E, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
542     $                1, W, IW, I3, INFO )
543         CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
544         INFOT = 8
545         CALL SSTEVX( 'N', 'I', 1, D, E, 0.0, 0.0, 2, 1, 0.0, M, X, Z,
546     $                1, W, IW, I3, INFO )
547         CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
548         INFOT = 9
549         CALL SSTEVX( 'N', 'I', 2, D, E, 0.0, 0.0, 2, 1, 0.0, M, X, Z,
550     $                1, W, IW, I3, INFO )
551         CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
552         INFOT = 9
553         CALL SSTEVX( 'N', 'I', 1, D, E, 0.0, 0.0, 1, 2, 0.0, M, X, Z,
554     $                1, W, IW, I3, INFO )
555         CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
556         INFOT = 14
557         CALL SSTEVX( 'V', 'A', 2, D, E, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
558     $                1, W, IW, I3, INFO )
559         CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
560         NT = NT + 9
561*
562*        SSTEVR
563*
564         N = 1
565         SRNAMT = 'SSTEVR'
566         INFOT = 1
567         CALL SSTEVR( '/', 'A', 0, D, E, 0.0, 0.0, 1, 1, 0.0, M, R, Z,
568     $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
569         CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
570         INFOT = 2
571         CALL SSTEVR( 'V', '/', 0, D, E, 0.0, 0.0, 1, 1, 0.0, M, R, Z,
572     $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
573         CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
574         INFOT = 3
575         CALL SSTEVR( 'V', 'A', -1, D, E, 0.0, 0.0, 1, 1, 0.0, M, R, Z,
576     $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
577         CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
578         INFOT = 7
579         CALL SSTEVR( 'V', 'V', 1, D, E, 0.0, 0.0, 1, 1, 0.0, M, R, Z,
580     $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
581         CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
582         INFOT = 8
583         CALL SSTEVR( 'V', 'I', 1, D, E, 0.0, 0.0, 0, 1, 0.0, M, W, Z,
584     $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
585         CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
586         INFOT = 9
587         N = 2
588         CALL SSTEVR( 'V', 'I', 2, D, E, 0.0, 0.0, 2, 1, 0.0, M, W, Z,
589     $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
590         CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
591         INFOT = 14
592         N = 1
593         CALL SSTEVR( 'V', 'I', 1, D, E, 0.0, 0.0, 1, 1, 0.0, M, W, Z,
594     $                0, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
595         CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
596         INFOT = 17
597         CALL SSTEVR( 'V', 'I', 1, D, E, 0.0, 0.0, 1, 1, 0.0, M, W, Z,
598     $                1, IW, X, 20*N-1, IW( 2*N+1 ), 10*N, INFO )
599         CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
600         INFOT = 19
601         CALL SSTEVR( 'V', 'I', 1, D, E, 0.0, 0.0, 1, 1, 0.0, M, W, Z,
602     $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N-1, INFO )
603         CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
604         NT = NT + 9
605*
606*        SSYEVD
607*
608         SRNAMT = 'SSYEVD'
609         INFOT = 1
610         CALL SSYEVD( '/', 'U', 0, A, 1, X, W, 1, IW, 1, INFO )
611         CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
612         INFOT = 2
613         CALL SSYEVD( 'N', '/', 0, A, 1, X, W, 1, IW, 1, INFO )
614         CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
615         INFOT = 3
616         CALL SSYEVD( 'N', 'U', -1, A, 1, X, W, 1, IW, 1, INFO )
617         CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
618         INFOT = 5
619         CALL SSYEVD( 'N', 'U', 2, A, 1, X, W, 3, IW, 1, INFO )
620         CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
621         INFOT = 8
622         CALL SSYEVD( 'N', 'U', 1, A, 1, X, W, 0, IW, 1, INFO )
623         CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
624         INFOT = 8
625         CALL SSYEVD( 'N', 'U', 2, A, 2, X, W, 4, IW, 1, INFO )
626         CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
627         INFOT = 8
628         CALL SSYEVD( 'V', 'U', 2, A, 2, X, W, 20, IW, 12, INFO )
629         CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
630         INFOT = 10
631         CALL SSYEVD( 'N', 'U', 1, A, 1, X, W, 1, IW, 0, INFO )
632         CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
633         INFOT = 10
634         CALL SSYEVD( 'N', 'U', 2, A, 2, X, W, 5, IW, 0, INFO )
635         CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
636         INFOT = 10
637         CALL SSYEVD( 'V', 'U', 2, A, 2, X, W, 27, IW, 11, INFO )
638         CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
639         NT = NT + 10
640*
641*        SSYEVD_2STAGE
642*
643         SRNAMT = 'SSYEVD_2STAGE'
644         INFOT = 1
645         CALL SSYEVD_2STAGE( '/', 'U', 0, A, 1, X, W, 1, IW, 1, INFO )
646         CALL CHKXER( 'SSYEVD_2STAGE', INFOT, NOUT, LERR, OK )
647         INFOT = 1
648         CALL SSYEVD_2STAGE( 'V', 'U', 0, A, 1, X, W, 1, IW, 1, INFO )
649         CALL CHKXER( 'SSYEVD_2STAGE', INFOT, NOUT, LERR, OK )
650         INFOT = 2
651         CALL SSYEVD_2STAGE( 'N', '/', 0, A, 1, X, W, 1, IW, 1, INFO )
652         CALL CHKXER( 'SSYEVD_2STAGE', INFOT, NOUT, LERR, OK )
653         INFOT = 3
654         CALL SSYEVD_2STAGE( 'N', 'U', -1, A, 1, X, W, 1, IW, 1, INFO )
655         CALL CHKXER( 'SSYEVD_2STAGE', INFOT, NOUT, LERR, OK )
656         INFOT = 5
657         CALL SSYEVD_2STAGE( 'N', 'U', 2, A, 1, X, W, 3, IW, 1, INFO )
658         CALL CHKXER( 'SSYEVD_2STAGE', INFOT, NOUT, LERR, OK )
659         INFOT = 8
660         CALL SSYEVD_2STAGE( 'N', 'U', 1, A, 1, X, W, 0, IW, 1, INFO )
661         CALL CHKXER( 'SSYEVD_2STAGE', INFOT, NOUT, LERR, OK )
662         INFOT = 8
663         CALL SSYEVD_2STAGE( 'N', 'U', 2, A, 2, X, W, 4, IW, 1, INFO )
664         CALL CHKXER( 'SSYEVD_2STAGE', INFOT, NOUT, LERR, OK )
665*         INFOT = 8
666*         CALL SSYEVD_2STAGE( 'V', 'U', 2, A, 2, X, W, 20, IW, 12, INFO )
667*         CALL CHKXER( 'SSYEVD_2STAGE', INFOT, NOUT, LERR, OK )
668         INFOT = 10
669         CALL SSYEVD_2STAGE( 'N', 'U', 1, A, 1, X, W, 1, IW, 0, INFO )
670         CALL CHKXER( 'SSYEVD_2STAGE', INFOT, NOUT, LERR, OK )
671         INFOT = 10
672         CALL SSYEVD_2STAGE( 'N', 'U', 2, A, 2, X, W, 25, IW, 0, INFO )
673         CALL CHKXER( 'SSYEVD_2STAGE', INFOT, NOUT, LERR, OK )
674*         INFOT = 10
675*         CALL SSYEVD_2STAGE( 'V', 'U', 2, A, 2, X, W, 27, IW, 11, INFO )
676*         CALL CHKXER( 'SSYEVD_2STAGE', INFOT, NOUT, LERR, OK )
677         NT = NT + 9
678*
679*        SSYEVR
680*
681         SRNAMT = 'SSYEVR'
682         N = 1
683         INFOT = 1
684         CALL SSYEVR( '/', 'A', 'U', 0, A, 1, 0.0, 0.0, 1, 1, 0.0, M, R,
685     $                Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
686         CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
687         INFOT = 2
688         CALL SSYEVR( 'V', '/', 'U', 0, A, 1, 0.0, 0.0, 1, 1, 0.0, M, R,
689     $                Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
690         CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
691         INFOT = 3
692         CALL SSYEVR( 'V', 'A', '/', -1, A, 1, 0.0, 0.0, 1, 1, 0.0, M,
693     $                R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
694         CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
695         INFOT = 4
696         CALL SSYEVR( 'V', 'A', 'U', -1, A, 1, 0.0, 0.0, 1, 1, 0.0, M,
697     $                R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
698         CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
699         INFOT = 6
700         CALL SSYEVR( 'V', 'A', 'U', 2, A, 1, 0.0, 0.0, 1, 1, 0.0, M, R,
701     $                Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
702         CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
703         INFOT = 8
704         CALL SSYEVR( 'V', 'V', 'U', 1, A, 1, 0.0E0, 0.0E0, 1, 1, 0.0,
705     $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
706         CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
707         INFOT = 9
708         CALL SSYEVR( 'V', 'I', 'U', 1, A, 1, 0.0E0, 0.0E0, 0, 1, 0.0,
709     $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
710         CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
711         INFOT = 10
712*
713         CALL SSYEVR( 'V', 'I', 'U', 2, A, 2, 0.0E0, 0.0E0, 2, 1, 0.0,
714     $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
715         CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
716         INFOT = 15
717         CALL SSYEVR( 'V', 'I', 'U', 1, A, 1, 0.0E0, 0.0E0, 1, 1, 0.0,
718     $                M, R, Z, 0, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
719         CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
720         INFOT = 18
721         CALL SSYEVR( 'V', 'I', 'U', 1, A, 1, 0.0E0, 0.0E0, 1, 1, 0.0,
722     $                M, R, Z, 1, IW, Q, 26*N-1, IW( 2*N+1 ), 10*N,
723     $                INFO )
724         CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
725         INFOT = 20
726         CALL SSYEVR( 'V', 'I', 'U', 1, A, 1, 0.0E0, 0.0E0, 1, 1, 0.0,
727     $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N-1,
728     $                INFO )
729         CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
730         NT = NT + 11
731*
732*        SSYEVR_2STAGE
733*
734         SRNAMT = 'SSYEVR_2STAGE'
735         N = 1
736         INFOT = 1
737         CALL SSYEVR_2STAGE( '/', 'A', 'U', 0, A, 1,
738     $                0.0E0, 0.0E0, 1, 1, 0.0E0,
739     $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
740         CALL CHKXER( 'SSYEVR_2STAGE', INFOT, NOUT, LERR, OK )
741         INFOT = 1
742         CALL SSYEVR_2STAGE( 'V', 'A', 'U', 0, A, 1,
743     $                0.0E0, 0.0E0, 1, 1, 0.0E0,
744     $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
745         CALL CHKXER( 'SSYEVR_2STAGE', INFOT, NOUT, LERR, OK )
746         INFOT = 2
747         CALL SSYEVR_2STAGE( 'N', '/', 'U', 0, A, 1,
748     $                0.0E0, 0.0E0, 1, 1, 0.0E0,
749     $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
750         CALL CHKXER( 'SSYEVR_2STAGE', INFOT, NOUT, LERR, OK )
751         INFOT = 3
752         CALL SSYEVR_2STAGE( 'N', 'A', '/', -1, A, 1,
753     $                0.0E0, 0.0E0, 1, 1, 0.0E0,
754     $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
755         CALL CHKXER( 'SSYEVR_2STAGE', INFOT, NOUT, LERR, OK )
756         INFOT = 4
757         CALL SSYEVR_2STAGE( 'N', 'A', 'U', -1, A, 1,
758     $                0.0E0, 0.0E0, 1, 1, 0.0E0,
759     $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
760         CALL CHKXER( 'SSYEVR_2STAGE', INFOT, NOUT, LERR, OK )
761         INFOT = 6
762         CALL SSYEVR_2STAGE( 'N', 'A', 'U', 2, A, 1,
763     $                0.0E0, 0.0E0, 1, 1, 0.0E0,
764     $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
765         CALL CHKXER( 'SSYEVR_2STAGE', INFOT, NOUT, LERR, OK )
766         INFOT = 8
767         CALL SSYEVR_2STAGE( 'N', 'V', 'U', 1, A, 1,
768     $                0.0E0, 0.0E0, 1, 1, 0.0E0,
769     $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
770         CALL CHKXER( 'SSYEVR_2STAGE', INFOT, NOUT, LERR, OK )
771         INFOT = 9
772         CALL SSYEVR_2STAGE( 'N', 'I', 'U', 1, A, 1,
773     $                0.0E0, 0.0E0, 0, 1, 0.0E0,
774     $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
775         CALL CHKXER( 'SSYEVR_2STAGE', INFOT, NOUT, LERR, OK )
776         INFOT = 10
777         CALL SSYEVR_2STAGE( 'N', 'I', 'U', 2, A, 2,
778     $                0.0E0, 0.0E0, 2, 1, 0.0E0,
779     $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
780         CALL CHKXER( 'SSYEVR_2STAGE', INFOT, NOUT, LERR, OK )
781         INFOT = 15
782         CALL SSYEVR_2STAGE( 'N', 'I', 'U', 1, A, 1,
783     $                0.0E0, 0.0E0, 1, 1, 0.0E0,
784     $                M, R, Z, 0, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
785         CALL CHKXER( 'SSYEVR_2STAGE', INFOT, NOUT, LERR, OK )
786         INFOT = 18
787         CALL SSYEVR_2STAGE( 'N', 'I', 'U', 1, A, 1,
788     $                0.0E0, 0.0E0, 1, 1, 0.0E0,
789     $                M, R, Z, 1, IW, Q, 0, IW( 2*N+1 ), 10*N,
790     $                INFO )
791         CALL CHKXER( 'SSYEVR_2STAGE', INFOT, NOUT, LERR, OK )
792         INFOT = 20
793         CALL SSYEVR_2STAGE( 'N', 'I', 'U', 1, A, 1,
794     $                0.0E0, 0.0E0, 1, 1, 0.0E0,
795     $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 0,
796     $                INFO )
797         CALL CHKXER( 'SSYEVR_2STAGE', INFOT, NOUT, LERR, OK )
798         NT = NT + 12
799*
800*        SSYEV
801*
802         SRNAMT = 'SSYEV '
803         INFOT = 1
804         CALL SSYEV( '/', 'U', 0, A, 1, X, W, 1, INFO )
805         CALL CHKXER( 'SSYEV ', INFOT, NOUT, LERR, OK )
806         INFOT = 2
807         CALL SSYEV( 'N', '/', 0, A, 1, X, W, 1, INFO )
808         CALL CHKXER( 'SSYEV ', INFOT, NOUT, LERR, OK )
809         INFOT = 3
810         CALL SSYEV( 'N', 'U', -1, A, 1, X, W, 1, INFO )
811         CALL CHKXER( 'SSYEV ', INFOT, NOUT, LERR, OK )
812         INFOT = 5
813         CALL SSYEV( 'N', 'U', 2, A, 1, X, W, 3, INFO )
814         CALL CHKXER( 'SSYEV ', INFOT, NOUT, LERR, OK )
815         INFOT = 8
816         CALL SSYEV( 'N', 'U', 1, A, 1, X, W, 1, INFO )
817         CALL CHKXER( 'SSYEV ', INFOT, NOUT, LERR, OK )
818         NT = NT + 5
819*
820*        SSYEV_2STAGE
821*
822         SRNAMT = 'SSYEV_2STAGE '
823         INFOT = 1
824         CALL SSYEV_2STAGE( '/', 'U', 0, A, 1, X, W, 1, INFO )
825         CALL CHKXER( 'SSYEV_2STAGE ', INFOT, NOUT, LERR, OK )
826         INFOT = 1
827         CALL SSYEV_2STAGE( 'V', 'U', 0, A, 1, X, W, 1, INFO )
828         CALL CHKXER( 'SSYEV_2STAGE ', INFOT, NOUT, LERR, OK )
829         INFOT = 2
830         CALL SSYEV_2STAGE( 'N', '/', 0, A, 1, X, W, 1, INFO )
831         CALL CHKXER( 'SSYEV_2STAGE ', INFOT, NOUT, LERR, OK )
832         INFOT = 3
833         CALL SSYEV_2STAGE( 'N', 'U', -1, A, 1, X, W, 1, INFO )
834         CALL CHKXER( 'SSYEV_2STAGE ', INFOT, NOUT, LERR, OK )
835         INFOT = 5
836         CALL SSYEV_2STAGE( 'N', 'U', 2, A, 1, X, W, 3, INFO )
837         CALL CHKXER( 'SSYEV_2STAGE ', INFOT, NOUT, LERR, OK )
838         INFOT = 8
839         CALL SSYEV_2STAGE( 'N', 'U', 1, A, 1, X, W, 1, INFO )
840         CALL CHKXER( 'SSYEV_2STAGE ', INFOT, NOUT, LERR, OK )
841         NT = NT + 6
842*
843*        SSYEVX
844*
845         SRNAMT = 'SSYEVX'
846         INFOT = 1
847         CALL SSYEVX( '/', 'A', 'U', 0, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
848     $                Z, 1, W, 1, IW, I3, INFO )
849         CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
850         INFOT = 2
851         CALL SSYEVX( 'N', '/', 'U', 0, A, 1, 0.0, 1.0, 1, 0, 0.0, M, X,
852     $                Z, 1, W, 1, IW, I3, INFO )
853         CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
854         INFOT = 3
855         CALL SSYEVX( 'N', 'A', '/', 0, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
856     $                Z, 1, W, 1, IW, I3, INFO )
857         INFOT = 4
858         CALL SSYEVX( 'N', 'A', 'U', -1, A, 1, 0.0, 0.0, 0, 0, 0.0, M,
859     $                X, Z, 1, W, 1, IW, I3, INFO )
860         CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
861         INFOT = 6
862         CALL SSYEVX( 'N', 'A', 'U', 2, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
863     $                Z, 1, W, 16, IW, I3, INFO )
864         CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
865         INFOT = 8
866         CALL SSYEVX( 'N', 'V', 'U', 1, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
867     $                Z, 1, W, 8, IW, I3, INFO )
868         CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
869         INFOT = 9
870         CALL SSYEVX( 'N', 'I', 'U', 1, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
871     $                Z, 1, W, 8, IW, I3, INFO )
872         CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
873         INFOT = 9
874         CALL SSYEVX( 'N', 'I', 'U', 1, A, 1, 0.0, 0.0, 2, 1, 0.0, M, X,
875     $                Z, 1, W, 8, IW, I3, INFO )
876         CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
877         INFOT = 10
878         CALL SSYEVX( 'N', 'I', 'U', 2, A, 2, 0.0, 0.0, 2, 1, 0.0, M, X,
879     $                Z, 1, W, 16, IW, I3, INFO )
880         CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
881         INFOT = 10
882         CALL SSYEVX( 'N', 'I', 'U', 1, A, 1, 0.0, 0.0, 1, 2, 0.0, M, X,
883     $                Z, 1, W, 8, IW, I3, INFO )
884         CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
885         INFOT = 15
886         CALL SSYEVX( 'V', 'A', 'U', 2, A, 2, 0.0, 0.0, 0, 0, 0.0, M, X,
887     $                Z, 1, W, 16, IW, I3, INFO )
888         CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
889         INFOT = 17
890         CALL SSYEVX( 'V', 'A', 'U', 1, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
891     $                Z, 1, W, 0, IW, I3, INFO )
892         CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
893         NT = NT + 12
894*
895*        SSYEVX_2STAGE
896*
897         SRNAMT = 'SSYEVX_2STAGE'
898         INFOT = 1
899         CALL SSYEVX_2STAGE( '/', 'A', 'U', 0, A, 1,
900     $                 0.0E0, 0.0E0, 0, 0, 0.0E0,
901     $                M, X, Z, 1, W, 1, IW, I3, INFO )
902         CALL CHKXER( 'SSYEVX_2STAGE', INFOT, NOUT, LERR, OK )
903         INFOT = 1
904         CALL SSYEVX_2STAGE( 'V', 'A', 'U', 0, A, 1,
905     $                 0.0E0, 0.0E0, 0, 0, 0.0E0,
906     $                M, X, Z, 1, W, 1, IW, I3, INFO )
907         CALL CHKXER( 'SSYEVX_2STAGE', INFOT, NOUT, LERR, OK )
908         INFOT = 2
909         CALL SSYEVX_2STAGE( 'N', '/', 'U', 0, A, 1,
910     $                0.0E0, 1.0E0, 1, 0, 0.0E0,
911     $                M, X, Z, 1, W, 1, IW, I3, INFO )
912         CALL CHKXER( 'SSYEVX_2STAGE', INFOT, NOUT, LERR, OK )
913         INFOT = 3
914         CALL SSYEVX_2STAGE( 'N', 'A', '/', 0, A, 1,
915     $                0.0E0, 0.0E0, 0, 0, 0.0E0,
916     $                M, X, Z, 1, W, 1, IW, I3, INFO )
917         INFOT = 4
918         CALL SSYEVX_2STAGE( 'N', 'A', 'U', -1, A, 1,
919     $                0.0E0, 0.0E0, 0, 0, 0.0E0,
920     $                M, X, Z, 1, W, 1, IW, I3, INFO )
921         CALL CHKXER( 'SSYEVX_2STAGE', INFOT, NOUT, LERR, OK )
922         INFOT = 6
923         CALL SSYEVX_2STAGE( 'N', 'A', 'U', 2, A, 1,
924     $                0.0E0, 0.0E0, 0, 0, 0.0E0,
925     $                M, X, Z, 1, W, 16, IW, I3, INFO )
926         CALL CHKXER( 'SSYEVX_2STAGE', INFOT, NOUT, LERR, OK )
927         INFOT = 8
928         CALL SSYEVX_2STAGE( 'N', 'V', 'U', 1, A, 1,
929     $                0.0E0, 0.0E0, 0, 0, 0.0E0,
930     $                M, X, Z, 1, W, 8, IW, I3, INFO )
931         CALL CHKXER( 'SSYEVX_2STAGE', INFOT, NOUT, LERR, OK )
932         INFOT = 9
933         CALL SSYEVX_2STAGE( 'N', 'I', 'U', 1, A, 1,
934     $                0.0E0, 0.0E0, 0, 0, 0.0E0,
935     $                M, X, Z, 1, W, 8, IW, I3, INFO )
936         CALL CHKXER( 'SSYEVX_2STAGE', INFOT, NOUT, LERR, OK )
937         INFOT = 9
938         CALL SSYEVX_2STAGE( 'N', 'I', 'U', 1, A, 1,
939     $                0.0E0, 0.0E0, 2, 1, 0.0E0,
940     $                M, X, Z, 1, W, 8, IW, I3, INFO )
941         CALL CHKXER( 'SSYEVX_2STAGE', INFOT, NOUT, LERR, OK )
942         INFOT = 10
943         CALL SSYEVX_2STAGE( 'N', 'I', 'U', 2, A, 2,
944     $                0.0E0, 0.0E0, 2, 1, 0.0E0,
945     $                M, X, Z, 1, W, 16, IW, I3, INFO )
946         CALL CHKXER( 'SSYEVX_2STAGE', INFOT, NOUT, LERR, OK )
947         INFOT = 10
948         CALL SSYEVX_2STAGE( 'N', 'I', 'U', 1, A, 1,
949     $                0.0E0, 0.0E0, 1, 2, 0.0E0,
950     $                M, X, Z, 1, W, 8, IW, I3, INFO )
951         CALL CHKXER( 'SSYEVX_2STAGE', INFOT, NOUT, LERR, OK )
952         INFOT = 15
953         CALL SSYEVX_2STAGE( 'N', 'A', 'U', 2, A, 2,
954     $                0.0E0, 0.0E0, 0, 0, 0.0E0,
955     $                M, X, Z, 0, W, 16, IW, I3, INFO )
956         CALL CHKXER( 'SSYEVX_2STAGE', INFOT, NOUT, LERR, OK )
957         INFOT = 17
958         CALL SSYEVX_2STAGE( 'N', 'A', 'U', 1, A, 1,
959     $                0.0E0, 0.0E0, 0, 0, 0.0E0,
960     $                M, X, Z, 1, W, 0, IW, I3, INFO )
961         CALL CHKXER( 'SSYEVX_2STAGE', INFOT, NOUT, LERR, OK )
962         NT = NT + 13
963*
964*        SSPEVD
965*
966         SRNAMT = 'SSPEVD'
967         INFOT = 1
968         CALL SSPEVD( '/', 'U', 0, A, X, Z, 1, W, 1, IW, 1, INFO )
969         CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
970         INFOT = 2
971         CALL SSPEVD( 'N', '/', 0, A, X, Z, 1, W, 1, IW, 1, INFO )
972         CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
973         INFOT = 3
974         CALL SSPEVD( 'N', 'U', -1, A, X, Z, 1, W, 1, IW, 1, INFO )
975         CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
976         INFOT = 7
977         CALL SSPEVD( 'V', 'U', 2, A, X, Z, 1, W, 23, IW, 12, INFO )
978         CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
979         INFOT = 9
980         CALL SSPEVD( 'N', 'U', 1, A, X, Z, 1, W, 0, IW, 1, INFO )
981         CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
982         INFOT = 9
983         CALL SSPEVD( 'N', 'U', 2, A, X, Z, 1, W, 3, IW, 1, INFO )
984         CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
985         INFOT = 9
986         CALL SSPEVD( 'V', 'U', 2, A, X, Z, 2, W, 16, IW, 12, INFO )
987         CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
988         INFOT = 11
989         CALL SSPEVD( 'N', 'U', 1, A, X, Z, 1, W, 1, IW, 0, INFO )
990         CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
991         INFOT = 11
992         CALL SSPEVD( 'N', 'U', 2, A, X, Z, 1, W, 4, IW, 0, INFO )
993         CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
994         INFOT = 11
995         CALL SSPEVD( 'V', 'U', 2, A, X, Z, 2, W, 23, IW, 11, INFO )
996         CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
997         NT = NT + 10
998*
999*        SSPEV
1000*
1001         SRNAMT = 'SSPEV '
1002         INFOT = 1
1003         CALL SSPEV( '/', 'U', 0, A, W, Z, 1, X, INFO )
1004         CALL CHKXER( 'SSPEV ', INFOT, NOUT, LERR, OK )
1005         INFOT = 2
1006         CALL SSPEV( 'N', '/', 0, A, W, Z, 1, X, INFO )
1007         CALL CHKXER( 'SSPEV ', INFOT, NOUT, LERR, OK )
1008         INFOT = 3
1009         CALL SSPEV( 'N', 'U', -1, A, W, Z, 1, X, INFO )
1010         CALL CHKXER( 'SSPEV ', INFOT, NOUT, LERR, OK )
1011         INFOT = 7
1012         CALL SSPEV( 'V', 'U', 2, A, W, Z, 1, X, INFO )
1013         CALL CHKXER( 'SSPEV ', INFOT, NOUT, LERR, OK )
1014         NT = NT + 4
1015*
1016*        SSPEVX
1017*
1018         SRNAMT = 'SSPEVX'
1019         INFOT = 1
1020         CALL SSPEVX( '/', 'A', 'U', 0, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
1021     $                1, W, IW, I3, INFO )
1022         CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
1023         INFOT = 2
1024         CALL SSPEVX( 'N', '/', 'U', 0, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
1025     $                1, W, IW, I3, INFO )
1026         CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
1027         INFOT = 3
1028         CALL SSPEVX( 'N', 'A', '/', 0, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
1029     $                1, W, IW, I3, INFO )
1030         INFOT = 4
1031         CALL SSPEVX( 'N', 'A', 'U', -1, A, 0.0, 0.0, 0, 0, 0.0, M, X,
1032     $                Z, 1, W, IW, I3, INFO )
1033         CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
1034         INFOT = 7
1035         CALL SSPEVX( 'N', 'V', 'U', 1, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
1036     $                1, W, IW, I3, INFO )
1037         CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
1038         INFOT = 8
1039         CALL SSPEVX( 'N', 'I', 'U', 1, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
1040     $                1, W, IW, I3, INFO )
1041         CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
1042         INFOT = 8
1043         CALL SSPEVX( 'N', 'I', 'U', 1, A, 0.0, 0.0, 2, 1, 0.0, M, X, Z,
1044     $                1, W, IW, I3, INFO )
1045         CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
1046         INFOT = 9
1047         CALL SSPEVX( 'N', 'I', 'U', 2, A, 0.0, 0.0, 2, 1, 0.0, M, X, Z,
1048     $                1, W, IW, I3, INFO )
1049         CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
1050         INFOT = 9
1051         CALL SSPEVX( 'N', 'I', 'U', 1, A, 0.0, 0.0, 1, 2, 0.0, M, X, Z,
1052     $                1, W, IW, I3, INFO )
1053         CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
1054         INFOT = 14
1055         CALL SSPEVX( 'V', 'A', 'U', 2, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
1056     $                1, W, IW, I3, INFO )
1057         CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
1058         NT = NT + 10
1059*
1060*     Test error exits for the SB path.
1061*
1062      ELSE IF( LSAMEN( 2, C2, 'SB' ) ) THEN
1063*
1064*        SSBTRD
1065*
1066         SRNAMT = 'SSBTRD'
1067         INFOT = 1
1068         CALL SSBTRD( '/', 'U', 0, 0, A, 1, D, E, Z, 1, W, INFO )
1069         CALL CHKXER( 'SSBTRD', INFOT, NOUT, LERR, OK )
1070         INFOT = 2
1071         CALL SSBTRD( 'N', '/', 0, 0, A, 1, D, E, Z, 1, W, INFO )
1072         CALL CHKXER( 'SSBTRD', INFOT, NOUT, LERR, OK )
1073         INFOT = 3
1074         CALL SSBTRD( 'N', 'U', -1, 0, A, 1, D, E, Z, 1, W, INFO )
1075         CALL CHKXER( 'SSBTRD', INFOT, NOUT, LERR, OK )
1076         INFOT = 4
1077         CALL SSBTRD( 'N', 'U', 0, -1, A, 1, D, E, Z, 1, W, INFO )
1078         CALL CHKXER( 'SSBTRD', INFOT, NOUT, LERR, OK )
1079         INFOT = 6
1080         CALL SSBTRD( 'N', 'U', 1, 1, A, 1, D, E, Z, 1, W, INFO )
1081         CALL CHKXER( 'SSBTRD', INFOT, NOUT, LERR, OK )
1082         INFOT = 10
1083         CALL SSBTRD( 'V', 'U', 2, 0, A, 1, D, E, Z, 1, W, INFO )
1084         CALL CHKXER( 'SSBTRD', INFOT, NOUT, LERR, OK )
1085         NT = NT + 6
1086*
1087*        SSYTRD_SB2ST
1088*
1089         SRNAMT = 'SSYTRD_SB2ST'
1090         INFOT = 1
1091         CALL SSYTRD_SB2ST( '/', 'N', 'U', 0, 0, A, 1, D, E,
1092     $                                    C, 1, W, 1, INFO )
1093         CALL CHKXER( 'SSYTRD_SB2ST', INFOT, NOUT, LERR, OK )
1094         INFOT = 2
1095         CALL SSYTRD_SB2ST( 'N', '/', 'U', 0, 0, A, 1, D, E,
1096     $                                    C, 1, W, 1, INFO )
1097         CALL CHKXER( 'SSYTRD_SB2ST', INFOT, NOUT, LERR, OK )
1098         INFOT = 2
1099         CALL SSYTRD_SB2ST( 'N', 'H', 'U', 0, 0, A, 1, D, E,
1100     $                                    C, 1, W, 1, INFO )
1101         CALL CHKXER( 'SSYTRD_SB2ST', INFOT, NOUT, LERR, OK )
1102         INFOT = 3
1103         CALL SSYTRD_SB2ST( 'N', 'N', '/', 0, 0, A, 1, D, E,
1104     $                                    C, 1, W, 1, INFO )
1105         CALL CHKXER( 'SSYTRD_SB2ST', INFOT, NOUT, LERR, OK )
1106         INFOT = 4
1107         CALL SSYTRD_SB2ST( 'N', 'N', 'U', -1, 0, A, 1, D, E,
1108     $                                    C, 1, W, 1, INFO )
1109         CALL CHKXER( 'SSYTRD_SB2ST', INFOT, NOUT, LERR, OK )
1110         INFOT = 5
1111         CALL SSYTRD_SB2ST( 'N', 'N', 'U', 0, -1, A, 1, D, E,
1112     $                                    C, 1, W, 1, INFO )
1113         CALL CHKXER( 'SSYTRD_SB2ST', INFOT, NOUT, LERR, OK )
1114         INFOT = 7
1115         CALL SSYTRD_SB2ST( 'N', 'N', 'U', 0, 1, A, 1, D, E,
1116     $                                    C, 1, W, 1, INFO )
1117         CALL CHKXER( 'SSYTRD_SB2ST', INFOT, NOUT, LERR, OK )
1118         INFOT = 11
1119         CALL SSYTRD_SB2ST( 'N', 'N', 'U', 0, 0, A, 1, D, E,
1120     $                                    C, 0, W, 1, INFO )
1121         CALL CHKXER( 'SSYTRD_SB2ST', INFOT, NOUT, LERR, OK )
1122         INFOT = 13
1123         CALL SSYTRD_SB2ST( 'N', 'N', 'U', 0, 0, A, 1, D, E,
1124     $                                    C, 1, W, 0, INFO )
1125         CALL CHKXER( 'SSYTRD_SB2ST', INFOT, NOUT, LERR, OK )
1126         NT = NT + 9
1127*
1128*        SSBEVD
1129*
1130         SRNAMT = 'SSBEVD'
1131         INFOT = 1
1132         CALL SSBEVD( '/', 'U', 0, 0, A, 1, X, Z, 1, W, 1, IW, 1, INFO )
1133         CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
1134         INFOT = 2
1135         CALL SSBEVD( 'N', '/', 0, 0, A, 1, X, Z, 1, W, 1, IW, 1, INFO )
1136         CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
1137         INFOT = 3
1138         CALL SSBEVD( 'N', 'U', -1, 0, A, 1, X, Z, 1, W, 1, IW, 1,
1139     $                INFO )
1140         CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
1141         INFOT = 4
1142         CALL SSBEVD( 'N', 'U', 0, -1, A, 1, X, Z, 1, W, 1, IW, 1,
1143     $                INFO )
1144         CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
1145         INFOT = 6
1146         CALL SSBEVD( 'N', 'U', 2, 1, A, 1, X, Z, 1, W, 4, IW, 1, INFO )
1147         CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
1148         INFOT = 9
1149         CALL SSBEVD( 'V', 'U', 2, 1, A, 2, X, Z, 1, W, 25, IW, 12,
1150     $                INFO )
1151         CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
1152         INFOT = 11
1153         CALL SSBEVD( 'N', 'U', 1, 0, A, 1, X, Z, 1, W, 0, IW, 1, INFO )
1154         CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
1155         INFOT = 11
1156         CALL SSBEVD( 'N', 'U', 2, 0, A, 1, X, Z, 1, W, 3, IW, 1, INFO )
1157         CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
1158         INFOT = 11
1159         CALL SSBEVD( 'V', 'U', 2, 0, A, 1, X, Z, 2, W, 18, IW, 12,
1160     $                INFO )
1161         CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
1162         INFOT = 13
1163         CALL SSBEVD( 'N', 'U', 1, 0, A, 1, X, Z, 1, W, 1, IW, 0, INFO )
1164         CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
1165         INFOT = 13
1166         CALL SSBEVD( 'V', 'U', 2, 0, A, 1, X, Z, 2, W, 25, IW, 11,
1167     $                INFO )
1168         CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
1169         NT = NT + 11
1170*
1171*        SSBEVD_2STAGE
1172*
1173         SRNAMT = 'SSBEVD_2STAGE'
1174         INFOT = 1
1175         CALL SSBEVD_2STAGE( '/', 'U', 0, 0, A, 1, X, Z, 1, W,
1176     $                                        1, IW, 1, INFO )
1177         CALL CHKXER( 'SSBEVD_2STAGE', INFOT, NOUT, LERR, OK )
1178         INFOT = 1
1179         CALL SSBEVD_2STAGE( 'V', 'U', 0, 0, A, 1, X, Z, 1, W,
1180     $                                        1, IW, 1, INFO )
1181         CALL CHKXER( 'SSBEVD_2STAGE', INFOT, NOUT, LERR, OK )
1182         INFOT = 2
1183         CALL SSBEVD_2STAGE( 'N', '/', 0, 0, A, 1, X, Z, 1, W,
1184     $                                        1, IW, 1, INFO )
1185         CALL CHKXER( 'SSBEVD_2STAGE', INFOT, NOUT, LERR, OK )
1186         INFOT = 3
1187         CALL SSBEVD_2STAGE( 'N', 'U', -1, 0, A, 1, X, Z, 1, W,
1188     $                                         1, IW, 1, INFO )
1189         CALL CHKXER( 'SSBEVD_2STAGE', INFOT, NOUT, LERR, OK )
1190         INFOT = 4
1191         CALL SSBEVD_2STAGE( 'N', 'U', 0, -1, A, 1, X, Z, 1, W,
1192     $                                         1, IW, 1, INFO )
1193         CALL CHKXER( 'SSBEVD_2STAGE', INFOT, NOUT, LERR, OK )
1194         INFOT = 6
1195         CALL SSBEVD_2STAGE( 'N', 'U', 2, 1, A, 1, X, Z, 1, W,
1196     $                                        4, IW, 1, INFO )
1197         CALL CHKXER( 'SSBEVD_2STAGE', INFOT, NOUT, LERR, OK )
1198*         INFOT = 9
1199*         CALL SSBEVD_2STAGE( 'V', 'U', 2, 1, A, 2, X, Z, 1, W,
1200*     $                                      25, IW, 12, INFO )
1201*         CALL CHKXER( 'SSBEVD_2STAGE', INFOT, NOUT, LERR, OK )
1202         INFOT = 11
1203         CALL SSBEVD_2STAGE( 'N', 'U', 1, 0, A, 1, X, Z, 1, W,
1204     $                                        0, IW, 1, INFO )
1205         CALL CHKXER( 'SSBEVD_2STAGE', INFOT, NOUT, LERR, OK )
1206         INFOT = 11
1207         CALL SSBEVD_2STAGE( 'N', 'U', 2, 0, A, 1, X, Z, 1, W,
1208     $                                        3, IW, 1, INFO )
1209         CALL CHKXER( 'SSBEVD_2STAGE', INFOT, NOUT, LERR, OK )
1210*         INFOT = 11
1211*         CALL SSBEVD_2STAGE( 'V', 'U', 2, 0, A, 1, X, Z, 2, W,
1212*     $                                      18, IW, 12, INFO )
1213*         CALL CHKXER( 'SSBEVD_2STAGE', INFOT, NOUT, LERR, OK )
1214         INFOT = 13
1215         CALL SSBEVD_2STAGE( 'N', 'U', 1, 0, A, 1, X, Z, 1, W,
1216     $                                        1, IW, 0, INFO )
1217         CALL CHKXER( 'SSBEVD_2STAGE', INFOT, NOUT, LERR, OK )
1218*         INFOT = 13
1219*         CALL SSBEVD_2STAGE( 'V', 'U', 2, 0, A, 1, X, Z, 2, W,
1220*     $                                      25, IW, 11, INFO )
1221*         CALL CHKXER( 'SSBEVD_2STAGE', INFOT, NOUT, LERR, OK )
1222*         NT = NT + 12
1223         NT = NT + 9
1224*
1225*        SSBEV
1226*
1227         SRNAMT = 'SSBEV '
1228         INFOT = 1
1229         CALL SSBEV( '/', 'U', 0, 0, A, 1, X, Z, 1, W, INFO )
1230         CALL CHKXER( 'SSBEV ', INFOT, NOUT, LERR, OK )
1231         INFOT = 2
1232         CALL SSBEV( 'N', '/', 0, 0, A, 1, X, Z, 1, W, INFO )
1233         CALL CHKXER( 'SSBEV ', INFOT, NOUT, LERR, OK )
1234         INFOT = 3
1235         CALL SSBEV( 'N', 'U', -1, 0, A, 1, X, Z, 1, W, INFO )
1236         CALL CHKXER( 'SSBEV ', INFOT, NOUT, LERR, OK )
1237         INFOT = 4
1238         CALL SSBEV( 'N', 'U', 0, -1, A, 1, X, Z, 1, W, INFO )
1239         CALL CHKXER( 'SSBEV ', INFOT, NOUT, LERR, OK )
1240         INFOT = 6
1241         CALL SSBEV( 'N', 'U', 2, 1, A, 1, X, Z, 1, W, INFO )
1242         CALL CHKXER( 'SSBEV ', INFOT, NOUT, LERR, OK )
1243         INFOT = 9
1244         CALL SSBEV( 'V', 'U', 2, 0, A, 1, X, Z, 1, W, INFO )
1245         CALL CHKXER( 'SSBEV ', INFOT, NOUT, LERR, OK )
1246         NT = NT + 6
1247*
1248*        SSBEV_2STAGE
1249*
1250         SRNAMT = 'SSBEV_2STAGE '
1251         INFOT = 1
1252         CALL SSBEV_2STAGE( '/', 'U', 0, 0, A, 1, X, Z, 1, W, 0, INFO )
1253         CALL CHKXER( 'SSBEV_2STAGE ', INFOT, NOUT, LERR, OK )
1254         INFOT = 1
1255         CALL SSBEV_2STAGE( 'V', 'U', 0, 0, A, 1, X, Z, 1, W, 0, INFO )
1256         CALL CHKXER( 'SSBEV_2STAGE ', INFOT, NOUT, LERR, OK )
1257         INFOT = 2
1258         CALL SSBEV_2STAGE( 'N', '/', 0, 0, A, 1, X, Z, 1, W, 0, INFO )
1259         CALL CHKXER( 'SSBEV_2STAGE ', INFOT, NOUT, LERR, OK )
1260         INFOT = 3
1261         CALL SSBEV_2STAGE( 'N', 'U', -1, 0, A, 1, X, Z, 1, W, 0, INFO )
1262         CALL CHKXER( 'SSBEV_2STAGE ', INFOT, NOUT, LERR, OK )
1263         INFOT = 4
1264         CALL SSBEV_2STAGE( 'N', 'U', 0, -1, A, 1, X, Z, 1, W, 0, INFO )
1265         CALL CHKXER( 'SSBEV_2STAGE ', INFOT, NOUT, LERR, OK )
1266         INFOT = 6
1267         CALL SSBEV_2STAGE( 'N', 'U', 2, 1, A, 1, X, Z, 1, W, 0, INFO )
1268         CALL CHKXER( 'SSBEV_2STAGE ', INFOT, NOUT, LERR, OK )
1269         INFOT = 9
1270         CALL SSBEV_2STAGE( 'N', 'U', 2, 0, A, 1, X, Z, 0, W, 0, INFO )
1271         CALL CHKXER( 'SSBEV_2STAGE ', INFOT, NOUT, LERR, OK )
1272         INFOT = 11
1273         CALL SSBEV_2STAGE( 'N', 'U', 0, 0, A, 1, X, Z, 1, W, 0, INFO )
1274         CALL CHKXER( 'SSBEV_2STAGE ', INFOT, NOUT, LERR, OK )
1275         NT = NT + 8
1276*
1277*        SSBEVX
1278*
1279         SRNAMT = 'SSBEVX'
1280         INFOT = 1
1281         CALL SSBEVX( '/', 'A', 'U', 0, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
1282     $                0.0, M, X, Z, 1, W, IW, I3, INFO )
1283         CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
1284         INFOT = 2
1285         CALL SSBEVX( 'N', '/', 'U', 0, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
1286     $                0.0, M, X, Z, 1, W, IW, I3, INFO )
1287         CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
1288         INFOT = 3
1289         CALL SSBEVX( 'N', 'A', '/', 0, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
1290     $                0.0, M, X, Z, 1, W, IW, I3, INFO )
1291         CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
1292         INFOT = 4
1293         CALL SSBEVX( 'N', 'A', 'U', -1, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
1294     $                0.0, M, X, Z, 1, W, IW, I3, INFO )
1295         CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
1296         INFOT = 5
1297         CALL SSBEVX( 'N', 'A', 'U', 0, -1, A, 1, Q, 1, 0.0, 0.0, 0, 0,
1298     $                0.0, M, X, Z, 1, W, IW, I3, INFO )
1299         CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
1300         INFOT = 7
1301         CALL SSBEVX( 'N', 'A', 'U', 2, 1, A, 1, Q, 1, 0.0, 0.0, 0, 0,
1302     $                0.0, M, X, Z, 1, W, IW, I3, INFO )
1303         CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
1304         INFOT = 9
1305         CALL SSBEVX( 'V', 'A', 'U', 2, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
1306     $                0.0, M, X, Z, 2, W, IW, I3, INFO )
1307         CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
1308         INFOT = 11
1309         CALL SSBEVX( 'N', 'V', 'U', 1, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
1310     $                0.0, M, X, Z, 1, W, IW, I3, INFO )
1311         CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
1312         INFOT = 12
1313         CALL SSBEVX( 'N', 'I', 'U', 1, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
1314     $                0.0, M, X, Z, 1, W, IW, I3, INFO )
1315         CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
1316         INFOT = 12
1317         CALL SSBEVX( 'N', 'I', 'U', 1, 0, A, 1, Q, 1, 0.0, 0.0, 2, 1,
1318     $                0.0, M, X, Z, 1, W, IW, I3, INFO )
1319         CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
1320         INFOT = 13
1321         CALL SSBEVX( 'N', 'I', 'U', 2, 0, A, 1, Q, 1, 0.0, 0.0, 2, 1,
1322     $                0.0, M, X, Z, 1, W, IW, I3, INFO )
1323         CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
1324         INFOT = 13
1325         CALL SSBEVX( 'N', 'I', 'U', 1, 0, A, 1, Q, 1, 0.0, 0.0, 1, 2,
1326     $                0.0, M, X, Z, 1, W, IW, I3, INFO )
1327         CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
1328         INFOT = 18
1329         CALL SSBEVX( 'V', 'A', 'U', 2, 0, A, 1, Q, 2, 0.0, 0.0, 0, 0,
1330     $                0.0, M, X, Z, 1, W, IW, I3, INFO )
1331         CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
1332         NT = NT + 13
1333*
1334*        SSBEVX_2STAGE
1335*
1336         SRNAMT = 'SSBEVX_2STAGE'
1337         INFOT = 1
1338         CALL SSBEVX_2STAGE( '/', 'A', 'U', 0, 0, A, 1, Q, 1, 0.0E0,
1339     $          0.0E0, 0, 0, 0.0E0, M, X, Z, 1, W, 0, IW, I3, INFO )
1340         CALL CHKXER( 'SSBEVX_2STAGE', INFOT, NOUT, LERR, OK )
1341         INFOT = 1
1342         CALL SSBEVX_2STAGE( 'V', 'A', 'U', 0, 0, A, 1, Q, 1, 0.0E0,
1343     $          0.0E0, 0, 0, 0.0E0, M, X, Z, 1, W, 0, IW, I3, INFO )
1344         CALL CHKXER( 'SSBEVX_2STAGE', INFOT, NOUT, LERR, OK )
1345         INFOT = 2
1346         CALL SSBEVX_2STAGE( 'N', '/', 'U', 0, 0, A, 1, Q, 1, 0.0E0,
1347     $          0.0E0, 0, 0, 0.0E0, M, X, Z, 1, W, 0, IW, I3, INFO )
1348         CALL CHKXER( 'SSBEVX_2STAGE', INFOT, NOUT, LERR, OK )
1349         INFOT = 3
1350         CALL SSBEVX_2STAGE( 'N', 'A', '/', 0, 0, A, 1, Q, 1, 0.0E0,
1351     $          0.0E0, 0, 0, 0.0E0, M, X, Z, 1, W, 0, IW, I3, INFO )
1352         CALL CHKXER( 'SSBEVX_2STAGE', INFOT, NOUT, LERR, OK )
1353         INFOT = 4
1354         CALL SSBEVX_2STAGE( 'N', 'A', 'U', -1, 0, A, 1, Q, 1, 0.0E0,
1355     $           0.0E0, 0, 0, 0.0E0, M, X, Z, 1, W, 0, IW, I3, INFO )
1356         CALL CHKXER( 'SSBEVX_2STAGE', INFOT, NOUT, LERR, OK )
1357         INFOT = 5
1358         CALL SSBEVX_2STAGE( 'N', 'A', 'U', 0, -1, A, 1, Q, 1, 0.0E0,
1359     $           0.0E0, 0, 0, 0.0E0, M, X, Z, 1, W, 0, IW, I3, INFO )
1360         CALL CHKXER( 'SSBEVX_2STAGE', INFOT, NOUT, LERR, OK )
1361         INFOT = 7
1362         CALL SSBEVX_2STAGE( 'N', 'A', 'U', 2, 1, A, 1, Q, 1, 0.0E0,
1363     $          0.0E0, 0, 0, 0.0E0, M, X, Z, 1, W, 0, IW, I3, INFO )
1364         CALL CHKXER( 'SSBEVX_2STAGE', INFOT, NOUT, LERR, OK )
1365*         INFOT = 9
1366*         CALL SSBEVX_2STAGE( 'V', 'A', 'U', 2, 0, A, 1, Q, 1, 0.0E0,
1367*     $          0.0E0, 0, 0, 0.0E0, M, X, Z, 2, W, 0, IW, I3, INFO )
1368*         CALL CHKXER( 'SSBEVX_2STAGE', INFOT, NOUT, LERR, OK )
1369         INFOT = 11
1370         CALL SSBEVX_2STAGE( 'N', 'V', 'U', 1, 0, A, 1, Q, 1, 0.0E0,
1371     $          0.0E0, 0, 0, 0.0E0, M, X, Z, 1, W, 0, IW, I3, INFO )
1372         CALL CHKXER( 'SSBEVX_2STAGE', INFOT, NOUT, LERR, OK )
1373         INFOT = 12
1374         CALL SSBEVX_2STAGE( 'N', 'I', 'U', 1, 0, A, 1, Q, 1, 0.0E0,
1375     $          0.0E0, 0, 0, 0.0E0, M, X, Z, 1, W, 0, IW, I3, INFO )
1376         CALL CHKXER( 'SSBEVX_2STAGE', INFOT, NOUT, LERR, OK )
1377         INFOT = 12
1378         CALL SSBEVX_2STAGE( 'N', 'I', 'U', 1, 0, A, 1, Q, 1, 0.0E0,
1379     $          0.0E0, 2, 1, 0.0E0, M, X, Z, 1, W, 0, IW, I3, INFO )
1380         CALL CHKXER( 'SSBEVX_2STAGE', INFOT, NOUT, LERR, OK )
1381         INFOT = 13
1382         CALL SSBEVX_2STAGE( 'N', 'I', 'U', 2, 0, A, 1, Q, 1, 0.0E0,
1383     $          0.0E0, 2, 1, 0.0E0, M, X, Z, 1, W, 0, IW, I3, INFO )
1384         CALL CHKXER( 'SSBEVX_2STAGE', INFOT, NOUT, LERR, OK )
1385         INFOT = 13
1386         CALL SSBEVX_2STAGE( 'N', 'I', 'U', 1, 0, A, 1, Q, 1, 0.0E0,
1387     $          0.0E0, 1, 2, 0.0E0, M, X, Z, 1, W, 0, IW, I3, INFO )
1388         CALL CHKXER( 'SSBEVX_2STAGE', INFOT, NOUT, LERR, OK )
1389*         INFOT = 18
1390*         CALL SSBEVX_2STAGE( 'V', 'A', 'U', 2, 0, A, 1, Q, 2, 0.0E0,
1391*     $          0.0E0, 0, 0, 0.0E0, M, X, Z, 1, W, 0, IW, I3, INFO )
1392*         CALL CHKXER( 'SSBEVX_2STAGE', INFOT, NOUT, LERR, OK )
1393         INFOT = 20
1394         CALL SSBEVX_2STAGE( 'N', 'A', 'U', 0, 0, A, 1, Q, 1, 0.0E0,
1395     $           0.0E0, 0, 0, 0.0E0, M, X, Z, 1, W, 0, IW, I3, INFO )
1396         CALL CHKXER( 'SSBEVX_2STAGE', INFOT, NOUT, LERR, OK )
1397*         NT = NT + 15
1398         NT = NT + 13
1399      END IF
1400*
1401*     Print a summary line.
1402*
1403      IF( OK ) THEN
1404         WRITE( NOUT, FMT = 9999 )PATH, NT
1405      ELSE
1406         WRITE( NOUT, FMT = 9998 )PATH
1407      END IF
1408*
1409 9999 FORMAT( 1X, A3, ' routines passed the tests of the error exits',
1410     $      ' (', I3, ' tests done)' )
1411 9998 FORMAT( ' *** ', A3, ' routines failed the tests of the error ',
1412     $      'exits ***' )
1413*
1414      RETURN
1415*
1416*     End of SERRST
1417*
1418      END
1419