print matrices as %.9g

The various printf() we use don't agree in rounding.
It's easy to get Emscripten or MSVC to disagree with
the rest.

I have tried:
  - %a
  - %g
  - %g forced to round up
  - %.8f
  - %.10f
  - %.11f

Change-Id: I6cdfd2bfc588f0e174f230bf2c282de11cb1414b
Reviewed-on: https://skia-review.googlesource.com/c/skcms/+/199327
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 6876c33..86d2ef3 100644
--- a/profiles/color.org/Lower_Left.icc.txt
+++ b/profiles/color.org/Lower_Left.icc.txt
@@ -22,8 +22,8 @@
 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.060607910 0.222488403 |
-       | 0.097061157 0.713912964 0.013916016 |
+       | 0.716903687 0.0606079102 0.222488403 |
+       | 0.0970611572 0.713912964 0.0139160156 |
 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 fbc4bcb..b44f8ff 100644
--- a/profiles/color.org/Lower_Right.icc.txt
+++ b/profiles/color.org/Lower_Right.icc.txt
@@ -22,8 +22,8 @@
 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.311111450 0.625671387 0.063217163 |
-       | 0.019470215 0.060867310 0.744567871 |
+       | 0.31111145 0.625671387 0.0632171631 |
+       | 0.0194702148 0.0608673096 0.744567871 |
 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/Upper_Left.icc.txt b/profiles/color.org/Upper_Left.icc.txt
index 18f32c6..f83bb3e 100644
--- a/profiles/color.org/Upper_Left.icc.txt
+++ b/profiles/color.org/Upper_Left.icc.txt
@@ -25,9 +25,9 @@
   ~= : 2.360165, 0.04138994, 0.2937223, 1.290439, 0.05490196, 0.01436996, 0 (Max error: 15.916) (D-gap: 2.18004e-05)
   M2 : 16-bit table with 256 entries
   ~= : 2.360165, 0.04138994, 0.2937223, 1.290439, 0.05490196, 0.01436996, 0 (Max error: 15.916) (D-gap: 2.18004e-05)
-Mtrx : | 0.959396958 0.847338140 0.314814538 -0.503105104 |
-       | 0.489433438 1.577521086 0.133390293 -0.521812081 |
-       | 0.030578148 0.213589266 1.570868373 -0.430443883 |
+Mtrx : | 0.959396958 0.84733814 0.314814538 -0.503105104 |
+       | 0.489433438 1.57752109 0.133390293 -0.521812081 |
+       | 0.0305781476 0.213589266 1.57086837 -0.430443883 |
  "B" : 3 outputs
   B0 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
   B1 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
diff --git a/profiles/color.org/Upper_Right.icc.txt b/profiles/color.org/Upper_Right.icc.txt
index 02c3bef..d851cde 100644
--- a/profiles/color.org/Upper_Right.icc.txt
+++ b/profiles/color.org/Upper_Right.icc.txt
@@ -24,9 +24,9 @@
   M0 : 16-bit table with 256 entries
   M1 : 16-bit table with 256 entries
   M2 : 16-bit table with 256 entries
-Mtrx : | 2.202053785 1.944855571 0.722553670 -0.733356714 |
-       | 1.123395920 3.620794296 0.306147665 -0.760608494 |
-       | 0.070189357 0.490257412 3.605535746 -0.627431810 |
+Mtrx : | 2.20205379 1.94485557 0.72255367 -0.733356714 |
+       | 1.12339592 3.6207943 0.306147665 -0.760608494 |
+       | 0.0701893568 0.490257412 3.60553575 -0.62743181 |
  "B" : 3 outputs
   B0 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
   B1 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
diff --git a/profiles/color.org/sRGB2014.icc.txt b/profiles/color.org/sRGB2014.icc.txt
index 3ca57ad..114de61 100644
--- a/profiles/color.org/sRGB2014.icc.txt
+++ b/profiles/color.org/sRGB2014.icc.txt
@@ -32,8 +32,8 @@
 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.060607910 |
