Floating-point extensions part 4: supplementary functions
Floating-point extensions for C - Part 4: Supplementary functions, ISO/IEC TS 18661-4:2015, defines the following new components for the C standard library, as recommended by ISO/IEC/IEEE 60559:2011 (the current revision of IEEE-754)
|    __STDC_IEC_60559_FUNCS__  | 
   integer constant of type long and value 201506L  (macro constant)  | 
|   Defined in header  
<math.h>  | |
|   compute 2x -1 (function)  | |
|    (FP Ext 4 TS)  | 
  compute 10x (function)  | 
|   compute 10x -1 (function)  | |
|    (FP Ext 4 TS)  | 
  compute ln(1+x) (same as log1p)  (function)  | 
|   compute log 2(1+x) (function)  | |
|   compute log 10(1+x) (function)  | |
|    (FP Ext 4 TS)  | 
  compute the inverse square root x-1/2 (function)  | 
|   compute compound interest, (1+x)n (function)  | |
|    (FP Ext 4 TS)  | 
  compute the nth root of x, x1/n (function)  | 
|    (FP Ext 4 TS)  | 
  compute x raised to the nth power, where n is integer  (function)  | 
|    (FP Ext 4 TS)  | 
  compute x raised to the y power, xy (function)  | 
|   compute arccos(x)/π (measuring the angle in half-revolutions)  (function)  | |
|   compute arcsin(x)/π (measuring the angle in half-revolutions)  (function)  | |
|   compute arctan(x)/π (measuring the angle in half-revolutions)  (function)  | |
|   compute arctan(y/x)/π (measuring the angle in half-revolutions)  (function)  | |
|    (FP Ext 4 TS)  | 
  compute cos(πx) (measuring the angle in half-revolutions)  (function)  | 
|    (FP Ext 4 TS)  | 
  compute sin(πx) (measuring the angle in half-revolutions)  (function)  | 
|    (FP Ext 4 TS)  | 
  compute tan(πx) (measuring the angle in half-revolutions)  (function)  | 
|   compute the sum of n members of an array  (function)  | |
|   compute the sum of the absolute values of n members of an array  (function)  | |
|   compute the sum of squares of n members of an array  (function)  | |
|   compute the dot product between n members of two arrays  (function)  | |
|   compute the product of n members of an array as a scaled value and a scale factor  (function)  | |
|   compute the dot product of n members of two arrays as a scaled value and a scale factor  (function)  | |
|   compute the product of the differences between corresponding n members of two arrays as a scaled value and a scale factor  (function)  | |
|    crexp(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of exp  (function)  | 
|    crexpm1(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of expm1  (function)  | 
|    crexp2(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of exp2  (function)  | 
|    crexp2m1(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of exp2m1  (function)  | 
|    crexp10(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of exp10  (function)  | 
|    crexp10m1(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of exp10m1  (function)  | 
|    crlog(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of log  (function)  | 
|    crlog2(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of log2  (function)  | 
|    crlog10(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of log10  (function)  | 
|    crlog1p(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of log1p  (function)  | 
|    crlogp1(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of logp1  (function)  | 
|    crlog2p1(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of log2p1  (function)  | 
|    crlog10p1(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of log10p1  (function)  | 
|    crrsqrt(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of rsqrt  (function)  | 
|    crcompoundn(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of compoundn  (function)  | 
|    crrootn(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of rootn  (function)  | 
|    crpown(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of pown  (function)  | 
|    crpow(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of pow  (function)  | 
|    crpowr(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of powr  (function)  | 
|    crsin(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of sin  (function)  | 
|    crcos(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of cos  (function)  | 
|    crtan(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of tan  (function)  | 
|    crsinpi(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of sinpi  (function)  | 
|    crcospi(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of cospi  (function)  | 
|    crtanpi(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of tanpi  (function)  | 
|    crasinpi(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of asinpi  (function)  | 
|    cracospi(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of acospi  (function)  | 
|    cracospi(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of acospi  (function)  | 
|    cratanpi(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of atanpi  (function)  | 
|    cratan2pi(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of atan2pi  (function)  | 
|    crasin(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of asin  (function)  | 
|    cracos(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of acos  (function)  | 
|    cratan(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of atan  (function)  | 
|    cratan2(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of atan2  (function)  | 
|    crsinh(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of sinh  (function)  | 
|    crcosh(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of cosh  (function)  | 
|    crtanh(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of tanh  (function)  | 
|    crasinh(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of asinh  (function)  | 
|    cracosh(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of acosh  (function)  | 
|    cratanh(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of atanh  (function)  | 
|    crhypot(optional) (FP Ext 4 TS)  | 
   correctly-rounded version of hypot  (function)  | 
|   Defined in header  
<complex.h>  | |
|    cexp2m1(optional) (FP Ext 4 TS)  | 
   complex number version of exp2m1  (function)  | 
|    cexp10(optional) (FP Ext 4 TS)  | 
   complex number version of exp10  (function)  | 
|    cexp10m1(optional) (FP Ext 4 TS)  | 
   complex number version of exp10m1  (function)  | 
|    clogp1(optional) (FP Ext 4 TS)  | 
   complex number version of logp1  (function)  | 
|    clog2p1(optional) (FP Ext 4 TS)  | 
   complex number version of log2p1  (function)  | 
|    clog10p1(optional) (FP Ext 4 TS)  | 
   complex number version of log10p1  (function)  | 
|    crsqrt (optional) (FP Ext 4 TS)  | 
   complex number version of rsqrt  (function)  | 
|    ccompoundn (optional) (FP Ext 4 TS)  | 
   complex number version of compoundn  (function)  | 
|    crootn(optional) (FP Ext 4 TS)  | 
   complex number version of rootn  (function)  | 
|    cpown (optional) (FP Ext 4 TS)  | 
   complex number version of pown  (function)  | 
|    cpowr(optional) (FP Ext 4 TS)  | 
   complex number version of powr  (function)  | 
|    cacospi(optional) (FP Ext 4 TS)  | 
   complex number version of acospi  (function)  | 
|    casinpi(optional) (FP Ext 4 TS)  | 
   complex number version of asinpi  (function)  | 
|    catanpi(optional) (FP Ext 4 TS)  | 
   complex number version of atanpi  (function)  | 
|    ccospi(optional) (FP Ext 4 TS)  | 
   complex number version of cospi  (function)  | 
|    csinpi(optional) (FP Ext 4 TS)  | 
   complex number version of sinpi  (function)  | 
|    ctanpi(optional) (FP Ext 4 TS)  | 
   complex number version of tanpi  (function)  | 
Notes
All functions added to the C library by this extension are only declared if a macro __STDC_WANT_IEC_60559_FUNCS_EXT__ is defined before math.h is included.
The decimal floating-point variants of every function are only defined if __STDC_WANT_IEC_60559_DFP_EXT__ is also defined before math.h is included.
The extended precision variants of every function are only defined if __STDC_WANT_IEC_60559_TYPES_EXT__ is defined before math.h is included.
The correctly-rounded versions of all functions (with the cr- prefix) are optional.