\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\frac{x}{\mathsf{fma}\left(y, e^{2 \cdot \mathsf{fma}\left(c - b, \frac{5}{6} - \left(\frac{\frac{2}{t}}{3} - a\right), \frac{\frac{\frac{\sqrt{a + t}}{\sqrt[3]{t}}}{\sqrt[3]{t}}}{\frac{\sqrt[3]{t}}{z}}\right)}, x\right)}double f(double x, double y, double z, double t, double a, double b, double c) {
double r3121538 = x;
double r3121539 = y;
double r3121540 = 2.0;
double r3121541 = z;
double r3121542 = t;
double r3121543 = a;
double r3121544 = r3121542 + r3121543;
double r3121545 = sqrt(r3121544);
double r3121546 = r3121541 * r3121545;
double r3121547 = r3121546 / r3121542;
double r3121548 = b;
double r3121549 = c;
double r3121550 = r3121548 - r3121549;
double r3121551 = 5.0;
double r3121552 = 6.0;
double r3121553 = r3121551 / r3121552;
double r3121554 = r3121543 + r3121553;
double r3121555 = 3.0;
double r3121556 = r3121542 * r3121555;
double r3121557 = r3121540 / r3121556;
double r3121558 = r3121554 - r3121557;
double r3121559 = r3121550 * r3121558;
double r3121560 = r3121547 - r3121559;
double r3121561 = r3121540 * r3121560;
double r3121562 = exp(r3121561);
double r3121563 = r3121539 * r3121562;
double r3121564 = r3121538 + r3121563;
double r3121565 = r3121538 / r3121564;
return r3121565;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r3121566 = x;
double r3121567 = y;
double r3121568 = 2.0;
double r3121569 = c;
double r3121570 = b;
double r3121571 = r3121569 - r3121570;
double r3121572 = 5.0;
double r3121573 = 6.0;
double r3121574 = r3121572 / r3121573;
double r3121575 = t;
double r3121576 = r3121568 / r3121575;
double r3121577 = 3.0;
double r3121578 = r3121576 / r3121577;
double r3121579 = a;
double r3121580 = r3121578 - r3121579;
double r3121581 = r3121574 - r3121580;
double r3121582 = r3121579 + r3121575;
double r3121583 = sqrt(r3121582);
double r3121584 = cbrt(r3121575);
double r3121585 = r3121583 / r3121584;
double r3121586 = r3121585 / r3121584;
double r3121587 = z;
double r3121588 = r3121584 / r3121587;
double r3121589 = r3121586 / r3121588;
double r3121590 = fma(r3121571, r3121581, r3121589);
double r3121591 = r3121568 * r3121590;
double r3121592 = exp(r3121591);
double r3121593 = fma(r3121567, r3121592, r3121566);
double r3121594 = r3121566 / r3121593;
return r3121594;
}



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
Simplified1.7
rmApplied *-un-lft-identity1.7
Applied add-cube-cbrt1.7
Applied times-frac1.7
Applied associate-/r*1.6
Simplified1.6
Final simplification1.6
herbie shell --seed 2019172 +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)))))))))))