| Name | Last modified | Size | |
|---|---|---|---|
| Parent Directory | - | ||
| README.html | 2025-09-25 06:59 | 3.6K | |
| old-2025-09-09/ | 2025-09-16 15:42 | - | |
| old-2025-09-16/ | 2025-09-25 06:53 | - | |
| old-2025-09-25/ | 2025-10-15 18:11 | - | |
| wkkernels-dec.c | 2025-09-20 15:52 | 91K | |
| wkkernels-eps.awk | 2025-09-19 06:40 | 3.4K | |
| wkkernels-exact.awk | 2025-09-20 15:59 | 773 | |
| wkkernels-rmax.awk | 2025-09-19 18:18 | 1.2K | |
| wkkernels-x11.awk | 2025-09-16 06:48 | 1.4K | |
| wkkernels.c | 2025-09-20 15:02 | 78K | |
| wkkernels.pdf | 2025-10-15 18:07 | 7.9M | |
| wkmpfr-any.c | 2025-09-24 15:58 | 24K | |
| wkmpfr-any.sh | 2025-09-24 08:48 | 1.0K | |
Original version: Tue Sep 9 10:35:51 2025
Update(s): Tue Sep 16 15:44:43 2025 Thu Sep 25 06:58:05 2025
This small site collects some files about a writing and coding project that I have done as part of a larger book, implementing and evaluating computational algorithms for several of the standard elementary functions supplied by many programming languages. The algorithms are proposed in unpublished notes from 1985 by IEEE 754 chief architect, William Kahan, now retired from the University of California, Berkeley.
The PDF file is the main document (23 pages, including 5 figures containing 30 graphs of errors, and two tables showing maximum errors under different rounding modes, and in different bases).
The C file is the complete implementation of Kahan's algorithms, and several additional ones, including an extensive test suite that samples the functions over uniform and logarithmic distributions, comparing results against higher-precision values from the standard C mathematical function library, -lm.
The C code is parametrized so that it can be used for testing the new code against the highest available precision in the native library, simply by defining a suitable symbol on the compiler line. The header comments in the code file show how that is done.
The four awk programs summarize data from the test program output listing, and produce commands for the common Unix utility gnuplot that read results from plot data files created in the /tmp directory, and display them in separate windows on a Unix workstation with the X11 window system, or as Encapsulated PostScript (EPS) files that can be incorporated in typeset documents.
This code is licensed under either the BSD license, or the GNU Public License (version 2 or later), and will eventually be included with a lot more code, and a book, when the larger software project is deemed ready for public release. It will have its own Web site, but such a site has not yet been created.