print XYZ matrix in custom way

This ramps up the number of digits printed until
we find a float that roundtrips correctly.

Locally build/emscripten is now okay (and had always
been producing the correct float, just printing funny.)

Change-Id: I789ccb19ab72e067fdc50a52b8a705f079c4b94f
Reviewed-on: https://skia-review.googlesource.com/c/skcms/+/199809
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/profiles/color.org/Lower_Left.icc.txt b/profiles/color.org/Lower_Left.icc.txt
index 86d2ef3..0e2805a 100644
--- a/profiles/color.org/Lower_Left.icc.txt
+++ b/profiles/color.org/Lower_Left.icc.txt
@@ -21,9 +21,9 @@
 bTRC : 2.199219, 1, 0, 0, 0, 0, 0
 Best : 2.199219, 1, 0, 0, 0, 0, 0
 Inv  : 0.4547069, 1, -0, 0, 0, 0, 0
- XYZ : | 0.385116577 0.143051147 0.436035156 |
-       | 0.716903687 0.0606079102 0.222488403 |
-       | 0.0970611572 0.713912964 0.0139160156 |
+ XYZ : | 0.38511658 0.14305115 0.43603516 |
+       | 0.7169037 0.06060791 0.2224884 |
+       | 0.09706116 0.71391296 0.013916016 |
 252 random bytes transformed to linear XYZD50 bytes:
 	291454 6280c2 30375f 2a2706 3a2e07 4b8133 281288
 	70ac1c 1c2510 69a32b 71b087 304356 261642 776813
diff --git a/profiles/color.org/Lower_Right.icc.txt b/profiles/color.org/Lower_Right.icc.txt
index b44f8ff..a4aefc6 100644
--- a/profiles/color.org/Lower_Right.icc.txt
+++ b/profiles/color.org/Lower_Right.icc.txt
@@ -21,9 +21,9 @@
 bTRC : 2.199219, 1, 0, 0, 0, 0, 0
 Best : 2.199219, 1, 0, 0, 0, 0, 0
 Inv  : 0.4547069, 1, -0, 0, 0, 0, 0
- XYZ : | 0.609741211 0.205276489 0.149185181 |
-       | 0.31111145 0.625671387 0.0632171631 |
-       | 0.0194702148 0.0608673096 0.744567871 |
+ XYZ : | 0.6097412 0.20527649 0.14918518 |
+       | 0.31111145 0.6256714 0.06321716 |
+       | 0.019470215 0.06086731 0.7445679 |
 252 random bytes transformed to linear XYZD50 bytes:
 	204d31 93ce15 416213 1f1032 24134e 755408 2b7921
 	914d31 211911 8e5828 aeab10 4a5e08 1f3e2b 522d94
diff --git a/profiles/color.org/sRGB2014.icc.txt b/profiles/color.org/sRGB2014.icc.txt
index 114de61..998edcf 100644
--- a/profiles/color.org/sRGB2014.icc.txt
+++ b/profiles/color.org/sRGB2014.icc.txt
@@ -31,9 +31,9 @@
 TRCs ≈ sRGB
 Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (D-gap: 0.000180295)
 Inv  : 0.4166695, 1.13739, -0.0002039236, 12.86827, 0.003494316, -0.05495453, -0 (D-gap: -0.00216441)
- XYZ : | 0.436065674 0.385147095 0.143066406 |
-       | 0.222488403 0.716873169 0.0606079102 |
-       | 0.0139160156 0.097076416 0.714096069 |
+ XYZ : | 0.43606567 0.3851471 0.1430664 |
+       | 0.2224884 0.71687317 0.06060791 |
+       | 0.013916016 0.097076416 0.71409607 |
 252 random bytes transformed to linear XYZD50 bytes:
 	345632 a4d61e 4c6617 190e2f 1e1149 5e4809 4d8927
 	6c3b2e 1c1711 6e4726 a1a315 4d5f0c 2d442c 44268d
diff --git a/profiles/fuzz/inverse_tf_adb_negative.icc.txt b/profiles/fuzz/inverse_tf_adb_negative.icc.txt
index 7def0f9..08a3352 100644
--- a/profiles/fuzz/inverse_tf_adb_negative.icc.txt
+++ b/profiles/fuzz/inverse_tf_adb_negative.icc.txt
@@ -22,7 +22,7 @@
 bTRC : 16-bit table with 1024 entries
  XYZ : | 8224.125 8224.125 8224.125 |
        | 8224.125 8224.125 8224.125 |
-       | -0.00341796875 8224.125 8224.125 |
+       | -0.0034179688 8224.125 8224.125 |
  !!! This does not appear to use a D50 whitepoint, rather [24672.4 24672.4 16448.2]
 252 random bytes transformed to linear XYZD50 bytes:
 	ffffff ffffff ffffff ffffff ffffff ffffff ffffff
diff --git a/profiles/fuzz/inverse_tf_huge_g.icc.txt b/profiles/fuzz/inverse_tf_huge_g.icc.txt
index 8785243..88ea7fe 100644
--- a/profiles/fuzz/inverse_tf_huge_g.icc.txt
+++ b/profiles/fuzz/inverse_tf_huge_g.icc.txt
@@ -12,9 +12,9 @@
 rTRC : 16-bit table with 43 entries
 gTRC : 16-bit table with 43 entries
 bTRC : 16-bit table with 43 entries
- XYZ : | 0.964202881 0 0 |
+ XYZ : | 0.9642029 0 0 |
        | 0 1 0 |
-       | 0 0 0.824905396 |
+       | 0 0 0.8249054 |
 252 random bytes transformed to linear XYZD50 bytes:
 	b3701f c2dc2e 24c145 242c1f 24341e c6251f 8bd01f
 	cf6d1f 24251f cd251f d1c91f 622523 55b31f 4672ad
diff --git a/profiles/fuzz/inverse_tf_not_invertible.icc.txt b/profiles/fuzz/inverse_tf_not_invertible.icc.txt
index d5d1c61..6f51224 100644
--- a/profiles/fuzz/inverse_tf_not_invertible.icc.txt
+++ b/profiles/fuzz/inverse_tf_not_invertible.icc.txt
@@ -23,9 +23,9 @@
   ~= : 5.117306, 0.5632095, 0.8488435, 0.07707816, 0.04078144, -0.4912872, 0 (Max error: 0.782032) (D-gap: 0.000930738)
 Best : 5.117306, 0.5632095, 0.8488435, 0.07707816, 0.04078144, -0.4912872, 0 (D-gap: 0.000930738)
 Inv  : 0.1954153, 18.88403, 9.277484, 12.97384, 0.003143358, -1.507324, -0 (D-gap: -0.000780527)
