\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 -1.1612391247182872 \cdot 10^{-132}:\\
\;\;\;\;\frac{x}{y \cdot e^{\left(\frac{z}{\frac{t}{\sqrt{t + a}}} - \left(b - c\right) \cdot \left(\left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}\right)\right) \cdot 2.0} + x}\\
\mathbf{elif}\;t \le 7.549000311467359 \cdot 10^{-128}:\\
\;\;\;\;\frac{x}{x + e^{2.0 \cdot \left(\frac{1}{t} \cdot \left(\frac{z}{\frac{1}{\sqrt{t + a}}} - \frac{\left(a - \frac{5.0}{6.0}\right) \cdot \left(\left(\frac{5.0}{6.0} + a\right) \cdot \left(t \cdot 3.0\right) - 2.0\right)}{\frac{\frac{a - \frac{5.0}{6.0}}{\frac{t}{t \cdot 3.0}}}{b - c}}\right)\right)} \cdot y}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{y \cdot e^{\left(\frac{z}{\frac{t}{\sqrt{t + a}}} - \left(b - c\right) \cdot \left(\left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}\right)\right) \cdot 2.0} + x}\\
\end{array}double f(double x, double y, double z, double t, double a, double b, double c) {
double r73516586 = x;
double r73516587 = y;
double r73516588 = 2.0;
double r73516589 = z;
double r73516590 = t;
double r73516591 = a;
double r73516592 = r73516590 + r73516591;
double r73516593 = sqrt(r73516592);
double r73516594 = r73516589 * r73516593;
double r73516595 = r73516594 / r73516590;
double r73516596 = b;
double r73516597 = c;
double r73516598 = r73516596 - r73516597;
double r73516599 = 5.0;
double r73516600 = 6.0;
double r73516601 = r73516599 / r73516600;
double r73516602 = r73516591 + r73516601;
double r73516603 = 3.0;
double r73516604 = r73516590 * r73516603;
double r73516605 = r73516588 / r73516604;
double r73516606 = r73516602 - r73516605;
double r73516607 = r73516598 * r73516606;
double r73516608 = r73516595 - r73516607;
double r73516609 = r73516588 * r73516608;
double r73516610 = exp(r73516609);
double r73516611 = r73516587 * r73516610;
double r73516612 = r73516586 + r73516611;
double r73516613 = r73516586 / r73516612;
return r73516613;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r73516614 = t;
double r73516615 = -1.1612391247182872e-132;
bool r73516616 = r73516614 <= r73516615;
double r73516617 = x;
double r73516618 = y;
double r73516619 = z;
double r73516620 = a;
double r73516621 = r73516614 + r73516620;
double r73516622 = sqrt(r73516621);
double r73516623 = r73516614 / r73516622;
double r73516624 = r73516619 / r73516623;
double r73516625 = b;
double r73516626 = c;
double r73516627 = r73516625 - r73516626;
double r73516628 = 5.0;
double r73516629 = 6.0;
double r73516630 = r73516628 / r73516629;
double r73516631 = r73516630 + r73516620;
double r73516632 = 2.0;
double r73516633 = 3.0;
double r73516634 = r73516614 * r73516633;
double r73516635 = r73516632 / r73516634;
double r73516636 = r73516631 - r73516635;
double r73516637 = r73516627 * r73516636;
double r73516638 = r73516624 - r73516637;
double r73516639 = r73516638 * r73516632;
double r73516640 = exp(r73516639);
double r73516641 = r73516618 * r73516640;
double r73516642 = r73516641 + r73516617;
double r73516643 = r73516617 / r73516642;
double r73516644 = 7.549000311467359e-128;
bool r73516645 = r73516614 <= r73516644;
double r73516646 = 1.0;
double r73516647 = r73516646 / r73516614;
double r73516648 = r73516646 / r73516622;
double r73516649 = r73516619 / r73516648;
double r73516650 = r73516620 - r73516630;
double r73516651 = r73516631 * r73516634;
double r73516652 = r73516651 - r73516632;
double r73516653 = r73516650 * r73516652;
double r73516654 = r73516614 / r73516634;
double r73516655 = r73516650 / r73516654;
double r73516656 = r73516655 / r73516627;
double r73516657 = r73516653 / r73516656;
double r73516658 = r73516649 - r73516657;
double r73516659 = r73516647 * r73516658;
double r73516660 = r73516632 * r73516659;
double r73516661 = exp(r73516660);
double r73516662 = r73516661 * r73516618;
double r73516663 = r73516617 + r73516662;
double r73516664 = r73516617 / r73516663;
double r73516665 = r73516645 ? r73516664 : r73516643;
double r73516666 = r73516616 ? r73516643 : r73516665;
return r73516666;
}



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 < -1.1612391247182872e-132 or 7.549000311467359e-128 < t Initial program 2.2
rmApplied associate-/l*0.7
if -1.1612391247182872e-132 < t < 7.549000311467359e-128Initial program 7.3
rmApplied flip-+11.1
Applied frac-sub11.1
Applied associate-*r/11.1
Applied frac-sub8.0
rmApplied *-un-lft-identity8.0
Applied times-frac7.4
Simplified1.9
Final simplification1.1
herbie shell --seed 2019125
(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)))))))))))