Average Error: 29.2 → 29.2
Time: 23.0s
Precision: 64
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\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(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right), y, 230661.5106160000141244381666183471679688\right), y, t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(y \cdot y, a, y \cdot \left(y \cdot y + b\right)\right) + c, y, i\right)}\]
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\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(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right), y, 230661.5106160000141244381666183471679688\right), y, t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(y \cdot y, a, y \cdot \left(y \cdot y + b\right)\right) + c, y, i\right)}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r4726877 = x;
        double r4726878 = y;
        double r4726879 = r4726877 * r4726878;
        double r4726880 = z;
        double r4726881 = r4726879 + r4726880;
        double r4726882 = r4726881 * r4726878;
        double r4726883 = 27464.7644705;
        double r4726884 = r4726882 + r4726883;
        double r4726885 = r4726884 * r4726878;
        double r4726886 = 230661.510616;
        double r4726887 = r4726885 + r4726886;
        double r4726888 = r4726887 * r4726878;
        double r4726889 = t;
        double r4726890 = r4726888 + r4726889;
        double r4726891 = a;
        double r4726892 = r4726878 + r4726891;
        double r4726893 = r4726892 * r4726878;
        double r4726894 = b;
        double r4726895 = r4726893 + r4726894;
        double r4726896 = r4726895 * r4726878;
        double r4726897 = c;
        double r4726898 = r4726896 + r4726897;
        double r4726899 = r4726898 * r4726878;
        double r4726900 = i;
        double r4726901 = r4726899 + r4726900;
        double r4726902 = r4726890 / r4726901;
        return r4726902;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r4726903 = x;
        double r4726904 = y;
        double r4726905 = z;
        double r4726906 = fma(r4726903, r4726904, r4726905);
        double r4726907 = 27464.7644705;
        double r4726908 = fma(r4726906, r4726904, r4726907);
        double r4726909 = 230661.510616;
        double r4726910 = fma(r4726908, r4726904, r4726909);
        double r4726911 = t;
        double r4726912 = fma(r4726910, r4726904, r4726911);
        double r4726913 = r4726904 * r4726904;
        double r4726914 = a;
        double r4726915 = b;
        double r4726916 = r4726913 + r4726915;
        double r4726917 = r4726904 * r4726916;
        double r4726918 = fma(r4726913, r4726914, r4726917);
        double r4726919 = c;
        double r4726920 = r4726918 + r4726919;
        double r4726921 = i;
        double r4726922 = fma(r4726920, r4726904, r4726921);
        double r4726923 = r4726912 / r4726922;
        return r4726923;
}

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

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

    \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right), y, 230661.5106160000141244381666183471679688\right), y, t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}}\]
  3. Using strategy rm
  4. Applied fma-udef29.2

    \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right), y, 230661.5106160000141244381666183471679688\right), y, t\right)}{\mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(y + a, y, b\right) \cdot y + c}, y, i\right)}\]
  5. Taylor expanded around inf 29.3

    \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right), y, 230661.5106160000141244381666183471679688\right), y, t\right)}{\mathsf{fma}\left(\color{blue}{\left(a \cdot {y}^{2} + \left({y}^{3} + y \cdot b\right)\right)} + c, y, i\right)}\]
  6. Simplified29.2

    \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right), y, 230661.5106160000141244381666183471679688\right), y, t\right)}{\mathsf{fma}\left(\color{blue}{\mathsf{fma}\left(y \cdot y, a, y \cdot \left(y \cdot y + b\right)\right)} + c, y, i\right)}\]
  7. Final simplification29.2

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

Reproduce

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