On Wed, Jun 12, 2024 at 9:06 PM Rich Felker wrote: > But to get back to the point, on archs that are hard-float and don't > have an oversized soft-only long double, the size of the floating > point code in printf is around 6k. Indeed. A particular example small emscripten program which doesn't call printf produces a 14450-byte output file. Adding a call to `printf("%d\n", 0)` (which is optimized to a call to iprintf by the compiler): increases output size by 5769 bytes. Adding a call to `printf("%f\n", 0.0)`, using the default emscripten printf, which has been modified to only support 'double' precision output: increases output size by 8413 bytes (2644 bytes more than the iprintf version). Adding a call to `printf("%f\n", 0.0)`, using "-s PRINTF_LONG_DOUBLE" config option (thus enabling printf support for proper output of a 128-bit 'long double' type): increases output size by 13067 bytes (7298 above the iprintf version). The 128-bit long double uses a soft-float implementation.