- XYZ : | 0.436065674 0.385070801 0.143051147 |
-       | 0.222503662 0.716873169 0.0606079102 |
-       | 0.0139160156 0.0970611572 0.713989258 |
+ XYZ : | 0.43606567 0.3850708 0.14305115 |
+       | 0.22250366 0.71687317 0.06060791 |
+       | 0.013916016 0.09706116 0.71398926 |
 252 random bytes transformed to linear XYZD50 bytes:
 	619c65 8eac17 6b762f 361b5d 452e84 736f0d 538b46
 	7e505b 453d30 866a50 a1a314 8ca915 5c825b 6e4b91
diff --git a/profiles/fuzz/polytf_big_float_to_int_cast.icc.txt b/profiles/fuzz/polytf_big_float_to_int_cast.icc.txt
index 923f084..ceb639a 100644
--- a/profiles/fuzz/polytf_big_float_to_int_cast.icc.txt
+++ b/profiles/fuzz/polytf_big_float_to_int_cast.icc.txt
@@ -21,7 +21,7 @@
 bTRC : 0, 1, 0, 0, 0, 0, 0
  XYZ : | 8224.125 8224.125 8224.125 |
        | 8224.125 8224.125 8224.125 |
-       | 8224.125 -223.874512 28769.4473 |
+       | 8224.125 -223.87451 28769.447 |
  !!! This does not appear to use a D50 whitepoint, rather [24672.4 24672.4 36769.7]
 252 random bytes transformed to linear XYZD50 bytes:
 	ffffff ffffff ffffff ffffff ffffff ffffff ffffff
diff --git a/profiles/fuzz/zero_g.icc.txt b/profiles/fuzz/zero_g.icc.txt
index ae69d1a..3df875e 100644
--- a/profiles/fuzz/zero_g.icc.txt
+++ b/profiles/fuzz/zero_g.icc.txt
@@ -10,9 +10,9 @@
 rTRC : 0, 1, 0, 0, 0, 0, 0
 gTRC : 0, 1, 0, 0, 0, 0, 0
 bTRC : 0, 1, 0, 0, 0, 0, 0
- XYZ : | 0.961425781 0 0 |
-       | 0 1.00048828 0 |
-       | 0 0 0.832519531 |
+ XYZ : | 0.9614258 0 0 |
+       | 0 1.0004883 0 |
+       | 0 0 0.83251953 |
 252 random bytes transformed to linear XYZD50 bytes:
 	f5ffd4 f5ffd4 f5ffd4 f5ffd4 f5ffd4 f5ffd4 f5ffd4
 	f5ffd4 f5ffd4 f5ffd4 f5ffd4 f5ffd4 f5ffd4 f5ffd4
diff --git a/profiles/misc/AdobeColorSpin.icc.txt b/profiles/misc/AdobeColorSpin.icc.txt
index 3a43748..83032ce 100644
--- a/profiles/misc/AdobeColorSpin.icc.txt
+++ b/profiles/misc/AdobeColorSpin.icc.txt
@@ -20,9 +20,9 @@
 bTRC : 2.199219, 1, 0, 0, 0, 0, 0
 Best : 2.199219, 1, 0, 0, 0, 0, 0
 Inv  : 0.4547069, 1, -0, 0, 0, 0, 0
- XYZ : | 0.205276489 0.149185181 0.609741211 |
-       | 0.625671387 0.0632171631 0.31111145 |
-       | 0.0608673096 0.744552612 0.0194702148 |
+ XYZ : | 0.20527649 0.14918518 0.6097412 |
+       | 0.6256714 0.06321716 0.31111145 |
+       | 0.06086731 0.7445526 0.019470215 |
 252 random bytes transformed to linear XYZD50 bytes:
 	341958 4873c4 283361 302a05 463407 2c712e 2e158e
 	539d14 182310 4b9424 489b84 223c56 2e1a45 8a7111
diff --git a/profiles/misc/AdobeRGB.icc.txt b/profiles/misc/AdobeRGB.icc.txt
index b44f8ff..a4aefc6 100644
--- a/profiles/misc/AdobeRGB.icc.txt
+++ b/profiles/misc/AdobeRGB.icc.txt
@@ -21,9 +21,9 @@
 bTRC : 2.199219, 1, 0, 0, 0, 0, 0
 Best : 2.199219, 1, 0, 0, 0, 0, 0
 Inv  : 0.4547069, 1, -0, 0, 0, 0, 0
- XYZ : | 0.609741211 0.205276489 0.149185181 |
-       | 0.31111145 0.625671387 0.0632171631 |
-       | 0.0194702148 0.0608673096 0.744567871 |
+ XYZ : | 0.6097412 0.20527649 0.14918518 |
+       | 0.31111145 0.6256714 0.06321716 |
+       | 0.019470215 0.06086731 0.7445679 |
 252 random bytes transformed to linear XYZD50 bytes:
 	204d31 93ce15 416213 1f1032 24134e 755408 2b7921
 	914d31 211911 8e5828 aeab10 4a5e08 1f3e2b 522d94
diff --git a/profiles/misc/Apple_Color_LCD.icc.txt b/profiles/misc/Apple_Color_LCD.icc.txt
index d75d6ff..303419e 100644
--- a/profiles/misc/Apple_Color_LCD.icc.txt
+++ b/profiles/misc/Apple_Color_LCD.icc.txt
@@ -32,9 +32,9 @@
 TRCs ≈ sRGB
 Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (D-gap: 0.000180295)
 Inv  : 0.4166695, 1.13739, -0.0002039236, 12.86827, 0.003494316, -0.05495453, -0 (D-gap: -0.00216441)
- XYZ : | 0.444335938 0.379440308 0.140411377 |
-       | 0.224761963 0.726165771 0.0490722656 |
-       | 0.00547790527 0.0779724121 0.741455078 |
+ XYZ : | 0.44433594 0.3794403 0.14041138 |
+       | 0.22476196 0.7261658 0.049072266 |
+       | 0.0054779053 0.07797241 0.7414551 |
 252 random bytes transformed to linear XYZD50 bytes:
 	345632 a4d918 4b6715 1a0d31 1e104c 5f4907 4c8a24
 	6d3b2e 1d1711 6f4725 a2a510 4d6009 2c452c 442491
