1       SUBROUTINE SERRST( PATH, NUNIT )
  2 *
  3 *  -- LAPACK test routine (version 3.1) --
  4 *     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
  5 *     November 2006
  6 *
  7 *     .. Scalar Arguments ..
  8       CHARACTER*3        PATH
  9       INTEGER            NUNIT
 10 *     ..
 11 *
 12 *  Purpose
 13 *  =======
 14 *
 15 *  SERRST tests the error exits for SSYTRD, SORGTR, SORMTR, SSPTRD,
 16 *  SOPGTR, SOPMTR, SSTEQR, SSTERF, SSTEBZ, SSTEIN, SPTEQR, SSBTRD,
 17 *  SSYEV, SSYEVX, SSYEVD, SSBEV, SSBEVX, SSBEVD,
 18 *  SSPEV, SSPEVX, SSPEVD, SSTEV, SSTEVX, SSTEVD, and SSTEDC.
 19 *
 20 *  Arguments
 21 *  =========
 22 *
 23 *  PATH    (input) CHARACTER*3
 24 *          The LAPACK path name for the routines to be tested.
 25 *
 26 *  NUNIT   (input) INTEGER
 27 *          The unit number for output.
 28 *
 29 *  =====================================================================
 30 *
 31 *     NMAX has to be at least 3 or LIW may be too small
 32 *     .. Parameters ..
 33       INTEGER            NMAX, LIW, LW
 34       PARAMETER          ( NMAX = 3, LIW = 12*NMAX, LW = 20*NMAX )
 35 *     ..
 36 *     .. Local Scalars ..
 37       CHARACTER*2        C2
 38       INTEGER            I, INFO, J, M, N, NSPLIT, NT
 39 *     ..
 40 *     .. Local Arrays ..
 41       INTEGER            I1( NMAX ), I2( NMAX ), I3( NMAX ), IW( LIW )
 42       REAL               A( NMAX, NMAX ), C( NMAX, NMAX ), D( NMAX ),
 43      $                   E( NMAX ), Q( NMAX, NMAX ), R( NMAX ),
 44      $                   TAU( NMAX ), W( LW ), X( NMAX ),
 45      $                   Z( NMAX, NMAX )
 46 *     ..
 47 *     .. External Functions ..
 48       LOGICAL            LSAMEN
 49       EXTERNAL           LSAMEN
 50 *     ..
 51 *     .. External Subroutines ..
 52       EXTERNAL           CHKXER, SOPGTR, SOPMTR, SORGTR, SORMTR, SPTEQR,
 53      $                   SSBEV, SSBEVD, SSBEVX, SSBTRD, SSPEV, SSPEVD,
 54      $                   SSPEVX, SSPTRD, SSTEBZ, SSTEDC, SSTEIN, SSTEQR,
 55      $                   SSTERF, SSTEV, SSTEVD, SSTEVR, SSTEVX, SSYEV,
 56      $                   SSYEVD, SSYEVR, SSYEVX, SSYTRD
 57 *     ..
 58 *     .. Scalars in Common ..
 59       LOGICAL            LERR, OK
 60       CHARACTER*32       SRNAMT
 61       INTEGER            INFOT, NOUT
 62 *     ..
 63 *     .. Common blocks ..
 64       COMMON             / INFOC / INFOT, NOUT, OK, LERR
 65       COMMON             / SRNAMC / SRNAMT
 66 *     ..
 67 *     .. Intrinsic Functions ..
 68       INTRINSIC          REAL
 69 *     ..
 70 *     .. Executable Statements ..
 71 *
 72       NOUT = NUNIT
 73       WRITE( NOUT, FMT = * )
 74       C2 = PATH( 23 )
 75 *
 76 *     Set the variables to innocuous values.
 77 *
 78       DO 20 J = 1, NMAX
 79          DO 10 I = 1, NMAX
 80             A( I, J ) = 1/ REAL( I+J )
 81    10    CONTINUE
 82    20 CONTINUE
 83       DO 30 J = 1, NMAX
 84          D( J ) = REAL( J )
 85          E( J ) = 0.0
 86          I1( J ) = J
 87          I2( J ) = J
 88          TAU( J ) = 1.
 89    30 CONTINUE
 90       OK = .TRUE.
 91       NT = 0
 92 *
 93 *     Test error exits for the ST path.
 94 *
 95       IF( LSAMEN( 2, C2, 'ST' ) ) THEN
 96 *
 97 *        SSYTRD
 98 *
 99          SRNAMT = 'SSYTRD'
