RETURNF
RETURNF(-1 / x - 1);
RETURNF(x + x); /* x is +Inf or +NaN */
RETURNF(huge * huge);
RETURNF(tiny - 1); /* good for x < -114ln2 - eps */
RETURNF(-1 / x);
RETURNF(x + x); /* x is +Inf or +NaN */
RETURNF(huge * huge);
RETURNF(tiny * tiny);
RETURNF(1 + x); /* 1 with inexact iff x != 0 */
#define RETURN1(rp, v) RETURNF(v)
RETURNF(-1 / zero); /* log1p(-1) = -Inf */
RETURNF((x - x) / (x - x));
RETURNF(x); /* x with inexact if x != 0 */
RETURNF(x + x); /* log1p(Inf or NaN) = Inf or qNaN */
RETURNF(-1 / x - 1);
RETURNF(x + x); /* x is +Inf, +NaN or unsupported */
RETURNF(huge * huge);
RETURNF(tiny - 1); /* good for x < -65ln2 - eps */
RETURNF(-1 / x);
RETURNF(x + x); /* x is +Inf, +NaN or unsupported */
RETURNF(huge * huge);
RETURNF(tiny * tiny);
RETURNF(1 + x); /* 1 with inexact iff x != 0 */
#define RETURN1(rp, v) RETURNF(v)
RETURNF(-1 / zero); /* log1p(-1) = -Inf */
RETURNF((x - x) / (x - x));
RETURNF(x); /* x with inexact if x != 0 */
RETURNF(x + x); /* log1p(Inf or NaN) = Inf or qNaN */
RETURNF(__retval); \
#define RETURNI(x) RETURNF(x)
RETURNF((rp)->hi); \
RETURNF((rp)->hi + (rp)->lo); \