Installing Herbie

Herbie depends on Racket, a dynamic language developed by Northeastern University. To install Herbie, one must first install Racket. Once Racket is installed, Herbie should run without problems.

Installing Racket

Herbie currently supports Linux and OS X. Windows has known bugs we are working to resolve, due to the lack of a full math.h library. Use the official installer to install Racket, or use distro-provided packages provided they are version 6.4 or later of Racket (earlier versions are not supported).

Test that Racket is installed correctly and has a correct version:

$ racket
Welcome to Racket v6.4.
> (exit)

Installing Herbie

Once Racket is installed, download the Herbie source from GitHub with:

git clone

If you go to the herbie directory, you should see a file, a directory named herbie, a directory named bench/, and a variety of other directories. Do a trial run of Herbie to make sure everything is installed and working correctly:

racket src/reports/run.rkt bench/hamming/

This command will take approximately fifteen minutes to run; it runs Herbie on problems from Richard Hamming's Numerical Methods for Scientists and Engineers, Chapter 3. After the command completes, a directory named graphs should have appeared. Open up the report.html file inside with your browser; you should see a listing of the expressions Herbie was run on, most of which should be green. A score of 24/28 or greater suggests that everything is working correctly.

If any of the test results are crashes (there will be a “crashes” count at the top), installation issues are to blame. Check that your Racket installation is at least version 6.1 and that you installed Racket from the official installation packages. If you're confident the installation is correct please report the error to the Herbie developers, attaching an archive of the complete graphs/ directory.

If this all works correctly, you can make Herbie start up faster by byte-compiling it:

raco make src/reports/run.rkt

Once Herbie is installed and working correctly, check out the tutorial.