herbie

Optimize floating-point expressions for accuracy (by herbie-fp)

Herbie Alternatives

Similar projects and alternatives to herbie

  1. CPython

    1,614 herbie VS CPython

    The Python programming language

  2. AppSignal

    AppSignal knows why the f*#k it crashed. Stop vibe-debugging. Every exception, every backtrace, grouped so you see patterns, not noise.

    AppSignal logo
  3. bevy

    606 herbie VS bevy

    A refreshingly simple data-driven game engine built in Rust

  4. Clippy

    124 herbie VS Clippy

    A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/

  5. paip-lisp

    80 herbie VS paip-lisp

    Lisp code for the textbook "Paradigms of Artificial Intelligence Programming"

  6. Vrmac

    Vrmac Graphics, a cross-platform graphics library for .NET. Supports 3D, 2D, and accelerated video playback. Works on Windows 10 and Raspberry Pi4.

  7. ComputeSharp

    A .NET library to run C# code in parallel on the GPU through DX12, D2D1, and dynamically generated HLSL compute and pixel shaders, with the goal of making GPU computing easy to use for all .NET developers! 🚀

  8. mamba

    38 herbie VS mamba

    The Fast Cross-Platform Package Manager (by mamba-org)

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. CBQN

    a BQN implementation in C

  11. egglog

    5 herbie VS egglog

    egraphs + datalog!

  12. ILGPU

    13 herbie VS ILGPU

    ILGPU JIT Compiler for high-performance .Net GPU programs

  13. warp

    11 herbie VS warp

    A Python framework for GPU-accelerated simulation, robotics, and machine learning. (by NVIDIA)

  14. magic-wormhole.rs

    Rust implementation of Magic Wormhole, with new features and enhancements

  15. bigint-benchmark-rs

    Bechmarks for Rust big integer implementations

  16. ibig

    5 herbie VS ibig

    A big integer library in Rust with good performance.

  17. luminal

    8 herbie VS luminal

    Inference at the speed of light.

  18. ode

    1 herbie VS ode

    Blogpost and web demos about numerical solutions to ODEs (by missing-user)

  19. MuladdMacro.jl

    This package contains a macro for converting expressions to use muladd calls and fused-multiply-add (FMA) operations for high-performance in the SciML scientific machine learning ecosystem

  20. FreeDevTools

    79 herbie VS FreeDevTools

    A collection of free 3,25,000+ dev resources including tools, icons, emojis, cheat sheets, and TLDRs. No login, unlimited downloads.

  21. pystrptime

    A fast, reckless strptime implementation for Python

  22. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better herbie alternative or higher similarity.

herbie discussion

Log in or Post with

herbie reviews and mentions