-       | 0.013916016 0.097076416 0.714096069 |
+       | 0.222488403 0.716873169 0.0606079102 |
+       | 0.0139160156 0.097076416 0.714096069 |
 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/color.org/sRGB_ICC_v4_Appearance.icc.txt b/profiles/color.org/sRGB_ICC_v4_Appearance.icc.txt
index eb9e78a..2948486 100644
--- a/profiles/color.org/sRGB_ICC_v4_Appearance.icc.txt
+++ b/profiles/color.org/sRGB_ICC_v4_Appearance.icc.txt
@@ -25,9 +25,9 @@
   M0 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
   M1 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
   M2 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
-Mtrx : | 1.000000000 0.000000000 0.000000000 0.000000000 |
-       | 0.000000000 1.000000000 0.000000000 0.000000000 |
-       | 0.000000000 0.000000000 1.000000000 0.000000000 |
+Mtrx : | 1 0 0 0 |
+       | 0 1 0 0 |
+       | 0 0 1 0 |
  "B" : 3 outputs
   B0 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
   B1 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
diff --git a/profiles/color.org/sRGB_v4_ICC_preference.icc.txt b/profiles/color.org/sRGB_v4_ICC_preference.icc.txt
index ef6bf92..0b588fd 100644
--- a/profiles/color.org/sRGB_v4_ICC_preference.icc.txt
+++ b/profiles/color.org/sRGB_v4_ICC_preference.icc.txt
@@ -25,9 +25,9 @@
   M0 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
   M1 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
   M2 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
-Mtrx : | 1.000000000 0.000000000 0.000000000 0.000000000 |
-       | 0.000000000 1.000000000 0.000000000 0.000000000 |
-       | 0.000000000 0.000000000 1.000000000 0.000000000 |
+Mtrx : | 1 0 0 0 |
+       | 0 1 0 0 |
+       | 0 0 1 0 |
  "B" : 3 outputs
   B0 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
   B1 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
diff --git a/profiles/fuzz/infinite_roundtrip.icc.txt b/profiles/fuzz/infinite_roundtrip.icc.txt
index b80471e..f71b537 100644
--- a/profiles/fuzz/infinite_roundtrip.icc.txt
+++ b/profiles/fuzz/infinite_roundtrip.icc.txt
@@ -19,9 +19,9 @@
 rTRC : 1.996582, 8224.125, 8224.125, 8224.125, 0, 8224.125, 0
 gTRC : 1.996582, 8224.125, 8224.125, 8224.125, 0, 8224.125, 0
 bTRC : 1.996582, 8224.125, 8224.125, 8224.125, 0, 8224.125, 0
- XYZ : | 8224.125000000 8224.125000000 8224.125000000 |
-       | 8224.125000000 8224.125000000 8224.125000000 |
-       | 8224.125000000 8224.125000000 8224.125000000 |
+ XYZ : | 8224.125 8224.125 8224.125 |
+       | 8224.125 8224.125 8224.125 |
+       | 8224.125 8224.125 8224.125 |
  !!! This does not appear to use a D50 whitepoint, rather [24672.4 24672.4 24672.4]
 252 random bytes transformed to linear XYZD50 bytes:
 	ffffff ffffff ffffff ffffff ffffff ffffff ffffff
diff --git a/profiles/fuzz/inverse_tf_adb_negative.icc.txt b/profiles/fuzz/inverse_tf_adb_negative.icc.txt
index 4c507af..7def0f9 100644
--- a/profiles/fuzz/inverse_tf_adb_negative.icc.txt
+++ b/profiles/fuzz/inverse_tf_adb_negative.icc.txt
@@ -20,9 +20,9 @@
 rTRC : 16-bit table with 1024 entries
 gTRC : 16-bit table with 1024 entries
 bTRC : 16-bit table with 1024 entries
- XYZ : | 8224.125000000 8224.125000000 8224.125000000 |
-       | 8224.125000000 8224.125000000 8224.125000000 |
-       | -0.003417969 8224.125000000 8224.125000000 |
+ XYZ : | 8224.125 8224.125 8224.125 |
+       | 8224.125 8224.125 8224.125 |
+       | -0.00341796875 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 d1a5c38..8785243 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.000000000 0.000000000 |
-       | 0.000000000 1.000000000 0.000000000 |
-       | 0.000000000 0.000000000 0.824905396 |
+ XYZ : | 0.964202881 0 0 |
+       | 0 1 0 |
+       | 0 0 0.824905396 |
 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 1eb7ec4..d5d1c61 100644
