Average Error: 3.9 → 1.4
Time: 20.8s
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}{\mathsf{fma}\left(y, e^{2 \cdot \mathsf{fma}\left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}, c - b, \frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt{t + a}}{\sqrt[3]{t}}\right)}, x\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}{\mathsf{fma}\left(y, e^{2 \cdot \mathsf{fma}\left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}, c - b, \frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt{t + a}}{\sqrt[3]{t}}\right)}, x\right)}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r3024869 = x;
        double r3024870 = y;
        double r3024871 = 2.0;
        double r3024872 = z;
        double r3024873 = t;
        double r3024874 = a;
        double r3024875 = r3024873 + r3024874;
        double r3024876 = sqrt(r3024875);
        double r3024877 = r3024872 * r3024876;
        double r3024878 = r3024877 / r3024873;
        double r3024879 = b;
        double r3024880 = c;
        double r3024881 = r3024879 - r3024880;
        double r3024882 = 5.0;
        double r3024883 = 6.0;
        double r3024884 = r3024882 / r3024883;
        double r3024885 = r3024874 + r3024884;
        double r3024886 = 3.0;
        double r3024887 = r3024873 * r3024886;
        double r3024888 = r3024871 / r3024887;
        double r3024889 = r3024885 - r3024888;
        double r3024890 = r3024881 * r3024889;
        double r3024891 = r3024878 - r3024890;
        double r3024892 = r3024871 * r3024891;
        double r3024893 = exp(r3024892);
        double r3024894 = r3024870 * r3024893;
        double r3024895 = r3024869 + r3024894;
        double r3024896 = r3024869 / r3024895;
        return r3024896;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r3024897 = x;
        double r3024898 = y;
        double r3024899 = 2.0;
        double r3024900 = a;
        double r3024901 = 5.0;
        double r3024902 = 6.0;
        double r3024903 = r3024901 / r3024902;
        double r3024904 = r3024900 + r3024903;
        double r3024905 = t;
        double r3024906 = 3.0;
        double r3024907 = r3024905 * r3024906;
        double r3024908 = r3024899 / r3024907;
        double r3024909 = r3024904 - r3024908;
        double r3024910 = c;
        double r3024911 = b;
        double r3024912 = r3024910 - r3024911;
        double r3024913 = z;
        double r3024914 = cbrt(r3024905);
        double r3024915 = r3024914 * r3024914;
        double r3024916 = r3024913 / r3024915;
        double r3024917 = r3024905 + r3024900;
        double r3024918 = sqrt(r3024917);
        double r3024919 = r3024918 / r3024914;
        double r3024920 = r3024916 * r3024919;
        double r3024921 = fma(r3024909, r3024912, r3024920);
        double r3024922 = r3024899 * r3024921;
        double r3024923 = exp(r3024922);
        double r3024924 = fma(r3024898, r3024923, r3024897);
        double r3024925 = r3024897 / r3024924;
        return r3024925;
}

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

    \[\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. Simplified2.6

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

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

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

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

Reproduce

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