\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{\left(\left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\cos x - \cos y\right)\right) \cdot \left(\left(\sqrt[3]{\sin x - \frac{\sin y}{16}} \cdot \sqrt{2}\right) \cdot \left(\sqrt[3]{\sin x - \frac{\sin y}{16}} \cdot \sqrt[3]{\sin x - \frac{\sin y}{16}}\right)\right) + 2}{\left(\cos y \cdot \frac{\frac{3 \cdot 3 - 5}{3 + \sqrt{5}}}{2} + \left(\cos x \cdot \frac{\sqrt{5} - 1}{2} + 1\right)\right) \cdot 3}double f(double x, double y) {
double r239910 = 2.0;
double r239911 = sqrt(r239910);
double r239912 = x;
double r239913 = sin(r239912);
double r239914 = y;
double r239915 = sin(r239914);
double r239916 = 16.0;
double r239917 = r239915 / r239916;
double r239918 = r239913 - r239917;
double r239919 = r239911 * r239918;
double r239920 = r239913 / r239916;
double r239921 = r239915 - r239920;
double r239922 = r239919 * r239921;
double r239923 = cos(r239912);
double r239924 = cos(r239914);
double r239925 = r239923 - r239924;
double r239926 = r239922 * r239925;
double r239927 = r239910 + r239926;
double r239928 = 3.0;
double r239929 = 1.0;
double r239930 = 5.0;
double r239931 = sqrt(r239930);
double r239932 = r239931 - r239929;
double r239933 = r239932 / r239910;
double r239934 = r239933 * r239923;
double r239935 = r239929 + r239934;
double r239936 = r239928 - r239931;
double r239937 = r239936 / r239910;
double r239938 = r239937 * r239924;
double r239939 = r239935 + r239938;
double r239940 = r239928 * r239939;
double r239941 = r239927 / r239940;
return r239941;
}
double f(double x, double y) {
double r239942 = y;
double r239943 = sin(r239942);
double r239944 = x;
double r239945 = sin(r239944);
double r239946 = 16.0;
double r239947 = r239945 / r239946;
double r239948 = r239943 - r239947;
double r239949 = cos(r239944);
double r239950 = cos(r239942);
double r239951 = r239949 - r239950;
double r239952 = r239948 * r239951;
double r239953 = r239943 / r239946;
double r239954 = r239945 - r239953;
double r239955 = cbrt(r239954);
double r239956 = 2.0;
double r239957 = sqrt(r239956);
double r239958 = r239955 * r239957;
double r239959 = r239955 * r239955;
double r239960 = r239958 * r239959;
double r239961 = r239952 * r239960;
double r239962 = r239961 + r239956;
double r239963 = 3.0;
double r239964 = r239963 * r239963;
double r239965 = 5.0;
double r239966 = r239964 - r239965;
double r239967 = sqrt(r239965);
double r239968 = r239963 + r239967;
double r239969 = r239966 / r239968;
double r239970 = r239969 / r239956;
double r239971 = r239950 * r239970;
double r239972 = 1.0;
double r239973 = r239967 - r239972;
double r239974 = r239973 / r239956;
double r239975 = r239949 * r239974;
double r239976 = r239975 + r239972;
double r239977 = r239971 + r239976;
double r239978 = r239977 * r239963;
double r239979 = r239962 / r239978;
return r239979;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
Simplified0.5
rmApplied add-cube-cbrt0.5
Applied associate-*l*0.5
rmApplied flip--0.6
Simplified0.5
Final simplification0.5
herbie shell --seed 2019174
(FPCore (x y)
:name "Diagrams.TwoD.Path.Metafont.Internal:hobbyF from diagrams-contrib-1.3.0.5"
(/ (+ 2.0 (* (* (* (sqrt 2.0) (- (sin x) (/ (sin y) 16.0))) (- (sin y) (/ (sin x) 16.0))) (- (cos x) (cos y)))) (* 3.0 (+ (+ 1.0 (* (/ (- (sqrt 5.0) 1.0) 2.0) (cos x))) (* (/ (- 3.0 (sqrt 5.0)) 2.0) (cos y))))))