double f(double x, double y, double z, double t, double a, double b, double c) {
double r16029042 = x;
double r16029043 = y;
double r16029044 = 2.0;
double r16029045 = z;
double r16029046 = t;
double r16029047 = a;
double r16029048 = r16029046 + r16029047;
double r16029049 = sqrt(r16029048);
double r16029050 = r16029045 * r16029049;
double r16029051 = r16029050 / r16029046;
double r16029052 = b;
double r16029053 = c;
double r16029054 = r16029052 - r16029053;
double r16029055 = 5.0;
double r16029056 = 6.0;
double r16029057 = r16029055 / r16029056;
double r16029058 = r16029047 + r16029057;
double r16029059 = 3.0;
double r16029060 = r16029046 * r16029059;
double r16029061 = r16029044 / r16029060;
double r16029062 = r16029058 - r16029061;
double r16029063 = r16029054 * r16029062;
double r16029064 = r16029051 - r16029063;
double r16029065 = r16029044 * r16029064;
double r16029066 = exp(r16029065);
double r16029067 = r16029043 * r16029066;
double r16029068 = r16029042 + r16029067;
double r16029069 = r16029042 / r16029068;
return r16029069;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r16029070 = z;
double r16029071 = -6.377199016684507e+125;
bool r16029072 = r16029070 <= r16029071;
double r16029073 = x;
double r16029074 = 2.0;
double r16029075 = a;
double r16029076 = t;
double r16029077 = r16029075 + r16029076;
double r16029078 = sqrt(r16029077);
double r16029079 = r16029078 * r16029070;
double r16029080 = r16029079 / r16029076;
double r16029081 = b;
double r16029082 = r16029081 * r16029075;
double r16029083 = c;
double r16029084 = 0.8333333333333334;
double r16029085 = r16029084 + r16029075;
double r16029086 = r16029083 * r16029085;
double r16029087 = r16029082 - r16029086;
double r16029088 = r16029080 - r16029087;
double r16029089 = r16029074 * r16029088;
double r16029090 = exp(r16029089);
double r16029091 = y;
double r16029092 = r16029090 * r16029091;
double r16029093 = r16029073 + r16029092;
double r16029094 = r16029073 / r16029093;
double r16029095 = 1.4007969406216106e+24;
bool r16029096 = r16029070 <= r16029095;
double r16029097 = 5.0;
double r16029098 = 6.0;
double r16029099 = r16029097 / r16029098;
double r16029100 = r16029075 + r16029099;
double r16029101 = 3.0;
double r16029102 = r16029074 / r16029101;
double r16029103 = r16029102 / r16029076;
double r16029104 = r16029103 * r16029103;
double r16029105 = r16029104 * r16029103;
double r16029106 = cbrt(r16029105);
double r16029107 = r16029100 - r16029106;
double r16029108 = r16029081 - r16029083;
double r16029109 = r16029107 * r16029108;
double r16029110 = r16029080 - r16029109;
double r16029111 = r16029074 * r16029110;
double r16029112 = exp(r16029111);
double r16029113 = r16029112 * r16029091;
double r16029114 = r16029073 + r16029113;
double r16029115 = r16029073 / r16029114;
double r16029116 = r16029096 ? r16029115 : r16029094;
double r16029117 = r16029072 ? r16029094 : r16029116;
return r16029117;
}
\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}\;z \le -6.377199016684507 \cdot 10^{+125}:\\
\;\;\;\;\frac{x}{x + e^{2.0 \cdot \left(\frac{\sqrt{a + t} \cdot z}{t} - \left(b \cdot a - c \cdot \left(0.8333333333333334 + a\right)\right)\right)} \cdot y}\\
\mathbf{elif}\;z \le 1.4007969406216106 \cdot 10^{+24}:\\
\;\;\;\;\frac{x}{x + e^{2.0 \cdot \left(\frac{\sqrt{a + t} \cdot z}{t} - \left(\left(a + \frac{5.0}{6.0}\right) - \sqrt[3]{\left(\frac{\frac{2.0}{3.0}}{t} \cdot \frac{\frac{2.0}{3.0}}{t}\right) \cdot \frac{\frac{2.0}{3.0}}{t}}\right) \cdot \left(b - c\right)\right)} \cdot y}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{x + e^{2.0 \cdot \left(\frac{\sqrt{a + t} \cdot z}{t} - \left(b \cdot a - c \cdot \left(0.8333333333333334 + a\right)\right)\right)} \cdot y}\\
\end{array}


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 z < -6.377199016684507e+125 or 1.4007969406216106e+24 < z Initial program 8.9
Taylor expanded around -inf 8.9
Taylor expanded around inf 13.6
Simplified13.6
if -6.377199016684507e+125 < z < 1.4007969406216106e+24Initial program 0.7
rmApplied add-cbrt-cube3.0
Applied add-cbrt-cube3.0
Applied cbrt-undiv3.1
Simplified3.1
Final simplification7.0
herbie shell --seed 2019101
(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)))))))))))