Average Error: 29.0 → 29.0
Time: 37.0s
Precision: 64
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
\[\frac{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, x, z\right), 27464.7644705\right), 230661.510616\right), t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(y, \mathsf{fma}\left(y + a, y, b\right), c\right), y, i\right)}\]
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\frac{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, x, z\right), 27464.7644705\right), 230661.510616\right), t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(y, \mathsf{fma}\left(y + a, y, b\right), c\right), y, i\right)}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r2479838 = x;
        double r2479839 = y;
        double r2479840 = r2479838 * r2479839;
        double r2479841 = z;
        double r2479842 = r2479840 + r2479841;
        double r2479843 = r2479842 * r2479839;
        double r2479844 = 27464.7644705;
        double r2479845 = r2479843 + r2479844;
        double r2479846 = r2479845 * r2479839;
        double r2479847 = 230661.510616;
        double r2479848 = r2479846 + r2479847;
        double r2479849 = r2479848 * r2479839;
        double r2479850 = t;
        double r2479851 = r2479849 + r2479850;
        double r2479852 = a;
        double r2479853 = r2479839 + r2479852;
        double r2479854 = r2479853 * r2479839;
        double r2479855 = b;
        double r2479856 = r2479854 + r2479855;
        double r2479857 = r2479856 * r2479839;
        double r2479858 = c;
        double r2479859 = r2479857 + r2479858;
        double r2479860 = r2479859 * r2479839;
        double r2479861 = i;
        double r2479862 = r2479860 + r2479861;
        double r2479863 = r2479851 / r2479862;
        return r2479863;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r2479864 = y;
        double r2479865 = x;
        double r2479866 = z;
        double r2479867 = fma(r2479864, r2479865, r2479866);
        double r2479868 = 27464.7644705;
        double r2479869 = fma(r2479864, r2479867, r2479868);
        double r2479870 = 230661.510616;
        double r2479871 = fma(r2479864, r2479869, r2479870);
        double r2479872 = t;
        double r2479873 = fma(r2479864, r2479871, r2479872);
        double r2479874 = a;
        double r2479875 = r2479864 + r2479874;
        double r2479876 = b;
        double r2479877 = fma(r2479875, r2479864, r2479876);
        double r2479878 = c;
        double r2479879 = fma(r2479864, r2479877, r2479878);
        double r2479880 = i;
        double r2479881 = fma(r2479879, r2479864, r2479880);
        double r2479882 = r2479873 / r2479881;
        return r2479882;
}

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 29.0

    \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
  2. Simplified29.0

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

    \[\leadsto \frac{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, x, z\right), 27464.7644705\right), 230661.510616\right), t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(y, \mathsf{fma}\left(y + a, y, b\right), c\right), y, i\right)}\]

Reproduce

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