\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\frac{x}{\mathsf{fma}\left(y, e^{2 \cdot \mathsf{fma}\left(c - b, \left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}, \frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt{t + a}}{\sqrt[3]{t}}\right)}, x\right)}double f(double x, double y, double z, double t, double a, double b, double c) {
double r6080230 = x;
double r6080231 = y;
double r6080232 = 2.0;
double r6080233 = z;
double r6080234 = t;
double r6080235 = a;
double r6080236 = r6080234 + r6080235;
double r6080237 = sqrt(r6080236);
double r6080238 = r6080233 * r6080237;
double r6080239 = r6080238 / r6080234;
double r6080240 = b;
double r6080241 = c;
double r6080242 = r6080240 - r6080241;
double r6080243 = 5.0;
double r6080244 = 6.0;
double r6080245 = r6080243 / r6080244;
double r6080246 = r6080235 + r6080245;
double r6080247 = 3.0;
double r6080248 = r6080234 * r6080247;
double r6080249 = r6080232 / r6080248;
double r6080250 = r6080246 - r6080249;
double r6080251 = r6080242 * r6080250;
double r6080252 = r6080239 - r6080251;
double r6080253 = r6080232 * r6080252;
double r6080254 = exp(r6080253);
double r6080255 = r6080231 * r6080254;
double r6080256 = r6080230 + r6080255;
double r6080257 = r6080230 / r6080256;
return r6080257;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r6080258 = x;
double r6080259 = y;
double r6080260 = 2.0;
double r6080261 = c;
double r6080262 = b;
double r6080263 = r6080261 - r6080262;
double r6080264 = a;
double r6080265 = 5.0;
double r6080266 = 6.0;
double r6080267 = r6080265 / r6080266;
double r6080268 = r6080264 + r6080267;
double r6080269 = t;
double r6080270 = 3.0;
double r6080271 = r6080269 * r6080270;
double r6080272 = r6080260 / r6080271;
double r6080273 = r6080268 - r6080272;
double r6080274 = z;
double r6080275 = cbrt(r6080269);
double r6080276 = r6080275 * r6080275;
double r6080277 = r6080274 / r6080276;
double r6080278 = r6080269 + r6080264;
double r6080279 = sqrt(r6080278);
double r6080280 = r6080279 / r6080275;
double r6080281 = r6080277 * r6080280;
double r6080282 = fma(r6080263, r6080273, r6080281);
double r6080283 = r6080260 * r6080282;
double r6080284 = exp(r6080283);
double r6080285 = fma(r6080259, r6080284, r6080258);
double r6080286 = r6080258 / r6080285;
return r6080286;
}



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.9
Simplified2.5
rmApplied add-cube-cbrt2.5
Applied times-frac1.5
Final simplification1.5
herbie shell --seed 2019173 +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)))))))))))