// tanh(+-max) = +-1
T(RN, 0x1.fffffep+127, 0x1p+0, 0x0p+0, INEXACT)
T(RN,-0x1.fffffep+127, -0x1p+0, 0x0p+0, INEXACT)
-T(RZ, 0x1.fffffep+127, 0x1.fffffep-1, -0x1.fffffep-1, INEXACT)
-T(RZ,-0x1.fffffep+127, -0x1.fffffep-1, 0x1.fffffep-1, INEXACT)
+T(RZ, 0x1.fffffep+127, 0x1.fffffep-1, -0x1p+0, INEXACT)
+T(RZ,-0x1.fffffep+127, -0x1.fffffep-1, 0x1p+0, INEXACT)
T(RU, 0x1.fffffep+127, 0x1p+0, 0x0p+0, INEXACT)
T(RU,-0x1.fffffep+127, -0x1.fffffep-1, 0x1p+0, INEXACT)
T(RD, 0x1.fffffep+127, 0x1.fffffep-1, -0x1p+0, INEXACT)
T(RD, -0x1p-26, -0x1p-26, -0x1.555556p-31, INEXACT)
T(RD, -0x1.4p-26, -0x1.4p-26, -0x1.4d5556p-30, INEXACT)
T(RD, -0x1.8p-26, -0x1.8p-26, -0x1.2p-29, INEXACT)
-T(RD, -0x1p-12, -0x1p-12, -0x1.555556p-3, INEXACT)
+T(RD, -0x1p-12, -0x1p-12, -0x1.555554p-3, INEXACT)
T(RD, -0x1.66p+6, -0x1p+0, 0x0p+0, INEXACT)
T(RD, -0x1.634p+9, -0x1p+0, 0x0p+0, INEXACT)
T(RD, -0x1p+126, -0x1p+0, 0x0p+0, INEXACT)
T(RU, 0x1p-26, 0x1p-26, 0x1.555556p-31, INEXACT)
T(RU, 0x1.4p-26, 0x1.4p-26, 0x1.4d5556p-30, INEXACT)
T(RU, 0x1.8p-26, 0x1.8p-26, 0x1.2p-29, INEXACT)
-T(RU, 0x1p-12, 0x1p-12, 0x1.555556p-3, INEXACT)
+T(RU, 0x1p-12, 0x1p-12, 0x1.555554p-3, INEXACT)
T(RU, 0x1.66p+6, 0x1p+0, 0x0p+0, INEXACT)
T(RU, 0x1.634p+9, 0x1p+0, 0x0p+0, INEXACT)
T(RU, 0x1p+126, 0x1p+0, 0x0p+0, INEXACT)
T(RU,-0x1.fffff8p-127,-0x1.fffff4p-127, 0x1p+0, INEXACT|UNDERFLOW)
T(RU,-0x1.fffffcp-127,-0x1.fffff8p-127, 0x1p+0, INEXACT|UNDERFLOW)
T(RU, -0x1p-126,-0x1.fffffcp-127, 0x1p+0, INEXACT|UNDERFLOW)
-T(RZ, 0x1.000002p-126, 0x1p-126, -0x1.fffffep-1, INEXACT)
-T(RZ, 0x1.000004p-126, 0x1.000002p-126, -0x1.fffffep-1, INEXACT)
-T(RZ, 0x1p-125, 0x1.fffffep-126, -0x1.fffffep-1, INEXACT)
-T(RZ, 0x1p-124, 0x1.fffffep-125, -0x1.fffffep-1, INEXACT)
-T(RZ, 0x1p-28, 0x1.fffffep-29, -0x1.fffffep-1, INEXACT)
-T(RZ, 0x1p-27, 0x1.fffffep-28, -0x1.fffffep-1, INEXACT)
-T(RZ, 0x1.8p-27, 0x1.7ffffep-27, -0x1.fffffep-1, INEXACT)
-T(RZ, 0x1p-26, 0x1.fffffep-27, -0x1.fffffep-1, INEXACT)
-T(RZ, 0x1.4p-26, 0x1.3ffffep-26, -0x1.fffffep-1, INEXACT)
-T(RZ, 0x1.8p-26, 0x1.7ffffep-26, -0x1.fffffep-1, INEXACT)
-T(RZ, 0x1p-12, 0x1.fffffep-13, -0x1.555554p-1, INEXACT)
-T(RZ, 0x1.66p+6, 0x1.fffffep-1, -0x1.fffffep-1, INEXACT)
-T(RZ, 0x1.634p+9, 0x1.fffffep-1, -0x1.fffffep-1, INEXACT)
-T(RZ, 0x1p+126, 0x1.fffffep-1, -0x1.fffffep-1, INEXACT)
-T(RZ, 0x1p+127, 0x1.fffffep-1, -0x1.fffffep-1, INEXACT)
-T(RZ, 0x1.fffffcp+127, 0x1.fffffep-1, -0x1.fffffep-1, INEXACT)
-T(RZ,-0x1.000002p-126, -0x1p-126, 0x1.fffffep-1, INEXACT)
-T(RZ,-0x1.000004p-126,-0x1.000002p-126, 0x1.fffffep-1, INEXACT)
-T(RZ, -0x1p-125,-0x1.fffffep-126, 0x1.fffffep-1, INEXACT)
-T(RZ, -0x1p-124,-0x1.fffffep-125, 0x1.fffffep-1, INEXACT)
-T(RZ, -0x1p-28, -0x1.fffffep-29, 0x1.fffffep-1, INEXACT)
-T(RZ, -0x1p-27, -0x1.fffffep-28, 0x1.fffffep-1, INEXACT)
-T(RZ, -0x1.8p-27, -0x1.7ffffep-27, 0x1.fffffep-1, INEXACT)
-T(RZ, -0x1p-26, -0x1.fffffep-27, 0x1.fffffep-1, INEXACT)
-T(RZ, -0x1.4p-26, -0x1.3ffffep-26, 0x1.fffffep-1, INEXACT)
-T(RZ, -0x1.8p-26, -0x1.7ffffep-26, 0x1.fffffep-1, INEXACT)
-T(RZ, -0x1p-12, -0x1.fffffep-13, 0x1.555554p-1, INEXACT)
-T(RZ, -0x1.66p+6, -0x1.fffffep-1, 0x1.fffffep-1, INEXACT)
-T(RZ, -0x1.634p+9, -0x1.fffffep-1, 0x1.fffffep-1, INEXACT)
-T(RZ, -0x1p+126, -0x1.fffffep-1, 0x1.fffffep-1, INEXACT)
-T(RZ, -0x1p+127, -0x1.fffffep-1, 0x1.fffffep-1, INEXACT)
-T(RZ,-0x1.fffffcp+127, -0x1.fffffep-1, 0x1.fffffep-1, INEXACT)
+T(RZ, 0x1.000002p-126, 0x1p-126, -0x1p+0, INEXACT)
+T(RZ, 0x1.000004p-126, 0x1.000002p-126, -0x1p+0, INEXACT)
+T(RZ, 0x1p-125, 0x1.fffffep-126, -0x1p+0, INEXACT)
+T(RZ, 0x1p-124, 0x1.fffffep-125, -0x1p+0, INEXACT)
+T(RZ, 0x1p-28, 0x1.fffffep-29, -0x1p+0, INEXACT)
+T(RZ, 0x1p-27, 0x1.fffffep-28, -0x1p+0, INEXACT)
+T(RZ, 0x1.8p-27, 0x1.7ffffep-27, -0x1p+0, INEXACT)
+T(RZ, 0x1p-26, 0x1.fffffep-27, -0x1p+0, INEXACT)
+T(RZ, 0x1.4p-26, 0x1.3ffffep-26, -0x1p+0, INEXACT)
+T(RZ, 0x1.8p-26, 0x1.7ffffep-26, -0x1p+0, INEXACT)
+T(RZ, 0x1p-12, 0x1.fffffep-13, -0x1.555556p-1, INEXACT)
+T(RZ, 0x1.66p+6, 0x1.fffffep-1, -0x1p+0, INEXACT)
+T(RZ, 0x1.634p+9, 0x1.fffffep-1, -0x1p+0, INEXACT)
+T(RZ, 0x1p+126, 0x1.fffffep-1, -0x1p+0, INEXACT)
+T(RZ, 0x1p+127, 0x1.fffffep-1, -0x1p+0, INEXACT)
+T(RZ, 0x1.fffffcp+127, 0x1.fffffep-1, -0x1p+0, INEXACT)
+T(RZ,-0x1.000002p-126, -0x1p-126, 0x1p+0, INEXACT)
+T(RZ,-0x1.000004p-126,-0x1.000002p-126, 0x1p+0, INEXACT)
+T(RZ, -0x1p-125,-0x1.fffffep-126, 0x1p+0, INEXACT)
+T(RZ, -0x1p-124,-0x1.fffffep-125, 0x1p+0, INEXACT)
+T(RZ, -0x1p-28, -0x1.fffffep-29, 0x1p+0, INEXACT)
+T(RZ, -0x1p-27, -0x1.fffffep-28, 0x1p+0, INEXACT)
+T(RZ, -0x1.8p-27, -0x1.7ffffep-27, 0x1p+0, INEXACT)
+T(RZ, -0x1p-26, -0x1.fffffep-27, 0x1p+0, INEXACT)
+T(RZ, -0x1.4p-26, -0x1.3ffffep-26, 0x1p+0, INEXACT)
+T(RZ, -0x1.8p-26, -0x1.7ffffep-26, 0x1p+0, INEXACT)
+T(RZ, -0x1p-12, -0x1.fffffep-13, 0x1.555556p-1, INEXACT)
+T(RZ, -0x1.66p+6, -0x1.fffffep-1, 0x1p+0, INEXACT)
+T(RZ, -0x1.634p+9, -0x1.fffffep-1, 0x1p+0, INEXACT)
+T(RZ, -0x1p+126, -0x1.fffffep-1, 0x1p+0, INEXACT)
+T(RZ, -0x1p+127, -0x1.fffffep-1, 0x1p+0, INEXACT)
+T(RZ,-0x1.fffffcp+127, -0x1.fffffep-1, 0x1p+0, INEXACT)
T(RZ, 0x1p-149, 0x0p+0, -0x1p+0, INEXACT|UNDERFLOW)
T(RZ, 0x1p-148, 0x1p-149, -0x1p+0, INEXACT|UNDERFLOW)
-T(RZ, 0x1p-128, 0x1.fffffp-129, -0x1.fffffep-1, INEXACT|UNDERFLOW)
-T(RZ, 0x1p-127, 0x1.fffff8p-128, -0x1.fffffep-1, INEXACT|UNDERFLOW)
-T(RZ, 0x1.fffff8p-127, 0x1.fffff4p-127, -0x1.fffffep-1, INEXACT|UNDERFLOW)
-T(RZ, 0x1.fffffcp-127, 0x1.fffff8p-127, -0x1.fffffep-1, INEXACT|UNDERFLOW)
-T(RZ, 0x1p-126, 0x1.fffffcp-127, -0x1.fffffep-1, INEXACT|UNDERFLOW)
+T(RZ, 0x1p-128, 0x1.fffffp-129, -0x1p+0, INEXACT|UNDERFLOW)
+T(RZ, 0x1p-127, 0x1.fffff8p-128, -0x1p+0, INEXACT|UNDERFLOW)
+T(RZ, 0x1.fffff8p-127, 0x1.fffff4p-127, -0x1p+0, INEXACT|UNDERFLOW)
+T(RZ, 0x1.fffffcp-127, 0x1.fffff8p-127, -0x1p+0, INEXACT|UNDERFLOW)
+T(RZ, 0x1p-126, 0x1.fffffcp-127, -0x1p+0, INEXACT|UNDERFLOW)
T(RZ, -0x1p-149, -0x0p+0, 0x1p+0, INEXACT|UNDERFLOW)
T(RZ, -0x1p-148, -0x1p-149, 0x1p+0, INEXACT|UNDERFLOW)
-T(RZ, -0x1p-128, -0x1.fffffp-129, 0x1.fffffep-1, INEXACT|UNDERFLOW)
-T(RZ, -0x1p-127,-0x1.fffff8p-128, 0x1.fffffep-1, INEXACT|UNDERFLOW)
-T(RZ,-0x1.fffff8p-127,-0x1.fffff4p-127, 0x1.fffffep-1, INEXACT|UNDERFLOW)
-T(RZ,-0x1.fffffcp-127,-0x1.fffff8p-127, 0x1.fffffep-1, INEXACT|UNDERFLOW)
-T(RZ, -0x1p-126,-0x1.fffffcp-127, 0x1.fffffep-1, INEXACT|UNDERFLOW)
+T(RZ, -0x1p-128, -0x1.fffffp-129, 0x1p+0, INEXACT|UNDERFLOW)
+T(RZ, -0x1p-127,-0x1.fffff8p-128, 0x1p+0, INEXACT|UNDERFLOW)
+T(RZ,-0x1.fffff8p-127,-0x1.fffff4p-127, 0x1p+0, INEXACT|UNDERFLOW)
+T(RZ,-0x1.fffffcp-127,-0x1.fffff8p-127, 0x1p+0, INEXACT|UNDERFLOW)
+T(RZ, -0x1p-126,-0x1.fffffcp-127, 0x1p+0, INEXACT|UNDERFLOW)