diff --git a/profiles/misc/BenQ_GL2450.icc.txt b/profiles/misc/BenQ_GL2450.icc.txt
index f026def..78174ef 100644
--- a/profiles/misc/BenQ_GL2450.icc.txt
+++ b/profiles/misc/BenQ_GL2450.icc.txt
@@ -28,9 +28,9 @@
   ~= : 1.993112, 1.001831, -0, 0, 0, -1.525879e-05, 0 (Max error: 0.00890554)
 Best : 1.993112, 1.001831, -0, 0, 0, -1.525879e-05, 0
 Inv  : 0.5017281, 0.9963799, 1.520355e-05, 0, 0, -2.288818e-05, 0
- XYZ : | 0.388397217 0.402297974 0.201400757 |
-       | 0.193893433 0.741104126 0.0650939941 |
-       | 0.0102996826 0.0612030029 1.01460266 |
+ XYZ : | 0.38839722 0.40229797 0.20140076 |
+       | 0.19389343 0.7411041 0.065093994 |
+       | 0.010299683 0.061203003 1.0146027 |
  !!! This does not appear to use a D50 whitepoint, rather [0.992096 1.00009 1.08611]
 252 random bytes transformed to linear XYZD50 bytes:
 	406149 a5da17 54711b 20104c 281372 5d4c08 569330
diff --git a/profiles/misc/BenQ_RL2455.icc.txt b/profiles/misc/BenQ_RL2455.icc.txt
index fead547..67a2cb1 100644
--- a/profiles/misc/BenQ_RL2455.icc.txt
+++ b/profiles/misc/BenQ_RL2455.icc.txt
@@ -38,9 +38,9 @@
   ~= : 2.201602, 0.9994202, 0.000629075, 0.189456, 0.25, -0.0001068115, 0 (Max error: 0.0248607) (D-gap: -8.59052e-06)
 Best : 2.201602, 0.9994202, 0.000629075, 0.189456, 0.25, -0.0001068115, 0 (D-gap: -8.59052e-06)
 Inv  : 0.4542148, 1.001282, 0.0001069484, 5.27827, 0.047364, -0.000617981, -0 (D-gap: 2.86251e-05)
- XYZ : | 0.465194702 0.355957031 0.14302063 |
-       | 0.231887817 0.681533813 0.0865631104 |
-       | 0.00991821289 0.0928649902 0.722106934 |
+ XYZ : | 0.4651947 0.35595703 0.14302063 |
+       | 0.23188782 0.6815338 0.08656311 |
+       | 0.009918213 0.09286499 0.72210693 |
  A2B : "A", CLUT, "B"
  "A" : 3 inputs
   A0 : 16-bit table with 256 entries
diff --git a/profiles/misc/Color_Spin_Gamma_18.icc.txt b/profiles/misc/Color_Spin_Gamma_18.icc.txt
index 1400c4f..e14f7c7 100644
--- a/profiles/misc/Color_Spin_Gamma_18.icc.txt
+++ b/profiles/misc/Color_Spin_Gamma_18.icc.txt
@@ -20,9 +20,9 @@
 bTRC : 1.800781, 1, 0, 0, 0, 0, 0
 Best : 1.800781, 1, 0, 0, 0, 0, 0
 Inv  : 0.5553145, 1, -0, 0, 0, 0, 0
- XYZ : | 0.385116577 0.143035889 0.436050415 |
-       | 0.716903687 0.0606079102 0.222488403 |
-       | 0.0970611572 0.713912964 0.0139160156 |
+ XYZ : | 0.38511658 0.14303589 0.43605042 |
+       | 0.7169037 0.06060791 0.2224884 |
+       | 0.09706116 0.71391296 0.013916016 |
 252 random bytes transformed to linear XYZD50 bytes:
 	341961 698bc4 3d476d 39360a 483d0c 538b40 2f1690
 	7bb521 29341a 75ad36 76b492 3a5265 322050 83781b
diff --git a/profiles/misc/DisplayCal_ASUS_NonMonotonic.icc.txt b/profiles/misc/DisplayCal_ASUS_NonMonotonic.icc.txt
index 7b5db8d..0556959 100644
--- a/profiles/misc/DisplayCal_ASUS_NonMonotonic.icc.txt
+++ b/profiles/misc/DisplayCal_ASUS_NonMonotonic.icc.txt
@@ -38,9 +38,9 @@
   ~= : 2.195809, 1.024223, -0.01593081, 0.00389105, 0.1607843, -0.01451111, 0 (Max error: 0.152941) (D-gap: 9.63116e-05)
 Best : 2.195809, 1.024223, -0.01593081, 0.00389105, 0.1607843, -0.01451111, 0 (D-gap: 9.63116e-05)
 Inv  : 0.455413, 0.9488716, 0.01376918, 257, 0.0006256199, 0.01558304, -0 (D-gap: -0.000409693)
- XYZ : | 0.436737061 0.380325317 0.147140503 |
-       | 0.217636108 0.72984314 0.052520752 |
-       | 0.0026550293 0.0644073486 0.757827759 |
+ XYZ : | 0.43673706 0.38032532 0.1471405 |
+       | 0.21763611 0.72984314 0.052520752 |
+       | 0.0026550293 0.06440735 0.75782776 |
  A2B : "A", CLUT, "B"
  "A" : 3 inputs
   A0 : 16-bit table with 2049 entries
diff --git a/profiles/misc/Dot_Gain_20_Grayscale.icc.txt b/profiles/misc/Dot_Gain_20_Grayscale.icc.txt
index 217ed66..f71395b 100644
--- a/profiles/misc/Dot_Gain_20_Grayscale.icc.txt
+++ b/profiles/misc/Dot_Gain_20_Grayscale.icc.txt
@@ -19,9 +19,9 @@
   ~= : 1.737027, 0.9999313, 3.289578e-05, 0.06290532, 0.02352941, -1.525879e-05, 0 (Max error: 0.000202144) (D-gap: -7.95769e-06)
 Best : 1.737027, 0.9999313, 3.289578e-05, 0.06290532, 0.02352941, -1.525879e-05, 0 (D-gap: -7.95769e-06)
 Inv  : 0.5756963, 1.000122, 1.526065e-05, 15.89691, 0.001480125, -3.051758e-05, -0 (D-gap: 7.42637e-05)
