https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107753
Bug ID: 107753 Summary: gfortran returns NaN in complex divisions (x+x*I)/(x+x*I) and (x+x*I)/(x-x*I) Product: gcc Version: 12.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: weslley.pereira at ucdenver dot edu Target Milestone: --- If `x=huge(0.0d0)` or `x=2.0d0**(dble(maxexponent(0.0d0))-1)`, the GNU Fortran 12.2.0 returns a NaN for the complex divisions `(x+x*I)/(x+x*I)` and `(x+x*I)/(x-x*I)`. We verified this after running compiler tests for the new LAPACK 3.11.0 release. All other divisions with `x=2**m`, for for `MINEXPONENT-1 <= m < MAXEXPONENT` return the expected results: `(x+x*I)/(x+x*I)=1` and `(x+x*I)/(x-x*I)=I`. Related links: How to reproduce this issue: https://godbolt.org/z/b3WKWodvn Open issue in LAPACK: https://github.com/Reference-LAPACK/lapack/issues/757 Tests added to LAPACK: https://github.com/Reference-LAPACK/lapack/pull/623