\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\left(\left({\left(y \cdot \mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right)\right)}^{1} + 230661.510616000014\right) \cdot y + t\right) \cdot \frac{1}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right) \cdot 1}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r58450 = x;
double r58451 = y;
double r58452 = r58450 * r58451;
double r58453 = z;
double r58454 = r58452 + r58453;
double r58455 = r58454 * r58451;
double r58456 = 27464.7644705;
double r58457 = r58455 + r58456;
double r58458 = r58457 * r58451;
double r58459 = 230661.510616;
double r58460 = r58458 + r58459;
double r58461 = r58460 * r58451;
double r58462 = t;
double r58463 = r58461 + r58462;
double r58464 = a;
double r58465 = r58451 + r58464;
double r58466 = r58465 * r58451;
double r58467 = b;
double r58468 = r58466 + r58467;
double r58469 = r58468 * r58451;
double r58470 = c;
double r58471 = r58469 + r58470;
double r58472 = r58471 * r58451;
double r58473 = i;
double r58474 = r58472 + r58473;
double r58475 = r58463 / r58474;
return r58475;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r58476 = y;
double r58477 = x;
double r58478 = z;
double r58479 = fma(r58477, r58476, r58478);
double r58480 = 27464.7644705;
double r58481 = fma(r58479, r58476, r58480);
double r58482 = r58476 * r58481;
double r58483 = 1.0;
double r58484 = pow(r58482, r58483);
double r58485 = 230661.510616;
double r58486 = r58484 + r58485;
double r58487 = r58486 * r58476;
double r58488 = t;
double r58489 = r58487 + r58488;
double r58490 = a;
double r58491 = r58476 + r58490;
double r58492 = b;
double r58493 = fma(r58491, r58476, r58492);
double r58494 = c;
double r58495 = fma(r58493, r58476, r58494);
double r58496 = i;
double r58497 = fma(r58495, r58476, r58496);
double r58498 = r58497 * r58483;
double r58499 = r58483 / r58498;
double r58500 = r58489 * r58499;
return r58500;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b



Bits error versus c



Bits error versus i
Initial program 29.2
rmApplied div-inv29.3
Simplified29.3
rmApplied pow129.3
Applied pow129.3
Applied pow-prod-down29.3
Simplified29.3
Final simplification29.3
herbie shell --seed 2020025 +o rules:numerics
(FPCore (x y z t a b c i)
:name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
:precision binary64
(/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))