--- a/profiles/fuzz/inverse_tf_not_invertible.icc.txt
+++ b/profiles/fuzz/inverse_tf_not_invertible.icc.txt
@@ -24,8 +24,8 @@
 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.060607910 |
-       | 0.013916016 0.097061157 0.713989258 |
+       | 0.222503662 0.716873169 0.0606079102 |
+       | 0.0139160156 0.0970611572 0.713989258 |
 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/one_d_clut.icc.txt b/profiles/fuzz/one_d_clut.icc.txt
index b6ebfc3..fcb0702 100644
--- a/profiles/fuzz/one_d_clut.icc.txt
+++ b/profiles/fuzz/one_d_clut.icc.txt
@@ -23,9 +23,9 @@
   ~= : 13.98541, 0.5743599, 0.6578368, 0.9400777, 0.05882353, 0.05073166, 0 (Max error: 0.410614) (D-gap: 0.0011942)
   M1 : 16-bit table with 256 entries
   M2 : 16-bit table with 256 entries
-Mtrx : | 2.202053785 1.944855571 4.722492695 -0.733356714 |
-       | 1.123395920 3.620794296 0.306147665 -0.760608494 |
-       | 0.070189357 0.490257412 3.605535746 -0.627431810 |
+Mtrx : | 2.20205379 1.94485557 4.72249269 -0.733356714 |
+       | 1.12339592 3.6207943 0.306147665 -0.760608494 |
+       | 0.0701893568 0.490257412 3.60553575 -0.62743181 |
  "B" : 3 outputs
   B0 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
   B1 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
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 8ba4189..923f084 100644
--- a/profiles/fuzz/polytf_big_float_to_int_cast.icc.txt
+++ b/profiles/fuzz/polytf_big_float_to_int_cast.icc.txt
@@ -19,9 +19,9 @@
 rTRC : 1.525879e-05, 0.003890991, -32768, 8224.125, 0, 0, 0
 gTRC : 1.525879e-05, 0.003890991, -32768, 8224.125, 0, 0, 0
 bTRC : 0, 1, 0, 0, 0, 0, 0
- XYZ : | 8224.125000000 8224.125000000 8224.125000000 |
-       | 8224.125000000 8224.125000000 8224.125000000 |
-       | 8224.125000000 -223.874511719 28769.447265625 |
+ XYZ : | 8224.125 8224.125 8224.125 |
+       | 8224.125 8224.125 8224.125 |
+       | 8224.125 -223.874512 28769.4473 |
  !!! 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/polytf_nan_after_update.icc.txt b/profiles/fuzz/polytf_nan_after_update.icc.txt
index c950fda..36d62df 100644
--- a/profiles/fuzz/polytf_nan_after_update.icc.txt
+++ b/profiles/fuzz/polytf_nan_after_update.icc.txt
@@ -19,9 +19,9 @@
 rTRC : 16-bit table with 256 entries
 gTRC : 16-bit table with 256 entries
 bTRC : 16-bit table with 256 entries
- XYZ : | 8224.125000000 8224.125000000 8224.125000000 |
-       | 8224.125000000 8224.125000000 8224.125000000 |
-       | 8224.125000000 8224.125000000 8224.125000000 |
+ XYZ : | 8224.125 8224.125 8224.125 |
+       | 8224.125 8224.125 8224.125 |
+       | 8224.125 8224.125 8224.125 |
  !!! This does not appear to use a D50 whitepoint, rather [24672.4 24672.4 24672.4]
 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 8577aab..ae69d1a 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.000000000 0.000000000 |
-       | 0.000000000 1.000488281 0.000000000 |
-       | 0.000000000 0.000000000 0.832519531 |
+ XYZ : | 0.961425781 0 0 |
+       | 0 1.00048828 0 |
+       | 0 0 0.832519531 |
 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 74b6a42..3a43748 100644
