Herbie Documentation
Documentation
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.
-
Long-term
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.
-
Remembering
the Herbie Visualizer:
Pavel remembers a
tool Alex wrote to help
understand how Herbie works.
-
Statistics on
alt picking:
David
designed and ran a series of experiments to evaluate
how well Herbie's "alt" (candidate) picking heuristics work.
-
Testing
regime
inference:
David
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.