<- Back
Comments (16)
- yreadReally cool, numerical stability can be tricky as errors can accumulate with each operation and suddenly 53 bits of precision is not enough.Also nice to see an article thats not about AI or politics
- notpushkinSome trivial cases produce... interesting results.For x in [−1.79e308, 1.79e308]:Initial Program: 100.0% accurate, 1.0× speedup def code(x): return math.sqrt((x + 1.0)) Alternative 1: 67.5% accurate, 5.6× speedup def code(x): return 1.0
- bee_riderI wonder, is there a way to only request reformulations that don’t involve branches? The tool already seems quite nice, but that might be a good feature.Also, I’m not sure I understand the speedup. Is it latency or throughput?
- urschreiI resurrected the Rust Herbie lint (now using dylint) a while ago: https://github.com/urschrei/herbie-lint
- fluorinerocketHow useful is this when you are using numbers in a reasonable range, like 10^-12 to 10^12? Generally I try to scale my numbers to be in this range, whether by picking the right units or scaling constraints and objectives when doing nonlinear programming/ optimization.Like looking at this example,https://herbie.uwplse.org/demo/b070b371a661191752fe37ce0321c...It is claimed that for the function f(x) =sqrt(x+1) -1Accuracy is increased by from 8.5% accuracy to 98% for alternative 5 Which has f(x) = 0.5xOk so x=99, the right answer is sqrt(100) -1 = 9But 0.5 * 99 = 49.5 which doesn't seem too accurate to me.
- reikonomushaThis is an awesome piece of software, one of my favorite little pieces of magic. Finding more precise or more stable floating point formulas is often arduous and requires a lot of familiarity with the behavior of floats. This finds good formulas completely automatically. Super useful for numerical computation.
- andrepdI don't quite understand how they define "accuracy".
- lutusp[flagged]