\frac{2 + \left(\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)\right) \cdot \left(\cos x - \cos y\right)}{3 \cdot \left(\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{3 - \sqrt{5}}{2} \cdot \cos y\right)}\frac{\frac{\mathsf{fma}\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right), \log \left({\left(e^{\sin y - \frac{\sin x}{16}}\right)}^{\left(\mathsf{fma}\left(\sqrt[3]{\cos x} \cdot \sqrt[3]{\cos x}, \sqrt[3]{\cos x}, -\cos y \cdot 1\right) + \mathsf{fma}\left(-\cos y, 1, \cos y\right)\right)}\right), 2\right)}{\mathsf{fma}\left(\frac{3 - \sqrt{5}}{2}, \cos y, \mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, 1\right)\right)}}{3}double f(double x, double y) {
double r911 = 2.0;
double r912 = sqrt(r911);
double r913 = x;
double r914 = sin(r913);
double r915 = y;
double r916 = sin(r915);
double r917 = 16.0;
double r918 = r916 / r917;
double r919 = r914 - r918;
double r920 = r912 * r919;
double r921 = r914 / r917;
double r922 = r916 - r921;
double r923 = r920 * r922;
double r924 = cos(r913);
double r925 = cos(r915);
double r926 = r924 - r925;
double r927 = r923 * r926;
double r928 = r911 + r927;
double r929 = 3.0;
double r930 = 1.0;
double r931 = 5.0;
double r932 = sqrt(r931);
double r933 = r932 - r930;
double r934 = r933 / r911;
double r935 = r934 * r924;
double r936 = r930 + r935;
double r937 = r929 - r932;
double r938 = r937 / r911;
double r939 = r938 * r925;
double r940 = r936 + r939;
double r941 = r929 * r940;
double r942 = r928 / r941;
return r942;
}
double f(double x, double y) {
double r943 = 2.0;
double r944 = sqrt(r943);
double r945 = x;
double r946 = sin(r945);
double r947 = y;
double r948 = sin(r947);
double r949 = 16.0;
double r950 = r948 / r949;
double r951 = r946 - r950;
double r952 = r944 * r951;
double r953 = r946 / r949;
double r954 = r948 - r953;
double r955 = exp(r954);
double r956 = cos(r945);
double r957 = cbrt(r956);
double r958 = r957 * r957;
double r959 = cos(r947);
double r960 = 1.0;
double r961 = r959 * r960;
double r962 = -r961;
double r963 = fma(r958, r957, r962);
double r964 = -r959;
double r965 = fma(r964, r960, r959);
double r966 = r963 + r965;
double r967 = pow(r955, r966);
double r968 = log(r967);
double r969 = fma(r952, r968, r943);
double r970 = 3.0;
double r971 = 5.0;
double r972 = sqrt(r971);
double r973 = r970 - r972;
double r974 = r973 / r943;
double r975 = 1.0;
double r976 = r972 - r975;
double r977 = r976 / r943;
double r978 = fma(r977, r956, r975);
double r979 = fma(r974, r959, r978);
double r980 = r969 / r979;
double r981 = r980 / r970;
return r981;
}



Bits error versus x



Bits error versus y
Initial program 0.5
Simplified0.5
rmApplied add-cbrt-cube0.5
Applied add-cbrt-cube0.5
Applied cbrt-unprod0.5
Simplified0.5
rmApplied add-log-exp0.5
Simplified0.5
rmApplied add-cube-cbrt0.5
Applied add-cube-cbrt0.5
Applied prod-diff0.5
Simplified0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2020025 +o rules:numerics
(FPCore (x y)
:name "Diagrams.TwoD.Path.Metafont.Internal:hobbyF from diagrams-contrib-1.3.0.5"
:precision binary64
(/ (+ 2 (* (* (* (sqrt 2) (- (sin x) (/ (sin y) 16))) (- (sin y) (/ (sin x) 16))) (- (cos x) (cos y)))) (* 3 (+ (+ 1 (* (/ (- (sqrt 5) 1) 2) (cos x))) (* (/ (- 3 (sqrt 5)) 2) (cos y))))))