- XYZ : | 0.964202881 0 0 |
+ XYZ : | 0.9642029 0 0 |
        | 0 1 0 |
-       | 0 0 0.824905396 |
+       | 0 0 0.8249054 |
 252 random bytes transformed to linear XYZD50 bytes:
 	018a40 a7fc08 509115 320748 300a67 b74404 00ca26
 	dc1043 3d1e1d d43036 e4af05 668201 0f703a 6515ab
diff --git a/profiles/misc/Generic_RGB_Gamma_18.icc.txt b/profiles/misc/Generic_RGB_Gamma_18.icc.txt
index 169a362..5efcd3b 100644
--- a/profiles/misc/Generic_RGB_Gamma_18.icc.txt
+++ b/profiles/misc/Generic_RGB_Gamma_18.icc.txt
@@ -22,9 +22,9 @@
 bTRC : 1.800781, 1, 0, 0, 0, 0, 0
 Best : 1.800781, 1, 0, 0, 0, 0, 0
 Inv  : 0.5553145, 1, -0, 0, 0, 0, 0
- XYZ : | 0.454299927 0.353347778 0.156646729 |
-       | 0.241912842 0.673629761 0.0844573975 |
-       | 0.0148925781 0.090637207 0.719573975 |
+ XYZ : | 0.45429993 0.35334778 0.15664673 |
+       | 0.24191284 0.67362976 0.0844574 |
+       | 0.014892578 0.09063721 0.719574 |
 252 random bytes transformed to linear XYZD50 bytes:
 	3b6141 a8d31f 5a751f 26173e 2b1b59 6d590c 4e8b31
 	78473d 2a241b 7d5834 a9ad17 5c6e0e 37523b 553797
diff --git a/profiles/misc/Gray_Gamma_22.icc.txt b/profiles/misc/Gray_Gamma_22.icc.txt
index b1a3d85..65f7cbd 100644
--- a/profiles/misc/Gray_Gamma_22.icc.txt
+++ b/profiles/misc/Gray_Gamma_22.icc.txt
@@ -16,9 +16,9 @@
 bTRC : 2.199219, 1, 0, 0, 0, 0, 0
 Best : 2.199219, 1, 0, 0, 0, 0, 0
 Inv  : 0.4547069, 1, -0, 0, 0, 0, 0
- XYZ : | 0.964202881 0 0 |
+ XYZ : | 0.9642029 0 0 |
        | 0 1 0 |
-       | 0 0 0.824905396 |
+       | 0 0 0.8249054 |
 252 random bytes transformed to linear XYZD50 bytes:
 	00752e 96fb03 3c7c0b 210336 1f0455 a93001 00be18
 	d50831 2a1111 cb1e25 df9e02 516d00 075a2a 500ba1
diff --git a/profiles/misc/HD_709.icc.txt b/profiles/misc/HD_709.icc.txt
index f9602e6..560ad6c 100644
--- a/profiles/misc/HD_709.icc.txt
+++ b/profiles/misc/HD_709.icc.txt
@@ -32,9 +32,9 @@
 TRCs ≈ sRGB
 Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (D-gap: 0.000180295)
 Inv  : 0.4166695, 1.13739, -0.0002039236, 12.86827, 0.003494316, -0.05495453, -0 (D-gap: -0.00216441)
- XYZ : | 0.358963013 0.446350098 0.158889771 |
-       | 0.195922852 0.742843628 0.0612335205 |
-       | 0.00967407227 0.0435180664 0.771713257 |
+ XYZ : | 0.358963 0.4463501 0.15888977 |
+       | 0.19592285 0.7428436 0.06123352 |
+       | 0.009674072 0.043518066 0.77171326 |
 252 random bytes transformed to linear XYZD50 bytes:
 	3c592f a8d910 4f6811 180d33 1e104f 544506 598e1f
 	5c3530 1b1711 604226 99a10c 4d5f06 32462a 412597
diff --git a/profiles/misc/Kodak_sRGB.icc.txt b/profiles/misc/Kodak_sRGB.icc.txt
index b6bff8f..3132b50 100644
--- a/profiles/misc/Kodak_sRGB.icc.txt
+++ b/profiles/misc/Kodak_sRGB.icc.txt
@@ -28,9 +28,9 @@
   ~= : 2.416816, 0.9406624, 0.05426622, 1.070039, 0.003921569, 0.003383636, 0 (Max error: 0.00561243) (D-gap: 0.000211882)
 Best : 2.416816, 0.9406624, 0.05426622, 1.070039, 0.003921569, 0.003383636, 0 (D-gap: 0.000211882)
 Inv  : 0.4137676, 1.159515, -0.003923378, 0.9345455, 0.004196231, -0.05766296, -0 (D-gap: -0.00561243)
- XYZ : | 0.437637329 0.388412476 0.142410278 |
-       | 0.214950562 0.712905884 0.0721282959 |
-       | 0.0112609863 0.0807189941 0.725875854 |
+ XYZ : | 0.43763733 0.38841248 0.14241028 |
+       | 0.21495056 0.7129059 0.072128296 |
+       | 0.011260986 0.080718994 0.72587585 |
  A2B : "A", CLUT, "B"
  "A" : 3 inputs
   A0 : 16-bit table with 256 entries
diff --git a/profiles/misc/MartiMaria_browsertest_HARD.icc.txt b/profiles/misc/MartiMaria_browsertest_HARD.icc.txt
index 9de2eb1..37e9829 100644
--- a/profiles/misc/MartiMaria_browsertest_HARD.icc.txt
+++ b/profiles/misc/MartiMaria_browsertest_HARD.icc.txt
@@ -22,9 +22,9 @@
 gTRC : 16-bit table with 255 entries
   ~= : 1, 0.003875792, 0, 0, 0, 0, 0 (Max error: 0.000128567)
 bTRC : 16-bit table with 255 entries
- XYZ : | 0.964202881 0 0.964202881 |
+ XYZ : | 0.9642029 0 0.9642029 |
        | 1 0 1 |
-       | 0.824905396 0 0.824905396 |
+       | 0.8249054 0 0.8249054 |
  !!! This does not appear to use a D50 whitepoint, rather [1.92841 2 1.64981]
  A2B : "A", CLUT, "B"
  "A" : 3 inputs
