Average Error: 4.1 → 1.6
Time: 24.2s
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^{\mathsf{fma}\left(c - b, \frac{5.0}{6.0} - \left(\frac{\frac{2.0}{t}}{3.0} - a\right), \frac{\sqrt{\sqrt{a + t}}}{\sqrt[3]{t}} \cdot \left(\frac{\sqrt{\sqrt{a + t}}}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot z\right)\right) \cdot 2.0}, 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^{\mathsf{fma}\left(c - b, \frac{5.0}{6.0} - \left(\frac{\frac{2.0}{t}}{3.0} - a\right), \frac{\sqrt{\sqrt{a + t}}}{\sqrt[3]{t}} \cdot \left(\frac{\sqrt{\sqrt{a + t}}}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot z\right)\right) \cdot 2.0}, x\right)}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r2021996 = x;
        double r2021997 = y;
        double r2021998 = 2.0;
        double r2021999 = z;
        double r2022000 = t;
        double r2022001 = a;
        double r2022002 = r2022000 + r2022001;
        double r2022003 = sqrt(r2022002);
        double r2022004 = r2021999 * r2022003;
        double r2022005 = r2022004 / r2022000;
        double r2022006 = b;
        double r2022007 = c;
        double r2022008 = r2022006 - r2022007;
        double r2022009 = 5.0;
        double r2022010 = 6.0;
        double r2022011 = r2022009 / r2022010;
        double r2022012 = r2022001 + r2022011;
        double r2022013 = 3.0;
        double r2022014 = r2022000 * r2022013;
        double r2022015 = r2021998 / r2022014;
        double r2022016 = r2022012 - r2022015;
        double r2022017 = r2022008 * r2022016;
        double r2022018 = r2022005 - r2022017;
        double r2022019 = r2021998 * r2022018;
        double r2022020 = exp(r2022019);
        double r2022021 = r2021997 * r2022020;
        double r2022022 = r2021996 + r2022021;
        double r2022023 = r2021996 / r2022022;
        return r2022023;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r2022024 = x;
        double r2022025 = y;
        double r2022026 = c;
        double r2022027 = b;
        double r2022028 = r2022026 - r2022027;
        double r2022029 = 5.0;
        double r2022030 = 6.0;
        double r2022031 = r2022029 / r2022030;
        double r2022032 = 2.0;
        double r2022033 = t;
        double r2022034 = r2022032 / r2022033;
        double r2022035 = 3.0;
        double r2022036 = r2022034 / r2022035;
        double r2022037 = a;
        double r2022038 = r2022036 - r2022037;
        double r2022039 = r2022031 - r2022038;
        double r2022040 = r2022037 + r2022033;
        double r2022041 = sqrt(r2022040);
        double r2022042 = sqrt(r2022041);
        double r2022043 = cbrt(r2022033);
        double r2022044 = r2022042 / r2022043;
        double r2022045 = r2022043 * r2022043;
        double r2022046 = r2022042 / r2022045;
        double r2022047 = z;
        double r2022048 = r2022046 * r2022047;
        double r2022049 = r2022044 * r2022048;
        double r2022050 = fma(r2022028, r2022039, r2022049);
        double r2022051 = r2022050 * r2022032;
        double r2022052 = exp(r2022051);
        double r2022053 = fma(r2022025, r2022052, r2022024);
        double r2022054 = r2022024 / r2022053;
        return r2022054;
}

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. Simplified2.3

    \[\leadsto \color{blue}{\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), z \cdot \frac{\sqrt{a + t}}{t}\right)}, x\right)}}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt2.3

    \[\leadsto \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), z \cdot \frac{\sqrt{a + t}}{\color{blue}{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot \sqrt[3]{t}}}\right)}, x\right)}\]
  5. Applied add-sqr-sqrt2.3

    \[\leadsto \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), z \cdot \frac{\sqrt{\color{blue}{\sqrt{a + t} \cdot \sqrt{a + t}}}}{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot \sqrt[3]{t}}\right)}, x\right)}\]
  6. Applied sqrt-prod2.3

    \[\leadsto \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), z \cdot \frac{\color{blue}{\sqrt{\sqrt{a + t}} \cdot \sqrt{\sqrt{a + t}}}}{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot \sqrt[3]{t}}\right)}, x\right)}\]
  7. Applied times-frac2.3

    \[\leadsto \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), z \cdot \color{blue}{\left(\frac{\sqrt{\sqrt{a + t}}}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt{\sqrt{a + t}}}{\sqrt[3]{t}}\right)}\right)}, x\right)}\]
  8. Applied associate-*r*1.6

    \[\leadsto \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), \color{blue}{\left(z \cdot \frac{\sqrt{\sqrt{a + t}}}{\sqrt[3]{t} \cdot \sqrt[3]{t}}\right) \cdot \frac{\sqrt{\sqrt{a + t}}}{\sqrt[3]{t}}}\right)}, x\right)}\]
  9. Final simplification1.6

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

Reproduce

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