#### Enabling IEEE Half Precision
### Rounding to nearest
Converting single-precision to half-precision
00 SINGLE: -nan / 0xffa00000  (0 => OK)
00   HALF: 0xff00  (0x1 =>     INVALID)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
01   HALF: 0xfe00  (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
02   HALF: 0xfc00  (0 => OK)
03 SINGLE: -3.40282346638528859812e+38 / 0xff7fffff  (0 => OK)
03   HALF: 0xfc00  (0x14 => OVERFLOW   INEXACT )
04 SINGLE: -1.11100004769645909791e+31 / 0xf30c3a59  (0 => OK)
04   HALF: 0xfc00  (0x14 => OVERFLOW   INEXACT )
05 SINGLE: -1.11100003258488635273e+30 / 0xf1605d5b  (0 => OK)
05   HALF: 0xfc00  (0x14 => OVERFLOW   INEXACT )
06 SINGLE: -1.08700982243137289629e-12 / 0xab98fba8  (0 => OK)
06   HALF: 0x8000  (0x18 =>  UNDERFLOW  INEXACT )
07 SINGLE: -1.78051176151664730511e-20 / 0x9ea82a22  (0 => OK)
07   HALF: 0x8000  (0x18 =>  UNDERFLOW  INEXACT )
08 SINGLE: -1.17549435082228750797e-38 / 0x80800000  (0 => OK)
08   HALF: 0x8000  (0x18 =>  UNDERFLOW  INEXACT )
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
09   HALF: 0000  (0 => OK)
10 SINGLE: 1.17549435082228750797e-38 / 0x00800000  (0 => OK)
10   HALF: 0000  (0x18 =>  UNDERFLOW  INEXACT )
11 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0 => OK)
11   HALF: 0000  (0x18 =>  UNDERFLOW  INEXACT )
12 SINGLE: 5.96045985901128005935e-08 / 0x337ffff3  (0 => OK)
12   HALF: 0x01  (0x18 =>  UNDERFLOW  INEXACT )
13 SINGLE: 6.09755988989491015673e-05 / 0x387fc00d  (0 => OK)
13   HALF: 0x3ff  (0x18 =>  UNDERFLOW  INEXACT )
14 SINGLE: 6.10351999057456851006e-05 / 0x38800006  (0 => OK)
14   HALF: 0x400  (0x10 =>    INEXACT )
15 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
15   HALF: 0x3c00  (0 => OK)
16 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
16   HALF: 0x3c01  (0 => OK)
17 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
17   HALF: 0x4000  (0 => OK)
18 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0 => OK)
18   HALF: 0x4170  (0x10 =>    INEXACT )
19 SINGLE: 3.14159274101257324219e+00 / 0x40490fdb  (0 => OK)
19   HALF: 0x4248  (0x10 =>    INEXACT )
20 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
20   HALF: 0x7bff  (0x10 =>    INEXACT )
21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
21   HALF: 0x7bff  (0 => OK)
22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
22   HALF: 0x7bff  (0x10 =>    INEXACT )
23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
23   HALF: 0x7c00  (0x14 => OVERFLOW   INEXACT )
24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
24   HALF: 0x7c00  (0x14 => OVERFLOW   INEXACT )
25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
25   HALF: 0x7c00  (0x14 => OVERFLOW   INEXACT )
26 SINGLE: 1.11100003258488635273e+30 / 0x71605d5b  (0 => OK)
26   HALF: 0x7c00  (0x14 => OVERFLOW   INEXACT )
27 SINGLE: 3.40282346638528859812e+38 / 0x7f7fffff  (0 => OK)
27   HALF: 0x7c00  (0x14 => OVERFLOW   INEXACT )
28 SINGLE: inf / 0x7f800000  (0 => OK)
28   HALF: 0x7c00  (0 => OK)
29 SINGLE: nan / 0x7fc00000  (0 => OK)
29   HALF: 0x7e00  (0 => OK)
30 SINGLE: nan / 0x7fa00000  (0 => OK)
30   HALF: 0x7f00  (0x1 =>     INVALID)
Converting single-precision to double-precision
00 SINGLE: -nan / 0xffa00000  (0 => OK)
00 DOUBLE: -nan / 0x00fffc000000000000 (0x1 =>     INVALID)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
03 SINGLE: -3.40282346638528859812e+38 / 0xff7fffff  (0 => OK)
03 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
04 SINGLE: -1.11100004769645909791e+31 / 0xf30c3a59  (0 => OK)
04 DOUBLE: -1.11100004769645909791e+31 / 0x00c661874b20000000 (0 => OK)
05 SINGLE: -1.11100003258488635273e+30 / 0xf1605d5b  (0 => OK)
05 DOUBLE: -1.11100003258488635273e+30 / 0x00c62c0bab60000000 (0 => OK)
06 SINGLE: -1.08700982243137289629e-12 / 0xab98fba8  (0 => OK)
06 DOUBLE: -1.08700982243137289629e-12 / 0x00bd731f7500000000 (0 => OK)
07 SINGLE: -1.78051176151664730511e-20 / 0x9ea82a22  (0 => OK)
07 DOUBLE: -1.78051176151664730511e-20 / 0x00bbd5054440000000 (0 => OK)
08 SINGLE: -1.17549435082228750797e-38 / 0x80800000  (0 => OK)
08 DOUBLE: -1.17549435082228750797e-38 / 0x00b810000000000000 (0 => OK)
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
10 SINGLE: 1.17549435082228750797e-38 / 0x00800000  (0 => OK)
10 DOUBLE: 1.17549435082228750797e-38 / 0x003810000000000000 (0 => OK)
11 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0 => OK)
11 DOUBLE: 2.98023223876953125000e-08 / 0x003e60000000000000 (0 => OK)
12 SINGLE: 5.96045985901128005935e-08 / 0x337ffff3  (0 => OK)
12 DOUBLE: 5.96045985901128005935e-08 / 0x003e6ffffe60000000 (0 => OK)
13 SINGLE: 6.09755988989491015673e-05 / 0x387fc00d  (0 => OK)
13 DOUBLE: 6.09755988989491015673e-05 / 0x003f0ff801a0000000 (0 => OK)
14 SINGLE: 6.10351999057456851006e-05 / 0x38800006  (0 => OK)
14 DOUBLE: 6.10351999057456851006e-05 / 0x003f100000c0000000 (0 => OK)
15 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
15 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
16 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
16 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
17 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
17 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
18 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0 => OK)
18 DOUBLE: 2.71828174591064453125e+00 / 0x004005bf0a80000000 (0 => OK)
19 SINGLE: 3.14159274101257324219e+00 / 0x40490fdb  (0 => OK)
19 DOUBLE: 3.14159274101257324219e+00 / 0x00400921fb60000000 (0 => OK)
20 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
20 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
21 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
22 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
23 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
24 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
25 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
26 SINGLE: 1.11100003258488635273e+30 / 0x71605d5b  (0 => OK)
26 DOUBLE: 1.11100003258488635273e+30 / 0x00462c0bab60000000 (0 => OK)
27 SINGLE: 3.40282346638528859812e+38 / 0x7f7fffff  (0 => OK)
27 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
28 SINGLE: inf / 0x7f800000  (0 => OK)
28 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
29 SINGLE: nan / 0x7fc00000  (0 => OK)
29 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
30 SINGLE: nan / 0x7fa00000  (0 => OK)
30 DOUBLE: nan / 0x007ffc000000000000 (0x1 =>     INVALID)
Converting double-precision to half-precision
00 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
00   HALF: 0000  (0x1 =>     INVALID)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
01   HALF: 0000  (0x1 =>     INVALID)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
02   HALF: 0000  (0x1 =>     INVALID)
03 DOUBLE: -1.79769313486231570815e+308 / 0x00ffefffffffffffff (0 => OK)
03   HALF: 0000  (0x1 =>     INVALID)
04 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
04   HALF: 0000  (0x1 =>     INVALID)
05 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
05   HALF: 0000  (0x1 =>     INVALID)
06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK)
06   HALF: 0000  (0x1 =>     INVALID)
07 DOUBLE: -1.11099999999999999085e+30 / 0x00c62c0bab523323b9 (0 => OK)
07   HALF: 0000  (0x1 =>     INVALID)
08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK)
08   HALF: 0000  (0x1 =>     INVALID)
09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK)
09   HALF: 0000  (0x1 =>     INVALID)
10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK)
10   HALF: 0000  (0x10 =>    INEXACT )
11 DOUBLE: -1.17549435082228750797e-38 / 0x00b810000000000000 (0 => OK)
11   HALF: 0000  (0x10 =>    INEXACT )
12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
12   HALF: 0000  (0 => OK)
13 DOUBLE: 1.17549435082228750797e-38 / 0x003810000000000000 (0 => OK)
13   HALF: 0000  (0x10 =>    INEXACT )
14 DOUBLE: 2.98023224000000013061e-08 / 0x003e600000001c5f68 (0 => OK)
14   HALF: 0000  (0x10 =>    INEXACT )
15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK)
15   HALF: 0000  (0x10 =>    INEXACT )
16 DOUBLE: 6.09755999999999994299e-05 / 0x003f0ff801a9af58a1 (0 => OK)
16   HALF: 0000  (0x10 =>    INEXACT )
17 DOUBLE: 6.10352000000000013665e-05 / 0x003f100000c06a1ef5 (0 => OK)
17   HALF: 0000  (0x10 =>    INEXACT )
18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
18   HALF: 0x01  (0 => OK)
19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
19   HALF: 0x01  (0x10 =>    INEXACT )
20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK)
20   HALF: 0000  (0x10 =>    INEXACT )
21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK)
21   HALF: 0000  (0x10 =>    INEXACT )
22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK)
22   HALF: 0000  (0x10 =>    INEXACT )
23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
23   HALF: 0x01  (0 => OK)
24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
24   HALF: 0x02  (0 => OK)
25 DOUBLE: 2.71828182845904509080e+00 / 0x004005bf0a8b145769 (0 => OK)
25   HALF: 0x02  (0x10 =>    INEXACT )
26 DOUBLE: 3.14159265358979311600e+00 / 0x00400921fb54442d18 (0 => OK)
26   HALF: 0x03  (0x10 =>    INEXACT )
27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
27   HALF: 0xffdf  (0 => OK)
28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
28   HALF: 0xffe0  (0 => OK)
29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
29   HALF: 0xffe1  (0 => OK)
30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
30   HALF: 0xffbf  (0 => OK)
31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
31   HALF: 0xffc0  (0 => OK)
32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
32   HALF: 0xffc1  (0 => OK)
33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK)
33   HALF: 0xffff  (0 => OK)
34 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
34   HALF: 0xffff  (0x1 =>     INVALID)
35 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
35   HALF: 0xffff  (0x1 =>     INVALID)
36 DOUBLE: 1.79769313486231570815e+308 / 0x007fefffffffffffff (0 => OK)
36   HALF: 0xffff  (0x1 =>     INVALID)
37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
37   HALF: 0xffff  (0x1 =>     INVALID)
38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
38   HALF: 0000  (0x1 =>     INVALID)
39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK)
39   HALF: 0000  (0x1 =>     INVALID)
40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
40   HALF: 0000  (0x1 =>     INVALID)
Converting double-precision to single-precision
00 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
00 SINGLE: nan / 0x7fe00000  (0x1 =>     INVALID)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
03 DOUBLE: -1.79769313486231570815e+308 / 0x00ffefffffffffffff (0 => OK)
03 SINGLE: -inf / 0xff800000  (0x14 => OVERFLOW   INEXACT )
04 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
04 SINGLE: -3.40282346638528859812e+38 / 0xff7fffff  (0 => OK)
05 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
05 SINGLE: -3.40282346638528859812e+38 / 0xff7fffff  (0 => OK)
06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK)
06 SINGLE: -1.11100004769645909791e+31 / 0xf30c3a59  (0x10 =>    INEXACT )
07 DOUBLE: -1.11099999999999999085e+30 / 0x00c62c0bab523323b9 (0 => OK)
07 SINGLE: -1.11100003258488635273e+30 / 0xf1605d5b  (0x10 =>    INEXACT )
08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK)
08 SINGLE: -2.00000000000000000000e+00 / 0xc0000000  (0 => OK)
09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK)
09 SINGLE: -1.00000000000000000000e+00 / 0xbf800000  (0 => OK)
10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK)
10 SINGLE: -0.00000000000000000000e+00 / 0x80000000  (0x18 =>  UNDERFLOW  INEXACT )
11 DOUBLE: -1.17549435082228750797e-38 / 0x00b810000000000000 (0 => OK)
11 SINGLE: -1.17549435082228750797e-38 / 0x80800000  (0 => OK)
12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
12 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
13 DOUBLE: 1.17549435082228750797e-38 / 0x003810000000000000 (0 => OK)
13 SINGLE: 1.17549435082228750797e-38 / 0x00800000  (0 => OK)
14 DOUBLE: 2.98023224000000013061e-08 / 0x003e600000001c5f68 (0 => OK)
14 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0x10 =>    INEXACT )
15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK)
15 SINGLE: 5.96045985901128005935e-08 / 0x337ffff3  (0x10 =>    INEXACT )
16 DOUBLE: 6.09755999999999994299e-05 / 0x003f0ff801a9af58a1 (0 => OK)
16 SINGLE: 6.09755988989491015673e-05 / 0x387fc00d  (0x10 =>    INEXACT )
17 DOUBLE: 6.10352000000000013665e-05 / 0x003f100000c06a1ef5 (0 => OK)
17 SINGLE: 6.10351999057456851006e-05 / 0x38800006  (0x10 =>    INEXACT )
18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
18 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
19 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK)
20 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0x18 =>  UNDERFLOW  INEXACT )
21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK)
21 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0x18 =>  UNDERFLOW  INEXACT )
22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK)
22 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0x18 =>  UNDERFLOW  INEXACT )
23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
23 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
24 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
25 DOUBLE: 2.71828182845904509080e+00 / 0x004005bf0a8b145769 (0 => OK)
25 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0x10 =>    INEXACT )
26 DOUBLE: 3.14159265358979311600e+00 / 0x00400921fb54442d18 (0 => OK)
26 SINGLE: 3.14159274101257324219e+00 / 0x40490fdb  (0x10 =>    INEXACT )
27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
27 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
28 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
29 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
30 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
31 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
32 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK)
33 SINGLE: 2.14748364800000000000e+09 / 0x4f000000  (0x10 =>    INEXACT )
34 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
34 SINGLE: 3.40282346638528859812e+38 / 0x7f7fffff  (0 => OK)
35 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
35 SINGLE: 3.40282346638528859812e+38 / 0x7f7fffff  (0 => OK)
36 DOUBLE: 1.79769313486231570815e+308 / 0x007fefffffffffffff (0 => OK)
36 SINGLE: inf / 0x7f800000  (0x14 => OVERFLOW   INEXACT )
37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
37 SINGLE: inf / 0x7f800000  (0 => OK)
38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
38 SINGLE: nan / 0x7fc00000  (0 => OK)
39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK)
39 SINGLE: nan / 0x7fc00000  (0x1 =>     INVALID)
40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
40 SINGLE: nan / 0x7fe00000  (0x1 =>     INVALID)
Converting half-precision to single-precision
00   HALF: 0xffff  (0 => OK)
00 SINGLE: -nan / 0xffffe000  (0 => OK)
01   HALF: 0xfcff  (0 => OK)
01 SINGLE: -nan / 0xffdfe000  (0x1 =>     INVALID)
02   HALF: 0xfc01  (0 => OK)
02 SINGLE: -nan / 0xffc02000  (0x1 =>     INVALID)
03   HALF: 0xfc00  (0 => OK)
03 SINGLE: -inf / 0xff800000  (0 => OK)
04   HALF: 0xfbff  (0 => OK)
04 SINGLE: -6.55040000000000000000e+04 / 0xc77fe000  (0 => OK)
05   HALF: 0xc000  (0 => OK)
05 SINGLE: -2.00000000000000000000e+00 / 0xc0000000  (0 => OK)
06   HALF: 0xbc00  (0 => OK)
06 SINGLE: -1.00000000000000000000e+00 / 0xbf800000  (0 => OK)
07   HALF: 0x8001  (0 => OK)
07 SINGLE: -5.96046447753906250000e-08 / 0xb3800000  (0 => OK)
08   HALF: 0x8000  (0 => OK)
08 SINGLE: -0.00000000000000000000e+00 / 0x80000000  (0 => OK)
09   HALF: 0000  (0 => OK)
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
10   HALF: 0x01  (0 => OK)
10 SINGLE: 5.96046447753906250000e-08 / 0x33800000  (0 => OK)
11   HALF: 0x3c00  (0 => OK)
11 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
12   HALF: 0x7bff  (0 => OK)
12 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
13   HALF: 0x7c00  (0 => OK)
13 SINGLE: inf / 0x7f800000  (0 => OK)
14   HALF: 0x7c01  (0 => OK)
14 SINGLE: nan / 0x7fc02000  (0x1 =>     INVALID)
15   HALF: 0x7cff  (0 => OK)
15 SINGLE: nan / 0x7fdfe000  (0x1 =>     INVALID)
16   HALF: 0x7fff  (0 => OK)
16 SINGLE: nan / 0x7fffe000  (0 => OK)
Converting half-precision to double-precision
00   HALF: 0xffff  (0 => OK)
00 DOUBLE: 6.55350000000000000000e+04 / 0x0040efffe000000000 (0 => OK)
01   HALF: 0xfcff  (0 => OK)
01 DOUBLE: 6.47670000000000000000e+04 / 0x0040ef9fe000000000 (0 => OK)
02   HALF: 0xfc01  (0 => OK)
02 DOUBLE: 6.45130000000000000000e+04 / 0x0040ef802000000000 (0 => OK)
03   HALF: 0xfc00  (0 => OK)
03 DOUBLE: 6.45120000000000000000e+04 / 0x0040ef800000000000 (0 => OK)
04   HALF: 0xfbff  (0 => OK)
04 DOUBLE: 6.45110000000000000000e+04 / 0x0040ef7fe000000000 (0 => OK)
05   HALF: 0xc000  (0 => OK)
05 DOUBLE: 4.91520000000000000000e+04 / 0x0040e8000000000000 (0 => OK)
06   HALF: 0xbc00  (0 => OK)
06 DOUBLE: 4.81280000000000000000e+04 / 0x0040e7800000000000 (0 => OK)
07   HALF: 0x8001  (0 => OK)
07 DOUBLE: 3.27690000000000000000e+04 / 0x0040e0002000000000 (0 => OK)
08   HALF: 0x8000  (0 => OK)
08 DOUBLE: 3.27680000000000000000e+04 / 0x0040e0000000000000 (0 => OK)
09   HALF: 0000  (0 => OK)
09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
10   HALF: 0x01  (0 => OK)
10 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
11   HALF: 0x3c00  (0 => OK)
11 DOUBLE: 1.53600000000000000000e+04 / 0x0040ce000000000000 (0 => OK)
12   HALF: 0x7bff  (0 => OK)
12 DOUBLE: 3.17430000000000000000e+04 / 0x0040deffc000000000 (0 => OK)
13   HALF: 0x7c00  (0 => OK)
13 DOUBLE: 3.17440000000000000000e+04 / 0x0040df000000000000 (0 => OK)
14   HALF: 0x7c01  (0 => OK)
14 DOUBLE: 3.17450000000000000000e+04 / 0x0040df004000000000 (0 => OK)
15   HALF: 0x7cff  (0 => OK)
15 DOUBLE: 3.19990000000000000000e+04 / 0x0040df3fc000000000 (0 => OK)
16   HALF: 0x7fff  (0 => OK)
16 DOUBLE: 3.27670000000000000000e+04 / 0x0040dfffc000000000 (0 => OK)
### Rounding upwards
Converting single-precision to half-precision
00 SINGLE: -nan / 0xffa00000  (0 => OK)
00   HALF: 0xff00  (0x1 =>     INVALID)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
01   HALF: 0xfe00  (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
02   HALF: 0xfc00  (0 => OK)
03 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0 => OK)
03   HALF: 0xfbff  (0x14 => OVERFLOW   INEXACT )
04 SINGLE: -1.11100004769645909790e+31 / 0xf30c3a59  (0 => OK)
04   HALF: 0xfbff  (0x14 => OVERFLOW   INEXACT )
05 SINGLE: -1.11100003258488635272e+30 / 0xf1605d5b  (0 => OK)
05   HALF: 0xfbff  (0x14 => OVERFLOW   INEXACT )
06 SINGLE: -1.08700982243137289628e-12 / 0xab98fba8  (0 => OK)
06   HALF: 0x8000  (0x18 =>  UNDERFLOW  INEXACT )
07 SINGLE: -1.78051176151664730511e-20 / 0x9ea82a22  (0 => OK)
07   HALF: 0x8000  (0x18 =>  UNDERFLOW  INEXACT )
08 SINGLE: -1.17549435082228750796e-38 / 0x80800000  (0 => OK)
08   HALF: 0x8000  (0x18 =>  UNDERFLOW  INEXACT )
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
09   HALF: 0000  (0 => OK)
10 SINGLE: 1.17549435082228750797e-38 / 0x00800000  (0 => OK)
10   HALF: 0x01  (0x18 =>  UNDERFLOW  INEXACT )
11 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0 => OK)
11   HALF: 0x01  (0x18 =>  UNDERFLOW  INEXACT )
12 SINGLE: 5.96045985901128005935e-08 / 0x337ffff3  (0 => OK)
12   HALF: 0x01  (0x18 =>  UNDERFLOW  INEXACT )
13 SINGLE: 6.09755988989491015673e-05 / 0x387fc00d  (0 => OK)
13   HALF: 0x400  (0x18 =>  UNDERFLOW  INEXACT )
14 SINGLE: 6.10351999057456851006e-05 / 0x38800006  (0 => OK)
14   HALF: 0x401  (0x10 =>    INEXACT )
15 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
15   HALF: 0x3c00  (0 => OK)
16 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
16   HALF: 0x3c01  (0 => OK)
17 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
17   HALF: 0x4000  (0 => OK)
18 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0 => OK)
18   HALF: 0x4170  (0x10 =>    INEXACT )
19 SINGLE: 3.14159274101257324219e+00 / 0x40490fdb  (0 => OK)
19   HALF: 0x4249  (0x10 =>    INEXACT )
20 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
20   HALF: 0x7bff  (0x10 =>    INEXACT )
21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
21   HALF: 0x7bff  (0 => OK)
22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
22   HALF: 0x7c00  (0x14 => OVERFLOW   INEXACT )
23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
23   HALF: 0x7c00  (0x14 => OVERFLOW   INEXACT )
24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
24   HALF: 0x7c00  (0x14 => OVERFLOW   INEXACT )
25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
25   HALF: 0x7c00  (0x14 => OVERFLOW   INEXACT )
26 SINGLE: 1.11100003258488635273e+30 / 0x71605d5b  (0 => OK)
26   HALF: 0x7c00  (0x14 => OVERFLOW   INEXACT )
27 SINGLE: 3.40282346638528859812e+38 / 0x7f7fffff  (0 => OK)
27   HALF: 0x7c00  (0x14 => OVERFLOW   INEXACT )
28 SINGLE: inf / 0x7f800000  (0 => OK)
28   HALF: 0x7c00  (0 => OK)
29 SINGLE: nan / 0x7fc00000  (0 => OK)
29   HALF: 0x7e00  (0 => OK)
30 SINGLE: nan / 0x7fa00000  (0 => OK)
30   HALF: 0x7f00  (0x1 =>     INVALID)
Converting single-precision to double-precision
00 SINGLE: -nan / 0xffa00000  (0 => OK)
00 DOUBLE: -nan / 0x00fffc000000000000 (0x1 =>     INVALID)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
03 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0 => OK)
03 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
04 SINGLE: -1.11100004769645909790e+31 / 0xf30c3a59  (0 => OK)
04 DOUBLE: -1.11100004769645909790e+31 / 0x00c661874b20000000 (0 => OK)
05 SINGLE: -1.11100003258488635272e+30 / 0xf1605d5b  (0 => OK)
05 DOUBLE: -1.11100003258488635272e+30 / 0x00c62c0bab60000000 (0 => OK)
06 SINGLE: -1.08700982243137289628e-12 / 0xab98fba8  (0 => OK)
06 DOUBLE: -1.08700982243137289628e-12 / 0x00bd731f7500000000 (0 => OK)
07 SINGLE: -1.78051176151664730511e-20 / 0x9ea82a22  (0 => OK)
07 DOUBLE: -1.78051176151664730511e-20 / 0x00bbd5054440000000 (0 => OK)
08 SINGLE: -1.17549435082228750796e-38 / 0x80800000  (0 => OK)
08 DOUBLE: -1.17549435082228750796e-38 / 0x00b810000000000000 (0 => OK)
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
10 SINGLE: 1.17549435082228750797e-38 / 0x00800000  (0 => OK)
10 DOUBLE: 1.17549435082228750797e-38 / 0x003810000000000000 (0 => OK)
11 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0 => OK)
11 DOUBLE: 2.98023223876953125000e-08 / 0x003e60000000000000 (0 => OK)
12 SINGLE: 5.96045985901128005935e-08 / 0x337ffff3  (0 => OK)
12 DOUBLE: 5.96045985901128005935e-08 / 0x003e6ffffe60000000 (0 => OK)
13 SINGLE: 6.09755988989491015673e-05 / 0x387fc00d  (0 => OK)
13 DOUBLE: 6.09755988989491015673e-05 / 0x003f0ff801a0000000 (0 => OK)
14 SINGLE: 6.10351999057456851006e-05 / 0x38800006  (0 => OK)
14 DOUBLE: 6.10351999057456851006e-05 / 0x003f100000c0000000 (0 => OK)
15 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
15 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
16 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
16 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
17 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
17 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
18 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0 => OK)
18 DOUBLE: 2.71828174591064453125e+00 / 0x004005bf0a80000000 (0 => OK)
19 SINGLE: 3.14159274101257324219e+00 / 0x40490fdb  (0 => OK)
19 DOUBLE: 3.14159274101257324219e+00 / 0x00400921fb60000000 (0 => OK)
20 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
20 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
21 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
22 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
23 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
24 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
25 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
26 SINGLE: 1.11100003258488635273e+30 / 0x71605d5b  (0 => OK)
26 DOUBLE: 1.11100003258488635273e+30 / 0x00462c0bab60000000 (0 => OK)
27 SINGLE: 3.40282346638528859812e+38 / 0x7f7fffff  (0 => OK)
27 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
28 SINGLE: inf / 0x7f800000  (0 => OK)
28 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
29 SINGLE: nan / 0x7fc00000  (0 => OK)
29 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
30 SINGLE: nan / 0x7fa00000  (0 => OK)
30 DOUBLE: nan / 0x007ffc000000000000 (0x1 =>     INVALID)
Converting double-precision to half-precision
00 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
00   HALF: 0000  (0x1 =>     INVALID)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
01   HALF: 0000  (0x1 =>     INVALID)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
02   HALF: 0000  (0x1 =>     INVALID)
03 DOUBLE: -1.79769313486231570814e+308 / 0x00ffefffffffffffff (0 => OK)
03   HALF: 0000  (0x1 =>     INVALID)
04 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
04   HALF: 0000  (0x1 =>     INVALID)
05 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
05   HALF: 0000  (0x1 =>     INVALID)
06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK)
06   HALF: 0000  (0x1 =>     INVALID)
07 DOUBLE: -1.11099999999999999084e+30 / 0x00c62c0bab523323b9 (0 => OK)
07   HALF: 0000  (0x1 =>     INVALID)
08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK)
08   HALF: 0000  (0x1 =>     INVALID)
09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK)
09   HALF: 0000  (0x1 =>     INVALID)
10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK)
10   HALF: 0000  (0x10 =>    INEXACT )
11 DOUBLE: -1.17549435082228750796e-38 / 0x00b810000000000000 (0 => OK)
11   HALF: 0000  (0x10 =>    INEXACT )
12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
12   HALF: 0000  (0 => OK)
13 DOUBLE: 1.17549435082228750797e-38 / 0x003810000000000000 (0 => OK)
13   HALF: 0000  (0x10 =>    INEXACT )
14 DOUBLE: 2.98023224000000013061e-08 / 0x003e600000001c5f68 (0 => OK)
14   HALF: 0000  (0x10 =>    INEXACT )
15 DOUBLE: 5.96046000000000015662e-08 / 0x003e6ffffe6cb2fa82 (0 => OK)
15   HALF: 0000  (0x10 =>    INEXACT )
16 DOUBLE: 6.09755999999999994299e-05 / 0x003f0ff801a9af58a1 (0 => OK)
16   HALF: 0000  (0x10 =>    INEXACT )
17 DOUBLE: 6.10352000000000013665e-05 / 0x003f100000c06a1ef5 (0 => OK)
17   HALF: 0000  (0x10 =>    INEXACT )
18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
18   HALF: 0x01  (0 => OK)
19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
19   HALF: 0x01  (0x10 =>    INEXACT )
20 DOUBLE: 2.22507385850720138310e-308 / 0x000010000000000000 (0 => OK)
20   HALF: 0000  (0x10 =>    INEXACT )
21 DOUBLE: 1.37899728486072282844e-308 / 0x000009ea82a2287680 (0 => OK)
21   HALF: 0000  (0x10 =>    INEXACT )
22 DOUBLE: 1.49147387366816238764e-308 / 0x00000ab98fba843210 (0 => OK)
22   HALF: 0000  (0x10 =>    INEXACT )
23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
23   HALF: 0x01  (0 => OK)
24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
24   HALF: 0x02  (0 => OK)
25 DOUBLE: 2.71828182845904509080e+00 / 0x004005bf0a8b145769 (0 => OK)
25   HALF: 0x02  (0x10 =>    INEXACT )
26 DOUBLE: 3.14159265358979311600e+00 / 0x00400921fb54442d18 (0 => OK)
26   HALF: 0x03  (0x10 =>    INEXACT )
27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
27   HALF: 0xffdf  (0 => OK)
28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
28   HALF: 0xffe0  (0 => OK)
29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
29   HALF: 0xffe1  (0 => OK)
30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
30   HALF: 0xffbf  (0 => OK)
31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
31   HALF: 0xffc0  (0 => OK)
32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
32   HALF: 0xffc1  (0 => OK)
33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK)
33   HALF: 0xffff  (0 => OK)
34 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
34   HALF: 0xffff  (0x1 =>     INVALID)
35 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
35   HALF: 0xffff  (0x1 =>     INVALID)
36 DOUBLE: 1.79769313486231570815e+308 / 0x007fefffffffffffff (0 => OK)
36   HALF: 0xffff  (0x1 =>     INVALID)
37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
37   HALF: 0xffff  (0x1 =>     INVALID)
38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
38   HALF: 0000  (0x1 =>     INVALID)
39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK)
39   HALF: 0000  (0x1 =>     INVALID)
40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
40   HALF: 0000  (0x1 =>     INVALID)
Converting double-precision to single-precision
00 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
00 SINGLE: nan / 0x7fe00000  (0x1 =>     INVALID)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
03 DOUBLE: -1.79769313486231570814e+308 / 0x00ffefffffffffffff (0 => OK)
03 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0x14 => OVERFLOW   INEXACT )
04 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
04 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0 => OK)
05 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
05 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0 => OK)
06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK)
06 SINGLE: -1.11099992680387713644e+31 / 0xf30c3a58  (0x10 =>    INEXACT )
07 DOUBLE: -1.11099999999999999084e+30 / 0x00c62c0bab523323b9 (0 => OK)
07 SINGLE: -1.11099995702702262681e+30 / 0xf1605d5a  (0x10 =>    INEXACT )
08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK)
08 SINGLE: -2.00000000000000000000e+00 / 0xc0000000  (0 => OK)
09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK)
09 SINGLE: -1.00000000000000000000e+00 / 0xbf800000  (0 => OK)
10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK)
10 SINGLE: -0.00000000000000000000e+00 / 0x80000000  (0x18 =>  UNDERFLOW  INEXACT )
11 DOUBLE: -1.17549435082228750796e-38 / 0x00b810000000000000 (0 => OK)
11 SINGLE: -1.17549435082228750796e-38 / 0x80800000  (0 => OK)
12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
12 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
13 DOUBLE: 1.17549435082228750797e-38 / 0x003810000000000000 (0 => OK)
13 SINGLE: 1.17549435082228750797e-38 / 0x00800000  (0 => OK)
14 DOUBLE: 2.98023224000000013061e-08 / 0x003e600000001c5f68 (0 => OK)
14 SINGLE: 2.98023259404089913006e-08 / 0x33000001  (0x10 =>    INEXACT )
15 DOUBLE: 5.96046000000000015662e-08 / 0x003e6ffffe6cb2fa82 (0 => OK)
15 SINGLE: 5.96046021428264793940e-08 / 0x337ffff4  (0x10 =>    INEXACT )
16 DOUBLE: 6.09755999999999994299e-05 / 0x003f0ff801a9af58a1 (0 => OK)
16 SINGLE: 6.09756025369279086590e-05 / 0x387fc00e  (0x10 =>    INEXACT )
17 DOUBLE: 6.10352000000000013665e-05 / 0x003f100000c06a1ef5 (0 => OK)
17 SINGLE: 6.10352071817032992840e-05 / 0x38800007  (0x10 =>    INEXACT )
18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
18 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
19 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
20 DOUBLE: 2.22507385850720138310e-308 / 0x000010000000000000 (0 => OK)
20 SINGLE: 1.40129846432481707093e-45 / 0x00000001  (0x18 =>  UNDERFLOW  INEXACT )
21 DOUBLE: 1.37899728486072282844e-308 / 0x000009ea82a2287680 (0 => OK)
21 SINGLE: 1.40129846432481707093e-45 / 0x00000001  (0x18 =>  UNDERFLOW  INEXACT )
22 DOUBLE: 1.49147387366816238764e-308 / 0x00000ab98fba843210 (0 => OK)
22 SINGLE: 1.40129846432481707093e-45 / 0x00000001  (0x18 =>  UNDERFLOW  INEXACT )
23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
23 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
24 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
25 DOUBLE: 2.71828182845904509080e+00 / 0x004005bf0a8b145769 (0 => OK)
25 SINGLE: 2.71828198432922363282e+00 / 0x402df855  (0x10 =>    INEXACT )
26 DOUBLE: 3.14159265358979311600e+00 / 0x00400921fb54442d18 (0 => OK)
26 SINGLE: 3.14159274101257324219e+00 / 0x40490fdb  (0x10 =>    INEXACT )
27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
27 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
28 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
29 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
30 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
31 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
32 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK)
33 SINGLE: 2.14748364800000000000e+09 / 0x4f000000  (0x10 =>    INEXACT )
34 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
34 SINGLE: 3.40282346638528859812e+38 / 0x7f7fffff  (0 => OK)
35 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
35 SINGLE: 3.40282346638528859812e+38 / 0x7f7fffff  (0 => OK)
36 DOUBLE: 1.79769313486231570815e+308 / 0x007fefffffffffffff (0 => OK)
36 SINGLE: inf / 0x7f800000  (0x14 => OVERFLOW   INEXACT )
37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
37 SINGLE: inf / 0x7f800000  (0 => OK)
38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
38 SINGLE: nan / 0x7fc00000  (0 => OK)
39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK)
39 SINGLE: nan / 0x7fc00000  (0x1 =>     INVALID)
40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
40 SINGLE: nan / 0x7fe00000  (0x1 =>     INVALID)
Converting half-precision to single-precision
00   HALF: 0xffff  (0 => OK)
00 SINGLE: -nan / 0xffffe000  (0 => OK)
01   HALF: 0xfcff  (0 => OK)
01 SINGLE: -nan / 0xffdfe000  (0x1 =>     INVALID)
02   HALF: 0xfc01  (0 => OK)
02 SINGLE: -nan / 0xffc02000  (0x1 =>     INVALID)
03   HALF: 0xfc00  (0 => OK)
03 SINGLE: -inf / 0xff800000  (0 => OK)
04   HALF: 0xfbff  (0 => OK)
04 SINGLE: -6.55040000000000000000e+04 / 0xc77fe000  (0 => OK)
05   HALF: 0xc000  (0 => OK)
05 SINGLE: -2.00000000000000000000e+00 / 0xc0000000  (0 => OK)
06   HALF: 0xbc00  (0 => OK)
06 SINGLE: -1.00000000000000000000e+00 / 0xbf800000  (0 => OK)
07   HALF: 0x8001  (0 => OK)
07 SINGLE: -5.96046447753906250000e-08 / 0xb3800000  (0 => OK)
08   HALF: 0x8000  (0 => OK)
08 SINGLE: -0.00000000000000000000e+00 / 0x80000000  (0 => OK)
09   HALF: 0000  (0 => OK)
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
10   HALF: 0x01  (0 => OK)
10 SINGLE: 5.96046447753906250000e-08 / 0x33800000  (0 => OK)
11   HALF: 0x3c00  (0 => OK)
11 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
12   HALF: 0x7bff  (0 => OK)
12 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
13   HALF: 0x7c00  (0 => OK)
13 SINGLE: inf / 0x7f800000  (0 => OK)
14   HALF: 0x7c01  (0 => OK)
14 SINGLE: nan / 0x7fc02000  (0x1 =>     INVALID)
15   HALF: 0x7cff  (0 => OK)
15 SINGLE: nan / 0x7fdfe000  (0x1 =>     INVALID)
16   HALF: 0x7fff  (0 => OK)
16 SINGLE: nan / 0x7fffe000  (0 => OK)
Converting half-precision to double-precision
00   HALF: 0xffff  (0 => OK)
00 DOUBLE: 6.55350000000000000000e+04 / 0x0040efffe000000000 (0 => OK)
01   HALF: 0xfcff  (0 => OK)
01 DOUBLE: 6.47670000000000000000e+04 / 0x0040ef9fe000000000 (0 => OK)
02   HALF: 0xfc01  (0 => OK)
02 DOUBLE: 6.45130000000000000000e+04 / 0x0040ef802000000000 (0 => OK)
03   HALF: 0xfc00  (0 => OK)
03 DOUBLE: 6.45120000000000000000e+04 / 0x0040ef800000000000 (0 => OK)
04   HALF: 0xfbff  (0 => OK)
04 DOUBLE: 6.45110000000000000000e+04 / 0x0040ef7fe000000000 (0 => OK)
05   HALF: 0xc000  (0 => OK)
05 DOUBLE: 4.91520000000000000000e+04 / 0x0040e8000000000000 (0 => OK)
06   HALF: 0xbc00  (0 => OK)
06 DOUBLE: 4.81280000000000000000e+04 / 0x0040e7800000000000 (0 => OK)
07   HALF: 0x8001  (0 => OK)
07 DOUBLE: 3.27690000000000000000e+04 / 0x0040e0002000000000 (0 => OK)
08   HALF: 0x8000  (0 => OK)
08 DOUBLE: 3.27680000000000000000e+04 / 0x0040e0000000000000 (0 => OK)
09   HALF: 0000  (0 => OK)
09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
10   HALF: 0x01  (0 => OK)
10 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
11   HALF: 0x3c00  (0 => OK)
11 DOUBLE: 1.53600000000000000000e+04 / 0x0040ce000000000000 (0 => OK)
12   HALF: 0x7bff  (0 => OK)
12 DOUBLE: 3.17430000000000000000e+04 / 0x0040deffc000000000 (0 => OK)
13   HALF: 0x7c00  (0 => OK)
13 DOUBLE: 3.17440000000000000000e+04 / 0x0040df000000000000 (0 => OK)
14   HALF: 0x7c01  (0 => OK)
14 DOUBLE: 3.17450000000000000000e+04 / 0x0040df004000000000 (0 => OK)
15   HALF: 0x7cff  (0 => OK)
15 DOUBLE: 3.19990000000000000000e+04 / 0x0040df3fc000000000 (0 => OK)
16   HALF: 0x7fff  (0 => OK)
16 DOUBLE: 3.27670000000000000000e+04 / 0x0040dfffc000000000 (0 => OK)
### Rounding downwards
Converting single-precision to half-precision
00 SINGLE: -nan / 0xffa00000  (0 => OK)
00   HALF: 0xff00  (0x1 =>     INVALID)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
01   HALF: 0xfe00  (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
02   HALF: 0xfc00  (0 => OK)
03 SINGLE: -3.40282346638528859812e+38 / 0xff7fffff  (0 => OK)
03   HALF: 0xfc00  (0x14 => OVERFLOW   INEXACT )
04 SINGLE: -1.11100004769645909791e+31 / 0xf30c3a59  (0 => OK)
04   HALF: 0xfc00  (0x14 => OVERFLOW   INEXACT )
05 SINGLE: -1.11100003258488635273e+30 / 0xf1605d5b  (0 => OK)
05   HALF: 0xfc00  (0x14 => OVERFLOW   INEXACT )
06 SINGLE: -1.08700982243137289629e-12 / 0xab98fba8  (0 => OK)
06   HALF: 0x8001  (0x18 =>  UNDERFLOW  INEXACT )
07 SINGLE: -1.78051176151664730512e-20 / 0x9ea82a22  (0 => OK)
07   HALF: 0x8001  (0x18 =>  UNDERFLOW  INEXACT )
08 SINGLE: -1.17549435082228750797e-38 / 0x80800000  (0 => OK)
08   HALF: 0x8001  (0x18 =>  UNDERFLOW  INEXACT )
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
09   HALF: 0000  (0 => OK)
10 SINGLE: 1.17549435082228750796e-38 / 0x00800000  (0 => OK)
10   HALF: 0000  (0x18 =>  UNDERFLOW  INEXACT )
11 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0 => OK)
11   HALF: 0000  (0x18 =>  UNDERFLOW  INEXACT )
12 SINGLE: 5.96045985901128005934e-08 / 0x337ffff3  (0 => OK)
12   HALF: 0000  (0x18 =>  UNDERFLOW  INEXACT )
13 SINGLE: 6.09755988989491015672e-05 / 0x387fc00d  (0 => OK)
13   HALF: 0x3ff  (0x18 =>  UNDERFLOW  INEXACT )
14 SINGLE: 6.10351999057456851005e-05 / 0x38800006  (0 => OK)
14   HALF: 0x400  (0x10 =>    INEXACT )
15 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
15   HALF: 0x3c00  (0 => OK)
16 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
16   HALF: 0x3c01  (0 => OK)
17 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
17   HALF: 0x4000  (0 => OK)
18 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0 => OK)
18   HALF: 0x416f  (0x10 =>    INEXACT )
19 SINGLE: 3.14159274101257324218e+00 / 0x40490fdb  (0 => OK)
19   HALF: 0x4248  (0x10 =>    INEXACT )
20 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
20   HALF: 0x7bfe  (0x10 =>    INEXACT )
21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
21   HALF: 0x7bff  (0 => OK)
22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
22   HALF: 0x7bff  (0x10 =>    INEXACT )
23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
23   HALF: 0x7bff  (0x14 => OVERFLOW   INEXACT )
24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
24   HALF: 0x7bff  (0x14 => OVERFLOW   INEXACT )
25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
25   HALF: 0x7bff  (0x14 => OVERFLOW   INEXACT )
26 SINGLE: 1.11100003258488635272e+30 / 0x71605d5b  (0 => OK)
26   HALF: 0x7bff  (0x14 => OVERFLOW   INEXACT )
27 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0 => OK)
27   HALF: 0x7bff  (0x14 => OVERFLOW   INEXACT )
28 SINGLE: inf / 0x7f800000  (0 => OK)
28   HALF: 0x7c00  (0 => OK)
29 SINGLE: nan / 0x7fc00000  (0 => OK)
29   HALF: 0x7e00  (0 => OK)
30 SINGLE: nan / 0x7fa00000  (0 => OK)
30   HALF: 0x7f00  (0x1 =>     INVALID)
Converting single-precision to double-precision
00 SINGLE: -nan / 0xffa00000  (0 => OK)
00 DOUBLE: -nan / 0x00fffc000000000000 (0x1 =>     INVALID)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
03 SINGLE: -3.40282346638528859812e+38 / 0xff7fffff  (0 => OK)
03 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
04 SINGLE: -1.11100004769645909791e+31 / 0xf30c3a59  (0 => OK)
04 DOUBLE: -1.11100004769645909791e+31 / 0x00c661874b20000000 (0 => OK)
05 SINGLE: -1.11100003258488635273e+30 / 0xf1605d5b  (0 => OK)
05 DOUBLE: -1.11100003258488635273e+30 / 0x00c62c0bab60000000 (0 => OK)
06 SINGLE: -1.08700982243137289629e-12 / 0xab98fba8  (0 => OK)
06 DOUBLE: -1.08700982243137289629e-12 / 0x00bd731f7500000000 (0 => OK)
07 SINGLE: -1.78051176151664730512e-20 / 0x9ea82a22  (0 => OK)
07 DOUBLE: -1.78051176151664730512e-20 / 0x00bbd5054440000000 (0 => OK)
08 SINGLE: -1.17549435082228750797e-38 / 0x80800000  (0 => OK)
08 DOUBLE: -1.17549435082228750797e-38 / 0x00b810000000000000 (0 => OK)
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
10 SINGLE: 1.17549435082228750796e-38 / 0x00800000  (0 => OK)
10 DOUBLE: 1.17549435082228750796e-38 / 0x003810000000000000 (0 => OK)
11 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0 => OK)
11 DOUBLE: 2.98023223876953125000e-08 / 0x003e60000000000000 (0 => OK)
12 SINGLE: 5.96045985901128005934e-08 / 0x337ffff3  (0 => OK)
12 DOUBLE: 5.96045985901128005934e-08 / 0x003e6ffffe60000000 (0 => OK)
13 SINGLE: 6.09755988989491015672e-05 / 0x387fc00d  (0 => OK)
13 DOUBLE: 6.09755988989491015672e-05 / 0x003f0ff801a0000000 (0 => OK)
14 SINGLE: 6.10351999057456851005e-05 / 0x38800006  (0 => OK)
14 DOUBLE: 6.10351999057456851005e-05 / 0x003f100000c0000000 (0 => OK)
15 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
15 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
16 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
16 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
17 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
17 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
18 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0 => OK)
18 DOUBLE: 2.71828174591064453125e+00 / 0x004005bf0a80000000 (0 => OK)
19 SINGLE: 3.14159274101257324218e+00 / 0x40490fdb  (0 => OK)
19 DOUBLE: 3.14159274101257324218e+00 / 0x00400921fb60000000 (0 => OK)
20 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
20 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
21 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
22 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
23 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
24 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
25 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
26 SINGLE: 1.11100003258488635272e+30 / 0x71605d5b  (0 => OK)
26 DOUBLE: 1.11100003258488635272e+30 / 0x00462c0bab60000000 (0 => OK)
27 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0 => OK)
27 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
28 SINGLE: inf / 0x7f800000  (0 => OK)
28 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
29 SINGLE: nan / 0x7fc00000  (0 => OK)
29 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
30 SINGLE: nan / 0x7fa00000  (0 => OK)
30 DOUBLE: nan / 0x007ffc000000000000 (0x1 =>     INVALID)
Converting double-precision to half-precision
00 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
00   HALF: 0000  (0x1 =>     INVALID)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
01   HALF: 0000  (0x1 =>     INVALID)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
02   HALF: 0000  (0x1 =>     INVALID)
03 DOUBLE: -1.79769313486231570815e+308 / 0x00ffefffffffffffff (0 => OK)
03   HALF: 0000  (0x1 =>     INVALID)
04 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
04   HALF: 0000  (0x1 =>     INVALID)
05 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
05   HALF: 0000  (0x1 =>     INVALID)
06 DOUBLE: -1.11100000000000007530e+31 / 0x00c661874b135ff654 (0 => OK)
06   HALF: 0000  (0x1 =>     INVALID)
07 DOUBLE: -1.11099999999999999085e+30 / 0x00c62c0bab523323b9 (0 => OK)
07   HALF: 0000  (0x1 =>     INVALID)
08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK)
08   HALF: 0000  (0x1 =>     INVALID)
09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK)
09   HALF: 0000  (0x1 =>     INVALID)
10 DOUBLE: -2.22507385850720138310e-308 / 0x008010000000000000 (0 => OK)
10   HALF: 0000  (0x10 =>    INEXACT )
11 DOUBLE: -1.17549435082228750797e-38 / 0x00b810000000000000 (0 => OK)
11   HALF: 0000  (0x10 =>    INEXACT )
12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
12   HALF: 0000  (0 => OK)
13 DOUBLE: 1.17549435082228750796e-38 / 0x003810000000000000 (0 => OK)
13   HALF: 0000  (0x10 =>    INEXACT )
14 DOUBLE: 2.98023224000000013060e-08 / 0x003e600000001c5f68 (0 => OK)
14   HALF: 0000  (0x10 =>    INEXACT )
15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK)
15   HALF: 0000  (0x10 =>    INEXACT )
16 DOUBLE: 6.09755999999999994298e-05 / 0x003f0ff801a9af58a1 (0 => OK)
16   HALF: 0000  (0x10 =>    INEXACT )
17 DOUBLE: 6.10352000000000013664e-05 / 0x003f100000c06a1ef5 (0 => OK)
17   HALF: 0000  (0x10 =>    INEXACT )
18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
18   HALF: 0x01  (0 => OK)
19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
19   HALF: 0x01  (0x10 =>    INEXACT )
20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK)
20   HALF: 0000  (0x10 =>    INEXACT )
21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK)
21   HALF: 0000  (0x10 =>    INEXACT )
22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK)
22   HALF: 0000  (0x10 =>    INEXACT )
23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
23   HALF: 0x01  (0 => OK)
24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
24   HALF: 0x02  (0 => OK)
25 DOUBLE: 2.71828182845904509079e+00 / 0x004005bf0a8b145769 (0 => OK)
25   HALF: 0x02  (0x10 =>    INEXACT )
26 DOUBLE: 3.14159265358979311599e+00 / 0x00400921fb54442d18 (0 => OK)
26   HALF: 0x03  (0x10 =>    INEXACT )
27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
27   HALF: 0xffdf  (0 => OK)
28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
28   HALF: 0xffe0  (0 => OK)
29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
29   HALF: 0xffe1  (0 => OK)
30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
30   HALF: 0xffbf  (0 => OK)
31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
31   HALF: 0xffc0  (0 => OK)
32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
32   HALF: 0xffc1  (0 => OK)
33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK)
33   HALF: 0xffff  (0 => OK)
34 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
34   HALF: 0xffff  (0x1 =>     INVALID)
35 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
35   HALF: 0xffff  (0x1 =>     INVALID)
36 DOUBLE: 1.79769313486231570814e+308 / 0x007fefffffffffffff (0 => OK)
36   HALF: 0xffff  (0x1 =>     INVALID)
37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
37   HALF: 0xffff  (0x1 =>     INVALID)
38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
38   HALF: 0000  (0x1 =>     INVALID)
39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK)
39   HALF: 0000  (0x1 =>     INVALID)
40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
40   HALF: 0000  (0x1 =>     INVALID)
Converting double-precision to single-precision
00 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
00 SINGLE: nan / 0x7fe00000  (0x1 =>     INVALID)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
03 DOUBLE: -1.79769313486231570815e+308 / 0x00ffefffffffffffff (0 => OK)
03 SINGLE: -inf / 0xff800000  (0x14 => OVERFLOW   INEXACT )
04 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
04 SINGLE: -3.40282346638528859812e+38 / 0xff7fffff  (0 => OK)
05 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
05 SINGLE: -3.40282346638528859812e+38 / 0xff7fffff  (0 => OK)
06 DOUBLE: -1.11100000000000007530e+31 / 0x00c661874b135ff654 (0 => OK)
06 SINGLE: -1.11100004769645909791e+31 / 0xf30c3a59  (0x10 =>    INEXACT )
07 DOUBLE: -1.11099999999999999085e+30 / 0x00c62c0bab523323b9 (0 => OK)
07 SINGLE: -1.11100003258488635273e+30 / 0xf1605d5b  (0x10 =>    INEXACT )
08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK)
08 SINGLE: -2.00000000000000000000e+00 / 0xc0000000  (0 => OK)
09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK)
09 SINGLE: -1.00000000000000000000e+00 / 0xbf800000  (0 => OK)
10 DOUBLE: -2.22507385850720138310e-308 / 0x008010000000000000 (0 => OK)
10 SINGLE: -1.40129846432481707093e-45 / 0x80000001  (0x18 =>  UNDERFLOW  INEXACT )
11 DOUBLE: -1.17549435082228750797e-38 / 0x00b810000000000000 (0 => OK)
11 SINGLE: -1.17549435082228750797e-38 / 0x80800000  (0 => OK)
12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
12 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
13 DOUBLE: 1.17549435082228750796e-38 / 0x003810000000000000 (0 => OK)
13 SINGLE: 1.17549435082228750796e-38 / 0x00800000  (0 => OK)
14 DOUBLE: 2.98023224000000013060e-08 / 0x003e600000001c5f68 (0 => OK)
14 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0x10 =>    INEXACT )
15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK)
15 SINGLE: 5.96045985901128005934e-08 / 0x337ffff3  (0x10 =>    INEXACT )
16 DOUBLE: 6.09755999999999994298e-05 / 0x003f0ff801a9af58a1 (0 => OK)
16 SINGLE: 6.09755988989491015672e-05 / 0x387fc00d  (0x10 =>    INEXACT )
17 DOUBLE: 6.10352000000000013664e-05 / 0x003f100000c06a1ef5 (0 => OK)
17 SINGLE: 6.10351999057456851005e-05 / 0x38800006  (0x10 =>    INEXACT )
18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
18 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
19 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK)
20 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0x18 =>  UNDERFLOW  INEXACT )
21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK)
21 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0x18 =>  UNDERFLOW  INEXACT )
22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK)
22 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0x18 =>  UNDERFLOW  INEXACT )
23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
23 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
24 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
25 DOUBLE: 2.71828182845904509079e+00 / 0x004005bf0a8b145769 (0 => OK)
25 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0x10 =>    INEXACT )
26 DOUBLE: 3.14159265358979311599e+00 / 0x00400921fb54442d18 (0 => OK)
26 SINGLE: 3.14159250259399414062e+00 / 0x40490fda  (0x10 =>    INEXACT )
27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
27 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
28 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
29 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
30 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
31 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
32 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK)
33 SINGLE: 2.14748352000000000000e+09 / 0x4effffff  (0x10 =>    INEXACT )
34 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
34 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0 => OK)
35 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
35 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0 => OK)
36 DOUBLE: 1.79769313486231570814e+308 / 0x007fefffffffffffff (0 => OK)
36 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0x14 => OVERFLOW   INEXACT )
37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
37 SINGLE: inf / 0x7f800000  (0 => OK)
38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
38 SINGLE: nan / 0x7fc00000  (0 => OK)
39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK)
39 SINGLE: nan / 0x7fc00000  (0x1 =>     INVALID)
40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
40 SINGLE: nan / 0x7fe00000  (0x1 =>     INVALID)
Converting half-precision to single-precision
00   HALF: 0xffff  (0 => OK)
00 SINGLE: -nan / 0xffffe000  (0 => OK)
01   HALF: 0xfcff  (0 => OK)
01 SINGLE: -nan / 0xffdfe000  (0x1 =>     INVALID)
02   HALF: 0xfc01  (0 => OK)
02 SINGLE: -nan / 0xffc02000  (0x1 =>     INVALID)
03   HALF: 0xfc00  (0 => OK)
03 SINGLE: -inf / 0xff800000  (0 => OK)
04   HALF: 0xfbff  (0 => OK)
04 SINGLE: -6.55040000000000000000e+04 / 0xc77fe000  (0 => OK)
05   HALF: 0xc000  (0 => OK)
05 SINGLE: -2.00000000000000000000e+00 / 0xc0000000  (0 => OK)
06   HALF: 0xbc00  (0 => OK)
06 SINGLE: -1.00000000000000000000e+00 / 0xbf800000  (0 => OK)
07   HALF: 0x8001  (0 => OK)
07 SINGLE: -5.96046447753906250000e-08 / 0xb3800000  (0 => OK)
08   HALF: 0x8000  (0 => OK)
08 SINGLE: -0.00000000000000000000e+00 / 0x80000000  (0 => OK)
09   HALF: 0000  (0 => OK)
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
10   HALF: 0x01  (0 => OK)
10 SINGLE: 5.96046447753906250000e-08 / 0x33800000  (0 => OK)
11   HALF: 0x3c00  (0 => OK)
11 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
12   HALF: 0x7bff  (0 => OK)
12 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
13   HALF: 0x7c00  (0 => OK)
13 SINGLE: inf / 0x7f800000  (0 => OK)
14   HALF: 0x7c01  (0 => OK)
14 SINGLE: nan / 0x7fc02000  (0x1 =>     INVALID)
15   HALF: 0x7cff  (0 => OK)
15 SINGLE: nan / 0x7fdfe000  (0x1 =>     INVALID)
16   HALF: 0x7fff  (0 => OK)
16 SINGLE: nan / 0x7fffe000  (0 => OK)
Converting half-precision to double-precision
00   HALF: 0xffff  (0 => OK)
00 DOUBLE: 6.55350000000000000000e+04 / 0x0040efffe000000000 (0 => OK)
01   HALF: 0xfcff  (0 => OK)
01 DOUBLE: 6.47670000000000000000e+04 / 0x0040ef9fe000000000 (0 => OK)
02   HALF: 0xfc01  (0 => OK)
02 DOUBLE: 6.45130000000000000000e+04 / 0x0040ef802000000000 (0 => OK)
03   HALF: 0xfc00  (0 => OK)
03 DOUBLE: 6.45120000000000000000e+04 / 0x0040ef800000000000 (0 => OK)
04   HALF: 0xfbff  (0 => OK)
04 DOUBLE: 6.45110000000000000000e+04 / 0x0040ef7fe000000000 (0 => OK)
05   HALF: 0xc000  (0 => OK)
05 DOUBLE: 4.91520000000000000000e+04 / 0x0040e8000000000000 (0 => OK)
06   HALF: 0xbc00  (0 => OK)
06 DOUBLE: 4.81280000000000000000e+04 / 0x0040e7800000000000 (0 => OK)
07   HALF: 0x8001  (0 => OK)
07 DOUBLE: 3.27690000000000000000e+04 / 0x0040e0002000000000 (0 => OK)
08   HALF: 0x8000  (0 => OK)
08 DOUBLE: 3.27680000000000000000e+04 / 0x0040e0000000000000 (0 => OK)
09   HALF: 0000  (0 => OK)
09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
10   HALF: 0x01  (0 => OK)
10 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
11   HALF: 0x3c00  (0 => OK)
11 DOUBLE: 1.53600000000000000000e+04 / 0x0040ce000000000000 (0 => OK)
12   HALF: 0x7bff  (0 => OK)
12 DOUBLE: 3.17430000000000000000e+04 / 0x0040deffc000000000 (0 => OK)
13   HALF: 0x7c00  (0 => OK)
13 DOUBLE: 3.17440000000000000000e+04 / 0x0040df000000000000 (0 => OK)
14   HALF: 0x7c01  (0 => OK)
14 DOUBLE: 3.17450000000000000000e+04 / 0x0040df004000000000 (0 => OK)
15   HALF: 0x7cff  (0 => OK)
15 DOUBLE: 3.19990000000000000000e+04 / 0x0040df3fc000000000 (0 => OK)
16   HALF: 0x7fff  (0 => OK)
16 DOUBLE: 3.27670000000000000000e+04 / 0x0040dfffc000000000 (0 => OK)
### Rounding to zero
Converting single-precision to half-precision
00 SINGLE: -nan / 0xffa00000  (0 => OK)
00   HALF: 0xff00  (0x1 =>     INVALID)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
01   HALF: 0xfe00  (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
02   HALF: 0xfc00  (0 => OK)
03 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0 => OK)
03   HALF: 0xfbff  (0x14 => OVERFLOW   INEXACT )
04 SINGLE: -1.11100004769645909790e+31 / 0xf30c3a59  (0 => OK)
04   HALF: 0xfbff  (0x14 => OVERFLOW   INEXACT )
05 SINGLE: -1.11100003258488635272e+30 / 0xf1605d5b  (0 => OK)
05   HALF: 0xfbff  (0x14 => OVERFLOW   INEXACT )
06 SINGLE: -1.08700982243137289628e-12 / 0xab98fba8  (0 => OK)
06   HALF: 0x8000  (0x18 =>  UNDERFLOW  INEXACT )
07 SINGLE: -1.78051176151664730511e-20 / 0x9ea82a22  (0 => OK)
07   HALF: 0x8000  (0x18 =>  UNDERFLOW  INEXACT )
08 SINGLE: -1.17549435082228750796e-38 / 0x80800000  (0 => OK)
08   HALF: 0x8000  (0x18 =>  UNDERFLOW  INEXACT )
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
09   HALF: 0000  (0 => OK)
10 SINGLE: 1.17549435082228750796e-38 / 0x00800000  (0 => OK)
10   HALF: 0000  (0x18 =>  UNDERFLOW  INEXACT )
11 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0 => OK)
11   HALF: 0000  (0x18 =>  UNDERFLOW  INEXACT )
12 SINGLE: 5.96045985901128005934e-08 / 0x337ffff3  (0 => OK)
12   HALF: 0000  (0x18 =>  UNDERFLOW  INEXACT )
13 SINGLE: 6.09755988989491015672e-05 / 0x387fc00d  (0 => OK)
13   HALF: 0x3ff  (0x18 =>  UNDERFLOW  INEXACT )
14 SINGLE: 6.10351999057456851005e-05 / 0x38800006  (0 => OK)
14   HALF: 0x400  (0x10 =>    INEXACT )
15 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
15   HALF: 0x3c00  (0 => OK)
16 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
16   HALF: 0x3c01  (0 => OK)
17 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
17   HALF: 0x4000  (0 => OK)
18 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0 => OK)
18   HALF: 0x416f  (0x10 =>    INEXACT )
19 SINGLE: 3.14159274101257324218e+00 / 0x40490fdb  (0 => OK)
19   HALF: 0x4248  (0x10 =>    INEXACT )
20 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
20   HALF: 0x7bfe  (0x10 =>    INEXACT )
21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
21   HALF: 0x7bff  (0 => OK)
22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
22   HALF: 0x7bff  (0x10 =>    INEXACT )
23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
23   HALF: 0x7bff  (0x14 => OVERFLOW   INEXACT )
24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
24   HALF: 0x7bff  (0x14 => OVERFLOW   INEXACT )
25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
25   HALF: 0x7bff  (0x14 => OVERFLOW   INEXACT )
26 SINGLE: 1.11100003258488635272e+30 / 0x71605d5b  (0 => OK)
26   HALF: 0x7bff  (0x14 => OVERFLOW   INEXACT )
27 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0 => OK)
27   HALF: 0x7bff  (0x14 => OVERFLOW   INEXACT )
28 SINGLE: inf / 0x7f800000  (0 => OK)
28   HALF: 0x7c00  (0 => OK)
29 SINGLE: nan / 0x7fc00000  (0 => OK)
29   HALF: 0x7e00  (0 => OK)
30 SINGLE: nan / 0x7fa00000  (0 => OK)
30   HALF: 0x7f00  (0x1 =>     INVALID)
Converting single-precision to double-precision
00 SINGLE: -nan / 0xffa00000  (0 => OK)
00 DOUBLE: -nan / 0x00fffc000000000000 (0x1 =>     INVALID)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
03 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0 => OK)
03 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
04 SINGLE: -1.11100004769645909790e+31 / 0xf30c3a59  (0 => OK)
04 DOUBLE: -1.11100004769645909790e+31 / 0x00c661874b20000000 (0 => OK)
05 SINGLE: -1.11100003258488635272e+30 / 0xf1605d5b  (0 => OK)
05 DOUBLE: -1.11100003258488635272e+30 / 0x00c62c0bab60000000 (0 => OK)
06 SINGLE: -1.08700982243137289628e-12 / 0xab98fba8  (0 => OK)
06 DOUBLE: -1.08700982243137289628e-12 / 0x00bd731f7500000000 (0 => OK)
07 SINGLE: -1.78051176151664730511e-20 / 0x9ea82a22  (0 => OK)
07 DOUBLE: -1.78051176151664730511e-20 / 0x00bbd5054440000000 (0 => OK)
08 SINGLE: -1.17549435082228750796e-38 / 0x80800000  (0 => OK)
08 DOUBLE: -1.17549435082228750796e-38 / 0x00b810000000000000 (0 => OK)
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
10 SINGLE: 1.17549435082228750796e-38 / 0x00800000  (0 => OK)
10 DOUBLE: 1.17549435082228750796e-38 / 0x003810000000000000 (0 => OK)
11 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0 => OK)
11 DOUBLE: 2.98023223876953125000e-08 / 0x003e60000000000000 (0 => OK)
12 SINGLE: 5.96045985901128005934e-08 / 0x337ffff3  (0 => OK)
12 DOUBLE: 5.96045985901128005934e-08 / 0x003e6ffffe60000000 (0 => OK)
13 SINGLE: 6.09755988989491015672e-05 / 0x387fc00d  (0 => OK)
13 DOUBLE: 6.09755988989491015672e-05 / 0x003f0ff801a0000000 (0 => OK)
14 SINGLE: 6.10351999057456851005e-05 / 0x38800006  (0 => OK)
14 DOUBLE: 6.10351999057456851005e-05 / 0x003f100000c0000000 (0 => OK)
15 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
15 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
16 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
16 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
17 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
17 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
18 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0 => OK)
18 DOUBLE: 2.71828174591064453125e+00 / 0x004005bf0a80000000 (0 => OK)
19 SINGLE: 3.14159274101257324218e+00 / 0x40490fdb  (0 => OK)
19 DOUBLE: 3.14159274101257324218e+00 / 0x00400921fb60000000 (0 => OK)
20 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
20 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
21 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
22 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
23 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
24 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
25 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
26 SINGLE: 1.11100003258488635272e+30 / 0x71605d5b  (0 => OK)
26 DOUBLE: 1.11100003258488635272e+30 / 0x00462c0bab60000000 (0 => OK)
27 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0 => OK)
27 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
28 SINGLE: inf / 0x7f800000  (0 => OK)
28 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
29 SINGLE: nan / 0x7fc00000  (0 => OK)
29 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
30 SINGLE: nan / 0x7fa00000  (0 => OK)
30 DOUBLE: nan / 0x007ffc000000000000 (0x1 =>     INVALID)
Converting double-precision to half-precision
00 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
00   HALF: 0000  (0x1 =>     INVALID)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
01   HALF: 0000  (0x1 =>     INVALID)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
02   HALF: 0000  (0x1 =>     INVALID)
03 DOUBLE: -1.79769313486231570814e+308 / 0x00ffefffffffffffff (0 => OK)
03   HALF: 0000  (0x1 =>     INVALID)
04 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
04   HALF: 0000  (0x1 =>     INVALID)
05 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
05   HALF: 0000  (0x1 =>     INVALID)
06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK)
06   HALF: 0000  (0x1 =>     INVALID)
07 DOUBLE: -1.11099999999999999084e+30 / 0x00c62c0bab523323b9 (0 => OK)
07   HALF: 0000  (0x1 =>     INVALID)
08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK)
08   HALF: 0000  (0x1 =>     INVALID)
09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK)
09   HALF: 0000  (0x1 =>     INVALID)
10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK)
10   HALF: 0000  (0x10 =>    INEXACT )
11 DOUBLE: -1.17549435082228750796e-38 / 0x00b810000000000000 (0 => OK)
11   HALF: 0000  (0x10 =>    INEXACT )
12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
12   HALF: 0000  (0 => OK)
13 DOUBLE: 1.17549435082228750796e-38 / 0x003810000000000000 (0 => OK)
13   HALF: 0000  (0x10 =>    INEXACT )
14 DOUBLE: 2.98023224000000013060e-08 / 0x003e600000001c5f68 (0 => OK)
14   HALF: 0000  (0x10 =>    INEXACT )
15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK)
15   HALF: 0000  (0x10 =>    INEXACT )
16 DOUBLE: 6.09755999999999994298e-05 / 0x003f0ff801a9af58a1 (0 => OK)
16   HALF: 0000  (0x10 =>    INEXACT )
17 DOUBLE: 6.10352000000000013664e-05 / 0x003f100000c06a1ef5 (0 => OK)
17   HALF: 0000  (0x10 =>    INEXACT )
18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
18   HALF: 0x01  (0 => OK)
19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
19   HALF: 0x01  (0x10 =>    INEXACT )
20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK)
20   HALF: 0000  (0x10 =>    INEXACT )
21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK)
21   HALF: 0000  (0x10 =>    INEXACT )
22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK)
22   HALF: 0000  (0x10 =>    INEXACT )
23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
23   HALF: 0x01  (0 => OK)
24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
24   HALF: 0x02  (0 => OK)
25 DOUBLE: 2.71828182845904509079e+00 / 0x004005bf0a8b145769 (0 => OK)
25   HALF: 0x02  (0x10 =>    INEXACT )
26 DOUBLE: 3.14159265358979311599e+00 / 0x00400921fb54442d18 (0 => OK)
26   HALF: 0x03  (0x10 =>    INEXACT )
27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
27   HALF: 0xffdf  (0 => OK)
28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
28   HALF: 0xffe0  (0 => OK)
29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
29   HALF: 0xffe1  (0 => OK)
30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
30   HALF: 0xffbf  (0 => OK)
31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
31   HALF: 0xffc0  (0 => OK)
32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
32   HALF: 0xffc1  (0 => OK)
33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK)
33   HALF: 0xffff  (0 => OK)
34 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
34   HALF: 0xffff  (0x1 =>     INVALID)
35 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
35   HALF: 0xffff  (0x1 =>     INVALID)
36 DOUBLE: 1.79769313486231570814e+308 / 0x007fefffffffffffff (0 => OK)
36   HALF: 0xffff  (0x1 =>     INVALID)
37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
37   HALF: 0xffff  (0x1 =>     INVALID)
38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
38   HALF: 0000  (0x1 =>     INVALID)
39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK)
39   HALF: 0000  (0x1 =>     INVALID)
40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
40   HALF: 0000  (0x1 =>     INVALID)
Converting double-precision to single-precision
00 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
00 SINGLE: nan / 0x7fe00000  (0x1 =>     INVALID)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
03 DOUBLE: -1.79769313486231570814e+308 / 0x00ffefffffffffffff (0 => OK)
03 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0x14 => OVERFLOW   INEXACT )
04 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
04 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0 => OK)
05 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
05 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0 => OK)
06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK)
06 SINGLE: -1.11099992680387713644e+31 / 0xf30c3a58  (0x10 =>    INEXACT )
07 DOUBLE: -1.11099999999999999084e+30 / 0x00c62c0bab523323b9 (0 => OK)
07 SINGLE: -1.11099995702702262681e+30 / 0xf1605d5a  (0x10 =>    INEXACT )
08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK)
08 SINGLE: -2.00000000000000000000e+00 / 0xc0000000  (0 => OK)
09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK)
09 SINGLE: -1.00000000000000000000e+00 / 0xbf800000  (0 => OK)
10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK)
10 SINGLE: -0.00000000000000000000e+00 / 0x80000000  (0x18 =>  UNDERFLOW  INEXACT )
11 DOUBLE: -1.17549435082228750796e-38 / 0x00b810000000000000 (0 => OK)
11 SINGLE: -1.17549435082228750796e-38 / 0x80800000  (0 => OK)
12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
12 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
13 DOUBLE: 1.17549435082228750796e-38 / 0x003810000000000000 (0 => OK)
13 SINGLE: 1.17549435082228750796e-38 / 0x00800000  (0 => OK)
14 DOUBLE: 2.98023224000000013060e-08 / 0x003e600000001c5f68 (0 => OK)
14 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0x10 =>    INEXACT )
15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK)
15 SINGLE: 5.96045985901128005934e-08 / 0x337ffff3  (0x10 =>    INEXACT )
16 DOUBLE: 6.09755999999999994298e-05 / 0x003f0ff801a9af58a1 (0 => OK)
16 SINGLE: 6.09755988989491015672e-05 / 0x387fc00d  (0x10 =>    INEXACT )
17 DOUBLE: 6.10352000000000013664e-05 / 0x003f100000c06a1ef5 (0 => OK)
17 SINGLE: 6.10351999057456851005e-05 / 0x38800006  (0x10 =>    INEXACT )
18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
18 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
19 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK)
20 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0x18 =>  UNDERFLOW  INEXACT )
21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK)
21 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0x18 =>  UNDERFLOW  INEXACT )
22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK)
22 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0x18 =>  UNDERFLOW  INEXACT )
23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
23 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
24 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
25 DOUBLE: 2.71828182845904509079e+00 / 0x004005bf0a8b145769 (0 => OK)
25 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0x10 =>    INEXACT )
26 DOUBLE: 3.14159265358979311599e+00 / 0x00400921fb54442d18 (0 => OK)
26 SINGLE: 3.14159250259399414062e+00 / 0x40490fda  (0x10 =>    INEXACT )
27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
27 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
28 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
29 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
30 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
31 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
32 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK)
33 SINGLE: 2.14748352000000000000e+09 / 0x4effffff  (0x10 =>    INEXACT )
34 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
34 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0 => OK)
35 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
35 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0 => OK)
36 DOUBLE: 1.79769313486231570814e+308 / 0x007fefffffffffffff (0 => OK)
36 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0x14 => OVERFLOW   INEXACT )
37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
37 SINGLE: inf / 0x7f800000  (0 => OK)
38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
38 SINGLE: nan / 0x7fc00000  (0 => OK)
39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK)
39 SINGLE: nan / 0x7fc00000  (0x1 =>     INVALID)
40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
40 SINGLE: nan / 0x7fe00000  (0x1 =>     INVALID)
Converting half-precision to single-precision
00   HALF: 0xffff  (0 => OK)
00 SINGLE: -nan / 0xffffe000  (0 => OK)
01   HALF: 0xfcff  (0 => OK)
01 SINGLE: -nan / 0xffdfe000  (0x1 =>     INVALID)
02   HALF: 0xfc01  (0 => OK)
02 SINGLE: -nan / 0xffc02000  (0x1 =>     INVALID)
03   HALF: 0xfc00  (0 => OK)
03 SINGLE: -inf / 0xff800000  (0 => OK)
04   HALF: 0xfbff  (0 => OK)
04 SINGLE: -6.55040000000000000000e+04 / 0xc77fe000  (0 => OK)
05   HALF: 0xc000  (0 => OK)
05 SINGLE: -2.00000000000000000000e+00 / 0xc0000000  (0 => OK)
06   HALF: 0xbc00  (0 => OK)
06 SINGLE: -1.00000000000000000000e+00 / 0xbf800000  (0 => OK)
07   HALF: 0x8001  (0 => OK)
07 SINGLE: -5.96046447753906250000e-08 / 0xb3800000  (0 => OK)
08   HALF: 0x8000  (0 => OK)
08 SINGLE: -0.00000000000000000000e+00 / 0x80000000  (0 => OK)
09   HALF: 0000  (0 => OK)
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
10   HALF: 0x01  (0 => OK)
10 SINGLE: 5.96046447753906250000e-08 / 0x33800000  (0 => OK)
11   HALF: 0x3c00  (0 => OK)
11 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
12   HALF: 0x7bff  (0 => OK)
12 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
13   HALF: 0x7c00  (0 => OK)
13 SINGLE: inf / 0x7f800000  (0 => OK)
14   HALF: 0x7c01  (0 => OK)
14 SINGLE: nan / 0x7fc02000  (0x1 =>     INVALID)
15   HALF: 0x7cff  (0 => OK)
15 SINGLE: nan / 0x7fdfe000  (0x1 =>     INVALID)
16   HALF: 0x7fff  (0 => OK)
16 SINGLE: nan / 0x7fffe000  (0 => OK)
Converting half-precision to double-precision
00   HALF: 0xffff  (0 => OK)
00 DOUBLE: 6.55350000000000000000e+04 / 0x0040efffe000000000 (0 => OK)
01   HALF: 0xfcff  (0 => OK)
01 DOUBLE: 6.47670000000000000000e+04 / 0x0040ef9fe000000000 (0 => OK)
02   HALF: 0xfc01  (0 => OK)
02 DOUBLE: 6.45130000000000000000e+04 / 0x0040ef802000000000 (0 => OK)
03   HALF: 0xfc00  (0 => OK)
03 DOUBLE: 6.45120000000000000000e+04 / 0x0040ef800000000000 (0 => OK)
04   HALF: 0xfbff  (0 => OK)
04 DOUBLE: 6.45110000000000000000e+04 / 0x0040ef7fe000000000 (0 => OK)
05   HALF: 0xc000  (0 => OK)
05 DOUBLE: 4.91520000000000000000e+04 / 0x0040e8000000000000 (0 => OK)
06   HALF: 0xbc00  (0 => OK)
06 DOUBLE: 4.81280000000000000000e+04 / 0x0040e7800000000000 (0 => OK)
07   HALF: 0x8001  (0 => OK)
07 DOUBLE: 3.27690000000000000000e+04 / 0x0040e0002000000000 (0 => OK)
08   HALF: 0x8000  (0 => OK)
08 DOUBLE: 3.27680000000000000000e+04 / 0x0040e0000000000000 (0 => OK)
09   HALF: 0000  (0 => OK)
09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
10   HALF: 0x01  (0 => OK)
10 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
11   HALF: 0x3c00  (0 => OK)
11 DOUBLE: 1.53600000000000000000e+04 / 0x0040ce000000000000 (0 => OK)
12   HALF: 0x7bff  (0 => OK)
12 DOUBLE: 3.17430000000000000000e+04 / 0x0040deffc000000000 (0 => OK)
13   HALF: 0x7c00  (0 => OK)
13 DOUBLE: 3.17440000000000000000e+04 / 0x0040df000000000000 (0 => OK)
14   HALF: 0x7c01  (0 => OK)
14 DOUBLE: 3.17450000000000000000e+04 / 0x0040df004000000000 (0 => OK)
15   HALF: 0x7cff  (0 => OK)
15 DOUBLE: 3.19990000000000000000e+04 / 0x0040df3fc000000000 (0 => OK)
16   HALF: 0x7fff  (0 => OK)
16 DOUBLE: 3.27670000000000000000e+04 / 0x0040dfffc000000000 (0 => OK)
Converting single-precision to integer
00 SINGLE: -nan / 0xffa00000  (0 => OK)
00   INT64:                    0/00000000000000000000 (0x1 =>     INVALID)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
01   INT64:                    0/00000000000000000000 (0x1 =>     INVALID)
02 SINGLE: -inf / 0xff800000  (0 => OK)
02   INT64:                    1/0x000000000000000001 (0x1 =>     INVALID)
03 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0 => OK)
03   INT64:                    1/0x000000000000000001 (0x11 =>    INEXACT INVALID)
04 SINGLE: -1.11100004769645909790e+31 / 0xf30c3a59  (0 => OK)
04   INT64:                    1/0x000000000000000001 (0x11 =>    INEXACT INVALID)
05 SINGLE: -1.11100003258488635272e+30 / 0xf1605d5b  (0 => OK)
05   INT64:                    1/0x000000000000000001 (0x11 =>    INEXACT INVALID)
06 SINGLE: -1.08700982243137289628e-12 / 0xab98fba8  (0 => OK)
06   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
07 SINGLE: -1.78051176151664730511e-20 / 0x9ea82a22  (0 => OK)
07   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
08 SINGLE: -1.17549435082228750796e-38 / 0x80800000  (0 => OK)
08   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
09   INT64:                    0/00000000000000000000 (0 => OK)
10 SINGLE: 1.17549435082228750796e-38 / 0x00800000  (0 => OK)
10   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
11 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0 => OK)
11   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
12 SINGLE: 5.96045985901128005934e-08 / 0x337ffff3  (0 => OK)
12   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
13 SINGLE: 6.09755988989491015672e-05 / 0x387fc00d  (0 => OK)
13   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
14 SINGLE: 6.10351999057456851005e-05 / 0x38800006  (0 => OK)
14   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
15 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
15   INT64:                    1/0x000000000000000001 (0x10 =>    INEXACT )
16 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
16   INT64:                    1/0x000000000000000001 (0x10 =>    INEXACT )
17 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
17   INT64:                    2/0x000000000000000002 (0x10 =>    INEXACT )
18 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0 => OK)
18   INT64:                    2/0x000000000000000002 (0x10 =>    INEXACT )
19 SINGLE: 3.14159274101257324218e+00 / 0x40490fdb  (0 => OK)
19   INT64:                    3/0x000000000000000003 (0x10 =>    INEXACT )
20 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
20   INT64:                65503/0x00000000000000ffdf (0x10 =>    INEXACT )
21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
21   INT64:                65504/0x00000000000000ffe0 (0x10 =>    INEXACT )
22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
22   INT64:                65505/0x00000000000000ffe1 (0x10 =>    INEXACT )
23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
23   INT64:               131007/0x00000000000001ffbf (0x10 =>    INEXACT )
24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
24   INT64:               131008/0x00000000000001ffc0 (0x10 =>    INEXACT )
25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
25   INT64:               131009/0x00000000000001ffc1 (0x10 =>    INEXACT )
26 SINGLE: 1.11100003258488635272e+30 / 0x71605d5b  (0 => OK)
26   INT64:                   -1/0x00ffffffffffffffff (0x11 =>    INEXACT INVALID)
27 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0 => OK)
27   INT64:                   -1/0x00ffffffffffffffff (0x11 =>    INEXACT INVALID)
28 SINGLE: inf / 0x7f800000  (0 => OK)
28   INT64:                   -1/0x00ffffffffffffffff (0x1 =>     INVALID)
29 SINGLE: nan / 0x7fc00000  (0 => OK)
29   INT64:                    0/00000000000000000000 (0x1 =>     INVALID)
30 SINGLE: nan / 0x7fa00000  (0 => OK)
30   INT64:                    0/00000000000000000000 (0x1 =>     INVALID)
Converting double-precision to integer
00 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
00   INT64:                    0/00000000000000000000 (0x1 =>     INVALID)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
01   INT64:                    0/00000000000000000000 (0x1 =>     INVALID)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
02   INT64:                    1/0x000000000000000001 (0x1 =>     INVALID)
03 DOUBLE: -1.79769313486231570814e+308 / 0x00ffefffffffffffff (0 => OK)
03   INT64:                    1/0x000000000000000001 (0x11 =>    INEXACT INVALID)
04 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
04   INT64:                    1/0x000000000000000001 (0x11 =>    INEXACT INVALID)
05 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
05   INT64:                    1/0x000000000000000001 (0x11 =>    INEXACT INVALID)
06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK)
06   INT64:                    1/0x000000000000000001 (0x11 =>    INEXACT INVALID)
07 DOUBLE: -1.11099999999999999084e+30 / 0x00c62c0bab523323b9 (0 => OK)
07   INT64:                    1/0x000000000000000001 (0x11 =>    INEXACT INVALID)
08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK)
08   INT64:                   -2/0x00fffffffffffffffe (0x10 =>    INEXACT )
09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK)
09   INT64:                   -1/0x00ffffffffffffffff (0x10 =>    INEXACT )
10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK)
10   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
11 DOUBLE: -1.17549435082228750796e-38 / 0x00b810000000000000 (0 => OK)
11   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
12   INT64:                    0/00000000000000000000 (0 => OK)
13 DOUBLE: 1.17549435082228750796e-38 / 0x003810000000000000 (0 => OK)
13   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
14 DOUBLE: 2.98023224000000013060e-08 / 0x003e600000001c5f68 (0 => OK)
14   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK)
15   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
16 DOUBLE: 6.09755999999999994298e-05 / 0x003f0ff801a9af58a1 (0 => OK)
16   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
17 DOUBLE: 6.10352000000000013664e-05 / 0x003f100000c06a1ef5 (0 => OK)
17   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
18   INT64:                    1/0x000000000000000001 (0x10 =>    INEXACT )
19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
19   INT64:                    1/0x000000000000000001 (0x10 =>    INEXACT )
20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK)
20   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK)
21   INT64:                    0/00000000000000000000 (0x18 =>  UNDERFLOW  INEXACT )
22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK)
22   INT64:                    0/00000000000000000000 (0x18 =>  UNDERFLOW  INEXACT )
23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
23   INT64:                    1/0x000000000000000001 (0x10 =>    INEXACT )
24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
24   INT64:                    2/0x000000000000000002 (0x10 =>    INEXACT )
25 DOUBLE: 2.71828182845904509079e+00 / 0x004005bf0a8b145769 (0 => OK)
25   INT64:                    2/0x000000000000000002 (0x10 =>    INEXACT )
26 DOUBLE: 3.14159265358979311599e+00 / 0x00400921fb54442d18 (0 => OK)
26   INT64:                    3/0x000000000000000003 (0x10 =>    INEXACT )
27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
27   INT64:                65503/0x00000000000000ffdf (0x10 =>    INEXACT )
28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
28   INT64:                65504/0x00000000000000ffe0 (0x10 =>    INEXACT )
29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
29   INT64:                65505/0x00000000000000ffe1 (0x10 =>    INEXACT )
30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
30   INT64:               131007/0x00000000000001ffbf (0x10 =>    INEXACT )
31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
31   INT64:               131008/0x00000000000001ffc0 (0x10 =>    INEXACT )
32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
32   INT64:               131009/0x00000000000001ffc1 (0x10 =>    INEXACT )
33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK)
33   INT64:           2147483647/0x00000000007fffffff (0x10 =>    INEXACT )
34 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
34   INT64:                   -1/0x00ffffffffffffffff (0x11 =>    INEXACT INVALID)
35 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
35   INT64:                   -1/0x00ffffffffffffffff (0x11 =>    INEXACT INVALID)
36 DOUBLE: 1.79769313486231570814e+308 / 0x007fefffffffffffff (0 => OK)
36   INT64:                   -1/0x00ffffffffffffffff (0x11 =>    INEXACT INVALID)
37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
37   INT64:                   -1/0x00ffffffffffffffff (0x1 =>     INVALID)
38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
38   INT64:                    0/00000000000000000000 (0x1 =>     INVALID)
39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK)
39   INT64:                    0/00000000000000000000 (0x1 =>     INVALID)
40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
40   INT64:                    0/00000000000000000000 (0x1 =>     INVALID)
Converting half-precision to integer
00   HALF: 0xffff  (0 => OK)
00   INT64:                65535/0x00000000000000ffff (0 => OK)
01   HALF: 0xfcff  (0 => OK)
01   INT64:                64767/0x00000000000000fcff (0 => OK)
02   HALF: 0xfc01  (0 => OK)
02   INT64:                64513/0x00000000000000fc01 (0 => OK)
03   HALF: 0xfc00  (0 => OK)
03   INT64:                64512/0x00000000000000fc00 (0 => OK)
04   HALF: 0xfbff  (0 => OK)
04   INT64:                64511/0x00000000000000fbff (0 => OK)
05   HALF: 0xc000  (0 => OK)
05   INT64:                49152/0x00000000000000c000 (0 => OK)
06   HALF: 0xbc00  (0 => OK)
06   INT64:                48128/0x00000000000000bc00 (0 => OK)
07   HALF: 0x8001  (0 => OK)
07   INT64:                32769/0x000000000000008001 (0 => OK)
08   HALF: 0x8000  (0 => OK)
08   INT64:                32768/0x000000000000008000 (0 => OK)
09   HALF: 0000  (0 => OK)
09   INT64:                    0/00000000000000000000 (0 => OK)
10   HALF: 0x01  (0 => OK)
10   INT64:                    1/0x000000000000000001 (0 => OK)
11   HALF: 0x3c00  (0 => OK)
11   INT64:                15360/0x000000000000003c00 (0 => OK)
12   HALF: 0x7bff  (0 => OK)
12   INT64:                31743/0x000000000000007bff (0 => OK)
13   HALF: 0x7c00  (0 => OK)
13   INT64:                31744/0x000000000000007c00 (0 => OK)
14   HALF: 0x7c01  (0 => OK)
14   INT64:                31745/0x000000000000007c01 (0 => OK)
15   HALF: 0x7cff  (0 => OK)
15   INT64:                31999/0x000000000000007cff (0 => OK)
16   HALF: 0x7fff  (0 => OK)
16   INT64:                32767/0x000000000000007fff (0 => OK)
#### Enabling ARM Alternative Half Precision
### Rounding to nearest
Converting single-precision to half-precision
00 SINGLE: -nan / 0xffa00000  (0 => OK)
00   HALF: 0x8000  (0x1 =>     INVALID)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
01   HALF: 0x8000  (0x1 =>     INVALID)
02 SINGLE: -inf / 0xff800000  (0 => OK)
02   HALF: 0xffff  (0x1 =>     INVALID)
03 SINGLE: -3.40282346638528859812e+38 / 0xff7fffff  (0 => OK)
03   HALF: 0xffff  (0x1 =>     INVALID)
04 SINGLE: -1.11100004769645909791e+31 / 0xf30c3a59  (0 => OK)
04   HALF: 0xffff  (0x1 =>     INVALID)
05 SINGLE: -1.11100003258488635273e+30 / 0xf1605d5b  (0 => OK)
05   HALF: 0xffff  (0x1 =>     INVALID)
06 SINGLE: -1.08700982243137289629e-12 / 0xab98fba8  (0 => OK)
06   HALF: 0x8000  (0x18 =>  UNDERFLOW  INEXACT )
07 SINGLE: -1.78051176151664730511e-20 / 0x9ea82a22  (0 => OK)
07   HALF: 0x8000  (0x18 =>  UNDERFLOW  INEXACT )
08 SINGLE: -1.17549435082228750797e-38 / 0x80800000  (0 => OK)
08   HALF: 0x8000  (0x18 =>  UNDERFLOW  INEXACT )
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
09   HALF: 0000  (0 => OK)
10 SINGLE: 1.17549435082228750797e-38 / 0x00800000  (0 => OK)
10   HALF: 0000  (0x18 =>  UNDERFLOW  INEXACT )
11 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0 => OK)
11   HALF: 0000  (0x18 =>  UNDERFLOW  INEXACT )
12 SINGLE: 5.96045985901128005935e-08 / 0x337ffff3  (0 => OK)
12   HALF: 0x01  (0x18 =>  UNDERFLOW  INEXACT )
13 SINGLE: 6.09755988989491015673e-05 / 0x387fc00d  (0 => OK)
13   HALF: 0x3ff  (0x18 =>  UNDERFLOW  INEXACT )
14 SINGLE: 6.10351999057456851006e-05 / 0x38800006  (0 => OK)
14   HALF: 0x400  (0x10 =>    INEXACT )
15 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
15   HALF: 0x3c00  (0 => OK)
16 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
16   HALF: 0x3c01  (0 => OK)
17 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
17   HALF: 0x4000  (0 => OK)
18 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0 => OK)
18   HALF: 0x4170  (0x10 =>    INEXACT )
19 SINGLE: 3.14159274101257324219e+00 / 0x40490fdb  (0 => OK)
19   HALF: 0x4248  (0x10 =>    INEXACT )
20 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
20   HALF: 0x7bff  (0x10 =>    INEXACT )
21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
21   HALF: 0x7bff  (0 => OK)
22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
22   HALF: 0x7bff  (0x10 =>    INEXACT )
23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
23   HALF: 0x7fff  (0x10 =>    INEXACT )
24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
24   HALF: 0x7fff  (0 => OK)
25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
25   HALF: 0x7fff  (0x10 =>    INEXACT )
26 SINGLE: 1.11100003258488635273e+30 / 0x71605d5b  (0 => OK)
26   HALF: 0x7fff  (0x1 =>     INVALID)
27 SINGLE: 3.40282346638528859812e+38 / 0x7f7fffff  (0 => OK)
27   HALF: 0x7fff  (0x1 =>     INVALID)
28 SINGLE: inf / 0x7f800000  (0 => OK)
28   HALF: 0x7fff  (0x1 =>     INVALID)
29 SINGLE: nan / 0x7fc00000  (0 => OK)
29   HALF: 0000  (0x1 =>     INVALID)
30 SINGLE: nan / 0x7fa00000  (0 => OK)
30   HALF: 0000  (0x1 =>     INVALID)
Converting single-precision to double-precision
00 SINGLE: -nan / 0xffa00000  (0 => OK)
00 DOUBLE: -nan / 0x00fffc000000000000 (0x1 =>     INVALID)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
03 SINGLE: -3.40282346638528859812e+38 / 0xff7fffff  (0 => OK)
03 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
04 SINGLE: -1.11100004769645909791e+31 / 0xf30c3a59  (0 => OK)
04 DOUBLE: -1.11100004769645909791e+31 / 0x00c661874b20000000 (0 => OK)
05 SINGLE: -1.11100003258488635273e+30 / 0xf1605d5b  (0 => OK)
05 DOUBLE: -1.11100003258488635273e+30 / 0x00c62c0bab60000000 (0 => OK)
06 SINGLE: -1.08700982243137289629e-12 / 0xab98fba8  (0 => OK)
06 DOUBLE: -1.08700982243137289629e-12 / 0x00bd731f7500000000 (0 => OK)
07 SINGLE: -1.78051176151664730511e-20 / 0x9ea82a22  (0 => OK)
07 DOUBLE: -1.78051176151664730511e-20 / 0x00bbd5054440000000 (0 => OK)
08 SINGLE: -1.17549435082228750797e-38 / 0x80800000  (0 => OK)
08 DOUBLE: -1.17549435082228750797e-38 / 0x00b810000000000000 (0 => OK)
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
10 SINGLE: 1.17549435082228750797e-38 / 0x00800000  (0 => OK)
10 DOUBLE: 1.17549435082228750797e-38 / 0x003810000000000000 (0 => OK)
11 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0 => OK)
11 DOUBLE: 2.98023223876953125000e-08 / 0x003e60000000000000 (0 => OK)
12 SINGLE: 5.96045985901128005935e-08 / 0x337ffff3  (0 => OK)
12 DOUBLE: 5.96045985901128005935e-08 / 0x003e6ffffe60000000 (0 => OK)
13 SINGLE: 6.09755988989491015673e-05 / 0x387fc00d  (0 => OK)
13 DOUBLE: 6.09755988989491015673e-05 / 0x003f0ff801a0000000 (0 => OK)
14 SINGLE: 6.10351999057456851006e-05 / 0x38800006  (0 => OK)
14 DOUBLE: 6.10351999057456851006e-05 / 0x003f100000c0000000 (0 => OK)
15 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
15 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
16 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
16 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
17 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
17 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
18 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0 => OK)
18 DOUBLE: 2.71828174591064453125e+00 / 0x004005bf0a80000000 (0 => OK)
19 SINGLE: 3.14159274101257324219e+00 / 0x40490fdb  (0 => OK)
19 DOUBLE: 3.14159274101257324219e+00 / 0x00400921fb60000000 (0 => OK)
20 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
20 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
21 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
22 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
23 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
24 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
25 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
26 SINGLE: 1.11100003258488635273e+30 / 0x71605d5b  (0 => OK)
26 DOUBLE: 1.11100003258488635273e+30 / 0x00462c0bab60000000 (0 => OK)
27 SINGLE: 3.40282346638528859812e+38 / 0x7f7fffff  (0 => OK)
27 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
28 SINGLE: inf / 0x7f800000  (0 => OK)
28 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
29 SINGLE: nan / 0x7fc00000  (0 => OK)
29 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
30 SINGLE: nan / 0x7fa00000  (0 => OK)
30 DOUBLE: nan / 0x007ffc000000000000 (0x1 =>     INVALID)
Converting double-precision to half-precision
00 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
00   HALF: 0000  (0x1 =>     INVALID)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
01   HALF: 0000  (0x1 =>     INVALID)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
02   HALF: 0000  (0x1 =>     INVALID)
03 DOUBLE: -1.79769313486231570815e+308 / 0x00ffefffffffffffff (0 => OK)
03   HALF: 0000  (0x1 =>     INVALID)
04 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
04   HALF: 0000  (0x1 =>     INVALID)
05 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
05   HALF: 0000  (0x1 =>     INVALID)
06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK)
06   HALF: 0000  (0x1 =>     INVALID)
07 DOUBLE: -1.11099999999999999085e+30 / 0x00c62c0bab523323b9 (0 => OK)
07   HALF: 0000  (0x1 =>     INVALID)
08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK)
08   HALF: 0000  (0x1 =>     INVALID)
09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK)
09   HALF: 0000  (0x1 =>     INVALID)
10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK)
10   HALF: 0000  (0x10 =>    INEXACT )
11 DOUBLE: -1.17549435082228750797e-38 / 0x00b810000000000000 (0 => OK)
11   HALF: 0000  (0x10 =>    INEXACT )
12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
12   HALF: 0000  (0 => OK)
13 DOUBLE: 1.17549435082228750797e-38 / 0x003810000000000000 (0 => OK)
13   HALF: 0000  (0x10 =>    INEXACT )
14 DOUBLE: 2.98023224000000013061e-08 / 0x003e600000001c5f68 (0 => OK)
14   HALF: 0000  (0x10 =>    INEXACT )
15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK)
15   HALF: 0000  (0x10 =>    INEXACT )
16 DOUBLE: 6.09755999999999994299e-05 / 0x003f0ff801a9af58a1 (0 => OK)
16   HALF: 0000  (0x10 =>    INEXACT )
17 DOUBLE: 6.10352000000000013665e-05 / 0x003f100000c06a1ef5 (0 => OK)
17   HALF: 0000  (0x10 =>    INEXACT )
18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
18   HALF: 0x01  (0 => OK)
19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
19   HALF: 0x01  (0x10 =>    INEXACT )
20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK)
20   HALF: 0000  (0x10 =>    INEXACT )
21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK)
21   HALF: 0000  (0x10 =>    INEXACT )
22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK)
22   HALF: 0000  (0x10 =>    INEXACT )
23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
23   HALF: 0x01  (0 => OK)
24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
24   HALF: 0x02  (0 => OK)
25 DOUBLE: 2.71828182845904509080e+00 / 0x004005bf0a8b145769 (0 => OK)
25   HALF: 0x02  (0x10 =>    INEXACT )
26 DOUBLE: 3.14159265358979311600e+00 / 0x00400921fb54442d18 (0 => OK)
26   HALF: 0x03  (0x10 =>    INEXACT )
27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
27   HALF: 0xffdf  (0 => OK)
28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
28   HALF: 0xffe0  (0 => OK)
29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
29   HALF: 0xffe1  (0 => OK)
30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
30   HALF: 0xffbf  (0 => OK)
31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
31   HALF: 0xffc0  (0 => OK)
32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
32   HALF: 0xffc1  (0 => OK)
33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK)
33   HALF: 0xffff  (0 => OK)
34 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
34   HALF: 0xffff  (0x1 =>     INVALID)
35 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
35   HALF: 0xffff  (0x1 =>     INVALID)
36 DOUBLE: 1.79769313486231570815e+308 / 0x007fefffffffffffff (0 => OK)
36   HALF: 0xffff  (0x1 =>     INVALID)
37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
37   HALF: 0xffff  (0x1 =>     INVALID)
38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
38   HALF: 0000  (0x1 =>     INVALID)
39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK)
39   HALF: 0000  (0x1 =>     INVALID)
40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
40   HALF: 0000  (0x1 =>     INVALID)
Converting double-precision to single-precision
00 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
00 SINGLE: nan / 0x7fe00000  (0x1 =>     INVALID)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
03 DOUBLE: -1.79769313486231570815e+308 / 0x00ffefffffffffffff (0 => OK)
03 SINGLE: -inf / 0xff800000  (0x14 => OVERFLOW   INEXACT )
04 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
04 SINGLE: -3.40282346638528859812e+38 / 0xff7fffff  (0 => OK)
05 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
05 SINGLE: -3.40282346638528859812e+38 / 0xff7fffff  (0 => OK)
06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK)
06 SINGLE: -1.11100004769645909791e+31 / 0xf30c3a59  (0x10 =>    INEXACT )
07 DOUBLE: -1.11099999999999999085e+30 / 0x00c62c0bab523323b9 (0 => OK)
07 SINGLE: -1.11100003258488635273e+30 / 0xf1605d5b  (0x10 =>    INEXACT )
08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK)
08 SINGLE: -2.00000000000000000000e+00 / 0xc0000000  (0 => OK)
09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK)
09 SINGLE: -1.00000000000000000000e+00 / 0xbf800000  (0 => OK)
10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK)
10 SINGLE: -0.00000000000000000000e+00 / 0x80000000  (0x18 =>  UNDERFLOW  INEXACT )
11 DOUBLE: -1.17549435082228750797e-38 / 0x00b810000000000000 (0 => OK)
11 SINGLE: -1.17549435082228750797e-38 / 0x80800000  (0 => OK)
12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
12 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
13 DOUBLE: 1.17549435082228750797e-38 / 0x003810000000000000 (0 => OK)
13 SINGLE: 1.17549435082228750797e-38 / 0x00800000  (0 => OK)
14 DOUBLE: 2.98023224000000013061e-08 / 0x003e600000001c5f68 (0 => OK)
14 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0x10 =>    INEXACT )
15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK)
15 SINGLE: 5.96045985901128005935e-08 / 0x337ffff3  (0x10 =>    INEXACT )
16 DOUBLE: 6.09755999999999994299e-05 / 0x003f0ff801a9af58a1 (0 => OK)
16 SINGLE: 6.09755988989491015673e-05 / 0x387fc00d  (0x10 =>    INEXACT )
17 DOUBLE: 6.10352000000000013665e-05 / 0x003f100000c06a1ef5 (0 => OK)
17 SINGLE: 6.10351999057456851006e-05 / 0x38800006  (0x10 =>    INEXACT )
18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
18 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
19 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK)
20 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0x18 =>  UNDERFLOW  INEXACT )
21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK)
21 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0x18 =>  UNDERFLOW  INEXACT )
22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK)
22 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0x18 =>  UNDERFLOW  INEXACT )
23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
23 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
24 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
25 DOUBLE: 2.71828182845904509080e+00 / 0x004005bf0a8b145769 (0 => OK)
25 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0x10 =>    INEXACT )
26 DOUBLE: 3.14159265358979311600e+00 / 0x00400921fb54442d18 (0 => OK)
26 SINGLE: 3.14159274101257324219e+00 / 0x40490fdb  (0x10 =>    INEXACT )
27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
27 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
28 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
29 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
30 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
31 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
32 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK)
33 SINGLE: 2.14748364800000000000e+09 / 0x4f000000  (0x10 =>    INEXACT )
34 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
34 SINGLE: 3.40282346638528859812e+38 / 0x7f7fffff  (0 => OK)
35 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
35 SINGLE: 3.40282346638528859812e+38 / 0x7f7fffff  (0 => OK)
36 DOUBLE: 1.79769313486231570815e+308 / 0x007fefffffffffffff (0 => OK)
36 SINGLE: inf / 0x7f800000  (0x14 => OVERFLOW   INEXACT )
37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
37 SINGLE: inf / 0x7f800000  (0 => OK)
38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
38 SINGLE: nan / 0x7fc00000  (0 => OK)
39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK)
39 SINGLE: nan / 0x7fc00000  (0x1 =>     INVALID)
40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
40 SINGLE: nan / 0x7fe00000  (0x1 =>     INVALID)
Converting half-precision to single-precision
00   HALF: 0xffff  (0 => OK)
00 SINGLE: -1.31008000000000000000e+05 / 0xc7ffe000  (0 => OK)
01   HALF: 0xfcff  (0 => OK)
01 SINGLE: -8.18560000000000000000e+04 / 0xc79fe000  (0 => OK)
02   HALF: 0xfc01  (0 => OK)
02 SINGLE: -6.56000000000000000000e+04 / 0xc7802000  (0 => OK)
03   HALF: 0xfc00  (0 => OK)
03 SINGLE: -6.55360000000000000000e+04 / 0xc7800000  (0 => OK)
04   HALF: 0xfbff  (0 => OK)
04 SINGLE: -6.55040000000000000000e+04 / 0xc77fe000  (0 => OK)
05   HALF: 0xc000  (0 => OK)
05 SINGLE: -2.00000000000000000000e+00 / 0xc0000000  (0 => OK)
06   HALF: 0xbc00  (0 => OK)
06 SINGLE: -1.00000000000000000000e+00 / 0xbf800000  (0 => OK)
07   HALF: 0x8001  (0 => OK)
07 SINGLE: -5.96046447753906250000e-08 / 0xb3800000  (0 => OK)
08   HALF: 0x8000  (0 => OK)
08 SINGLE: -0.00000000000000000000e+00 / 0x80000000  (0 => OK)
09   HALF: 0000  (0 => OK)
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
10   HALF: 0x01  (0 => OK)
10 SINGLE: 5.96046447753906250000e-08 / 0x33800000  (0 => OK)
11   HALF: 0x3c00  (0 => OK)
11 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
12   HALF: 0x7bff  (0 => OK)
12 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
13   HALF: 0x7c00  (0 => OK)
13 SINGLE: 6.55360000000000000000e+04 / 0x47800000  (0 => OK)
14   HALF: 0x7c01  (0 => OK)
14 SINGLE: 6.56000000000000000000e+04 / 0x47802000  (0 => OK)
15   HALF: 0x7cff  (0 => OK)
15 SINGLE: 8.18560000000000000000e+04 / 0x479fe000  (0 => OK)
16   HALF: 0x7fff  (0 => OK)
16 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
Converting half-precision to double-precision
00   HALF: 0xffff  (0 => OK)
00 DOUBLE: 6.55350000000000000000e+04 / 0x0040efffe000000000 (0 => OK)
01   HALF: 0xfcff  (0 => OK)
01 DOUBLE: 6.47670000000000000000e+04 / 0x0040ef9fe000000000 (0 => OK)
02   HALF: 0xfc01  (0 => OK)
02 DOUBLE: 6.45130000000000000000e+04 / 0x0040ef802000000000 (0 => OK)
03   HALF: 0xfc00  (0 => OK)
03 DOUBLE: 6.45120000000000000000e+04 / 0x0040ef800000000000 (0 => OK)
04   HALF: 0xfbff  (0 => OK)
04 DOUBLE: 6.45110000000000000000e+04 / 0x0040ef7fe000000000 (0 => OK)
05   HALF: 0xc000  (0 => OK)
05 DOUBLE: 4.91520000000000000000e+04 / 0x0040e8000000000000 (0 => OK)
06   HALF: 0xbc00  (0 => OK)
06 DOUBLE: 4.81280000000000000000e+04 / 0x0040e7800000000000 (0 => OK)
07   HALF: 0x8001  (0 => OK)
07 DOUBLE: 3.27690000000000000000e+04 / 0x0040e0002000000000 (0 => OK)
08   HALF: 0x8000  (0 => OK)
08 DOUBLE: 3.27680000000000000000e+04 / 0x0040e0000000000000 (0 => OK)
09   HALF: 0000  (0 => OK)
09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
10   HALF: 0x01  (0 => OK)
10 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
11   HALF: 0x3c00  (0 => OK)
11 DOUBLE: 1.53600000000000000000e+04 / 0x0040ce000000000000 (0 => OK)
12   HALF: 0x7bff  (0 => OK)
12 DOUBLE: 3.17430000000000000000e+04 / 0x0040deffc000000000 (0 => OK)
13   HALF: 0x7c00  (0 => OK)
13 DOUBLE: 3.17440000000000000000e+04 / 0x0040df000000000000 (0 => OK)
14   HALF: 0x7c01  (0 => OK)
14 DOUBLE: 3.17450000000000000000e+04 / 0x0040df004000000000 (0 => OK)
15   HALF: 0x7cff  (0 => OK)
15 DOUBLE: 3.19990000000000000000e+04 / 0x0040df3fc000000000 (0 => OK)
16   HALF: 0x7fff  (0 => OK)
16 DOUBLE: 3.27670000000000000000e+04 / 0x0040dfffc000000000 (0 => OK)
### Rounding upwards
Converting single-precision to half-precision
00 SINGLE: -nan / 0xffa00000  (0 => OK)
00   HALF: 0x8000  (0x1 =>     INVALID)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
01   HALF: 0x8000  (0x1 =>     INVALID)
02 SINGLE: -inf / 0xff800000  (0 => OK)
02   HALF: 0xffff  (0x1 =>     INVALID)
03 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0 => OK)
03   HALF: 0xffff  (0x1 =>     INVALID)
04 SINGLE: -1.11100004769645909790e+31 / 0xf30c3a59  (0 => OK)
04   HALF: 0xffff  (0x1 =>     INVALID)
05 SINGLE: -1.11100003258488635272e+30 / 0xf1605d5b  (0 => OK)
05   HALF: 0xffff  (0x1 =>     INVALID)
06 SINGLE: -1.08700982243137289628e-12 / 0xab98fba8  (0 => OK)
06   HALF: 0x8000  (0x18 =>  UNDERFLOW  INEXACT )
07 SINGLE: -1.78051176151664730511e-20 / 0x9ea82a22  (0 => OK)
07   HALF: 0x8000  (0x18 =>  UNDERFLOW  INEXACT )
08 SINGLE: -1.17549435082228750796e-38 / 0x80800000  (0 => OK)
08   HALF: 0x8000  (0x18 =>  UNDERFLOW  INEXACT )
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
09   HALF: 0000  (0 => OK)
10 SINGLE: 1.17549435082228750797e-38 / 0x00800000  (0 => OK)
10   HALF: 0x01  (0x18 =>  UNDERFLOW  INEXACT )
11 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0 => OK)
11   HALF: 0x01  (0x18 =>  UNDERFLOW  INEXACT )
12 SINGLE: 5.96045985901128005935e-08 / 0x337ffff3  (0 => OK)
12   HALF: 0x01  (0x18 =>  UNDERFLOW  INEXACT )
13 SINGLE: 6.09755988989491015673e-05 / 0x387fc00d  (0 => OK)
13   HALF: 0x400  (0x18 =>  UNDERFLOW  INEXACT )
14 SINGLE: 6.10351999057456851006e-05 / 0x38800006  (0 => OK)
14   HALF: 0x401  (0x10 =>    INEXACT )
15 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
15   HALF: 0x3c00  (0 => OK)
16 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
16   HALF: 0x3c01  (0 => OK)
17 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
17   HALF: 0x4000  (0 => OK)
18 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0 => OK)
18   HALF: 0x4170  (0x10 =>    INEXACT )
19 SINGLE: 3.14159274101257324219e+00 / 0x40490fdb  (0 => OK)
19   HALF: 0x4249  (0x10 =>    INEXACT )
20 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
20   HALF: 0x7bff  (0x10 =>    INEXACT )
21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
21   HALF: 0x7bff  (0 => OK)
22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
22   HALF: 0x7c00  (0x10 =>    INEXACT )
23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
23   HALF: 0x7fff  (0x10 =>    INEXACT )
24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
24   HALF: 0x7fff  (0 => OK)
25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
25   HALF: 0x7fff  (0x1 =>     INVALID)
26 SINGLE: 1.11100003258488635273e+30 / 0x71605d5b  (0 => OK)
26   HALF: 0x7fff  (0x1 =>     INVALID)
27 SINGLE: 3.40282346638528859812e+38 / 0x7f7fffff  (0 => OK)
27   HALF: 0x7fff  (0x1 =>     INVALID)
28 SINGLE: inf / 0x7f800000  (0 => OK)
28   HALF: 0x7fff  (0x1 =>     INVALID)
29 SINGLE: nan / 0x7fc00000  (0 => OK)
29   HALF: 0000  (0x1 =>     INVALID)
30 SINGLE: nan / 0x7fa00000  (0 => OK)
30   HALF: 0000  (0x1 =>     INVALID)
Converting single-precision to double-precision
00 SINGLE: -nan / 0xffa00000  (0 => OK)
00 DOUBLE: -nan / 0x00fffc000000000000 (0x1 =>     INVALID)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
03 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0 => OK)
03 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
04 SINGLE: -1.11100004769645909790e+31 / 0xf30c3a59  (0 => OK)
04 DOUBLE: -1.11100004769645909790e+31 / 0x00c661874b20000000 (0 => OK)
05 SINGLE: -1.11100003258488635272e+30 / 0xf1605d5b  (0 => OK)
05 DOUBLE: -1.11100003258488635272e+30 / 0x00c62c0bab60000000 (0 => OK)
06 SINGLE: -1.08700982243137289628e-12 / 0xab98fba8  (0 => OK)
06 DOUBLE: -1.08700982243137289628e-12 / 0x00bd731f7500000000 (0 => OK)
07 SINGLE: -1.78051176151664730511e-20 / 0x9ea82a22  (0 => OK)
07 DOUBLE: -1.78051176151664730511e-20 / 0x00bbd5054440000000 (0 => OK)
08 SINGLE: -1.17549435082228750796e-38 / 0x80800000  (0 => OK)
08 DOUBLE: -1.17549435082228750796e-38 / 0x00b810000000000000 (0 => OK)
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
10 SINGLE: 1.17549435082228750797e-38 / 0x00800000  (0 => OK)
10 DOUBLE: 1.17549435082228750797e-38 / 0x003810000000000000 (0 => OK)
11 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0 => OK)
11 DOUBLE: 2.98023223876953125000e-08 / 0x003e60000000000000 (0 => OK)
12 SINGLE: 5.96045985901128005935e-08 / 0x337ffff3  (0 => OK)
12 DOUBLE: 5.96045985901128005935e-08 / 0x003e6ffffe60000000 (0 => OK)
13 SINGLE: 6.09755988989491015673e-05 / 0x387fc00d  (0 => OK)
13 DOUBLE: 6.09755988989491015673e-05 / 0x003f0ff801a0000000 (0 => OK)
14 SINGLE: 6.10351999057456851006e-05 / 0x38800006  (0 => OK)
14 DOUBLE: 6.10351999057456851006e-05 / 0x003f100000c0000000 (0 => OK)
15 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
15 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
16 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
16 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
17 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
17 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
18 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0 => OK)
18 DOUBLE: 2.71828174591064453125e+00 / 0x004005bf0a80000000 (0 => OK)
19 SINGLE: 3.14159274101257324219e+00 / 0x40490fdb  (0 => OK)
19 DOUBLE: 3.14159274101257324219e+00 / 0x00400921fb60000000 (0 => OK)
20 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
20 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
21 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
22 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
23 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
24 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
25 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
26 SINGLE: 1.11100003258488635273e+30 / 0x71605d5b  (0 => OK)
26 DOUBLE: 1.11100003258488635273e+30 / 0x00462c0bab60000000 (0 => OK)
27 SINGLE: 3.40282346638528859812e+38 / 0x7f7fffff  (0 => OK)
27 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
28 SINGLE: inf / 0x7f800000  (0 => OK)
28 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
29 SINGLE: nan / 0x7fc00000  (0 => OK)
29 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
30 SINGLE: nan / 0x7fa00000  (0 => OK)
30 DOUBLE: nan / 0x007ffc000000000000 (0x1 =>     INVALID)
Converting double-precision to half-precision
00 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
00   HALF: 0000  (0x1 =>     INVALID)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
01   HALF: 0000  (0x1 =>     INVALID)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
02   HALF: 0000  (0x1 =>     INVALID)
03 DOUBLE: -1.79769313486231570814e+308 / 0x00ffefffffffffffff (0 => OK)
03   HALF: 0000  (0x1 =>     INVALID)
04 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
04   HALF: 0000  (0x1 =>     INVALID)
05 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
05   HALF: 0000  (0x1 =>     INVALID)
06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK)
06   HALF: 0000  (0x1 =>     INVALID)
07 DOUBLE: -1.11099999999999999084e+30 / 0x00c62c0bab523323b9 (0 => OK)
07   HALF: 0000  (0x1 =>     INVALID)
08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK)
08   HALF: 0000  (0x1 =>     INVALID)
09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK)
09   HALF: 0000  (0x1 =>     INVALID)
10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK)
10   HALF: 0000  (0x10 =>    INEXACT )
11 DOUBLE: -1.17549435082228750796e-38 / 0x00b810000000000000 (0 => OK)
11   HALF: 0000  (0x10 =>    INEXACT )
12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
12   HALF: 0000  (0 => OK)
13 DOUBLE: 1.17549435082228750797e-38 / 0x003810000000000000 (0 => OK)
13   HALF: 0000  (0x10 =>    INEXACT )
14 DOUBLE: 2.98023224000000013061e-08 / 0x003e600000001c5f68 (0 => OK)
14   HALF: 0000  (0x10 =>    INEXACT )
15 DOUBLE: 5.96046000000000015662e-08 / 0x003e6ffffe6cb2fa82 (0 => OK)
15   HALF: 0000  (0x10 =>    INEXACT )
16 DOUBLE: 6.09755999999999994299e-05 / 0x003f0ff801a9af58a1 (0 => OK)
16   HALF: 0000  (0x10 =>    INEXACT )
17 DOUBLE: 6.10352000000000013665e-05 / 0x003f100000c06a1ef5 (0 => OK)
17   HALF: 0000  (0x10 =>    INEXACT )
18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
18   HALF: 0x01  (0 => OK)
19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
19   HALF: 0x01  (0x10 =>    INEXACT )
20 DOUBLE: 2.22507385850720138310e-308 / 0x000010000000000000 (0 => OK)
20   HALF: 0000  (0x10 =>    INEXACT )
21 DOUBLE: 1.37899728486072282844e-308 / 0x000009ea82a2287680 (0 => OK)
21   HALF: 0000  (0x10 =>    INEXACT )
22 DOUBLE: 1.49147387366816238764e-308 / 0x00000ab98fba843210 (0 => OK)
22   HALF: 0000  (0x10 =>    INEXACT )
23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
23   HALF: 0x01  (0 => OK)
24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
24   HALF: 0x02  (0 => OK)
25 DOUBLE: 2.71828182845904509080e+00 / 0x004005bf0a8b145769 (0 => OK)
25   HALF: 0x02  (0x10 =>    INEXACT )
26 DOUBLE: 3.14159265358979311600e+00 / 0x00400921fb54442d18 (0 => OK)
26   HALF: 0x03  (0x10 =>    INEXACT )
27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
27   HALF: 0xffdf  (0 => OK)
28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
28   HALF: 0xffe0  (0 => OK)
29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
29   HALF: 0xffe1  (0 => OK)
30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
30   HALF: 0xffbf  (0 => OK)
31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
31   HALF: 0xffc0  (0 => OK)
32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
32   HALF: 0xffc1  (0 => OK)
33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK)
33   HALF: 0xffff  (0 => OK)
34 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
34   HALF: 0xffff  (0x1 =>     INVALID)
35 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
35   HALF: 0xffff  (0x1 =>     INVALID)
36 DOUBLE: 1.79769313486231570815e+308 / 0x007fefffffffffffff (0 => OK)
36   HALF: 0xffff  (0x1 =>     INVALID)
37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
37   HALF: 0xffff  (0x1 =>     INVALID)
38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
38   HALF: 0000  (0x1 =>     INVALID)
39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK)
39   HALF: 0000  (0x1 =>     INVALID)
40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
40   HALF: 0000  (0x1 =>     INVALID)
Converting double-precision to single-precision
00 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
00 SINGLE: nan / 0x7fe00000  (0x1 =>     INVALID)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
03 DOUBLE: -1.79769313486231570814e+308 / 0x00ffefffffffffffff (0 => OK)
03 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0x14 => OVERFLOW   INEXACT )
04 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
04 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0 => OK)
05 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
05 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0 => OK)
06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK)
06 SINGLE: -1.11099992680387713644e+31 / 0xf30c3a58  (0x10 =>    INEXACT )
07 DOUBLE: -1.11099999999999999084e+30 / 0x00c62c0bab523323b9 (0 => OK)
07 SINGLE: -1.11099995702702262681e+30 / 0xf1605d5a  (0x10 =>    INEXACT )
08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK)
08 SINGLE: -2.00000000000000000000e+00 / 0xc0000000  (0 => OK)
09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK)
09 SINGLE: -1.00000000000000000000e+00 / 0xbf800000  (0 => OK)
10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK)
10 SINGLE: -0.00000000000000000000e+00 / 0x80000000  (0x18 =>  UNDERFLOW  INEXACT )
11 DOUBLE: -1.17549435082228750796e-38 / 0x00b810000000000000 (0 => OK)
11 SINGLE: -1.17549435082228750796e-38 / 0x80800000  (0 => OK)
12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
12 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
13 DOUBLE: 1.17549435082228750797e-38 / 0x003810000000000000 (0 => OK)
13 SINGLE: 1.17549435082228750797e-38 / 0x00800000  (0 => OK)
14 DOUBLE: 2.98023224000000013061e-08 / 0x003e600000001c5f68 (0 => OK)
14 SINGLE: 2.98023259404089913006e-08 / 0x33000001  (0x10 =>    INEXACT )
15 DOUBLE: 5.96046000000000015662e-08 / 0x003e6ffffe6cb2fa82 (0 => OK)
15 SINGLE: 5.96046021428264793940e-08 / 0x337ffff4  (0x10 =>    INEXACT )
16 DOUBLE: 6.09755999999999994299e-05 / 0x003f0ff801a9af58a1 (0 => OK)
16 SINGLE: 6.09756025369279086590e-05 / 0x387fc00e  (0x10 =>    INEXACT )
17 DOUBLE: 6.10352000000000013665e-05 / 0x003f100000c06a1ef5 (0 => OK)
17 SINGLE: 6.10352071817032992840e-05 / 0x38800007  (0x10 =>    INEXACT )
18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
18 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
19 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
20 DOUBLE: 2.22507385850720138310e-308 / 0x000010000000000000 (0 => OK)
20 SINGLE: 1.40129846432481707093e-45 / 0x00000001  (0x18 =>  UNDERFLOW  INEXACT )
21 DOUBLE: 1.37899728486072282844e-308 / 0x000009ea82a2287680 (0 => OK)
21 SINGLE: 1.40129846432481707093e-45 / 0x00000001  (0x18 =>  UNDERFLOW  INEXACT )
22 DOUBLE: 1.49147387366816238764e-308 / 0x00000ab98fba843210 (0 => OK)
22 SINGLE: 1.40129846432481707093e-45 / 0x00000001  (0x18 =>  UNDERFLOW  INEXACT )
23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
23 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
24 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
25 DOUBLE: 2.71828182845904509080e+00 / 0x004005bf0a8b145769 (0 => OK)
25 SINGLE: 2.71828198432922363282e+00 / 0x402df855  (0x10 =>    INEXACT )
26 DOUBLE: 3.14159265358979311600e+00 / 0x00400921fb54442d18 (0 => OK)
26 SINGLE: 3.14159274101257324219e+00 / 0x40490fdb  (0x10 =>    INEXACT )
27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
27 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
28 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
29 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
30 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
31 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
32 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK)
33 SINGLE: 2.14748364800000000000e+09 / 0x4f000000  (0x10 =>    INEXACT )
34 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
34 SINGLE: 3.40282346638528859812e+38 / 0x7f7fffff  (0 => OK)
35 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK)
35 SINGLE: 3.40282346638528859812e+38 / 0x7f7fffff  (0 => OK)
36 DOUBLE: 1.79769313486231570815e+308 / 0x007fefffffffffffff (0 => OK)
36 SINGLE: inf / 0x7f800000  (0x14 => OVERFLOW   INEXACT )
37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
37 SINGLE: inf / 0x7f800000  (0 => OK)
38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
38 SINGLE: nan / 0x7fc00000  (0 => OK)
39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK)
39 SINGLE: nan / 0x7fc00000  (0x1 =>     INVALID)
40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
40 SINGLE: nan / 0x7fe00000  (0x1 =>     INVALID)
Converting half-precision to single-precision
00   HALF: 0xffff  (0 => OK)
00 SINGLE: -1.31008000000000000000e+05 / 0xc7ffe000  (0 => OK)
01   HALF: 0xfcff  (0 => OK)
01 SINGLE: -8.18560000000000000000e+04 / 0xc79fe000  (0 => OK)
02   HALF: 0xfc01  (0 => OK)
02 SINGLE: -6.56000000000000000000e+04 / 0xc7802000  (0 => OK)
03   HALF: 0xfc00  (0 => OK)
03 SINGLE: -6.55360000000000000000e+04 / 0xc7800000  (0 => OK)
04   HALF: 0xfbff  (0 => OK)
04 SINGLE: -6.55040000000000000000e+04 / 0xc77fe000  (0 => OK)
05   HALF: 0xc000  (0 => OK)
05 SINGLE: -2.00000000000000000000e+00 / 0xc0000000  (0 => OK)
06   HALF: 0xbc00  (0 => OK)
06 SINGLE: -1.00000000000000000000e+00 / 0xbf800000  (0 => OK)
07   HALF: 0x8001  (0 => OK)
07 SINGLE: -5.96046447753906250000e-08 / 0xb3800000  (0 => OK)
08   HALF: 0x8000  (0 => OK)
08 SINGLE: -0.00000000000000000000e+00 / 0x80000000  (0 => OK)
09   HALF: 0000  (0 => OK)
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
10   HALF: 0x01  (0 => OK)
10 SINGLE: 5.96046447753906250000e-08 / 0x33800000  (0 => OK)
11   HALF: 0x3c00  (0 => OK)
11 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
12   HALF: 0x7bff  (0 => OK)
12 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
13   HALF: 0x7c00  (0 => OK)
13 SINGLE: 6.55360000000000000000e+04 / 0x47800000  (0 => OK)
14   HALF: 0x7c01  (0 => OK)
14 SINGLE: 6.56000000000000000000e+04 / 0x47802000  (0 => OK)
15   HALF: 0x7cff  (0 => OK)
15 SINGLE: 8.18560000000000000000e+04 / 0x479fe000  (0 => OK)
16   HALF: 0x7fff  (0 => OK)
16 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
Converting half-precision to double-precision
00   HALF: 0xffff  (0 => OK)
00 DOUBLE: 6.55350000000000000000e+04 / 0x0040efffe000000000 (0 => OK)
01   HALF: 0xfcff  (0 => OK)
01 DOUBLE: 6.47670000000000000000e+04 / 0x0040ef9fe000000000 (0 => OK)
02   HALF: 0xfc01  (0 => OK)
02 DOUBLE: 6.45130000000000000000e+04 / 0x0040ef802000000000 (0 => OK)
03   HALF: 0xfc00  (0 => OK)
03 DOUBLE: 6.45120000000000000000e+04 / 0x0040ef800000000000 (0 => OK)
04   HALF: 0xfbff  (0 => OK)
04 DOUBLE: 6.45110000000000000000e+04 / 0x0040ef7fe000000000 (0 => OK)
05   HALF: 0xc000  (0 => OK)
05 DOUBLE: 4.91520000000000000000e+04 / 0x0040e8000000000000 (0 => OK)
06   HALF: 0xbc00  (0 => OK)
06 DOUBLE: 4.81280000000000000000e+04 / 0x0040e7800000000000 (0 => OK)
07   HALF: 0x8001  (0 => OK)
07 DOUBLE: 3.27690000000000000000e+04 / 0x0040e0002000000000 (0 => OK)
08   HALF: 0x8000  (0 => OK)
08 DOUBLE: 3.27680000000000000000e+04 / 0x0040e0000000000000 (0 => OK)
09   HALF: 0000  (0 => OK)
09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
10   HALF: 0x01  (0 => OK)
10 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
11   HALF: 0x3c00  (0 => OK)
11 DOUBLE: 1.53600000000000000000e+04 / 0x0040ce000000000000 (0 => OK)
12   HALF: 0x7bff  (0 => OK)
12 DOUBLE: 3.17430000000000000000e+04 / 0x0040deffc000000000 (0 => OK)
13   HALF: 0x7c00  (0 => OK)
13 DOUBLE: 3.17440000000000000000e+04 / 0x0040df000000000000 (0 => OK)
14   HALF: 0x7c01  (0 => OK)
14 DOUBLE: 3.17450000000000000000e+04 / 0x0040df004000000000 (0 => OK)
15   HALF: 0x7cff  (0 => OK)
15 DOUBLE: 3.19990000000000000000e+04 / 0x0040df3fc000000000 (0 => OK)
16   HALF: 0x7fff  (0 => OK)
16 DOUBLE: 3.27670000000000000000e+04 / 0x0040dfffc000000000 (0 => OK)
### Rounding downwards
Converting single-precision to half-precision
00 SINGLE: -nan / 0xffa00000  (0 => OK)
00   HALF: 0x8000  (0x1 =>     INVALID)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
01   HALF: 0x8000  (0x1 =>     INVALID)
02 SINGLE: -inf / 0xff800000  (0 => OK)
02   HALF: 0xffff  (0x1 =>     INVALID)
03 SINGLE: -3.40282346638528859812e+38 / 0xff7fffff  (0 => OK)
03   HALF: 0xffff  (0x1 =>     INVALID)
04 SINGLE: -1.11100004769645909791e+31 / 0xf30c3a59  (0 => OK)
04   HALF: 0xffff  (0x1 =>     INVALID)
05 SINGLE: -1.11100003258488635273e+30 / 0xf1605d5b  (0 => OK)
05   HALF: 0xffff  (0x1 =>     INVALID)
06 SINGLE: -1.08700982243137289629e-12 / 0xab98fba8  (0 => OK)
06   HALF: 0x8001  (0x18 =>  UNDERFLOW  INEXACT )
07 SINGLE: -1.78051176151664730512e-20 / 0x9ea82a22  (0 => OK)
07   HALF: 0x8001  (0x18 =>  UNDERFLOW  INEXACT )
08 SINGLE: -1.17549435082228750797e-38 / 0x80800000  (0 => OK)
08   HALF: 0x8001  (0x18 =>  UNDERFLOW  INEXACT )
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
09   HALF: 0000  (0 => OK)
10 SINGLE: 1.17549435082228750796e-38 / 0x00800000  (0 => OK)
10   HALF: 0000  (0x18 =>  UNDERFLOW  INEXACT )
11 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0 => OK)
11   HALF: 0000  (0x18 =>  UNDERFLOW  INEXACT )
12 SINGLE: 5.96045985901128005934e-08 / 0x337ffff3  (0 => OK)
12   HALF: 0000  (0x18 =>  UNDERFLOW  INEXACT )
13 SINGLE: 6.09755988989491015672e-05 / 0x387fc00d  (0 => OK)
13   HALF: 0x3ff  (0x18 =>  UNDERFLOW  INEXACT )
14 SINGLE: 6.10351999057456851005e-05 / 0x38800006  (0 => OK)
14   HALF: 0x400  (0x10 =>    INEXACT )
15 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
15   HALF: 0x3c00  (0 => OK)
16 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
16   HALF: 0x3c01  (0 => OK)
17 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
17   HALF: 0x4000  (0 => OK)
18 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0 => OK)
18   HALF: 0x416f  (0x10 =>    INEXACT )
19 SINGLE: 3.14159274101257324218e+00 / 0x40490fdb  (0 => OK)
19   HALF: 0x4248  (0x10 =>    INEXACT )
20 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
20   HALF: 0x7bfe  (0x10 =>    INEXACT )
21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
21   HALF: 0x7bff  (0 => OK)
22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
22   HALF: 0x7bff  (0x10 =>    INEXACT )
23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
23   HALF: 0x7ffe  (0x10 =>    INEXACT )
24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
24   HALF: 0x7fff  (0 => OK)
25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
25   HALF: 0x7fff  (0x10 =>    INEXACT )
26 SINGLE: 1.11100003258488635272e+30 / 0x71605d5b  (0 => OK)
26   HALF: 0x7fff  (0x1 =>     INVALID)
27 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0 => OK)
27   HALF: 0x7fff  (0x1 =>     INVALID)
28 SINGLE: inf / 0x7f800000  (0 => OK)
28   HALF: 0x7fff  (0x1 =>     INVALID)
29 SINGLE: nan / 0x7fc00000  (0 => OK)
29   HALF: 0000  (0x1 =>     INVALID)
30 SINGLE: nan / 0x7fa00000  (0 => OK)
30   HALF: 0000  (0x1 =>     INVALID)
Converting single-precision to double-precision
00 SINGLE: -nan / 0xffa00000  (0 => OK)
00 DOUBLE: -nan / 0x00fffc000000000000 (0x1 =>     INVALID)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
03 SINGLE: -3.40282346638528859812e+38 / 0xff7fffff  (0 => OK)
03 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
04 SINGLE: -1.11100004769645909791e+31 / 0xf30c3a59  (0 => OK)
04 DOUBLE: -1.11100004769645909791e+31 / 0x00c661874b20000000 (0 => OK)
05 SINGLE: -1.11100003258488635273e+30 / 0xf1605d5b  (0 => OK)
05 DOUBLE: -1.11100003258488635273e+30 / 0x00c62c0bab60000000 (0 => OK)
06 SINGLE: -1.08700982243137289629e-12 / 0xab98fba8  (0 => OK)
06 DOUBLE: -1.08700982243137289629e-12 / 0x00bd731f7500000000 (0 => OK)
07 SINGLE: -1.78051176151664730512e-20 / 0x9ea82a22  (0 => OK)
07 DOUBLE: -1.78051176151664730512e-20 / 0x00bbd5054440000000 (0 => OK)
08 SINGLE: -1.17549435082228750797e-38 / 0x80800000  (0 => OK)
08 DOUBLE: -1.17549435082228750797e-38 / 0x00b810000000000000 (0 => OK)
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
10 SINGLE: 1.17549435082228750796e-38 / 0x00800000  (0 => OK)
10 DOUBLE: 1.17549435082228750796e-38 / 0x003810000000000000 (0 => OK)
11 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0 => OK)
11 DOUBLE: 2.98023223876953125000e-08 / 0x003e60000000000000 (0 => OK)
12 SINGLE: 5.96045985901128005934e-08 / 0x337ffff3  (0 => OK)
12 DOUBLE: 5.96045985901128005934e-08 / 0x003e6ffffe60000000 (0 => OK)
13 SINGLE: 6.09755988989491015672e-05 / 0x387fc00d  (0 => OK)
13 DOUBLE: 6.09755988989491015672e-05 / 0x003f0ff801a0000000 (0 => OK)
14 SINGLE: 6.10351999057456851005e-05 / 0x38800006  (0 => OK)
14 DOUBLE: 6.10351999057456851005e-05 / 0x003f100000c0000000 (0 => OK)
15 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
15 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
16 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
16 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
17 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
17 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
18 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0 => OK)
18 DOUBLE: 2.71828174591064453125e+00 / 0x004005bf0a80000000 (0 => OK)
19 SINGLE: 3.14159274101257324218e+00 / 0x40490fdb  (0 => OK)
19 DOUBLE: 3.14159274101257324218e+00 / 0x00400921fb60000000 (0 => OK)
20 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
20 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
21 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
22 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
23 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
24 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
25 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
26 SINGLE: 1.11100003258488635272e+30 / 0x71605d5b  (0 => OK)
26 DOUBLE: 1.11100003258488635272e+30 / 0x00462c0bab60000000 (0 => OK)
27 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0 => OK)
27 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
28 SINGLE: inf / 0x7f800000  (0 => OK)
28 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
29 SINGLE: nan / 0x7fc00000  (0 => OK)
29 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
30 SINGLE: nan / 0x7fa00000  (0 => OK)
30 DOUBLE: nan / 0x007ffc000000000000 (0x1 =>     INVALID)
Converting double-precision to half-precision
00 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
00   HALF: 0000  (0x1 =>     INVALID)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
01   HALF: 0000  (0x1 =>     INVALID)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
02   HALF: 0000  (0x1 =>     INVALID)
03 DOUBLE: -1.79769313486231570815e+308 / 0x00ffefffffffffffff (0 => OK)
03   HALF: 0000  (0x1 =>     INVALID)
04 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
04   HALF: 0000  (0x1 =>     INVALID)
05 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
05   HALF: 0000  (0x1 =>     INVALID)
06 DOUBLE: -1.11100000000000007530e+31 / 0x00c661874b135ff654 (0 => OK)
06   HALF: 0000  (0x1 =>     INVALID)
07 DOUBLE: -1.11099999999999999085e+30 / 0x00c62c0bab523323b9 (0 => OK)
07   HALF: 0000  (0x1 =>     INVALID)
08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK)
08   HALF: 0000  (0x1 =>     INVALID)
09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK)
09   HALF: 0000  (0x1 =>     INVALID)
10 DOUBLE: -2.22507385850720138310e-308 / 0x008010000000000000 (0 => OK)
10   HALF: 0000  (0x10 =>    INEXACT )
11 DOUBLE: -1.17549435082228750797e-38 / 0x00b810000000000000 (0 => OK)
11   HALF: 0000  (0x10 =>    INEXACT )
12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
12   HALF: 0000  (0 => OK)
13 DOUBLE: 1.17549435082228750796e-38 / 0x003810000000000000 (0 => OK)
13   HALF: 0000  (0x10 =>    INEXACT )
14 DOUBLE: 2.98023224000000013060e-08 / 0x003e600000001c5f68 (0 => OK)
14   HALF: 0000  (0x10 =>    INEXACT )
15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK)
15   HALF: 0000  (0x10 =>    INEXACT )
16 DOUBLE: 6.09755999999999994298e-05 / 0x003f0ff801a9af58a1 (0 => OK)
16   HALF: 0000  (0x10 =>    INEXACT )
17 DOUBLE: 6.10352000000000013664e-05 / 0x003f100000c06a1ef5 (0 => OK)
17   HALF: 0000  (0x10 =>    INEXACT )
18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
18   HALF: 0x01  (0 => OK)
19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
19   HALF: 0x01  (0x10 =>    INEXACT )
20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK)
20   HALF: 0000  (0x10 =>    INEXACT )
21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK)
21   HALF: 0000  (0x10 =>    INEXACT )
22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK)
22   HALF: 0000  (0x10 =>    INEXACT )
23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
23   HALF: 0x01  (0 => OK)
24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
24   HALF: 0x02  (0 => OK)
25 DOUBLE: 2.71828182845904509079e+00 / 0x004005bf0a8b145769 (0 => OK)
25   HALF: 0x02  (0x10 =>    INEXACT )
26 DOUBLE: 3.14159265358979311599e+00 / 0x00400921fb54442d18 (0 => OK)
26   HALF: 0x03  (0x10 =>    INEXACT )
27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
27   HALF: 0xffdf  (0 => OK)
28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
28   HALF: 0xffe0  (0 => OK)
29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
29   HALF: 0xffe1  (0 => OK)
30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
30   HALF: 0xffbf  (0 => OK)
31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
31   HALF: 0xffc0  (0 => OK)
32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
32   HALF: 0xffc1  (0 => OK)
33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK)
33   HALF: 0xffff  (0 => OK)
34 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
34   HALF: 0xffff  (0x1 =>     INVALID)
35 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
35   HALF: 0xffff  (0x1 =>     INVALID)
36 DOUBLE: 1.79769313486231570814e+308 / 0x007fefffffffffffff (0 => OK)
36   HALF: 0xffff  (0x1 =>     INVALID)
37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
37   HALF: 0xffff  (0x1 =>     INVALID)
38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
38   HALF: 0000  (0x1 =>     INVALID)
39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK)
39   HALF: 0000  (0x1 =>     INVALID)
40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
40   HALF: 0000  (0x1 =>     INVALID)
Converting double-precision to single-precision
00 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
00 SINGLE: nan / 0x7fe00000  (0x1 =>     INVALID)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
03 DOUBLE: -1.79769313486231570815e+308 / 0x00ffefffffffffffff (0 => OK)
03 SINGLE: -inf / 0xff800000  (0x14 => OVERFLOW   INEXACT )
04 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
04 SINGLE: -3.40282346638528859812e+38 / 0xff7fffff  (0 => OK)
05 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK)
05 SINGLE: -3.40282346638528859812e+38 / 0xff7fffff  (0 => OK)
06 DOUBLE: -1.11100000000000007530e+31 / 0x00c661874b135ff654 (0 => OK)
06 SINGLE: -1.11100004769645909791e+31 / 0xf30c3a59  (0x10 =>    INEXACT )
07 DOUBLE: -1.11099999999999999085e+30 / 0x00c62c0bab523323b9 (0 => OK)
07 SINGLE: -1.11100003258488635273e+30 / 0xf1605d5b  (0x10 =>    INEXACT )
08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK)
08 SINGLE: -2.00000000000000000000e+00 / 0xc0000000  (0 => OK)
09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK)
09 SINGLE: -1.00000000000000000000e+00 / 0xbf800000  (0 => OK)
10 DOUBLE: -2.22507385850720138310e-308 / 0x008010000000000000 (0 => OK)
10 SINGLE: -1.40129846432481707093e-45 / 0x80000001  (0x18 =>  UNDERFLOW  INEXACT )
11 DOUBLE: -1.17549435082228750797e-38 / 0x00b810000000000000 (0 => OK)
11 SINGLE: -1.17549435082228750797e-38 / 0x80800000  (0 => OK)
12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
12 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
13 DOUBLE: 1.17549435082228750796e-38 / 0x003810000000000000 (0 => OK)
13 SINGLE: 1.17549435082228750796e-38 / 0x00800000  (0 => OK)
14 DOUBLE: 2.98023224000000013060e-08 / 0x003e600000001c5f68 (0 => OK)
14 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0x10 =>    INEXACT )
15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK)
15 SINGLE: 5.96045985901128005934e-08 / 0x337ffff3  (0x10 =>    INEXACT )
16 DOUBLE: 6.09755999999999994298e-05 / 0x003f0ff801a9af58a1 (0 => OK)
16 SINGLE: 6.09755988989491015672e-05 / 0x387fc00d  (0x10 =>    INEXACT )
17 DOUBLE: 6.10352000000000013664e-05 / 0x003f100000c06a1ef5 (0 => OK)
17 SINGLE: 6.10351999057456851005e-05 / 0x38800006  (0x10 =>    INEXACT )
18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
18 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
19 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK)
20 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0x18 =>  UNDERFLOW  INEXACT )
21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK)
21 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0x18 =>  UNDERFLOW  INEXACT )
22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK)
22 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0x18 =>  UNDERFLOW  INEXACT )
23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
23 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
24 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
25 DOUBLE: 2.71828182845904509079e+00 / 0x004005bf0a8b145769 (0 => OK)
25 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0x10 =>    INEXACT )
26 DOUBLE: 3.14159265358979311599e+00 / 0x00400921fb54442d18 (0 => OK)
26 SINGLE: 3.14159250259399414062e+00 / 0x40490fda  (0x10 =>    INEXACT )
27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
27 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
28 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
29 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
30 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
31 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
32 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK)
33 SINGLE: 2.14748352000000000000e+09 / 0x4effffff  (0x10 =>    INEXACT )
34 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
34 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0 => OK)
35 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
35 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0 => OK)
36 DOUBLE: 1.79769313486231570814e+308 / 0x007fefffffffffffff (0 => OK)
36 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0x14 => OVERFLOW   INEXACT )
37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
37 SINGLE: inf / 0x7f800000  (0 => OK)
38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
38 SINGLE: nan / 0x7fc00000  (0 => OK)
39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK)
39 SINGLE: nan / 0x7fc00000  (0x1 =>     INVALID)
40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
40 SINGLE: nan / 0x7fe00000  (0x1 =>     INVALID)
Converting half-precision to single-precision
00   HALF: 0xffff  (0 => OK)
00 SINGLE: -1.31008000000000000000e+05 / 0xc7ffe000  (0 => OK)
01   HALF: 0xfcff  (0 => OK)
01 SINGLE: -8.18560000000000000000e+04 / 0xc79fe000  (0 => OK)
02   HALF: 0xfc01  (0 => OK)
02 SINGLE: -6.56000000000000000000e+04 / 0xc7802000  (0 => OK)
03   HALF: 0xfc00  (0 => OK)
03 SINGLE: -6.55360000000000000000e+04 / 0xc7800000  (0 => OK)
04   HALF: 0xfbff  (0 => OK)
04 SINGLE: -6.55040000000000000000e+04 / 0xc77fe000  (0 => OK)
05   HALF: 0xc000  (0 => OK)
05 SINGLE: -2.00000000000000000000e+00 / 0xc0000000  (0 => OK)
06   HALF: 0xbc00  (0 => OK)
06 SINGLE: -1.00000000000000000000e+00 / 0xbf800000  (0 => OK)
07   HALF: 0x8001  (0 => OK)
07 SINGLE: -5.96046447753906250000e-08 / 0xb3800000  (0 => OK)
08   HALF: 0x8000  (0 => OK)
08 SINGLE: -0.00000000000000000000e+00 / 0x80000000  (0 => OK)
09   HALF: 0000  (0 => OK)
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
10   HALF: 0x01  (0 => OK)
10 SINGLE: 5.96046447753906250000e-08 / 0x33800000  (0 => OK)
11   HALF: 0x3c00  (0 => OK)
11 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
12   HALF: 0x7bff  (0 => OK)
12 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
13   HALF: 0x7c00  (0 => OK)
13 SINGLE: 6.55360000000000000000e+04 / 0x47800000  (0 => OK)
14   HALF: 0x7c01  (0 => OK)
14 SINGLE: 6.56000000000000000000e+04 / 0x47802000  (0 => OK)
15   HALF: 0x7cff  (0 => OK)
15 SINGLE: 8.18560000000000000000e+04 / 0x479fe000  (0 => OK)
16   HALF: 0x7fff  (0 => OK)
16 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
Converting half-precision to double-precision
00   HALF: 0xffff  (0 => OK)
00 DOUBLE: 6.55350000000000000000e+04 / 0x0040efffe000000000 (0 => OK)
01   HALF: 0xfcff  (0 => OK)
01 DOUBLE: 6.47670000000000000000e+04 / 0x0040ef9fe000000000 (0 => OK)
02   HALF: 0xfc01  (0 => OK)
02 DOUBLE: 6.45130000000000000000e+04 / 0x0040ef802000000000 (0 => OK)
03   HALF: 0xfc00  (0 => OK)
03 DOUBLE: 6.45120000000000000000e+04 / 0x0040ef800000000000 (0 => OK)
04   HALF: 0xfbff  (0 => OK)
04 DOUBLE: 6.45110000000000000000e+04 / 0x0040ef7fe000000000 (0 => OK)
05   HALF: 0xc000  (0 => OK)
05 DOUBLE: 4.91520000000000000000e+04 / 0x0040e8000000000000 (0 => OK)
06   HALF: 0xbc00  (0 => OK)
06 DOUBLE: 4.81280000000000000000e+04 / 0x0040e7800000000000 (0 => OK)
07   HALF: 0x8001  (0 => OK)
07 DOUBLE: 3.27690000000000000000e+04 / 0x0040e0002000000000 (0 => OK)
08   HALF: 0x8000  (0 => OK)
08 DOUBLE: 3.27680000000000000000e+04 / 0x0040e0000000000000 (0 => OK)
09   HALF: 0000  (0 => OK)
09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
10   HALF: 0x01  (0 => OK)
10 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
11   HALF: 0x3c00  (0 => OK)
11 DOUBLE: 1.53600000000000000000e+04 / 0x0040ce000000000000 (0 => OK)
12   HALF: 0x7bff  (0 => OK)
12 DOUBLE: 3.17430000000000000000e+04 / 0x0040deffc000000000 (0 => OK)
13   HALF: 0x7c00  (0 => OK)
13 DOUBLE: 3.17440000000000000000e+04 / 0x0040df000000000000 (0 => OK)
14   HALF: 0x7c01  (0 => OK)
14 DOUBLE: 3.17450000000000000000e+04 / 0x0040df004000000000 (0 => OK)
15   HALF: 0x7cff  (0 => OK)
15 DOUBLE: 3.19990000000000000000e+04 / 0x0040df3fc000000000 (0 => OK)
16   HALF: 0x7fff  (0 => OK)
16 DOUBLE: 3.27670000000000000000e+04 / 0x0040dfffc000000000 (0 => OK)
### Rounding to zero
Converting single-precision to half-precision
00 SINGLE: -nan / 0xffa00000  (0 => OK)
00   HALF: 0x8000  (0x1 =>     INVALID)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
01   HALF: 0x8000  (0x1 =>     INVALID)
02 SINGLE: -inf / 0xff800000  (0 => OK)
02   HALF: 0xffff  (0x1 =>     INVALID)
03 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0 => OK)
03   HALF: 0xffff  (0x1 =>     INVALID)
04 SINGLE: -1.11100004769645909790e+31 / 0xf30c3a59  (0 => OK)
04   HALF: 0xffff  (0x1 =>     INVALID)
05 SINGLE: -1.11100003258488635272e+30 / 0xf1605d5b  (0 => OK)
05   HALF: 0xffff  (0x1 =>     INVALID)
06 SINGLE: -1.08700982243137289628e-12 / 0xab98fba8  (0 => OK)
06   HALF: 0x8000  (0x18 =>  UNDERFLOW  INEXACT )
07 SINGLE: -1.78051176151664730511e-20 / 0x9ea82a22  (0 => OK)
07   HALF: 0x8000  (0x18 =>  UNDERFLOW  INEXACT )
08 SINGLE: -1.17549435082228750796e-38 / 0x80800000  (0 => OK)
08   HALF: 0x8000  (0x18 =>  UNDERFLOW  INEXACT )
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
09   HALF: 0000  (0 => OK)
10 SINGLE: 1.17549435082228750796e-38 / 0x00800000  (0 => OK)
10   HALF: 0000  (0x18 =>  UNDERFLOW  INEXACT )
11 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0 => OK)
11   HALF: 0000  (0x18 =>  UNDERFLOW  INEXACT )
12 SINGLE: 5.96045985901128005934e-08 / 0x337ffff3  (0 => OK)
12   HALF: 0000  (0x18 =>  UNDERFLOW  INEXACT )
13 SINGLE: 6.09755988989491015672e-05 / 0x387fc00d  (0 => OK)
13   HALF: 0x3ff  (0x18 =>  UNDERFLOW  INEXACT )
14 SINGLE: 6.10351999057456851005e-05 / 0x38800006  (0 => OK)
14   HALF: 0x400  (0x10 =>    INEXACT )
15 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
15   HALF: 0x3c00  (0 => OK)
16 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
16   HALF: 0x3c01  (0 => OK)
17 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
17   HALF: 0x4000  (0 => OK)
18 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0 => OK)
18   HALF: 0x416f  (0x10 =>    INEXACT )
19 SINGLE: 3.14159274101257324218e+00 / 0x40490fdb  (0 => OK)
19   HALF: 0x4248  (0x10 =>    INEXACT )
20 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
20   HALF: 0x7bfe  (0x10 =>    INEXACT )
21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
21   HALF: 0x7bff  (0 => OK)
22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
22   HALF: 0x7bff  (0x10 =>    INEXACT )
23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
23   HALF: 0x7ffe  (0x10 =>    INEXACT )
24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
24   HALF: 0x7fff  (0 => OK)
25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
25   HALF: 0x7fff  (0x10 =>    INEXACT )
26 SINGLE: 1.11100003258488635272e+30 / 0x71605d5b  (0 => OK)
26   HALF: 0x7fff  (0x1 =>     INVALID)
27 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0 => OK)
27   HALF: 0x7fff  (0x1 =>     INVALID)
28 SINGLE: inf / 0x7f800000  (0 => OK)
28   HALF: 0x7fff  (0x1 =>     INVALID)
29 SINGLE: nan / 0x7fc00000  (0 => OK)
29   HALF: 0000  (0x1 =>     INVALID)
30 SINGLE: nan / 0x7fa00000  (0 => OK)
30   HALF: 0000  (0x1 =>     INVALID)
Converting single-precision to double-precision
00 SINGLE: -nan / 0xffa00000  (0 => OK)
00 DOUBLE: -nan / 0x00fffc000000000000 (0x1 =>     INVALID)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
03 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0 => OK)
03 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
04 SINGLE: -1.11100004769645909790e+31 / 0xf30c3a59  (0 => OK)
04 DOUBLE: -1.11100004769645909790e+31 / 0x00c661874b20000000 (0 => OK)
05 SINGLE: -1.11100003258488635272e+30 / 0xf1605d5b  (0 => OK)
05 DOUBLE: -1.11100003258488635272e+30 / 0x00c62c0bab60000000 (0 => OK)
06 SINGLE: -1.08700982243137289628e-12 / 0xab98fba8  (0 => OK)
06 DOUBLE: -1.08700982243137289628e-12 / 0x00bd731f7500000000 (0 => OK)
07 SINGLE: -1.78051176151664730511e-20 / 0x9ea82a22  (0 => OK)
07 DOUBLE: -1.78051176151664730511e-20 / 0x00bbd5054440000000 (0 => OK)
08 SINGLE: -1.17549435082228750796e-38 / 0x80800000  (0 => OK)
08 DOUBLE: -1.17549435082228750796e-38 / 0x00b810000000000000 (0 => OK)
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
10 SINGLE: 1.17549435082228750796e-38 / 0x00800000  (0 => OK)
10 DOUBLE: 1.17549435082228750796e-38 / 0x003810000000000000 (0 => OK)
11 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0 => OK)
11 DOUBLE: 2.98023223876953125000e-08 / 0x003e60000000000000 (0 => OK)
12 SINGLE: 5.96045985901128005934e-08 / 0x337ffff3  (0 => OK)
12 DOUBLE: 5.96045985901128005934e-08 / 0x003e6ffffe60000000 (0 => OK)
13 SINGLE: 6.09755988989491015672e-05 / 0x387fc00d  (0 => OK)
13 DOUBLE: 6.09755988989491015672e-05 / 0x003f0ff801a0000000 (0 => OK)
14 SINGLE: 6.10351999057456851005e-05 / 0x38800006  (0 => OK)
14 DOUBLE: 6.10351999057456851005e-05 / 0x003f100000c0000000 (0 => OK)
15 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
15 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
16 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
16 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
17 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
17 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
18 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0 => OK)
18 DOUBLE: 2.71828174591064453125e+00 / 0x004005bf0a80000000 (0 => OK)
19 SINGLE: 3.14159274101257324218e+00 / 0x40490fdb  (0 => OK)
19 DOUBLE: 3.14159274101257324218e+00 / 0x00400921fb60000000 (0 => OK)
20 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
20 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
21 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
22 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
23 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
24 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
25 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
26 SINGLE: 1.11100003258488635272e+30 / 0x71605d5b  (0 => OK)
26 DOUBLE: 1.11100003258488635272e+30 / 0x00462c0bab60000000 (0 => OK)
27 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0 => OK)
27 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
28 SINGLE: inf / 0x7f800000  (0 => OK)
28 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
29 SINGLE: nan / 0x7fc00000  (0 => OK)
29 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
30 SINGLE: nan / 0x7fa00000  (0 => OK)
30 DOUBLE: nan / 0x007ffc000000000000 (0x1 =>     INVALID)
Converting double-precision to half-precision
00 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
00   HALF: 0000  (0x1 =>     INVALID)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
01   HALF: 0000  (0x1 =>     INVALID)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
02   HALF: 0000  (0x1 =>     INVALID)
03 DOUBLE: -1.79769313486231570814e+308 / 0x00ffefffffffffffff (0 => OK)
03   HALF: 0000  (0x1 =>     INVALID)
04 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
04   HALF: 0000  (0x1 =>     INVALID)
05 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
05   HALF: 0000  (0x1 =>     INVALID)
06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK)
06   HALF: 0000  (0x1 =>     INVALID)
07 DOUBLE: -1.11099999999999999084e+30 / 0x00c62c0bab523323b9 (0 => OK)
07   HALF: 0000  (0x1 =>     INVALID)
08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK)
08   HALF: 0000  (0x1 =>     INVALID)
09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK)
09   HALF: 0000  (0x1 =>     INVALID)
10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK)
10   HALF: 0000  (0x10 =>    INEXACT )
11 DOUBLE: -1.17549435082228750796e-38 / 0x00b810000000000000 (0 => OK)
11   HALF: 0000  (0x10 =>    INEXACT )
12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
12   HALF: 0000  (0 => OK)
13 DOUBLE: 1.17549435082228750796e-38 / 0x003810000000000000 (0 => OK)
13   HALF: 0000  (0x10 =>    INEXACT )
14 DOUBLE: 2.98023224000000013060e-08 / 0x003e600000001c5f68 (0 => OK)
14   HALF: 0000  (0x10 =>    INEXACT )
15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK)
15   HALF: 0000  (0x10 =>    INEXACT )
16 DOUBLE: 6.09755999999999994298e-05 / 0x003f0ff801a9af58a1 (0 => OK)
16   HALF: 0000  (0x10 =>    INEXACT )
17 DOUBLE: 6.10352000000000013664e-05 / 0x003f100000c06a1ef5 (0 => OK)
17   HALF: 0000  (0x10 =>    INEXACT )
18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
18   HALF: 0x01  (0 => OK)
19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
19   HALF: 0x01  (0x10 =>    INEXACT )
20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK)
20   HALF: 0000  (0x10 =>    INEXACT )
21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK)
21   HALF: 0000  (0x10 =>    INEXACT )
22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK)
22   HALF: 0000  (0x10 =>    INEXACT )
23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
23   HALF: 0x01  (0 => OK)
24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
24   HALF: 0x02  (0 => OK)
25 DOUBLE: 2.71828182845904509079e+00 / 0x004005bf0a8b145769 (0 => OK)
25   HALF: 0x02  (0x10 =>    INEXACT )
26 DOUBLE: 3.14159265358979311599e+00 / 0x00400921fb54442d18 (0 => OK)
26   HALF: 0x03  (0x10 =>    INEXACT )
27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
27   HALF: 0xffdf  (0 => OK)
28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
28   HALF: 0xffe0  (0 => OK)
29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
29   HALF: 0xffe1  (0 => OK)
30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
30   HALF: 0xffbf  (0 => OK)
31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
31   HALF: 0xffc0  (0 => OK)
32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
32   HALF: 0xffc1  (0 => OK)
33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK)
33   HALF: 0xffff  (0 => OK)
34 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
34   HALF: 0xffff  (0x1 =>     INVALID)
35 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
35   HALF: 0xffff  (0x1 =>     INVALID)
36 DOUBLE: 1.79769313486231570814e+308 / 0x007fefffffffffffff (0 => OK)
36   HALF: 0xffff  (0x1 =>     INVALID)
37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
37   HALF: 0xffff  (0x1 =>     INVALID)
38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
38   HALF: 0000  (0x1 =>     INVALID)
39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK)
39   HALF: 0000  (0x1 =>     INVALID)
40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
40   HALF: 0000  (0x1 =>     INVALID)
Converting double-precision to single-precision
00 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
00 SINGLE: nan / 0x7fe00000  (0x1 =>     INVALID)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
02 SINGLE: -inf / 0xff800000  (0 => OK)
03 DOUBLE: -1.79769313486231570814e+308 / 0x00ffefffffffffffff (0 => OK)
03 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0x14 => OVERFLOW   INEXACT )
04 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
04 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0 => OK)
05 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
05 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0 => OK)
06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK)
06 SINGLE: -1.11099992680387713644e+31 / 0xf30c3a58  (0x10 =>    INEXACT )
07 DOUBLE: -1.11099999999999999084e+30 / 0x00c62c0bab523323b9 (0 => OK)
07 SINGLE: -1.11099995702702262681e+30 / 0xf1605d5a  (0x10 =>    INEXACT )
08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK)
08 SINGLE: -2.00000000000000000000e+00 / 0xc0000000  (0 => OK)
09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK)
09 SINGLE: -1.00000000000000000000e+00 / 0xbf800000  (0 => OK)
10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK)
10 SINGLE: -0.00000000000000000000e+00 / 0x80000000  (0x18 =>  UNDERFLOW  INEXACT )
11 DOUBLE: -1.17549435082228750796e-38 / 0x00b810000000000000 (0 => OK)
11 SINGLE: -1.17549435082228750796e-38 / 0x80800000  (0 => OK)
12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
12 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
13 DOUBLE: 1.17549435082228750796e-38 / 0x003810000000000000 (0 => OK)
13 SINGLE: 1.17549435082228750796e-38 / 0x00800000  (0 => OK)
14 DOUBLE: 2.98023224000000013060e-08 / 0x003e600000001c5f68 (0 => OK)
14 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0x10 =>    INEXACT )
15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK)
15 SINGLE: 5.96045985901128005934e-08 / 0x337ffff3  (0x10 =>    INEXACT )
16 DOUBLE: 6.09755999999999994298e-05 / 0x003f0ff801a9af58a1 (0 => OK)
16 SINGLE: 6.09755988989491015672e-05 / 0x387fc00d  (0x10 =>    INEXACT )
17 DOUBLE: 6.10352000000000013664e-05 / 0x003f100000c06a1ef5 (0 => OK)
17 SINGLE: 6.10351999057456851005e-05 / 0x38800006  (0x10 =>    INEXACT )
18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
18 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
19 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK)
20 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0x18 =>  UNDERFLOW  INEXACT )
21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK)
21 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0x18 =>  UNDERFLOW  INEXACT )
22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK)
22 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0x18 =>  UNDERFLOW  INEXACT )
23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
23 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
24 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
25 DOUBLE: 2.71828182845904509079e+00 / 0x004005bf0a8b145769 (0 => OK)
25 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0x10 =>    INEXACT )
26 DOUBLE: 3.14159265358979311599e+00 / 0x00400921fb54442d18 (0 => OK)
26 SINGLE: 3.14159250259399414062e+00 / 0x40490fda  (0x10 =>    INEXACT )
27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
27 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
28 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
29 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
30 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
31 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
32 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK)
33 SINGLE: 2.14748352000000000000e+09 / 0x4effffff  (0x10 =>    INEXACT )
34 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
34 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0 => OK)
35 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
35 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0 => OK)
36 DOUBLE: 1.79769313486231570814e+308 / 0x007fefffffffffffff (0 => OK)
36 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0x14 => OVERFLOW   INEXACT )
37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
37 SINGLE: inf / 0x7f800000  (0 => OK)
38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
38 SINGLE: nan / 0x7fc00000  (0 => OK)
39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK)
39 SINGLE: nan / 0x7fc00000  (0x1 =>     INVALID)
40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
40 SINGLE: nan / 0x7fe00000  (0x1 =>     INVALID)
Converting half-precision to single-precision
00   HALF: 0xffff  (0 => OK)
00 SINGLE: -1.31008000000000000000e+05 / 0xc7ffe000  (0 => OK)
01   HALF: 0xfcff  (0 => OK)
01 SINGLE: -8.18560000000000000000e+04 / 0xc79fe000  (0 => OK)
02   HALF: 0xfc01  (0 => OK)
02 SINGLE: -6.56000000000000000000e+04 / 0xc7802000  (0 => OK)
03   HALF: 0xfc00  (0 => OK)
03 SINGLE: -6.55360000000000000000e+04 / 0xc7800000  (0 => OK)
04   HALF: 0xfbff  (0 => OK)
04 SINGLE: -6.55040000000000000000e+04 / 0xc77fe000  (0 => OK)
05   HALF: 0xc000  (0 => OK)
05 SINGLE: -2.00000000000000000000e+00 / 0xc0000000  (0 => OK)
06   HALF: 0xbc00  (0 => OK)
06 SINGLE: -1.00000000000000000000e+00 / 0xbf800000  (0 => OK)
07   HALF: 0x8001  (0 => OK)
07 SINGLE: -5.96046447753906250000e-08 / 0xb3800000  (0 => OK)
08   HALF: 0x8000  (0 => OK)
08 SINGLE: -0.00000000000000000000e+00 / 0x80000000  (0 => OK)
09   HALF: 0000  (0 => OK)
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
10   HALF: 0x01  (0 => OK)
10 SINGLE: 5.96046447753906250000e-08 / 0x33800000  (0 => OK)
11   HALF: 0x3c00  (0 => OK)
11 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
12   HALF: 0x7bff  (0 => OK)
12 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
13   HALF: 0x7c00  (0 => OK)
13 SINGLE: 6.55360000000000000000e+04 / 0x47800000  (0 => OK)
14   HALF: 0x7c01  (0 => OK)
14 SINGLE: 6.56000000000000000000e+04 / 0x47802000  (0 => OK)
15   HALF: 0x7cff  (0 => OK)
15 SINGLE: 8.18560000000000000000e+04 / 0x479fe000  (0 => OK)
16   HALF: 0x7fff  (0 => OK)
16 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
Converting half-precision to double-precision
00   HALF: 0xffff  (0 => OK)
00 DOUBLE: 6.55350000000000000000e+04 / 0x0040efffe000000000 (0 => OK)
01   HALF: 0xfcff  (0 => OK)
01 DOUBLE: 6.47670000000000000000e+04 / 0x0040ef9fe000000000 (0 => OK)
02   HALF: 0xfc01  (0 => OK)
02 DOUBLE: 6.45130000000000000000e+04 / 0x0040ef802000000000 (0 => OK)
03   HALF: 0xfc00  (0 => OK)
03 DOUBLE: 6.45120000000000000000e+04 / 0x0040ef800000000000 (0 => OK)
04   HALF: 0xfbff  (0 => OK)
04 DOUBLE: 6.45110000000000000000e+04 / 0x0040ef7fe000000000 (0 => OK)
05   HALF: 0xc000  (0 => OK)
05 DOUBLE: 4.91520000000000000000e+04 / 0x0040e8000000000000 (0 => OK)
06   HALF: 0xbc00  (0 => OK)
06 DOUBLE: 4.81280000000000000000e+04 / 0x0040e7800000000000 (0 => OK)
07   HALF: 0x8001  (0 => OK)
07 DOUBLE: 3.27690000000000000000e+04 / 0x0040e0002000000000 (0 => OK)
08   HALF: 0x8000  (0 => OK)
08 DOUBLE: 3.27680000000000000000e+04 / 0x0040e0000000000000 (0 => OK)
09   HALF: 0000  (0 => OK)
09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
10   HALF: 0x01  (0 => OK)
10 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
11   HALF: 0x3c00  (0 => OK)
11 DOUBLE: 1.53600000000000000000e+04 / 0x0040ce000000000000 (0 => OK)
12   HALF: 0x7bff  (0 => OK)
12 DOUBLE: 3.17430000000000000000e+04 / 0x0040deffc000000000 (0 => OK)
13   HALF: 0x7c00  (0 => OK)
13 DOUBLE: 3.17440000000000000000e+04 / 0x0040df000000000000 (0 => OK)
14   HALF: 0x7c01  (0 => OK)
14 DOUBLE: 3.17450000000000000000e+04 / 0x0040df004000000000 (0 => OK)
15   HALF: 0x7cff  (0 => OK)
15 DOUBLE: 3.19990000000000000000e+04 / 0x0040df3fc000000000 (0 => OK)
16   HALF: 0x7fff  (0 => OK)
16 DOUBLE: 3.27670000000000000000e+04 / 0x0040dfffc000000000 (0 => OK)
Converting single-precision to integer
00 SINGLE: -nan / 0xffa00000  (0 => OK)
00   INT64:                    0/00000000000000000000 (0x1 =>     INVALID)
01 SINGLE: -nan / 0xffc00000  (0 => OK)
01   INT64:                    0/00000000000000000000 (0x1 =>     INVALID)
02 SINGLE: -inf / 0xff800000  (0 => OK)
02   INT64:                    1/0x000000000000000001 (0x1 =>     INVALID)
03 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff  (0 => OK)
03   INT64:                    1/0x000000000000000001 (0x11 =>    INEXACT INVALID)
04 SINGLE: -1.11100004769645909790e+31 / 0xf30c3a59  (0 => OK)
04   INT64:                    1/0x000000000000000001 (0x11 =>    INEXACT INVALID)
05 SINGLE: -1.11100003258488635272e+30 / 0xf1605d5b  (0 => OK)
05   INT64:                    1/0x000000000000000001 (0x11 =>    INEXACT INVALID)
06 SINGLE: -1.08700982243137289628e-12 / 0xab98fba8  (0 => OK)
06   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
07 SINGLE: -1.78051176151664730511e-20 / 0x9ea82a22  (0 => OK)
07   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
08 SINGLE: -1.17549435082228750796e-38 / 0x80800000  (0 => OK)
08   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
09 SINGLE: 0.00000000000000000000e+00 / 0000000000  (0 => OK)
09   INT64:                    0/00000000000000000000 (0 => OK)
10 SINGLE: 1.17549435082228750796e-38 / 0x00800000  (0 => OK)
10   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
11 SINGLE: 2.98023223876953125000e-08 / 0x33000000  (0 => OK)
11   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
12 SINGLE: 5.96045985901128005934e-08 / 0x337ffff3  (0 => OK)
12   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
13 SINGLE: 6.09755988989491015672e-05 / 0x387fc00d  (0 => OK)
13   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
14 SINGLE: 6.10351999057456851005e-05 / 0x38800006  (0 => OK)
14   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
15 SINGLE: 1.00000000000000000000e+00 / 0x3f800000  (0 => OK)
15   INT64:                    1/0x000000000000000001 (0x10 =>    INEXACT )
16 SINGLE: 1.00097656250000000000e+00 / 0x3f802000  (0 => OK)
16   INT64:                    1/0x000000000000000001 (0x10 =>    INEXACT )
17 SINGLE: 2.00000000000000000000e+00 / 0x40000000  (0 => OK)
17   INT64:                    2/0x000000000000000002 (0x10 =>    INEXACT )
18 SINGLE: 2.71828174591064453125e+00 / 0x402df854  (0 => OK)
18   INT64:                    2/0x000000000000000002 (0x10 =>    INEXACT )
19 SINGLE: 3.14159274101257324218e+00 / 0x40490fdb  (0 => OK)
19   INT64:                    3/0x000000000000000003 (0x10 =>    INEXACT )
20 SINGLE: 6.55030000000000000000e+04 / 0x477fdf00  (0 => OK)
20   INT64:                65503/0x00000000000000ffdf (0x10 =>    INEXACT )
21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000  (0 => OK)
21   INT64:                65504/0x00000000000000ffe0 (0x10 =>    INEXACT )
22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100  (0 => OK)
22   INT64:                65505/0x00000000000000ffe1 (0x10 =>    INEXACT )
23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80  (0 => OK)
23   INT64:               131007/0x00000000000001ffbf (0x10 =>    INEXACT )
24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000  (0 => OK)
24   INT64:               131008/0x00000000000001ffc0 (0x10 =>    INEXACT )
25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080  (0 => OK)
25   INT64:               131009/0x00000000000001ffc1 (0x10 =>    INEXACT )
26 SINGLE: 1.11100003258488635272e+30 / 0x71605d5b  (0 => OK)
26   INT64:                   -1/0x00ffffffffffffffff (0x11 =>    INEXACT INVALID)
27 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff  (0 => OK)
27   INT64:                   -1/0x00ffffffffffffffff (0x11 =>    INEXACT INVALID)
28 SINGLE: inf / 0x7f800000  (0 => OK)
28   INT64:                   -1/0x00ffffffffffffffff (0x1 =>     INVALID)
29 SINGLE: nan / 0x7fc00000  (0 => OK)
29   INT64:                    0/00000000000000000000 (0x1 =>     INVALID)
30 SINGLE: nan / 0x7fa00000  (0 => OK)
30   INT64:                    0/00000000000000000000 (0x1 =>     INVALID)
Converting double-precision to integer
00 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
00   INT64:                    0/00000000000000000000 (0x1 =>     INVALID)
01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK)
01   INT64:                    0/00000000000000000000 (0x1 =>     INVALID)
02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK)
02   INT64:                    1/0x000000000000000001 (0x1 =>     INVALID)
03 DOUBLE: -1.79769313486231570814e+308 / 0x00ffefffffffffffff (0 => OK)
03   INT64:                    1/0x000000000000000001 (0x11 =>    INEXACT INVALID)
04 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
04   INT64:                    1/0x000000000000000001 (0x11 =>    INEXACT INVALID)
05 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK)
05   INT64:                    1/0x000000000000000001 (0x11 =>    INEXACT INVALID)
06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK)
06   INT64:                    1/0x000000000000000001 (0x11 =>    INEXACT INVALID)
07 DOUBLE: -1.11099999999999999084e+30 / 0x00c62c0bab523323b9 (0 => OK)
07   INT64:                    1/0x000000000000000001 (0x11 =>    INEXACT INVALID)
08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK)
08   INT64:                   -2/0x00fffffffffffffffe (0x10 =>    INEXACT )
09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK)
09   INT64:                   -1/0x00ffffffffffffffff (0x10 =>    INEXACT )
10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK)
10   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
11 DOUBLE: -1.17549435082228750796e-38 / 0x00b810000000000000 (0 => OK)
11   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK)
12   INT64:                    0/00000000000000000000 (0 => OK)
13 DOUBLE: 1.17549435082228750796e-38 / 0x003810000000000000 (0 => OK)
13   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
14 DOUBLE: 2.98023224000000013060e-08 / 0x003e600000001c5f68 (0 => OK)
14   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK)
15   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
16 DOUBLE: 6.09755999999999994298e-05 / 0x003f0ff801a9af58a1 (0 => OK)
16   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
17 DOUBLE: 6.10352000000000013664e-05 / 0x003f100000c06a1ef5 (0 => OK)
17   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
18   INT64:                    1/0x000000000000000001 (0x10 =>    INEXACT )
19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK)
19   INT64:                    1/0x000000000000000001 (0x10 =>    INEXACT )
20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK)
20   INT64:                    0/00000000000000000000 (0x10 =>    INEXACT )
21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK)
21   INT64:                    0/00000000000000000000 (0x18 =>  UNDERFLOW  INEXACT )
22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK)
22   INT64:                    0/00000000000000000000 (0x18 =>  UNDERFLOW  INEXACT )
23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK)
23   INT64:                    1/0x000000000000000001 (0x10 =>    INEXACT )
24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK)
24   INT64:                    2/0x000000000000000002 (0x10 =>    INEXACT )
25 DOUBLE: 2.71828182845904509079e+00 / 0x004005bf0a8b145769 (0 => OK)
25   INT64:                    2/0x000000000000000002 (0x10 =>    INEXACT )
26 DOUBLE: 3.14159265358979311599e+00 / 0x00400921fb54442d18 (0 => OK)
26   INT64:                    3/0x000000000000000003 (0x10 =>    INEXACT )
27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK)
27   INT64:                65503/0x00000000000000ffdf (0x10 =>    INEXACT )
28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK)
28   INT64:                65504/0x00000000000000ffe0 (0x10 =>    INEXACT )
29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK)
29   INT64:                65505/0x00000000000000ffe1 (0x10 =>    INEXACT )
30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK)
30   INT64:               131007/0x00000000000001ffbf (0x10 =>    INEXACT )
31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK)
31   INT64:               131008/0x00000000000001ffc0 (0x10 =>    INEXACT )
32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK)
32   INT64:               131009/0x00000000000001ffc1 (0x10 =>    INEXACT )
33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK)
33   INT64:           2147483647/0x00000000007fffffff (0x10 =>    INEXACT )
34 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
34   INT64:                   -1/0x00ffffffffffffffff (0x11 =>    INEXACT INVALID)
35 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK)
35   INT64:                   -1/0x00ffffffffffffffff (0x11 =>    INEXACT INVALID)
36 DOUBLE: 1.79769313486231570814e+308 / 0x007fefffffffffffff (0 => OK)
36   INT64:                   -1/0x00ffffffffffffffff (0x11 =>    INEXACT INVALID)
37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK)
37   INT64:                   -1/0x00ffffffffffffffff (0x1 =>     INVALID)
38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK)
38   INT64:                    0/00000000000000000000 (0x1 =>     INVALID)
39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK)
39   INT64:                    0/00000000000000000000 (0x1 =>     INVALID)
40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK)
40   INT64:                    0/00000000000000000000 (0x1 =>     INVALID)
Converting half-precision to integer
00   HALF: 0xffff  (0 => OK)
00   INT64:                65535/0x00000000000000ffff (0 => OK)
01   HALF: 0xfcff  (0 => OK)
01   INT64:                64767/0x00000000000000fcff (0 => OK)
02   HALF: 0xfc01  (0 => OK)
02   INT64:                64513/0x00000000000000fc01 (0 => OK)
03   HALF: 0xfc00  (0 => OK)
03   INT64:                64512/0x00000000000000fc00 (0 => OK)
04   HALF: 0xfbff  (0 => OK)
04   INT64:                64511/0x00000000000000fbff (0 => OK)
05   HALF: 0xc000  (0 => OK)
05   INT64:                49152/0x00000000000000c000 (0 => OK)
06   HALF: 0xbc00  (0 => OK)
06   INT64:                48128/0x00000000000000bc00 (0 => OK)
07   HALF: 0x8001  (0 => OK)
07   INT64:                32769/0x000000000000008001 (0 => OK)
08   HALF: 0x8000  (0 => OK)
08   INT64:                32768/0x000000000000008000 (0 => OK)
09   HALF: 0000  (0 => OK)
09   INT64:                    0/00000000000000000000 (0 => OK)
10   HALF: 0x01  (0 => OK)
10   INT64:                    1/0x000000000000000001 (0 => OK)
11   HALF: 0x3c00  (0 => OK)
11   INT64:                15360/0x000000000000003c00 (0 => OK)
12   HALF: 0x7bff  (0 => OK)
12   INT64:                31743/0x000000000000007bff (0 => OK)
13   HALF: 0x7c00  (0 => OK)
13   INT64:                31744/0x000000000000007c00 (0 => OK)
14   HALF: 0x7c01  (0 => OK)
14   INT64:                31745/0x000000000000007c01 (0 => OK)
15   HALF: 0x7cff  (0 => OK)
15   INT64:                31999/0x000000000000007cff (0 => OK)
16   HALF: 0x7fff  (0 => OK)
16   INT64:                32767/0x000000000000007fff (0 => OK)