Average Error: 28.8 → 29.0
Time: 8.0s
Precision: 64
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right) \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y} + i}\]
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right) \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y} + i}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r63854 = x;
        double r63855 = y;
        double r63856 = r63854 * r63855;
        double r63857 = z;
        double r63858 = r63856 + r63857;
        double r63859 = r63858 * r63855;
        double r63860 = 27464.7644705;
        double r63861 = r63859 + r63860;
        double r63862 = r63861 * r63855;
        double r63863 = 230661.510616;
        double r63864 = r63862 + r63863;
        double r63865 = r63864 * r63855;
        double r63866 = t;
        double r63867 = r63865 + r63866;
        double r63868 = a;
        double r63869 = r63855 + r63868;
        double r63870 = r63869 * r63855;
        double r63871 = b;
        double r63872 = r63870 + r63871;
        double r63873 = r63872 * r63855;
        double r63874 = c;
        double r63875 = r63873 + r63874;
        double r63876 = r63875 * r63855;
        double r63877 = i;
        double r63878 = r63876 + r63877;
        double r63879 = r63867 / r63878;
        return r63879;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r63880 = x;
        double r63881 = y;
        double r63882 = r63880 * r63881;
        double r63883 = z;
        double r63884 = r63882 + r63883;
        double r63885 = r63884 * r63881;
        double r63886 = 27464.7644705;
        double r63887 = r63885 + r63886;
        double r63888 = r63887 * r63881;
        double r63889 = 230661.510616;
        double r63890 = r63888 + r63889;
        double r63891 = r63890 * r63881;
        double r63892 = t;
        double r63893 = r63891 + r63892;
        double r63894 = a;
        double r63895 = r63881 + r63894;
        double r63896 = b;
        double r63897 = fma(r63895, r63881, r63896);
        double r63898 = c;
        double r63899 = fma(r63897, r63881, r63898);
        double r63900 = cbrt(r63881);
        double r63901 = r63899 * r63900;
        double r63902 = r63901 * r63900;
        double r63903 = r63902 * r63900;
        double r63904 = i;
        double r63905 = r63903 + r63904;
        double r63906 = r63893 / r63905;
        return r63906;
}

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

Bits error versus i

Derivation

  1. Initial program 28.8

    \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
  2. Using strategy rm
  3. Applied add-cube-cbrt29.0

    \[\leadsto \frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot \color{blue}{\left(\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}\right)} + i}\]
  4. Applied associate-*r*29.0

    \[\leadsto \frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\color{blue}{\left(\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot \left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right)\right) \cdot \sqrt[3]{y}} + i}\]
  5. Simplified29.0

    \[\leadsto \frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\color{blue}{\left(\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right) \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}\right)} \cdot \sqrt[3]{y} + i}\]
  6. Final simplification29.0

    \[\leadsto \frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right) \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y} + i}\]

Reproduce

herbie shell --seed 2020056 +o rules:numerics
(FPCore (x y z t a b c i)
  :name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
  :precision binary64
  (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))