Print

Print


Might be of interest to some.

https://arxiv.org/abs/1712.10230

On quality of implementation of Fortran 2008 complex intrinsic functions on branch cuts
Anton Shterenlikht
(Submitted on 29 Dec 2017)

Branch cuts in complex functions in combination with signed zero
and signed infinity have important uses in fracture mechanics,
jet flow and aerofoil analysis. We present benchmarks for validating
Fortran 2008 complex functions - LOG, SQRT, ASIN, ACOS, ATAN,
ASINH, ACOSH and ATANH - on branch cuts with arguments
of all 3 IEEE floating point binary formats:
binary32, binary64 and binary128. Results are reported with
8 Fortran 2008 compilers: GCC, Flang, Cray, Oracle, PGI,
Intel, NAG and IBM. Multiple test failures were revealed,
e.g. wrong signs of results or unexpected overflow, underflow, or NaN.
We conclude that the quality of implementation of these Fortran 2008
intrinsics in many compilers is not yet sufficient to remove the need
for special code for branch cuts. The test results are complemented
by conformal maps of the branch cuts and detailed derivations of the
values of these functions on branch cuts, to be used as a reference.
The benchmarks are freely available from cmplx.sf.net.
This work will be of interest to engineers who use complex functions,
as well as to compiler and maths library developers.