Average Error: 3.7 → 1.4
Time: 23.8s
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(c - b, \frac{5.0}{6.0} - \left(\frac{\frac{2.0}{t}}{3.0} - a\right), \frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt{a + t}}{\sqrt[3]{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(c - b, \frac{5.0}{6.0} - \left(\frac{\frac{2.0}{t}}{3.0} - a\right), \frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt{a + t}}{\sqrt[3]{t}}\right)}, x\right)}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r1986904 = x;
        double r1986905 = y;
        double r1986906 = 2.0;
        double r1986907 = z;
        double r1986908 = t;
        double r1986909 = a;
        double r1986910 = r1986908 + r1986909;
        double r1986911 = sqrt(r1986910);
        double r1986912 = r1986907 * r1986911;
        double r1986913 = r1986912 / r1986908;
        double r1986914 = b;
        double r1986915 = c;
        double r1986916 = r1986914 - r1986915;
        double r1986917 = 5.0;
        double r1986918 = 6.0;
        double r1986919 = r1986917 / r1986918;
        double r1986920 = r1986909 + r1986919;
        double r1986921 = 3.0;
        double r1986922 = r1986908 * r1986921;
        double r1986923 = r1986906 / r1986922;
        double r1986924 = r1986920 - r1986923;
        double r1986925 = r1986916 * r1986924;
        double r1986926 = r1986913 - r1986925;
        double r1986927 = r1986906 * r1986926;
        double r1986928 = exp(r1986927);
        double r1986929 = r1986905 * r1986928;
        double r1986930 = r1986904 + r1986929;
        double r1986931 = r1986904 / r1986930;
        return r1986931;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r1986932 = x;
        double r1986933 = y;
        double r1986934 = 2.0;
        double r1986935 = c;
        double r1986936 = b;
        double r1986937 = r1986935 - r1986936;
        double r1986938 = 5.0;
        double r1986939 = 6.0;
        double r1986940 = r1986938 / r1986939;
        double r1986941 = t;
        double r1986942 = r1986934 / r1986941;
        double r1986943 = 3.0;
        double r1986944 = r1986942 / r1986943;
        double r1986945 = a;
        double r1986946 = r1986944 - r1986945;
        double r1986947 = r1986940 - r1986946;
        double r1986948 = z;
        double r1986949 = cbrt(r1986941);
        double r1986950 = r1986949 * r1986949;
        double r1986951 = r1986948 / r1986950;
        double r1986952 = r1986945 + r1986941;
        double r1986953 = sqrt(r1986952);
        double r1986954 = r1986953 / r1986949;
        double r1986955 = r1986951 * r1986954;
        double r1986956 = fma(r1986937, r1986947, r1986955);
        double r1986957 = r1986934 * r1986956;
        double r1986958 = exp(r1986957);
        double r1986959 = fma(r1986933, r1986958, r1986932);
        double r1986960 = r1986932 / r1986959;
        return r1986960;
}

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

    \[\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.1

    \[\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.1

    \[\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 *-un-lft-identity2.1

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

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

    \[\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{1}}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt{a + t}}{\sqrt[3]{t}}\right)}\right)}, x\right)}\]
  8. Applied associate-*r*1.4

    \[\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{1}}{\sqrt[3]{t} \cdot \sqrt[3]{t}}\right) \cdot \frac{\sqrt{a + t}}{\sqrt[3]{t}}}\right)}, x\right)}\]
  9. Simplified1.4

    \[\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}{\frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}}} \cdot \frac{\sqrt{a + t}}{\sqrt[3]{t}}\right)}, x\right)}\]
  10. Final simplification1.4

    \[\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), \frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt{a + t}}{\sqrt[3]{t}}\right)}, x\right)}\]

Reproduce

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