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