proomt

Search

Search posts, papers, and topics

Hall of Fame

Hall of FameDavid Goldberg1991127 min readpaperintermediate

What Every Computer Scientist Should Know About Floating-Point Arithmetic

Summary

The paper is a thorough tutorial on floating‑point representation, rounding error, and the IEEE‑754 standard, explaining how numbers are encoded and why errors arise. It shows how guard digits, denormals, NaNs, and exact operation algorithms affect portability and performance.

  • Floating‑point numbers consist of sign, exponent, and significand; normalized form makes representations unique but requires a special encoding for zero.
  • Rounding error is quantified by ulps and relative error; guard digits mitigate catastrophic cancellation in subtraction.
  • IEEE‑754 defines exact algorithms for basic operations, guaranteeing bit‑identical results on compliant hardware.
  • Denormalized numbers, infinities, and NaNs handle underflow/overflow but can impact performance and exception handling.

Anyone building numerical software, compilers, or hardware needs these fundamentals to avoid subtle bugs and ensure portable, reliable results.

6/10

Related reading

  1. Article: Your Next DSL Author Is a Language Model

    Typed Domain Grounding (TDG) embeds a DSL inside a mainstream language the LLM already knows (e.g., Kotlin) and uses the host compiler as an oracle. The author describes five building blocks—embedding, choosing a host language with high training‑data frequency, compiler‑driven type safety, a generate‑compile‑repair loop, and an on‑demand teaching tool—and shows measured results from kUML, a Kotli…

    InfoQinfoq.com18 min
  2. The Shadows Lurking in the Equations – Underwater Islands

    The article introduces FuzzyGraph, a web tool that visualizes equations as error heatmaps (fuzzy/non‑binary mode) instead of the classic binary “exact‑equals” plots. By showing regions of high error (black‑hole shadows) and low error (underwater islands), the author argues that fuzzy graphs reveal mathematical features invisible to conventional graphing tools.

    Hacker News front pagegods.art4 minHN7013
  3. What Every Programmer Should Know About Memory

    The paper explains how modern CPU caches, memory controllers, and NUMA architectures affect program performance and what developers can do to write cache‑friendly code. It provides concrete advice and tooling to reduce cache misses, avoid false sharing, and place memory near the accessing cores.

    Hall of Famefreebsd.org397 minpaper