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

12/29/2017
by   Anton Shterenlikht, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/21/2021

Deductive Verification of Floating-Point Java Programs in KeY

Deductive verification has been successful in verifying interesting prop...
research
11/13/2020

Why Not to Use Binary Floating Point Datatypes in RDF

The XSD binary floating point datatypes are regularly used for precise n...
research
10/06/2022

Genetic algorithm formulation and tuning with use of test functions

This work discusses single-objective constrained genetic algorithm with ...
research
01/25/2020

SLEEF: A Portable Vectorized Library of C Standard Mathematical Functions

In this paper, we present techniques used to implement our portable vect...
research
02/10/2022

Learning Branch Probabilities in Compiler from Datacenter Workloads

Estimating the probability with which a conditional branch instruction i...
research
06/29/2021

An Analysis of Speculative Type Confusion Vulnerabilities in the Wild

Spectre v1 attacks, which exploit conditional branch misprediction, are ...

Please sign up or login with your details

Forgot password? Click here to reset