\frac{x + y \cdot \left(z - x\right)}{z}\frac{x}{z} + \left(\frac{x}{z} \cdot \left(-y\right) + y\right)double f(double x, double y, double z) {
double r31365524 = x;
double r31365525 = y;
double r31365526 = z;
double r31365527 = r31365526 - r31365524;
double r31365528 = r31365525 * r31365527;
double r31365529 = r31365524 + r31365528;
double r31365530 = r31365529 / r31365526;
return r31365530;
}
double f(double x, double y, double z) {
double r31365531 = x;
double r31365532 = z;
double r31365533 = r31365531 / r31365532;
double r31365534 = y;
double r31365535 = -r31365534;
double r31365536 = r31365533 * r31365535;
double r31365537 = r31365536 + r31365534;
double r31365538 = r31365533 + r31365537;
return r31365538;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 10.5 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 10.5
Simplified10.5
Taylor expanded around 0 3.5
Simplified0.0
rmApplied fma-udef0.0
Applied associate-+r+0.0
Final simplification0.0
herbie shell --seed 2019172 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.Backend.Rasterific:rasterificRadialGradient from diagrams-rasterific-1.3.1.3"
:herbie-target
(- (+ y (/ x z)) (/ y (/ z x)))
(/ (+ x (* y (- z x))) z))