Double-double: 31 digits of precision without leaving the FPU

(marekfiser.com)

43 points | by iliketrains 6 days ago ago

12 comments

  • tobias2014 2 days ago ago

    AI has rediscovered https://www.davidhbailey.com/dhbsoftware/ and similar? Or are there algorithmic improvements? Without referencing established double-double work it's hard to know.

  • aappleby 2 days ago ago

    Fun fact - Google Maps does something similar to this in WebGL in order to keep accurate coordinates across a planet-sized map using only 32-bit floats.

    • iliketrains 2 days ago ago

      This sounds interesting, is this documented somewhere?

  • ncruces 2 days ago ago

    I have a Go library implementing double-double arithmetic (and also exponentials, logarithms, trigonometry...): https://github.com/ncruces/dbldbl

    Mostly useless, but was quite fun to write.

  • Panzerschrek 2 days ago ago

    Such trick looks interesting. But I think for many cases it would be better to use fixed-width arithmetic based on 128-bit integers. Operations for them are much cheaper if done right (and assuming compilers are smart enough to optimize them). For the Mandelbrot set one don't need huge range, maybe 4 bits of range or so, the remaining 124 bits of precision can increase quality significantly.

  • Scene_Cast2 2 days ago ago

    If you need that precision, especially for position and not values, why use floats at all?

  • wolfd 2 days ago ago

    Could be a neat post, but it was too obviously LLM-generated for me to care about reading it deeply. I’m really fine with people using LLMs to write code and understand stuff, but at least drop a disclaimer when you’re blogging straight Claude text.

  • suprjami 2 days ago ago

    This feels like a lot of words to say "a decimal point between two integers".

  • squiffsquiff 2 days ago ago

    Could call it... 'a Hamburglar'

  • nickdothutton 2 days ago ago

    At least Dekker is referenced.

  • akomtu 2 days ago ago

    Reads like AI slop. It circles around the point, uses C# examples while talking about FPU, duplicates examples and so on.