yeah one of the trackmania games -- which feature a nominally deterministic physics engine, allowing for replays from a recorded sequence of inputs... except the physics engine relies on libc transcendental functions. players are generally on windows, but backend servers doing anti-cheat validations via replays are running linux. this resulted in false cheat positives when the linux server was running glibc prior to the glibc rounding fixes... and as a result the guy's world record kept being flagged as a cheat. it's a pretty good video with a lot of detail on how they narrowed it down to specific glibc versions/etc.
One of the major projects that's ongoing in the current decade is moving the standard math library functions to fully correctly-rounded, as opposed to the traditional accuracy target of ~1 ULP (the last bit is off).
For single-precision unary functions, it's easy enough to just exhaustively test every single input (there's only 4 billion of them). But double precision has prohibitively many inputs to test, so you have to resort to actual proof techniques to prove correct rounding for double-precision functions.
The author works at a French university. Some French researchers do choose to cross-post to arXiv (and Zimmermann may have too, I haven’t checked), but HAL is the default.
As the paper mentions, this particular routine was the work of Alexei Sibidanov, though Zimmermann seems to have been maintaining it since it was contributed. (Sibidanov doesn't work for Red Hat either, though.)
Interesting: https://youtu.be/cb5r3r38O9c
Guy's world records get deleted due to changes in atanh over time
As that's a pretty long video would you mind giving a short summary of what happened? Was it a world record in a game?
yeah one of the trackmania games -- which feature a nominally deterministic physics engine, allowing for replays from a recorded sequence of inputs... except the physics engine relies on libc transcendental functions. players are generally on windows, but backend servers doing anti-cheat validations via replays are running linux. this resulted in false cheat positives when the linux server was running glibc prior to the glibc rounding fixes... and as a result the guy's world record kept being flagged as a cheat. it's a pretty good video with a lot of detail on how they narrowed it down to specific glibc versions/etc.
I don’t think I ever used atanh, but I always love some floating-point nerdery. These other documents by the same team are fantastic resources: https://inria.hal.science/hal-04714173v2/document for complex values and https://members.loria.fr/PZimmermann/papers/accuracy.pdf for real values.
Lots of good stuff here: https://members.loria.fr/PZimmermann/papers/ .
Tanh, and therefore atanh, are wonderful.
It's linear for small x, and exponential for large. Lots of applications of this:
Compressing data
Mapping (zoomed in near by, zoned out from afar)
There's a whole class of electronics amps for this.
One of the major projects that's ongoing in the current decade is moving the standard math library functions to fully correctly-rounded, as opposed to the traditional accuracy target of ~1 ULP (the last bit is off).
For single-precision unary functions, it's easy enough to just exhaustively test every single input (there's only 4 billion of them). But double precision has prohibitively many inputs to test, so you have to resort to actual proof techniques to prove correct rounding for double-precision functions.
> traditional accuracy target of ~1 ULP
I had to google this one…
ULP: “Unit in the Last Place” or “Unit of Least Precision: https://en.wikipedia.org/wiki/Unit_in_the_last_place
Why not arxiv?
The author works at a French university. Some French researchers do choose to cross-post to arXiv (and Zimmermann may have too, I haven’t checked), but HAL is the default.
Good to know!
Who wrote it? Someone at Red Hat likely.
The CORE-MATH project authors, most of whom are French academics (including the author of the linked paper).
I don’t know of any interesting work in this space that came out of Red Hat, why do you suggest them?
https://en.wikipedia.org/wiki/Paul_Zimmermann_(mathematician...
He doesn't work for Red Hat.
As the paper mentions, this particular routine was the work of Alexei Sibidanov, though Zimmermann seems to have been maintaining it since it was contributed. (Sibidanov doesn't work for Red Hat either, though.)