\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}\;x \le -5.622640931064597 \cdot 10^{-197}:\\
\;\;\;\;\frac{x}{e^{2.0 \cdot \log \left(e^{\frac{z \cdot \sqrt{t + a}}{t} - \left(a + \left(\frac{5.0}{6.0} - \frac{\frac{2.0}{t}}{3.0}\right)\right) \cdot \left(b - c\right)}\right)} \cdot y + x}\\
\mathbf{elif}\;x \le -1.4237820514682587 \cdot 10^{-289}:\\
\;\;\;\;\frac{x}{e^{2.0 \cdot \left(\left(\frac{z}{\frac{t}{\sqrt{t + a}}} - \left(b - c\right) \cdot \left(\left(a - \frac{2.0}{3.0 \cdot t}\right) + \frac{5.0}{6.0}\right)\right)\right)} \cdot y + x}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{e^{2.0 \cdot \log \left(e^{\frac{z \cdot \sqrt{t + a}}{t} - \left(a + \left(\frac{5.0}{6.0} - \frac{\frac{2.0}{t}}{3.0}\right)\right) \cdot \left(b - c\right)}\right)} \cdot y + x}\\
\end{array}double f(double x, double y, double z, double t, double a, double b, double c) {
double r3959550 = x;
double r3959551 = y;
double r3959552 = 2.0;
double r3959553 = z;
double r3959554 = t;
double r3959555 = a;
double r3959556 = r3959554 + r3959555;
double r3959557 = sqrt(r3959556);
double r3959558 = r3959553 * r3959557;
double r3959559 = r3959558 / r3959554;
double r3959560 = b;
double r3959561 = c;
double r3959562 = r3959560 - r3959561;
double r3959563 = 5.0;
double r3959564 = 6.0;
double r3959565 = r3959563 / r3959564;
double r3959566 = r3959555 + r3959565;
double r3959567 = 3.0;
double r3959568 = r3959554 * r3959567;
double r3959569 = r3959552 / r3959568;
double r3959570 = r3959566 - r3959569;
double r3959571 = r3959562 * r3959570;
double r3959572 = r3959559 - r3959571;
double r3959573 = r3959552 * r3959572;
double r3959574 = exp(r3959573);
double r3959575 = r3959551 * r3959574;
double r3959576 = r3959550 + r3959575;
double r3959577 = r3959550 / r3959576;
return r3959577;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r3959578 = x;
double r3959579 = -5.622640931064597e-197;
bool r3959580 = r3959578 <= r3959579;
double r3959581 = 2.0;
double r3959582 = z;
double r3959583 = t;
double r3959584 = a;
double r3959585 = r3959583 + r3959584;
double r3959586 = sqrt(r3959585);
double r3959587 = r3959582 * r3959586;
double r3959588 = r3959587 / r3959583;
double r3959589 = 5.0;
double r3959590 = 6.0;
double r3959591 = r3959589 / r3959590;
double r3959592 = r3959581 / r3959583;
double r3959593 = 3.0;
double r3959594 = r3959592 / r3959593;
double r3959595 = r3959591 - r3959594;
double r3959596 = r3959584 + r3959595;
double r3959597 = b;
double r3959598 = c;
double r3959599 = r3959597 - r3959598;
double r3959600 = r3959596 * r3959599;
double r3959601 = r3959588 - r3959600;
double r3959602 = exp(r3959601);
double r3959603 = log(r3959602);
double r3959604 = r3959581 * r3959603;
double r3959605 = exp(r3959604);
double r3959606 = y;
double r3959607 = r3959605 * r3959606;
double r3959608 = r3959607 + r3959578;
double r3959609 = r3959578 / r3959608;
double r3959610 = -1.4237820514682587e-289;
bool r3959611 = r3959578 <= r3959610;
double r3959612 = r3959583 / r3959586;
double r3959613 = r3959582 / r3959612;
double r3959614 = r3959593 * r3959583;
double r3959615 = r3959581 / r3959614;
double r3959616 = r3959584 - r3959615;
double r3959617 = r3959616 + r3959591;
double r3959618 = r3959599 * r3959617;
double r3959619 = r3959613 - r3959618;
double r3959620 = /* ERROR: no posit support in C */;
double r3959621 = /* ERROR: no posit support in C */;
double r3959622 = r3959581 * r3959621;
double r3959623 = exp(r3959622);
double r3959624 = r3959623 * r3959606;
double r3959625 = r3959624 + r3959578;
double r3959626 = r3959578 / r3959625;
double r3959627 = r3959611 ? r3959626 : r3959609;
double r3959628 = r3959580 ? r3959609 : r3959627;
return r3959628;
}



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 x < -5.622640931064597e-197 or -1.4237820514682587e-289 < x Initial program 3.8
rmApplied add-log-exp8.5
Applied add-log-exp17.1
Applied diff-log17.1
Simplified3.8
if -5.622640931064597e-197 < x < -1.4237820514682587e-289Initial program 5.5
rmApplied add-cbrt-cube5.5
Applied add-cbrt-cube9.2
Applied cbrt-unprod9.2
Applied add-cbrt-cube9.2
Applied cbrt-undiv9.3
Simplified9.3
rmApplied insert-posit1620.1
Simplified16.1
Final simplification4.7
herbie shell --seed 2019165
(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)))))))))))