--- a/profiles/misc/AdobeColorSpin.icc.txt
+++ b/profiles/misc/AdobeColorSpin.icc.txt
@@ -21,8 +21,8 @@
 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.063217163 0.311111450 |
-       | 0.060867310 0.744552612 0.019470215 |
+       | 0.625671387 0.0632171631 0.31111145 |
+       | 0.0608673096 0.744552612 0.0194702148 |
 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 fbc4bcb..b44f8ff 100644
--- a/profiles/misc/AdobeRGB.icc.txt
+++ b/profiles/misc/AdobeRGB.icc.txt
@@ -22,8 +22,8 @@
 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.311111450 0.625671387 0.063217163 |
-       | 0.019470215 0.060867310 0.744567871 |
+       | 0.31111145 0.625671387 0.0632171631 |
+       | 0.0194702148 0.0608673096 0.744567871 |
 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 cf3509f..d75d6ff 100644
--- a/profiles/misc/Apple_Color_LCD.icc.txt
+++ b/profiles/misc/Apple_Color_LCD.icc.txt
@@ -33,8 +33,8 @@
 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.049072266 |
-       | 0.005477905 0.077972412 0.741455078 |
+       | 0.224761963 0.726165771 0.0490722656 |
+       | 0.00547790527 0.0779724121 0.741455078 |
 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/Apple_Wide_Color.icc.txt b/profiles/misc/Apple_Wide_Color.icc.txt
index 161a776..34a5980 100644
--- a/profiles/misc/Apple_Wide_Color.icc.txt
+++ b/profiles/misc/Apple_Wide_Color.icc.txt
@@ -24,9 +24,9 @@
   M0 : 2.399994, 0.9479065, 0.05209351, 0.07739258, 0.03930664, 0, 0 (D-gap: -3.51667e-06) (~sRGB)
   M1 : 2.399994, 0.9479065, 0.05209351, 0.07739258, 0.03930664, 0, 0 (D-gap: -3.51667e-06) (~sRGB)
   M2 : 2.399994, 0.9479065, 0.05209351, 0.07739258, 0.03930664, 0, 0 (D-gap: -3.51667e-06) (~sRGB)
-Mtrx : | 0.507255435 0.301234424 0.155698314 0.000000000 |
-       | 0.239345714 0.694691539 0.065977998 0.000000000 |
-       | 0.000457757 0.047393076 0.777148783 0.000000000 |
+Mtrx : | 0.507255435 0.301234424 0.155698314 0 |
+       | 0.239345714 0.694691539 0.0659779981 0 |
+       | 0.000457756687 0.0473930761 0.777148783 0 |
  "B" : 3 outputs
   B0 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
   B1 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
diff --git a/profiles/misc/BenQ_GL2450.icc.txt b/profiles/misc/BenQ_GL2450.icc.txt
index 77b7591..f026def 100644
--- a/profiles/misc/BenQ_GL2450.icc.txt
+++ b/profiles/misc/BenQ_GL2450.icc.txt
@@ -29,8 +29,8 @@
 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.065093994 |
-       | 0.010299683 0.061203003 1.014602661 |
+       | 0.193893433 0.741104126 0.0650939941 |
+       | 0.0102996826 0.0612030029 1.01460266 |
  !!! 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 f912e86..fead547 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.143020630 |
-       | 0.231887817 0.681533813 0.086563110 |
-       | 0.009918213 0.092864990 0.722106934 |
+ XYZ : | 0.465194702 0.355957031 0.14302063 |
+       | 0.231887817 0.681533813 0.0865631104 |
+       | 0.00991821289 0.0928649902 0.722106934 |
  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 2530d1d..1400c4f 100644
--- a/profiles/misc/Color_Spin_Gamma_18.icc.txt
+++ b/profiles/misc/Color_Spin_Gamma_18.icc.txt
@@ -21,8 +21,8 @@
 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.060607910 0.222488403 |
-       | 0.097061157 0.713912964 0.013916016 |
+       | 0.716903687 0.0606079102 0.222488403 |
+       | 0.0970611572 0.713912964 0.0139160156 |
 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 54d5827..7b5db8d 100644
