Skip to content

Scale ABSTOL with the matrix in xSTEVX and xSTEVR - #1386

Open
rmlarsen wants to merge 1 commit into
Reference-LAPACK:masterfrom
rmlarsen:stevx-abstol-scaling
Open

Scale ABSTOL with the matrix in xSTEVX and xSTEVR#1386
rmlarsen wants to merge 1 commit into
Reference-LAPACK:masterfrom
rmlarsen:stevx-abstol-scaling

Conversation

@rmlarsen

@rmlarsen rmlarsen commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Disclaimer: This PR was prepared using Claude Code.

Summary

xSTEVX and xSTEVR scale the tridiagonal matrix into [RMIN, RMAX] before calling xSTEBZ but, unlike the other 28 drivers with the same scaling block, pass the caller's ABSTOL unscaled. A positive ABSTOL is then applied to a matrix that has been multiplied by SIGMA = RMAX/|T| when |T| > RMAX = SAFMIN**(-1/4) (1.6e77 in double precision, 3e9 in single), or by RMIN/|T| when |T| < RMIN. Above RMAX bisection therefore stops as soon as an interval is narrower than ABSTOL, which in the scaled units is ABSTOL/SIGMA and can exceed the norm of the scaled matrix: SSTEVX on tridiag(1e12, 5e11, 1e12) with ABSTOL = 1e-6 |T| returns eigenvalues with relative errors of 2e-4 (3e-2 at 1e14), DSTEVX at |T| = 1e100 with ABSTOL = 1e-10 |T| returns 0.4, all with INFO = 0; SSYEVX/DSYEVX on the same matrices honour the tolerance. Below RMIN the tolerance is only applied more tightly than requested. This PR scales ABSTOL with the matrix in the four tridiagonal drivers, as ABSTLL = MAX( MIN( ABSTOL, |T| )*SIGMA, SAFMIN ), so that the scaled tolerance can neither underflow to zero nor overflow.

Description

