\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 r328047 = 2.0;
double r328048 = sqrt(r328047);
double r328049 = x;
double r328050 = sin(r328049);
double r328051 = y;
double r328052 = sin(r328051);
double r328053 = 16.0;
double r328054 = r328052 / r328053;
double r328055 = r328050 - r328054;
double r328056 = r328048 * r328055;
double r328057 = r328050 / r328053;
double r328058 = r328052 - r328057;
double r328059 = r328056 * r328058;
double r328060 = cos(r328049);
double r328061 = cos(r328051);
double r328062 = r328060 - r328061;
double r328063 = r328059 * r328062;
double r328064 = r328047 + r328063;
double r328065 = 3.0;
double r328066 = 1.0;
double r328067 = 5.0;
double r328068 = sqrt(r328067);
double r328069 = r328068 - r328066;
double r328070 = r328069 / r328047;
double r328071 = r328070 * r328060;
double r328072 = r328066 + r328071;
double r328073 = r328065 - r328068;
double r328074 = r328073 / r328047;
double r328075 = r328074 * r328061;
double r328076 = r328072 + r328075;
double r328077 = r328065 * r328076;
double r328078 = r328064 / r328077;
return r328078;
}
double f(double x, double y) {
double r328079 = 2.0;
double r328080 = sqrt(r328079);
double r328081 = sqrt(r328080);
double r328082 = x;
double r328083 = sin(r328082);
double r328084 = y;
double r328085 = sin(r328084);
double r328086 = 16.0;
double r328087 = r328085 / r328086;
double r328088 = r328083 - r328087;
double r328089 = r328081 * r328088;
double r328090 = r328081 * r328089;
double r328091 = exp(r328090);
double r328092 = log(r328091);
double r328093 = r328083 / r328086;
double r328094 = r328085 - r328093;
double r328095 = r328092 * r328094;
double r328096 = cos(r328082);
double r328097 = cos(r328084);
double r328098 = r328096 - r328097;
double r328099 = r328095 * r328098;
double r328100 = r328079 + r328099;
double r328101 = 3.0;
double r328102 = 1.0;
double r328103 = 5.0;
double r328104 = sqrt(r328103);
double r328105 = r328104 - r328102;
double r328106 = r328105 / r328079;
double r328107 = r328106 * r328096;
double r328108 = r328102 + r328107;
double r328109 = r328101 * r328101;
double r328110 = r328109 - r328103;
double r328111 = r328101 + r328104;
double r328112 = r328110 / r328111;
double r328113 = r328112 / r328079;
double r328114 = r328113 * r328097;
double r328115 = r328108 + r328114;
double r328116 = r328101 * r328115;
double r328117 = r328100 / r328116;
return r328117;
}



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))))))