100          INFOT = 1
101          CALL SSYTRD( '/'0, A, 1, D, E, TAU, W, 1, INFO )
102          CALL CHKXER( 'SSYTRD', INFOT, NOUT, LERR, OK )
103          INFOT = 2
104          CALL SSYTRD( 'U'-1, A, 1, D, E, TAU, W, 1, INFO )
105          CALL CHKXER( 'SSYTRD', INFOT, NOUT, LERR, OK )
106          INFOT = 4
107          CALL SSYTRD( 'U'2, A, 1, D, E, TAU, W, 1, INFO )
108          CALL CHKXER( 'SSYTRD', INFOT, NOUT, LERR, OK )
109          INFOT = 9
110          CALL SSYTRD( 'U'0, A, 1, D, E, TAU, W, 0, INFO )
111          CALL CHKXER( 'SSYTRD', INFOT, NOUT, LERR, OK )
112          NT = NT + 4
113 *
114 *        SORGTR
115 *
116          SRNAMT = 'SORGTR'
117          INFOT = 1
118          CALL SORGTR( '/'0, A, 1, TAU, W, 1, INFO )
119          CALL CHKXER( 'SORGTR', INFOT, NOUT, LERR, OK )
120          INFOT = 2
121          CALL SORGTR( 'U'-1, A, 1, TAU, W, 1, INFO )
122          CALL CHKXER( 'SORGTR', INFOT, NOUT, LERR, OK )
123          INFOT = 4
124          CALL SORGTR( 'U'2, A, 1, TAU, W, 1, INFO )
125          CALL CHKXER( 'SORGTR', INFOT, NOUT, LERR, OK )
126          INFOT = 7
127          CALL SORGTR( 'U'3, A, 3, TAU, W, 1, INFO )
128          CALL CHKXER( 'SORGTR', INFOT, NOUT, LERR, OK )
129          NT = NT + 4
130 *
131 *        SORMTR
132 *
133          SRNAMT = 'SORMTR'
134          INFOT = 1
135          CALL SORMTR( '/''U''N'00, A, 1, TAU, C, 1, W, 1, INFO )
136          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
137          INFOT = 2
138          CALL SORMTR( 'L''/''N'00, A, 1, TAU, C, 1, W, 1, INFO )
139          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
140          INFOT = 3
141          CALL SORMTR( 'L''U''/'00, A, 1, TAU, C, 1, W, 1, INFO )
142          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
143          INFOT = 4
144          CALL SORMTR( 'L''U''N'-10, A, 1, TAU, C, 1, W, 1,
145      $                INFO )
146          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
147          INFOT = 5
148          CALL SORMTR( 'L''U''N'0-1, A, 1, TAU, C, 1, W, 1,
149      $                INFO )
150          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
151          INFOT = 7
152          CALL SORMTR( 'L''U''N'20, A, 1, TAU, C, 2, W, 1, INFO )
153          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
154          INFOT = 7
155          CALL SORMTR( 'R''U''N'02, A, 1, TAU, C, 1, W, 1, INFO )
156          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
157          INFOT = 10
158          CALL SORMTR( 'L''U''N'20, A, 2, TAU, C, 1, W, 1, INFO )
159          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
160          INFOT = 12
161          CALL SORMTR( 'L''U''N'02, A, 1, TAU, C, 1, W, 1, INFO )
162          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
163          INFOT = 12
164          CALL SORMTR( 'R''U''N'20, A, 1, TAU, C, 2, W, 1, INFO )
165          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
166          NT = NT + 10
167 *
168 *        SSPTRD
169 *
170          SRNAMT = 'SSPTRD'
171          INFOT = 1
172          CALL SSPTRD( '/'0, A, D, E, TAU, INFO )
173          CALL CHKXER( 'SSPTRD', INFOT, NOUT, LERR, OK )
174          INFOT = 2
175          CALL SSPTRD( 'U'-1, A, D, E, TAU, INFO )
176          CALL CHKXER( 'SSPTRD', INFOT, NOUT, LERR, OK )
177          NT = NT + 2
178 *
179 *        SOPGTR
180 *
181          SRNAMT = 'SOPGTR'
182          INFOT = 1
183          CALL SOPGTR( '/'0, A, TAU, Z, 1, W, INFO )
184          CALL CHKXER( 'SOPGTR', INFOT, NOUT, LERR, OK )
185          INFOT = 2
186          CALL SOPGTR( 'U'-1, A, TAU, Z, 1, W, INFO )
187          CALL CHKXER( 'SOPGTR', INFOT, NOUT, LERR, OK )
188          INFOT = 6
189          CALL SOPGTR( 'U'2, A, TAU, Z, 1, W, INFO )
190          CALL CHKXER( 'SOPGTR', INFOT, NOUT, LERR, OK )
191          NT = NT + 3
192 *
193 *        SOPMTR
194 *
195          SRNAMT = 'SOPMTR'
196          INFOT = 1
197          CALL SOPMTR( '/''U''N'00, A, TAU, C, 1, W, INFO )
198          CALL CHKXER( 'SOPMTR', INFOT, NOUT, LERR, OK )
199          INFOT = 2
200          CALL SOPMTR( 'L''/''N'00, A, TAU, C, 1, W, INFO )
201          CALL CHKXER( 'SOPMTR', INFOT, NOUT, LERR, OK )
202          INFOT = 3
203          CALL SOPMTR( 'L''U''/'00, A, TAU, C, 1, W, INFO )
204          CALL CHKXER( 'SOPMTR', INFOT, NOUT, LERR, OK )
205          INFOT = 4
206          CALL SOPMTR( 'L''U''N'-10, A, TAU, C, 1, W, INFO )
207          CALL CHKXER( 'SOPMTR', INFOT, NOUT, LERR, OK )
208          INFOT = 5
209          CALL SOPMTR( 'L''U''N'0-1, A, TAU, C, 1, W, INFO )
210          CALL CHKXER( 'SOPMTR', INFOT, NOUT, LERR, OK )
211          INFOT = 9
212          CALL SOPMTR( 'L''U''N'20, A, TAU, C, 1, W, INFO )
213          CALL CHKXER( 'SOPMTR', INFOT, NOUT, LERR, OK )
214          NT = NT + 6
215 *
216 *        SPTEQR
217 *
218          SRNAMT = 'SPTEQR'
219          INFOT = 1
220          CALL SPTEQR( '/'0, D, E, Z, 1, W, INFO )
221          CALL CHKXER( 'SPTEQR', INFOT, NOUT, LERR, OK )
222          INFOT = 2
223          CALL SPTEQR( 'N'-1, D, E, Z, 1, W, INFO )
224          CALL CHKXER( 'SPTEQR', INFOT, NOUT, LERR, OK )
225          INFOT = 6
226          CALL SPTEQR( 'V'2, D, E, Z, 1, W, INFO )
227          CALL CHKXER( 'SPTEQR', INFOT, NOUT, LERR, OK )
228          NT = NT + 3
229 *
230 *        SSTEBZ
231 *
232          SRNAMT = 'SSTEBZ'
233          INFOT = 1
234          CALL SSTEBZ( '/''E'00.01.0100.0, D, E, M, NSPLIT,
235      $                X, I1, I2, W, IW, INFO )
236          CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
237          INFOT = 2
238          CALL SSTEBZ( 'A''/'00.00.0000.0, D, E, M, NSPLIT,
239      $                X, I1, I2, W, IW, INFO )
240          CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
241          INFOT = 3
242          CALL SSTEBZ( 'A''E'-10.00.0000.0, D, E, M,
243      $                NSPLIT, X, I1, I2, W, IW, INFO )
244          CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
245          INFOT = 5
246          CALL SSTEBZ( 'V''E'00.00.0000.0, D, E, M, NSPLIT,
247      $                X, I1, I2, W, IW, INFO )
248          CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
249          INFOT = 6
250          CALL SSTEBZ( 'I''E'00.00.0000.0, D, E, M, NSPLIT,
251      $                X, I1, I2, W, IW, INFO )
252          CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
253          INFOT = 6
254          CALL SSTEBZ( 'I''E'10.00.0210.0, D, E, M, NSPLIT,
255      $                X, I1, I2, W, IW, INFO )
256          CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
257          INFOT = 7
258          CALL SSTEBZ( 'I''E'10.00.0100.0, D, E, M, NSPLIT,
259      $                X, I1, I2, W, IW, INFO )
260          CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
261          INFOT = 7
262          CALL SSTEBZ( 'I''E'10.00.0120.0, D, E, M, NSPLIT,
263      $                X, I1, I2, W, IW, INFO )
264          CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
265          NT = NT + 8
266 *
267 *        SSTEIN
268 *
269          SRNAMT = 'SSTEIN'
270          INFOT = 1
271          CALL SSTEIN( -1, D, E, 0, X, I1, I2, Z, 1, W, IW, I3, INFO )
272          CALL CHKXER( 'SSTEIN', INFOT, NOUT, LERR, OK )
273          INFOT = 4
274          CALL SSTEIN( 0, D, E, -1, X, I1, I2, Z, 1, W, IW, I3, INFO )
275          CALL CHKXER( 'SSTEIN', INFOT, NOUT, LERR, OK )
276          INFOT = 4
277          CALL SSTEIN( 0, D, E, 1, X, I1, I2, Z, 1, W, IW, I3, INFO )
278          CALL CHKXER( 'SSTEIN', INFOT, NOUT, LERR, OK )
279          INFOT = 9
280          CALL SSTEIN( 2, D, E, 0, X, I1, I2, Z, 1, W, IW, I3, INFO )
281          CALL CHKXER( 'SSTEIN', INFOT, NOUT, LERR, OK )
282          NT = NT + 4
283 *
284 *        SSTEQR
285 *
286          SRNAMT = 'SSTEQR'
287          INFOT = 1
288          CALL SSTEQR( '/'0, D, E, Z, 1, W, INFO )
289          CALL CHKXER( 'SSTEQR', INFOT, NOUT, LERR, OK )
290          INFOT = 2
291          CALL SSTEQR( 'N'-1, D, E, Z, 1, W, INFO )
292          CALL CHKXER( 'SSTEQR', INFOT, NOUT, LERR, OK )
293          INFOT = 6
294          CALL SSTEQR( 'V'2, D, E, Z, 1, W, INFO )
295          CALL CHKXER( 'SSTEQR', INFOT, NOUT, LERR, OK )
296          NT = NT + 3
297 *
298 *        SSTERF
299 *
300          SRNAMT = 'SSTERF'
301          INFOT = 1
302          CALL SSTERF( -1, D, E, INFO )
303          CALL CHKXER( 'SSTERF', INFOT, NOUT, LERR, OK )
304          NT = NT + 1
305 *
306 *        SSTEDC
307 *
308          SRNAMT = 'SSTEDC'
309          INFOT = 1
310          CALL SSTEDC( '/'0, D, E, Z, 1, W, 1, IW, 1, INFO )
311          CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
312          INFOT = 2
313          CALL SSTEDC( 'N'-1, D, E, Z, 1, W, 1, IW, 1, INFO )
314          CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
315          INFOT = 6
316          CALL SSTEDC( 'V'2, D, E, Z, 1, W, 23, IW, 28, INFO )
317          CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
318          INFOT = 8
319          CALL SSTEDC( 'N'1, D, E, Z, 1, W, 0, IW, 1, INFO )
320          CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
321          INFOT = 8
322          CALL SSTEDC( 'I'2, D, E, Z, 2, W, 0, IW, 12, INFO )
323          CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
324          INFOT = 8
325          CALL SSTEDC( 'V'2, D, E, Z, 2, W, 0, IW, 28, INFO )
326          CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
327          INFOT = 10
328          CALL SSTEDC( 'N'1, D, E, Z, 1, W, 1, IW, 0, INFO )
329          CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
330          INFOT = 10
331          CALL SSTEDC( 'I'2, D, E, Z, 2, W, 19, IW, 0, INFO )
332          CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
333          INFOT = 10
334          CALL SSTEDC( 'V'2, D, E, Z, 2, W, 23, IW, 0, INFO )
335          CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
336          NT = NT + 9
337 *
338 *        SSTEVD
339 *
340          SRNAMT = 'SSTEVD'
341          INFOT = 1
342          CALL SSTEVD( '/'0, D, E, Z, 1, W, 1, IW, 1, INFO )
343          CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
344          INFOT = 2
345          CALL SSTEVD( 'N'-1, D, E, Z, 1, W, 1, IW, 1, INFO )
346          CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
347          INFOT = 6
348          CALL SSTEVD( 'V'2, D, E, Z, 1, W, 19, IW, 12, INFO )
349          CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
350          INFOT = 8
351          CALL SSTEVD( 'N'1, D, E, Z, 1, W, 0, IW, 1, INFO )
352          CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
353          INFOT = 8
354          CALL SSTEVD( 'V'2, D, E, Z, 2, W, 12, IW, 12, INFO )
355          CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
356          INFOT = 10
357          CALL SSTEVD( 'N'0, D, E, Z, 1, W, 1, IW, 0, INFO )
358          CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
359          INFOT = 10
360          CALL SSTEVD( 'V'2, D, E, Z, 2, W, 19, IW, 11, INFO )
361          CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
362          NT = NT + 7
363 *
364 *        SSTEV
365 *
366          SRNAMT = 'SSTEV '
367          INFOT = 1
368          CALL SSTEV( '/'0, D, E, Z, 1, W, INFO )
369          CALL CHKXER( 'SSTEV ', INFOT, NOUT, LERR, OK )
370          INFOT = 2
371          CALL SSTEV( 'N'-1, D, E, Z, 1, W, INFO )
372          CALL CHKXER( 'SSTEV ', INFOT, NOUT, LERR, OK )
373          INFOT = 6
374          CALL SSTEV( 'V'2, D, E, Z, 1, W, INFO )
375          CALL CHKXER( 'SSTEV ', INFOT, NOUT, LERR, OK )
376          NT = NT + 3
377 *
378 *        SSTEVX
379 *
380          SRNAMT = 'SSTEVX'
381          INFOT = 1
382          CALL SSTEVX( '/''A'0, D, E, 0.00.0000.0, M, X, Z,
383      $                1, W, IW, I3, INFO )
384          CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
385          INFOT = 2
386          CALL SSTEVX( 'N''/'0, D, E, 0.01.0100.0, M, X, Z,
387      $                1, W, IW, I3, INFO )
388          CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
389          INFOT = 3
390          CALL SSTEVX( 'N''A'-1, D, E, 0.00.0000.0, M, X, Z,
391      $                1, W, IW, I3, INFO )
392          CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
393          INFOT = 7
394          CALL SSTEVX( 'N''V'1, D, E, 0.00.0000.0, M, X, Z,
395      $                1, W, IW, I3, INFO )
396          CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
397          INFOT = 8
398          CALL SSTEVX( 'N''I'1, D, E, 0.00.0000.0, M, X, Z,
399      $                1, W, IW, I3, INFO )
400          CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
401          INFOT = 8
402          CALL SSTEVX( 'N''I'1, D, E, 0.00.0210.0, M, X, Z,
403      $                1, W, IW, I3, INFO )
404          CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
405          INFOT = 9
406          CALL SSTEVX( 'N''I'2, D, E, 0.00.0210.0, M, X, Z,
407      $                1, W, IW, I3, INFO )
408          CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
409          INFOT = 9
410          CALL SSTEVX( 'N''I'1, D, E, 0.00.0120.0, M, X, Z,
411      $                1, W, IW, I3, INFO )
412          CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
413          INFOT = 14
414          CALL SSTEVX( 'V''A'2, D, E, 0.00.0000.0, M, X, Z,
415      $                1, W, IW, I3, INFO )
416          CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
417          NT = NT + 9
418 *
419 *        SSTEVR
420 *
421          N = 1
422          SRNAMT = 'SSTEVR'
423          INFOT = 1
424          CALL SSTEVR( '/''A'0, D, E, 0.00.0110.0, M, R, Z,
425      $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
426          CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
427          INFOT = 2
428          CALL SSTEVR( 'V''/'0, D, E, 0.00.0110.0, M, R, Z,
429      $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
430          CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
431          INFOT = 3
432          CALL SSTEVR( 'V''A'-1, D, E, 0.00.0110.0, M, R, Z,
433      $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
434          CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
435          INFOT = 7
436          CALL SSTEVR( 'V''V'1, D, E, 0.00.0110.0, M, R, Z,
437      $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
438          CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
439          INFOT = 8
440          CALL SSTEVR( 'V''I'1, D, E, 0.00.0010.0, M, W, Z,
441      $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
442          CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
443          INFOT = 9
444          N = 2
445          CALL SSTEVR( 'V''I'2, D, E, 0.00.0210.0, M, W, Z,
446      $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
447          CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
448          INFOT = 14
449          N = 1
450          CALL SSTEVR( 'V''I'1, D, E, 0.00.0110.0, M, W, Z,
451      $                0, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
452          CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
453          INFOT = 17
454          CALL SSTEVR( 'V''I'1, D, E, 0.00.0110.0, M, W, Z,
455      $                1, IW, X, 20*N-1, IW( 2*N+1 ), 10*N, INFO )
456          CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
457          INFOT = 19
458          CALL SSTEVR( 'V''I'1, D, E, 0.00.0110.0, M, W, Z,
459      $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N-1, INFO )
460          CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
461          NT = NT + 9
462 *
463 *        SSYEVD
464 *
465          SRNAMT = 'SSYEVD'
466          INFOT = 1
467          CALL SSYEVD( '/''U'0, A, 1, X, W, 1, IW, 1, INFO )
468          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
469          INFOT = 2
470          CALL SSYEVD( 'N''/'0, A, 1, X, W, 1, IW, 1, INFO )
471          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
472          INFOT = 3
473          CALL SSYEVD( 'N''U'-1, A, 1, X, W, 1, IW, 1, INFO )
474          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
475          INFOT = 5
476          CALL SSYEVD( 'N''U'2, A, 1, X, W, 3, IW, 1, INFO )
477          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
478          INFOT = 8
479          CALL SSYEVD( 'N''U'1, A, 1, X, W, 0, IW, 1, INFO )
480          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
481          INFOT = 8
482          CALL SSYEVD( 'N''U'2, A, 2, X, W, 4, IW, 1, INFO )
483          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
484          INFOT = 8
485          CALL SSYEVD( 'V''U'2, A, 2, X, W, 20, IW, 12, INFO )
486          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
487          INFOT = 10
488          CALL SSYEVD( 'N''U'1, A, 1, X, W, 1, IW, 0, INFO )
489          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
490          INFOT = 10
491          CALL SSYEVD( 'N''U'2, A, 2, X, W, 5, IW, 0, INFO )
492          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
493          INFOT = 10
494          CALL SSYEVD( 'V''U'2, A, 2, X, W, 27, IW, 11, INFO )
495          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
496          NT = NT + 10
497 *
498 *        SSYEVR
499 *
500          SRNAMT = 'SSYEVR'
501          N = 1
502          INFOT = 1
503          CALL SSYEVR( '/''A''U'0, A, 10.00.0110.0, M, R,
504      $                Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
505          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
506          INFOT = 2
507          CALL SSYEVR( 'V''/''U'0, A, 10.00.0110.0, M, R,
508      $                Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
509          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
510          INFOT = 3
511          CALL SSYEVR( 'V''A''/'-1, A, 10.00.0110.0, M,
512      $                R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
513          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
514          INFOT = 4
515          CALL SSYEVR( 'V''A''U'-1, A, 10.00.0110.0, M,
516      $                R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
517          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
518          INFOT = 6
519          CALL SSYEVR( 'V''A''U'2, A, 10.00.0110.0, M, R,
520      $                Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
521          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
522          INFOT = 8
523          CALL SSYEVR( 'V''V''U'1, A, 10.0E00.0E0110.0,
524      $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
525          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
526          INFOT = 9
527          CALL SSYEVR( 'V''I''U'1, A, 10.0E00.0E0010.0,
528      $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
529          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
530          INFOT = 10
531 *
532          CALL SSYEVR( 'V''I''U'2, A, 20.0E00.0E0210.0,
533      $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
534          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
535          INFOT = 15
536          CALL SSYEVR( 'V''I''U'1, A, 10.0E00.0E0110.0,
537      $                M, R, Z, 0, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
538          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
539          INFOT = 18
540          CALL SSYEVR( 'V''I''U'1, A, 10.0E00.0E0110.0,
541      $                M, R, Z, 1, IW, Q, 26*N-1, IW( 2*N+1 ), 10*N,
542      $                INFO )
543          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
544          INFOT = 20
545          CALL SSYEVR( 'V''I''U'1, A, 10.0E00.0E0110.0,
546      $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N-1,
547      $                INFO )
548          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
549          NT = NT + 11
550 *
551 *        SSYEV
552 *
553          SRNAMT = 'SSYEV '
554          INFOT = 1
555          CALL SSYEV( '/''U'0, A, 1, X, W, 1, INFO )
556          CALL CHKXER( 'SSYEV ', INFOT, NOUT, LERR, OK )
557          INFOT = 2
558          CALL SSYEV( 'N''/'0, A, 1, X, W, 1, INFO )
559          CALL CHKXER( 'SSYEV ', INFOT, NOUT, LERR, OK )
560          INFOT = 3
561          CALL SSYEV( 'N''U'-1, A, 1, X, W, 1, INFO )
562          CALL CHKXER( 'SSYEV ', INFOT, NOUT, LERR, OK )
563          INFOT = 5
564          CALL SSYEV( 'N''U'2, A, 1, X, W, 3, INFO )
565          CALL CHKXER( 'SSYEV ', INFOT, NOUT, LERR, OK )
566          INFOT = 8
567          CALL SSYEV( 'N''U'1, A, 1, X, W, 1, INFO )
568          CALL CHKXER( 'SSYEV ', INFOT, NOUT, LERR, OK )
569          NT = NT + 5
570 *
571 *        SSYEVX
572 *
573          SRNAMT = 'SSYEVX'
574          INFOT = 1
575          CALL SSYEVX( '/''A''U'0, A, 10.00.0000.0, M, X,
576      $                Z, 1, W, 1, IW, I3, INFO )
577          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
578          INFOT = 2
579          CALL SSYEVX( 'N''/''U'0, A, 10.01.0100.0, M, X,
580      $                Z, 1, W, 1, IW, I3, INFO )
581          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
582          INFOT = 3
583          CALL SSYEVX( 'N''A''/'0, A, 10.00.0000.0, M, X,
584      $                Z, 1, W, 1, IW, I3, INFO )
585          INFOT = 4
586          CALL SSYEVX( 'N''A''U'-1, A, 10.00.0000.0, M,
587      $                X, Z, 1, W, 1, IW, I3, INFO )
588          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
589          INFOT = 6
590          CALL SSYEVX( 'N''A''U'2, A, 10.00.0000.0, M, X,
591      $                Z, 1, W, 16, IW, I3, INFO )
592          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
593          INFOT = 8
594          CALL SSYEVX( 'N''V''U'1, A, 10.00.0000.0, M, X,
595      $                Z, 1, W, 8, IW, I3, INFO )
596          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
597          INFOT = 9
598          CALL SSYEVX( 'N''I''U'1, A, 10.00.0000.0, M, X,
599      $                Z, 1, W, 8, IW, I3, INFO )
600          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
601          INFOT = 9
602          CALL SSYEVX( 'N''I''U'1, A, 10.00.0210.0, M, X,
603      $                Z, 1, W, 8, IW, I3, INFO )
604          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
605          INFOT = 10
606          CALL SSYEVX( 'N''I''U'2, A, 20.00.0210.0, M, X,
607      $                Z, 1, W, 16, IW, I3, INFO )
608          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
609          INFOT = 10
610          CALL SSYEVX( 'N''I''U'1, A, 10.00.0120.0, M, X,
611      $                Z, 1, W, 8, IW, I3, INFO )
612          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
613          INFOT = 15
614          CALL SSYEVX( 'V''A''U'2, A, 20.00.0000.0, M, X,
615      $                Z, 1, W, 16, IW, I3, INFO )
616          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
617          INFOT = 17
618          CALL SSYEVX( 'V''A''U'1, A, 10.00.0000.0, M, X,
619      $                Z, 1, W, 0, IW, I3, INFO )
620          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
621          NT = NT + 12
622 *
623 *        SSPEVD
624 *
625          SRNAMT = 'SSPEVD'
626          INFOT = 1
627          CALL SSPEVD( '/''U'0, A, X, Z, 1, W, 1, IW, 1, INFO )
628          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
629          INFOT = 2
630          CALL SSPEVD( 'N''/'0, A, X, Z, 1, W, 1, IW, 1, INFO )
631          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
632          INFOT = 3
633          CALL SSPEVD( 'N''U'-1, A, X, Z, 1, W, 1, IW, 1, INFO )
634          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
635          INFOT = 7
636          CALL SSPEVD( 'V''U'2, A, X, Z, 1, W, 23, IW, 12, INFO )
637          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
638          INFOT = 9
639          CALL SSPEVD( 'N''U'1, A, X, Z, 1, W, 0, IW, 1, INFO )
640          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
641          INFOT = 9
642          CALL SSPEVD( 'N''U'2, A, X, Z, 1, W, 3, IW, 1, INFO )
643          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
644          INFOT = 9
645          CALL SSPEVD( 'V''U'2, A, X, Z, 2, W, 16, IW, 12, INFO )
646          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
647          INFOT = 11
648          CALL SSPEVD( 'N''U'1, A, X, Z, 1, W, 1, IW, 0, INFO )
649          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
650          INFOT = 11
651          CALL SSPEVD( 'N''U'2, A, X, Z, 1, W, 4, IW, 0, INFO )
652          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
653          INFOT = 11
654          CALL SSPEVD( 'V''U'2, A, X, Z, 2, W, 23, IW, 11, INFO )
655          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
656          NT = NT + 10
657 *
658 *        SSPEV
659 *
660          SRNAMT = 'SSPEV '
661          INFOT = 1
662          CALL SSPEV( '/''U'0, A, W, Z, 1, X, INFO )
663          CALL CHKXER( 'SSPEV ', INFOT, NOUT, LERR, OK )
664          INFOT = 2
665          CALL SSPEV( 'N''/'0, A, W, Z, 1, X, INFO )
666          CALL CHKXER( 'SSPEV ', INFOT, NOUT, LERR, OK )
667          INFOT = 3
668          CALL SSPEV( 'N''U'-1, A, W, Z, 1, X, INFO )
669          CALL CHKXER( 'SSPEV ', INFOT, NOUT, LERR, OK )
670          INFOT = 7
671          CALL SSPEV( 'V''U'2, A, W, Z, 1, X, INFO )
672          CALL CHKXER( 'SSPEV ', INFOT, NOUT, LERR, OK )
673          NT = NT + 4
674 *
675 *        SSPEVX
676 *
677          SRNAMT = 'SSPEVX'
678          INFOT = 1
679          CALL SSPEVX( '/''A''U'0, A, 0.00.0000.0, M, X, Z,
680      $                1, W, IW, I3, INFO )
681          CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
682          INFOT = 2
683          CALL SSPEVX( 'N''/''U'0, A, 0.00.0000.0, M, X, Z,
684      $                1, W, IW, I3, INFO )
685          CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
686          INFOT = 3
687          CALL SSPEVX( 'N''A''/'0, A, 0.00.0000.0, M, X, Z,
688      $                1, W, IW, I3, INFO )
689          INFOT = 4
690          CALL SSPEVX( 'N''A''U'-1, A, 0.00.0000.0, M, X,
691      $                Z, 1, W, IW, I3, INFO )
692          CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
693          INFOT = 7
694          CALL SSPEVX( 'N''V''U'1, A, 0.00.0000.0, M, X, Z,
695      $                1, W, IW, I3, INFO )
696          CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
697          INFOT = 8
698          CALL SSPEVX( 'N''I''U'1, A, 0.00.0000.0, M, X, Z,
699      $                1, W, IW, I3, INFO )
700          CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
701          INFOT = 8
702          CALL SSPEVX( 'N''I''U'1, A, 0.00.0210.0, M, X, Z,
703      $                1, W, IW, I3, INFO )
704          CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
705          INFOT = 9
706          CALL SSPEVX( 'N''I''U'2, A, 0.00.0210.0, M, X, Z,
707      $                1, W, IW, I3, INFO )
708          CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
709          INFOT = 9
710          CALL SSPEVX( 'N''I''U'1, A, 0.00.0120.0, M, X, Z,
711      $                1, W, IW, I3, INFO )
712          CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
713          INFOT = 14
714          CALL SSPEVX( 'V''A''U'2, A, 0.00.0000.0, M, X, Z,
715      $                1, W, IW, I3, INFO )
716          CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
717          NT = NT + 10
718 *
719 *     Test error exits for the SB path.
720 *
721       ELSE IF( LSAMEN( 2, C2, 'SB' ) ) THEN
722 *
723 *        SSBTRD
724 *
725          SRNAMT = 'SSBTRD'
726          INFOT = 1
727          CALL SSBTRD( '/''U'00, A, 1, D, E, Z, 1, W, INFO )
728          CALL CHKXER( 'SSBTRD', INFOT, NOUT, LERR, OK )
729          INFOT = 2
730          CALL SSBTRD( 'N''/'00, A, 1, D, E, Z, 1, W, INFO )
731          CALL CHKXER( 'SSBTRD', INFOT, NOUT, LERR, OK )
732          INFOT = 3
733          CALL SSBTRD( 'N''U'-10, A, 1, D, E, Z, 1, W, INFO )
734          CALL CHKXER( 'SSBTRD', INFOT, NOUT, LERR, OK )
735          INFOT = 4
736          CALL SSBTRD( 'N''U'0-1, A, 1, D, E, Z, 1, W, INFO )
737          CALL CHKXER( 'SSBTRD', INFOT, NOUT, LERR, OK )
738          INFOT = 6
739          CALL SSBTRD( 'N''U'11, A, 1, D, E, Z, 1, W, INFO )
740          CALL CHKXER( 'SSBTRD', INFOT, NOUT, LERR, OK )
741          INFOT = 10
742          CALL SSBTRD( 'V''U'20, A, 1, D, E, Z, 1, W, INFO )
743          CALL CHKXER( 'SSBTRD', INFOT, NOUT, LERR, OK )
744          NT = NT + 6
745 *
746 *        SSBEVD
747 *
748          SRNAMT = 'SSBEVD'
749          INFOT = 1
750          CALL SSBEVD( '/''U'00, A, 1, X, Z, 1, W, 1, IW, 1, INFO )
751          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
752          INFOT = 2
753          CALL SSBEVD( 'N''/'00, A, 1, X, Z, 1, W, 1, IW, 1, INFO )
754          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
755          INFOT = 3
756          CALL SSBEVD( 'N''U'-10, A, 1, X, Z, 1, W, 1, IW, 1,
757      $                INFO )
758          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
759          INFOT = 4
760          CALL SSBEVD( 'N''U'0-1, A, 1, X, Z, 1, W, 1, IW, 1,
761      $                INFO )
762          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
763          INFOT = 6
764          CALL SSBEVD( 'N''U'21, A, 1, X, Z, 1, W, 4, IW, 1, INFO )
765          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
766          INFOT = 9
767          CALL SSBEVD( 'V''U'21, A, 2, X, Z, 1, W, 25, IW, 12,
768      $                INFO )
769          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
770          INFOT = 11
771          CALL SSBEVD( 'N''U'10, A, 1, X, Z, 1, W, 0, IW, 1, INFO )
772          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
773          INFOT = 11
774          CALL SSBEVD( 'N''U'20, A, 1, X, Z, 1, W, 3, IW, 1, INFO )
775          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
776          INFOT = 11
777          CALL SSBEVD( 'V''U'20, A, 1, X, Z, 2, W, 18, IW, 12,
778      $                INFO )
779          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
780          INFOT = 13
781          CALL SSBEVD( 'N''U'10, A, 1, X, Z, 1, W, 1, IW, 0, INFO )
782          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
783          INFOT = 13
784          CALL SSBEVD( 'V''U'20, A, 1, X, Z, 2, W, 25, IW, 11,
785      $                INFO )
786          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
787          NT = NT + 11
788 *
789 *        SSBEV
790 *
791          SRNAMT = 'SSBEV '
792          INFOT = 1
793          CALL SSBEV( '/''U'00, A, 1, X, Z, 1, W, INFO )
794          CALL CHKXER( 'SSBEV ', INFOT, NOUT, LERR, OK )
795          INFOT = 2
796          CALL SSBEV( 'N''/'00, A, 1, X, Z, 1, W, INFO )
797          CALL CHKXER( 'SSBEV ', INFOT, NOUT, LERR, OK )
798          INFOT = 3
799          CALL SSBEV( 'N''U'-10, A, 1, X, Z, 1, W, INFO )
800          CALL CHKXER( 'SSBEV ', INFOT, NOUT, LERR, OK )
801          INFOT = 4
802          CALL SSBEV( 'N''U'0-1, A, 1, X, Z, 1, W, INFO )
803          CALL CHKXER( 'SSBEV ', INFOT, NOUT, LERR, OK )
804          INFOT = 6
805          CALL SSBEV( 'N''U'21, A, 1, X, Z, 1, W, INFO )
806          CALL CHKXER( 'SSBEV ', INFOT, NOUT, LERR, OK )
807          INFOT = 9
808          CALL SSBEV( 'V''U'20, A, 1, X, Z, 1, W, INFO )
809          CALL CHKXER( 'SSBEV ', INFOT, NOUT, LERR, OK )
810          NT = NT + 6
811 *
812 *        SSBEVX
813 *
814          SRNAMT = 'SSBEVX'
815          INFOT = 1
816          CALL SSBEVX( '/''A''U'00, A, 1, Q, 10.00.000,
817      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
818          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
819          INFOT = 2
820          CALL SSBEVX( 'N''/''U'00, A, 1, Q, 10.00.000,
821      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
822          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
823          INFOT = 3
824          CALL SSBEVX( 'N''A''/'00, A, 1, Q, 10.00.000,
825      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
826          INFOT = 4
827          CALL SSBEVX( 'N''A''U'-10, A, 1, Q, 10.00.000,
828      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
829          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
830          INFOT = 5
831          CALL SSBEVX( 'N''A''U'0-1, A, 1, Q, 10.00.000,
832      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
833          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
834          INFOT = 7
835          CALL SSBEVX( 'N''A''U'21, A, 1, Q, 10.00.000,
836      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
837          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
838          INFOT = 9
839          CALL SSBEVX( 'V''A''U'20, A, 1, Q, 10.00.000,
840      $                0.0, M, X, Z, 2, W, IW, I3, INFO )
841          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
842          INFOT = 11
843          CALL SSBEVX( 'N''V''U'10, A, 1, Q, 10.00.000,
844      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
845          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
846          INFOT = 12
847          CALL SSBEVX( 'N''I''U'10, A, 1, Q, 10.00.000,
848      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
849          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
850          INFOT = 12
851          CALL SSBEVX( 'N''I''U'10, A, 1, Q, 10.00.021,
852      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
853          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
854          INFOT = 13
855          CALL SSBEVX( 'N''I''U'20, A, 1, Q, 10.00.021,
856      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
857          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
858          INFOT = 13
859          CALL SSBEVX( 'N''I''U'10, A, 1, Q, 10.00.012,
860      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
861          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
862          INFOT = 18
863          CALL SSBEVX( 'V''A''U'20, A, 1, Q, 20.00.000,
864      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
865          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
866          NT = NT + 13
867       END IF
868 *
869 *     Print a summary line.
870 *
871       IF( OK ) THEN
872          WRITE( NOUT, FMT = 9999 )PATH, NT
873       ELSE
874          WRITE( NOUT, FMT = 9998 )PATH
875       END IF
876 *
877  9999 FORMAT1X, A3, ' routines passed the tests of the error exits',
878      $      ' (', I3, ' tests done)' )
879  9998 FORMAT' *** ', A3, ' routines failed the tests of the error ',
880      $      'exits ***' )
881 *
882       RETURN
883 *
884 *     End of SERRST
885 *
886       END