x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5
\mathsf{fma}\left(y + z, x + x, \mathsf{fma}\left(5, y, t \cdot x\right)\right)double f(double x, double y, double z, double t) {
double r167647 = x;
double r167648 = y;
double r167649 = z;
double r167650 = r167648 + r167649;
double r167651 = r167650 + r167649;
double r167652 = r167651 + r167648;
double r167653 = t;
double r167654 = r167652 + r167653;
double r167655 = r167647 * r167654;
double r167656 = 5.0;
double r167657 = r167648 * r167656;
double r167658 = r167655 + r167657;
return r167658;
}
double f(double x, double y, double z, double t) {
double r167659 = y;
double r167660 = z;
double r167661 = r167659 + r167660;
double r167662 = x;
double r167663 = r167662 + r167662;
double r167664 = 5.0;
double r167665 = t;
double r167666 = r167665 * r167662;
double r167667 = fma(r167664, r167659, r167666);
double r167668 = fma(r167661, r167663, r167667);
return r167668;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Initial program 0.1
Simplified0.1
Taylor expanded around 0 0.1
Simplified0.0
Final simplification0.0
herbie shell --seed 2020083 +o rules:numerics
(FPCore (x y z t)
:name "Graphics.Rendering.Plot.Render.Plot.Legend:renderLegendOutside from plot-0.2.3.4, B"
:precision binary64
(+ (* x (+ (+ (+ (+ y z) z) y) t)) (* y 5)))