\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}\;t \le -6.177513430816546 \cdot 10^{-254} \lor \neg \left(t \le 3.7572636500080666 \cdot 10^{-270}\right):\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \mathsf{fma}\left(\frac{z}{1}, \frac{\sqrt{t + a}}{t}, -\left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\left(z \cdot \sqrt{t + a}\right) \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right) - t \cdot \left(\left(b - c\right) \cdot \left(\left(a \cdot a - \frac{5}{6} \cdot \frac{5}{6}\right) \cdot \left(t \cdot 3\right) - \left(a - \frac{5}{6}\right) \cdot 2\right)\right)}{t \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right)}}}\\
\end{array}double f(double x, double y, double z, double t, double a, double b, double c) {
double r87327 = x;
double r87328 = y;
double r87329 = 2.0;
double r87330 = z;
double r87331 = t;
double r87332 = a;
double r87333 = r87331 + r87332;
double r87334 = sqrt(r87333);
double r87335 = r87330 * r87334;
double r87336 = r87335 / r87331;
double r87337 = b;
double r87338 = c;
double r87339 = r87337 - r87338;
double r87340 = 5.0;
double r87341 = 6.0;
double r87342 = r87340 / r87341;
double r87343 = r87332 + r87342;
double r87344 = 3.0;
double r87345 = r87331 * r87344;
double r87346 = r87329 / r87345;
double r87347 = r87343 - r87346;
double r87348 = r87339 * r87347;
double r87349 = r87336 - r87348;
double r87350 = r87329 * r87349;
double r87351 = exp(r87350);
double r87352 = r87328 * r87351;
double r87353 = r87327 + r87352;
double r87354 = r87327 / r87353;
return r87354;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r87355 = t;
double r87356 = -6.177513430816546e-254;
bool r87357 = r87355 <= r87356;
double r87358 = 3.7572636500080666e-270;
bool r87359 = r87355 <= r87358;
double r87360 = !r87359;
bool r87361 = r87357 || r87360;
double r87362 = x;
double r87363 = y;
double r87364 = 2.0;
double r87365 = z;
double r87366 = 1.0;
double r87367 = r87365 / r87366;
double r87368 = a;
double r87369 = r87355 + r87368;
double r87370 = sqrt(r87369);
double r87371 = r87370 / r87355;
double r87372 = b;
double r87373 = c;
double r87374 = r87372 - r87373;
double r87375 = 5.0;
double r87376 = 6.0;
double r87377 = r87375 / r87376;
double r87378 = r87368 + r87377;
double r87379 = 3.0;
double r87380 = r87355 * r87379;
double r87381 = r87364 / r87380;
double r87382 = r87378 - r87381;
double r87383 = r87374 * r87382;
double r87384 = -r87383;
double r87385 = fma(r87367, r87371, r87384);
double r87386 = r87364 * r87385;
double r87387 = exp(r87386);
double r87388 = r87363 * r87387;
double r87389 = r87362 + r87388;
double r87390 = r87362 / r87389;
double r87391 = r87365 * r87370;
double r87392 = r87368 - r87377;
double r87393 = r87392 * r87380;
double r87394 = r87391 * r87393;
double r87395 = r87368 * r87368;
double r87396 = r87377 * r87377;
double r87397 = r87395 - r87396;
double r87398 = r87397 * r87380;
double r87399 = r87392 * r87364;
double r87400 = r87398 - r87399;
double r87401 = r87374 * r87400;
double r87402 = r87355 * r87401;
double r87403 = r87394 - r87402;
double r87404 = r87355 * r87393;
double r87405 = r87403 / r87404;
double r87406 = r87364 * r87405;
double r87407 = exp(r87406);
double r87408 = r87363 * r87407;
double r87409 = r87362 + r87408;
double r87410 = r87362 / r87409;
double r87411 = r87361 ? r87390 : r87410;
return r87411;
}



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
if t < -6.177513430816546e-254 or 3.7572636500080666e-270 < t Initial program 3.4
rmApplied *-un-lft-identity3.4
Applied times-frac2.5
Applied fma-neg1.4
if -6.177513430816546e-254 < t < 3.7572636500080666e-270Initial program 11.8
rmApplied flip-+15.7
Applied frac-sub15.7
Applied associate-*r/15.7
Applied frac-sub10.8
Final simplification2.0
herbie shell --seed 2020089 +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)))))))))))