\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{\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}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r59850 = x;
double r59851 = y;
double r59852 = r59850 * r59851;
double r59853 = z;
double r59854 = r59852 + r59853;
double r59855 = r59854 * r59851;
double r59856 = 27464.7644705;
double r59857 = r59855 + r59856;
double r59858 = r59857 * r59851;
double r59859 = 230661.510616;
double r59860 = r59858 + r59859;
double r59861 = r59860 * r59851;
double r59862 = t;
double r59863 = r59861 + r59862;
double r59864 = a;
double r59865 = r59851 + r59864;
double r59866 = r59865 * r59851;
double r59867 = b;
double r59868 = r59866 + r59867;
double r59869 = r59868 * r59851;
double r59870 = c;
double r59871 = r59869 + r59870;
double r59872 = r59871 * r59851;
double r59873 = i;
double r59874 = r59872 + r59873;
double r59875 = r59863 / r59874;
return r59875;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r59876 = x;
double r59877 = y;
double r59878 = r59876 * r59877;
double r59879 = z;
double r59880 = r59878 + r59879;
double r59881 = r59880 * r59877;
double r59882 = 27464.7644705;
double r59883 = r59881 + r59882;
double r59884 = r59883 * r59877;
double r59885 = 230661.510616;
double r59886 = r59884 + r59885;
double r59887 = r59886 * r59877;
double r59888 = t;
double r59889 = r59887 + r59888;
double r59890 = a;
double r59891 = r59877 + r59890;
double r59892 = r59891 * r59877;
double r59893 = b;
double r59894 = r59892 + r59893;
double r59895 = r59894 * r59877;
double r59896 = c;
double r59897 = r59895 + r59896;
double r59898 = r59897 * r59877;
double r59899 = i;
double r59900 = r59898 + r59899;
double r59901 = r59889 / r59900;
return r59901;
}



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
Results
Initial program 28.9
Final simplification28.9
herbie shell --seed 2019298
(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.764470499998) y) 230661.510616000014) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))