\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}{x + y \cdot e^{2 \cdot \mathsf{fma}\left(\frac{z}{1}, \frac{\sqrt{t + a}}{t}, \left(-\mathsf{fma}\left(1, a + \frac{5}{6}, -\frac{2}{t \cdot 3}\right)\right) \cdot \left(b - c\right)\right)}}double f(double x, double y, double z, double t, double a, double b, double c) {
double r76582 = x;
double r76583 = y;
double r76584 = 2.0;
double r76585 = z;
double r76586 = t;
double r76587 = a;
double r76588 = r76586 + r76587;
double r76589 = sqrt(r76588);
double r76590 = r76585 * r76589;
double r76591 = r76590 / r76586;
double r76592 = b;
double r76593 = c;
double r76594 = r76592 - r76593;
double r76595 = 5.0;
double r76596 = 6.0;
double r76597 = r76595 / r76596;
double r76598 = r76587 + r76597;
double r76599 = 3.0;
double r76600 = r76586 * r76599;
double r76601 = r76584 / r76600;
double r76602 = r76598 - r76601;
double r76603 = r76594 * r76602;
double r76604 = r76591 - r76603;
double r76605 = r76584 * r76604;
double r76606 = exp(r76605);
double r76607 = r76583 * r76606;
double r76608 = r76582 + r76607;
double r76609 = r76582 / r76608;
return r76609;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r76610 = x;
double r76611 = y;
double r76612 = 2.0;
double r76613 = z;
double r76614 = 1.0;
double r76615 = r76613 / r76614;
double r76616 = t;
double r76617 = a;
double r76618 = r76616 + r76617;
double r76619 = sqrt(r76618);
double r76620 = r76619 / r76616;
double r76621 = 5.0;
double r76622 = 6.0;
double r76623 = r76621 / r76622;
double r76624 = r76617 + r76623;
double r76625 = 3.0;
double r76626 = r76616 * r76625;
double r76627 = r76612 / r76626;
double r76628 = -r76627;
double r76629 = fma(r76614, r76624, r76628);
double r76630 = -r76629;
double r76631 = b;
double r76632 = c;
double r76633 = r76631 - r76632;
double r76634 = r76630 * r76633;
double r76635 = fma(r76615, r76620, r76634);
double r76636 = r76612 * r76635;
double r76637 = exp(r76636);
double r76638 = r76611 * r76637;
double r76639 = r76610 + r76638;
double r76640 = r76610 / r76639;
return r76640;
}



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.1
rmApplied add-cbrt-cube4.1
Applied add-cbrt-cube7.1
Applied cbrt-unprod7.1
Applied add-cbrt-cube7.1
Applied cbrt-undiv7.3
Simplified7.3
rmApplied *-un-lft-identity7.3
Applied times-frac6.6
Applied fma-neg5.4
Simplified2.3
Final simplification2.3
herbie shell --seed 2019362 +o rules:numerics
(FPCore (x y z t a b c)
:name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2"
:precision binary64
(/ x (+ x (* y (exp (* 2 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5 6)) (/ 2 (* t 3)))))))))))