\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)}}\begin{array}{l}
\mathbf{if}\;a \le -22001314.6823281534 \lor \neg \left(a \le 2194466201231741940000\right):\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \mathsf{fma}\left(c, a, 0.83333333333333337 \cdot c - a \cdot b\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \mathsf{fma}\left(\frac{z}{1}, \frac{\sqrt{t + a}}{t}, -\mathsf{fma}\left(0.66666666666666663, \frac{c}{t}, 0.83333333333333337 \cdot b - 0.66666666666666663 \cdot \frac{b}{t}\right)\right)}}\\
\end{array}double code(double x, double y, double z, double t, double a, double b, double c) {
return ((double) (x / ((double) (x + ((double) (y * ((double) exp(((double) (2.0 * ((double) (((double) (((double) (z * ((double) sqrt(((double) (t + a)))))) / t)) - ((double) (((double) (b - c)) * ((double) (((double) (a + ((double) (5.0 / 6.0)))) - ((double) (2.0 / ((double) (t * 3.0))))))))))))))))))));
}
double code(double x, double y, double z, double t, double a, double b, double c) {
double VAR;
if (((a <= -22001314.682328153) || !(a <= 2.194466201231742e+21))) {
VAR = ((double) (x / ((double) (x + ((double) (y * ((double) exp(((double) (2.0 * ((double) fma(c, a, ((double) (((double) (0.8333333333333334 * c)) - ((double) (a * b))))))))))))))));
} else {
VAR = ((double) (x / ((double) (x + ((double) (y * ((double) exp(((double) (2.0 * ((double) fma(((double) (z / 1.0)), ((double) (((double) sqrt(((double) (t + a)))) / t)), ((double) -(((double) fma(0.6666666666666666, ((double) (c / t)), ((double) (((double) (0.8333333333333334 * b)) - ((double) (0.6666666666666666 * ((double) (b / t))))))))))))))))))))));
}
return VAR;
}



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
Results
if a < -22001314.682328153 or 2.194466201231742e+21 < a Initial program 5.8
Taylor expanded around inf 13.7
Simplified12.2
if -22001314.682328153 < a < 2.194466201231742e+21Initial program 2.4
rmApplied *-un-lft-identity2.4
Applied times-frac1.5
Applied fma-neg0.4
Taylor expanded around 0 9.1
Simplified9.1
Final simplification10.5
herbie shell --seed 2020122 +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)))))))))))