Average Error: 3.6 → 1.7
Time: 29.9s
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, e^{2.0 \cdot \mathsf{fma}\left(\frac{5.0}{6.0} - \left(\frac{\frac{2.0}{t}}{3.0} - a\right), c - b, \left(\left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) \cdot \sqrt{a + t}\right) \cdot \frac{\sqrt[3]{z}}{t}\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, e^{2.0 \cdot \mathsf{fma}\left(\frac{5.0}{6.0} - \left(\frac{\frac{2.0}{t}}{3.0} - a\right), c - b, \left(\left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) \cdot \sqrt{a + t}\right) \cdot \frac{\sqrt[3]{z}}{t}\right)}, x\right)}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r2779659 = x;
        double r2779660 = y;
        double r2779661 = 2.0;
        double r2779662 = z;
        double r2779663 = t;
        double r2779664 = a;
        double r2779665 = r2779663 + r2779664;
        double r2779666 = sqrt(r2779665);
        double r2779667 = r2779662 * r2779666;
        double r2779668 = r2779667 / r2779663;
        double r2779669 = b;
        double r2779670 = c;
        double r2779671 = r2779669 - r2779670;
        double r2779672 = 5.0;
        double r2779673 = 6.0;
        double r2779674 = r2779672 / r2779673;
        double r2779675 = r2779664 + r2779674;
        double r2779676 = 3.0;
        double r2779677 = r2779663 * r2779676;
        double r2779678 = r2779661 / r2779677;
        double r2779679 = r2779675 - r2779678;
        double r2779680 = r2779671 * r2779679;
        double r2779681 = r2779668 - r2779680;
        double r2779682 = r2779661 * r2779681;
        double r2779683 = exp(r2779682);
        double r2779684 = r2779660 * r2779683;
        double r2779685 = r2779659 + r2779684;
        double r2779686 = r2779659 / r2779685;
        return r2779686;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r2779687 = x;
        double r2779688 = y;
        double r2779689 = 2.0;
        double r2779690 = 5.0;
        double r2779691 = 6.0;
        double r2779692 = r2779690 / r2779691;
        double r2779693 = t;
        double r2779694 = r2779689 / r2779693;
        double r2779695 = 3.0;
        double r2779696 = r2779694 / r2779695;
        double r2779697 = a;
        double r2779698 = r2779696 - r2779697;
        double r2779699 = r2779692 - r2779698;
        double r2779700 = c;
        double r2779701 = b;
        double r2779702 = r2779700 - r2779701;
        double r2779703 = z;
        double r2779704 = cbrt(r2779703);
        double r2779705 = r2779704 * r2779704;
        double r2779706 = r2779697 + r2779693;
        double r2779707 = sqrt(r2779706);
        double r2779708 = r2779705 * r2779707;
        double r2779709 = r2779704 / r2779693;
        double r2779710 = r2779708 * r2779709;
        double r2779711 = fma(r2779699, r2779702, r2779710);
        double r2779712 = r2779689 * r2779711;
        double r2779713 = exp(r2779712);
        double r2779714 = fma(r2779688, r2779713, r2779687);
        double r2779715 = r2779687 / r2779714;
        return r2779715;
}

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.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. Simplified1.7

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

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

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

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

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

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

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

Reproduce

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