diff --git a/profiles/misc/Phase_One_P25.icc.txt b/profiles/misc/Phase_One_P25.icc.txt
index db6e250..7f6fd47 100644
--- a/profiles/misc/Phase_One_P25.icc.txt
+++ b/profiles/misc/Phase_One_P25.icc.txt
@@ -23,9 +23,9 @@
 gTRC : 16-bit table with 256 entries
 bTRC : 16-bit table with 256 entries
   ~= : 0.7390234, 0.8481178, -0.009977858, 2.721141, 0.01176471, 0.03213882, 0 (Max error: 0.139809) (D-gap: 0.000125397)
- XYZ : | 0.647903442 0.35736084 0.156417847 |
-       | 0.382919312 1.10972595 0 |
-       | 0.0832672119 0.679275513 0.523422241 |
+ XYZ : | 0.64790344 0.35736084 0.15641785 |
+       | 0.3829193 1.109726 0 |
+       | 0.08326721 0.6792755 0.52342224 |
  !!! This does not appear to use a D50 whitepoint, rather [1.16168 1.49265 1.28596]
  A2B : "A", CLUT, "B"
  "A" : 3 inputs
diff --git a/profiles/misc/SM245B.icc.txt b/profiles/misc/SM245B.icc.txt
index af76b19..5ec0bf8 100644
--- a/profiles/misc/SM245B.icc.txt
+++ b/profiles/misc/SM245B.icc.txt
@@ -27,9 +27,9 @@
   ~= : 2.200449, 0.9998741, 0.0001117428, 0.00389105, 0.01176471, -2.288818e-05, 0 (Max error: 0.00392157) (D-gap: -1.0682e-05)
 Best : 2.200449, 0.9998741, 0.0001117428, 0.00389105, 0.01176471, -2.288818e-05, 0 (D-gap: -1.0682e-05)
 Inv  : 0.4544528, 1.000282, 2.289464e-05, 257, 4.577707e-05, -0.0001068115, -0 (D-gap: 0.000952361)
- XYZ : | 0.458724976 0.322952271 0.168487549 |
-       | 0.232894897 0.697387695 0.0697174072 |
-       | 0.0141143799 0.149780273 0.92376709 |
+ XYZ : | 0.45872498 0.32295227 0.16848755 |
+       | 0.2328949 0.6973877 0.06971741 |
+       | 0.01411438 0.14978027 0.9237671 |
  !!! This does not appear to use a D50 whitepoint, rather [0.950165 1 1.08766]
 252 random bytes transformed to linear XYZD50 bytes:
 	2f5645 99d32b 476620 1c0e3e 211160 604a0b 428637
diff --git a/profiles/misc/ThinkpadX1YogaV2.icc.txt b/profiles/misc/ThinkpadX1YogaV2.icc.txt
index 84a2baa..40e4be5 100644
--- a/profiles/misc/ThinkpadX1YogaV2.icc.txt
+++ b/profiles/misc/ThinkpadX1YogaV2.icc.txt
@@ -25,9 +25,9 @@
 bTRC : 2.199997, 1, 0, 0, 0, 0, 0
 Best : 2.199997, 1, 0, 0, 0, 0, 0
 Inv  : 0.4545461, 1, -0, 0, 0, 0, 0
- XYZ : | 0.566986084 0.260650635 0.136566162 |
-       | 0.258071899 0.684646606 0.0572814941 |
-       | 0.000442504883 0.0444030762 0.780044556 |
+ XYZ : | 0.5669861 0.26065063 0.13656616 |
+       | 0.2580719 0.6846466 0.057281494 |
+       | 0.00044250488 0.044403076 0.78004456 |
 252 random bytes transformed to linear XYZD50 bytes:
 	265331 9ad40e 456610 1d0e34 211151 704e04 35841f
 	88422f 201811 864e25 ada809 4c6005 23432b 4d2899
diff --git a/profiles/misc/XPS13_9360.icc.txt b/profiles/misc/XPS13_9360.icc.txt
index 8988feb..ffa5450 100644
--- a/profiles/misc/XPS13_9360.icc.txt
+++ b/profiles/misc/XPS13_9360.icc.txt
@@ -25,9 +25,9 @@
 bTRC : 2.199997, 1, 0, 0, 0, 0, 0
 Best : 2.199997, 1, 0, 0, 0, 0, 0
 Inv  : 0.4545461, 1, -0, 0, 0, 0, 0
- XYZ : | 0.437957764 0.384231567 0.14201355 |
-       | 0.223083496 0.716873169 0.0600585938 |
-       | 0.0145111084 0.0972595215 0.713119507 |
+ XYZ : | 0.43795776 0.38423157 0.14201355 |
+       | 0.2230835 0.71687317 0.060058594 |
+       | 0.014511108 0.09725952 0.7131195 |
 252 random bytes transformed to linear XYZD50 bytes:
 	355733 a5d71d 4d6817 190d30 1e104a 5f4908 4d8a27
 	6c3a2f 1c1711 6f4826 a2a514 4f610c 2d452d 44268e
diff --git a/profiles/misc/calibrated_nonzero_black.icc.txt b/profiles/misc/calibrated_nonzero_black.icc.txt
index 3fcf916..4555562 100644
--- a/profiles/misc/calibrated_nonzero_black.icc.txt
+++ b/profiles/misc/calibrated_nonzero_black.icc.txt
@@ -26,9 +26,9 @@
   ~= : 2.199834, 0.9994049, -3.508671e-05, 0.3307393, 0.003921569, 0.001289368, 0 (Max error: 0.00474447) (D-gap: -2.67371e-06)
 Best : 2.199834, 0.9994049, -3.508671e-05, 0.3307393, 0.003921569, 0.001289368, 0 (D-gap: -2.67371e-06)
 Inv  : 0.4545797, 1.001312, -0.00129106, 3.02353, 0.001297017, 1.907349e-05, -0 (D-gap: 0.000822901)
- XYZ : | 0.43661499 0.385345459 0.142242432 |
-       | 0.222122192 0.718399048 0.059463501 |
-       | 0.0129547119 0.0965423584 0.715393066 |
+ XYZ : | 0.436615 0.38534546 0.14224243 |
+       | 0.22212219 0.71839905 0.0594635 |
+       | 0.012954712 0.09654236 0.71539307 |
 252 random bytes transformed to linear XYZD50 bytes:
 	355834 a5d71d 4d6817 1a0e30 1e104b 5f4a08 4e8a27
 	6c3a2f 1d1711 6e4826 a2a514 4f610c 2d462d 44268e
