T(RD, -0x0p+0, -0x0p+0, 0x0p+0, 0)
// sqrt(+max) is finite
T(RN, 0x1.fffffep+127, 0x1.fffffep+63, -0x1p-1, INEXACT)
-T(RZ, 0x1.fffffep+127, 0x1.fffffep+63, -0x1.fffffep-2, INEXACT)
-T(RU, 0x1.fffffep+127, 0x1p+64, 0x1.000002p-2, INEXACT)
+T(RZ, 0x1.fffffep+127, 0x1.fffffep+63, -0x1p-1, INEXACT)
+T(RU, 0x1.fffffep+127, 0x1p+64, 0x1p-2, INEXACT)
T(RD, 0x1.fffffep+127, 0x1.fffffep+63, -0x1p-1, INEXACT)
// sqrt(16736281) = 4091
T(RN, 0x1.fec032p+23, 0x1.ff6p+11, 0x0p+0, 0)
T(RN, 0x1.000002p+0, 0x1p+0, -0x1p-1, INEXACT)
T(RN, 0x1p+0, 0x1p+0, 0x0p+0, 0)
T(RN, 0x1.fffffep-1, 0x1.fffffep-1, -0x1p-1, INEXACT)
-T(RZ, 0x1.000002p+0, 0x1p+0, -0x1.fffffep-2, INEXACT)
+T(RZ, 0x1.000002p+0, 0x1p+0, -0x1p-1, INEXACT)
T(RZ, 0x1p+0, 0x1p+0, 0x0p+0, 0)
-T(RZ, 0x1.fffffep-1, 0x1.fffffep-1, -0x1.fffffep-2, INEXACT)
-T(RU, 0x1.000002p+0, 0x1.000002p+0, 0x1.000002p-1, INEXACT)
+T(RZ, 0x1.fffffep-1, 0x1.fffffep-1, -0x1p-1, INEXACT)
+T(RU, 0x1.000002p+0, 0x1.000002p+0, 0x1p-1, INEXACT)
T(RU, 0x1p+0, 0x1p+0, 0x0p+0, 0)
-T(RU, 0x1.fffffep-1, 0x1p+0, 0x1.000002p-2, INEXACT)
+T(RU, 0x1.fffffep-1, 0x1p+0, 0x1p-2, INEXACT)
T(RD, 0x1.000002p+0, 0x1p+0, -0x1p-1, INEXACT)
T(RD, 0x1p+0, 0x1p+0, 0x0p+0, 0)
T(RD, 0x1.fffffep-1, 0x1.fffffep-1, -0x1p-1, INEXACT)
T(RN, 0x1.57dd34p-3, 0x1.a397d8p-2, -0x1.10b108p-3, INEXACT)
// sqrt(min subnormal) is non-zero
T(RN, 0x1p-149, 0x1.6a09e6p-75, -0x1.9fcef4p-3, INEXACT)
-T(RZ, 0x1p-149, 0x1.6a09e6p-75, -0x1.9fcef2p-3, INEXACT)
+T(RZ, 0x1p-149, 0x1.6a09e6p-75, -0x1.9fcef4p-3, INEXACT)
T(RU, 0x1p-149, 0x1.6a09e8p-75, 0x1.980c44p-1, INEXACT)
T(RD, 0x1p-149, 0x1.6a09e6p-75, -0x1.9fcef4p-3, INEXACT)
// sqrt(inf) is inf
T(RD, 0x1.2p+21, 0x1.8p+10, 0x0p+0, 0)
T(RD, 0x1p+124, 0x1p+62, 0x0p+0, 0)
T(RD, 0x1p+126, 0x1p+63, 0x0p+0, 0)
-T(RD, 0x1.fffffcp-127, 0x1.fffffcp-64, -0x1p+0, INEXACT)
-T(RD, 0x1.000004p-126, 0x1p-63, -0x1p+0, INEXACT)
+T(RD, 0x1.fffffcp-127, 0x1.fffffcp-64, -0x1.fffffep-1, INEXACT)
+T(RD, 0x1.000004p-126, 0x1p-63, -0x1.fffffep-1, INEXACT)
T(RD, 0x1.ffffeep-1, 0x1.fffff6p-1, -0x1.ffffd8p-2, INEXACT)
T(RD, 0x1.fffffp-1, 0x1.fffff6p-1, -0x1.fffffp-1, INEXACT)
T(RD, 0x1.fffff2p-1, 0x1.fffff8p-1, -0x1.ffffe8p-2, INEXACT)
-T(RD, 0x1.fffff4p-1, 0x1.fffff8p-1, -0x1.fffff8p-1, INEXACT)
+T(RD, 0x1.fffff4p-1, 0x1.fffff8p-1, -0x1.fffff6p-1, INEXACT)
T(RD, 0x1.fffff6p-1, 0x1.fffffap-1, -0x1.fffff4p-2, INEXACT)
T(RD, 0x1.fffff8p-1, 0x1.fffffap-1, -0x1.fffffcp-1, INEXACT)
T(RD, 0x1.fffffap-1, 0x1.fffffcp-1, -0x1.fffffcp-2, INEXACT)
-T(RD, 0x1.fffffcp-1, 0x1.fffffcp-1, -0x1p+0, INEXACT)
-T(RD, 0x1.000004p+0, 0x1p+0, -0x1p+0, INEXACT)
+T(RD, 0x1.fffffcp-1, 0x1.fffffcp-1, -0x1.fffffep-1, INEXACT)
+T(RD, 0x1.000004p+0, 0x1p+0, -0x1.fffffep-1, INEXACT)
T(RD, 0x1.000006p+0, 0x1.000002p+0, -0x1.fffff8p-2, INEXACT)
-T(RD, 0x1.000008p+0, 0x1.000002p+0, -0x1.fffffap-1, INEXACT)
+T(RD, 0x1.000008p+0, 0x1.000002p+0, -0x1.fffff8p-1, INEXACT)
T(RD, 0x1.00000ap+0, 0x1.000004p+0, -0x1.ffffe8p-2, INEXACT)
-T(RD, 0x1.00000cp+0, 0x1.000004p+0, -0x1.fffffp-1, INEXACT)
+T(RD, 0x1.00000cp+0, 0x1.000004p+0, -0x1.ffffeep-1, INEXACT)
T(RD, 0x1.00000ep+0, 0x1.000006p+0, -0x1.ffffdp-2, INEXACT)
-T(RD, 0x1.fffffcp+125, 0x1.fffffcp+62, -0x1p+0, INEXACT)
-T(RD, 0x1.000004p+126, 0x1p+63, -0x1p+0, INEXACT)
+T(RD, 0x1.fffffcp+125, 0x1.fffffcp+62, -0x1.fffffep-1, INEXACT)
+T(RD, 0x1.000004p+126, 0x1p+63, -0x1.fffffep-1, INEXACT)
T(RD, nan, nan, 0x0p+0, 0)
T(RD, -0x1p-148, nan, 0x0p+0, INVALID)
T(RD, -0x1.4p-147, nan, 0x0p+0, INVALID)
T(RU, 0x1p+124, 0x1p+62, 0x0p+0, 0)
T(RU, 0x1p+126, 0x1p+63, 0x0p+0, 0)
T(RU, 0x1.fffffcp-127, 0x1.fffffep-64, 0x1.000002p-25, INEXACT)
-T(RU, 0x1.000004p-126, 0x1.000002p-63, 0x1.fffffep-25, INEXACT)
-T(RU, 0x1.ffffeep-1, 0x1.fffff8p-1, 0x1.000016p-1, INEXACT)
-T(RU, 0x1.fffffp-1, 0x1.fffff8p-1, 0x1.000006p-21, INEXACT)
-T(RU, 0x1.fffff2p-1, 0x1.fffffap-1, 0x1.00000ep-1, INEXACT)
+T(RU, 0x1.000004p-126, 0x1.000002p-63, 0x1.fffffcp-25, INEXACT)
+T(RU, 0x1.ffffeep-1, 0x1.fffff8p-1, 0x1.000014p-1, INEXACT)
+T(RU, 0x1.fffffp-1, 0x1.fffff8p-1, 0x1.000004p-21, INEXACT)
+T(RU, 0x1.fffff2p-1, 0x1.fffffap-1, 0x1.00000cp-1, INEXACT)
T(RU, 0x1.fffff4p-1, 0x1.fffffap-1, 0x1.200004p-22, INEXACT)
-T(RU, 0x1.fffff6p-1, 0x1.fffffcp-1, 0x1.000008p-1, INEXACT)
-T(RU, 0x1.fffff8p-1, 0x1.fffffcp-1, 0x1.000004p-23, INEXACT)
-T(RU, 0x1.fffffap-1, 0x1.fffffep-1, 0x1.000004p-1, INEXACT)
+T(RU, 0x1.fffff6p-1, 0x1.fffffcp-1, 0x1.000006p-1, INEXACT)
+T(RU, 0x1.fffff8p-1, 0x1.fffffcp-1, 0x1.000002p-23, INEXACT)
+T(RU, 0x1.fffffap-1, 0x1.fffffep-1, 0x1.000002p-1, INEXACT)
T(RU, 0x1.fffffcp-1, 0x1.fffffep-1, 0x1.000002p-25, INEXACT)
-T(RU, 0x1.000004p+0, 0x1.000002p+0, 0x1.fffffep-25, INEXACT)
-T(RU, 0x1.000006p+0, 0x1.000004p+0, 0x1.000006p-1, INEXACT)
-T(RU, 0x1.000008p+0, 0x1.000004p+0, 0x1.fffffap-23, INEXACT)
-T(RU, 0x1.00000ap+0, 0x1.000006p+0, 0x1.00000ep-1, INEXACT)
+T(RU, 0x1.000004p+0, 0x1.000002p+0, 0x1.fffffcp-25, INEXACT)
+T(RU, 0x1.000006p+0, 0x1.000004p+0, 0x1.000004p-1, INEXACT)
+T(RU, 0x1.000008p+0, 0x1.000004p+0, 0x1.fffff8p-23, INEXACT)
+T(RU, 0x1.00000ap+0, 0x1.000006p+0, 0x1.00000cp-1, INEXACT)
T(RU, 0x1.00000cp+0, 0x1.000006p+0, 0x1.1ffffap-21, INEXACT)
-T(RU, 0x1.00000ep+0, 0x1.000008p+0, 0x1.00001ap-1, INEXACT)
+T(RU, 0x1.00000ep+0, 0x1.000008p+0, 0x1.000018p-1, INEXACT)
T(RU, 0x1.fffffcp+125, 0x1.fffffep+62, 0x1.000002p-25, INEXACT)
-T(RU, 0x1.000004p+126, 0x1.000002p+63, 0x1.fffffep-25, INEXACT)
+T(RU, 0x1.000004p+126, 0x1.000002p+63, 0x1.fffffcp-25, INEXACT)
T(RU, nan, nan, 0x0p+0, 0)
T(RU, -0x1p-148, nan, 0x0p+0, INVALID)
T(RU, -0x1.4p-147, nan, 0x0p+0, INVALID)
T(RZ, 0x1p+126, 0x1p+63, 0x0p+0, 0)
T(RZ, 0x1.fffffcp-127, 0x1.fffffcp-64, -0x1.fffffep-1, INEXACT)
T(RZ, 0x1.000004p-126, 0x1p-63, -0x1.fffffep-1, INEXACT)
-T(RZ, 0x1.ffffeep-1, 0x1.fffff6p-1, -0x1.ffffd6p-2, INEXACT)
-T(RZ, 0x1.fffffp-1, 0x1.fffff6p-1, -0x1.ffffeep-1, INEXACT)
-T(RZ, 0x1.fffff2p-1, 0x1.fffff8p-1, -0x1.ffffe6p-2, INEXACT)
+T(RZ, 0x1.ffffeep-1, 0x1.fffff6p-1, -0x1.ffffd8p-2, INEXACT)
+T(RZ, 0x1.fffffp-1, 0x1.fffff6p-1, -0x1.fffffp-1, INEXACT)
+T(RZ, 0x1.fffff2p-1, 0x1.fffff8p-1, -0x1.ffffe8p-2, INEXACT)
T(RZ, 0x1.fffff4p-1, 0x1.fffff8p-1, -0x1.fffff6p-1, INEXACT)
-T(RZ, 0x1.fffff6p-1, 0x1.fffffap-1, -0x1.fffff2p-2, INEXACT)
-T(RZ, 0x1.fffff8p-1, 0x1.fffffap-1, -0x1.fffffap-1, INEXACT)
-T(RZ, 0x1.fffffap-1, 0x1.fffffcp-1, -0x1.fffffap-2, INEXACT)
+T(RZ, 0x1.fffff6p-1, 0x1.fffffap-1, -0x1.fffff4p-2, INEXACT)
+T(RZ, 0x1.fffff8p-1, 0x1.fffffap-1, -0x1.fffffcp-1, INEXACT)
+T(RZ, 0x1.fffffap-1, 0x1.fffffcp-1, -0x1.fffffcp-2, INEXACT)
T(RZ, 0x1.fffffcp-1, 0x1.fffffcp-1, -0x1.fffffep-1, INEXACT)
T(RZ, 0x1.000004p+0, 0x1p+0, -0x1.fffffep-1, INEXACT)
-T(RZ, 0x1.000006p+0, 0x1.000002p+0, -0x1.fffff6p-2, INEXACT)
+T(RZ, 0x1.000006p+0, 0x1.000002p+0, -0x1.fffff8p-2, INEXACT)
T(RZ, 0x1.000008p+0, 0x1.000002p+0, -0x1.fffff8p-1, INEXACT)
-T(RZ, 0x1.00000ap+0, 0x1.000004p+0, -0x1.ffffe6p-2, INEXACT)
+T(RZ, 0x1.00000ap+0, 0x1.000004p+0, -0x1.ffffe8p-2, INEXACT)
T(RZ, 0x1.00000cp+0, 0x1.000004p+0, -0x1.ffffeep-1, INEXACT)
-T(RZ, 0x1.00000ep+0, 0x1.000006p+0, -0x1.ffffcep-2, INEXACT)
+T(RZ, 0x1.00000ep+0, 0x1.000006p+0, -0x1.ffffdp-2, INEXACT)
T(RZ, 0x1.fffffcp+125, 0x1.fffffcp+62, -0x1.fffffep-1, INEXACT)
T(RZ, 0x1.000004p+126, 0x1p+63, -0x1.fffffep-1, INEXACT)
T(RZ, nan, nan, 0x0p+0, 0)