\frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}\frac{x}{\mathsf{fma}\left(y, e^{2.0 \cdot \mathsf{fma}\left(c - b, \frac{5.0}{6.0} - \left(\frac{\frac{2.0}{t}}{3.0} - a\right), z \cdot \frac{\sqrt{a + t}}{t}\right)}, x\right)}double f(double x, double y, double z, double t, double a, double b, double c) {
double r1512560 = x;
double r1512561 = y;
double r1512562 = 2.0;
double r1512563 = z;
double r1512564 = t;
double r1512565 = a;
double r1512566 = r1512564 + r1512565;
double r1512567 = sqrt(r1512566);
double r1512568 = r1512563 * r1512567;
double r1512569 = r1512568 / r1512564;
double r1512570 = b;
double r1512571 = c;
double r1512572 = r1512570 - r1512571;
double r1512573 = 5.0;
double r1512574 = 6.0;
double r1512575 = r1512573 / r1512574;
double r1512576 = r1512565 + r1512575;
double r1512577 = 3.0;
double r1512578 = r1512564 * r1512577;
double r1512579 = r1512562 / r1512578;
double r1512580 = r1512576 - r1512579;
double r1512581 = r1512572 * r1512580;
double r1512582 = r1512569 - r1512581;
double r1512583 = r1512562 * r1512582;
double r1512584 = exp(r1512583);
double r1512585 = r1512561 * r1512584;
double r1512586 = r1512560 + r1512585;
double r1512587 = r1512560 / r1512586;
return r1512587;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r1512588 = x;
double r1512589 = y;
double r1512590 = 2.0;
double r1512591 = c;
double r1512592 = b;
double r1512593 = r1512591 - r1512592;
double r1512594 = 5.0;
double r1512595 = 6.0;
double r1512596 = r1512594 / r1512595;
double r1512597 = t;
double r1512598 = r1512590 / r1512597;
double r1512599 = 3.0;
double r1512600 = r1512598 / r1512599;
double r1512601 = a;
double r1512602 = r1512600 - r1512601;
double r1512603 = r1512596 - r1512602;
double r1512604 = z;
double r1512605 = r1512601 + r1512597;
double r1512606 = sqrt(r1512605);
double r1512607 = r1512606 / r1512597;
double r1512608 = r1512604 * r1512607;
double r1512609 = fma(r1512593, r1512603, r1512608);
double r1512610 = r1512590 * r1512609;
double r1512611 = exp(r1512610);
double r1512612 = fma(r1512589, r1512611, r1512588);
double r1512613 = r1512588 / r1512612;
return r1512613;
}



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
Initial program 4.0
Simplified2.1
Final simplification2.1
herbie shell --seed 2019144 +o rules:numerics
(FPCore (x y z t a b c)
:name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2"
(/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))