--- a/profiles/misc/DisplayCal_ASUS_NonMonotonic.icc.txt
+++ b/profiles/misc/DisplayCal_ASUS_NonMonotonic.icc.txt
@@ -39,8 +39,8 @@
 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.729843140 0.052520752 |
-       | 0.002655029 0.064407349 0.757827759 |
+       | 0.217636108 0.72984314 0.052520752 |
+       | 0.0026550293 0.0644073486 0.757827759 |
  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 5fe126e..217ed66 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.000000000 0.000000000 |
-       | 0.000000000 1.000000000 0.000000000 |
-       | 0.000000000 0.000000000 0.824905396 |
+ XYZ : | 0.964202881 0 0 |
+       | 0 1 0 |
+       | 0 0 0.824905396 |
 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 de8ca37..169a362 100644
--- a/profiles/misc/Generic_RGB_Gamma_18.icc.txt
+++ b/profiles/misc/Generic_RGB_Gamma_18.icc.txt
@@ -23,8 +23,8 @@
 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.084457397 |
-       | 0.014892578 0.090637207 0.719573975 |
+       | 0.241912842 0.673629761 0.0844573975 |
+       | 0.0148925781 0.090637207 0.719573975 |
 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 d699d7c..b1a3d85 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.000000000 0.000000000 |
-       | 0.000000000 1.000000000 0.000000000 |
-       | 0.000000000 0.000000000 0.824905396 |
+ XYZ : | 0.964202881 0 0 |
+       | 0 1 0 |
+       | 0 0 0.824905396 |
 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 2b955db..f9602e6 100644
--- a/profiles/misc/HD_709.icc.txt
+++ b/profiles/misc/HD_709.icc.txt
@@ -33,8 +33,8 @@
 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.061233521 |
-       | 0.009674072 0.043518066 0.771713257 |
+       | 0.195922852 0.742843628 0.0612335205 |
+       | 0.00967407227 0.0435180664 0.771713257 |
 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 6fbf6fe..b6bff8f 100644
--- a/profiles/misc/Kodak_sRGB.icc.txt
+++ b/profiles/misc/Kodak_sRGB.icc.txt
@@ -29,8 +29,8 @@
 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.072128296 |
-       | 0.011260986 0.080718994 0.725875854 |
+       | 0.214950562 0.712905884 0.0721282959 |
+       | 0.0112609863 0.0807189941 0.725875854 |
  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 c23c806..9de2eb1 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.000000000 0.964202881 |
-       | 1.000000000 0.000000000 1.000000000 |
-       | 0.824905396 0.000000000 0.824905396 |
+ XYZ : | 0.964202881 0 0.964202881 |
+       | 1 0 1 |
+       | 0.824905396 0 0.824905396 |
  !!! 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 8f4cafc..db6e250 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.357360840 0.156417847 |
-       | 0.382919312 1.109725952 0.000000000 |
-       | 0.083267212 0.679275513 0.523422241 |
+ XYZ : | 0.647903442 0.35736084 0.156417847 |
+       | 0.382919312 1.10972595 0 |
+       | 0.0832672119 0.679275513 0.523422241 |
  !!! 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 e98cabe..af76b19 100644
--- a/profiles/misc/SM245B.icc.txt
+++ b/profiles/misc/SM245B.icc.txt
@@ -28,8 +28,8 @@
 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.069717407 |
-       | 0.014114380 0.149780273 0.923767090 |
+       | 0.232894897 0.697387695 0.0697174072 |
+       | 0.0141143799 0.149780273 0.92376709 |
  !!! 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 0f07644..84a2baa 100644
--- a/profiles/misc/ThinkpadX1YogaV2.icc.txt
+++ b/profiles/misc/ThinkpadX1YogaV2.icc.txt
@@ -26,8 +26,8 @@
 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.057281494 |
-       | 0.000442505 0.044403076 0.780044556 |
+       | 0.258071899 0.684646606 0.0572814941 |
+       | 0.000442504883 0.0444030762 0.780044556 |
 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 d049767..8988feb 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.142013550 |
