Live data from Hacker News

Herbie: Automatically rewrites expressions to minimize floating point error

github.com

11–20 of 22 posts

Re: Herbie: Automatically rewrites expressions to minimize floating point error

#12
post #10

Earlier quoted context omitted.

The language that this site is written in.

Huh? Isn't HN written in Arc?

Right, meant to say "the platform that powers this site".

Arc itself is an interpreter written in Racket. The site runs on racket.

Re: Herbie: Automatically rewrites expressions to minimize floating point error

#13
post #10

Earlier quoted context omitted.

The language that this site is written in.

Huh? Isn't HN written in Arc?

LISP people likes to refer a language modification to a "language", partly because its lexical structure is so simple and its metaprogramming makes such modification easy. But yeah, Racket and Arc are only similar in the surface syntax.

Re: Herbie: Automatically rewrites expressions to minimize floating point error

#14
The OP copied only half my tweet, full title should be "...to minimize floating-point precision errors". This tool is specifically for improving the numerical accuracy of equations when translated into floating-point code-- "minimizing errors" makes no sense without the qualifiers.

I do a lot of procedural graphics on the GPU and am constantly plagued by precision issues (you cannot copy equations verbatim into code, you must observe overflow/underflow and other numerical issues). Herbie is pretty magical in that it can _automatically_ translate math expressions into a form that's friendlier for computers.

Also the reason why the GitHub site source was linked is because the website [1] crashed under traffic earlier today (full site contains an interactive solver and examples).

[1] http://herbie.uwplse.org/

Re: Herbie: Automatically rewrites expressions to minimize floating point error

#15
post #10

Earlier quoted context omitted.

The language that this site is written in.

Huh? Isn't HN written in Arc?

The Arc compiler converts Arc expressions into Scheme (in the mzscheme dialect) as implemented by Racket.

Re: Herbie: Automatically rewrites expressions to minimize floating point error

#16
post #14

The OP copied only half my tweet, full title should be "...to minimize floating-point precision errors". This tool is specifically for improving the numerical accuracy of equations when translated into floating-point code-- "minimizing errors" makes no sense without the qualifiers. I do a lot of procedural graphics on the GPU and am constantly plagued by precision issues (you cannot copy equations verbatim into code,…

Do you have an example of a graphics algorithm that you were helped with by this tool / a description of how that went?

Re: Herbie: Automatically rewrites expressions to minimize floating point error

#17
post #14

The OP copied only half my tweet, full title should be "...to minimize floating-point precision errors". This tool is specifically for improving the numerical accuracy of equations when translated into floating-point code-- "minimizing errors" makes no sense without the qualifiers. I do a lot of procedural graphics on the GPU and am constantly plagued by precision issues (you cannot copy equations verbatim into code,…

Do you have an example of a graphics algorithm that you were helped with by this tool / a description of how that went?

There's actually a great write-up on how Herbie was used in the real-world to fix and improve math.js: https://pavpanchekha.com/blog/casio-mathjs.html

I've personally used it for improving some distance-field approximation code on the GPU (made it easier to translate the math into numerically-stable code).

Re: Herbie: Automatically rewrites expressions to minimize floating point error

#18
post #14

The OP copied only half my tweet, full title should be "...to minimize floating-point precision errors". This tool is specifically for improving the numerical accuracy of equations when translated into floating-point code-- "minimizing errors" makes no sense without the qualifiers. I do a lot of procedural graphics on the GPU and am constantly plagued by precision issues (you cannot copy equations verbatim into code,…

Ok, we changed the title from "Herbie: A tool to automatically rewrite arithmetic expressions to minimize error" to be closer to what you've said here. If anyone can suggest a better (more accurate and neutral) title, we can change it again.

Re: Herbie: Automatically rewrites expressions to minimize floating point error

#19
post #14

The OP copied only half my tweet, full title should be "...to minimize floating-point precision errors". This tool is specifically for improving the numerical accuracy of equations when translated into floating-point code-- "minimizing errors" makes no sense without the qualifiers. I do a lot of procedural graphics on the GPU and am constantly plagued by precision issues (you cannot copy equations verbatim into code,…

I think it would be interesting if something like this could be chosen as a compiler optimization.

Re: Herbie: Automatically rewrites expressions to minimize floating point error

#20
post #19
post #14

The OP copied only half my tweet, full title should be "...to minimize floating-point precision errors". This tool is specifically for improving the numerical accuracy of equations when translated into floating-point code-- "minimizing errors" makes no sense without the qualifiers. I do a lot of procedural graphics on the GPU and am constantly plagued by precision issues (you cannot copy equations verbatim into code,…

I think it would be interesting if something like this could be chosen as a compiler optimization.

It can if you use Haskell: https://github.com/mikeizbicki/HerbiePlugin
Post reply on HN