\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)}}\begin{array}{l}
\mathbf{if}\;t \le -2.2926071099672017 \cdot 10^{-62}:\\
\;\;\;\;\frac{x}{e^{\left(\frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt{t + a}}{\sqrt[3]{t}} - \left(\left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}\right) \cdot \left(b - c\right)\right) \cdot 2.0} \cdot y + x}\\
\mathbf{elif}\;t \le 9.868716990597183 \cdot 10^{-211}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{\frac{\left(\left(\left(t \cdot 3.0\right) \cdot \left(a - \frac{5.0}{6.0}\right)\right) \cdot z\right) \cdot \sqrt{t + a} - \left(b - c\right) \cdot \left(t \cdot \left(\left(\frac{5.0}{6.0} + a\right) \cdot \left(\left(t \cdot 3.0\right) \cdot \left(a - \frac{5.0}{6.0}\right)\right) - 2.0 \cdot \left(a - \frac{5.0}{6.0}\right)\right)\right)}{\left(\left(t \cdot 3.0\right) \cdot \left(a - \frac{5.0}{6.0}\right)\right) \cdot t} \cdot 2.0}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{e^{\left(\frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt{t + a}}{\sqrt[3]{t}} - \left(\left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}\right) \cdot \left(b - c\right)\right) \cdot 2.0} \cdot y + x}\\
\end{array}double f(double x, double y, double z, double t, double a, double b, double c) {
double r5641467 = x;
double r5641468 = y;
double r5641469 = 2.0;
double r5641470 = z;
double r5641471 = t;
double r5641472 = a;
double r5641473 = r5641471 + r5641472;
double r5641474 = sqrt(r5641473);
double r5641475 = r5641470 * r5641474;
double r5641476 = r5641475 / r5641471;
double r5641477 = b;
double r5641478 = c;
double r5641479 = r5641477 - r5641478;
double r5641480 = 5.0;
double r5641481 = 6.0;
double r5641482 = r5641480 / r5641481;
double r5641483 = r5641472 + r5641482;
double r5641484 = 3.0;
double r5641485 = r5641471 * r5641484;
double r5641486 = r5641469 / r5641485;
double r5641487 = r5641483 - r5641486;
double r5641488 = r5641479 * r5641487;
double r5641489 = r5641476 - r5641488;
double r5641490 = r5641469 * r5641489;
double r5641491 = exp(r5641490);
double r5641492 = r5641468 * r5641491;
double r5641493 = r5641467 + r5641492;
double r5641494 = r5641467 / r5641493;
return r5641494;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r5641495 = t;
double r5641496 = -2.2926071099672017e-62;
bool r5641497 = r5641495 <= r5641496;
double r5641498 = x;
double r5641499 = z;
double r5641500 = cbrt(r5641495);
double r5641501 = r5641500 * r5641500;
double r5641502 = r5641499 / r5641501;
double r5641503 = a;
double r5641504 = r5641495 + r5641503;
double r5641505 = sqrt(r5641504);
double r5641506 = r5641505 / r5641500;
double r5641507 = r5641502 * r5641506;
double r5641508 = 5.0;
double r5641509 = 6.0;
double r5641510 = r5641508 / r5641509;
double r5641511 = r5641510 + r5641503;
double r5641512 = 2.0;
double r5641513 = 3.0;
double r5641514 = r5641495 * r5641513;
double r5641515 = r5641512 / r5641514;
double r5641516 = r5641511 - r5641515;
double r5641517 = b;
double r5641518 = c;
double r5641519 = r5641517 - r5641518;
double r5641520 = r5641516 * r5641519;
double r5641521 = r5641507 - r5641520;
double r5641522 = r5641521 * r5641512;
double r5641523 = exp(r5641522);
double r5641524 = y;
double r5641525 = r5641523 * r5641524;
double r5641526 = r5641525 + r5641498;
double r5641527 = r5641498 / r5641526;
double r5641528 = 9.868716990597183e-211;
bool r5641529 = r5641495 <= r5641528;
double r5641530 = r5641503 - r5641510;
double r5641531 = r5641514 * r5641530;
double r5641532 = r5641531 * r5641499;
double r5641533 = r5641532 * r5641505;
double r5641534 = r5641511 * r5641531;
double r5641535 = r5641512 * r5641530;
double r5641536 = r5641534 - r5641535;
double r5641537 = r5641495 * r5641536;
double r5641538 = r5641519 * r5641537;
double r5641539 = r5641533 - r5641538;
double r5641540 = r5641531 * r5641495;
double r5641541 = r5641539 / r5641540;
double r5641542 = r5641541 * r5641512;
double r5641543 = exp(r5641542);
double r5641544 = r5641524 * r5641543;
double r5641545 = r5641498 + r5641544;
double r5641546 = r5641498 / r5641545;
double r5641547 = r5641529 ? r5641546 : r5641527;
double r5641548 = r5641497 ? r5641527 : r5641547;
return r5641548;
}



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 t < -2.2926071099672017e-62 or 9.868716990597183e-211 < t Initial program 2.5
rmApplied add-cube-cbrt2.5
Applied times-frac1.1
if -2.2926071099672017e-62 < t < 9.868716990597183e-211Initial program 7.4
rmApplied flip-+11.3
Applied frac-sub11.3
Applied associate-*r/11.3
Applied frac-sub8.5
Simplified3.5
Final simplification1.7
herbie shell --seed 2019146
(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)))))))))))