On quality of implementation of Fortran 2008 complex intrinsic functions on branch cuts
Anton Shterenlikht

TL;DR
This paper benchmarks Fortran 2008 complex functions on branch cuts across multiple compilers and floating point formats, revealing significant implementation issues that require special handling in engineering applications.
Contribution
It provides comprehensive benchmarks and analysis of Fortran 2008 complex functions on branch cuts, highlighting the need for improved compiler implementations.
Findings
Multiple test failures across compilers, including wrong signs and NaN results.
Implementation quality is often insufficient, necessitating special code for branch cuts.
Benchmark results and reference maps are publicly available for validation.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsOptical measurement and interference techniques · Image and Object Detection Techniques · Surface Roughness and Optical Measurements
