\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)}}\frac{x}{\mathsf{fma}\left(y, e^{2.0 \cdot \mathsf{fma}\left(c - b, \frac{5.0}{6.0} - \left(\frac{\frac{2.0}{t}}{3.0} - a\right), \frac{\sqrt{\sqrt[3]{a + t}}}{\frac{t}{\sqrt[3]{z}}} \cdot \frac{\sqrt{\sqrt[3]{a + t} \cdot \sqrt[3]{a + t}}}{\frac{1}{\sqrt[3]{z} \cdot \sqrt[3]{z}}}\right)}, x\right)}double f(double x, double y, double z, double t, double a, double b, double c) {
double r3400219 = x;
double r3400220 = y;
double r3400221 = 2.0;
double r3400222 = z;
double r3400223 = t;
double r3400224 = a;
double r3400225 = r3400223 + r3400224;
double r3400226 = sqrt(r3400225);
double r3400227 = r3400222 * r3400226;
double r3400228 = r3400227 / r3400223;
double r3400229 = b;
double r3400230 = c;
double r3400231 = r3400229 - r3400230;
double r3400232 = 5.0;
double r3400233 = 6.0;
double r3400234 = r3400232 / r3400233;
double r3400235 = r3400224 + r3400234;
double r3400236 = 3.0;
double r3400237 = r3400223 * r3400236;
double r3400238 = r3400221 / r3400237;
double r3400239 = r3400235 - r3400238;
double r3400240 = r3400231 * r3400239;
double r3400241 = r3400228 - r3400240;
double r3400242 = r3400221 * r3400241;
double r3400243 = exp(r3400242);
double r3400244 = r3400220 * r3400243;
double r3400245 = r3400219 + r3400244;
double r3400246 = r3400219 / r3400245;
return r3400246;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r3400247 = x;
double r3400248 = y;
double r3400249 = 2.0;
double r3400250 = c;
double r3400251 = b;
double r3400252 = r3400250 - r3400251;
double r3400253 = 5.0;
double r3400254 = 6.0;
double r3400255 = r3400253 / r3400254;
double r3400256 = t;
double r3400257 = r3400249 / r3400256;
double r3400258 = 3.0;
double r3400259 = r3400257 / r3400258;
double r3400260 = a;
double r3400261 = r3400259 - r3400260;
double r3400262 = r3400255 - r3400261;
double r3400263 = r3400260 + r3400256;
double r3400264 = cbrt(r3400263);
double r3400265 = sqrt(r3400264);
double r3400266 = z;
double r3400267 = cbrt(r3400266);
double r3400268 = r3400256 / r3400267;
double r3400269 = r3400265 / r3400268;
double r3400270 = r3400264 * r3400264;
double r3400271 = sqrt(r3400270);
double r3400272 = 1.0;
double r3400273 = r3400267 * r3400267;
double r3400274 = r3400272 / r3400273;
double r3400275 = r3400271 / r3400274;
double r3400276 = r3400269 * r3400275;
double r3400277 = fma(r3400252, r3400262, r3400276);
double r3400278 = r3400249 * r3400277;
double r3400279 = exp(r3400278);
double r3400280 = fma(r3400248, r3400279, r3400247);
double r3400281 = r3400247 / r3400280;
return r3400281;
}



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
Initial program 3.7
Simplified1.8
rmApplied add-cube-cbrt1.8
Applied *-un-lft-identity1.8
Applied times-frac1.8
Applied add-cube-cbrt1.8
Applied sqrt-prod1.8
Applied times-frac1.5
Final simplification1.5
herbie shell --seed 2019162 +o rules:numerics
(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)))))))))))