\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{2 + \left(\log \left(e^{\sqrt{\sqrt{2}} \cdot \left(\sqrt{\sqrt{2}} \cdot \left(\sin x - \frac{\sin y}{16}\right)\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{\frac{3 \cdot 3 - 5}{3 + \sqrt{5}}}{2} \cdot \cos y\right)}double f(double x, double y) {
double r251914 = 2.0;
double r251915 = sqrt(r251914);
double r251916 = x;
double r251917 = sin(r251916);
double r251918 = y;
double r251919 = sin(r251918);
double r251920 = 16.0;
double r251921 = r251919 / r251920;
double r251922 = r251917 - r251921;
double r251923 = r251915 * r251922;
double r251924 = r251917 / r251920;
double r251925 = r251919 - r251924;
double r251926 = r251923 * r251925;
double r251927 = cos(r251916);
double r251928 = cos(r251918);
double r251929 = r251927 - r251928;
double r251930 = r251926 * r251929;
double r251931 = r251914 + r251930;
double r251932 = 3.0;
double r251933 = 1.0;
double r251934 = 5.0;
double r251935 = sqrt(r251934);
double r251936 = r251935 - r251933;
double r251937 = r251936 / r251914;
double r251938 = r251937 * r251927;
double r251939 = r251933 + r251938;
double r251940 = r251932 - r251935;
double r251941 = r251940 / r251914;
double r251942 = r251941 * r251928;
double r251943 = r251939 + r251942;
double r251944 = r251932 * r251943;
double r251945 = r251931 / r251944;
return r251945;
}
double f(double x, double y) {
double r251946 = 2.0;
double r251947 = sqrt(r251946);
double r251948 = sqrt(r251947);
double r251949 = x;
double r251950 = sin(r251949);
double r251951 = y;
double r251952 = sin(r251951);
double r251953 = 16.0;
double r251954 = r251952 / r251953;
double r251955 = r251950 - r251954;
double r251956 = r251948 * r251955;
double r251957 = r251948 * r251956;
double r251958 = exp(r251957);
double r251959 = log(r251958);
double r251960 = r251950 / r251953;
double r251961 = r251952 - r251960;
double r251962 = r251959 * r251961;
double r251963 = cos(r251949);
double r251964 = cos(r251951);
double r251965 = r251963 - r251964;
double r251966 = r251962 * r251965;
double r251967 = r251946 + r251966;
double r251968 = 3.0;
double r251969 = 1.0;
double r251970 = 5.0;
double r251971 = sqrt(r251970);
double r251972 = r251971 - r251969;
double r251973 = r251972 / r251946;
double r251974 = r251973 * r251963;
double r251975 = r251969 + r251974;
double r251976 = r251968 * r251968;
double r251977 = r251976 - r251970;
double r251978 = r251968 + r251971;
double r251979 = r251977 / r251978;
double r251980 = r251979 / r251946;
double r251981 = r251980 * r251964;
double r251982 = r251975 + r251981;
double r251983 = r251968 * r251982;
double r251984 = r251967 / r251983;
return r251984;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied flip--0.5
Simplified0.5
rmApplied add-log-exp0.5
rmApplied add-sqr-sqrt0.5
Applied sqrt-prod0.5
Applied associate-*l*0.5
Final simplification0.5
herbie shell --seed 2020047
(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))))))