\left(x \cdot y + z \cdot t\right) + a \cdot b
\mathsf{fma}\left(t, z, \mathsf{fma}\left(a, b, x \cdot y\right)\right)double f(double x, double y, double z, double t, double a, double b) {
double r137345 = x;
double r137346 = y;
double r137347 = r137345 * r137346;
double r137348 = z;
double r137349 = t;
double r137350 = r137348 * r137349;
double r137351 = r137347 + r137350;
double r137352 = a;
double r137353 = b;
double r137354 = r137352 * r137353;
double r137355 = r137351 + r137354;
return r137355;
}
double f(double x, double y, double z, double t, double a, double b) {
double r137356 = t;
double r137357 = z;
double r137358 = a;
double r137359 = b;
double r137360 = x;
double r137361 = y;
double r137362 = r137360 * r137361;
double r137363 = fma(r137358, r137359, r137362);
double r137364 = fma(r137356, r137357, r137363);
return r137364;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b
Initial program 0.0
Simplified0.0
Taylor expanded around inf 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020018 +o rules:numerics
(FPCore (x y z t a b)
:name "Linear.V3:$cdot from linear-1.19.1.3, B"
:precision binary64
(+ (+ (* x y) (* z t)) (* a b)))