Fast Inverse Square Root — A Quake III Algorithm
Why Hacker News recommends it
HN recommends it as an approachable explanation that makes the famous algorithm finally make sense.
What it is
A walkthrough of the Quake III fast inverse square root, explaining where the constant 0x5f3759df comes from. It covers IEEE 754 floats, the bit hack that approximates a logarithm, and a Newton's method refinement.
Recommended by 3 HN commenters across 3 different months, 2021 to 2022.
What Hacker News said
Strong rec greyfox · 2021-07 · on “Copilot regurgitating Quake code, including sweary comments”
Very interesting that this was posted as I literally JUST watched an even MORE interesting youtube upload about this very bit of code just last weekend. Here's the very fun video if anyone wants to take a look: [this video]
Recommends colejohnson66 · 2021-08 · on “One does not simply calculate the absolute value”
> The bits of a float as an integer literal are proportional to its log2 value (plus a constant), … I watched a video[0] a while back about that. Once that coincidence(?) was explained, Q_rsqrt finally made sense. [0]: [this video] (~20 minutes)
Recommends infogulch · 2021-09 · on “Bit Patterns of Float”
Apparently the bit pattern of a float interpreted as an int is sorta-kinda it's own logarithm, which is why the famous fast inverse square root from quake 3 works: log(x^-½) = -½log(x) =~ -log(x) >> 1. This video is approachable and explains it pretty well: [this video]
Cites bitwidget · 2022-08 · on “Ask HN: What's a small example of some of the best code ever written?”
print("Hello World") /s But I've heard good things about the Fast Inverse Square Root Calculation algorithm in the Doom 3 source code. [this video]