How a 0.1 microsecond rounding error made the Patriot missile system miss a Scud after 100 hours
Franc0Fernand0 · x · 2026-10-23
A classic floating-point failure retold: the Patriot system's clock counter incremented every 0.1s, and software multiplied it by 0.1 into a 24-bit register. Since 0.1 has no finite binary expansion, each tick was truncated by 0.000000095s. After 100 hours (3.6M ticks), the computed time drifted 0.34 seconds — enough that the system looked for the incoming Scud in the wrong place.
The post introduces issue #156 of the Polymathic Engineer newsletter on computing with floats (adding, multiplying, comparing), with the takeaway that single-operation accuracy loss is small, but errors accumulate across sequences of operations — and nothing in the software was technically 'broken'.
More from Research
- FreshStack retrieval leaderboard revamped, adds Cohere Embed v5 and EmbeddingGemma2 — beirmug · 2026-10-23
- Jakob Kather at ESMO: LLMs and AI agents in oncology, from single-task models to autonomy — jnkath · 2026-10-23
- Quantizing a 9B model: 70% of damage sits in the first 8 layers, and perplexity hides the tail — DinnerPrestigious953 · 2026-10-23
- GenReasoning team reflects on six-month grind: lean startup, zero paid promotion — rosstaylor90 · 2026-10-23
- 33K-Star GitHub Repo ML-From-Scratch Rebuilds ML Algorithms in Pure Python — techNmak · 2026-10-23
- Dev ports Anthropic's RISC-V formal verification model from Rocq to Lean — xennygrimmato_ · 2026-10-23