Skip to content

Drop the absolute floor from the splitting test in xSTEBZ - #1385

Open
rmlarsen wants to merge 1 commit into
Reference-LAPACK:masterfrom
rmlarsen:stebz-relative-split
Open

Drop the absolute floor from the splitting test in xSTEBZ#1385
rmlarsen wants to merge 1 commit into
Reference-LAPACK:masterfrom
rmlarsen:stebz-relative-split

Conversation

@rmlarsen

@rmlarsen rmlarsen commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Disclaimer: This PR was prepared using Claude Code.

Summary

xSTEBZ treats an off-diagonal entry as negligible when e(j)**2 < ulp**2 * |d(j) d(j+1)| + SAFEMN. The SAFEMN term makes the test absolute: any |e(j)| below sqrt(SAFEMN) (1.5e-154 in double precision) splits the matrix whatever its neighbours are. The drivers that call xSTEBZ (xSTEVX, xSYEVX, xHEEVX, xSPEVX, xHPEVX, xSBEVX, xHBEVX, and xSTEVR/xSYEVR/xHEEVR for RANGE = 'V' or after an xSTEMR failure) scale a small matrix up only to RMIN = sqrt(SAFMIN/ULP) (1e-146), where that floor corresponds to |e(j)|/|T| < sqrt(ULP) = 1.5e-8. So for every matrix whose largest entry is below sqrt(SAFMIN)/ULP (6.7e-139) the drivers silently drop off-diagonal entries of relative size between ULP and 1.5e-8: the eigenvalues are wrong by up to 1.5e-8 * |T| and the eigenvectors have residuals of the same size, all with INFO = 0, while xSTEV/xSYEV (QR) return them to working precision. This PR replaces the test by Kahan's relative criterion e(j)**2 < ulp**2 * |d(j) d(j+1)| (or e(j) = 0), which is what xLARRA already uses for the MRRR drivers, and fixes an "underflow"/"overflow" typo in the xLAEBZ documentation. Two code files, two documentation files.

Description

For T = s * tridiag(1, r, 1) of order 6 the eigenvalues are $s\,(1 + 2r\cos(k\pi/7))$ exactly. Maximum eigenvalue error divided by n * ulp * |T| on master; DSTEVX(A) uses the documented "most accurate" ABSTOL = 2*DLAMCH('S'):

s r DSTEV DSTEVX(A) DSTEVX(I) DSTEVX(V) DSTEVR(V) DSYEVX(I) DSYEVR(V) ZHEEVX(I) DSPEVX(I) DSBEVX(I)
1e-146 1e-8 0.2 1.3e7 9.4e6 1.3e7 1.3e7 9.4e6 1.3e7 9.4e6 9.4e6 9.4e6
1e-150 1e-9 0.1 1.3e6 9.4e5 1.3e6 1.3e6 9.4e5 1.3e6 9.4e5 9.4e5 9.4e5
1e-290 1e-10 0.2 1.3e5 9.4e4 1.3e5 1.3e5 9.4e4 1.3e5 9.4e4 9.4e4 9.4e4
1e-140 1e-14 0.2 13 9.4 13 13 9.4 13 9.4 9.4 9.4

The eigenvector residuals $\|Tz - wz\| / (\|T\|\,\|z\|\,n\,\mathrm{ulp})$ are the same numbers to within 25%. With this branch every entry of the table is below 0.25. At s = 1e-140 the drivers do not scale and the floor still discards |e| = 1e-154; at r = 1e-6, and at every r for s >= 1e-138, master is already accurate, which locates the affected region exactly at |e(j)| < sqrt(SAFEMN) next to diagonal entries below sqrt(SAFEMN)/ULP.

The test suite cannot see this: the smallest matrix scale in xCHKST/xDRVST is RTUNFL*N*ULPINV = 6.7e-139 * N, precisely the scale at which the floor stops mattering.

Fix. The threshold is formed as (|d(j)| ulp) (|d(j+1)| ulp), which is bit-identical to |d(j) d(j+1)| ulp**2 whenever the latter is finite and does not overflow before e(j)**2 does, so an off-diagonal next to two entries above 1.3e154 is no longer declared negligible by an infinite threshold (that case is outside the range xSTEBZ documents, but the old test turned it into a wrong answer with INFO = 0). e(j) = 0 splits as before. For a matrix in the normal range the only entries whose treatment changes are off-diagonals below 1.5e-154 sitting between two diagonal entries below 2e-138: they now stay in their block instead of being zeroed, their squares take part in the Sturm counts as subnormal numbers, and the twin sweep below shows the counts unaffected. A nonzero e(j) whose square underflows to zero still splits, which the Sturm sequence could not distinguish from zero anyway.

Minimal reproducer

! DSTEVX on T = 1e-150 * tridiag(1, 1e-9, 1), n = 6, ABSTOL = 2*DLAMCH('S').
program minimal
  implicit none
  integer, parameter :: n = 6
  double precision :: d(n), e(n-1), w(n), z(n,n), work(5*n), abstol, dlamch, pi, wex(n)
  integer :: iwork(5*n), ifail(n), info, m, k
  external dlamch
  pi = 4*atan(1d0)
  d = 1d-150
  e = 1d-159
  abstol = 2*dlamch('S')
  call dstevx('N', 'A', n, d, e, 0d0, 0d0, 0, 0, abstol, m, w, z, n, work, iwork, ifail, info)
  do k = 1, n
    wex(n+1-k) = 1d-150*(1 + 2d-9*cos(k*pi/(n+1)))
  end do
  print '(a,i2)', 'DSTEVX info = ', info
  print '(a,6f14.10)', '(w - 1e-150) * 1e159, computed: ', (w - 1d-150)*1d159
  print '(a,6f14.10)', '                        exact: ', (wex - 1d-150)*1d159
end program
BEFORE (master):
DSTEVX info =  0
(w - 1e-150) * 1e159, computed:   0.0000000000  0.0000000000  0.0000000000  0.0000000000  0.0000000000  0.0000000000
                        exact:  -1.8019377711 -1.2469795971 -0.4450419127  0.4450417770  1.2469795971  1.8019377711