Posts with mentions or reviews of herbie. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-08-20.
  • Compiler-Assisted Floating-Point Error Analysis and Profiling with FPChecker
    1 project | news.ycombinator.com | 1 Jul 2026
    I was expecting them to be aware of https://herbie.uwplse.org/ Herbie but it seems like either they don't know of it or they don't see it as relevant.

    My hope for the future is that Herbie's approach can evolve to a point where the person writing the software doesn't directly write FPU operations, any more than you'd manually work out all the best ways to optimise integer arithmetic. You write what you meant and the compiler figures out how to deliver that with FPU instructions. The parameters are more complicated for the second operation, but it's surely tractable.

    "I want to calculate function F(x) here, I care about 0 <= x <= 4.0, inside those limits we need +/- 0.1% accuracy, for other values I don't care, and I want you to go as fast as possible within those parameters".

  • Show HN: Luminal – Open-source, search-based GPU compiler
    5 projects | news.ycombinator.com | 20 Aug 2025
    Right I think I see it.

    This is insanely cool.

    But then there are performance tradeoffs in reusing intermediates vs recomputing that I think you can't represent.

    Some of these may affect numerical stability btw. See eg https://herbie.uwplse.org/

    There is so much potential in this project.

  • Herbie detects inaccurate expressions and finds more accurate replacements
    1 project | news.ycombinator.com | 3 Aug 2025
  • What works (and doesn't) selling formal methods
    1 project | news.ycombinator.com | 2 Jun 2025
    Your last point is what I was trying to get at — eg, reasoning just about your math expressions.

    https://herbie.uwplse.org/

    I think that FM (beyond basic typing) is best used sparingly to address particularly sensitive cases — eg, floating point stability in modeling.

    But our discussion usually doesn’t include incremental or partial usage, unfortunately.

  • My negative views on Rust (2023)
    11 projects | news.ycombinator.com | 9 Oct 2024
    I jumped to CTRE because it's another way that you can get the better results. The programmer need have no idea why this works, just like with caches.

    I agree that there are trade-offs, but nevertheless compile time regex compilation is on my want list, even if a long way down it. I would take compile time arithmetic compilation† much sooner, but since that's an unsolved problem I don't get that choice.

    † What I mean here is, you type in the real arithmetic you want, the compiler analyses what you wrote and it spits out an approximation in machine code which delivers an accuracy and performance trade off you're OK with, without you needing to be an expert in IEEE floating point and how your target CPU works. Herbie https://herbie.uwplse.org/ but as part of the compiler.

  • How does a computer/calculator compute logarithms?
    1 project | news.ycombinator.com | 21 Jun 2024
    Hi Pavel. For people who don't know, this is the person whose lab produced Herbie (https://herbie.uwplse.org/).

    I have still seen rational approximants in "fast approximate math" libraries, while the ones targeting numerical accuracy are often using polynomials. Setting up a solver for 0.5 ULP when you have a rational function is definitely a lot harder. In my own work, it also empirically seems that the division creates some problems for precision of the last bit.

    One interesting approach for bit-accurate rational approximants is to have a rational approximant get most of the way there while fitting the error of your rational approximant to a polynomial, but I don't think there's a good way to figure out where the computationally-efficient split of the problem is (ie how big to make the rational side and the polynomial side).

  • How to shuffle a virtual deck of cards?
    3 projects | news.ycombinator.com | 8 Jun 2024
    You can calculate the probabilities and expected number of collisions analytically, but evaluating the expressions numerically is tricky for large numbers. I can recommend https://herbie.uwplse.org/ to rewrite the expressions into a form that can be evaluated.
  • Herbie: Find and fix floating-point accuracy problems
    1 project | news.ycombinator.com | 28 Nov 2023
  • Towards a New SymPy
    5 projects | news.ycombinator.com | 8 Sep 2023
    The herbie project using egraphs to explore different ways of rewriting floating point expressions. https://herbie.uwplse.org/ One can also write custom rulesets in egglog (a new egraph rewriting system / language / datalog) https://egraphs-good.github.io/egglog/?example=herbie

    The approach is not yet anywhere near being able to touch all the domains sympy can handle. Destructive term rewriting tends to be a bit more forgiving to unsoundness in the rules and still returning roughly meaningful results. EGraph rewriting (and other automated reasoning systems) tend to just return junk as soon as you aren't careful about your semantics. Associativity and commutativity are ubiquitous in CAS applications and encoding these concepts in general purpose terms is rather unsatisfying. The post above emphasizes specialty methods for polynomials, which it would be desirable to find a clean way to integrate into egraph techniques. Variable binding (which is treated in a rather mangled form in CAS systems) is seemingly important for treating summation, differentiation, and integration correctly. The status of doing variable binding efficiently and correctly in egraphs is also unclear imo.

  • Q: Automated floating point error analysis
    1 project | /r/compsci | 14 Feb 2023
    As a starting point, check Herbie: https://herbie.uwplse.org/
  • A note from our sponsor - AppSignal
    www.appsignal.com | 9 Aug 2026
    Stop vibe-debugging. Every exception, every backtrace, grouped so you see patterns, not noise. Learn more →

Stats

Basic herbie repo stats
13
880
9.8
3 days ago

Sponsored
AppSignal knows why the f*#k it crashed.
Stop vibe-debugging. Every exception, every backtrace, grouped so you see patterns, not noise.
www.appsignal.com

Did you know that HTML is
the 9th most popular programming language
based on number of references?