The scaling in these drivers exists so that the caller does not have to (the drivers' RMAX is exactly the largest entry xSTEBZ documents as safe), so a matrix with entries above 3e9 in single precision or 1.6e77 in double is an ordinary input, and the routines' contract is that each eigenvalue is found to within ABSTOL (plus EPS |T|). Maximum relative eigenvalue error for T = s * tridiag(1, 0.5, 1), n = 6, whose eigenvalues are $s\,(1 + \cos(k\pi/7))$, with ABSTOL = rel * |T|:

precision s ABSTOL / |T| xSTEVX master xSTEVX this branch xSYEVX
single 1e14 1e-6 3.0e-2 7.2e-7 7.2e-7
single 1e12 1e-6 2.0e-4 7.2e-7 7.2e-7
single 1e10 1e-6 1.2e-6 6.0e-7 6.0e-7
single 1e8 1e-6 7.2e-7 7.2e-7 7.2e-7
double 1e100 1e-10 4.0e-1 5.4e-11 5.4e-11
double 1e84 1e-10 8.4e-4 5.4e-11 5.4e-11
double 1e80 1e-10 6.4e-8 5.4e-11 5.4e-11
double 1e76 1e-10 5.4e-11 5.4e-11 5.4e-11

xSTEVR reaches xSTEBZ for RANGE = 'V' and whenever xSTEMR fails, with the same unscaled ABSTOL; it is fixed the same way. Its TRYRAC decision (ABSTOL .LE. 2 N EPS) is left as in xSYEVR.

The plain ABSTLL = ABSTOL*SIGMA of xSYEVX is not enough. For the documented "most accurate" ABSTOL = 2*SAFMIN the product underflows to zero once |T| exceeds roughly RMAX/EPS (1e93 in double precision, 5e16 in single), and xSTEBZ reads a zero tolerance as a request for its default EPS*|T|, which for a graded matrix is far worse than the unscaled 2*SAFMIN master passes: DSTEVX on D = (1e100, 1), E = 5e49 (eigenvalues 1e100 and 0.75) with ABSTOL = 2*DLAMCH('S') returns 0.75 on master and 1.1e83 with the plain product, INFO = 0 (SSTEVX on D = (1e20, 1), E = 5e9: 1.8e12). In xLAEBZ an interval has converged once its width is below MAX( ABSTOL, PIVMIN, RELTOL*|lambda| ), and xSTEBZ sets PIVMIN >= SAFMIN, so every positive tolerance below SAFMIN acts exactly like SAFMIN: the floor changes nothing that did not underflow. When a tiny matrix is scaled up (|T| < RMIN, SIGMA up to about 1e154) the product can instead overflow, which traps under -ffpe-trap=overflow; a tolerance above |T| is already met by the Gershgorin interval, so capping ABSTOL at |T| before scaling changes nothing that could not overflow. xSYEVX and the other 27 drivers with the ABSTLL = ABSTOL*SIGMA block have both defects on master (DSYEVX returns 1.1e83 on the matrix above); they are left for a separate PR.

Minimal reproducer

! SSTEVX on T = 1e12 * tridiag(1, 0.5, 1), n = 6, ABSTOL = 1e-6 * |T|; exact: 1e12 * (1 + cos(k pi / 7)).
program minimal
  implicit none
  integer, parameter :: n = 6
  real :: d(n), e(n-1), w(n), z(n,n), work(8*n), abstol, pi, a(n,n), w2(n), wex(n)
  integer :: iwork(5*n), ifail(n), info, m, k, i
  pi = 4*atan(1.0)
  d = 1e12
  e = 0.5e12
  abstol = 1e-6*2e12
  a = 0
  do i = 1, n
    a(i,i) = d(i)
  end do
  do i = 1, n-1
    a(i,i+1) = e(i); a(i+1,i) = e(i)
  end do
  do k = 1, n
    wex(n+1-k) = 1e12*(1 + cos(k*pi/(n+1)))
  end do
  call sstevx('N', 'A', n, d, e, 0.0, 0.0, 0, 0, abstol, m, w, z, n, work, iwork, ifail, info)
  print '(a,i2,a,6es12.5)', 'SSTEVX info = ', info, '  w = ', w
  call ssyevx('N', 'A', 'U', n, a, n, 0.0, 0.0, 0, 0, abstol, m, w2, z, n, work, 8*n, iwork, ifail, info)
  print '(a,i2,a,6es12.5)', 'SSYEVX info = ', info, '  w = ', w2
  print '(a,6es12.5)', 'exact               ', wex
end program
BEFORE (master):
SSTEVX info =  0  w =  9.88740E+10 3.76707E+11 7.77587E+11 1.22241E+12 1.62329E+12 1.90113E+12
SSYEVX info =  0  w =  9.90314E+10 3.76509E+11 7.77479E+11 1.22252E+12 1.62349E+12 1.90097E+12
exact               9.90311E+10 3.76510E+11 7.77479E+11 1.22252E+12 1.62349E+12 1.90097E+12
AFTER (this branch):
SSTEVX info =  0  w =  9.90314E+10 3.76509E+11 7.77479E+11 1.22252E+12 1.62349E+12 1.90097E+12
SSYEVX info =  0  w =  9.90314E+10 3.76509E+11 7.77479E+11 1.22252E+12 1.62349E+12 1.90097E+12
exact               9.90311E+10 3.76510E+11 7.77479E+11 1.22252E+12 1.62349E+12 1.90097E+12

Regression test. xDRVST gets a matrix type 19: a tridiagonal matrix with equal diagonal entries and half that off the diagonal, at the "large" magnitude the existing types already use, which is above the norm from which the drivers scale down. It is the only type that asks for a positive ABSTOL, ten ulps of the matrix norm.

Nothing in the suite could have caught this. Every type passes ABSTOL = 2*SAFMIN, which is at or below the smallest pivot and therefore inert inside xLAEBZ, and the tridiagonal drivers were exercised only on the diagonal matrices of types 1 to 7, where every block of the bisection is one by one and the tolerance never enters. The new type lifts that restriction for itself alone, so xSTEV, xSTEVX, xSTEVR and xSTEVD see a genuine tridiagonal for the first time.

On the parent commit the type fails 18 ratios in single precision and 40 in double, comparing xSTEVX and xSTEVR against xSTEV; with the fix all of them pass.

Validation

  • The full LAPACK test suite passes on this branch: 5449821 LAPACK tests, 0 numerical errors, 0 other errors (ctest: 100% of 215 tests passed). The 7920 tests above the parent commit are the new type.
  • The table above; after the change xSTEVX and xSYEVX agree to the last digit at every scale.
  • ABSTOL = 2*SAFMIN on the graded matrices above: DSTEVX (RANGE = 'A' and 'V'), DSTEVR ('V'), SSTEVX and SSTEVR return 0.75 as on master. Under -ffpe-trap=overflow, D = (1e-300, 1e-301), E = 1e-301 with ABSTOL = 1e200 runs through the four drivers without a trap.
  • For ABSTOL <= 0, and for any matrix the driver does not scale, the call to xSTEBZ is unchanged.

@codecov

codecov Bot commented Sep 7, 2026

Copy link
Copy Markdown

❌ 5 Tests Failed:

Tests completed Failed Passed Skipped
226 5 221 10
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::cblat2_64.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_64.blas::cblat3_64.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_64.blas::dblat2_64.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_64.blas::dblat3_64.out (DOUBLE PRECISION 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
BLAS_64.blas::zblat2_64.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_64.blas::zblat3_64.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
CBLAS.cblas::ctest2.out (COMPLEX 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.cblas::ctest3.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.cblas::dtest2.out (DOUBLE PRECISION 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.cblas::stest3.out (REAL 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.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.cblas::ztest3.out (COMPLEX16 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::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::dtest2_64.out (DOUBLE PRECISION 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::stest2_64.out (REAL 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::stest3_64.out (REAL 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
CBLAS_64.cblas::ztest3_64.out (COMPLEX16 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.cblas::dtest3.out (DOUBLE PRECISION C interface to Level 3 BLAS routines)
Stack Traces | 0.24s run time
1 other error(s) (illegal: 0, info: 1), 60 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 | 26.6s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 | 27.7s 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 77 ❄️ 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 | 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::stest2.out (REAL C interface to Level 2 BLAS routines)

Flake rate in main: 7.46% (Passed 273 times, Failed 22 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
CBLAS_64.cblas::ctest2_64.out (COMPLEX C interface to Level 2 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
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.23s 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.09s 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 | 27.7s 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 | 27.7s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGEBAL parameter number  1 had an illegal value
LAPACK.eig::zed.out (COMPLEX16 Nonsymmetric Eigenvalue)

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

Stack Traces | 0.28s 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.17s 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.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.eig::ccsd_64.out (COMPLEX CS Decomposition routines)

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

Stack Traces | 26.6s 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 | 26.6s 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.23s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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.09s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s run time
1 other error(s) (illegal: 1, info: 0), 0 test(s) run
 ** On entry to SGEBAL_64 parameter number  1 had an illegal value
LAPACK_64.eig::ssb_64.out (REAL Symmetric Eigenvalue Problem)

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

Stack Traces | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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.28s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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.11s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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 | 26.6s 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.17s 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 | 26.6s 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.

xSTEVX and xSTEVR scale the tridiagonal matrix into [RMIN, RMAX]
before calling xSTEBZ but, unlike the other 28 drivers with the same
scaling block, pass the caller's ABSTOL unscaled.  A positive ABSTOL is
then applied to a matrix multiplied by SIGMA = RMAX / |T| whenever
|T| > RMAX = SAFMIN**(-1/4), which is 1.6e77 in double precision and
3e9 in single, so bisection stops as soon as an interval is narrower
than ABSTOL / SIGMA in the caller's units, a width that can exceed the
norm of the scaled matrix.  SSTEVX on tridiag(1e12, 5e11, 1e12) with
ABSTOL = 1e-6 |T| returns eigenvalues with relative errors of 2e-4,
3e-2 at 1e14, and DSTEVX at |T| = 1e100 with ABSTOL = 1e-10 |T| returns
0.4, all with INFO = 0, while SSYEVX and DSYEVX honour the tolerance.
Below RMIN the tolerance is only applied more tightly than requested.

Scale a positive ABSTOL with the matrix and pass
ABSTLL = MAX( MIN( ABSTOL, |T| )*SIGMA, SAFMIN ) to xSTEBZ.  The plain
product of xSYEVX is not enough: for the documented "most accurate"
ABSTOL = 2*SAFMIN it underflows to zero once |T| > RMAX/EPS, and xSTEBZ
reads a zero tolerance as a request for its default EPS*|T|, so DSTEVX
on D = (1e100, 1), E = 5e49 would return 1.1e83 for the eigenvalue
0.75.  Every positive tolerance below PIVMIN >= SAFMIN is equivalent in
xLAEBZ, so the floor changes nothing that did not underflow; a
tolerance above |T| is met by the Gershgorin interval, so the cap
changes nothing that could not overflow when a tiny matrix is scaled
up.  Nothing changes for ABSTOL <= 0 or for a matrix the driver does
not scale.

xDRVST gets a matrix type for it: type 19 is a tridiagonal matrix with
equal diagonal entries and half that off the diagonal, scaled to the
"large" magnitude of the existing types, which is above the norm the
drivers scale down from, and it is the only type that asks for a
positive ABSTOL, ten ulps of the matrix norm.  Every other type passes
2*SAFMIN, which is inert in the bisection and so cannot show the
defect, and the tridiagonal drivers were tested on diagonal matrices
alone, where each block is one by one and the tolerance never matters.
On the parent commit the type fails 18 ratios in single precision and
40 in double.

With the change xSTEVX and xSYEVX agree to the last digit
on the matrices above at every scale, and ABSTOL = 2*SAFMIN gives the
same eigenvalues as on master.  The full LAPACK test suite passes:
5449821 LAPACK tests, 0 numerical errors, 0 other errors; the 7920
tests above the parent are the new type.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@rmlarsen
rmlarsen force-pushed the stevx-abstol-scaling branch from 7885655 to b364dad Compare September 8, 2026 04:19
@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