AFTER (this branch):
DSTEVX info =  0
(w - 1e-150) * 1e159, computed:  -1.8019377711 -1.2469797328 -0.4450419127  0.4450417770  1.2469795971  1.8019374998
                        exact:  -1.8019377711 -1.2469795971 -0.4450419127  0.4450417770  1.2469795971  1.8019377711

The remaining differences are one ulp of |T|.

Regression test. xCHKST gets a matrix type 22: a tridiagonal matrix with equal diagonal entries and an off-diagonal entry one tenth of the square root of an ulp of them, at sqrt( SAFMIN / EPS ), the smallest norm the eigenvalue drivers scale a matrix up to. The square of that off-diagonal entry underflows, which is exactly what the absolute term of the old test hid and what the relative test sees.

Two existing ratios catch it, the comparison of xSTEBZ against xSTERF and the residual of the eigenvectors xSTEIN builds from its blocks: on the parent commit the type fails 7 ratios per run in single precision and 8 in double, at 1e6 and above against a threshold of 60, and with the fix all of them pass. The 'I' against 'V' comparison is skipped for this type, because the interval that test builds is floored at twice the square root of the underflow threshold, which is wider than the whole spectrum of such a matrix, so the two ranges cannot agree either way. All four xCHKST files carry the type, since the complex ones call the real xSTEBZ as well.

Adding the type raises the number of types in sep.in past the count that made ALAREQ read its list, so MAXTYP for the symmetric problem goes to 22 in all four xCHKEE files; the two-stage checker clamps to its own 21 and ignores the new type.

Validation

  • The full LAPACK test suite passes on this branch: 5446341 LAPACK tests, 0 numerical errors, 0 other errors (ctest: 100% of 215 tests passed). The 4440 tests above the parent commit are the new type.
  • The sweep above (7 scales x 6 ratios x 11 routines, eigenvalues and eigenvector residuals against the closed form) is clean for every driver at every scale on this branch; the only rows still above tolerance are direct DSTEBZ calls at |T| = 1e-290, outside the range xSTEBZ documents (e(j)**2 underflows to zero there), which the drivers handle by scaling.
  • A power-of-two twin sweep of DSTEBZ + DSTEIN on T * 2**k for 42 values of k from -1070 to 1020, compared line by line with master: eigenvalues, block structure, INFO and eigenvectors are identical for every k at which master was correct (-508 <= k <= 507); at k = -510 ... -520 master splits the matrix completely and returns the diagonal, this branch returns the eigenvalues to working precision; at k = 512, 513 master aborts in DSTEIN (XERBLA, illegal IBLOCK), this branch returns INFO = 1 from DSTEBZ like master does for larger k.

Found while auditing the tridiagonal bisection and inverse-iteration routines; the routines themselves are correct within their documented range, this is the one place where the drivers' scaling and xSTEBZ's splitting disagree.

@codecov

codecov Bot commented Sep 7, 2026

Copy link
Copy Markdown

❌ 10 Tests Failed:

