MATH_ERRNO, MATH_ERREXCEPT, math_errhandling
From cppreference.com
Defined in header <cmath>


#define MATH_ERRNO 1 
(since C++11)  
#define MATH_ERREXCEPT 2 
(since C++11)  
#define math_errhandling /*implementation defined*/ 
(since C++11)  
The macro constant math_errhandling
expands to an expression of type int that is either equal to MATH_ERRNO
, or equal to MATH_ERREXCEPT
, or equal to their bitwise OR (MATH_ERRNO  MATH_ERREXCEPT).
The value of math_errhandling
indicates the type of error handling that is performed by the floatingpoint operators and functions:
Constant  Explanation 
MATH_ERREXCEPT

indicates that floatingpoint exceptions are used: at least FE_DIVBYZERO, FE_INVALID, and FE_OVERFLOW are defined in <cfenv>. 
MATH_ERRNO

indicates that floatingpoint operations use the variable errno to report errors. 
The following floatingpoint error conditions are recognized:
This section is incomplete Reason: needs to be a table 
 Domain error (input argument is outside the range in which the operation is mathematically defined, e.g. std::sqrt(1), std::log(1), or std::acos(2)). If
MATH_ERRNO
bit is set, EDOM is assigned to errno. If MATH_ERREXCEPT bit is set, FE_INVALID is raised.  Range error (the mathematical result cannot be represented as the object of specified type, e.g. std::atanh(1), std::log(0.0), or std::lgamma(0.0)). If MATH_ERRNO bit is set, ERANGE is assigned to errno. If MATH_ERREXCEPT bit is set, FE_DIVBYZERO or FE_OVERFLOW is raised.
 Overflow (the mathematical result is finite, but too big to be represented without extreme roundoff error, e.g. functions such as std::exp with sufficiently large arguments). If MATH_ERRNO bit is set, ERANGE is assigned to errno. If MATH_ERREXCEPT bit is set, FE_OVERFLOW is raised.
 Underflow (the mathematical result is nonzero, but too small to be represented without extreme roundoff error, e.g. the result is subnormal, as in std::sin(subnormal) or for many other functions with subnormal arguments). If MATH_ERRNO bit is set, ERANGE may be assigned to errno. If MATH_ERREXCEPT bit is set, FE_UNDERFLOW may be raised.
Example
This section is incomplete Reason: no example 
See also
floatingpoint exceptions (macro constant)  
macro which expands to POSIXcompatible threadlocal error number variable (macro variable) 