diff --git a/profiles/misc/sRGB_Calibrated_Heterogeneous.icc.txt b/profiles/misc/sRGB_Calibrated_Heterogeneous.icc.txt
index 7ed0521..f2fd642 100644
--- a/profiles/misc/sRGB_Calibrated_Heterogeneous.icc.txt
+++ b/profiles/misc/sRGB_Calibrated_Heterogeneous.icc.txt
@@ -23,9 +23,9 @@
   ~= : 2.261965, 1.004639, -0.00400689, 0.0077821, 0.01960785, 7.629395e-05, 0 (Max error: 0.00375706) (D-gap: 6.62589e-06)
 Best : 2.231975, 1.004669, -0.004109052, 0.01206226, 0.03921569, -8.392334e-05, 0 (D-gap: 1.6209e-05)
 Inv  : 0.4480337, 0.9896812, 8.305736e-05, 82.90323, 0.0004730297, 0.004089355, -0 (D-gap: -0.000455979)
- XYZ : | 0.449279785 0.382583618 0.132339478 |
-       | 0.224472046 0.722351074 0.0531768799 |
-       | 0.00112915039 0.0535583496 0.770217896 |
+ XYZ : | 0.4492798 0.38258362 0.13233948 |
+       | 0.22447205 0.7223511 0.05317688 |
+       | 0.0011291504 0.05355835 0.7702179 |
 252 random bytes transformed to linear XYZD50 bytes:
 	34572f a6d810 4c6710 180c31 1c0f4d 604904 4c8a1f
 	6e3a2c 1b160f 704723 a5a60a 4e6006 2c452a 422497
diff --git a/profiles/misc/sRGB_Calibrated_Homogeneous.icc.txt b/profiles/misc/sRGB_Calibrated_Homogeneous.icc.txt
index 0112400..ebf4698 100644
--- a/profiles/misc/sRGB_Calibrated_Homogeneous.icc.txt
+++ b/profiles/misc/sRGB_Calibrated_Homogeneous.icc.txt
@@ -24,9 +24,9 @@
   ~= : 2.41619, 0.9430695, 0.06005336, 0.0774319, 0.03921569, -0.0003433228, 0 (Max error: 0.00315094) (D-gap: 0.000186293)
 Best : 2.41619, 0.9430695, 0.06005336, 0.0774319, 0.03921569, -0.0003433228, 0 (D-gap: 0.000186293)
 Inv  : 0.4138747, 1.152328, 0.0003956206, 12.91457, 0.003036545, -0.06364441, -0 (D-gap: -0.00222457)
- XYZ : | 0.435470581 0.388549805 0.140197754 |
-       | 0.221725464 0.721969604 0.0563049316 |
-       | 0.0134887695 0.0879211426 0.723480225 |
+ XYZ : | 0.43547058 0.3885498 0.14019775 |
+       | 0.22172546 0.7219696 0.05630493 |
+       | 0.0134887695 0.08792114 0.7234802 |
 252 random bytes transformed to linear XYZD50 bytes:
 	355733 a6d91c 4d6817 1a0e30 1e114b 5f4909 4e8b26
 	6c3b2f 1d1812 6e4826 a3a513 4e600b 2e452c 442690
diff --git a/profiles/misc/sRGB_HP.icc.txt b/profiles/misc/sRGB_HP.icc.txt
index 62fb494..599c588 100644
--- a/profiles/misc/sRGB_HP.icc.txt
+++ b/profiles/misc/sRGB_HP.icc.txt
@@ -32,9 +32,9 @@
 TRCs ≈ sRGB
 Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (D-gap: 0.000180295)
 Inv  : 0.4166695, 1.13739, -0.0002039236, 12.86827, 0.003494316, -0.05495453, -0 (D-gap: -0.00216441)
- XYZ : | 0.436065674 0.385147095 0.143066406 |
-       | 0.222488403 0.716873169 0.0606079102 |
-       | 0.0139160156 0.097076416 0.714096069 |
+ XYZ : | 0.43606567 0.3851471 0.1430664 |
+       | 0.2224884 0.71687317 0.06060791 |
+       | 0.013916016 0.097076416 0.71409607 |
 252 random bytes transformed to linear XYZD50 bytes:
 	345632 a4d61e 4c6617 190e2f 1e1149 5e4809 4d8927
 	6c3b2e 1c1711 6e4726 a1a315 4d5f0c 2d442c 44268d
diff --git a/profiles/misc/sRGB_HP_2.icc.txt b/profiles/misc/sRGB_HP_2.icc.txt
index f16cb66..3dc0e47 100644
--- a/profiles/misc/sRGB_HP_2.icc.txt
+++ b/profiles/misc/sRGB_HP_2.icc.txt
@@ -32,9 +32,9 @@
 TRCs ≈ sRGB
 Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (D-gap: 0.000180295)
 Inv  : 0.4166695, 1.13739, -0.0002039236, 12.86827, 0.003494316, -0.05495453, -0 (D-gap: -0.00216441)
- XYZ : | 0.436065674 0.385147095 0.143066406 |
-       | 0.222488403 0.716873169 0.0606079102 |
-       | 0.0139160156 0.097076416 0.714096069 |
+ XYZ : | 0.43606567 0.3851471 0.1430664 |
+       | 0.2224884 0.71687317 0.06060791 |
+       | 0.013916016 0.097076416 0.71409607 |
 252 random bytes transformed to linear XYZD50 bytes:
 	345632 a4d61e 4c6617 190e2f 1e1149 5e4809 4d8927
 	6c3b2e 1c1711 6e4726 a1a315 4d5f0c 2d442c 44268d
diff --git a/profiles/misc/sRGB_black_scaled.icc.txt b/profiles/misc/sRGB_black_scaled.icc.txt
index 87646e8..52abfef 100644
--- a/profiles/misc/sRGB_black_scaled.icc.txt
+++ b/profiles/misc/sRGB_black_scaled.icc.txt
@@ -31,9 +31,9 @@
 TRCs ≈ sRGB
 Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (D-gap: 0.000180295)
 Inv  : 0.4166695, 1.13739, -0.0002039236, 12.86827, 0.003494316, -0.05495453, -0 (D-gap: -0.00216441)
