My understanding is that the reasoning behind all this is: - In 1985 there were a ton of different hardware floating-point implementatio...
My understanding is that the reasoning behind all this is: - In 1985 there were a ton of different hardware floating-point implementations with incompatible instructions, making it a nightmare to write floating-point code once that worked on multiple machines - To address the compatibility problem, IEEE came up with a hardware standard that could do error handling using only CPU registers (no software, since it's a hardware standard) - With that design constraint, they (reasonably imo) chose to handle errors by making them "poisonous" - once you have a NaN, all operations on it fail, including equality, so the error state propagates rather than potentially accidentally "un-erroring" if you do another operation, leading you into undefined behavior territory - The standard solved the problem when hardware manufacturers adopted it - The upstream consequence on software is that if your programming language does anything other than these exact floating-point semantics , the cost is losing hardware acceleration, which makes your floating-point operations way slower
Posted by rtfeldman on Oct 30, 2025, 3:01 PM
Tags
Related issues
- In the UK Amazon have now raised the price of general shipping to be 2/3 the price of a months prime subscription.
- Credit where credit is due, critics claiming "[Apple device] is too expensive for something that just does [basic function]" have been pr...
- I like to buy music.
- Meet K-Claw.
- Fable is way too expensive for basic software stuff.
- [Meta] Abnormal Codex usage/quota depletion and usage-accounting inconsistencies — cross-report tracker
Raise real-world problems, find people facing the same issue, and discuss solutions.2,000 issues0 comments
pricing (SaaS)
In the UK Amazon have now raised the price of general shipping to be 2/3 the price of a months prime subscription.
Credit where credit is due, critics claiming "[Apple device] is too expensive for something that just does [basic function]" have been pr...
I like to buy music.
Meet K-Claw.
Fable is way too expensive for basic software stuff.
[Meta] Abnormal Codex usage/quota depletion and usage-accounting inconsistencies — cross-report tracker
[FEATURE] Passkey (WebAuthn) sign-in for Claude accounts, across every surface
> How are Chinese companies financing their buildouts of AI infrastructure?
My understanding is that the reasoning behind all this is: - In 1985 there were a ton of different hardware floating-point implementatio...
My understanding is that the reasoning behind all this is: - In 1985 there were a ton of different hardware floating-point implementations with incompatible instructions, making it a nightmare to write floating-point code once that worked on multiple machines - To address the compatibility problem, IEEE came up with a hardware standard that could do error handling using only CPU registers (no software, since it's a hardware standard) - With that design constraint, they (reasonably imo) chose to handle errors by making them "poisonous" - once you have a NaN, all operations on it fail, including equality, so the error state propagates rather than potentially accidentally "un-erroring" if you do another operation, leading you into undefined behavior territory - The standard solved the problem when hardware manufacturers adopted it - The upstream consequence on software is that if your programming language does anything other than these exact floating-point semantics , the cost is losing hardware acceleration, which makes your floating-point operations way slower
Comments (0)
No comments yet. Start the discussion.