-       | 0.223083496 0.716873169 0.060058594 |
-       | 0.014511108 0.097259521 0.713119507 |
+ XYZ : | 0.437957764 0.384231567 0.14201355 |
+       | 0.223083496 0.716873169 0.0600585938 |
+       | 0.0145111084 0.0972595215 0.713119507 |
 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 0472c55..3fcf916 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.436614990 0.385345459 0.142242432 |
+ XYZ : | 0.43661499 0.385345459 0.142242432 |
        | 0.222122192 0.718399048 0.059463501 |
-       | 0.012954712 0.096542358 0.715393066 |
+       | 0.0129547119 0.0965423584 0.715393066 |
 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 4383008..7ed0521 100644
--- a/profiles/misc/sRGB_Calibrated_Heterogeneous.icc.txt
+++ b/profiles/misc/sRGB_Calibrated_Heterogeneous.icc.txt
@@ -24,8 +24,8 @@
 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.053176880 |
-       | 0.001129150 0.053558350 0.770217896 |
+       | 0.224472046 0.722351074 0.0531768799 |
+       | 0.00112915039 0.0535583496 0.770217896 |
 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 4ab21fe..0112400 100644
--- a/profiles/misc/sRGB_Calibrated_Homogeneous.icc.txt
+++ b/profiles/misc/sRGB_Calibrated_Homogeneous.icc.txt
@@ -25,8 +25,8 @@
 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.056304932 |
-       | 0.013488770 0.087921143 0.723480225 |
+       | 0.221725464 0.721969604 0.0563049316 |
+       | 0.0134887695 0.0879211426 0.723480225 |
 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 96a789e..62fb494 100644
--- a/profiles/misc/sRGB_HP.icc.txt
+++ b/profiles/misc/sRGB_HP.icc.txt
@@ -33,8 +33,8 @@
 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.060607910 |
-       | 0.013916016 0.097076416 0.714096069 |
+       | 0.222488403 0.716873169 0.0606079102 |
+       | 0.0139160156 0.097076416 0.714096069 |
 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 dc4a026..f16cb66 100644
--- a/profiles/misc/sRGB_HP_2.icc.txt
+++ b/profiles/misc/sRGB_HP_2.icc.txt
@@ -33,8 +33,8 @@
 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.060607910 |
-       | 0.013916016 0.097076416 0.714096069 |
+       | 0.222488403 0.716873169 0.0606079102 |
+       | 0.0139160156 0.097076416 0.714096069 |
 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_ICC_v4_beta.icc.txt b/profiles/misc/sRGB_ICC_v4_beta.icc.txt
index c92e94a..c7a7de2 100644
--- a/profiles/misc/sRGB_ICC_v4_beta.icc.txt
+++ b/profiles/misc/sRGB_ICC_v4_beta.icc.txt
@@ -25,9 +25,9 @@
   M0 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
   M1 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
   M2 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
-Mtrx : | 1.000000000 0.000000000 0.000000000 0.000000000 |
-       | 0.000000000 1.000000000 0.000000000 0.000000000 |
-       | 0.000000000 0.000000000 1.000000000 0.000000000 |
+Mtrx : | 1 0 0 0 |
+       | 0 1 0 0 |
+       | 0 0 1 0 |
  "B" : 3 outputs
   B0 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
   B1 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
diff --git a/profiles/misc/sRGB_black_scaled.icc.txt b/profiles/misc/sRGB_black_scaled.icc.txt
index 45e14ec..87646e8 100644
--- a/profiles/misc/sRGB_black_scaled.icc.txt
+++ b/profiles/misc/sRGB_black_scaled.icc.txt
@@ -32,8 +32,8 @@
 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.060607910 |
-       | 0.013916016 0.097076416 0.714096069 |
+       | 0.222488403 0.716873169 0.0606079102 |
+       | 0.0139160156 0.097076416 0.714096069 |
 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 f9f5d26..ba5dc39 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.385330200 0.143020630 |
