Average Error: 3.4 → 1.4
Time: 17.4s
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, \left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}, \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.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, \left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}, \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 r1100839 = x;
        double r1100840 = y;
        double r1100841 = 2.0;
        double r1100842 = z;
        double r1100843 = t;
        double r1100844 = a;
        double r1100845 = r1100843 + r1100844;
        double r1100846 = sqrt(r1100845);
        double r1100847 = r1100842 * r1100846;
        double r1100848 = r1100847 / r1100843;
        double r1100849 = b;
        double r1100850 = c;
        double r1100851 = r1100849 - r1100850;
        double r1100852 = 5.0;
        double r1100853 = 6.0;
        double r1100854 = r1100852 / r1100853;
        double r1100855 = r1100844 + r1100854;
        double r1100856 = 3.0;
        double r1100857 = r1100843 * r1100856;
        double r1100858 = r1100841 / r1100857;
        double r1100859 = r1100855 - r1100858;
        double r1100860 = r1100851 * r1100859;
        double r1100861 = r1100848 - r1100860;
        double r1100862 = r1100841 * r1100861;
        double r1100863 = exp(r1100862);
        double r1100864 = r1100840 * r1100863;
        double r1100865 = r1100839 + r1100864;
        double r1100866 = r1100839 / r1100865;
        return r1100866;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r1100867 = x;
        double r1100868 = y;
        double r1100869 = 2.0;
        double r1100870 = c;
        double r1100871 = b;
        double r1100872 = r1100870 - r1100871;
        double r1100873 = 5.0;
        double r1100874 = 6.0;
        double r1100875 = r1100873 / r1100874;
        double r1100876 = a;
        double r1100877 = r1100875 + r1100876;
        double r1100878 = t;
        double r1100879 = 3.0;
        double r1100880 = r1100878 * r1100879;
        double r1100881 = r1100869 / r1100880;
        double r1100882 = r1100877 - r1100881;
        double r1100883 = z;
        double r1100884 = cbrt(r1100878);
        double r1100885 = r1100884 * r1100884;
        double r1100886 = r1100883 / r1100885;
        double r1100887 = r1100878 + r1100876;
        double r1100888 = sqrt(r1100887);
        double r1100889 = r1100888 / r1100884;
        double r1100890 = r1100886 * r1100889;
        double r1100891 = fma(r1100872, r1100882, r1100890);
        double r1100892 = r1100869 * r1100891;
        double r1100893 = exp(r1100892);
        double r1100894 = fma(r1100868, r1100893, r1100867);
        double r1100895 = r1100867 / r1100894;
        return r1100895;
}

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

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

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

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, e^{2.0 \cdot \mathsf{fma}\left(c - b, \left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}, \frac{z \cdot \sqrt{a + t}}{\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.0 \cdot \mathsf{fma}\left(c - b, \left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}, \color{blue}{\frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt{a + t}}{\sqrt[3]{t}}}\right)}, x\right)}\]
  6. Final simplification1.4

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

Reproduce

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