I have put the latest version of "Let's Be Rational" up on
www.jaeckel.org . It has nominal revision number 1520 (it is a nominal unique identifier, this does not mean that I have worked on this 1520 times over the years).
On my i5-12500H laptop, the average calculation time for one implied volatility is
180 nanoseconds. That's about
5.5 million implied volatilities per second. No assembler/vector instruction or GPU shenanigans, no multithreading or any other sort of parallelisation.
The main intention of this latest version was accuracy improvements in the few areas where it was not getting quite close enough to the theoretically attainable accuracy for my liking. Speed improvements were added on.
It comes with Python wrapper, gnuplot wrapper GNU Octave (free version of matlab) wrapper, Visual Studio 2022 solution file, Makefile for Linux build etc.
As always,
positive feedback is welcome. Happy to answer sensible questions about the methodology, though,
caveat emptor, some of it is a bit intricate - mathematically, not codewise.
PJ