Find and fix floating-point problems. Try

Install

Learn

sqrt(x+1) - sqrt(x) → 1/(sqrt(x+1) + sqrt(x)) Herbie detects inaccurate expressions and finds more accurate replacements. The red expression is inaccurate when x > 1; Herbie's replacement, in blue, is accurate for all x.

Herbie improving accuracy on the “Hamming” benchmark suite. Longer arrows are better. Each arrow starts at the accuracy of the original expression, and ends at the accuracy of Herbie’s output, in each case on random double-precision inputs.

Herbie Project News

The Herbie Developers

Herbie is developed at UW PLSE, with contributions from a supportive community.

The main contributors are Pavel Panchekha, Alex Sanchez-Stern, David Thien, Zachary Tatlock, Jason Qiu, Jack Firth, and James R. Wilcox.