-       | 0.222381592 0.717041016 0.060592651 |
-       | 0.013916016 0.097137451 0.713836670 |
+ XYZ : | 0.435852051 0.3853302 0.14302063 |
+       | 0.222381592 0.717041016 0.0605926514 |
+       | 0.0139160156 0.0971374512 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 f16f694..366f4e5 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.515121460 0.291976929 0.157104492 |
-       | 0.241195679 0.692245483 0.066574097 |
-       | -0.001037598 0.041885376 0.784072876 |
+ XYZ : | 0.51512146 0.291976929 0.157104492 |
+       | 0.241195679 0.692245483 0.0665740967 |
+       | -0.00103759766 0.041885376 0.784072876 |
 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 41635d6..cf836f7 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.515121460 0.291976929 0.157104492 |
-       | 0.241195679 0.692245483 0.066574097 |
-       | -0.001037598 0.041885376 0.784072876 |
+ XYZ : | 0.51512146 0.291976929 0.157104492 |
+       | 0.241195679 0.692245483 0.0665740967 |
+       | -0.00103759766 0.041885376 0.784072876 |
 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 8b4733a..aa9a4a6 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.515121460 0.291976929 0.157104492 |
-       | 0.241195679 0.692245483 0.066574097 |
-       | -0.001052856 0.041885376 0.784072876 |
+ XYZ : | 0.51512146 0.291976929 0.157104492 |
+       | 0.241195679 0.692245483 0.0665740967 |
+       | -0.00105285645 0.041885376 0.784072876 |
 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 36bee9d..77fa279 100644
--- a/profiles/mobile/sRGB_LUT.icc.txt
+++ b/profiles/mobile/sRGB_LUT.icc.txt
@@ -27,8 +27,8 @@
 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.060607910 |
-       | 0.013916016 0.097061157 0.713912964 |
+       | 0.222488403 0.716903687 0.0606079102 |
+       | 0.0139160156 0.0970611572 0.713912964 |
 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 44b19dc..d97c0a5 100644
--- a/profiles/mobile/sRGB_parametric.icc.txt
+++ b/profiles/mobile/sRGB_parametric.icc.txt
@@ -24,8 +24,8 @@
 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.060607910 |
-       | 0.013916016 0.097061157 0.713912964 |
+       | 0.222488403 0.716903687 0.0606079102 |
+       | 0.0139160156 0.0970611572 0.713912964 |
 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 973d20f..68e81d8 100644
--- a/profiles/sRGB_Facebook.icc.txt
+++ b/profiles/sRGB_Facebook.icc.txt
@@ -26,8 +26,8 @@
 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.060607910 |
-       | 0.013916016 0.097076416 0.714096069 |
+       | 0.222488403 0.716873169 0.0606079102 |
+       | 0.0139160156 0.097076416 0.714096069 |
 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 9024c00..4a014c3 100644
--- a/test_only.c
+++ b/test_only.c
@@ -192,9 +192,9 @@
 
     if (profile->has_toXYZD50) {
         skcms_Matrix3x3 toXYZ = profile->toXYZD50;
-        fprintf(fp, " XYZ : | %.9f %.9f %.9f |\n"
-                    "       | %.9f %.9f %.9f |\n"
-                    "       | %.9f %.9f %.9f |\n",
+        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]);
@@ -237,9 +237,9 @@
                 dump_curve(fp, curveNames[i], &a2b->matrix_curves[i]);
             }
             const skcms_Matrix3x4* m = &a2b->matrix;
-            fprintf(fp, "Mtrx : | %.9f %.9f %.9f %.9f |\n"
-                        "       | %.9f %.9f %.9f %.9f |\n"
-                        "       | %.9f %.9f %.9f %.9f |\n",
+            fprintf(fp, "Mtrx : | %.9g %.9g %.9g %.9g |\n"
+                        "       | %.9g %.9g %.9g %.9g |\n"
+                        "       | %.9g %.9g %.9g %.9g |\n",
                    m->vals[0][0], m->vals[0][1], m->vals[0][2], m->vals[0][3],
                    m->vals[1][0], m->vals[1][1], m->vals[1][2], m->vals[1][3],
                    m->vals[2][0], m->vals[2][1], m->vals[2][2], m->vals[2][3]);