- XYZ : | 0.436065674 0.385147095 0.143066406 |
-       | 0.222488403 0.716873169 0.0606079102 |
-       | 0.0139160156 0.097076416 0.714096069 |
+ XYZ : | 0.43606567 0.3851471 0.1430664 |
+       | 0.2224884 0.71687317 0.06060791 |
+       | 0.013916016 0.097076416 0.71409607 |
 252 random bytes transformed to linear XYZD50 bytes:
 	345632 a4d61e 4c6617 190e2f 1e1149 5e4809 4d8927
 	6c3b2e 1c1711 6e4726 a1a315 4d5f0c 2d442c 44268d
diff --git a/profiles/misc/sRGB_lcms.icc.txt b/profiles/misc/sRGB_lcms.icc.txt
index ba5dc39..504a974 100644
--- a/profiles/misc/sRGB_lcms.icc.txt
+++ b/profiles/misc/sRGB_lcms.icc.txt
@@ -23,9 +23,9 @@
 TRCs ≈ sRGB
 Best : 2.399994, 0.9478607, 0.05213928, 0.07739258, 0.04045105, 0, 0 (D-gap: 8.08388e-07) (~sRGB)
 Inv  : 0.4166677, 1.137306, -0, 12.92114, 0.003130611, -0.05498505, -0 (D-gap: 1.33514e-05)
- XYZ : | 0.435852051 0.3853302 0.14302063 |
-       | 0.222381592 0.717041016 0.0605926514 |
-       | 0.0139160156 0.0971374512 0.71383667 |
+ XYZ : | 0.43585205 0.3853302 0.14302063 |
+       | 0.22238159 0.717041 0.06059265 |
+       | 0.013916016 0.09713745 0.71383667 |
 252 random bytes transformed to linear XYZD50 bytes:
 	345632 a4d61e 4c6617 190e2f 1e1149 5e4809 4d8927
 	6c3b2e 1c1711 6e4726 a1a315 4d5f0c 2d442c 44268d
diff --git a/profiles/mobile/Display_P3_LUT.icc.txt b/profiles/mobile/Display_P3_LUT.icc.txt
index 366f4e5..bab9c10 100644
--- a/profiles/mobile/Display_P3_LUT.icc.txt
+++ b/profiles/mobile/Display_P3_LUT.icc.txt
@@ -26,9 +26,9 @@
 TRCs ≈ sRGB
 Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (D-gap: 0.000180295)
 Inv  : 0.4166695, 1.13739, -0.0002039236, 12.86827, 0.003494316, -0.05495453, -0 (D-gap: -0.00216441)
- XYZ : | 0.51512146 0.291976929 0.157104492 |
-       | 0.241195679 0.692245483 0.0665740967 |
-       | -0.00103759766 0.041885376 0.784072876 |
+ XYZ : | 0.51512146 0.29197693 0.15710449 |
+       | 0.24119568 0.6922455 0.0665741 |
+       | -0.0010375977 0.041885376 0.7840729 |
 252 random bytes transformed to linear XYZD50 bytes:
 	2b5330 99d30e 456411 1d0f33 221250 674b04 3c841f
 	7d3f2e 1e1811 7c4b24 a5a409 4a5e05 26432b 4c2998
diff --git a/profiles/mobile/Display_P3_parametric.icc.txt b/profiles/mobile/Display_P3_parametric.icc.txt
index cf836f7..b4f0427 100644
--- a/profiles/mobile/Display_P3_parametric.icc.txt
+++ b/profiles/mobile/Display_P3_parametric.icc.txt
@@ -23,9 +23,9 @@
 TRCs ≈ sRGB
 Best : 2.399994, 0.9478607, 0.05213928, 0.07739258, 0.04045105, 0, 0 (D-gap: 8.08388e-07) (~sRGB)
 Inv  : 0.4166677, 1.137306, -0, 12.92114, 0.003130611, -0.05498505, -0 (D-gap: 1.33514e-05)
- XYZ : | 0.51512146 0.291976929 0.157104492 |
-       | 0.241195679 0.692245483 0.0665740967 |
-       | -0.00103759766 0.041885376 0.784072876 |
+ XYZ : | 0.51512146 0.29197693 0.15710449 |
+       | 0.24119568 0.6922455 0.0665741 |
+       | -0.0010375977 0.041885376 0.7840729 |
 252 random bytes transformed to linear XYZD50 bytes:
 	2b5330 99d30e 456411 1d0f33 221250 674b04 3c841f
 	7d3f2e 1e1811 7c4b24 a5a409 4a5e05 26432b 4c2998
diff --git a/profiles/mobile/iPhone7p.icc.txt b/profiles/mobile/iPhone7p.icc.txt
index aa9a4a6..e30a69b 100644
--- a/profiles/mobile/iPhone7p.icc.txt
+++ b/profiles/mobile/iPhone7p.icc.txt
@@ -22,9 +22,9 @@
 TRCs ≈ sRGB
 Best : 2.399994, 0.947998, 0.05200195, 0.07699585, 0.03900146, 0, 0 (D-gap: 4.87827e-06) (~sRGB)
 Inv  : 0.4166677, 1.136909, -0, 12.98771, 0.003002951, -0.05482483, -0 (D-gap: -3.19481e-05)
- XYZ : | 0.51512146 0.291976929 0.157104492 |
-       | 0.241195679 0.692245483 0.0665740967 |
-       | -0.00105285645 0.041885376 0.784072876 |
+ XYZ : | 0.51512146 0.29197693 0.15710449 |
+       | 0.24119568 0.6922455 0.0665741 |
+       | -0.0010528564 0.041885376 0.7840729 |
 252 random bytes transformed to linear XYZD50 bytes:
 	2b5330 99d30e 456411 1d0f33 22124f 674b04 3c841f
 	7d3f2e 1e1811 7c4b24 a5a409 4a5e05 26432b 4c2998
diff --git a/profiles/mobile/sRGB_LUT.icc.txt b/profiles/mobile/sRGB_LUT.icc.txt
index 77fa279..ff7a567 100644
--- a/profiles/mobile/sRGB_LUT.icc.txt
+++ b/profiles/mobile/sRGB_LUT.icc.txt
@@ -26,9 +26,9 @@
 TRCs ≈ sRGB
 Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (D-gap: 0.000180295)
 Inv  : 0.4166695, 1.13739, -0.0002039236, 12.86827, 0.003494316, -0.05495453, -0 (D-gap: -0.00216441)
