\frac{x + y \cdot \left(z - x\right)}{z}\mathsf{fma}\left(\frac{x}{z}, -y, \frac{x}{z}\right) + ydouble f(double x, double y, double z) {
double r32482642 = x;
double r32482643 = y;
double r32482644 = z;
double r32482645 = r32482644 - r32482642;
double r32482646 = r32482643 * r32482645;
double r32482647 = r32482642 + r32482646;
double r32482648 = r32482647 / r32482644;
return r32482648;
}
double f(double x, double y, double z) {
double r32482649 = x;
double r32482650 = z;
double r32482651 = r32482649 / r32482650;
double r32482652 = y;
double r32482653 = -r32482652;
double r32482654 = fma(r32482651, r32482653, r32482651);
double r32482655 = r32482654 + r32482652;
return r32482655;
}




Bits error versus x




Bits error versus y




Bits error versus z
| Original | 10.5 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 10.5
Simplified10.5
Taylor expanded around 0 3.9
Simplified0.0
Final simplification0.0
herbie shell --seed 2019174 +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))