Average Error: 4.1 → 1.5
Time: 4.8m
Precision: 64
\[\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, \left(e^{2.0 \cdot \mathsf{fma}\left(\left(\frac{\sqrt[3]{z}}{\sqrt[3]{t}} \cdot \frac{\sqrt[3]{z}}{\sqrt[3]{t}}\right), \left(\frac{\sqrt{t + a}}{\frac{\sqrt[3]{t}}{\sqrt[3]{z}}}\right), \left(\left(-\left(b - c\right)\right) \cdot \left(\left(a - \frac{2.0}{3.0 \cdot t}\right) + \frac{5.0}{6.0}\right)\right)\right)}\right), x\right)}\]
\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, \left(e^{2.0 \cdot \mathsf{fma}\left(\left(\frac{\sqrt[3]{z}}{\sqrt[3]{t}} \cdot \frac{\sqrt[3]{z}}{\sqrt[3]{t}}\right), \left(\frac{\sqrt{t + a}}{\frac{\sqrt[3]{t}}{\sqrt[3]{z}}}\right), \left(\left(-\left(b - c\right)\right) \cdot \left(\left(a - \frac{2.0}{3.0 \cdot t}\right) + \frac{5.0}{6.0}\right)\right)\right)}\right), x\right)}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r24303353 = x;
        double r24303354 = y;
        double r24303355 = 2.0;
        double r24303356 = z;
        double r24303357 = t;
        double r24303358 = a;
        double r24303359 = r24303357 + r24303358;
        double r24303360 = sqrt(r24303359);
        double r24303361 = r24303356 * r24303360;
        double r24303362 = r24303361 / r24303357;
        double r24303363 = b;
        double r24303364 = c;
        double r24303365 = r24303363 - r24303364;
        double r24303366 = 5.0;
        double r24303367 = 6.0;
        double r24303368 = r24303366 / r24303367;
        double r24303369 = r24303358 + r24303368;
        double r24303370 = 3.0;
        double r24303371 = r24303357 * r24303370;
        double r24303372 = r24303355 / r24303371;
        double r24303373 = r24303369 - r24303372;
        double r24303374 = r24303365 * r24303373;
        double r24303375 = r24303362 - r24303374;
        double r24303376 = r24303355 * r24303375;
        double r24303377 = exp(r24303376);
        double r24303378 = r24303354 * r24303377;
        double r24303379 = r24303353 + r24303378;
        double r24303380 = r24303353 / r24303379;
        return r24303380;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r24303381 = x;
        double r24303382 = y;
        double r24303383 = 2.0;
        double r24303384 = z;
        double r24303385 = cbrt(r24303384);
        double r24303386 = t;
        double r24303387 = cbrt(r24303386);
        double r24303388 = r24303385 / r24303387;
        double r24303389 = r24303388 * r24303388;
        double r24303390 = a;
        double r24303391 = r24303386 + r24303390;
        double r24303392 = sqrt(r24303391);
        double r24303393 = r24303387 / r24303385;
        double r24303394 = r24303392 / r24303393;
        double r24303395 = b;
        double r24303396 = c;
        double r24303397 = r24303395 - r24303396;
        double r24303398 = -r24303397;
        double r24303399 = 3.0;
        double r24303400 = r24303399 * r24303386;
        double r24303401 = r24303383 / r24303400;
        double r24303402 = r24303390 - r24303401;
        double r24303403 = 5.0;
        double r24303404 = 6.0;
        double r24303405 = r24303403 / r24303404;
        double r24303406 = r24303402 + r24303405;
        double r24303407 = r24303398 * r24303406;
        double r24303408 = fma(r24303389, r24303394, r24303407);
        double r24303409 = r24303383 * r24303408;
        double r24303410 = exp(r24303409);
        double r24303411 = fma(r24303382, r24303410, r24303381);
        double r24303412 = r24303381 / r24303411;
        return r24303412;
}

Error

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

Derivation

  1. Initial program 4.1

    \[\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)}}\]
  2. Simplified3.2

    \[\leadsto \color{blue}{\frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \left(\frac{\sqrt{a + t}}{\frac{t}{z}} - \left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)}\right), x\right)}}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt3.2

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \left(\frac{\sqrt{a + t}}{\frac{t}{\color{blue}{\left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) \cdot \sqrt[3]{z}}}} - \left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)}\right), x\right)}\]
  5. Applied add-cube-cbrt3.2

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \left(\frac{\sqrt{a + t}}{\frac{\color{blue}{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot \sqrt[3]{t}}}{\left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) \cdot \sqrt[3]{z}}} - \left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)}\right), x\right)}\]
  6. Applied times-frac3.2

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \left(\frac{\sqrt{a + t}}{\color{blue}{\frac{\sqrt[3]{t} \cdot \sqrt[3]{t}}{\sqrt[3]{z} \cdot \sqrt[3]{z}} \cdot \frac{\sqrt[3]{t}}{\sqrt[3]{z}}}} - \left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)}\right), x\right)}\]
  7. Applied *-un-lft-identity3.2

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \left(\frac{\color{blue}{1 \cdot \sqrt{a + t}}}{\frac{\sqrt[3]{t} \cdot \sqrt[3]{t}}{\sqrt[3]{z} \cdot \sqrt[3]{z}} \cdot \frac{\sqrt[3]{t}}{\sqrt[3]{z}}} - \left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)}\right), x\right)}\]
  8. Applied times-frac2.9

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \left(\color{blue}{\frac{1}{\frac{\sqrt[3]{t} \cdot \sqrt[3]{t}}{\sqrt[3]{z} \cdot \sqrt[3]{z}}} \cdot \frac{\sqrt{a + t}}{\frac{\sqrt[3]{t}}{\sqrt[3]{z}}}} - \left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)}\right), x\right)}\]
  9. Applied fma-neg1.5

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \color{blue}{\mathsf{fma}\left(\left(\frac{1}{\frac{\sqrt[3]{t} \cdot \sqrt[3]{t}}{\sqrt[3]{z} \cdot \sqrt[3]{z}}}\right), \left(\frac{\sqrt{a + t}}{\frac{\sqrt[3]{t}}{\sqrt[3]{z}}}\right), \left(-\left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)\right)}}\right), x\right)}\]
  10. Simplified1.5

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \mathsf{fma}\left(\color{blue}{\left(\frac{\sqrt[3]{z}}{\sqrt[3]{t}} \cdot \frac{\sqrt[3]{z}}{\sqrt[3]{t}}\right)}, \left(\frac{\sqrt{a + t}}{\frac{\sqrt[3]{t}}{\sqrt[3]{z}}}\right), \left(-\left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)\right)}\right), x\right)}\]
  11. Final simplification1.5

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \mathsf{fma}\left(\left(\frac{\sqrt[3]{z}}{\sqrt[3]{t}} \cdot \frac{\sqrt[3]{z}}{\sqrt[3]{t}}\right), \left(\frac{\sqrt{t + a}}{\frac{\sqrt[3]{t}}{\sqrt[3]{z}}}\right), \left(\left(-\left(b - c\right)\right) \cdot \left(\left(a - \frac{2.0}{3.0 \cdot t}\right) + \frac{5.0}{6.0}\right)\right)\right)}\right), x\right)}\]

Reproduce

herbie shell --seed 2019107 +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)))))))))))