- XYZ : | 0.436035156 0.385116577 0.143051147 |
-       | 0.222488403 0.716903687 0.0606079102 |
-       | 0.0139160156 0.0970611572 0.713912964 |
+ XYZ : | 0.43603516 0.38511658 0.14305115 |
+       | 0.2224884 0.7169037 0.06060791 |
+       | 0.013916016 0.09706116 0.71391296 |
 252 random bytes transformed to linear XYZD50 bytes:
 	345632 a4d61e 4c6617 190e2f 1e1149 5e4809 4d8927
 	6c3b2e 1c1711 6e4726 a1a315 4d5f0c 2d442c 44268d
diff --git a/profiles/mobile/sRGB_parametric.icc.txt b/profiles/mobile/sRGB_parametric.icc.txt
index d97c0a5..2e7e426 100644
--- a/profiles/mobile/sRGB_parametric.icc.txt
+++ b/profiles/mobile/sRGB_parametric.icc.txt
@@ -23,9 +23,9 @@
 TRCs ≈ sRGB
 Best : 2.399994, 0.9478607, 0.05213928, 0.07739258, 0.04045105, 0, 0 (D-gap: 8.08388e-07) (~sRGB)
 Inv  : 0.4166677, 1.137306, -0, 12.92114, 0.003130611, -0.05498505, -0 (D-gap: 1.33514e-05)
- XYZ : | 0.436035156 0.385116577 0.143051147 |
-       | 0.222488403 0.716903687 0.0606079102 |
-       | 0.0139160156 0.0970611572 0.713912964 |
+ XYZ : | 0.43603516 0.38511658 0.14305115 |
+       | 0.2224884 0.7169037 0.06060791 |
+       | 0.013916016 0.09706116 0.71391296 |
 252 random bytes transformed to linear XYZD50 bytes:
 	345632 a4d61e 4c6617 190e2f 1e1149 5e4809 4d8927
 	6c3b2e 1c1711 6e4726 a1a315 4d5f0c 2d442c 44268d
diff --git a/profiles/sRGB_Facebook.icc.txt b/profiles/sRGB_Facebook.icc.txt
index 68e81d8..0f9c600 100644
--- a/profiles/sRGB_Facebook.icc.txt
+++ b/profiles/sRGB_Facebook.icc.txt
@@ -25,9 +25,9 @@
 TRCs ≈ sRGB
 Best : 2.387424, 0.9516296, 0.04789746, 0.07743954, 0.04, 0.0003929138, 0 (D-gap: 0.000151274) (~sRGB)
 Inv  : 0.4188614, 1.125809, -0.0004423458, 12.9133, 0.003097581, -0.05030823, -0 (D-gap: -0.00200752)
- XYZ : | 0.436065674 0.385147095 0.143066406 |
-       | 0.222488403 0.716873169 0.0606079102 |
-       | 0.0139160156 0.097076416 0.714096069 |
+ XYZ : | 0.43606567 0.3851471 0.1430664 |
+       | 0.2224884 0.71687317 0.06060791 |
+       | 0.013916016 0.097076416 0.71409607 |
 252 random bytes transformed to linear XYZD50 bytes:
 	345633 a4d61e 4c6617 190e2f 1e1149 5e4809 4d8927
 	6c3b2e 1c1711 6e4726 a1a315 4d5f0c 2d442c 44268d
diff --git a/test_only.c b/test_only.c
index 4a014c3..a9ae0a7 100644
--- a/test_only.c
+++ b/test_only.c
@@ -15,6 +15,19 @@
 #include <stdlib.h>
 #include <string.h>
 
+static void print_shortest_float(FILE* fp, float x) {
+    char buf[80];
+    int digits;
+    for (digits = 0; digits < 12; digits++) {
+        snprintf(buf, sizeof(buf), "%.*f", digits, x);
+        float back;
+        if (1 != sscanf(buf, "%f", &back) || back == x) {
+            break;
+        }
+    }
+    fprintf(fp, "%.*f", digits, x);
+}
+
 static void dump_transform_to_XYZD50(FILE* fp,
                                      const skcms_ICCProfile* profile) {
     // Interpret as RGB_888 if data color space is RGB or GRAY, RGBA_8888 if CMYK.
@@ -192,13 +205,21 @@
 
     if (profile->has_toXYZD50) {
         skcms_Matrix3x3 toXYZ = profile->toXYZD50;
-        fprintf(fp, " XYZ : | %.9g %.9g %.9g |\n"
-                    "       | %.9g %.9g %.9g |\n"
-                    "       | %.9g %.9g %.9g |\n",
-               toXYZ.vals[0][0], toXYZ.vals[0][1], toXYZ.vals[0][2],
-               toXYZ.vals[1][0], toXYZ.vals[1][1], toXYZ.vals[1][2],
-               toXYZ.vals[2][0], toXYZ.vals[2][1], toXYZ.vals[2][2]);
 
+        fprintf(fp, " XYZ : | ");
+        print_shortest_float(fp, toXYZ.vals[0][0]); fprintf(fp, " ");
+        print_shortest_float(fp, toXYZ.vals[0][1]); fprintf(fp, " ");
+        print_shortest_float(fp, toXYZ.vals[0][2]); fprintf(fp, " |\n");
+
+        fprintf(fp, "       | ");
+        print_shortest_float(fp, toXYZ.vals[1][0]); fprintf(fp, " ");
+        print_shortest_float(fp, toXYZ.vals[1][1]); fprintf(fp, " ");
+        print_shortest_float(fp, toXYZ.vals[1][2]); fprintf(fp, " |\n");
+
+        fprintf(fp, "       | ");
+        print_shortest_float(fp, toXYZ.vals[2][0]); fprintf(fp, " ");
+        print_shortest_float(fp, toXYZ.vals[2][1]); fprintf(fp, " ");
+        print_shortest_float(fp, toXYZ.vals[2][2]); fprintf(fp, " |\n");
 
         float white_x = toXYZ.vals[0][0] + toXYZ.vals[0][1] + toXYZ.vals[0][2],
               white_y = toXYZ.vals[1][0] + toXYZ.vals[1][1] + toXYZ.vals[1][2],