Title
On quality of implementation of Fortran 2008 complex intrinsic functions on branch cuts.
Abstract
Branch cuts in complex functions have important uses in fracture mechanics, jet flow, and aerofoil analysis. This article introduces tests 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, including signed zero and signed infinity. Multiple test failures were revealed, such as 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 electronic appendix contains the full test results with 8 Fortran 2008 compilers: GCC, Flang, Cray, Oracle, PGI, Intel, NAG, and IBM, detailed derivations of the values of these functions on branch cuts and conformal maps of the branch cuts, to be used as a reference. The tests and the results are freely available from https://cmplx.sourceforge.io. This work will be of interest to engineers who use complex functions, as well as to compiler and math library developers.
Year
DOI
Venue
2019
10.1145/3301318
ACM Transactions on Mathematical Software (TOMS)
Keywords
DocType
Volume
ACOS, ACOSH, ASIN, ASINH, ATAN, ATANH, Fortran, LOG, SQRT, branch cuts, signed infinity, signed zero
Journal
abs/1712.10230
Issue
ISSN
Citations 
1
0098-3500
0
PageRank 
References 
Authors
0.34
5
1
Name
Order
Citations
PageRank
Anton Shterenlikht101.35