To: J3 J3/25-190 From: Lorri Menard Subject: US19 - Missing IEEE functions Date: 2025-October-20 Reference: 23-234r2, 25-143, 25-007r1 I Introduction Paper 23-234r2 provides a comprehensive list of the IEEE-754 recommended operations, and calls out the subset that are not yet part of the Fortran standard. Paper 25-143 contains the Requirements and Specifications. It further lists each operation and connects each to its related Fortran operation. This paper is to be the Edits paper II Semantics Only generic functions are to be added for these names, with behavior to match that listed in IEEE 754 latest. III Edits 16.9 Specifications of the standard intrinsic procedures [412:13+] insert one new intrinsic {note: after COMMAND_ARGUMENT_COUNT} - COMPOUND(X, N) Description: Computes an exponential growth Class: Elemental function Arguments: X shall be of type real or complex, and must be >-1 N shall be of numeric type Result characteristics: Same as X Result value. The result has a value equal to a processor-dependent approximation to (1+X)**N. [423:28+] add these three new intrinsics {note: after EXP} - EXPM1(X) Description: Computes the exponential of the given value and subtracts one. Class: Elemental function. Argument: X shall be of type real or complex. Result characteristics: Same as X. Result value. The result has a value equal to a processor-dependent approximation to EXP(X)-1. If X is of type complex, its imaginary part is regarded as a value in radians. - EXP10M1(X) Description: Computes 10 raised to a given power and subtracts one Class: Elemental function Argument: X shall be of type real or complex Result characteristics: Same as X Result value. The result has a value equal to a processor-dependent approximation to (10**X)-1. If X is of type complex, its imaginary part is regarded as a value in radians. - EXP2M1(X) Description: Computes 2 raised to a given power and subtracts one Class: Elemental function Argument: X shall be of type real or complex Result characteristics: Same as X Result value. The result has a value equal to a processor-dependent approximation to (2**X)-1. If X is of type complex, its imaginary part is regarded as a value in radians. [445:12+] insert one intrinsic: {note: after LOG} - LOGP1(X) Description: Computes the natural logarithm of the given value plus one Class: Elemental function. Argument: X shall be of type real or complex. If X is real its value shall be greater than -1. If X is complex its value shall not be -1. Result characteristics: Same as X. Result value. The result has a value equal to a processor-dependent approximation to LOG(X+1). A result of type complex is the principal value with imaginary part 'w' in the range -pi <= 'w' <= pi. If the real part of X is less than -1 and the imaginary part of X is zero, then the imaginary part of the result is approximately pi if the imaginary part of X is positive real zero or the processor does not distinguish between positive and negative real zero, and approximately -pi if the imaginary part of X is negative real zero. [445:27+] insert three intrinsics: {note: after LOG10) - LOG10P1(X) Description: Computes the base-10 logarithm of a given value plus one Class: Elemental function Argument: X shall be of type real Result characteristics: Same as X Result value. The result has a value equal to a processor-dependent approximation to LOG10(X+1) - LOG2(X) Description: Computes the base-2 logarithm of the given value Class: Elemental function Argument: X shall be of type real or complex. If X is real its value shall be greater than zero. If X is complex its value shall not be zero. Result characteristics: Same as X Result value. The result has a value equal to a processor-dependent approximation to LOG(X)/LOG(2.) - LOG2P1(X) Description: Computes the base-2 logarithm of the given value plus one Class: Elemental function Argument: X shall be of type real or complex Result characteristics: Same as X Result value. The result has a value equal to a processor-dependent approximation to LOG2(X+1). [463:7+] insert one intrinsic {note: after POPPAR} - POW(x,y) Description: Computes the value of 'x' raised to the power 'y' Class: Elemental function Arguments: 'x' shall be of type real or complex 'y' shall be of type numeric Result characteristics: Same as 'x' Result value. The result is x**y [470:21+] insert one intrinsic {note: after RESHAPE} - ROOTN(X,N) Description: Computes the 'Nth' root of a given value Class: Elemental function Arguments: X shall be of type real or complex N shall be of type integer, and shall not be zero Result characteristics: Same as X Result value. The result is X**(1./N) [470:31+] insert one intrinsic {note: after RRSPACING} - RSQRT(x) Description: Computes the reciprocal of the square root of a given value Class: Elemental function Argument: 'x' shall be of type real or complex Result characteristics: Same as 'x' Result value. The result is 1/SQRT(x)