Average Error: 3.6 → 2.4
Time: 8.9s
Precision: 64
\[\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}{x + y \cdot e^{2 \cdot \left(\mathsf{fma}\left(z \cdot \sqrt{t + a}, \frac{1}{t}, -\left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right) \cdot \left(b - c\right)\right) + \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right) \cdot \left(\left(-\left(b - c\right)\right) + \left(b - c\right)\right)\right)}}\]
\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}{x + y \cdot e^{2 \cdot \left(\mathsf{fma}\left(z \cdot \sqrt{t + a}, \frac{1}{t}, -\left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right) \cdot \left(b - c\right)\right) + \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right) \cdot \left(\left(-\left(b - c\right)\right) + \left(b - c\right)\right)\right)}}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r136496 = x;
        double r136497 = y;
        double r136498 = 2.0;
        double r136499 = z;
        double r136500 = t;
        double r136501 = a;
        double r136502 = r136500 + r136501;
        double r136503 = sqrt(r136502);
        double r136504 = r136499 * r136503;
        double r136505 = r136504 / r136500;
        double r136506 = b;
        double r136507 = c;
        double r136508 = r136506 - r136507;
        double r136509 = 5.0;
        double r136510 = 6.0;
        double r136511 = r136509 / r136510;
        double r136512 = r136501 + r136511;
        double r136513 = 3.0;
        double r136514 = r136500 * r136513;
        double r136515 = r136498 / r136514;
        double r136516 = r136512 - r136515;
        double r136517 = r136508 * r136516;
        double r136518 = r136505 - r136517;
        double r136519 = r136498 * r136518;
        double r136520 = exp(r136519);
        double r136521 = r136497 * r136520;
        double r136522 = r136496 + r136521;
        double r136523 = r136496 / r136522;
        return r136523;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r136524 = x;
        double r136525 = y;
        double r136526 = 2.0;
        double r136527 = z;
        double r136528 = t;
        double r136529 = a;
        double r136530 = r136528 + r136529;
        double r136531 = sqrt(r136530);
        double r136532 = r136527 * r136531;
        double r136533 = 1.0;
        double r136534 = r136533 / r136528;
        double r136535 = 5.0;
        double r136536 = 6.0;
        double r136537 = r136535 / r136536;
        double r136538 = r136529 + r136537;
        double r136539 = 3.0;
        double r136540 = r136528 * r136539;
        double r136541 = r136526 / r136540;
        double r136542 = r136538 - r136541;
        double r136543 = b;
        double r136544 = c;
        double r136545 = r136543 - r136544;
        double r136546 = r136542 * r136545;
        double r136547 = -r136546;
        double r136548 = fma(r136532, r136534, r136547);
        double r136549 = -r136545;
        double r136550 = r136549 + r136545;
        double r136551 = r136542 * r136550;
        double r136552 = r136548 + r136551;
        double r136553 = r136526 * r136552;
        double r136554 = exp(r136553);
        double r136555 = r136525 * r136554;
        double r136556 = r136524 + r136555;
        double r136557 = r136524 / r136556;
        return r136557;
}

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 3.6

    \[\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)}}\]
  2. Using strategy rm
  3. Applied div-inv3.6

    \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \left(\color{blue}{\left(z \cdot \sqrt{t + a}\right) \cdot \frac{1}{t}} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\]
  4. Applied prod-diff22.7

    \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \color{blue}{\left(\mathsf{fma}\left(z \cdot \sqrt{t + a}, \frac{1}{t}, -\left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right) \cdot \left(b - c\right)\right) + \mathsf{fma}\left(-\left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right), b - c, \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right) \cdot \left(b - c\right)\right)\right)}}}\]
  5. Simplified2.4

    \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \left(\mathsf{fma}\left(z \cdot \sqrt{t + a}, \frac{1}{t}, -\left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right) \cdot \left(b - c\right)\right) + \color{blue}{\left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right) \cdot \left(\left(-\left(b - c\right)\right) + \left(b - c\right)\right)}\right)}}\]
  6. Final simplification2.4

    \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \left(\mathsf{fma}\left(z \cdot \sqrt{t + a}, \frac{1}{t}, -\left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right) \cdot \left(b - c\right)\right) + \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right) \cdot \left(\left(-\left(b - c\right)\right) + \left(b - c\right)\right)\right)}}\]

Reproduce

herbie shell --seed 2020036 +o rules:numerics
(FPCore (x y z t a b c)
  :name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2"
  :precision binary64
  (/ x (+ x (* y (exp (* 2 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5 6)) (/ 2 (* t 3)))))))))))