Blog posts about Herbie
Detecting Symmetric Expressions
How Herbie 1.5's new symmetric expressions feature detects
symmetric expressions using e-graphs and some group theory.
Goals for Herbie:
Herbie's lead developer
lays out some of the biggest Herbie changes in the last couple
of years, and gives us a look at what's coming down the pipe.
the Herbie Visualizer:
Pavel remembers a
tool Alex wrote to help
understand how Herbie works.
designed and ran a series of experiments to evaluate
how well Herbie's "alt" (candidate) picking heuristics work.
has been poking at Herbie's regime inference to measure how
effective it is and characterize situations where we could improve.
Summer 2018 plan:
What David Thien
will be working on in Herbie this summer!
- Introducing Herbgrind: what is our sister project Herbgrind all about?
- Let Herbie Make Your Floating Point Better: why programmers who deal with floating point should use Herbie.
- Improving Accuracy: a Look at Sums: why floating point summation is hard, and how compensated summation works.
- Measuring the Error of Floating Point Programs: how Herbie measures the error of a floating point program, and how we're working to extend that to programs with loops.
- Logarithms of Taylor Expansions: how Herbie takes Taylor expansions of logarithms.
- Hyperbolic sines in math.js: how Herbie fixed an accuracy bug in math.js using series expansion.
- Taylor Expansions of Taylor Expansions: how Herbie takes Taylor expansions of exponential and trigonometric functions.
- Arbitrary Precision, not Arbitrary Accuracy: why arbitrary-precision libraries aren’t an answer to rounding error.
- Complex Square Roots in math.js: how Herbie automatically fixed an accuracy bug in math.js, an open source mathematics library.
- Floating Point Guarantees: how floating point rounding and primitive operators work.