_IEEE
#if _IEEE
if (!_IEEE) return (infnan(ERANGE));
if (_IEEE) /* x = NaN, -Inf */
if(!_IEEE)
#if _IEEE
#if _IEEE
#if _IEEE
#if _IEEE
#if _IEEE
#if _IEEE
#if _IEEE
#if _IEEE
#if _IEEE
#if _IEEE
#if _IEEE
#if _IEEE
#if _IEEE
#if _IEEE
if (x <= 0 || (_IEEE && x != x))
if (_IEEE && x < 0) return zero/zero;
else if (_IEEE) return -one/zero;
#if _IEEE
if (!_IEEE && !finite(b))
#if _IEEE
if (_IEEE)
if (_IEEE == 0 && !finite(t.a))
if (_IEEE)
if (_IEEE)
if (_IEEE && x == zero) /* log(0) = -Inf */
else if (_IEEE) /* log(neg) = NaN */
if (_IEEE) /* x = NaN, Inf */
if (_IEEE && m == -1022) {
if (_IEEE && m == -1022) {
else if (y==one || (_IEEE && x != x))
else if (_IEEE && y!=y) /* if y is NaN */
else if (_IEEE)
else if (_IEEE)
else if (_IEEE)
else if (_IEEE)