#### 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: 0x7f00 (0x1 => INVALID) 01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK) 01 HALF: 0xfe00 (0 => OK) 02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK) 02 HALF: 0xfc00 (0 => OK) 03 DOUBLE: -1.79769313486231570815e+308 / 0x00ffefffffffffffff (0 => OK) 03 HALF: 0xfc00 (0x14 => OVERFLOW INEXACT ) 04 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK) 04 HALF: 0xfc00 (0x14 => OVERFLOW INEXACT ) 05 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK) 05 HALF: 0xfc00 (0x14 => OVERFLOW INEXACT ) 06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK) 06 HALF: 0xfc00 (0x14 => OVERFLOW INEXACT ) 07 DOUBLE: -1.11099999999999999085e+30 / 0x00c62c0bab523323b9 (0 => OK) 07 HALF: 0xfc00 (0x14 => OVERFLOW INEXACT ) 08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK) 08 HALF: 0xc000 (0 => OK) 09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK) 09 HALF: 0xbc00 (0 => OK) 10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK) 10 HALF: 0x8000 (0x18 => UNDERFLOW INEXACT ) 11 DOUBLE: -1.17549435082228750797e-38 / 0x00b810000000000000 (0 => OK) 11 HALF: 0x8000 (0x18 => UNDERFLOW 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 (0x18 => UNDERFLOW INEXACT ) 14 DOUBLE: 2.98023224000000013061e-08 / 0x003e600000001c5f68 (0 => OK) 14 HALF: 0x01 (0x18 => UNDERFLOW INEXACT ) 15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK) 15 HALF: 0x01 (0x18 => UNDERFLOW INEXACT ) 16 DOUBLE: 6.09755999999999994299e-05 / 0x003f0ff801a9af58a1 (0 => OK) 16 HALF: 0x3ff (0x18 => UNDERFLOW INEXACT ) 17 DOUBLE: 6.10352000000000013665e-05 / 0x003f100000c06a1ef5 (0 => OK) 17 HALF: 0x400 (0x10 => INEXACT ) 18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 18 HALF: 0x3c00 (0 => OK) 19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK) 19 HALF: 0x3c01 (0 => OK) 20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK) 20 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK) 21 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK) 22 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 23 HALF: 0x3c00 (0 => OK) 24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK) 24 HALF: 0x4000 (0 => OK) 25 DOUBLE: 2.71828182845904509080e+00 / 0x004005bf0a8b145769 (0 => OK) 25 HALF: 0x4170 (0x10 => INEXACT ) 26 DOUBLE: 3.14159265358979311600e+00 / 0x00400921fb54442d18 (0 => OK) 26 HALF: 0x4248 (0x10 => INEXACT ) 27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK) 27 HALF: 0x7bff (0x10 => INEXACT ) 28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK) 28 HALF: 0x7bff (0 => OK) 29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK) 29 HALF: 0x7bff (0x10 => INEXACT ) 30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK) 30 HALF: 0x7c00 (0x14 => OVERFLOW INEXACT ) 31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK) 31 HALF: 0x7c00 (0x14 => OVERFLOW INEXACT ) 32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK) 32 HALF: 0x7c00 (0x14 => OVERFLOW INEXACT ) 33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK) 33 HALF: 0x7c00 (0x14 => OVERFLOW INEXACT ) 34 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK) 34 HALF: 0x7c00 (0x14 => OVERFLOW INEXACT ) 35 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK) 35 HALF: 0x7c00 (0x14 => OVERFLOW INEXACT ) 36 DOUBLE: 1.79769313486231570815e+308 / 0x007fefffffffffffff (0 => OK) 36 HALF: 0x7c00 (0x14 => OVERFLOW INEXACT ) 37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK) 37 HALF: 0x7c00 (0 => OK) 38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK) 38 HALF: 0x7e00 (0 => OK) 39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK) 39 HALF: 0x7e00 (0x1 => INVALID) 40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK) 40 HALF: 0x7f00 (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: -nan / 0x00fffffc0000000000 (0 => OK) 01 HALF: 0xfcff (0 => OK) 01 DOUBLE: -nan / 0x00fffbfc0000000000 (0x1 => INVALID) 02 HALF: 0xfc01 (0 => OK) 02 DOUBLE: -nan / 0x00fff8040000000000 (0x1 => INVALID) 03 HALF: 0xfc00 (0 => OK) 03 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK) 04 HALF: 0xfbff (0 => OK) 04 DOUBLE: -6.55040000000000000000e+04 / 0x00c0effc0000000000 (0 => OK) 05 HALF: 0xc000 (0 => OK) 05 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK) 06 HALF: 0xbc00 (0 => OK) 06 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK) 07 HALF: 0x8001 (0 => OK) 07 DOUBLE: -5.96046447753906250000e-08 / 0x00be70000000000000 (0 => OK) 08 HALF: 0x8000 (0 => OK) 08 DOUBLE: -0.00000000000000000000e+00 / 0x008000000000000000 (0 => OK) 09 HALF: 0000 (0 => OK) 09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK) 10 HALF: 0x01 (0 => OK) 10 DOUBLE: 5.96046447753906250000e-08 / 0x003e70000000000000 (0 => OK) 11 HALF: 0x3c00 (0 => OK) 11 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 12 HALF: 0x7bff (0 => OK) 12 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK) 13 HALF: 0x7c00 (0 => OK) 13 DOUBLE: inf / 0x007ff0000000000000 (0 => OK) 14 HALF: 0x7c01 (0 => OK) 14 DOUBLE: nan / 0x007ff8040000000000 (0x1 => INVALID) 15 HALF: 0x7cff (0 => OK) 15 DOUBLE: nan / 0x007ffbfc0000000000 (0x1 => INVALID) 16 HALF: 0x7fff (0 => OK) 16 DOUBLE: nan / 0x007ffffc0000000000 (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: 0x7f00 (0x1 => INVALID) 01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK) 01 HALF: 0xfe00 (0 => OK) 02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK) 02 HALF: 0xfc00 (0 => OK) 03 DOUBLE: -1.79769313486231570814e+308 / 0x00ffefffffffffffff (0 => OK) 03 HALF: 0xfbff (0x14 => OVERFLOW INEXACT ) 04 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK) 04 HALF: 0xfbff (0x14 => OVERFLOW INEXACT ) 05 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK) 05 HALF: 0xfbff (0x14 => OVERFLOW INEXACT ) 06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK) 06 HALF: 0xfbff (0x14 => OVERFLOW INEXACT ) 07 DOUBLE: -1.11099999999999999084e+30 / 0x00c62c0bab523323b9 (0 => OK) 07 HALF: 0xfbff (0x14 => OVERFLOW INEXACT ) 08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK) 08 HALF: 0xc000 (0 => OK) 09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK) 09 HALF: 0xbc00 (0 => OK) 10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK) 10 HALF: 0x8000 (0x18 => UNDERFLOW INEXACT ) 11 DOUBLE: -1.17549435082228750796e-38 / 0x00b810000000000000 (0 => OK) 11 HALF: 0x8000 (0x18 => UNDERFLOW INEXACT ) 12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK) 12 HALF: 0000 (0 => OK) 13 DOUBLE: 1.17549435082228750797e-38 / 0x003810000000000000 (0 => OK) 13 HALF: 0x01 (0x18 => UNDERFLOW INEXACT ) 14 DOUBLE: 2.98023224000000013061e-08 / 0x003e600000001c5f68 (0 => OK) 14 HALF: 0x01 (0x18 => UNDERFLOW INEXACT ) 15 DOUBLE: 5.96046000000000015662e-08 / 0x003e6ffffe6cb2fa82 (0 => OK) 15 HALF: 0x01 (0x18 => UNDERFLOW INEXACT ) 16 DOUBLE: 6.09755999999999994299e-05 / 0x003f0ff801a9af58a1 (0 => OK) 16 HALF: 0x400 (0x18 => UNDERFLOW INEXACT ) 17 DOUBLE: 6.10352000000000013665e-05 / 0x003f100000c06a1ef5 (0 => OK) 17 HALF: 0x401 (0x10 => INEXACT ) 18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 18 HALF: 0x3c00 (0 => OK) 19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK) 19 HALF: 0x3c01 (0 => OK) 20 DOUBLE: 2.22507385850720138310e-308 / 0x000010000000000000 (0 => OK) 20 HALF: 0x01 (0x18 => UNDERFLOW INEXACT ) 21 DOUBLE: 1.37899728486072282844e-308 / 0x000009ea82a2287680 (0 => OK) 21 HALF: 0x01 (0x18 => UNDERFLOW INEXACT ) 22 DOUBLE: 1.49147387366816238764e-308 / 0x00000ab98fba843210 (0 => OK) 22 HALF: 0x01 (0x18 => UNDERFLOW INEXACT ) 23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 23 HALF: 0x3c00 (0 => OK) 24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK) 24 HALF: 0x4000 (0 => OK) 25 DOUBLE: 2.71828182845904509080e+00 / 0x004005bf0a8b145769 (0 => OK) 25 HALF: 0x4170 (0x10 => INEXACT ) 26 DOUBLE: 3.14159265358979311600e+00 / 0x00400921fb54442d18 (0 => OK) 26 HALF: 0x4249 (0x10 => INEXACT ) 27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK) 27 HALF: 0x7bff (0x10 => INEXACT ) 28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK) 28 HALF: 0x7bff (0 => OK) 29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK) 29 HALF: 0x7c00 (0x14 => OVERFLOW INEXACT ) 30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK) 30 HALF: 0x7c00 (0x14 => OVERFLOW INEXACT ) 31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK) 31 HALF: 0x7c00 (0x14 => OVERFLOW INEXACT ) 32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK) 32 HALF: 0x7c00 (0x14 => OVERFLOW INEXACT ) 33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK) 33 HALF: 0x7c00 (0x14 => OVERFLOW INEXACT ) 34 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK) 34 HALF: 0x7c00 (0x14 => OVERFLOW INEXACT ) 35 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK) 35 HALF: 0x7c00 (0x14 => OVERFLOW INEXACT ) 36 DOUBLE: 1.79769313486231570815e+308 / 0x007fefffffffffffff (0 => OK) 36 HALF: 0x7c00 (0x14 => OVERFLOW INEXACT ) 37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK) 37 HALF: 0x7c00 (0 => OK) 38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK) 38 HALF: 0x7e00 (0 => OK) 39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK) 39 HALF: 0x7e00 (0x1 => INVALID) 40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK) 40 HALF: 0x7f00 (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: -nan / 0x00fffffc0000000000 (0 => OK) 01 HALF: 0xfcff (0 => OK) 01 DOUBLE: -nan / 0x00fffbfc0000000000 (0x1 => INVALID) 02 HALF: 0xfc01 (0 => OK) 02 DOUBLE: -nan / 0x00fff8040000000000 (0x1 => INVALID) 03 HALF: 0xfc00 (0 => OK) 03 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK) 04 HALF: 0xfbff (0 => OK) 04 DOUBLE: -6.55040000000000000000e+04 / 0x00c0effc0000000000 (0 => OK) 05 HALF: 0xc000 (0 => OK) 05 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK) 06 HALF: 0xbc00 (0 => OK) 06 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK) 07 HALF: 0x8001 (0 => OK) 07 DOUBLE: -5.96046447753906250000e-08 / 0x00be70000000000000 (0 => OK) 08 HALF: 0x8000 (0 => OK) 08 DOUBLE: -0.00000000000000000000e+00 / 0x008000000000000000 (0 => OK) 09 HALF: 0000 (0 => OK) 09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK) 10 HALF: 0x01 (0 => OK) 10 DOUBLE: 5.96046447753906250000e-08 / 0x003e70000000000000 (0 => OK) 11 HALF: 0x3c00 (0 => OK) 11 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 12 HALF: 0x7bff (0 => OK) 12 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK) 13 HALF: 0x7c00 (0 => OK) 13 DOUBLE: inf / 0x007ff0000000000000 (0 => OK) 14 HALF: 0x7c01 (0 => OK) 14 DOUBLE: nan / 0x007ff8040000000000 (0x1 => INVALID) 15 HALF: 0x7cff (0 => OK) 15 DOUBLE: nan / 0x007ffbfc0000000000 (0x1 => INVALID) 16 HALF: 0x7fff (0 => OK) 16 DOUBLE: nan / 0x007ffffc0000000000 (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: 0x7f00 (0x1 => INVALID) 01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK) 01 HALF: 0xfe00 (0 => OK) 02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK) 02 HALF: 0xfc00 (0 => OK) 03 DOUBLE: -1.79769313486231570815e+308 / 0x00ffefffffffffffff (0 => OK) 03 HALF: 0xfc00 (0x14 => OVERFLOW INEXACT ) 04 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK) 04 HALF: 0xfc00 (0x14 => OVERFLOW INEXACT ) 05 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK) 05 HALF: 0xfc00 (0x14 => OVERFLOW INEXACT ) 06 DOUBLE: -1.11100000000000007530e+31 / 0x00c661874b135ff654 (0 => OK) 06 HALF: 0xfc00 (0x14 => OVERFLOW INEXACT ) 07 DOUBLE: -1.11099999999999999085e+30 / 0x00c62c0bab523323b9 (0 => OK) 07 HALF: 0xfc00 (0x14 => OVERFLOW INEXACT ) 08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK) 08 HALF: 0xc000 (0 => OK) 09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK) 09 HALF: 0xbc00 (0 => OK) 10 DOUBLE: -2.22507385850720138310e-308 / 0x008010000000000000 (0 => OK) 10 HALF: 0x8001 (0x18 => UNDERFLOW INEXACT ) 11 DOUBLE: -1.17549435082228750797e-38 / 0x00b810000000000000 (0 => OK) 11 HALF: 0x8001 (0x18 => UNDERFLOW 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 (0x18 => UNDERFLOW INEXACT ) 14 DOUBLE: 2.98023224000000013060e-08 / 0x003e600000001c5f68 (0 => OK) 14 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK) 15 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 16 DOUBLE: 6.09755999999999994298e-05 / 0x003f0ff801a9af58a1 (0 => OK) 16 HALF: 0x3ff (0x18 => UNDERFLOW INEXACT ) 17 DOUBLE: 6.10352000000000013664e-05 / 0x003f100000c06a1ef5 (0 => OK) 17 HALF: 0x400 (0x10 => INEXACT ) 18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 18 HALF: 0x3c00 (0 => OK) 19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK) 19 HALF: 0x3c01 (0 => OK) 20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK) 20 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK) 21 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK) 22 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 23 HALF: 0x3c00 (0 => OK) 24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK) 24 HALF: 0x4000 (0 => OK) 25 DOUBLE: 2.71828182845904509079e+00 / 0x004005bf0a8b145769 (0 => OK) 25 HALF: 0x416f (0x10 => INEXACT ) 26 DOUBLE: 3.14159265358979311599e+00 / 0x00400921fb54442d18 (0 => OK) 26 HALF: 0x4248 (0x10 => INEXACT ) 27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK) 27 HALF: 0x7bfe (0x10 => INEXACT ) 28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK) 28 HALF: 0x7bff (0 => OK) 29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK) 29 HALF: 0x7bff (0x10 => INEXACT ) 30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK) 30 HALF: 0x7bff (0x14 => OVERFLOW INEXACT ) 31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK) 31 HALF: 0x7bff (0x14 => OVERFLOW INEXACT ) 32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK) 32 HALF: 0x7bff (0x14 => OVERFLOW INEXACT ) 33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK) 33 HALF: 0x7bff (0x14 => OVERFLOW INEXACT ) 34 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK) 34 HALF: 0x7bff (0x14 => OVERFLOW INEXACT ) 35 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK) 35 HALF: 0x7bff (0x14 => OVERFLOW INEXACT ) 36 DOUBLE: 1.79769313486231570814e+308 / 0x007fefffffffffffff (0 => OK) 36 HALF: 0x7bff (0x14 => OVERFLOW INEXACT ) 37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK) 37 HALF: 0x7c00 (0 => OK) 38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK) 38 HALF: 0x7e00 (0 => OK) 39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK) 39 HALF: 0x7e00 (0x1 => INVALID) 40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK) 40 HALF: 0x7f00 (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: -nan / 0x00fffffc0000000000 (0 => OK) 01 HALF: 0xfcff (0 => OK) 01 DOUBLE: -nan / 0x00fffbfc0000000000 (0x1 => INVALID) 02 HALF: 0xfc01 (0 => OK) 02 DOUBLE: -nan / 0x00fff8040000000000 (0x1 => INVALID) 03 HALF: 0xfc00 (0 => OK) 03 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK) 04 HALF: 0xfbff (0 => OK) 04 DOUBLE: -6.55040000000000000000e+04 / 0x00c0effc0000000000 (0 => OK) 05 HALF: 0xc000 (0 => OK) 05 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK) 06 HALF: 0xbc00 (0 => OK) 06 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK) 07 HALF: 0x8001 (0 => OK) 07 DOUBLE: -5.96046447753906250000e-08 / 0x00be70000000000000 (0 => OK) 08 HALF: 0x8000 (0 => OK) 08 DOUBLE: -0.00000000000000000000e+00 / 0x008000000000000000 (0 => OK) 09 HALF: 0000 (0 => OK) 09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK) 10 HALF: 0x01 (0 => OK) 10 DOUBLE: 5.96046447753906250000e-08 / 0x003e70000000000000 (0 => OK) 11 HALF: 0x3c00 (0 => OK) 11 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 12 HALF: 0x7bff (0 => OK) 12 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK) 13 HALF: 0x7c00 (0 => OK) 13 DOUBLE: inf / 0x007ff0000000000000 (0 => OK) 14 HALF: 0x7c01 (0 => OK) 14 DOUBLE: nan / 0x007ff8040000000000 (0x1 => INVALID) 15 HALF: 0x7cff (0 => OK) 15 DOUBLE: nan / 0x007ffbfc0000000000 (0x1 => INVALID) 16 HALF: 0x7fff (0 => OK) 16 DOUBLE: nan / 0x007ffffc0000000000 (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: 0x7f00 (0x1 => INVALID) 01 DOUBLE: -nan / 0x00fff8000000000000 (0 => OK) 01 HALF: 0xfe00 (0 => OK) 02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK) 02 HALF: 0xfc00 (0 => OK) 03 DOUBLE: -1.79769313486231570814e+308 / 0x00ffefffffffffffff (0 => OK) 03 HALF: 0xfbff (0x14 => OVERFLOW INEXACT ) 04 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK) 04 HALF: 0xfbff (0x14 => OVERFLOW INEXACT ) 05 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK) 05 HALF: 0xfbff (0x14 => OVERFLOW INEXACT ) 06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK) 06 HALF: 0xfbff (0x14 => OVERFLOW INEXACT ) 07 DOUBLE: -1.11099999999999999084e+30 / 0x00c62c0bab523323b9 (0 => OK) 07 HALF: 0xfbff (0x14 => OVERFLOW INEXACT ) 08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK) 08 HALF: 0xc000 (0 => OK) 09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK) 09 HALF: 0xbc00 (0 => OK) 10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK) 10 HALF: 0x8000 (0x18 => UNDERFLOW INEXACT ) 11 DOUBLE: -1.17549435082228750796e-38 / 0x00b810000000000000 (0 => OK) 11 HALF: 0x8000 (0x18 => UNDERFLOW 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 (0x18 => UNDERFLOW INEXACT ) 14 DOUBLE: 2.98023224000000013060e-08 / 0x003e600000001c5f68 (0 => OK) 14 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK) 15 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 16 DOUBLE: 6.09755999999999994298e-05 / 0x003f0ff801a9af58a1 (0 => OK) 16 HALF: 0x3ff (0x18 => UNDERFLOW INEXACT ) 17 DOUBLE: 6.10352000000000013664e-05 / 0x003f100000c06a1ef5 (0 => OK) 17 HALF: 0x400 (0x10 => INEXACT ) 18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 18 HALF: 0x3c00 (0 => OK) 19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK) 19 HALF: 0x3c01 (0 => OK) 20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK) 20 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK) 21 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK) 22 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 23 HALF: 0x3c00 (0 => OK) 24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK) 24 HALF: 0x4000 (0 => OK) 25 DOUBLE: 2.71828182845904509079e+00 / 0x004005bf0a8b145769 (0 => OK) 25 HALF: 0x416f (0x10 => INEXACT ) 26 DOUBLE: 3.14159265358979311599e+00 / 0x00400921fb54442d18 (0 => OK) 26 HALF: 0x4248 (0x10 => INEXACT ) 27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK) 27 HALF: 0x7bfe (0x10 => INEXACT ) 28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK) 28 HALF: 0x7bff (0 => OK) 29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK) 29 HALF: 0x7bff (0x10 => INEXACT ) 30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK) 30 HALF: 0x7bff (0x14 => OVERFLOW INEXACT ) 31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK) 31 HALF: 0x7bff (0x14 => OVERFLOW INEXACT ) 32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK) 32 HALF: 0x7bff (0x14 => OVERFLOW INEXACT ) 33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK) 33 HALF: 0x7bff (0x14 => OVERFLOW INEXACT ) 34 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK) 34 HALF: 0x7bff (0x14 => OVERFLOW INEXACT ) 35 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK) 35 HALF: 0x7bff (0x14 => OVERFLOW INEXACT ) 36 DOUBLE: 1.79769313486231570814e+308 / 0x007fefffffffffffff (0 => OK) 36 HALF: 0x7bff (0x14 => OVERFLOW INEXACT ) 37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK) 37 HALF: 0x7c00 (0 => OK) 38 DOUBLE: nan / 0x007ff8000000000000 (0 => OK) 38 HALF: 0x7e00 (0 => OK) 39 DOUBLE: nan / 0x007ff0000000000001 (0 => OK) 39 HALF: 0x7e00 (0x1 => INVALID) 40 DOUBLE: nan / 0x007ff4000000000000 (0 => OK) 40 HALF: 0x7f00 (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: -nan / 0x00fffffc0000000000 (0 => OK) 01 HALF: 0xfcff (0 => OK) 01 DOUBLE: -nan / 0x00fffbfc0000000000 (0x1 => INVALID) 02 HALF: 0xfc01 (0 => OK) 02 DOUBLE: -nan / 0x00fff8040000000000 (0x1 => INVALID) 03 HALF: 0xfc00 (0 => OK) 03 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK) 04 HALF: 0xfbff (0 => OK) 04 DOUBLE: -6.55040000000000000000e+04 / 0x00c0effc0000000000 (0 => OK) 05 HALF: 0xc000 (0 => OK) 05 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK) 06 HALF: 0xbc00 (0 => OK) 06 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK) 07 HALF: 0x8001 (0 => OK) 07 DOUBLE: -5.96046447753906250000e-08 / 0x00be70000000000000 (0 => OK) 08 HALF: 0x8000 (0 => OK) 08 DOUBLE: -0.00000000000000000000e+00 / 0x008000000000000000 (0 => OK) 09 HALF: 0000 (0 => OK) 09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK) 10 HALF: 0x01 (0 => OK) 10 DOUBLE: 5.96046447753906250000e-08 / 0x003e70000000000000 (0 => OK) 11 HALF: 0x3c00 (0 => OK) 11 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 12 HALF: 0x7bff (0 => OK) 12 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK) 13 HALF: 0x7c00 (0 => OK) 13 DOUBLE: inf / 0x007ff0000000000000 (0 => OK) 14 HALF: 0x7c01 (0 => OK) 14 DOUBLE: nan / 0x007ff8040000000000 (0x1 => INVALID) 15 HALF: 0x7cff (0 => OK) 15 DOUBLE: nan / 0x007ffbfc0000000000 (0x1 => INVALID) 16 HALF: 0x7fff (0 => OK) 16 DOUBLE: nan / 0x007ffffc0000000000 (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: -9223372036854775808/0x008000000000000000 (0x1 => INVALID) 03 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff (0 => OK) 03 INT64: -9223372036854775808/0x008000000000000000 (0x1 => INVALID) 04 SINGLE: -1.11100004769645909790e+31 / 0xf30c3a59 (0 => OK) 04 INT64: -9223372036854775808/0x008000000000000000 (0x1 => INVALID) 05 SINGLE: -1.11100003258488635272e+30 / 0xf1605d5b (0 => OK) 05 INT64: -9223372036854775808/0x008000000000000000 (0x1 => 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 (0 => OK) 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 (0 => OK) 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 (0 => OK) 21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000 (0 => OK) 21 INT64: 65504/0x00000000000000ffe0 (0 => OK) 22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100 (0 => OK) 22 INT64: 65505/0x00000000000000ffe1 (0 => OK) 23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80 (0 => OK) 23 INT64: 131007/0x00000000000001ffbf (0 => OK) 24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000 (0 => OK) 24 INT64: 131008/0x00000000000001ffc0 (0 => OK) 25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080 (0 => OK) 25 INT64: 131009/0x00000000000001ffc1 (0 => OK) 26 SINGLE: 1.11100003258488635272e+30 / 0x71605d5b (0 => OK) 26 INT64: 9223372036854775807/0x007fffffffffffffff (0x1 => INVALID) 27 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff (0 => OK) 27 INT64: 9223372036854775807/0x007fffffffffffffff (0x1 => INVALID) 28 SINGLE: inf / 0x7f800000 (0 => OK) 28 INT64: 9223372036854775807/0x007fffffffffffffff (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: -9223372036854775808/0x008000000000000000 (0x1 => INVALID) 03 DOUBLE: -1.79769313486231570814e+308 / 0x00ffefffffffffffff (0 => OK) 03 INT64: -9223372036854775808/0x008000000000000000 (0x1 => INVALID) 04 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK) 04 INT64: -9223372036854775808/0x008000000000000000 (0x1 => INVALID) 05 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK) 05 INT64: -9223372036854775808/0x008000000000000000 (0x1 => INVALID) 06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK) 06 INT64: -9223372036854775808/0x008000000000000000 (0x1 => INVALID) 07 DOUBLE: -1.11099999999999999084e+30 / 0x00c62c0bab523323b9 (0 => OK) 07 INT64: -9223372036854775808/0x008000000000000000 (0x1 => INVALID) 08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK) 08 INT64: -2/0x00fffffffffffffffe (0 => OK) 09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK) 09 INT64: -1/0x00ffffffffffffffff (0 => OK) 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 (0 => OK) 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 (0x10 => INEXACT ) 22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK) 22 INT64: 0/00000000000000000000 (0x10 => INEXACT ) 23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 23 INT64: 1/0x000000000000000001 (0 => OK) 24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK) 24 INT64: 2/0x000000000000000002 (0 => OK) 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 (0 => OK) 28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK) 28 INT64: 65504/0x00000000000000ffe0 (0 => OK) 29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK) 29 INT64: 65505/0x00000000000000ffe1 (0 => OK) 30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK) 30 INT64: 131007/0x00000000000001ffbf (0 => OK) 31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK) 31 INT64: 131008/0x00000000000001ffc0 (0 => OK) 32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK) 32 INT64: 131009/0x00000000000001ffc1 (0 => OK) 33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK) 33 INT64: 2147483647/0x00000000007fffffff (0 => OK) 34 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK) 34 INT64: 9223372036854775807/0x007fffffffffffffff (0x1 => INVALID) 35 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK) 35 INT64: 9223372036854775807/0x007fffffffffffffff (0x1 => INVALID) 36 DOUBLE: 1.79769313486231570814e+308 / 0x007fefffffffffffff (0 => OK) 36 INT64: 9223372036854775807/0x007fffffffffffffff (0x1 => INVALID) 37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK) 37 INT64: 9223372036854775807/0x007fffffffffffffff (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: 4294959104/0x0000000000ffffe000 (0 => OK) 01 HALF: 0xfcff (0 => OK) 01 INT64: 4292861952/0x0000000000ffdfe000 (0x1 => INVALID) 02 HALF: 0xfc01 (0 => OK) 02 INT64: 4290781184/0x0000000000ffc02000 (0x1 => INVALID) 03 HALF: 0xfc00 (0 => OK) 03 INT64: 4286578688/0x0000000000ff800000 (0 => OK) 04 HALF: 0xfbff (0 => OK) 04 INT64: 3347046400/0x0000000000c77fe000 (0 => OK) 05 HALF: 0xc000 (0 => OK) 05 INT64: 3221225472/0x0000000000c0000000 (0 => OK) 06 HALF: 0xbc00 (0 => OK) 06 INT64: 3212836864/0x0000000000bf800000 (0 => OK) 07 HALF: 0x8001 (0 => OK) 07 INT64: 3011510272/0x0000000000b3800000 (0 => OK) 08 HALF: 0x8000 (0 => OK) 08 INT64: 2147483648/0x000000000080000000 (0 => OK) 09 HALF: 0000 (0 => OK) 09 INT64: 0/00000000000000000000 (0 => OK) 10 HALF: 0x01 (0 => OK) 10 INT64: 864026624/0x000000000033800000 (0 => OK) 11 HALF: 0x3c00 (0 => OK) 11 INT64: 1065353216/0x00000000003f800000 (0 => OK) 12 HALF: 0x7bff (0 => OK) 12 INT64: 1199562752/0x0000000000477fe000 (0 => OK) 13 HALF: 0x7c00 (0 => OK) 13 INT64: 2139095040/0x00000000007f800000 (0 => OK) 14 HALF: 0x7c01 (0 => OK) 14 INT64: 2143297536/0x00000000007fc02000 (0x1 => INVALID) 15 HALF: 0x7cff (0 => OK) 15 INT64: 2145378304/0x00000000007fdfe000 (0x1 => INVALID) 16 HALF: 0x7fff (0 => OK) 16 INT64: 2147475456/0x00000000007fffe000 (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: 0x8000 (0x1 => INVALID) 02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK) 02 HALF: 0xffff (0x1 => INVALID) 03 DOUBLE: -1.79769313486231570815e+308 / 0x00ffefffffffffffff (0 => OK) 03 HALF: 0xffff (0x1 => INVALID) 04 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK) 04 HALF: 0xffff (0x1 => INVALID) 05 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK) 05 HALF: 0xffff (0x1 => INVALID) 06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK) 06 HALF: 0xffff (0x1 => INVALID) 07 DOUBLE: -1.11099999999999999085e+30 / 0x00c62c0bab523323b9 (0 => OK) 07 HALF: 0xffff (0x1 => INVALID) 08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK) 08 HALF: 0xc000 (0 => OK) 09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK) 09 HALF: 0xbc00 (0 => OK) 10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK) 10 HALF: 0x8000 (0x18 => UNDERFLOW INEXACT ) 11 DOUBLE: -1.17549435082228750797e-38 / 0x00b810000000000000 (0 => OK) 11 HALF: 0x8000 (0x18 => UNDERFLOW 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 (0x18 => UNDERFLOW INEXACT ) 14 DOUBLE: 2.98023224000000013061e-08 / 0x003e600000001c5f68 (0 => OK) 14 HALF: 0x01 (0x18 => UNDERFLOW INEXACT ) 15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK) 15 HALF: 0x01 (0x18 => UNDERFLOW INEXACT ) 16 DOUBLE: 6.09755999999999994299e-05 / 0x003f0ff801a9af58a1 (0 => OK) 16 HALF: 0x3ff (0x18 => UNDERFLOW INEXACT ) 17 DOUBLE: 6.10352000000000013665e-05 / 0x003f100000c06a1ef5 (0 => OK) 17 HALF: 0x400 (0x10 => INEXACT ) 18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 18 HALF: 0x3c00 (0 => OK) 19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK) 19 HALF: 0x3c01 (0 => OK) 20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK) 20 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK) 21 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK) 22 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 23 HALF: 0x3c00 (0 => OK) 24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK) 24 HALF: 0x4000 (0 => OK) 25 DOUBLE: 2.71828182845904509080e+00 / 0x004005bf0a8b145769 (0 => OK) 25 HALF: 0x4170 (0x10 => INEXACT ) 26 DOUBLE: 3.14159265358979311600e+00 / 0x00400921fb54442d18 (0 => OK) 26 HALF: 0x4248 (0x10 => INEXACT ) 27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK) 27 HALF: 0x7bff (0x10 => INEXACT ) 28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK) 28 HALF: 0x7bff (0 => OK) 29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK) 29 HALF: 0x7bff (0x10 => INEXACT ) 30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK) 30 HALF: 0x7fff (0x10 => INEXACT ) 31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK) 31 HALF: 0x7fff (0 => OK) 32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK) 32 HALF: 0x7fff (0x10 => INEXACT ) 33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK) 33 HALF: 0x7fff (0x1 => INVALID) 34 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK) 34 HALF: 0x7fff (0x1 => INVALID) 35 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK) 35 HALF: 0x7fff (0x1 => INVALID) 36 DOUBLE: 1.79769313486231570815e+308 / 0x007fefffffffffffff (0 => OK) 36 HALF: 0x7fff (0x1 => INVALID) 37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK) 37 HALF: 0x7fff (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: -1.31008000000000000000e+05 / 0x00c0fffc0000000000 (0 => OK) 01 HALF: 0xfcff (0 => OK) 01 DOUBLE: -8.18560000000000000000e+04 / 0x00c0f3fc0000000000 (0 => OK) 02 HALF: 0xfc01 (0 => OK) 02 DOUBLE: -6.56000000000000000000e+04 / 0x00c0f0040000000000 (0 => OK) 03 HALF: 0xfc00 (0 => OK) 03 DOUBLE: -6.55360000000000000000e+04 / 0x00c0f0000000000000 (0 => OK) 04 HALF: 0xfbff (0 => OK) 04 DOUBLE: -6.55040000000000000000e+04 / 0x00c0effc0000000000 (0 => OK) 05 HALF: 0xc000 (0 => OK) 05 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK) 06 HALF: 0xbc00 (0 => OK) 06 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK) 07 HALF: 0x8001 (0 => OK) 07 DOUBLE: -5.96046447753906250000e-08 / 0x00be70000000000000 (0 => OK) 08 HALF: 0x8000 (0 => OK) 08 DOUBLE: -0.00000000000000000000e+00 / 0x008000000000000000 (0 => OK) 09 HALF: 0000 (0 => OK) 09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK) 10 HALF: 0x01 (0 => OK) 10 DOUBLE: 5.96046447753906250000e-08 / 0x003e70000000000000 (0 => OK) 11 HALF: 0x3c00 (0 => OK) 11 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 12 HALF: 0x7bff (0 => OK) 12 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK) 13 HALF: 0x7c00 (0 => OK) 13 DOUBLE: 6.55360000000000000000e+04 / 0x0040f0000000000000 (0 => OK) 14 HALF: 0x7c01 (0 => OK) 14 DOUBLE: 6.56000000000000000000e+04 / 0x0040f0040000000000 (0 => OK) 15 HALF: 0x7cff (0 => OK) 15 DOUBLE: 8.18560000000000000000e+04 / 0x0040f3fc0000000000 (0 => OK) 16 HALF: 0x7fff (0 => OK) 16 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (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: 0x8000 (0x1 => INVALID) 02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK) 02 HALF: 0xffff (0x1 => INVALID) 03 DOUBLE: -1.79769313486231570814e+308 / 0x00ffefffffffffffff (0 => OK) 03 HALF: 0xffff (0x1 => INVALID) 04 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK) 04 HALF: 0xffff (0x1 => INVALID) 05 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK) 05 HALF: 0xffff (0x1 => INVALID) 06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK) 06 HALF: 0xffff (0x1 => INVALID) 07 DOUBLE: -1.11099999999999999084e+30 / 0x00c62c0bab523323b9 (0 => OK) 07 HALF: 0xffff (0x1 => INVALID) 08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK) 08 HALF: 0xc000 (0 => OK) 09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK) 09 HALF: 0xbc00 (0 => OK) 10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK) 10 HALF: 0x8000 (0x18 => UNDERFLOW INEXACT ) 11 DOUBLE: -1.17549435082228750796e-38 / 0x00b810000000000000 (0 => OK) 11 HALF: 0x8000 (0x18 => UNDERFLOW INEXACT ) 12 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK) 12 HALF: 0000 (0 => OK) 13 DOUBLE: 1.17549435082228750797e-38 / 0x003810000000000000 (0 => OK) 13 HALF: 0x01 (0x18 => UNDERFLOW INEXACT ) 14 DOUBLE: 2.98023224000000013061e-08 / 0x003e600000001c5f68 (0 => OK) 14 HALF: 0x01 (0x18 => UNDERFLOW INEXACT ) 15 DOUBLE: 5.96046000000000015662e-08 / 0x003e6ffffe6cb2fa82 (0 => OK) 15 HALF: 0x01 (0x18 => UNDERFLOW INEXACT ) 16 DOUBLE: 6.09755999999999994299e-05 / 0x003f0ff801a9af58a1 (0 => OK) 16 HALF: 0x400 (0x18 => UNDERFLOW INEXACT ) 17 DOUBLE: 6.10352000000000013665e-05 / 0x003f100000c06a1ef5 (0 => OK) 17 HALF: 0x401 (0x10 => INEXACT ) 18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 18 HALF: 0x3c00 (0 => OK) 19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK) 19 HALF: 0x3c01 (0 => OK) 20 DOUBLE: 2.22507385850720138310e-308 / 0x000010000000000000 (0 => OK) 20 HALF: 0x01 (0x18 => UNDERFLOW INEXACT ) 21 DOUBLE: 1.37899728486072282844e-308 / 0x000009ea82a2287680 (0 => OK) 21 HALF: 0x01 (0x18 => UNDERFLOW INEXACT ) 22 DOUBLE: 1.49147387366816238764e-308 / 0x00000ab98fba843210 (0 => OK) 22 HALF: 0x01 (0x18 => UNDERFLOW INEXACT ) 23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 23 HALF: 0x3c00 (0 => OK) 24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK) 24 HALF: 0x4000 (0 => OK) 25 DOUBLE: 2.71828182845904509080e+00 / 0x004005bf0a8b145769 (0 => OK) 25 HALF: 0x4170 (0x10 => INEXACT ) 26 DOUBLE: 3.14159265358979311600e+00 / 0x00400921fb54442d18 (0 => OK) 26 HALF: 0x4249 (0x10 => INEXACT ) 27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK) 27 HALF: 0x7bff (0x10 => INEXACT ) 28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK) 28 HALF: 0x7bff (0 => OK) 29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK) 29 HALF: 0x7c00 (0x10 => INEXACT ) 30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK) 30 HALF: 0x7fff (0x10 => INEXACT ) 31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK) 31 HALF: 0x7fff (0 => OK) 32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK) 32 HALF: 0x7fff (0x1 => INVALID) 33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK) 33 HALF: 0x7fff (0x1 => INVALID) 34 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK) 34 HALF: 0x7fff (0x1 => INVALID) 35 DOUBLE: 3.40282346638528859812e+38 / 0x0047efffffe0000000 (0 => OK) 35 HALF: 0x7fff (0x1 => INVALID) 36 DOUBLE: 1.79769313486231570815e+308 / 0x007fefffffffffffff (0 => OK) 36 HALF: 0x7fff (0x1 => INVALID) 37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK) 37 HALF: 0x7fff (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: -1.31008000000000000000e+05 / 0x00c0fffc0000000000 (0 => OK) 01 HALF: 0xfcff (0 => OK) 01 DOUBLE: -8.18560000000000000000e+04 / 0x00c0f3fc0000000000 (0 => OK) 02 HALF: 0xfc01 (0 => OK) 02 DOUBLE: -6.56000000000000000000e+04 / 0x00c0f0040000000000 (0 => OK) 03 HALF: 0xfc00 (0 => OK) 03 DOUBLE: -6.55360000000000000000e+04 / 0x00c0f0000000000000 (0 => OK) 04 HALF: 0xfbff (0 => OK) 04 DOUBLE: -6.55040000000000000000e+04 / 0x00c0effc0000000000 (0 => OK) 05 HALF: 0xc000 (0 => OK) 05 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK) 06 HALF: 0xbc00 (0 => OK) 06 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK) 07 HALF: 0x8001 (0 => OK) 07 DOUBLE: -5.96046447753906250000e-08 / 0x00be70000000000000 (0 => OK) 08 HALF: 0x8000 (0 => OK) 08 DOUBLE: -0.00000000000000000000e+00 / 0x008000000000000000 (0 => OK) 09 HALF: 0000 (0 => OK) 09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK) 10 HALF: 0x01 (0 => OK) 10 DOUBLE: 5.96046447753906250000e-08 / 0x003e70000000000000 (0 => OK) 11 HALF: 0x3c00 (0 => OK) 11 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 12 HALF: 0x7bff (0 => OK) 12 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK) 13 HALF: 0x7c00 (0 => OK) 13 DOUBLE: 6.55360000000000000000e+04 / 0x0040f0000000000000 (0 => OK) 14 HALF: 0x7c01 (0 => OK) 14 DOUBLE: 6.56000000000000000000e+04 / 0x0040f0040000000000 (0 => OK) 15 HALF: 0x7cff (0 => OK) 15 DOUBLE: 8.18560000000000000000e+04 / 0x0040f3fc0000000000 (0 => OK) 16 HALF: 0x7fff (0 => OK) 16 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (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: 0x8000 (0x1 => INVALID) 02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK) 02 HALF: 0xffff (0x1 => INVALID) 03 DOUBLE: -1.79769313486231570815e+308 / 0x00ffefffffffffffff (0 => OK) 03 HALF: 0xffff (0x1 => INVALID) 04 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK) 04 HALF: 0xffff (0x1 => INVALID) 05 DOUBLE: -3.40282346638528859812e+38 / 0x00c7efffffe0000000 (0 => OK) 05 HALF: 0xffff (0x1 => INVALID) 06 DOUBLE: -1.11100000000000007530e+31 / 0x00c661874b135ff654 (0 => OK) 06 HALF: 0xffff (0x1 => INVALID) 07 DOUBLE: -1.11099999999999999085e+30 / 0x00c62c0bab523323b9 (0 => OK) 07 HALF: 0xffff (0x1 => INVALID) 08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK) 08 HALF: 0xc000 (0 => OK) 09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK) 09 HALF: 0xbc00 (0 => OK) 10 DOUBLE: -2.22507385850720138310e-308 / 0x008010000000000000 (0 => OK) 10 HALF: 0x8001 (0x18 => UNDERFLOW INEXACT ) 11 DOUBLE: -1.17549435082228750797e-38 / 0x00b810000000000000 (0 => OK) 11 HALF: 0x8001 (0x18 => UNDERFLOW 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 (0x18 => UNDERFLOW INEXACT ) 14 DOUBLE: 2.98023224000000013060e-08 / 0x003e600000001c5f68 (0 => OK) 14 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK) 15 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 16 DOUBLE: 6.09755999999999994298e-05 / 0x003f0ff801a9af58a1 (0 => OK) 16 HALF: 0x3ff (0x18 => UNDERFLOW INEXACT ) 17 DOUBLE: 6.10352000000000013664e-05 / 0x003f100000c06a1ef5 (0 => OK) 17 HALF: 0x400 (0x10 => INEXACT ) 18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 18 HALF: 0x3c00 (0 => OK) 19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK) 19 HALF: 0x3c01 (0 => OK) 20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK) 20 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK) 21 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK) 22 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 23 HALF: 0x3c00 (0 => OK) 24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK) 24 HALF: 0x4000 (0 => OK) 25 DOUBLE: 2.71828182845904509079e+00 / 0x004005bf0a8b145769 (0 => OK) 25 HALF: 0x416f (0x10 => INEXACT ) 26 DOUBLE: 3.14159265358979311599e+00 / 0x00400921fb54442d18 (0 => OK) 26 HALF: 0x4248 (0x10 => INEXACT ) 27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK) 27 HALF: 0x7bfe (0x10 => INEXACT ) 28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK) 28 HALF: 0x7bff (0 => OK) 29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK) 29 HALF: 0x7bff (0x10 => INEXACT ) 30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK) 30 HALF: 0x7ffe (0x10 => INEXACT ) 31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK) 31 HALF: 0x7fff (0 => OK) 32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK) 32 HALF: 0x7fff (0x10 => INEXACT ) 33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK) 33 HALF: 0x7fff (0x1 => INVALID) 34 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK) 34 HALF: 0x7fff (0x1 => INVALID) 35 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK) 35 HALF: 0x7fff (0x1 => INVALID) 36 DOUBLE: 1.79769313486231570814e+308 / 0x007fefffffffffffff (0 => OK) 36 HALF: 0x7fff (0x1 => INVALID) 37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK) 37 HALF: 0x7fff (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: -1.31008000000000000000e+05 / 0x00c0fffc0000000000 (0 => OK) 01 HALF: 0xfcff (0 => OK) 01 DOUBLE: -8.18560000000000000000e+04 / 0x00c0f3fc0000000000 (0 => OK) 02 HALF: 0xfc01 (0 => OK) 02 DOUBLE: -6.56000000000000000000e+04 / 0x00c0f0040000000000 (0 => OK) 03 HALF: 0xfc00 (0 => OK) 03 DOUBLE: -6.55360000000000000000e+04 / 0x00c0f0000000000000 (0 => OK) 04 HALF: 0xfbff (0 => OK) 04 DOUBLE: -6.55040000000000000000e+04 / 0x00c0effc0000000000 (0 => OK) 05 HALF: 0xc000 (0 => OK) 05 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK) 06 HALF: 0xbc00 (0 => OK) 06 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK) 07 HALF: 0x8001 (0 => OK) 07 DOUBLE: -5.96046447753906250000e-08 / 0x00be70000000000000 (0 => OK) 08 HALF: 0x8000 (0 => OK) 08 DOUBLE: -0.00000000000000000000e+00 / 0x008000000000000000 (0 => OK) 09 HALF: 0000 (0 => OK) 09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK) 10 HALF: 0x01 (0 => OK) 10 DOUBLE: 5.96046447753906250000e-08 / 0x003e70000000000000 (0 => OK) 11 HALF: 0x3c00 (0 => OK) 11 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 12 HALF: 0x7bff (0 => OK) 12 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK) 13 HALF: 0x7c00 (0 => OK) 13 DOUBLE: 6.55360000000000000000e+04 / 0x0040f0000000000000 (0 => OK) 14 HALF: 0x7c01 (0 => OK) 14 DOUBLE: 6.56000000000000000000e+04 / 0x0040f0040000000000 (0 => OK) 15 HALF: 0x7cff (0 => OK) 15 DOUBLE: 8.18560000000000000000e+04 / 0x0040f3fc0000000000 (0 => OK) 16 HALF: 0x7fff (0 => OK) 16 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (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: 0x8000 (0x1 => INVALID) 02 DOUBLE: -inf / 0x00fff0000000000000 (0 => OK) 02 HALF: 0xffff (0x1 => INVALID) 03 DOUBLE: -1.79769313486231570814e+308 / 0x00ffefffffffffffff (0 => OK) 03 HALF: 0xffff (0x1 => INVALID) 04 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK) 04 HALF: 0xffff (0x1 => INVALID) 05 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK) 05 HALF: 0xffff (0x1 => INVALID) 06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK) 06 HALF: 0xffff (0x1 => INVALID) 07 DOUBLE: -1.11099999999999999084e+30 / 0x00c62c0bab523323b9 (0 => OK) 07 HALF: 0xffff (0x1 => INVALID) 08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK) 08 HALF: 0xc000 (0 => OK) 09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK) 09 HALF: 0xbc00 (0 => OK) 10 DOUBLE: -2.22507385850720138309e-308 / 0x008010000000000000 (0 => OK) 10 HALF: 0x8000 (0x18 => UNDERFLOW INEXACT ) 11 DOUBLE: -1.17549435082228750796e-38 / 0x00b810000000000000 (0 => OK) 11 HALF: 0x8000 (0x18 => UNDERFLOW 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 (0x18 => UNDERFLOW INEXACT ) 14 DOUBLE: 2.98023224000000013060e-08 / 0x003e600000001c5f68 (0 => OK) 14 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 15 DOUBLE: 5.96046000000000015661e-08 / 0x003e6ffffe6cb2fa82 (0 => OK) 15 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 16 DOUBLE: 6.09755999999999994298e-05 / 0x003f0ff801a9af58a1 (0 => OK) 16 HALF: 0x3ff (0x18 => UNDERFLOW INEXACT ) 17 DOUBLE: 6.10352000000000013664e-05 / 0x003f100000c06a1ef5 (0 => OK) 17 HALF: 0x400 (0x10 => INEXACT ) 18 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 18 HALF: 0x3c00 (0 => OK) 19 DOUBLE: 1.00097656250000000000e+00 / 0x003ff0040000000000 (0 => OK) 19 HALF: 0x3c01 (0 => OK) 20 DOUBLE: 2.22507385850720138309e-308 / 0x000010000000000000 (0 => OK) 20 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 21 DOUBLE: 1.37899728486072282843e-308 / 0x000009ea82a2287680 (0 => OK) 21 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK) 22 HALF: 0000 (0x18 => UNDERFLOW INEXACT ) 23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 23 HALF: 0x3c00 (0 => OK) 24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK) 24 HALF: 0x4000 (0 => OK) 25 DOUBLE: 2.71828182845904509079e+00 / 0x004005bf0a8b145769 (0 => OK) 25 HALF: 0x416f (0x10 => INEXACT ) 26 DOUBLE: 3.14159265358979311599e+00 / 0x00400921fb54442d18 (0 => OK) 26 HALF: 0x4248 (0x10 => INEXACT ) 27 DOUBLE: 6.55030000000000000000e+04 / 0x0040effbe000000000 (0 => OK) 27 HALF: 0x7bfe (0x10 => INEXACT ) 28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK) 28 HALF: 0x7bff (0 => OK) 29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK) 29 HALF: 0x7bff (0x10 => INEXACT ) 30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK) 30 HALF: 0x7ffe (0x10 => INEXACT ) 31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK) 31 HALF: 0x7fff (0 => OK) 32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK) 32 HALF: 0x7fff (0x10 => INEXACT ) 33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK) 33 HALF: 0x7fff (0x1 => INVALID) 34 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK) 34 HALF: 0x7fff (0x1 => INVALID) 35 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK) 35 HALF: 0x7fff (0x1 => INVALID) 36 DOUBLE: 1.79769313486231570814e+308 / 0x007fefffffffffffff (0 => OK) 36 HALF: 0x7fff (0x1 => INVALID) 37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK) 37 HALF: 0x7fff (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: -1.31008000000000000000e+05 / 0x00c0fffc0000000000 (0 => OK) 01 HALF: 0xfcff (0 => OK) 01 DOUBLE: -8.18560000000000000000e+04 / 0x00c0f3fc0000000000 (0 => OK) 02 HALF: 0xfc01 (0 => OK) 02 DOUBLE: -6.56000000000000000000e+04 / 0x00c0f0040000000000 (0 => OK) 03 HALF: 0xfc00 (0 => OK) 03 DOUBLE: -6.55360000000000000000e+04 / 0x00c0f0000000000000 (0 => OK) 04 HALF: 0xfbff (0 => OK) 04 DOUBLE: -6.55040000000000000000e+04 / 0x00c0effc0000000000 (0 => OK) 05 HALF: 0xc000 (0 => OK) 05 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK) 06 HALF: 0xbc00 (0 => OK) 06 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK) 07 HALF: 0x8001 (0 => OK) 07 DOUBLE: -5.96046447753906250000e-08 / 0x00be70000000000000 (0 => OK) 08 HALF: 0x8000 (0 => OK) 08 DOUBLE: -0.00000000000000000000e+00 / 0x008000000000000000 (0 => OK) 09 HALF: 0000 (0 => OK) 09 DOUBLE: 0.00000000000000000000e+00 / 00000000000000000000 (0 => OK) 10 HALF: 0x01 (0 => OK) 10 DOUBLE: 5.96046447753906250000e-08 / 0x003e70000000000000 (0 => OK) 11 HALF: 0x3c00 (0 => OK) 11 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 12 HALF: 0x7bff (0 => OK) 12 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK) 13 HALF: 0x7c00 (0 => OK) 13 DOUBLE: 6.55360000000000000000e+04 / 0x0040f0000000000000 (0 => OK) 14 HALF: 0x7c01 (0 => OK) 14 DOUBLE: 6.56000000000000000000e+04 / 0x0040f0040000000000 (0 => OK) 15 HALF: 0x7cff (0 => OK) 15 DOUBLE: 8.18560000000000000000e+04 / 0x0040f3fc0000000000 (0 => OK) 16 HALF: 0x7fff (0 => OK) 16 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (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: -9223372036854775808/0x008000000000000000 (0x1 => INVALID) 03 SINGLE: -3.40282346638528859811e+38 / 0xff7fffff (0 => OK) 03 INT64: -9223372036854775808/0x008000000000000000 (0x1 => INVALID) 04 SINGLE: -1.11100004769645909790e+31 / 0xf30c3a59 (0 => OK) 04 INT64: -9223372036854775808/0x008000000000000000 (0x1 => INVALID) 05 SINGLE: -1.11100003258488635272e+30 / 0xf1605d5b (0 => OK) 05 INT64: -9223372036854775808/0x008000000000000000 (0x1 => 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 (0 => OK) 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 (0 => OK) 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 (0 => OK) 21 SINGLE: 6.55040000000000000000e+04 / 0x477fe000 (0 => OK) 21 INT64: 65504/0x00000000000000ffe0 (0 => OK) 22 SINGLE: 6.55050000000000000000e+04 / 0x477fe100 (0 => OK) 22 INT64: 65505/0x00000000000000ffe1 (0 => OK) 23 SINGLE: 1.31007000000000000000e+05 / 0x47ffdf80 (0 => OK) 23 INT64: 131007/0x00000000000001ffbf (0 => OK) 24 SINGLE: 1.31008000000000000000e+05 / 0x47ffe000 (0 => OK) 24 INT64: 131008/0x00000000000001ffc0 (0 => OK) 25 SINGLE: 1.31009000000000000000e+05 / 0x47ffe080 (0 => OK) 25 INT64: 131009/0x00000000000001ffc1 (0 => OK) 26 SINGLE: 1.11100003258488635272e+30 / 0x71605d5b (0 => OK) 26 INT64: 9223372036854775807/0x007fffffffffffffff (0x1 => INVALID) 27 SINGLE: 3.40282346638528859811e+38 / 0x7f7fffff (0 => OK) 27 INT64: 9223372036854775807/0x007fffffffffffffff (0x1 => INVALID) 28 SINGLE: inf / 0x7f800000 (0 => OK) 28 INT64: 9223372036854775807/0x007fffffffffffffff (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: -9223372036854775808/0x008000000000000000 (0x1 => INVALID) 03 DOUBLE: -1.79769313486231570814e+308 / 0x00ffefffffffffffff (0 => OK) 03 INT64: -9223372036854775808/0x008000000000000000 (0x1 => INVALID) 04 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK) 04 INT64: -9223372036854775808/0x008000000000000000 (0x1 => INVALID) 05 DOUBLE: -3.40282346638528859811e+38 / 0x00c7efffffe0000000 (0 => OK) 05 INT64: -9223372036854775808/0x008000000000000000 (0x1 => INVALID) 06 DOUBLE: -1.11100000000000007529e+31 / 0x00c661874b135ff654 (0 => OK) 06 INT64: -9223372036854775808/0x008000000000000000 (0x1 => INVALID) 07 DOUBLE: -1.11099999999999999084e+30 / 0x00c62c0bab523323b9 (0 => OK) 07 INT64: -9223372036854775808/0x008000000000000000 (0x1 => INVALID) 08 DOUBLE: -2.00000000000000000000e+00 / 0x00c000000000000000 (0 => OK) 08 INT64: -2/0x00fffffffffffffffe (0 => OK) 09 DOUBLE: -1.00000000000000000000e+00 / 0x00bff0000000000000 (0 => OK) 09 INT64: -1/0x00ffffffffffffffff (0 => OK) 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 (0 => OK) 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 (0x10 => INEXACT ) 22 DOUBLE: 1.49147387366816238763e-308 / 0x00000ab98fba843210 (0 => OK) 22 INT64: 0/00000000000000000000 (0x10 => INEXACT ) 23 DOUBLE: 1.00000000000000000000e+00 / 0x003ff0000000000000 (0 => OK) 23 INT64: 1/0x000000000000000001 (0 => OK) 24 DOUBLE: 2.00000000000000000000e+00 / 0x004000000000000000 (0 => OK) 24 INT64: 2/0x000000000000000002 (0 => OK) 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 (0 => OK) 28 DOUBLE: 6.55040000000000000000e+04 / 0x0040effc0000000000 (0 => OK) 28 INT64: 65504/0x00000000000000ffe0 (0 => OK) 29 DOUBLE: 6.55050000000000000000e+04 / 0x0040effc2000000000 (0 => OK) 29 INT64: 65505/0x00000000000000ffe1 (0 => OK) 30 DOUBLE: 1.31007000000000000000e+05 / 0x0040fffbf000000000 (0 => OK) 30 INT64: 131007/0x00000000000001ffbf (0 => OK) 31 DOUBLE: 1.31008000000000000000e+05 / 0x0040fffc0000000000 (0 => OK) 31 INT64: 131008/0x00000000000001ffc0 (0 => OK) 32 DOUBLE: 1.31009000000000000000e+05 / 0x0040fffc1000000000 (0 => OK) 32 INT64: 131009/0x00000000000001ffc1 (0 => OK) 33 DOUBLE: 2.14748364700000000000e+09 / 0x0041dfffffffc00000 (0 => OK) 33 INT64: 2147483647/0x00000000007fffffff (0 => OK) 34 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK) 34 INT64: 9223372036854775807/0x007fffffffffffffff (0x1 => INVALID) 35 DOUBLE: 3.40282346638528859811e+38 / 0x0047efffffe0000000 (0 => OK) 35 INT64: 9223372036854775807/0x007fffffffffffffff (0x1 => INVALID) 36 DOUBLE: 1.79769313486231570814e+308 / 0x007fefffffffffffff (0 => OK) 36 INT64: 9223372036854775807/0x007fffffffffffffff (0x1 => INVALID) 37 DOUBLE: inf / 0x007ff0000000000000 (0 => OK) 37 INT64: 9223372036854775807/0x007fffffffffffffff (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: 3355435008/0x0000000000c7ffe000 (0 => OK) 01 HALF: 0xfcff (0 => OK) 01 INT64: 3349143552/0x0000000000c79fe000 (0 => OK) 02 HALF: 0xfc01 (0 => OK) 02 INT64: 3347062784/0x0000000000c7802000 (0 => OK) 03 HALF: 0xfc00 (0 => OK) 03 INT64: 3347054592/0x0000000000c7800000 (0 => OK) 04 HALF: 0xfbff (0 => OK) 04 INT64: 3347046400/0x0000000000c77fe000 (0 => OK) 05 HALF: 0xc000 (0 => OK) 05 INT64: 3221225472/0x0000000000c0000000 (0 => OK) 06 HALF: 0xbc00 (0 => OK) 06 INT64: 3212836864/0x0000000000bf800000 (0 => OK) 07 HALF: 0x8001 (0 => OK) 07 INT64: 3011510272/0x0000000000b3800000 (0 => OK) 08 HALF: 0x8000 (0 => OK) 08 INT64: 2147483648/0x000000000080000000 (0 => OK) 09 HALF: 0000 (0 => OK) 09 INT64: 0/00000000000000000000 (0 => OK) 10 HALF: 0x01 (0 => OK) 10 INT64: 864026624/0x000000000033800000 (0 => OK) 11 HALF: 0x3c00 (0 => OK) 11 INT64: 1065353216/0x00000000003f800000 (0 => OK) 12 HALF: 0x7bff (0 => OK) 12 INT64: 1199562752/0x0000000000477fe000 (0 => OK) 13 HALF: 0x7c00 (0 => OK) 13 INT64: 1199570944/0x000000000047800000 (0 => OK) 14 HALF: 0x7c01 (0 => OK) 14 INT64: 1199579136/0x000000000047802000 (0 => OK) 15 HALF: 0x7cff (0 => OK) 15 INT64: 1201659904/0x0000000000479fe000 (0 => OK) 16 HALF: 0x7fff (0 => OK) 16 INT64: 1207951360/0x000000000047ffe000 (0 => OK)