Tests completed Failed Passed Skipped
329 10 319 32
View the top 3 failed test(s) by shortest run time
BLAS.blas::cblat2.out (COMPLEX Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS.blas::cblat3.out (COMPLEX Level 3 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS.blas::dblat2.out (DOUBLE PRECISION Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS.blas::sblat2.out (REAL Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS.blas::sblat3.out (REAL Level 3 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS.blas::zblat2.out (COMPLEX16 Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS.blas::zblat3.out (COMPLEX16 Level 3 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS_64.blas::sblat2_64.out (REAL Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
CBLAS.cblas::ztest2.out (COMPLEX16 C interface to Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
CBLAS_64.cblas::ctest3_64.out (COMPLEX C interface to Level 3 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
CBLAS_64.cblas::ztest2_64.out (COMPLEX16 C interface to Level 2 BLAS routines)
Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS_64.blas::cblat2_64.out (COMPLEX Level 2 BLAS routines)
Stack Traces | 0.02s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS_64.blas::cblat3_64.out (COMPLEX Level 3 BLAS routines)
Stack Traces | 0.02s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS_64.blas::dblat2_64.out (DOUBLE PRECISION Level 2 BLAS routines)
Stack Traces | 0.02s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS_64.blas::dblat3_64.out (DOUBLE PRECISION Level 3 BLAS routines)
Stack Traces | 0.02s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS_64.blas::zblat2_64.out (COMPLEX16 Level 2 BLAS routines)
Stack Traces | 0.02s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS_64.blas::zblat3_64.out (COMPLEX16 Level 3 BLAS routines)
Stack Traces | 0.02s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
LAPACK_64.eig::sec_64.out (REAL Eigen Condition)
Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to STRSYL_64 parameter number  1 had an illegal value
LAPACK.eig::ccsd.out (COMPLEX CS Decomposition routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CUNCSD parameter number  7 had an illegal value
LAPACK.eig::cec.out (COMPLEX Eigen Condition)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CTRSYL parameter number  1 had an illegal value
LAPACK.eig::cgd.out (COMPLEX Nonsymmetric Generalized Eigenvalue Problem driver)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGES parameter number  1 had an illegal value
LAPACK.eig::cgg.out (COMPLEX Nonsymmetric Generalized Eigenvalue Problem)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGHRD parameter number  1 had an illegal value
LAPACK.eig::cglm.out (COMPLEX Generalized Linear Regression Model routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGGLM parameter number  1 had an illegal value
LAPACK.eig::cgqr.out (COMPLEX Generalized QR and RQ factorization routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGQRF parameter number  1 had an illegal value
LAPACK.eig::cgsv.out (COMPLEX Generalized Singular Value Decomposition routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGSVD3 parameter number  1 had an illegal value
LAPACK.eig::clse.out (COMPLEX Constrained Linear Least Squares routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGLSE parameter number  1 had an illegal value
LAPACK.eig::csb.out (COMPLEX Symmetric Eigenvalue Problem)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CHBTRD parameter number  1 had an illegal value
LAPACK.eig::cse2.out (COMPLEX Symmetric Eigenvalue Problem 2-stage)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CHETRD parameter number  1 had an illegal value
LAPACK.eig::csep.out (COMPLEX Symmetric Eigenvalue Problem)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CHETRD parameter number  1 had an illegal value
LAPACK.eig::csvd.out (COMPLEX Singular Value Decomposition)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGEBRD parameter number  1 had an illegal value
LAPACK.eig::dcsd.out (DOUBLE PRECISION CS Decomposition routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DORCSD parameter number  7 had an illegal value
LAPACK.eig::dec.out (DOUBLE PRECISION Eigen Condition)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DTRSYL parameter number  1 had an illegal value
LAPACK.eig::dgd.out (DOUBLE PRECISION Nonsymmetric Generalized Eigenvalue Problem driver)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGES parameter number  1 had an illegal value
LAPACK.eig::dgg.out (DOUBLE PRECISION Nonsymmetric Generalized Eigenvalue Problem)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGHRD parameter number  1 had an illegal value
LAPACK.eig::dglm.out (DOUBLE PRECISION Generalized Linear Regression Model routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGGLM parameter number  1 had an illegal value
LAPACK.eig::dgqr.out (DOUBLE PRECISION Generalized QR and RQ factorization routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGQRF parameter number  1 had an illegal value
LAPACK.eig::dgsv.out (DOUBLE PRECISION Generalized Singular Value Decomposition routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGSVD3 parameter number  1 had an illegal value
LAPACK.eig::dlse.out (DOUBLE PRECISION Constrained Linear Least Squares routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGLSE parameter number  1 had an illegal value
LAPACK.eig::dnep.out (DOUBLE PRECISION Nonsymmetric Eigenvalue Problem)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGEBAL parameter number  1 had an illegal value
LAPACK.eig::dsb.out (DOUBLE PRECISION Symmetric Eigenvalue Problem)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DSBTRD parameter number  1 had an illegal value
LAPACK.eig::dse2.out (DOUBLE PRECISION Symmetric Eigenvalue Problem 2-stage)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DSYTRD parameter number  1 had an illegal value
LAPACK.eig::dsep.out (DOUBLE PRECISION Symmetric Eigenvalue Problem)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DSYTRD parameter number  1 had an illegal value
LAPACK.eig::dsvd.out (DOUBLE PRECISION Singular Value Decomposition)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGEBRD parameter number  1 had an illegal value
LAPACK.eig::scsd.out (REAL CS Decomposition routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SORCSD parameter number  7 had an illegal value
LAPACK.eig::sec.out (REAL Eigen Condition)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to STRSYL parameter number  1 had an illegal value
LAPACK.eig::sed.out (REAL Nonsymmetric Eigenvalue)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGEEV parameter number  1 had an illegal value
LAPACK.eig::sgd.out (REAL Nonsymmetric Generalized Eigenvalue Problem driver)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGES parameter number  1 had an illegal value
LAPACK.eig::sgg.out (REAL Nonsymmetric Generalized Eigenvalue Problem)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGHRD parameter number  1 had an illegal value
LAPACK.eig::sglm.out (REAL Generalized Linear Regression Model routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGGLM parameter number  1 had an illegal value
LAPACK.eig::sgqr.out (REAL Generalized QR and RQ factorization routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGQRF parameter number  1 had an illegal value
LAPACK.eig::sgsv.out (REAL Generalized Singular Value Decomposition routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGSVD3 parameter number  1 had an illegal value
LAPACK.eig::slse.out (REAL Constrained Linear Least Squares routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGLSE parameter number  1 had an illegal value
LAPACK.eig::ssb.out (REAL Symmetric Eigenvalue Problem)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SSBTRD parameter number  1 had an illegal value
LAPACK.eig::sse2.out (REAL Symmetric Eigenvalue Problem 2-stage)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SSYTRD parameter number  1 had an illegal value
LAPACK.eig::ssep.out (REAL Symmetric Eigenvalue Problem)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SSYTRD parameter number  1 had an illegal value
LAPACK.eig::ssvd.out (REAL Singular Value Decomposition)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGEBRD parameter number  1 had an illegal value
LAPACK.eig::zcsd.out (COMPLEX16 CS Decomposition routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZUNCSD parameter number  7 had an illegal value
LAPACK.eig::zec.out (COMPLEX16 Eigen Condition)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZTRSYL parameter number  1 had an illegal value
LAPACK.eig::zgd.out (COMPLEX16 Nonsymmetric Generalized Eigenvalue Problem driver)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGES parameter number  1 had an illegal value
LAPACK.eig::zgg.out (COMPLEX16 Nonsymmetric Generalized Eigenvalue Problem)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGHRD parameter number  1 had an illegal value
LAPACK.eig::zglm.out (COMPLEX16 Generalized Linear Regression Model routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGGLM parameter number  1 had an illegal value
LAPACK.eig::zgqr.out (COMPLEX16 Generalized QR and RQ factorization routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGQRF parameter number  1 had an illegal value
LAPACK.eig::zgsv.out (COMPLEX16 Generalized Singular Value Decomposition routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGSVD3 parameter number  1 had an illegal value
LAPACK.eig::zlse.out (COMPLEX16 Constrained Linear Least Squares routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGLSE parameter number  1 had an illegal value
LAPACK.eig::zsb.out (COMPLEX16 Symmetric Eigenvalue Problem)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZHBTRD parameter number  1 had an illegal value
LAPACK.eig::zse2.out (COMPLEX16 Symmetric Eigenvalue Problem 2-stage)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZHETRD parameter number  1 had an illegal value
LAPACK.eig::zsep.out (COMPLEX16 Symmetric Eigenvalue Problem)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZHETRD parameter number  1 had an illegal value
LAPACK.eig::zsvd.out (COMPLEX16 Singular Value Decomposition)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGEBRD parameter number  1 had an illegal value
LAPACK.lin::ctest.out (COMPLEX Linear Equation routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGETRF parameter number  1 had an illegal value
LAPACK.lin::dtest.out (DOUBLE PRECISION Linear Equation routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGETRF parameter number  1 had an illegal value
LAPACK.lin::stest.out (REAL Linear Equation routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGETRF parameter number  1 had an illegal value
LAPACK.lin::ztest.out (COMPLEX16 Linear Equation routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGETRF parameter number  1 had an illegal value
LAPACK.mixed::dstest.out (DOUBLE PRECISION Mixed Precision linear equation routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DSGESV parameter number  1 had an illegal value
LAPACK.mixed::zctest.out (COMPLEX16 Mixed Precision linear equation routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZCGESV parameter number  1 had an illegal value
LAPACK.rfp::ctest_rfp.out (COMPLEX RFP linear equation routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CPFTRF parameter number  1 had an illegal value
LAPACK.rfp::dtest_rfp.out (DOUBLE PRECISION RFP linear equation routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DPFTRF parameter number  1 had an illegal value
LAPACK.rfp::ztest_rfp.out (COMPLEX16 RFP linear equation routines)
Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZPFTRF parameter number  1 had an illegal value
View the full list of 75 ❄️ flaky test(s)
BLAS.blas::dblat3.out (DOUBLE PRECISION Level 3 BLAS routines)

Flake rate in main: 15.17% (Passed 738 times, Failed 132 times)

Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
BLAS_64.blas::sblat3_64.out (REAL Level 3 BLAS routines)

Flake rate in main: 22.13% (Passed 482 times, Failed 137 times)

Stack Traces | 0.02s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
CBLAS_64.cblas::dtest3_64.out (DOUBLE PRECISION C interface to Level 3 BLAS routines)

Flake rate in main: 5.00% (Passed 19 times, Failed 1 times)

Stack Traces | 0s run time
1 other error(s) (illegal: 0, info: 1), 0 test(s) run
output ends without 'END OF TESTS': the driver did not finish
LAPACK.eig::ced.out (COMPLEX Nonsymmetric Eigenvalue)

Flake rate in main: 42.04% (Passed 1376 times, Failed 998 times)

Stack Traces | 0.26s run time
157 numerical error(s), 14074 test(s) run
 CES:   40 out of  3812 tests failed to pass the threshold
 CEV:   58 out of  1096 tests failed to pass the threshold
 CSX:   59 out of  3994 tests failed to pass the threshold
LAPACK.eig::cnep.out (COMPLEX Nonsymmetric Eigenvalue Problem)

Flake rate in main: 27.16% (Passed 1719 times, Failed 641 times)

Stack Traces | 0.1s run time
361 numerical error(s), 46 other error(s) (illegal: 0, info: 46), 10080 test(s) run
 CCHKHS: CHSEIN(R) returned INFO=     1.
 CCHKHS: CHSEIN(L) returned INFO=     1.
 CCHKHS: CHSEIN(R) returned INFO=    14.
 CCHKHS: CHSEIN(L) returned INFO=    14.
 CCHKHS: CHSEIN(R) returned INFO=    15.
 CCHKHS: CHSEIN(L) returned INFO=    15.
 CCHKHS: CHSEIN(R) returned INFO=    16.
 CCHKHS: CHSEIN(L) returned INFO=    16.
 CCHKHS: CHSEIN(R) returned INFO=    15.
 CCHKHS: CHSEIN(L) returned INFO=    15.
 CHS:   72 out of  2016 tests failed to pass the threshold
 CCHKHS: CHSEIN(L) returned INFO=     1.
 CCHKHS: CHSEIN(R) returned INFO=    12.
 CCHKHS: CHSEIN(L) returned INFO=    12.
 CCHKHS: CHSEIN(R) returned INFO=     7.
 CCHKHS: CHSEIN(L) returned INFO=    11.
 CCHKHS: CHSEIN(R) returned INFO=    16.
 CCHKHS: CHSEIN(L) returned INFO=    16.
 CCHKHS: CHSEIN(R) returned INFO=    10.
 CCHKHS: CHSEIN(L) returned INFO=    13.
 CHS:   71 out of  2016 tests failed to pass the threshold
 CCHKHS: CHSEIN(R) returned INFO=     2.
 CCHKHS: CHSEIN(L) returned INFO=     3.
 CCHKHS: CHSEIN(R) returned INFO=    12.
 CCHKHS: CHSEIN(L) returned INFO=    12.
 CCHKHS: CHSEIN(R) returned INFO=    13.
 CCHKHS: CHSEIN(L) returned INFO=    14.
 CCHKHS: CHSEIN(R) returned INFO=    16.
 CCHKHS: CHSEIN(L) returned INFO=    16.
 CCHKHS: CHSEIN(R) returned INFO=    11.
 CCHKHS: CHSEIN(L) returned INFO=    12.
 CHS:   76 out of  2016 tests failed to pass the threshold
 CCHKHS: CHSEIN(L) returned INFO=     2.
 CCHKHS: CHSEIN(R) returned INFO=    13.
 CCHKHS: CHSEIN(L) returned INFO=    13.
 CCHKHS: CHSEIN(R) returned INFO=    11.
 CCHKHS: CHSEIN(L) returned INFO=    13.
 CCHKHS: CHSEIN(R) returned INFO=    15.
 CCHKHS: CHSEIN(L) returned INFO=    16.
 CCHKHS: CHSEIN(R) returned INFO=    14.
 CCHKHS: CHSEIN(L) returned INFO=    15.
 CHS:   72 out of  2016 tests failed to pass the threshold
 CCHKHS: CHSEIN(R) returned INFO=    14.
 CCHKHS: CHSEIN(L) returned INFO=    14.
 CCHKHS: CHSEIN(R) returned INFO=    12.
 CCHKHS: CHSEIN(L) returned INFO=    13.
 CCHKHS: CHSEIN(R) returned INFO=    16.
 CCHKHS: CHSEIN(L) returned INFO=    16.
 CCHKHS: CHSEIN(R) returned INFO=    11.
 CCHKHS: CHSEIN(L) returned INFO=    11.
 CHS:   70 out of  2016 tests failed to pass the threshold
LAPACK.eig::ded.out (DOUBLE PRECISION Nonsymmetric Eigenvalue)

Flake rate in main: 34.58% (Passed 1551 times, Failed 820 times)

Stack Traces | 33.4s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGEEV parameter number  1 had an illegal value
LAPACK.eig::snep.out (REAL Nonsymmetric Eigenvalue Problem)

Flake rate in main: 28.98% (Passed 1684 times, Failed 687 times)

Stack Traces | 0.04s run time
1 numerical error(s), 10080 test(s) run
 SHS:    1 out of  2016 tests failed to pass the threshold
LAPACK.eig::zed.out (COMPLEX16 Nonsymmetric Eigenvalue)

Flake rate in main: 42.04% (Passed 1376 times, Failed 998 times)

Stack Traces | 0.29s run time
140 numerical error(s), 14072 test(s) run
 ZES:   36 out of  3814 tests failed to pass the threshold
 ZEV:   52 out of  1092 tests failed to pass the threshold
 ZSX:   52 out of  3994 tests failed to pass the threshold
LAPACK.eig::znep.out (COMPLEX16 Nonsymmetric Eigenvalue Problem)

Flake rate in main: 27.16% (Passed 1719 times, Failed 641 times)

Stack Traces | 0.13s run time
444 numerical error(s), 88 other error(s) (illegal: 0, info: 88), 10080 test(s) run
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=     2.
 ZCHKHS: ZHSEIN(R) returned INFO=     8.
 ZCHKHS: ZHSEIN(L) returned INFO=    15.
 ZCHKHS: ZHSEIN(R) returned INFO=     1.
 ZCHKHS: ZHSEIN(L) returned INFO=     1.
 ZCHKHS: ZHSEIN(R) returned INFO=     2.
 ZCHKHS: ZHSEIN(L) returned INFO=     2.
 ZCHKHS: ZHSEIN(R) returned INFO=    14.
 ZCHKHS: ZHSEIN(L) returned INFO=    14.
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZHS:   88 out of  2016 tests failed to pass the threshold
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=     7.
 ZCHKHS: ZHSEIN(R) returned INFO=     1.
 ZCHKHS: ZHSEIN(L) returned INFO=     1.
 ZCHKHS: ZHSEIN(R) returned INFO=    15.
 ZCHKHS: ZHSEIN(L) returned INFO=    15.
 ZCHKHS: ZHSEIN(R) returned INFO=     1.
 ZCHKHS: ZHSEIN(L) returned INFO=     1.
 ZCHKHS: ZHSEIN(R) returned INFO=     1.
 ZCHKHS: ZHSEIN(L) returned INFO=     1.
 ZCHKHS: ZHSEIN(R) returned INFO=    12.
 ZCHKHS: ZHSEIN(L) returned INFO=    12.
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZHS:   94 out of  2016 tests failed to pass the threshold
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZCHKHS: ZHSEIN(R) returned INFO=     5.
 ZCHKHS: ZHSEIN(L) returned INFO=    10.
 ZCHKHS: ZHSEIN(R) returned INFO=    15.
 ZCHKHS: ZHSEIN(L) returned INFO=    15.
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZCHKHS: ZHSEIN(R) returned INFO=     1.
 ZCHKHS: ZHSEIN(L) returned INFO=     1.
 ZCHKHS: ZHSEIN(R) returned INFO=    12.
 ZCHKHS: ZHSEIN(L) returned INFO=    12.
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZHS:   88 out of  2016 tests failed to pass the threshold
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZCHKHS: ZHSEIN(R) returned INFO=     5.
 ZCHKHS: ZHSEIN(L) returned INFO=    11.
 ZCHKHS: ZHSEIN(R) returned INFO=     1.
 ZCHKHS: ZHSEIN(L) returned INFO=     1.
 ZCHKHS: ZHSEIN(R) returned INFO=    12.
 ZCHKHS: ZHSEIN(L) returned INFO=    12.
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZHS:   82 out of  2016 tests failed to pass the threshold
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZCHKHS: ZHSEIN(R) returned INFO=    15.
 ZCHKHS: ZHSEIN(L) returned INFO=    15.
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZCHKHS: ZHSEIN(R) returned INFO=    10.
 ZCHKHS: ZHSEIN(L) returned INFO=    13.
 ZCHKHS: ZHSEIN(R) returned INFO=     1.
 ZCHKHS: ZHSEIN(L) returned INFO=     1.
 ZCHKHS: ZHSEIN(R) returned INFO=    14.
 ZCHKHS: ZHSEIN(L) returned INFO=    14.
 ZCHKHS: ZHSEIN(R) returned INFO=     1.
 ZCHKHS: ZHSEIN(L) returned INFO=     1.
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZCHKHS: ZHSEIN(R) returned INFO=    16.
 ZCHKHS: ZHSEIN(L) returned INFO=    16.
 ZHS:   92 out of  2016 tests failed to pass the threshold
LAPACK.rfp::stest_rfp.out (REAL RFP linear equation routines)

Flake rate in main: 27.16% (Passed 1719 times, Failed 641 times)

Stack Traces | 0.21s run time
1 numerical error(s), 13128 test(s) run
  STFSM auxiliary routine:     1 out of  7776 tests failed to pass the threshold
LAPACK_64.eig::ccsd_64.out (COMPLEX CS Decomposition routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CUNCSD_64 parameter number  7 had an illegal value
LAPACK_64.eig::cec_64.out (COMPLEX Eigen Condition)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CTRSYL_64 parameter number  1 had an illegal value
LAPACK_64.eig::ced_64.out (COMPLEX Nonsymmetric Eigenvalue)

Flake rate in main: 39.54% (Passed 1526 times, Failed 998 times)

Stack Traces | 0.25s run time
157 numerical error(s), 14074 test(s) run
 CES:   40 out of  3812 tests failed to pass the threshold
 CEV:   58 out of  1096 tests failed to pass the threshold
 CSX:   59 out of  3994 tests failed to pass the threshold
LAPACK_64.eig::cgd_64.out (COMPLEX Nonsymmetric Generalized Eigenvalue Problem driver)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGES_64 parameter number  1 had an illegal value
LAPACK_64.eig::cgg_64.out (COMPLEX Nonsymmetric Generalized Eigenvalue Problem)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGHRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::cglm_64.out (COMPLEX Generalized Linear Regression Model routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGGLM_64 parameter number  1 had an illegal value
LAPACK_64.eig::cgqr_64.out (COMPLEX Generalized QR and RQ factorization routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGQRF_64 parameter number  1 had an illegal value
LAPACK_64.eig::cgsv_64.out (COMPLEX Generalized Singular Value Decomposition routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGSVD3_64 parameter number  1 had an illegal value
LAPACK_64.eig::clse_64.out (COMPLEX Constrained Linear Least Squares routines)

Flake rate in main: 20.92% (Passed 518 times, Failed 137 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGGLSE_64 parameter number  1 had an illegal value
LAPACK_64.eig::cnep_64.out (COMPLEX Nonsymmetric Eigenvalue Problem)

Flake rate in main: 25.62% (Passed 1861 times, Failed 641 times)

Stack Traces | 0.1s run time
361 numerical error(s), 46 other error(s) (illegal: 0, info: 46), 10080 test(s) run
 CCHKHS_64: CHSEIN_64(R) returned INFO=     1.
 CCHKHS_64: CHSEIN_64(L) returned INFO=     1.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    14.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    14.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    15.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    15.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    15.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    15.
 CHS:   72 out of  2016 tests failed to pass the threshold
 CCHKHS_64: CHSEIN_64(L) returned INFO=     1.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    12.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    12.
 CCHKHS_64: CHSEIN_64(R) returned INFO=     7.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    11.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    10.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    13.
 CHS:   71 out of  2016 tests failed to pass the threshold
 CCHKHS_64: CHSEIN_64(R) returned INFO=     2.
 CCHKHS_64: CHSEIN_64(L) returned INFO=     3.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    12.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    12.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    13.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    14.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    11.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    12.
 CHS:   76 out of  2016 tests failed to pass the threshold
 CCHKHS_64: CHSEIN_64(L) returned INFO=     2.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    13.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    13.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    11.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    13.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    15.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    14.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    15.
 CHS:   72 out of  2016 tests failed to pass the threshold
 CCHKHS_64: CHSEIN_64(R) returned INFO=    14.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    14.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    12.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    13.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    16.
 CCHKHS_64: CHSEIN_64(R) returned INFO=    11.
 CCHKHS_64: CHSEIN_64(L) returned INFO=    11.
 CHS:   70 out of  2016 tests failed to pass the threshold
LAPACK_64.eig::csb_64.out (COMPLEX Symmetric Eigenvalue Problem)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CHBTRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::cse2_64.out (COMPLEX Symmetric Eigenvalue Problem 2-stage)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CHETRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::csep_64.out (COMPLEX Symmetric Eigenvalue Problem)

Flake rate in main: 20.92% (Passed 518 times, Failed 137 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CHETRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::csvd_64.out (COMPLEX Singular Value Decomposition)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGEBRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::dcsd_64.out (DOUBLE PRECISION CS Decomposition routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DORCSD_64 parameter number  7 had an illegal value
LAPACK_64.eig::dec_64.out (DOUBLE PRECISION Eigen Condition)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DTRSYL_64 parameter number  1 had an illegal value
LAPACK_64.eig::ded_64.out (DOUBLE PRECISION Nonsymmetric Eigenvalue)

Flake rate in main: 32.58% (Passed 1697 times, Failed 820 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGEEV_64 parameter number  1 had an illegal value
LAPACK_64.eig::dgd_64.out (DOUBLE PRECISION Nonsymmetric Generalized Eigenvalue Problem driver)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGES_64 parameter number  1 had an illegal value
LAPACK_64.eig::dgg_64.out (DOUBLE PRECISION Nonsymmetric Generalized Eigenvalue Problem)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGHRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::dglm_64.out (DOUBLE PRECISION Generalized Linear Regression Model routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGGLM_64 parameter number  1 had an illegal value
LAPACK_64.eig::dgqr_64.out (DOUBLE PRECISION Generalized QR and RQ factorization routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGQRF_64 parameter number  1 had an illegal value
LAPACK_64.eig::dgsv_64.out (DOUBLE PRECISION Generalized Singular Value Decomposition routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGSVD3_64 parameter number  1 had an illegal value
LAPACK_64.eig::dlse_64.out (DOUBLE PRECISION Constrained Linear Least Squares routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGGLSE_64 parameter number  1 had an illegal value
LAPACK_64.eig::dnep_64.out (DOUBLE PRECISION Nonsymmetric Eigenvalue Problem)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGEBAL_64 parameter number  1 had an illegal value
LAPACK_64.eig::dsb_64.out (DOUBLE PRECISION Symmetric Eigenvalue Problem)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DSBTRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::dse2_64.out (DOUBLE PRECISION Symmetric Eigenvalue Problem 2-stage)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DSYTRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::dsep_64.out (DOUBLE PRECISION Symmetric Eigenvalue Problem)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DSYTRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::dsvd_64.out (DOUBLE PRECISION Singular Value Decomposition)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGEBRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::scsd_64.out (REAL CS Decomposition routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SORCSD_64 parameter number  7 had an illegal value
LAPACK_64.eig::sed_64.out (REAL Nonsymmetric Eigenvalue)

Flake rate in main: 20.92% (Passed 518 times, Failed 137 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGEEV_64 parameter number  1 had an illegal value
LAPACK_64.eig::sgd_64.out (REAL Nonsymmetric Generalized Eigenvalue Problem driver)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGES_64 parameter number  1 had an illegal value
LAPACK_64.eig::sgg_64.out (REAL Nonsymmetric Generalized Eigenvalue Problem)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGHRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::sglm_64.out (REAL Generalized Linear Regression Model routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGGLM_64 parameter number  1 had an illegal value
LAPACK_64.eig::sgqr_64.out (REAL Generalized QR and RQ factorization routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGQRF_64 parameter number  1 had an illegal value
LAPACK_64.eig::sgsv_64.out (REAL Generalized Singular Value Decomposition routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGSVD3_64 parameter number  1 had an illegal value
LAPACK_64.eig::slse_64.out (REAL Constrained Linear Least Squares routines)

Flake rate in main: 20.92% (Passed 518 times, Failed 137 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGGLSE_64 parameter number  1 had an illegal value
LAPACK_64.eig::snep_64.out (REAL Nonsymmetric Eigenvalue Problem)

Flake rate in main: 27.29% (Passed 1830 times, Failed 687 times)

Stack Traces | 0.03s run time
1 numerical error(s), 10080 test(s) run
 SHS:    1 out of  2016 tests failed to pass the threshold
LAPACK_64.eig::ssb_64.out (REAL Symmetric Eigenvalue Problem)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SSBTRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::sse2_64.out (REAL Symmetric Eigenvalue Problem 2-stage)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SSYTRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::ssep_64.out (REAL Symmetric Eigenvalue Problem)

Flake rate in main: 20.92% (Passed 518 times, Failed 137 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SSYTRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::ssvd_64.out (REAL Singular Value Decomposition)

Flake rate in main: 20.92% (Passed 518 times, Failed 137 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGEBRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::zcsd_64.out (COMPLEX16 CS Decomposition routines)

Flake rate in main: 39.29% (Passed 68 times, Failed 44 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZUNCSD_64 parameter number  7 had an illegal value
LAPACK_64.eig::zec_64.out (COMPLEX16 Eigen Condition)

Flake rate in main: 20.92% (Passed 518 times, Failed 137 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZTRSYL_64 parameter number  1 had an illegal value
LAPACK_64.eig::zed_64.out (COMPLEX16 Nonsymmetric Eigenvalue)

Flake rate in main: 39.54% (Passed 1526 times, Failed 998 times)

Stack Traces | 0.29s run time
140 numerical error(s), 14072 test(s) run
 ZES:   36 out of  3814 tests failed to pass the threshold
 ZEV:   52 out of  1092 tests failed to pass the threshold
 ZSX:   52 out of  3994 tests failed to pass the threshold
LAPACK_64.eig::zgd_64.out (COMPLEX16 Nonsymmetric Generalized Eigenvalue Problem driver)

Flake rate in main: 20.92% (Passed 518 times, Failed 137 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGES_64 parameter number  1 had an illegal value
LAPACK_64.eig::zgg_64.out (COMPLEX16 Nonsymmetric Generalized Eigenvalue Problem)

Flake rate in main: 20.92% (Passed 518 times, Failed 137 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGHRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::zglm_64.out (COMPLEX16 Generalized Linear Regression Model routines)

Flake rate in main: 20.92% (Passed 518 times, Failed 137 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGGLM_64 parameter number  1 had an illegal value
LAPACK_64.eig::zgqr_64.out (COMPLEX16 Generalized QR and RQ factorization routines)

Flake rate in main: 20.92% (Passed 518 times, Failed 137 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGQRF_64 parameter number  1 had an illegal value
LAPACK_64.eig::zgsv_64.out (COMPLEX16 Generalized Singular Value Decomposition routines)

Flake rate in main: 39.29% (Passed 68 times, Failed 44 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGSVD3_64 parameter number  1 had an illegal value
LAPACK_64.eig::zlse_64.out (COMPLEX16 Constrained Linear Least Squares routines)

Flake rate in main: 39.29% (Passed 68 times, Failed 44 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGGLSE_64 parameter number  1 had an illegal value
LAPACK_64.eig::znep_64.out (COMPLEX16 Nonsymmetric Eigenvalue Problem)

Flake rate in main: 33.95% (Passed 1667 times, Failed 857 times)

Stack Traces | 0.12s run time
444 numerical error(s), 88 other error(s) (illegal: 0, info: 88), 10080 test(s) run
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=     2.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=     8.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    15.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=     1.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=     1.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=     2.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=     2.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    14.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    14.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZHS:   88 out of  2016 tests failed to pass the threshold
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=     7.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=     1.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=     1.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    15.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    15.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=     1.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=     1.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=     1.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=     1.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    12.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    12.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZHS:   94 out of  2016 tests failed to pass the threshold
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=     5.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    10.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    15.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    15.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=     1.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=     1.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    12.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    12.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZHS:   88 out of  2016 tests failed to pass the threshold
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=     5.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    11.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=     1.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=     1.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    12.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    12.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZHS:   82 out of  2016 tests failed to pass the threshold
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    15.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    15.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    10.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    13.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=     1.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=     1.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    14.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    14.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=     1.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=     1.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(R) returned INFO=    16.
 ZCHKHS_64: ZHSEIN_64(L) returned INFO=    16.
 ZHS:   92 out of  2016 tests failed to pass the threshold
LAPACK_64.eig::zsb_64.out (COMPLEX16 Symmetric Eigenvalue Problem)

Flake rate in main: 20.92% (Passed 518 times, Failed 137 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZHBTRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::zse2_64.out (COMPLEX16 Symmetric Eigenvalue Problem 2-stage)

Flake rate in main: 20.92% (Passed 518 times, Failed 137 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZHETRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::zsep_64.out (COMPLEX16 Symmetric Eigenvalue Problem)

Flake rate in main: 20.92% (Passed 518 times, Failed 137 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZHETRD_64 parameter number  1 had an illegal value
LAPACK_64.eig::zsvd_64.out (COMPLEX16 Singular Value Decomposition)

Flake rate in main: 20.92% (Passed 518 times, Failed 137 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGEBRD_64 parameter number  1 had an illegal value
LAPACK_64.lin::ctest_64.out (COMPLEX Linear Equation routines)

Flake rate in main: 20.92% (Passed 518 times, Failed 137 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CGETRF_64 parameter number  1 had an illegal value
LAPACK_64.lin::dtest_64.out (DOUBLE PRECISION Linear Equation routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DGETRF_64 parameter number  1 had an illegal value
LAPACK_64.lin::stest_64.out (REAL Linear Equation routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGETRF_64 parameter number  1 had an illegal value
LAPACK_64.lin::ztest_64.out (COMPLEX16 Linear Equation routines)

Flake rate in main: 39.29% (Passed 68 times, Failed 44 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZGETRF_64 parameter number  1 had an illegal value
LAPACK_64.mixed::dstest_64.out (DOUBLE PRECISION Mixed Precision linear equation routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DSGESV_64 parameter number  1 had an illegal value
LAPACK_64.mixed::zctest_64.out (COMPLEX16 Mixed Precision linear equation routines)

Flake rate in main: 39.29% (Passed 68 times, Failed 44 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZCGESV_64 parameter number  1 had an illegal value
LAPACK_64.rfp::ctest_rfp_64.out (COMPLEX RFP linear equation routines)

Flake rate in main: 20.92% (Passed 518 times, Failed 137 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to CPFTRF_64 parameter number  1 had an illegal value
LAPACK_64.rfp::dtest_rfp_64.out (DOUBLE PRECISION RFP linear equation routines)

Flake rate in main: 37.93% (Passed 36 times, Failed 22 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to DPFTRF_64 parameter number  1 had an illegal value
LAPACK_64.rfp::stest_rfp_64.out (REAL RFP linear equation routines)

Flake rate in main: 25.62% (Passed 1861 times, Failed 641 times)

Stack Traces | 0.19s run time
1 numerical error(s), 13128 test(s) run
 STFSM_ auxiliary routine:     1 out of  7776 tests failed to pass the threshold
LAPACK_64.rfp::ztest_rfp_64.out (COMPLEX16 RFP linear equation routines)

Flake rate in main: 39.29% (Passed 68 times, Failed 44 times)

Stack Traces | 33.2s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to ZPFTRF_64 parameter number  1 had an illegal value

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

xSTEBZ declares an off-diagonal entry negligible when
e(j)**2 < ulp**2 |d(j) d(j+1)| + SAFEMN.  The SAFEMN term makes the
test absolute: any |e(j)| below sqrt(SAFEMN) (1.5e-154 in double
precision) splits the matrix whatever its neighbours are.  The drivers
built on xSTEBZ (xSTEVX, xSYEVX, xHEEVX, xSPEVX, xHPEVX, xSBEVX, xHBEVX,
and xSTEVR/xSYEVR/xHEEVR for RANGE = 'V') scale a small matrix up only
to RMIN = sqrt(SAFMIN/ULP), about 1e-146, where that floor corresponds
to |e(j)|/|T| < sqrt(ULP) = 1.5e-8.  So for a matrix whose largest entry
is below sqrt(SAFMIN)/ULP (6.7e-139) the drivers drop off-diagonals of
relative size between ULP and 1.5e-8: the eigenvalues are wrong by up
to 1.5e-8 |T| and the eigenvectors have residuals of the same size,
with INFO = 0, while xSTEV and xSYEV return them to working precision.
The test suite never reaches this regime; its smallest matrix scale is
RTUNFL*N/ULP, exactly where the floor stops mattering.

Use Kahan's relative criterion e(j)**2 < ulp**2 |d(j) d(j+1)|, or
e(j) = 0, as xLARRA already does, with the threshold formed as
(|d(j)| ulp)(|d(j+1)| ulp) so that it cannot overflow before e(j)**2
does.  For a matrix in the normal range this changes the treatment only
of an off-diagonal below 1.5e-154 sitting between two diagonal entries
below 2e-138, which now stays in its block.  Also correct "underflow"
to "overflow" in the scaling advice of the xLAEBZ documentation.

For T = s tridiag(1, r, 1) with the eigenvalues known in closed form,
every DSTEBZ-based driver returns eigenvalue errors of r |T| for r
between 1e-14 and 1e-8 at s <= 1e-140 on the parent commit and errors
below n ulp |T| on this branch, at every scale.  xCHKST gets a matrix type for it: type 22 is a tridiagonal matrix with
equal diagonal entries and an off-diagonal entry one tenth of the
square root of an ulp of them, at the smallest norm the drivers scale a
matrix up to.  Its off-diagonal square underflows, so the absolute term
of the old test hid it, while the relative test does not.  The existing
comparison of xSTEBZ against xSTERF, and the residual of the
eigenvectors xSTEIN builds from its blocks, both catch the difference:
on the parent commit the type fails 7 ratios in single precision and 8
in double at ratios of 1e6 and above, against a threshold of 60.  The
'I' against 'V' comparison is skipped for the type, because the
interval the test builds is floored at twice the square root of the
underflow threshold, which is wider than the whole spectrum here.  The
complex checkers carry the same type, since they call the real xSTEBZ.

A power-of-two twin
sweep of DSTEBZ + DSTEIN over 42 exponents from -1070 to 1020 is
identical to the parent wherever the parent was correct.  The full
LAPACK test suite passes: 5446341 LAPACK tests, 0 numerical errors,
0 other errors; the 4440 tests above the parent are the new type.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@rmlarsen
rmlarsen force-pushed the stebz-relative-split branch from 12b5af1 to 66f0863 Compare September 8, 2026 04:20
@rmlarsen

rmlarsen commented Sep 10, 2026

Copy link
Copy Markdown
Contributor Author

Verified on an Apple M4 (macOS, Homebrew gfortran 16.2, Release build with the CI flags). With this branch merged onto current master, the full test suite passes, the new tests fail without the fix, and the reproducer behaves as described above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant