-
-{ "1.5625" } [ 1.5625 "%d" sprintf ] unit-test
-{ "1.9p0" } [ 1.5625 "%x" sprintf ] unit-test
-{ "1.9P0" } [ 1.5625 "%X" sprintf ] unit-test
-{ "1.44p0" } [ 1.5625 "%o" sprintf ] unit-test
-{ "1.1001p0" } [ 1.5625 "%b" sprintf ] unit-test
-{ "14+17/20" } [ 14+17/20 "%d" sprintf ] unit-test
-{ "e+11/14" } [ 14+17/20 "%x" sprintf ] unit-test
-{ "E+11/14" } [ 14+17/20 "%X" sprintf ] unit-test
-{ "16+21/24" } [ 14+17/20 "%o" sprintf ] unit-test
-{ "1110+10001/10100" } [ 14+17/20 "%b" sprintf ] unit-test
+{ "987654321098765432" } [ 987654321098765432 "%d" sprintf ] unit-test
+{ "987654321098765432.0" } [ 987654321098765432 "%.1f" sprintf ] unit-test
+{ "987654321098765432" } [ 987654321098765432 "%.0f" sprintf ] unit-test
+{ "9.8765432109876543200e+417" } [ 987654321098765432 10 400 ^ * "%.19e" sprintf ] unit-test
+{ "9.876543210987654320e+417" } [ 987654321098765432 10 400 ^ * "%.18e" sprintf ] unit-test
+{ "9.87654321098765432e+417" } [ 987654321098765432 10 400 ^ * "%.17e" sprintf ] unit-test
+{ "9.8765432109876543e+417" } [ 987654321098765432 10 400 ^ * "%.16e" sprintf ] unit-test
+{ "9.876543210987654e+417" } [ 987654321098765432 10 400 ^ * "%.15e" sprintf ] unit-test
+{ "9.87654321098765e+417" } [ 987654321098765432 10 400 ^ * "%.14e" sprintf ] unit-test
+{ "9.8765432109877e+417" } [ 987654321098765432 10 400 ^ * "%.13e" sprintf ] unit-test
+{ "9.876543210988e+417" } [ 987654321098765432 10 400 ^ * "%.12e" sprintf ] unit-test
+{ "9.87654321099e+417" } [ 987654321098765432 10 400 ^ * "%.11e" sprintf ] unit-test
+{ "9.8765432110e+417" } [ 987654321098765432 10 400 ^ * "%.10e" sprintf ] unit-test
+{ "9.876543211e+417" } [ 987654321098765432 10 400 ^ * "%.9e" sprintf ] unit-test
+{ "9.87654321e+417" } [ 987654321098765432 10 400 ^ * "%.8e" sprintf ] unit-test
+{ "9.8765432e+417" } [ 987654321098765432 10 400 ^ * "%.7e" sprintf ] unit-test
+{ "9.876543e+417" } [ 987654321098765432 10 400 ^ * "%.6e" sprintf ] unit-test
+{ "9.87654e+417" } [ 987654321098765432 10 400 ^ * "%.5e" sprintf ] unit-test
+{ "9.8765e+417" } [ 987654321098765432 10 400 ^ * "%.4e" sprintf ] unit-test
+{ "9.877e+417" } [ 987654321098765432 10 400 ^ * "%.3e" sprintf ] unit-test
+{ "9.88e+417" } [ 987654321098765432 10 400 ^ * "%.2e" sprintf ] unit-test
+{ "9.9e+417" } [ 987654321098765432 10 400 ^ * "%.1e" sprintf ] unit-test
+! This works even on windows (even though %.0e is special on
+! windows) because it doesn't use the fast formatter from the
+! system
+{ "1e+418" } [ 987654321098765432 10 400 ^ * "%.0e" sprintf ] unit-test
+{ "9e+417" } [ 937654321098765432 10 400 ^ * "%.0e" sprintf ] unit-test
+{ "1.0e+418" } [ 997654321098765432 10 400 ^ * "%.1e" sprintf ] unit-test
+{ "1.00e+418" } [ 999654321098765432 10 400 ^ * "%.2e" sprintf ] unit-test